@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,200..800;1,6..72,200..800&display=swap');

body {
    font-family: 'Newsreader', serif;
}

/* --------- headings --------- */

h1, h2, h3, h4, h5, h6 {font-family: 'Newsreader', serif;}

h1 {font-size: 2rem;}

h2 {
    font-weight: 700;
    font-size: 1.75rem;
}

.content h2+* {margin-top: 2rem;}

h3 {
    font-weight: 400;
    font-size: 1.75rem;
}

/* --------- left and right TOCs --------- */

.sidebar-drawer, .toc-drawer, .sidebar-search {}

.sidebar-drawer {
    width: calc(50% - 28em);
    min-width: 13em;
    justify-content: space-around;

}

.sidebar-container, .toc-drawer {
    width: 12em;
}

div.sidebar-tree .toctree-l1.current-page>.reference {}
div.sidebar-tree .toctree-l1>.reference {}
div.sidebar-tree .toctree-l1>.reference:hover {}
div.sidebar-tree .toctree-l1:first-child>.reference {}

div.sidebar-tree ul {
    border-bottom: 1px solid black;
    padding: 1em 0;
}

input.sidebar-search {border: none; }

/* --------- in-page TOCs --------- */

.toc-with-header ul li:first-child {font-weight: bold;}


/* --------- asides --------- */

article .sidebar {
    width: 100%;
    position: relative;
    float: none;
    margin: 2em 0;
    background: none; border: none;
}
article aside.sidebar {
    border: 1px solid #999;
    border-left: 2px solid #999;
    border-radius: 0;
}
article .sidebar>* {
    font-size: 90%;
    border: none
}
article .sidebar p.sidebar-title {
    font-weight: 700;
}

/* --------- widths at different breakpoints --------- */



/*  break out content asides and images at 52em */

@media only screen and (min-width: 24em) {
    img.floated {
        width: 50%;
        float: right;
        margin-bottom: 1rem; margin-left: 1rem;
    }
}

@media only screen and (min-width: 52em) {
    .content {
        position: relative;
        padding: 0 1em 0 15em;
        width: 36em;
    }

    article .sidebar,
    h2 {
        position: absolute; left: 0;
        width: 12rem;
        margin: -2rem 2rem 0 1rem;
        padding-top: 2rem;
        padding-right: 0;
        padding-left: 0;
        text-align: right;
        background: none;
    }

    article aside.sidebar {border: none; text-align: left;}
    article .sidebar>*,
    article .sidebar .sidebar-title {padding-left: 0; padding-right: 0;}
    .wider {
        width: 50em; max-width: 50em;
        margin: 2em 0;
        left: -14em;
        position: relative;
    }

    article .sidebar>ol, article .sidebar>ul {text-align: left; padding-left: 1.2rem;}

    h2>.headerlink,
    .sidebar p .headerlink {
        position: absolute; top: 0; right: 0;
    }

    h2 + * {margin-top: 2rem;}
}

/* --------- even more space at 67em --------- */

@media only screen and (min-width: 67em) {
    .content {padding: 0 1em 0 17em;}
    article .sidebar,
    h2 {width: 14rem;}
    .wider {
        width: 52em; max-width: 52em;
        margin: 2em 0;
        left: -16em;
        position: relative;
    }
}

@media only screen and (min-width: 82em) {
    .content {padding: 0 3em 0 17em;}
}


/* --------- misc --------- */

p.rubric {
    text-transform: none;
    font-style: italic;
    font-weight: 400;
    font-size: 110%;
}

hr.docutils {color: black;}

blockquote {}
blockquote.epigraph {
    border-left: none;
    padding: 1em 3em 1em 3em;
}
blockquote p.attribution {padding-left: 3em; font-style: normal;}

figcaption {text-align: right; font-style: italic;}

div.table-wrapper {position: static;} /* a fix to prevent tables *and* their wrappers from having position: relative */

/* --------- tables --------- */

[role=main] div.table-wrapper.container {overflow-x: visible;}
table.docutils {box-shadow: none;}
table.docutils th.head {padding: .5rem 0;}
table.docutils td, table.docutils th {border-right: 1px solid black;}
table.docutils th.stub {text-align: right;}
table.docutils tr:last-child td,
table.docutils tr:last-child th {border-bottom: none;}
table.docutils thead {border-bottom: 1px solid black;}
table.align-default {margin-left: 0; margin-right: 0}
table.wider tr {font-size: 90%;}


/* -------- admonitions -------*/

aside.sidebar .admonition .admonition-title {font-weight: bold;}
aside.sidebar .admonition {padding-left: 8px; padding-right: 8px;}

@media not print body[data-theme=dark]
{}