@media (prefers-color-scheme: dark) {
    :root {
        --main-text-color: gainsboro;
        --background-color: black;
        --alt-text-color: lightskyblue;
        --header-color: plum;
        --accent-color: palegreen;
        --unaccent-color: slategrey;
        --contrast-color: lightcoral;
        --selection-bg-color: navy;
    }
}

@media (prefers-color-scheme: light) {
    :root {
        --main-text-color: black;
        --background-color: gainsboro;
        --alt-text-color: mediumblue;
        --header-color: purple;
        --accent-color: green;
        --unaccent-color: slategrey;
        --contrast-color: firebrick;
        --selection-bg-color: skyblue;
    }
}

body {
    color: var(--main-text-color);
    background: var(--background-color);
    margin: auto;
    font-size: 14px;
    padding: 1em;
    max-width: 69em;
    font-family: monospace;
    word-wrap: break-word;
}

h1,
h2,
h3 {
    color: var(--header-color);
}

::selection {
    background: var(--selection-bg-color);
}

div.vspace50px {
    clear: both;
    height: 50px;
}

.banner {
    color: var(--main-text-color);
    display: inline-block;
    text-align: left;
    font-weight: bold;
    margin: auto;
}
@media  (min-width: 100px)  {  .banner  { font-size:0.12em;  } }
@media  (min-width: 150px)  {  .banner  { font-size:0.18em;  } }
@media  (min-width: 200px)  {  .banner  { font-size:0.24em;  } }
@media  (min-width: 250px)  {  .banner  { font-size:0.32em;  } }
@media  (min-width: 300px)  {  .banner  { font-size:0.40em;  } }
@media  (min-width: 350px)  {  .banner  { font-size:0.48em;  } }
@media  (min-width: 400px)  {  .banner  { font-size:0.56em;  } }
@media  (min-width: 450px)  {  .banner  { font-size:0.60em;  } }
@media  (min-width: 500px)  {  .banner  { font-size:0.68em;  } }
@media  (min-width: 550px)  {  .banner  { font-size:0.76em;  } }
@media  (min-width: 600px)  {  .banner  { font-size:0.84em;  } }
@media  (min-width: 650px)  {  .banner  { font-size:0.92em;  } }
@media  (min-width: 700px)  {  .banner  { font-size:1.00em;  } }

.container {
    display: table;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    min-width: 360px;
    max-width: 440px;
}

.advisory {
    background: var(--header-color);
    color: var(--background-color);
    font-weight: bold;
    padding: 1em;
    border-radius: 0.25em;
}

hr {
    border-color: var(--header-color);
}

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

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

ul {
    margin: 0px;
    padding-left: 20px;
}

.slider {
    -webkit-appearance: none;
    width: 100%;
    height: 25px;
    background: var(--unaccent-color);
    outline: none;
    opacity: 0.7;
    -webkit-transition: .2s;
    transition: opacity .2s;
    margin-top: 10px;
}

.slider:hover {
    opacity: 1;
}

.slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 25px;
    height: 25px;
    background: var(--header-color);
    cursor: pointer;
}

.slider::-moz-range-thumb {
    width: 25px;
    height: 25px;
    background: var(--header-color);
    cursor: pointer;
}

ul {
    list-style-type: " • ";
}

@media (min-width: 69em) {
    .row {
        display: flex;
        flex-wrap: nowrap;
    }

    .col {
        flex-grow: 1;
    }
}

.grid {
    border-collapse: collapse;
}

.col {
    padding-left: 1em;
    padding-right: 1em;
    padding-bottom: 1em;
}