* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: "Arial", sans-serif;
    color: #333;
    line-height: 1.4;
}

#hdr {
    border-bottom: 1px solid #e0e5e6;
    background-color: #f6f8f8;
}

#hdr > h1 {
    color: #555;
    margin: 0 auto;
    padding: 1rem;
    font-size: 1rem;
    line-height: 1;
}

#hdr > h1, #wrap {
    max-width: 55rem;
}

#wrap {
    padding: 1rem;
    margin: 0 auto;
    justify-content: center;
}

.tagline {
    font-size: 1.5rem;
    color: #555;
    margin: 0 0 1rem;
    font-weight: normal;
}

div.function > h3, div.property > h3 {
    margin-top: 0;
}
div.function > h3 > a, div.property > h3 > a {
    font-family: monospace;
    color: #2B5782;
    text-decoration: none;
    font-size: 1rem;
}
div.function > div > h4, div.property > div > h4 {
    margin: 0.9em 0 0.5em;
}
div.function > div > ul, div.property > div > ul, .property-body {
    margin: 0.5em 0;
}

span.parameter, span.type {
    font-family: monospace;
    color: #2B5782;
    text-decoration: none;
}
span.parameter {
    font-weight: bold;
}

li.parameter {
    margin-bottom: 1rem;
}

span.optional, span.any_type {
    font-style: italic;
    color: #777;
}

div.function, div.property {
    margin: 0 -0.5rem 1rem;
    padding: 0 0.5rem;
    overflow: auto;
}

div.function > div, div.property > div {
    margin-left: 2rem;
}

div.function:target, div.property:target {
    background: #ffffb2;
    border-radius: 0.3em;
}

span.info {
    margin-right: 0.5rem;
}

div.alert {
    padding: 8px 35px 8px 14px;
    margin-bottom: 20px;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    position: relative;
    font-style: italic;
}

div.warn.alert {
    color: #635b31;
    background-color: #fcf8e3;
    border-color: #bdceaf;
    border-left: 2px solid #7c723e;
}

div.good.alert {
    color: #376d38;
    background-color: #dff0d8;
    border-color: #bdceaf;
    border-left: 2px solid #376d38;
}

#wrap {
    display: flex;
    flex: 1;
}
#content {
    flex: 1;
    position: relative;
}
#sidebar {
    flex: 0 0 13rem;
    margin-right: 1rem;
    font-family: "Open Sans", "DejaVu Sans", sans-serif;
}

@media (max-width: 55rem) {
    #sidebar { display: none; }
}

#sidebar > h2 {
    margin: 0 0 1rem;
    font-size: 1.3rem;
    font-weight: normal;
}
#sidebar > h3 {
    margin: 1rem 0 0.5rem;
    font-size: 1.1rem;
    font-weight: normal;
    color: #444;
}
#sidebar > ul {
    list-style-type: none;
    padding: 0;
    margin: 0 0 0.5rem;
}
#sidebar > ul > li {
    margin: 0.2rem 0.2rem 0.2rem 0.5rem;
    font-size: 0.9rem;
}
#sidebar > ul > li > a, #sidebar > ul > li > span {
    text-decoration: none;
    font-size: 0.9rem;
}
#sidebar > ul > li > span {
    color: black;
    font-weight: 500;
}
#sidebar > ul.modules > li, #sidebar > ul.classes > li,
#sidebar > ul.modules > li > a, #sidebar > ul.modules > li > span,
#sidebar > ul.classes > li > a, #sidebar > ul.classes > li > span {
    font-family: monospace;
}

#content li:not(:last-child) {
    margin-bottom: 0.5rem;
}

/*
 * Content typography
 */

#content > h1 {
    font-size: 1.7rem;
    color: #000;
    margin: 0 0 0.7rem;
}

#content > h2 {
    font-size: 1.3rem;
    color: #000;
    margin: 1.5rem 0 1rem;
}

#content > h3 {
    font-size: 1.0rem;
    color: #000;
}

/* Links */
a { color: #204a87; text-decoration: none; }
a:visited { color: #2B2087; }
a:hover { text-decoration: underline; }
a:active { color: #0c1d36; }
li.dummy {
    list-style-type: none;
    -webkit-user-select: none;
}

/* Attribution styling */
.attr-wrap {
    display: flex;
    flex: 1;
}
.attr-wrap > h4 {
    flex: 0 0 8rem;
    margin: 0;
}
.attr-wrap > ul {
    flex: 1;
    padding: 2px 0;
    list-style-type: none;
    margin: 0;
}
.attr-wrap > ul > li:before {
   width: 20px;
   margin-right: 5px;
   display: inline-block;
   text-align: center;
}
ul.authors > li:before { content: "•"; }
ul.copyright > li:before { content: "©"; }

/*
 * Code blocks and inline code
 */

.sourcecode .comment { color: #558817; }
.sourcecode .constant { color: #a8660d; }
.sourcecode .escape { color: #844631; }
.sourcecode .keyword { color: #2239a8; font-weight: bold; }
.sourcecode .library { color: #0e7c6b !important; text-decoration: none !important; }
.sourcecode .marker { color: #512b1e; background: #fedc56; font-weight: bold; }
.sourcecode .number { color: #a8660d; }
.sourcecode .operator { color: #2239a8; font-weight: bold; }
.sourcecode .preprocessor { color: #a33243; }
.sourcecode .prompt { color: #558817; }
.sourcecode a:link, .sourcecode a:visited { color: #272fc2; }

code, pre {
    background: #f5f7f9;
    color: #334;
}
code {
    border: 1px solid #dfdfe9;
    padding: 0px 4px;
}
pre > code {
    border: none;
    padding: 0;
}
pre {
    padding: 1rem 1.2rem;
    border-left: 2px solid #69c;
    overflow-x: scroll;
}

/*
 * Binding styles
 */

kbd, .cmd {
    border-radius: .2rem;
    display: inline-block;
    line-height: 1;
    padding: .3rem .4rem;
    vertical-align: baseline;
    font-size: 0.95rem;
    font-weight: 500;
}

kbd {
    background: #444b5b;
    color: #fff;
}

.cmd {
    background: #ffeab5;
    color: #40495c;
}

.two-col { display: flex; }
.two-col > :first-child { flex: 0 0 200px; margin-right: 10px; }
.two-col > :first-child > div:not(:first-child) { margin-top: 0.3rem; }
ul.triggers {
    list-style-type: none;
    padding: 0;
}
ul.triggers > li {
    font-family: monospace, sans-serif;
    color: #2B5782;
    font-weight: bold;
    font-size: 1rem;
}

div.info > div { margin-top: 0.3rem; }
