body {
    background-color: #fafafa;
    color: #404040;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    margin-top: 0;
}

#content {
    max-width: 625px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 13px;
    padding-bottom: 13px;
}

@media screen and (min-width:600px) {
    #content {
        width: 90%;
        padding-left: 26px;
        padding-right: 26px;
    }
    body {
        font-size: 18px;
    }
    p, li {
        line-height: 28px;
    }
    blockquote p, blockquote li {
        line-height: 24px;
        font-size: 17px;
    }
    .comment, .comment p, p.comment_explainer {
        font-size: 16px;
        line-height: 23px;
    }
}

@media screen and (max-width:599px) {
    #content {
        width: 98%;
        padding-left: 4px;
        padding-right: 4px;
    }
    body {
        font-size: 16px;
    }
    p, li {
        line-height: 23px;
    }
    blockquote p, blockquote li {
        line-height: 20px;
        font-size: 15px;
    }
    .comment, .comment p, p.comment_explainer {
        font-size: 14px;
        line-height: 19px;
    }
    table {
        /* has to be smaller so it doesn't widen the page on a phone */
        font-size: 12px;
    }
    td sup {
        font-size: 9px;
        line-height: 9px;
    }
}

table {
  /* extra guard against widening page on a phone */
  max-width: 100%;
}

#homelink a {
    font-weight: normal;
}

#homelink {
    padding: 5px;
}

h1 {
    font-size: 42px;
    line-height: 52px;
    margin-top: 13px;
    margin-bottom: 26px;
    color: #74942e;
}

h2, header > p {
    font-size: 29px;
    color: #8f6b57;
}

h3 {
    font-size: 20px;
    color: #74942e;
}

/* subheading */
header > p {
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    margin-top: 0;
    margin-bottom: 26px;
    color: #869466;
}

/* header with subheading */
header > h1 {
    margin-bottom: 0;
}

pre {
    margin: 13px 0 18px 18px;
    max-width: 90%;
    overflow: auto;
}

code {
    font-family: 'Ubuntu Mono', monospace;
    font-size: 16px;
}

blockquote {
    width: 92%;
    margin: 0 auto;
    padding: 0 2%;
    border-left: 2px solid #2c4d41;
}

a {
    color: #61968d;
    text-decoration: none;
    font-weight: bold;
}

a:visited {
    color: #4f7787;
}

a:hover {
    color: #82aea7;
}

#content img, #content video {
    max-width: 100%;
}

ul > li {
    list-style-type: circle;
}

.footnotes {
    font-size: 14px;
    margin-top: 37px;
    border-top: 1px solid #8baf86;
}

.footnotes p, .footnotes li {
    line-height: 19px;
}

sup {
    font-size: 12px;
    line-height: 10px;
    margin-top: 0;
}

#article-footer, #comments {
    border-top: 1px solid #8baf86;
}

.footnotes + #article-footer {
    margin-top: 36px;
}

#article-footer p {
    margin-top: 13px;
}

figure {
    width: 100%;
    margin: 0 0 20px 0;
}

#content video {
    display: block;
    margin: 0 auto 20px;
}

figcaption {
    font-size: 14px;
    font-style: italic;
}

td, th {
    border-left: 1px solid #8baf86;
}

td:last-child, th:last-child {
    border-right: 1px solid #8baf86;
}

td, th {
    border-top: 1px solid #8baf86;
    padding: 2px;
}

tr:last-child > td {
    border-bottom: 1px solid #8baf86;
}

.license {
    display: flex;
    flex-direction: row;
    font-size: 14px;
    line-height: 19px;
    align-items: center;
}

.license > a {
    display: block;
    flex-shrink: 0;
}

.license-text {
    display: block;
    margin-left: 16px;
}

.comment {
    padding: 4px 10px;
}

.comment-author {
    padding-top: 0.5rem;
    display: flex;
}

.comment-author-info {
    display: flex;
    flex-direction: column;
}

.comment-avatar {
    width: 3rem;
    border-radius: 50%;
    margin-right: 1rem;
}

.comment-body {
    padding-left: 4rem;
    display: inline-block;
}

.comment-display {
    color: #455460;
    font-weight: bold;
}

button {
    font-family: inherit;
    font-size: 16px;
}
