
html {
    font-size: 16px;

    --image-width: 256px;
    --image-padding: 4px;
    --num-images: 3;
    --body-width: 40rem;

    --accent-color: #689CD2;
    --gray-color: #f0f0f0;
}

body {
    width: 100%;
    margin-top: 0;

    font-size: 18px;
    line-height: 1.3;
    font-family: "Crimson Pro", serif;
}

header {
    max-width: var(--body-width);
    margin: 1em auto;
    padding: 0.5em 2rem;

    background-color: var(--gray-color);
    border-radius: 4px;
}

header span {
    display: inline-block;
}

.date {
    text-align: right;
    float: right;
}

h1 {
    font-size: 2em;
    /* TODO: Set explicit margin-top and -bottom instead of default */
    margin-left: auto;
    margin-right: auto;
}

h2 {
    margin-top: 2em;
    margin-bottom: 1em;
    margin-left: auto;
    margin-right: auto;

    font-variant: small-caps;
    font-size: 1em;
}

h1, h2 {
    max-width: var(--body-width);
    padding: 0 2rem;
    font-weight: normal;
    text-align: center;
    letter-spacing: 4px;
}

.article-blurb {
    max-width: calc(0.9 * var(--body-width));
    text-align: center;
    font-style: italic;
}

figure {
    width: fit-content;
}

.gallery {
    margin: 1rem auto;
    margin-top: 2rem;
    text-align: center;
}

.gallery div {
    /*width: max-content;*/
    padding: 0;
    margin: 0 auto;
    text-align: center;
}

.gallery a {
    padding: 0;
    margin: var(--image-padding);
    display: inline-block;
}

.gallery img {
    width: var(--image-width);
    height: calc(9/16 * var(--image-width));
    padding: 0;
    margin: 0;

    /* display: block so that the parent a-tag does not extend below the image */
    display: block;
}

figcaption {
    font-style: italic;
    text-align: justify;
}

p {
    max-width: var(--body-width);
    margin: 1rem auto;
    padding: 0 2rem;
    text-align: justify;
}

p code {
    padding: 0.25em;
    background-color: var(--gray-color);
    font-size: 80%;
    font-family: monospace;
}

pre {
    max-width: 100%;
    width: fit-content;
    overflow: auto;

    margin: 1rem auto;

    background-color: var(--gray-color);

    /* Add borders around the code, add transparent border on the right side
     * so that it is properly centered.
     */
    border-top:    4px solid transparent;
    border-right:  4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left:   4px solid var(--accent-color);
    border-radius: 4px;

    font-size: 75%;
    font-family: "Noto Sans Mono", monospace;
}

pre code {
    /* Remove 4px of padding since .code adds 4px of border */
    padding: 0 calc(2rem - 4px);
    margin: 1rem auto;
    display: block;
}

ul {
    max-width: var(--body-width);
    margin: 0 auto;
    padding: 0 2rem;
}

li {
    margin: 0.5em auto;
    color: var(--accent-color);
    list-style: none;
}

.sc {
    font-variant: small-caps;
}
