html {
    min-height: 100%;
}
body {
    font: 1em Helvetica,Arial,sans;
    background-color: #f8f8f8;
    color: #222;
    line-height: 1.5em;
    margin: 0;
    min-height: 100vh;
    position: relative;
    text-align: left;
}
header {
    margin: 0 0 2em;
    text-align: center;
}
main {
    max-width: 60ch;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 4em;
    text-align: left;
}
h1,
h2,
h3 {
    text-align: center;
}
footer {
    font-size: 0.8em;
    line-height: 1.5em;
    margin: 0 auto;
    max-width: 60ch;
    z-index: -1;
}
#titleline {
    font: bold 3em "Adobe Garamond",Georgia,serif;
}
#titleline > a {
    text-decoration: none;
    color: inherit;
}
#title_subhead {
    font-weight: 700;
}
button,
input,
label {
    font-size: 24px;
    font-family: sans-serif;
}
div.form {
    line-height: 24px;
}
.body {
    margin-left: 5%;
    margin-right: 5%;
    min-height: 100%;
    width: 90%;
}
.page {
    display: none;
}
.button-container {
    margin-top: 10px;
    text-align: center;
}
@media only screen and (min-width:720px) {
    .body {
        max-width: calc(720px * .9);
        margin-left: auto;
        margin-right: auto;
    }
}
body {
    font-size: 18px;
    font-family: sans-serif;
    height: 100%;
    margin: 0;
    position: absolute;
    width: 100%;
}
#terms {
    font-size: 0.8em;
}
.body > * {
    padding: 20px;
    width: 100%;
}
.body {
    align-items: center;
    display: flex;
    flex-direction: column;
}
a {
    color: #6364ff;
}
a:visited {
    color: #563acc;
}
.flex-row {
    display: flex;
    justify-content: space-evenly;
    width: 100%;
    margin-bottom: 1em;
}
.flex-row > input[type=text],
.flex-row > textarea {
    flex-grow: 1;
    font-family: sans-serif;
}
.header {
    margin-bottom: 20px;
    min-height: 81px;
}
.header-text {
    align-self: center;
    margin-left: 10px;
    text-align: center;
}
.subhead {
    font-size: 0.8em;
}
.footer {
    font-size: 0.8em;
    display: flex;
    justify-content: space-evenly;
    margin-top: auto;
}
button,
input,
label,
textarea {
    font-size: 18px;
}
label {
    font-weight: 700;
}
button,
input[type=submit] {
    background-color: #6364ff;
    border: 0;
    border-radius: 5px;
    color: #fff;
    font-size: 21px;
    font-weight: 700;
    height: 2.5em;
    width: 180px;
}
button:disabled,
button:hover,
input[type=submit]:hover {
    background-color: #563acc;
    cursor: pointer;
}
@media (prefers-color-scheme:light) {
    body {
        background-color: #f8f8f8;
        color: #222;
    }
}
@media (prefers-color-scheme:dark) {
    body {
        background-color: #101018;
        color: #eee;
    }
}
.noscript-box {
    animation-duration: 6s;
    animation-iteration-count: infinite;
    animation-name: rotate;
    animation-timing-function: linear;
    border-radius: 10px;
    border-style: solid;
    border-width: 2px;
    margin-top: 20px;
}
@media (prefers-reduced-motion) {
    .noscript-box {
        animation-play-state: paused;
    }
}
@keyframes rotate {
    0% {
        border-color: rgb(238.64,138.91,170.89);
    }
    10% {
        border-color: rgb(242.47,143.95,117.26);
    }
    20% {
        border-color: rgb(223.2,160.17,74.49);
    }
    30% {
        border-color: rgb(182.08,179.97,76.24);
    }
    40% {
        border-color: rgb(122.53,194.98,121.88);
    }
    50% {
        border-color: rgb(48.56,199.9,177.22);
    }
    60% {
        border-color: rgb(40.34,193.47,224.88);
    }
    70% {
        border-color: rgb(112.33,178.53,251.6);
    }
    80% {
        border-color: rgb(170.49,160.76,249.36);
    }
    90% {
        border-color: rgb(213.5,145.91,219.28);
    }
    100% {
        border-color: rgb(238.64,138.91,170.89);
    }
}
