@font-face {
    font-family: "director";
    src:
        url("fonts/Director-Regular.woff2") format('woff2'),
        url("fonts/Director-Regular.woff") format('woff');
}

@font-face {
    font-family: "director";
    src:
        url("fonts/Director-Bold.woff2") format('woff2'),
        url("fonts/Director-Bold.woff") format('woff');
    font-weight: bold;
}

@font-face {
    font-family: "director";
    src:
        url("fonts/Director-Light.woff2") format('woff2'),
        url("fonts/Director-Light.woff") format('woff');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: "director";
    src:
        url("fonts/Director-Variable.woff2") format('woff2'),
        url("fonts/Director-Variable.woff") format('woff');
    font-style: italic;
}

body {
    background-color: #014c97;
    background-image: url("back.jpeg");
    color: black;
    font-family: director, serif;
    overflow-wrap: break-word;
    word-wrap: break-word;
    -ms-word-break: break-word;
    word-break: break-word;
}

pre {
    white-space: pre-wrap;
    /* Since CSS 2.1 */
    white-space: -moz-pre-wrap;
    /* Mozilla, since 1999 */
    white-space: -pre-wrap;
    /* Opera 4-6 */
    white-space: -o-pre-wrap;
    /* Opera 7 */
    word-wrap: break-word;
    /* Internet Explorer 5.5+ */
    color: black;
}

h2 {
    text-decoration: underline;
}

hr {
    border-top: 3px dashed black;
    width: 65%;
}

.main {
    margin: auto;
    max-width: 816px;
    padding-top: 25px;
    padding-bottom: 8px;
    padding-left: 1em;
    padding-right: 1em;
    display: flex;
    align-items: center;
    flex-direction: column;
    border: 3px dashed black;
    justify-content: space-evenly;
    background-color: #E0C9A6;
}

.toc {
    display: flex;
    width: 40%;
    flex-flow: row wrap;
    flex-direction: column;
    justify-content: flex-start;
}

.notice {
    padding: 1em;
    padding-top: 0.3em;
    border: 3px dashed black;
    text-align: center;
}

.center {
    text-align: center;
}

.links {
    text-align: left;
}

.accent {
    color: #970101;
}

a {
    color: #1d75d4;
    text-decoration: underline;
}

a:hover {
    color: #3b3b6d;
}

a.c:hover {
    color: #3b3b6d;
}

.flash {
    animation: blinker 1s linear infinite;
}

@keyframes blinker {
    50% {
        opacity: 0;
    }
}

.toc-list li>a {
    text-decoration: none;
}

.no-underline {
    text-decoration: none;
}

.letter {
    width: 60%;
    margin: 0 auto;
}

.letter pre {
    font-family: director, serif;
}

.vdesc pre {
    font-family: director, serif;
    font-size: small;
}

@media screen and (max-width: 816px) {
	.main {
        flex-direction: column;
        align-items: center;
        padding: 1em;
	}
    .logo img {
        width: 90%;
        max-width: 100%;
        object-fit: contain;
        display: block;
        margin: auto;
    }
    .notice, .letter, .toc {
        width: 90%;
    }
    .letter {
        text-align: center;
    }
}