@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;500;600;700&display=swap');

pre, tt, code {
    font-family: 'Fira Code', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace !important;
    font-size: 0.9em;
}

a:visited {
    color: #2b79a2;
}

.logo img {
    max-width: 80%;
}

a.reference {
    text-decoration: none;
    border-bottom: none;
}

div.sphinxsidebar a {
    text-decoration: none;
    border-bottom: none;
}

.function, .method, .class, .exception {
    padding-bottom: 15px;
}

a.reference:hover {
    border-bottom: 1px rgb(225, 83, 67);
}

a.headerlink:hover {
    color: #444 !important;
    background: transparent !important;
    text-decoration: none !important;
}

div.body p, div.body dd, div.body li {
    line-height: 1.5;
}

body {
    font-size: 16px;
}

div.note {
    border-radius: 10px;
}

div.warning {
    border-radius: 8px;
}

pre, div[class*="highlight-"] {
    clear: both;
    border-radius: 10px !important;
}

div.highlight pre, table.highlighttable pre {
    margin: 0;
    border-radius: 5px !important;
    padding: 20px !important;
}

.function, .method, .class, .exception {
    padding-bottom: 15px;
}

@media (prefers-color-scheme: dark) {
    body {
        background-color: #121212;
    }

    div.sphinxsidebar p {
        color: #98a3ad;
    }

    div.sphinxsidebar a {
        color: #98a3ad;
        border-bottom: none;
    }

    dt:target, .highlight {
        background: #121212;
    }

    .py, .py-class {
        background: #121212;
    }

    div.sphinxsidebar h3,
    div.sphinxsidebar h4 {
        color: #98a3ad;
    }

    div.sphinxsidebar a:hover {
        border-bottom: none;
        text-decoration: underline;
    }

    div.sphinxsidebar h3 a {
        color: #98a3ad;
    }

    div.sphinxsidebar ul {
        color: #98a3ad;
    }

    div.body {
        background-color: #121212;
        color: #98a3ad;
    }

    div.note {
        background-color: #1a1a1a !important;
        border-radius: 10px;
        border: 1px solid rgba(90, 90, 90, 0.25)
    }

    pre {
        background-color: #1a1a1a !important;
        border-radius: 10px;
    }

    tt, code {
        background-color: #201f1f !important;
        color: #98a3ad;
        border-bottom: none;
        padding: 1px 4px;
        border-radius: 3px;
    }

    #api-reference .reference span.pre {
        background-color: #121212 !important;
    }

    div.highlight {
        background-color: #1a1a1a !important;
        border-radius: 15px;
    }

    div.warning {
        background-color: #1a1a1a !important;
        border-radius: 8px;
        border: 1px solid rgba(90, 90, 90, 0.25);
    }

    #contents li a,
    #api-reference li a,
    #additional-information li a,
    #changelog li a,
    #indices li a {
        color: #98a3ad !important;
    }

    #contents li a:hover,
    #api-reference li a:hover,
    #additional-information li a:hover,
    #changelog li a:hover,
    #indices li a:hover {
        color: #2b79a2 !important;
        text-decoration: underline !important;
    }

    table.docutils {
        border: 1px solid #888;
        -moz-box-shadow: 2px 2px 4px #EEE;
        -webkit-box-shadow: 2px 2px 4px #EEE;
        box-shadow: 0 0 0 #EEE;
    }

    tt.xref, code.xref, a tt {
        background-color: #FBFBFB;
        border-bottom: none;
        padding: 1px 4px;
        border-radius: 3px;
    }

    div.admonition tt.xref, div.admonition code.xref, div.admonition a tt {
        border-bottom: none !important;
    }

    a {
        color: #2b79a2;
        border-bottom: none;
    }

    a:hover {
        color: #2b79a2;
        text-decoration: underline !important;
    }


    a.reference {
        border-bottom: none !important;
    }

    .highlight .go {
        color: #b5b5b5;
    }

    .highlight .nt {
        color: #b392f0;
    }

    .highlight .s1 {
        color: #96d0ff;
    }

    .highlight .s2 {
        color: #96d0ff;
    }

    .highlight .ow {
        color: #6cb6ff;
        font-weight: bold;
    }

    .highlight .o {
        color: #6cb6ff;
    }

    .highlight .nb {
        color: #dcbdfb;
    }

    .highlight .gp {
        color: #6cb6ff;
        font-weight: bold;
    }

    .highlight .kn {
        color: #f47067;
        font-weight: bold;
    }

    .highlight .nn {
        color: #98a3ad;
        font-weight: bold;
    }

    .highlight .nt {
        color: #96d0ff;
    }

    .highlight .k {
        color: #f47067;
    }

    .highlight .mi {
        color: #6cb6ff;
    }

    .highlight .c1 {
        color: #768390;
        font-style: normal;
    }

    button.copybtn {
        cursor: pointer;
    }

    .rst-versions .rst-current-version {
        background-color: #121212 !important;
        border: 1px solid #1a1a1a;
    }

    .highlight .nf {
        color: #dcbdfb;
    }

    .highlight .bp {
        color: #98a3ad;
    }

    .highlight .nc {
        color: #f69d50;
        font-weight: bold;
    }

    .highlight .mf {
        color: #6cb6ff;
    }

    .highlight .nd {
        color: #98a3ad;
        font-weight: normal;
    }

    div.sphinxsidebarwrapper p.logo {
        margin-bottom: 15px;
    }

    div.sphinxsidebar #searchbox input[type="text"] {
        float: left;
        width: 80%;
        padding: 0.25em;
        box-sizing: border-box;
        background: #121212;
    }

    div.sphinxsidebar input {
        border: 1px solid #3E4348;
        color: #98a3ad;
    }

    div.sphinxsidebar #searchbox input[type="submit"] {
        color: #98a3ad;
        background: #121212;
    }

    input[value="Go"] {
        background-color: #121212 !important;
    }

    input[value="Go"]:hover {
        background-color: #2c2f36 !important;
    }

    .highlight .kc {
        color: #f47067 !important;
        font-weight: bold;
    }

    .highlight .ne {
        color: #FF983B;
    }

    a.headerlink:hover {
        color: #98a3ad !important;
        background: transparent !important;
        text-decoration: none !important;
    }

    .highlight .fm {
        color: #4fb8ff !important;
    }
}
