body {
    counter-reset: headers;
}
.content > h2 {
    counter-increment: headers;
}
.content > h2:before {
    content: counter(headers) '. ';
}
.content > h3 {
    margin-top: 2em;
}

figure {
    text-align: center;
}
figure > img {
    max-width: 100%;
}

code[class*="language-"], pre[class*="language-"] {
    white-space: pre-wrap !important;
}

.passage_example h1 {
    margin-top: 0;
}
.passage_example h2 {
    margin-top: 0;
    text-align: center;
}

.language-twine .link {
    color: blue;
}

h4 {
    border: 1px solid #dfdfdf;
    padding: 4px;
    background: #4e7693;
    margin-bottom: -7px;
    margin-left: -2px;
    margin-right: -2px;
    border-top: 0px;
    padding-left: 10px;
    color: white;
}

.tags {
    border: 1px solid #dfdfdf;
    padding: 4px;
    background: #4e7693;
    margin-top: -14px;
    margin-left: -2px;
    margin-right: -2px;
    border-top: 0px;
    padding-left: 10px;
}
.tags span, .twine-tag {
    background-color: var(--col, #dfdfdf);
    padding: 1px 6px;
    border-radius: 5px;
    display: inline-block;
}
.tags span {
    margin-right: 0.5em;
}

aside {
    font-style: italic;
    color: rgba(0,0,0,0.8);
    margin: 0 3em;
    border-left: 3px solid rgba(0,0,0,0.3);
    padding-left: 2em;
}
.note {
    font-style: italic;
}

@media screen and (max-width: 800px) {
    figure {
        margin: 1em;
    }
    aside {
        margin: 0 1em;
        padding-left: 1em;
    }
}