body {
    font-family: Inter, -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
    line-height: 1.6;
    background-color: rgb(243, 244, 246);
}

h1 {
    font-family: 'Bebas Neue', -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial, sans-serif;
    margin: 0;
    font-weight: normal;
    font-size: 47px;
    line-height: 1em;
}

h2 {
    font-family: 'Bebas Neue', -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial, sans-serif;
    font-weight: normal;
    text-align: center;
    font-size: 2.3em;
}

h3 {
    font-weight: bold;
    text-align: left;
    font-size: 1.5em;
}

h4 {
    font-size: 1.2em;
    font-weight: normal;
}

h4.month {
    cursor: pointer;
}

h4.month span {
    color: #555;
}

a {
    color: black;
    text-decoration: none;
}

nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

nav ul li {
    line-height: 1.2em;
    padding: 0;
}

nav a {
    text-decoration: none;
    display: block;
    color: #2A4747;
}

nav a:hover {
    background: white;
    color: black;
}


ul.links {
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

ul.links li {
    flex-shrink: 0;
    padding: 5px;
}

table {
    border-collapse: collapse;
    font-size: 0.9em;
}

table th {
    font-style: italic;
    font-weight: normal;
    padding: 0 0 5px 0;
}

table tr td {
    border: 1px solid rgba(27, 31, 35, 0.15);
    padding: 10px;
}

table tr td a {
    display: block;
    margin: -10px;
    padding: 10px;
}

table tr:nth-child(even) {
    background:  rgb(243, 244, 246);
}

#main {
    background: white;
    border-radius: 5px;
    padding: 20px;
    border: 1px solid rgba(27, 31, 35, 0.15);
}

#main a {
    text-decoration: underline;
    color: #306865;
}

#main a:hover {
    opacity: 0.7;
}

#main p:first-child {
    margin-top: 0;
}

.display-img {
    width: 100%;
    display: block;
    max-width: 550px;
    margin: 10px auto 5px auto;
}
.caption {
    margin-top: 0;
    font-size: 0.9em;
    color: gray;
    text-align: center;
}
#main .caption a {
    color: gray;
}

/* CSS to put the header on top */
@media all and (max-width: 819px) {
    h1 {
        text-align: center;
    }
    nav {
        margin: 10px;
    }
    nav ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    nav ul li {
        flex-shrink: 0;
    }
    nav a {
        padding: 5px 10px;
    }
}

/* CSS to put header on the side */
@media all and (min-width: 820px) {
    #page {
        display: flex;
    }
    h1 {
        text-align: left;
        /* word-spacing forces each word to be on a different line */
        word-spacing: 100px;
    }
    nav ul li {
        /*
        We shift the box left by 5px so that the link text is flush with the `h1`, compensating
        for the 5px padding on the enclosing `a` element set below.
        We also put a gap between the link and the main page.
        */
        margin: 0 10px 0 -5px;
    }
    nav a {
        padding: 8px 5px;
    }
}

/* The following 3 blocks set the page width based on the browser width */
@media all and (min-width: 0px) and (max-width: 669px) {
    #page {
        /* essentially width: 100% */
        margin: 30px 10px;
    }
}

@media all and (min-width: 670px) and (max-width: 819px) {
    #page {
        width: 630px;
        margin: 30px auto;
    }
}

@media all and (min-width: 820px) {
    #page {
        width: 780px;
        margin: 30px auto;
    }
    #main {
        flex: 0 0 590px;
    }
}

.block {
    padding: 20px;
}