.toc {
    position: fixed;
    top: 1em;
    margin-left: -28%;
    width: 26%;
    border: 1px solid var(--text-color);
    padding: 10px;
    padding-top: 1.4em;
    overflow: visible;
}
.toc-scroll {
    overflow-y: auto;
    max-height: 90vh;
    line-height: 25px;
    word-break: break-all;
}

/* CALLOUT */
.callout {
    font-style: italic;
    border: 3px outset var(--text-color);
    margin-left: 3ch;
    position: relative;
    padding-top: 1.4em;
    margin-top: 1.5em;
}
.callout p {
    padding-left: 0;
}
.callout .box-title {
    font-style: normal;
    left: 0.7em;
    transform: translateY(-50%);
}
.callout h4 {
    display: inline-block;
    font-size: 25px;
}
.callout .source {
    text-align: right;
    margin-top: 5px;
}

.callout_empty {
    font-style: italic;
    border: 3px outset var(--text-color);
    margin-left: 3ch;
    margin-top: 1.5em;
}
.callout_empty p {
    padding-left: 0;
}
/* --- */


/* Use "body X" prefix (specificity 0,0,2) to reliably beat night_mode.css
   and styling.css element rules (specificity 0,0,1), regardless of load order. */

body p {
    padding-left: 3ch;
    padding-bottom: 3px;
    margin: 5px;
}

body b {
    color: var(--bold_color);
}

.tldr {
    border-style: double;
    border-width: 5px;
    position: relative;
    padding-top: 1.4em;
    margin-top: 1.5em;
    margin-bottom: 1em;
}

html body {
    margin-left: 30%;
    margin-right: 5%;
}

body h2, body h3 {
    text-align: left;
}
.subtitle {
    text-align: center;
    margin-bottom: 1ch;
}

body h2 a, body h3 a, body h4 a {
    padding-right: 20px;
    background: transparent url(../img/icon/link.png) no-repeat right;
    background-size: 15px 15px;
    color: var(--text-color);
}
body h2 a:hover, body h3 a:hover, body h4 a:hover {
    color: var(--link-color);
}

body h4 {
    text-align: left;
    margin-left: 3ch;
}


body hr {
    border-width: 1px 1px 0;
    border-style: double;
    width: 30%;
    margin-bottom: 30px;
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
}

body ul {
    padding-left: 5ch;
    text-align: left;
    list-style-type: disc;
}


/* Gallery / image caption container */
.center-padding {
    padding: 13px;
}

/* Mobile styles */
@media only screen and (max-width: 950px) {
    html body {
        margin-left: 2%;
        margin-right: 2%;
    }
    .toc {
        position: relative;
        margin: 1.5em auto 0;
        width: 96%;
        border: 1px solid var(--text-color);
        padding: 10px;
        padding-top: 1.4em;
    }
    .toc-scroll {
        line-height: 25px;
        word-break: break-all;
    }
}
