/* Fixed font sizes for large viewport widths */
body { margin: 9px; }
.very-large-title { font-size: 42px; }
.large-title { font-size: 36px; }
.container, .title, div, a, p { font-size: 21px; }
#header { font-size: 15px; }
#fine-print, .small-a { font-size: 12px; }

.only-if-wide { display: inline; }
.only-if-skinny { display: none; }

/* When viewport width is less than or equal to 600px, use scalable sizes */
@media screen and (max-width: 600px) {
    body { margin: 1.5vw; }
    .very-large-title { font-size: 7vw; }
    .large-title { font-size: 6vw; }
    .container, .title, div, a, p { font-size: 3.5vw; }
    #header { font-size: 2.5vw; }
    #fine-print, .small-a { font-size: 2vw; }
    .only-if-wide { display: none; }
    .only-if-skinny { display: inline; }
}

/* When viewport width is greater than or equal to 878px, limit line width. */
@media screen and (min-width: 878px) {
    .container, #header, hr {
        width: 849px;
    }
    hr { margin: 0.5em 0; }
}

#header {
    padding: 2em 2em 3em;
}
.container {
    padding: 1em 0 1.5em 0.5em;
}
#header {
    display: grid;
    grid-template-columns: 12em 30em;
}
img {
    width: 12em;
    border-radius: 50%;
    padding: 1em 0;
}
#header-right {
    display: inline-grid;
    grid-template-columns: auto;
    padding: 0 0 0 0.4em;
}
.very-large-title {
    padding: 0.25em 0 0 0.25em;
    color:  #333333;
}
.large-title {
    padding: 0 0 0 0.3em;
    color:  #333333;
}
.title {
    padding:  0 0.5em;
    color: #646464;
}

.small-vertical-spacing {
    padding: 0.5em;
}

.title a, .large-title a {
    font-size:  inherit;
    font-family: serif;
    color: inherit;
}

div {
    padding: 0.5em 0 0.5em 1em;
    line-height: 1.4em;
}

ul {
    margin: 0;
    padding: 0.25em 0.05em 0 1.5em;
}

li {
    padding: 0.25em 0.05em 0 0.2em;
}

a {
    font-family: sans-serif;
    text-decoration: none;
    color: royalblue;
}

a:hover {
    background-color: lightgray;
}

.small-a {
    color: #c0c0c0;
}

hr {
    color: #eeeeee;
}

p {
    font-family: serif;
    color: inherit;
    line-height: 1.6em;
    padding: 0 0 0 1em;
}

#fine-print {
    width: 92vw;
    color: #c0c0c0;
    padding-left: 2.86em;
    padding-bottom: 2em;
}
