:root {
    --white: #eff1f5;
    --white-light: rgba(239, 241, 245, 0.3);
    
    --mantle-light: rgba(230, 233, 239, 0.3);
    --green: #40a02b;
    --green-light: rgba(64, 160, 43, 0.1);
    --lavender: #7287fd;
    --lavender-light: rgba(114, 135, 253, 0.1);
    --blue: #1e66f5;
    --blue-light: rgba(30, 102, 245, 0.1);
    --red: #d20f39;
    --red-light: rgba(210, 15, 57, 0.1);
    --yellow: #df8e1d;
    --yellow-light: rgba(223, 142, 29, 0.1);
    --peach: #fe640b;
    --peach-light: rgba(254, 100, 11, 0.1);
    --mauve: #8839ef;
    --mauve-light: rgba(136, 57, 239, 0.1);
    --gray: #4c4f69;
    --gray-light: rgba(76, 79, 105, 0.1);
    --teal: #179299;
    --teal-light: rgba(23, 146, 153, 0.1);
    --maroon: #e64553;
    --maroon-light: rgba(230, 69, 83, 0.1);
    --flamingo: #dd7878;
    --flamingo-light: rgba(220, 138, 120, 0.1);
}

body {
    background: var(--white-light);
}

div.body p {
    hyphens: none;
}

div.documentwrapper, div.sphinxsidebar, div.bodywrapper {
    float: none;
    margin: 0;
    padding: 0;
}
div.sphinxsidebar{
    position: unset;
    flex: 1;
    overflow: unset;
}
div.documentwrapper {
    flex: 4;
    max-width: 940px;
}
div.sphinxsidebarwrapper{
    position: sticky;
    height: 100vh;
    display: flex;
    flex-direction: column;
    top: 0;
    padding: 0;
    border-right: 1px solid var(--gray-light);
}

div.sphinxsidebarwrapper > ul{
    flex-grow: 1;
    flex-shrink: 1;
    overflow: auto;
    scroll-behavior: smooth;
}
div.sphinxsidebarwrapper p.logo {
    margin: 10px 0;
}

div.document {
    display: flex; 
}

div.body{
    background: transparent;
    max-width: 1100px;
}

div.clearer{
    clear: none;
    display: none;
}

div.sphinxsidebar p {
    margin: 0;
}

:target > h2:first-of-type{
    background-color: var(--yellow-light);
}

div.sphinxsidebar ul ul, div.sphinxsidebar ul.want-points{
    list-style: none;
}

div.sphinxsidebar ul li a{
    border: none;
    display: block;
    padding: 5px 3px;
}
div.sphinxsidebar ul .toctree-l1:has(ul) > a::after{
    content: "\E707";
    float: right;
    top: 0;
    font-family: "microns";
}
div.sphinxsidebar ul .toctree-l1{
    margin: 5px 0;
    cursor: pointer;
}
div.sphinxsidebar ul li a:hover, div.sphinxsidebar ul li a.current{
    background-color: var(--white);
    border: none;
}
div.sphinxsidebar ul li a.current {
    font-weight: bold;
}

div.sphinxsidebar h3 {
    border-top: 1px solid var(--gray-light);
    border-bottom: 1px solid var(--gray-light);
}

blockquote{
    border-left: 4px solid var(--gray-light);
    padding: .5rem 1rem;
    margin: 0;
}

blockquote .attribution{
    font-weight: bold;
    text-align: right;
}

div.admonition p.admonition-title{
    display: block;
    border-bottom: 1px solid var(--gray);
    margin: -10px -15px 10px -15px;
    padding: 10px 15px;
}

p.admonition-title::after{
    content: none;
}

div.admonition{
    border-color: var(--mauve);
    background: transparent;
    padding-left: 15px;
    padding-right: 15px;
}
div.hint, div.tip{
    border-color: var(--green);
}
div.seealso{
    border-color: var(--lavender);
}
div.warning{
    border-color: var(--peach);
}

div.todo, div.admonition-todo{
    border-color: var(--gray);
}

div.note{
    border-color: var(--blue);
}
div.important{
    border-color: var(--teal);
}
div.attention, div.danger{
    border-color: var(--red);
    box-shadow: none;  
}

p.admonition-title::before, div.code-block-caption .caption-text::before, .o-tooltip--left::before{
    margin-right: 5px;
    font-family: "microns";
}

div.code-block-caption .caption-text::before{
    content: "\E74F";
}

div.admonition > p.admonition-title::before{
    content: "\E71E";
    color: var(--mauve);
}

div.admonition > p.admonition-title{
    border-color: var(--mauve);
    background-color: var(--mauve-light);
}

div.hint > p.admonition-title::before, div.tip > p.admonition-title::before{
    content: "\E780";
    color: var(--green);
}

div.hint > p.admonition-title, div.tip > p.admonition-title {
    background-color: var(--green-light);
    border-color: var(--green);
}

div.seealso > p.admonition-title::before{
    content: "\E780";
    color: var(--lavender);
}

div.seealso > p.admonition-title{
    border-color: var(--lavender);
    background-color: var(--lavender-light);
}

div.warning > p.admonition-title::before{
    content: "\E75A";
    color: var(--peach);
}

div.warning > p.admonition-title {
    border-color: var(--peach);
    background-color: var(--peach-light);
}

div.todo > p.admonition-title::before, div.admonition-todo > p.admonition-title::before{
    content: "\E731";
    color: var(--gray);
}

div.todo > p.admonition-title, div.admonition-todo > p.admonition-title{
    border-color: var(--gray);
    background-color: var(--gray-light);
}

div.note > p.admonition-title::before{
    content: "\E759";
    color: var(--blue);
}

div.note > p.admonition-title{
    border-color: var(--blue);
    background-color: var(--blue-light);
}

div.important > p.admonition-title::before{
    content: "\E75A";
    color: var(--teal);
}

div.important > p.admonition-title{
    border-color: var(--teal);
    background-color: var(--teal-light);
}

div.attention > p.admonition-title::before, div.danger > p.admonition-title::before{
    content: "\E75A";
    color: var(--red);
}

div.attention > p.admonition-title, div.danger > p.admonition-title{
    border-color: var(--red);
    background-color: var(--red-light);
}

div.danger > p.admonition-title::before{
    content: "\E75C";
}

div.admonition-definition > p.admonition-title::before{
    content: "\E780";
}

table.docutils{
    table-layout: auto;
    max-width: 100%;
    width: 100%;
}
table.docutils td, table.docutils th{
    border-color: var(--gray);
}
table.docutils thead{
    background-color: var(--white-light);
}

table.docutils tbody tr:nth-child(even){
    background-color: var(--mantle-light);
}

.o-tooltip--left svg{
    display: none;
}

.o-tooltip--left::before{
    content: "\E78A";
    font-size: 1rem;
    margin-left: 2px;
}

pre {
    background: unset;
}

div.highlight {
    background-color: #FAF3E8;
}

@media screen and (min-width: 1200px){
    div.document {
        width: 1200px;
    }
}

@media screen and (max-width: 940px) {
    div.sphinxsidebar p.logo {
        display: block;
    }
    
    body {
        padding: 0;
    }
    
    div.document {
        display: block;
    }
}