/*  
 *  Layout of www.willemp.be
 *
 */

:root {
    --logo-row-bg: #f8f8f8;
    --content-bg: #ffffff;
    --content-fg: #000000;
    --bottom-empty-space-bg: #e0e0e0;
    --toc-bg: var(--logo-row-bg);
    --toc-hover-bg: #e5e5ff;
    --toc-hover-border-color: #cccccc;
    --toc-current-bg: var(--content-bg);
    --toc-current-border-bg: #ddddff;
    --separator-line-color: #cccccc;
    --menu-border-color: #bbbbbb;
    --menu-shadow-color: #00000055;
    
    /* Elements inside content: */
    --link-fg: #0000ee;
    --link-hover-bg: #f3f3f3;
    --visited-link-fg: #551a8b;
    --table-border-color: #aaaaaa;
    --definition-border-color: #888888;
    --definition-shadow-color: #aaaaaa;
    --pre-bg: #f6f6f6;
    --pre-border-color: #f2f2f2;
    --prompt-fg: #008800;
    --inner-footer-fg: #444444;
}

@media (prefers-color-scheme: dark) { :root {
    --logo-row-bg: #282828;
    --content-bg: #202020;
    --content-fg: #eeeeee;
    --bottom-empty-space-bg: #181818;
    --toc-bg: var(--logo-row-bg);
    --toc-hover-bg: #333344;
    --toc-hover-border-color: #444466;
    --toc-current-bg: var(--content-bg); 
    --toc-current-border-bg: #383838;
    --separator-line-color: #303030;
    --menu-border-color: #404040;
    --menu-shadow-color: #00000055;
    
    /* Elements inside content: */
    --link-fg: #aaaaff;
    --link-hover-bg: #030303;
    --visited-link-fg: #ddaacc;
    --table-border-color: #aaaaaa;
    --definition-border-color: #888888;
    --definition-shadow-color: #000000;
    --pre-bg: #101010;
    --pre-border-color: #252525;
    --prompt-fg: #008800;
    --inner-footer-fg: #a0a0a0;
}}

body {
    font-size: 12pt;
    margin: 0;
    color: black;
    background-color: var(--bottom-empty-space-bg);
    color: var(--content-fg);
    font-family: sans-serif, verdana;
}

div.logo {
    height: 76px;
    padding-left: 8px;
    overflow: hidden;
    z-index: 2;
    background-color: var(--logo-row-bg);
}

div.logo img {
    max-width: 100%;
}

div.navAndContent {
    margin-top: -16px; /*60px;*/
    min-width: 100%;
    display: table; /* for same column length */
    border-top: 1px solid var(--separator-line-color);
    z-index: 1;
}

div.mainrow {
    display: table-row;
    background-color: var(--toc-bg);
}

a {
    color: var(--link-fg);
}

a:visited {
    color: var(--visited-link-fg);
}

a.hidden {
    color: var(--content-fg);
    text-decoration: none;
}

img {
    border: none;
    vertical-align: middle;
}

/* BEGIN nav */
    div.nav {
        width: 11em;
        padding-top: 2.25em; /* sum of: content and h1 and toc item*/
        padding-bottom: 2.25em;
        background-color: var(--toc-bg);
    }
    
    div.nav-outer {
        display: table-cell;
        width: 11em;
    }
    
    input#nav-menu-checkbox {
        display: none;
    }
    
    @media screen and (max-width: 768px) {
        div.nav {
            /*display: none;*/
            position: absolute;
            top: 60px;
            padding-top: 0;
            padding-bottom: 0.5em;
            margin-left: 0.5em;
            border-left: 1px solid var(--menu-border-color);
            border-right: 1px solid var(--menu-border-color);
            border-bottom: 1px solid var(--menu-border-color);
            box-shadow: 4px 4px 4px var(--menu-shadow-color);
        }
        div.logo {
            padding-left: 80px;
        }
        div.nav-outer {
            position: absolute;
            top: 0;
            left: 0;
        }
        input#nav-menu-checkbox:not(:checked) ~ div.nav {
            display: none;
        }
        input#nav-menu-checkbox:checked ~ label div {
            width: 100vw;
            height: 100vh;
        }
        div.nav a.currentTopic,
        div.nav div.currentTopic {
            background-image: none !important;
        }
    }
    @media screen and (min-width: 769px) {
        div.nav-outer label {
            display: none;
        }
    }
    
    div.nav ul {
        list-style-type: none;
        padding: 0;
        margin: 0;
    }

    div.nav li {
        padding: 0;
        margin: 0;        
    }
    
    div.nav li a.notCurrentTopic,
    div.nav li a.currentTopic,
    div.nav li div.currentTopic,
    div.nav li div.notCurrentTopic {
        text-decoration: none;
        margin: 0;
        padding: 0;
        display: block;
        width: 100%;
        height: 100%;
    }
    
    div.nav li div.expander {
        padding-left: 1em;
        padding-right: 0.5em;
        padding-top: 1em;
        padding-bottom: 1em;
    }
    
    div.nav li a {
        border-top: 1px solid var(--toc-bg);
        border-bottom: 1px solid var(--toc-bg);
    }

    div.nav li a:hover {
        background-color: var(--toc-hover-bg);
        border-bottom: 1px solid var(--toc-hover-border-color);
        border-top: 1px solid var(--toc-hover-border-color);
    }
    
    div.nav a.currentTopic,
    div.nav div.currentTopic {
        background-color: var(--toc-current-bg);
        border-top: 1px solid var(--toc-current-border-bg);
        border-bottom: 1px solid var(--toc-current-border-bg);
        background-position: right center;
        background-repeat: no-repeat;
        background-image: url("nav-arrow-right.svg");
    }
    
    div.nav li li {
        margin-left: 1em;
    }
    
    div.nav li li li div.expander {
        padding-top: 0.5em;
        padding-bottom: 0.5em;
    }
    
    div.nav li li li li div.expander {
        padding-top: 0.25em;
        padding-bottom: 0.25em;
    }
/* END */

div.content {
    border-left: 1px solid var(--separator-line-color);
    padding: 1em;
    padding-right: 4em;
    padding-left: 4em;
    
    min-height: 15em;
    background-color: var(--content-bg);
    
    display: table-cell;
}

@media (max-width: 40em) {
    div.content {
        text-align: left;
    }
}

@media screen and (max-width: 768px) {
    div.content{
        padding-right: 0.5em;
        padding-left: 0.5em;
    }
}

div.content a:hover {
    background-color: var(--link-hover-bg);
}

div.content ul li {
    padding-top: 0.4em;
    padding-bottom: 0.4em;
}

div.content table:not(.nobordertable) {
    background-color: var(--table-border-color);
}

div.content table td, div.content table th {
    background-color: var(--content-bg);
    padding: 0.75em;
    vertical-align: top;
}

h1, h2, h3, h4 {
    text-align: left;
    padding-top: 0.5em;
}
h1 {
    font-size: 2em;
    padding-top: 0em;
    margin-top: 0.75em;
    margin-bottom: 1.5em;
    text-align: center;
}


div.authorlist {
    text-align: center;
    font-style: italic;
    margin-top: -1.5em;
    margin-bottom: 0.5em;
}

h2 {
    font-size: 1.5em;
}

div.inh2, div.inh3 {
    padding-left: 1.5em;
}

h3 {
    font-size: 1.2em;
}

h4 {
    font-size: 1.1em;
}

pre, span.shell, tt {
    background-color: var(--pre-bg);
    border: 1px solid var(--pre-border-color);
    font-family: monospace;
}

pre {
    padding-left: 1.5em;
    padding-right: 1.5em;
    white-space: pre-wrap;
}

span.prompt {
    color: var(--prompt-fg);
}

span.cmd {
}

span.output {
}

@media print {
    body{
        background-color: #ffffff;
        color: #000000;
    }
    
    div.nav-outer{
        display: none;
    }
    
    div.content {
        border-left: none;
        margin-left: 0;
    }
}

hr.inner_footer {
    margin-top: 2em;
}

div.inner_footer {
    color: var(--inner-footer-fg);
}





