@import url("bootstrap-sphinx.css");

:root {
    --bg-color: #ffffff;
    --fg-color: #000000;
    --nv-color: #333333;
    --hv-color: #eeeeee;
    --sb-color: #f7f5fa;
    --dt-color: #f3f3fb;
    --alert-info: #5bc0de;
    --admonition-a: #555555;
    --a-color: #008cba;
    --highlighted: #fbe54e;
}

@media (prefers-color-scheme: dark) {
    :root {
        --bg-color: #222222;
        --fg-color: #eeeeee;
        --nv-color: #dddddd;
        --hv-color: #333333;
        --sb-color: #3f3f3f;
        --dt-color: #111111;
        --alert-info: #1e7bb3;
        --admonition-a: #bbbbbb;
        --a-color: #2ec5f6;
        --highlighted: #80731e;
    }

    /* math */

    img.math {
        -webkit-filter: invert(100%);
        filter: invert(100%);
    }

    div.math img {
        -webkit-filter: invert(100%);
        filter: invert(100%);
    }

    div.highlight {
        -webkit-filter: invert(100%) hue-rotate(180deg);
        filter: invert(100%) hue-rotate(180deg);
    }

    code {
        -webkit-filter: invert(100%) hue-rotate(180deg);
        filter: invert(100%) hue-rotate(180deg);
    }

    code span.pre {
        -webkit-filter: hue-rotate(180deg);
        filter: hue-rotate(180deg);
    }
}

@media (prefers-color-scheme: no-preference) {
    :root {
        --bg-color: #ffffff;
        --fg-color: #000000;
        --nv-color: #333333;
        --hv-color: #eeeeee;
        --sb-color: #f7f5fa;
        --dt-color: #f3f3fb;
        --alert-info: #5bc0de;
        --admonition-a: #555555;
        --a-color: #008cba;
    }
}

body {
    color: var(--fg-color) !important;
    background-color: var(--bg-color) !important;
}


a.headerlink {
    visibility: hidden;
}

code.descclassname, code.descname {
    font-size: 110%;
}

/*
Left navbar
*/

#sidebar {
    border: solid 1px #cccccc;
    background-color: var(--sb-color);
}

.bs-sidenav {
    text-shadow: 0 1px 0 var(--bg-color);
}

.bs-sidenav .nav > li > a {
    color: var(--nv-color) !important;
}

nav > li > a:hover, .nav > li > a:focus {
    background-color: var(--hv-color) !important;
}

nav > li > a:hover, .nav > li > a:hover {
    background-color: var(--hv-color) !important;
}

div.col-md-3 {
    text-align: center;
}

div.col-md-3 p.caption {
    padding: 0;
    margin: 1ex 0 0.5ex 0;
}

p.toctitle {
    padding-left: 0;
    font-weight: bold;
    font-size: 150%;
    font-variant: small-caps;
}

p.caption {
    padding: 0 0 0 1em;
    margin: 1ex 0 0.5ex 0;
    font-weight: bold;
}

ul.globaltoc {
    font-size: 120%;
    padding: 0;
    margin: 0;
}

ul.simple p {
    margin-bottom: 0;
}

img.logo {
    margin: 1ex 0 1em 0;
    width: 150px;
    height: auto;
}


/*
Documentation functions
*/

a {
    color: var(--a-color);
    text-decoration: none;
}

table {
    font-size: 100%;
}

dl {
    margin: 0;
    padding: 0;
}

dl dd {
    margin-left: 30px;
}

dl.function, dl.class, dl.exception {
    padding-top: 0;
    clear: both;
    margin: 1em 0 1ex 0;
}

dl.function, dl.exception {
    border-top: 3px solid #cccccc;
    border-radius: 3px;
}

dl.class {
    border-top: 3px solid #729fcf;
    border-radius: 3px;
}

dl.function dt, dl.class dt, dl.exception dt {
    margin-bottom: 1ex;
    padding: 0.5ex 1ex 0.5ex 1ex;
    border-radius: 3px;
}

dl.function dt, dl.exception dt {
    background-color: var(--sb-color);
}

dl.class dt {
    background-color: var(--dt-color);
    border-radius: 3px;
}

dl.field-list dt, dl.simple dt {
    background-color: var(--bg-color);
}

dt.field-odd, dt.field-even {
    background-color: var(--bg-color);
}

table.longtable {
    font-size: 100%;
}

.admonition {
    font-size: 100%;
}

dl.citation dt.label {
    background-color: none;
    margin-right: 5px;
    color: var(--fg-color);
}

a.fn-backref {
    color: #000000;
}

table.citation {
    border-left: none;
    font-size: 100%;
}

table.citation td.label {
    font-size: 100%;
    display: block;
    line-height: normal;
    padding: none;
    vertical-align: baseline;
    border: none;
    color: #000000;
}

.citation td {
    width: 100%;
}

.admonition a {
    color: var(--admonition-a);
}

a.fn-backref {
    color: var(--fg-color);
}

dt:target, span.highlighted {
    background-color: var(--highlighted);
}

.alert-info {
    background-color: var(--alert-info) !important;
}

.form-control {
    background-color: var(--bg-color) !important;
}


/*
Sphinx gallery image size
*/

.sphx-glr-thumbcontainer {
    min-height: 330px !important;
    margin-bottom: 10px !important;
    background: var(--bg-color) !important;
    border-color: var(--admonition-a) !important;
}

.sphx-glr-thumbcontainer .figure {
    width: 320px !important;
}

.sphx-glr-thumbcontainer img {
    max-height: 300px !important;
    width: 300px !important;
    max-width: 300px !important;
}

.sphx-glr-thumbcontainer a.internal {
    padding: 310px 10px 0 !important;
}

div.sphx-glr-download a {
    background-color: var(--bg-color) !important;
    border-color: #aaaaaa !important;
    background-image: linear-gradient(to bottom, var(--bg-color), var(--sb-color)) !important;
}

div.sphx-glr-download a:hover {
    background-image: linear-gradient(to top, var(--sb-color), var(--sb-color)) !important;
}
