body {
    font-family: Arial, Helvetica, sans-serif;
}

/* fit content on small-res phones held upright */
@media screen and (max-width: 400px) {
    body {
        margin: auto 0;
    }
}

/* fit content on small-res phones and tablets */
@media screen and (max-width: 767px) {
    p, th, td {
        font-size: 9pt;
    }
}

/* handle larger tablets and regular screens */
@media screen and (min-width: 768px) {
    body {
        font-size: 12pt;
    }

    p {
        font-size: 11pt;
    }
}

h1 {
    text-align: center;
}

p {
    width: 60ch;
    max-width: 98vw;

    margin: 1rem auto;
    line-height: 1.5rem;
}

li {
    line-height: 1.4rem;
}

a {
    color: steelblue;
}

table {
    margin: auto;
    border-collapse: collapse;
}

thead th {
    top: 0;
    position: sticky;
    position: -webkit-sticky;

    color: white;
    background-color: #555;
}

th, td {
    padding: 0.5rem;
    line-height: 1.5rem;
}

td {
    border-bottom: solid thin #ddd;
}

tr:nth-child(2n) td {
    background-color: #eee;
}
