html {
    img {
        max-width: 100%;
    }

    background-color: #f0f2ef;
    color: #252422;
    font-size: medium;
    a { color: #33658a; }
    a:visited { color: #693668; }

    body {
        width: 80%;
        margin: 3vh auto;
        padding:0;
}

header#banner {
    margin-left: auto;
    margin-right: auto;
    width: 50%;

    > p {
        text-align: center;
        font-size: xx-large;
        margin: 0;
        padding: 0;
    }

    menu {
        list-style: none;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        margin: 0 auto;
        padding: 0;
    }

    menu li {
        text-align: center;
        font-size: large;
    }
}

main {
    width: 90%
    margin-left: auto;
    margin-right: auto;

    counter-reset: footnotes;

    article  {
        header {
            >* {
                margin-top: 1em;
            }

            h1 {
                margin: 0;
                font-size: xxx-large;
            }

            :last-child {
                margin-bottom: 1em;
            }
        }

        section {
            border-top: 1px solid black;
            h2, h3 { font-size: x-large; }
            h4, h5 { font-size: large; }
            h6 { font-size: medium; }

            h3, h4, h5, h6 {
                border-bottom: 1px dashed black;
                margin-bottom: .5em;
            }

            section {  border: 0; }

            aside {
                border: 1px solid black;
                float: right;
                clear: right;
                margin: .5em;
                padding: .5em;
            }
        }
    }
}

ul.tags, ul.pagination {
    * {
        padding: 0;
        margin: 0;
    }

    list-style: none;
    margin: 0;
    padding: 0;
    display: inline;

    li {
        display: inline-block;
        margin: 0;
        padding: 5px;
    }
}

ul.tags a {
    color: #fff;
}

figure {
    background-color: #252422;
    color: #a9aca9;
    padding: 2px;
    margin: 2em auto;
    resize: both;
    padding: 1em;
    max-width: 100%;

    pre {
        margin: 0;
        background-color: #fff;
        color: #000;
        padding: 1em;
    }

    img {
        margin: 0 auto;
        display: block;
    }

    figcaption {
        margin-top: 1em;
    }
}

nav#tableofcontents, div.toc {
    min-width: content;
    background: #252422;
    color: #baacbd;
    padding: 1em;
    margin-top: 2vh;
    margin-bottom: 2vh;

    p, span.toctitle {
        text-align: center;
        font-size: larger;
        background-color: #f0f2ef;
        display: block;
        color: #252422;
    }

    ol, ul { 
        list-style-type: none;
        margin: 0;
        background-color: #f0f2ef;
        padding: 1em 0 1em 1em;
        color: #252422;

        li ol, li ul {
            padding: 0 0 0 1em;
        }

        li::before {
            content: counters(list-item, '.', decimal) " ";
        }
    }

}

a.footnote {
    counter-increment: footnotes; 
    text-decoration: none; 
    color: inherit; 
    cursor: default;
    outline: none; 

    .footnote:visited, a.footnote:hover {
        counter-increment: footnotes; 
        text-decoration: none; 
        color: inherit; 
        cursor: default;
        outline: none; 
    }

    ::after {
        content: '[' counter(footnotes) ']'; 
        vertical-align: super; 
        font-size: 0.5em; 
        margin-left: 2px;
        color: #414066;
        text-decoration: underline; 
        cursor: pointer; 
    }

    :visited::after { color: #d4b2d8; }

    :focus::after {
        outline: thin dotted;
        outline-offset: 2px;
    }
}


#footnotes {
    a.fn-return {
        margin: 0 5px;
        font-size: 0.8em; 
    }
    li:target { background: yellow;  }
}
