#bg-image-outer {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height:100%;
    display: table;

    z-index: -1;
}

#bg-image-inner {
    vertical-align: middle;
    display: table-cell;
}

#bg-image-scale {
    margin-left: auto;
    margin-right: auto;
    max-width: 20em;
}

#bg-image-outer img {
    width: 100%;
    opacity: 0.1;
}

body {
    background-color: var(--background-color);
    padding: 0;
    margin: 0;
}

.tt {
    font-family: monospace;
}

h1 {
    font-size: 30pt;
    color: var(--h1-color);
}

div.text, h1, h2, h3, h4, h5, h6 {
    font-family: sans-serif;
}

h2, h3, h4, h5, h6 {
    color: var(--heading-color);
}

h1, h2, h3 {
    width: 100%;
    text-align: center;
}

div.text {
    text-align: justify;
    color: var(--text-color);
}

div.fn {
    margin-bottom: 0.7em;
}

div.fn :first-child {
    float: left;
    width: 1em;
    overflow: hidden;
}

div.fn :last-child {
    overflow: hidden;
}

div.inner-text-container {
    margin: 1em auto 1em auto;
    max-width: 40em;
    padding: 1em 4em 1em 4em;
    border-color: var(--light-border-color);
    border-width: 0px 1px;
    border-style: none solid;
}

div.outer-text-container {
    width: 100%;
    margin: 0;
    padding: 0;
}

.tiny {
    font-size: 40%;
}

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

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

a:hover {
    color: var(--hover-color);
    text-decoration: underline;
}

hr {
    border: none;
    border-color: var(--text-color);
    border-top-width: 1px;
    border-top-style: solid;
    margin-top: 2em;
    margin-bottom: 2em;
}

ul li {
    margin-top: 1em;
}

ul li:first-child {
    margin-top: 0;
}

ol {
    margin: 0;
    padding: 0;
}

ol li {
    padding: 0;
    margin: 0.2em 0 0.2em 2em;
}

div#mode-switcher {
    display: flex;
    justify-content: center;
    width: 100%;
    height: 3em;
}

div#mode-switcher a {
    color: var(--very-strong-color);
    font-family: sans-serif;
    font-size: large;
    padding: 0.5em 0.7em 0.5em 0.7em;
    border-color: var(--very-strong-color);
    border-radius: 0.4em;
    width: max-content;
    height: max-content;
}

div#mode-switcher a {
    border-width: 1px;
    border-style: dashed;
}

@media (hover: hover) {
    div#mode-switcher a {
        color: var(--light-text-color);
        background-color: var(--very-strong-color);
        border: none;
        opacity: 0.3;
    }

    div#mode-switcher a:hover {
        opacity: 1.0;
    }
}

ol li {
    margin: 0px;
}

ol {
    margin: 0.2em 0em 0.2em 2em;
}

table {
    width: 100%;
    border-spacing: 0px;
}

table ul, table ol {
    margin-block-start: 0px;
    margin-block-end: 0px;
    padding-inline-start: 1em;
    margin: 0px;
}

table * {
    text-align: left;
}

table td, table th {
    padding: 1em;
    border-left: 1px solid var(--text-color);
    border-top: 1px solid var(--text-color);
}

table td:last-child, table th:last-child {
    border-right: 1px solid var(--text-color);
}

table tbody tr:last-child > * {
    border-bottom: 1px solid var(--text-color);
}

div.br {
    display: block;
    margin-bottom: 0.5em;
}

span.indent {
    display: inline;
    margin-right: 1em;
}

div.spell, div.toc {
    border: 1px solid var(--inner-border-color);
    margin: 1em;
    padding: 1em;
}

div.spell h4 {
    margin-top: 0px;
}

div.spell div.spell-name {
    font-variant: small-caps;
    padding-bottom: 0.2em;
    font-size: 110%;
}

div.toc ul {
    margin: 0;
    padding: 0;
}

div.toc ul li {
    margin: 0.2em 0 0.2em 2em;
}

span.tooltip {
    text-decoration: underline;
    text-decoration-style: dashed;
    cursor: help;
}

div.pdflink {
    width: 100%;
    justify-content: center;
    display: flex;
}

div.pdflink a {
    padding: 0.5em;
    border-radius: 0.5em;
    background-color: var(--light-border-color);
    font-family: sans-serif;
    font-weight: bold;
}
