/* 10px ~ 0.75em */

@font-face {
    font-family: Kievit-Regular;
    src: url(fonts/Kievit/Kievit-Regular.otf) format("opentype");
}

@font-face {
    font-family: Kievit-Medium;
    src: url(fonts/Kievit/Kievit-Medium.otf) format("opentype");
}

@font-face {
    font-family: Kievit-Light;
    src: url(fonts/Kievit/Kievit-Light.otf) format("opentype");
}

@font-face {
    font-family: Kievit-ExtraLight;
    src: url(fonts/Kievit/Kievit-ExtraLight.otf) format("opentype");
}

body {
    color: #606060;
    font: 15px Kievit-Regular;
    margin: 0;
}

h1 {
    color: #000000;
    font: 25px Kievit-Medium;
    margin: 20px 0 20px;
    padding: 0 0 10px;
}

h2 {
    color: #000000;
    font: 22px Kievit-Medium;
    margin: 10px 0 10px;
    padding: 0;
}

h3 {
    color: #000000;
    font: 18px Kievit-Medium;
}

h4 {
    color: #000000;
    font: 16px Kievit-Medium;
}

a {
    color: #1582a6;
    text-decoration: none;
}

a:hover {
    color: #1eb4e5;
}

a.dark {
    color: #333333;
}

a.dark:hover {
    color: #1eb4e5;
}

a.disabled {
    color: #CCCCCC;
}

hr {
    height: 1px;
    margin: 5px 0 20px;
    border: 0;
    background: rgba(0, 0, 0, 0.2);
}

ul, ol {
    margin: 0 0 15px 18px;
    padding: 0;
}

li {
    padding: 0.1em 0;
}

dd {
    margin: 0 0 10px 30px;
}

strong, b {
    font-weight: bold;
    color: #222;
}

.page-wrapper {
    margin: 0 auto;
    width: 960px;
    clear: both;
}

.content-wrapper {
    width: 720px;
    float: left;
}

.content-wrapper.wide {
    width: 960px;
}

/* =================== */
/* ==== Navigator ==== */
/* =================== */

div.header-spacer {
    height: 16px;
}

.navigator-bar {
    margin: 0 auto;
    width: 960px;
    height: 96px;
    color: #7c7c7c;
    font: 18px Kievit-Regular;
}

.navigator-bar.secondary {
    height: 24px;
    background-color: #efefef;
    font: 16px Kievit-Regular;
}

.navigator-bar a, .navigator-bar a * {
    display: block;
    margin: auto;
    white-space: nowrap;
}

.navigator-bar a {
    padding: 16px;
}

.navigator-bar.secondary a {
    padding: 4px 24px;
}

.navigator-bar a.active {
    color: #ea2227;
}

/* ============== */
/* ==== Logo ==== */
/* ============== */

a.logo {
    padding-left: 86px;
    background-image: url(../images/couchbase-icon.svg);
    background-size: 70px 32px;
    background-position: left 8px center;
    background-repeat: no-repeat;
    font: 16px Kievit-Regular;
}

a.logo * {
    white-space: nowrap;
}

/* ================ */
/* ==== Search ==== */
/* ================ */

input.search {
    width: 160px;
    height: 36px;
    border: 0;
    padding: 0 32px 0 8px;
    margin: 0 24px 0 0;
    background-color: #f2f2f2;
    background-image: url(../images/search-icon.svg);
    background-size: 24px 24px;
    background-position: right 6px center;
    background-repeat: no-repeat;
    outline: none;
    font: 16px Kievit-Regular;
}

input.search.advanced {
    width: 920px;
    margin: 0;
}

div.search-results-wrapper {
    position: relative;
    z-index: 100;
    width: 940px;
    top: -24px;
    margin: 0 auto;
}

div.search-results-floater {
    height: 0;
    float: right;
}

#search-results {
    float: right;
    margin-right: 17px;
    border: solid 1px #C5C5C5;
    background: white;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
}

#search-results a {
    color: #333333;
}

#search-results a:hover {
    color: #1eb4e5;
}

#search-results.hidden {
    display: none;
}

#search-results .group {
    float: left;
    padding: 5px;
    min-width: 200px;
}

#search-results .group h1 {
    text-transform: uppercase;
    font-size: 16px;
    margin: 0;
    padding: 8px 4px;
    border-bottom: solid 1px #CCCCCC;
}

#search-results .group h2 {
    text-transform: uppercase;
    font-size: 15px;
    margin: 0;
    padding: 14px 4px 4px;
}

#search-results .group a {
    display: block;
    padding: 0 4px;
}

#search-results .spacer {
    height: 14px;
}

#search-results .item {
    border-bottom: solid #f2f2f2 1px;
    padding: 15px 0;
}

#search-results .title {
    font-size: 18px;
}

#search-results .description {
    
}

#search-results .location {
    color: #006621;
}

#search-results.advanced {
    margin: 0;
    float: none;
    border: 0;
    background: transparent;
    box-shadow: 0 0 0;
}

#search-results.advanced a {
    color: #1582a6;
}

#search-results.advanced .group {
    float: none;
    padding: 0px;
}

#search-results.advanced .group a {
    padding: 0;
}

/* ================ */
/* ==== Footer ==== */
/* ================ */

.page-footer {
    width: 960px;
    margin: 0 auto;
    clear: both;
    height: 18px;
    padding: 24px 16px;
    border-top: 1px solid #f2f2f2;
}

.page-footer * {
    margin: 16px 8px;
    vertical-align: bottom;
}

/* ============= */
/* ==== Nav ==== */
/* ============= */

nav {
    margin-right: 20px;
    width: 218px;
    float: left;
}

nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

/* ---- Section ---- */

nav li.nav-section {
    
}

nav li.nav-section.expanded {
    background-color: rgba(0, 0, 0, 0.05);
}

nav li.nav-section > div.header {
    padding: 0.75em 2.4em 0.75em 0.75em;
    background: transparent 100% 50% no-repeat scroll;
    background-image: url(../images/disclosure-down.svg);
    background-size: 2.4em;
}

nav li.nav-section.expanded > div.header {
    background-image: url(../images/disclosure-up.svg);
    border-bottom: solid 1px white;
}

nav li.nav-section > div.header.active {
    background-color: rgba(0, 0, 0, 0.05);
}

nav li.nav-section > ul {
    display: none;
}

nav li.nav-section.expanded > ul {
    display: block;
}

/* ---- Subsection ---- */

nav li.nav-subsection {
    
}

nav li.nav-subsection > div.header {
    padding: 0.75em 2.4em 0.75em 0.75em;
    background: transparent 100% 50% no-repeat scroll;
    background-image: url(../images/disclosure-down.svg);
    background-size: 2.4em;
}

nav li.nav-subsection.expanded > div.header {
    background-image: url(../images/disclosure-up.svg);
}

nav li.nav-subsection > div.header.active {
    background-color: rgba(0, 0, 0, 0.05);
}

nav li.nav-subsection > ul {
    display: none;
}

nav li.nav-subsection.expanded > ul {
    display: block;
}

/* ---- Item ---- */

nav li.nav-section li.nav-item {
    padding: 0.75em;
}

nav li.nav-subsection li.nav-item {
    padding: 0.45em 0.75em 0.45em 1.5em;
}

nav li.nav-item.active {
    background-color: rgba(0, 0, 0, 0.05);
}

/* ================= */

ul.set-item-list {
    list-style: none;
    margin-left: 0;
}

ul.set-item-list > li {
    margin: 0 0 15px;
    padding: 5px 0 0;
    overflow: hidden;
    border-top: 1px solid #CCCCCC;
}

.set-item-list .icon {
    float: left;
    clear: left;
    width: 64px;
    height: 64px;
    margin: 0 8px;
}

.set-item-list .title {
    font-size: 16px;
    margin: 0;
    clear: left;
    display: block;
    height: 32px;
}

.set-item-list .description {
    float: left;
    display: block;
    width: 250px;
    margin: 0;
}

.set-item-list .item-list {
    float: left;
    width: 320px;
    list-style: none;
    margin: 0 0 0 20px;
}

.set-item-list li a.title h2 {
    color: inherit;
    margin: 10px 0 10px;
}

.toc {
    float: right;
    clear: right;
    margin: 0 0 1.5em 1.5em;
    padding: 0 1.5em;
    width: 238px;
    border: 1px solid #CCCCCC;
}

.toc * {
    font-size: inherit;
}

.toc h2 {
    text-transform: uppercase;
    border-bottom: 1px solid #CCCCCC;
    margin: 20px 0 10px 0;
    padding: 0 0 5px;
}

.toc ul {
    margin: 0 0 15px 18px;
}

.toc ul.plain {
    list-style: none;
    margin: 0 0 15px;
}

.toc ul.plain ul {
    list-style: none;
    margin: 0 0 0 18px;
}

.class-nav, .lesson-nav {
    height: 45px;
    margin: 0 -20px;
    vertical-align: bottom;
}

.class-nav a, .lesson-nav a {
    display: block;
    height: 28px;
    padding: 8px;
    line-height: 28px;
    text-transform: uppercase;
    text-align: center;
    border-bottom: 1px solid #CCCCCC;
}

.class-nav a {
    width: 262px;
}

.lesson-nav a {
    float: left;
    width: 122px;
}

.lesson-nav .first {
    width: 123px;
    border-right: 1px solid #CCCCCC;
}

/* ================ */
/* ==== Figure ==== */
/* ================ */

.figure {
    
}

.figure.high {
    margin: 1em auto;
}

.figure.normal {
    float: left;
    margin: 1em 1em 1em 0;
}

.figure.low {
    float: right;
    margin: 1em 0 1em 1em;
}

.figure > .caption {
    margin: 0.5em 0 0;
    color: #666;
}

.figure > .caption .tag {
    float: left;
    color: #222222;
    font-weight: bold;
    margin-right: 0.5em;
}

/* ============== */
/* ==== Note ==== */
/* ============== */

.note {
    margin: 1em 0;
    padding-left: 10px;
    border-left: 4px solid;
    border-color: #6dc2dd;
}

.note.tip {
    border-color: #91d1a1;
}

.note.caution {
    border-color: #e28392;
}

.note .tag {
    float: left;
    font-weight: bold;
    margin-right: 0.5em;
}

/* ============== */
/* ==== Code ==== */
/* ============== */

pre {
    margin-top: 0;
    padding: 1em;
    overflow: auto;
    background: rgba(0, 0, 0, 0.05);
}

code {
    color: #060;
    font: 14px/1.5 monospace;
}

code.disabled {
    color: rgba(0, 0, 0, 0.4);
}

/* ============== */
/* ==== Tabs ==== */
/* ============== */

div.tab-bar {
    overflow-x: auto;
    white-space: nowrap;
}

a.tab {
    text-transform: capitalize;
    display: table-cell;
    padding: 8px 16px;
}

a.tab.active {
    background: rgba(0, 0, 0, 0.05);
}

/* =============== */
/* ==== Table ==== */
/* =============== */

div.table {
    margin: 1em 0;
    width: 100%;
}

div.table > table {
    border-collapse: collapse;
    border-spacing: 0;
    border: 0;
    width: 100%;
}

div.table th, div.table td {
    padding: 4px 12px;
    vertical-align: top;
    text-align: left;
    border: solid 1px #CCCCCC;
}

div.table th {
    background-color: rgba(0, 0, 0, 0.05);
    font-weight: normal;
}

div.table > .caption {
    margin: 1em 0 0;
    color: #666;
}

div.table > .caption .tag {
    float: left;
    color: #222222;
    font-weight: bold;
    margin-right: 0.5em;
}