:root {
    --global-font-size: 10pt;
    --overview-toc-width: 17.8em;
    --clamps-toc-width: 20em;
    --clamps-toc-hidden-display: true;
    --clamps-dict-toc-width: 17.8em;
    --fomus-toc-width: 17.8em;
    --text-font:  DejaVu, sans;
    --header-font: DejaVu, sans-serif;
    --monospace-font: monospace;
    /* --header-font: Dejavu, sans; */
    --text-background: #1e2129;
    --text-color: #b5b9bf;
    /* --toc-background: #1a1c23; */
    /* --menu-background: #060712; */
    /* --search-background: #00032c; */
    --toc-background: #1e2129;
    --menu-background: #1e2129;
    --search-background: #1e2129;
    --img-background: white;
    --anchor-hover: #7ab6ff;
    --anchor-toc: #518be2;
    --anchor-active: #ffa500;
    --i-color: #1fa03c;
    /* --i-color: #187b2e; */
    --arg-color: #d06060
;    --b-color: #00000e;
    --title-color: #7a7d87;
    --h1-color: #7a7d87;
    --h2-color: #7a7d87;
    --h3-color: #7a7d87;
    --h4-color: #7a7d87;
    --h5-color: #7a7d87;
    /* --nav-color: #1f3657 */
    --nav-color: #284671;
    --nav-hover: #518be2;
    --footnote-separator: #b5b9bf;
    --code-background: #121010;
    --code-border-before: #black;
    --code-border: #303030;
    --code-text: white;
    --code-keyword-color: #afeeee;
    --code-type-color: #87ceeb;
    --code-string-color: #7ab6ff;
    --code-variable-color: #40e0d0;
    --code-builtin-color: #7fffd4;
    --code-function-color: #40e0d0;
    --code-comment-color: #add8e6;
    --rainbow-del-depth-error: #88090B;
    --rainbow-del-depth-1: #ffff00;
    --rainbow-del-depth-2: #a9a9a9;
    --rainbow-del-depth-3: #ff1493;
    --rainbow-del-depth-4: #adff2f;
    --rainbow-del-depth-5: #00bfff;
    --rainbow-del-depth-6: #ffff00;
    --rainbow-del-depth-7: #cdad00;
    --rainbow-del-depth-8: #cd8500;
    --rainbow-del-depth-9: #8b4500;
    --rainbow-del-mismatched: #88090B;
    --rainbow-del-unmatched: #88090B;
    background: var(--text-background);
    color: var(--text-color);
    line-height: 1.6em;
    margin: 0;
    font-family: Georgia Serif;
    font-size: var(--global-font-size);
}

html, body{
    height: 100%;
    margin: 0;
}

body {
    display: grid;
    grid-template-rows: 2em 3em 1fr;
    grid-template-areas: "top-buttons"
                         "top-menu"
                         "body-content";
}

#top-buttons {
    grid-area: top-buttons;
    background: var(--menu-background);
    display: flex;    
}

#toc-button {
    color:  var(--h2-color);
    background-color: var(--text-background);
    font-family: FontAwesome;
    font-size: 1.5em;
    padding-left: 0.8em;
    margin-top: 0.3em;
    position: relative;
    border: none;
}

#toc-button:before {
    content: "\f039";
}

table {
    color: var(--text-color);
}

tr {
    vertical-align: baseline;
}

td, th {
    padding: 0 1rem;
}

#theme-button {
    color:  var(--h2-color);
    background-color: var(--text-background);
    font-family: FontAwesome;
    width: 1.5em;
    height: 1.5em;
    font-size: 0.82em;
    position: relative;
    margin-left: 0.5em;
    margin-top: 0.88em;
    border: 3px solid var(--h2-color);
    border-radius: 10% 10%;
}

#theme-button:before {
 content: "\f0eb";
}

#preamble {
    grid-area: top-menu;
    background: var(--menu-background);
    display: flex;
} 

.top-menu {
    padding: 0.5em 1em;
    align-self: flex-end;
    font-size: 1.2em;
}

nav h2 {
    display: inline-block;
}



header {
    /* grid-area: menul; */
    /* background: #1a1c23; */
    padding-left: 1em;
    display: none;
}

#content {
    grid-area: body-content;
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid; /* direct childs haben normalen Seitenfluss */
    grid-template-rows: 1fr;
    grid-template-columns: 1fr 4fr;
    grid-template-areas: "nav content";
    / *transition: all 500ms; */
}

#/*TODO: */able-of-contents {
    grid-area: nav;
    /* transition: all 500ms; */
    /* background: #181a21; */
    /* background: #1b1e25; */
    background: var(--toc-background);
    height: 100%;
    padding-left: 1em;
}

#table-of-contents {
    grid-area: nav;
    / *transition: all 1s; */
    /* background: #181a21; */
    /* background: #1b1e25; */
    background: var(--toc-background);
    height: 100vh;
    overflow: auto;
    padding-left: 1em;
}

.toc-open {
    /* width: var(--clamps-toc-width); */
    /* transition: all 500ms; */
}

    
.toc-closed {
    display: none;
    grid-area: nav;
    width: 0;
    / *transition: all 500ms;     */
}

#page-main-body {
    grid-area: content;
/*     position: fixed; */
/*     top: 0; */
/*     left: 27em; */
/*     max-width: 40em; */
/*     padding: 1.618em 3.236em; */
    height: 100%;
    display: flex;
    overflow: auto;
    /* padding-left: 10em; */
    padding: 0;
}

#search{
    grid-area: nav;
    height: 1em;
    background: var(--search-background);
}

#page-text-body {
    display: inline-block;
    /* width: 60%; */
    overflow: unset;
}


#nav-left {
    display: flex;
    justify-content: center;
    align-content: center;
    flex-direction: column;
    height: 100vh;
    margin: 0 0.5em;
    display: inline-block;
    font-size: 4em;
    width: 1em;
    position: sticky;
    top: 0;
}

#nav-right {
    display: flex;
    justify-content: center;
    align-content: center;
    flex-direction: column;
    margin: 0 0.5em;
    height: 100vh;
    font-size: 4em;
    background: url(../img/user.png) no-repeat 6px center;
    width: 1em;
    position: sticky;
    top: 0;
}

@media screen and (max-width: 876px){

    #page-main-body{
        flex-wrap: wrap;
        padding: 0 2em;
    }

    #nav-left {
        height: 1em;
        width: 50%;
        margin: 0;
        order: 2;
        position: relative;
    }

    #nav-right {
        height: 1em;
        width: 50%;
        margin: 0;
        order: 3;
        position: relative;
        text-align: right;
    }

    #page-text-body{
        order: 1;
        width: 100%;
    }
}

.top-menu-active:hover {
    color: var(--anchor-active);
}


.top-menu-active {
    color: var(--anchor-active);
}

.org-src-container {
    background: var(--code-background);
    color: var(--code-text);
    /* border: 1px solid white; */
}


.org-ul {
    padding-left: 1em;
    list-style-type: disc;

}

a {
    color: var(--anchor-toc);
    text-decoration: none;
}


a:hover, i.angle-left:hover, i.angle-right:hover {
    color: var(--anchor-hover);
    text-decoration: none;
}


h1.title {
    line-height: 1.3em;
    font-size: 2em;
    font-weight: normal;
    text-align: left;
//    padding-left: 11em;
}

.title {
    color: var(--title-color);
    font-size: 1em;
    font-weight: normal;
    text-align: left;
    line-height: 6.3 em;
}

.ul-toc-level-1 {
    padding-left: 1.5em;
    list-style-type: none;
}

.ul-toc-level-2 {
    padding-left: 0;
    list-style-type: none;
}

#text-table-of-contents {
    margin-left: -1.5em;
    line-height: 1.3em;
    overflow: hidden;
    white-space: nowrap;
}

sup {
    vertical-align: top;
    position: relative;
    top: -0.5em;
}

ul {
    padding-left: 1.5em;
    list-style-type: none;
}

h1 {
    display: none;
}

h2 {
    font-size: 2em;
    display: none;
}

h3 {
    font-size: 1.8em;
}

h4 {
    font-size: 1.5em;
}

h5 {
    font-size: 1.3em;
}


h2, h3, h4, h5 {
    color: var(--h2-color);
    font-weight: normal;
    line-height: 1.3em;
}

pre.src-lisp::before {
  content: 'Common Lisp';
  background-color: var(--code-background);
  border: none;
}

pre.src::before {
  display: none;
  position: absolute;
  background-color: var(--code-background);
  top: -10px;
  right: 10px;
  padding: 3px;
  /* border: 1px solid var(--code-border-before); */
  color: var(--code-text);
}



pre {
  border: 1px solid var(--code-border);
  box-shadow: none;
  padding: 8pt;
  background-color: var(--code-background);
    padding-top: 8pt;
  font-family: monospace;
  overflow: auto;
  margin: 1.2em;
  color: var(--code-text);
}

img {
    background: var(--img-background);
}

.outline-4, .outline-3, .outline-2, .outline-1 {
//    overflow: auto;
}



a.nav-left {
    display: flex;
    justify-content: center;
    align-content: center;
    flex-direction: column;
    accesskey: 'p';
    /* color: #32568b; */
    color: var(--nav-color);
}

a.nav-left:hover, a.nav-right:hover, a.nav-up:hover {
    /* color: #5e8bde; */
    color: var(--nav-hover);
}

a.nav-right::before {
    accesskey: 'n';
}

a.nav-right {
    display: flex;
    justify-content: center;
    align-content: center;
    flex-direction: column;
    color: var(--nav-color);
}

i.angle-left::before {

    content: "<";
}

i.angle-right::before {

    content: ">";
}

i.angle-left, i.angle-right {
    color: var(--nav-color);
}


i {
    color: var(--i-color);
    font-style: normal;
}

code {
    color: var(--arg-color);
}

#postamble {
    /* display: none; */
    width: 100%;
    height: 5em;
    background: var(--menu-background);
}

#header::before, #header::after, #content::before, #content::after, #footnotes::before, #footnotes::after, #footer::before, #footer::after {
  /* content: " "; */
  /* display: table; */

}

code {
    var(--i-color);    
}

#org-div-nav-menu {
    display: none;
}

.toc-active:hover {
    color: var(--anchor-active);
}


.toc-active {
    color: var(--anchor-active);
}

.ul-toc-level-3 .toc-hidden {
    /* display: var(--clamps-toc-hidden-display); */
}


.toc-level-1 a {
    color: var(--h2-color);
    pointer-events: none;
}

.toc-level-2 .toc-entry {
    color: var(--anchor-toc);
    pointer-events: auto;
}

.toc-level-2 .toc-active {
    color: var(--anchor-active);
}


.toc-level-2 .toc-entry:hover {
    color: var(--anchor-hover);
    pointer-events: auto;
}E

.toc-level-2 .toc-active {
    color: var(--anchor-active);
    pointer-events: auto;
    text-overflow: hidden;
    text-overflow: ellipsis;
    width: 15em;
}

.toc-level-2 .toc-active:hover {
    color: var(--anchor-active);
}

.ul-toc-level-3 {
    /* display: none; */
}
.toc-level-1 {
    margin-top: 0.5em;
    font-size: 1.6em;
    font-weight: bold;
    line-height: 1.6em;
}

.toc-level-2 {
    font-size: 0.625em;
    font-weight: normal;
    line-height: 1.2em;
}

.toc-entry {
    overflow: hidden;
    text-overflow: ellipsis;
    display:inline-block;
    white-space: nowrap;
    width: 15em;
}

#footnotes {
  margin-top: 5em;
  border-top: 1pt solid (--footnote-separator);
}

.footpara {
    display: inline;
}
