:root {
    --w: auto;
    --nav-bottom-left: calc((100% - var(--w))/2);
    --nav-text: #FFFFFF;
    --nav-back: #424242;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    min-height: 100%;
    margin-bottom: 60px;
}

/* gerneral */
h1 {
    color: #33691e;
}
a {
    color: #33691e;
}
a:hover {
    color: #162e0d;
}
/* navigation */
p.nav-panel {
    /* top/both */
    font-weight: bold;
    margin-top: -8px;
    margin-left: -8px;
    margin-right: -8px;
    border: 1px solid var(--nav-back);
    color: var(--nav-text);
    background-color: var(--nav-back);

    display: flex;
    justify-content: space-between;
}
/* hide commas */
p.nav-panel {
    color: var(--nav-back);
}
p.nav-panel span {
    color: var(--nav-text);
}
hr ~ p.nav-panel {
    /* bottom */
    margin-top: 10px;
    margin-bottom: 0;
    bottom: 0px;
    overflow:hidden;
    position:absolute;
    left: var(--nav-bottom-left);
    right: var(--nav-bottom-left);
}
p.nav-panel span.nav-button {
    margin: 10px 15px;
}
/* hide always-empty navbutton */
p.nav-panel span.nav-button:nth-of-type(4) {
    display: none;
}
p.nav-panel a {
    font-weight: normal;
    color: #f1f8e9;
}
hr {
    display: none;
}
#Top p.nav-panel,
#Top ~ p.nav-panel {
    /* hide navigation on title page */
    display: none;
}


/* code */
div.example {
    margin-left: auto;
}
div.example > pre.example {
    margin-left: 1em;
    border-left: 2px solid #33691e;
}
pre.example-preformatted, pre.example, code, samp {
    padding: 3px 5px;
    color: #33691e;
    background-color: #f1f8e9;
    border-radius: 3px;
    font-family: "Liberation Mono", "FreeMono", "Courier New", monospace;
}
pre > a,
code > a {
    text-decoration-color: #d1e8c9;
}
pre {
    color: #33691e;
    font-family: "Liberation Mono", "FreeMono", "Courier New", monospace;
}

/* responsive */
/* small */
@media (max-width: 767px) {
    :root {
        --nav-bottom-left: 0;
    }
}
@media (max-width: 991px) {
    p.nav-panel span.nav-button:nth-of-type(5),
    p.nav-panel span.nav-button:nth-of-type(6) {
        display: none;
    }
}

body > *, div.header > p, div.display > pre, div.smallexample > pre {
    margin-left: auto;
    margin-right: auto;
    width: var(--w);
}

@media (min-width: 768px) {
    :root {
        --w: 768px;
    }
}

/* medium */
@media (min-width: 992px) {
    :root {
        --w: 970px;
    }
}

/* large */
@media (min-width: 1200px) {
    :root {
        --w: 1170px;
    }
}

body > div.header, body > div.display, body > div.smallexample {
    width: auto;
}

/* searchbox */
#searchbox {
    width: 100%;
    border: 1px solid #33691e;
    border-radius: 3px;
}
