html {
    height: 100%;
    min-height: 100%;
}

body {
    width: 100%;
    max-width: 60%;
    margin: 0 auto;
    height: 100%;
    min-height: 100%;

    display: flex;
    flex-direction: column;
}

body header {
    text-align: center;
    font-family: 'Courier New', Courier, monospace;
    font-size: large;
    margin-bottom: 0.25em;
}

body header h1 a {
    color: inherit;
    text-decoration: none;
}

body header nav {
    text-align: center;
    font-family: 'Courier New', Courier, monospace;
    font-size: large;
}

main {
    font-family: 'Times New Roman', Times, serif;
    flex: 1 0 auto;
}

h1 {
    font-family: 'Courier New', Courier, monospace;
}

h2 {
    font-family: 'Courier New', Courier, monospace;
}

h3 {
    font-family: 'Courier New', Courier, monospace;
}

ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

p {
    line-height: 1.5;
}

article p {
    margin-left: 2%;
}

footer {
    text-align: center;
    color: darkgray;
    font-size: small;
    flex-shrink: 0;
}

@media screen and (max-width: 768px) {
    body {
        width: 96%;
        max-width: 96%;
        margin: 0 auto;
        padding-left: 2%;
        padding-right: 2%;
    }
}