body {
    color: #040109;
    margin: 0 auto;
    font-family: "adobe-garamond-pro", "Garamond", serif;
}

.jpn {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 1rem;
}

body img {
    max-width: 100%;
    width: auto;
}

.fit-width {
    width: 100%;
    margin: 4em auto;
}
.fit-width img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    max-height: 90vh;
}
figcaption {
    margin: 1em auto;
    text-align: center;
    max-width: 90%;
}

/**
 * Margins
 */

main h1 {
    width: 90%;
}
main p, main li, main h2, main h3, main h4 {
    width: 90%;
    max-width: 680px;
}
main pre {
    width: 95%;
    max-width: 680px;
    padding: 10px;
}

main p, main li {
    margin: 1em auto;
}

main h1 {
    margin: 2em auto;
}
main h2, main h3, main h4 {
    margin: 2em auto 1em auto;
}

main pre {
    margin: 1em auto;
    overflow: scroll;
}

blockquote {
    margin-left: 5rem;
}

/**
 * Font size
 */

p, li {
    font-size: 1.2em;
    line-height: 1.6em;
}

h1 {
    font-size: 3em;
}

@media (max-width: 800px) {
    main h1 {
        font-size: 2em;
    }
}

main pre {
    font-size: 1.2em;
}
main p > code {
    overflow-wrap: break-word;
}

/**
 * Font layout
 */

main h1, .pretitle, .onlytitle {
    text-align: center;
}

/**
 * Colours
 */

main a:link {
    color: #324050;
}
main a:visited {
    color: #44576F;
}
main a:active {
    color: #4141BF;
}
main pre {
    background-color: #040109;
    color: #FFF;
}

/**
 * Custom elements
 */

.update {
    background-color: #D7DFE7;
    padding: 10px 0;
}

.date {
    font-style: italic;
    text-align: center;
}

/**
 * Global
 */

.site-header {
    text-align: center;
    background-color: #FCDBD3;
}
    .site-title {
        margin: 0;
        font-size: 2.5em;
    }
    p.site-title {
        font-weight: bold;
    }
    h1.site-title {
        padding: 25px;
        display: block;
    }
    .site-title a {
        color: #040109;
        text-decoration: none;
        display: block;
        padding: 25px;
    }

.site-footer {
    text-align: center;
    margin: 3em auto;
}
    .site-footer time {
        font-variant: small-caps;
    }
    .site-footer a {
        color: #324050;
    }

.light-list {
    list-style: none;
    padding: 0;
}
    .light-list time {
        color: #51565E;
        font-variant: small-caps;
    }
