/*-----------.
| Sub pages  |
`-----------*/

body, div[node]#index {
    padding: 0px 0.5em 0px 1em;
}

/* For both main page and iframes */
body {
    margin: 0px;
}

header > a {
    width: 90%;
    display: inline-block;
}

#sub-pages {
    box-sizing: border-box;
    left: 25%;     width: 75%;
    height: auto;
    top: 0pt;
    bottom: 0pt;
    position: absolute;
}

div[node] {
    height: 100%;
    overflow: auto;
}

div[node][hidden] {
    display: none;
}

/* Iframed sub pages */
iframe.node {
    width: 100%;
    height: 100%;
    border: none;
    margin: 0px;
    padding: 0px;
    display: block;
}

#sub-pages.blurred {
    opacity: 0.2;
}

.highlight {
    background: #FFCC33;
}

/*--------------------------.
| Lateral table of content  |
`--------------------------*/

#slider {
    position: fixed;
    top: 0em;
    bottom: 0em;
    height: 100%;
    width: 25%;
    margin: 0px;
    padding: 0px;
    background: #f0f0f0d0;
}

#slider, body[show-sidebar="yes"] .sidebar-hider {
    box-sizing: border-box;
    left: 0em;
}
body[show-sidebar="yes"] .sidebar-hider {
    border-width: thin;
}
body[show-sidebar="no"] #slider {
    border-width: thin;
    width: 0px; /* so mouse events don't get captured */
}
body[show-sidebar="no"] .sidebar-hider {
    width: auto;
    position: fixed;
}

body[show-sidebar="no"] div.toc, body[show-sidebar="no"] header > a {
    display: none }

body[show-sidebar="no"] div#sub-pages {
    left: 0px;
    width: 100%;
}

div.toc-sidebar {
    position: absolute;
    top: 0px;
    overflow: auto;
    width: 100%;
    bottom: 2.8ex;
}

div.toc-sidebar header {
    display: flex;
    align-items: flex-start;
    font-size: xx-large;
}

div.toc-sidebar div {
    padding: 0.25em;
    overflow: auto;
}

.sidebar-hider {
    display: inline;
    padding: 2px;
    vertical-align: top;
    text-align: start;
}

.sidebar-hider span.hide-text {
    display: block;
    writing-mode: vertical-rl
}

.sidebar-hider span.hide-icon {
    display: block;
    font-size: x-large;
}

div.toc ul[toc-detail] {
    display: none
}

div.toc ul, div toc nav {
    margin: 0px;
    padding: 0px;
}

div.toc ul ul {
    margin-left: 1em;
}

div.toc-sidebar a {
    text-decoration: none;
}

div.toc a[toc-current] {
    font-weight: bold
}

div.header { text-align: right }

@media (max-width: 60em) {
    div#sub-pages { left: 0px; width: 100% }
    body[show-sidebar="yes"] div#sub-pages { opacity: 0.4 }
    body[show-sidebar="yes"] div#slider {width: 20em }
    div.logo img { max-width: 80%; width: 2em; }
}

/*-------------.
| Help screen  |
`-------------*/

table#keyboard-shortcuts {
    margin: 20px;
}

table#keyboard-shortcuts td {
    padding: 5px;
}

table#keyboard-shortcuts th {
    text-align: left;
}

/* The Modal (background) hidden by default */
.modal {
    display: none;
    position: fixed;
    z-index: 1;
    padding-top: 40px;
    left: 25%;
    top: 0;
    bottom: 0px;
    width: 75%;
    background-color: #888; /* Fallback color */
    background-color: rgba(0,0,0,0.5); /* Black w/ opacity */
}

/* Modal Content */
.modal-content {
    background-color: white;
    margin: auto;
    padding: 20px;
    width: 80%;
    max-height: 100%;
    overflow-y: auto;
}

/*-------.
| Icons  |
`-------*/

/* The Close Button */
.close {
    color: darkgrey;
    float: right;
    font-size: xx-large;
}

#icon-bar {
    float: right;
}

.icon {
    color: darkgrey;
    font-size: x-large;
}

.icon:hover, .icon:focus, .close:hover, .close:focus {
    color: black;
    cursor: pointer;
}

/*--------.
| popups  |
`--------*/

.text-input, .echo-area, .error {
    background: lightgrey;
    z-index: 10;
    position: fixed;
    right: 0;
}

.error .text-input {
    top: 0;
    right: 0;
}

.text-input input {
    width: 25em;
}

.error {
    background-color: orange;
    padding: 5px;
}

.echo-area {
    bottom: 0;
}

