:root {
    font-size:17px;
}

body {
    font-size:1rem;
    margin:0;
}

.dark-mode body {
    background-color:#101010;
    color:#ffffff;
}
.dark-mode a {
    color:#80c0ff;
}
.dark-mode a:visited {
    color:#807bff;
}

header {
    padding:10px 5px 10px 5px;
    background-color:#502030;
    color:white;
    font-family:'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;

    /* Bounds theme-switcher to the header's bounding box */
    position:relative;
}
header h1 {
    font-weight:200;
    font-size:2.5rem;
    line-height:1;
    padding-right:50px;
}
header h2 {
    font-weight:normal;
    font-size:1.1rem;
    line-height:1;
}
header a {
    color:white !important;
    text-decoration:none;
}

#theme-switcher {
    position:absolute;
    top:10px;
    right:10px;
    bottom:10px;
    width:40px;

    background-color:white;
    color:black;

    border:1px solid black;
    border-radius:4px;
}
#theme-switcher > img {
    width:100%;
    height:100%;
}

main {
    line-height:1.5;
}

footer {
    max-width:min(800px, calc(100vw - 30px));
    border-radius:100px;

    margin:10px auto;
    padding:10px 5px;

    background-color:#502030;
    color:white;
    text-align:center;
}
footer a {
    color:#80c0ff;
    font-style:italic;
}

.image-holder {
    margin:30px auto;
    text-align:center;
    font-style:italic;

    word-break:break-all;
}
main img {
    display:block;
    margin:0 auto;
    width:90%;
    max-width:400px;

    border-radius:5px;
    border:1px solid black;
}



.contain {
    max-width:800px;
    margin:0 auto;
    padding:0 10px;
}

.text-center {
    text-align:center;
}
.title {
    margin:30px auto;
    font-variant:small-caps;
}
h3.title {
    margin:20px auto;
}

#references, #footnotes {
    list-style-type: none;
    padding-left:0;
    margin:30px 0;

    word-break:break-all;
}
#references > li:before, #footnotes > li:before {
    content:"[" attr(data-index) "]";
    display:inline-block;
    width:0.25in;
}
#references > li, #footnotes > li {
    text-indent:-0.25in;
    padding-left:0.5in;
    margin:1rem 0;
}

.ref {
    vertical-align:super;
    font-size:smaller;
}
