:root {
    /* Increase sidebar width from default 15em to 20em */
    --sidebar-width: 20em;
}

.container {
    width: 100%;
}

.toggle .header {
    display: block;
    clear: both;
    padding-bottom: 1em;
}

.toggle .header:after {
    content: " ▶";
}

.toggle .header.open:after {
    content: " ▼";
}

th.head {
    text-align: left;
}

/*
Fix for horizontal stacking weirdness in the RTD theme with Python properties:
https://github.com/readthedocs/sphinx_rtd_theme/issues/1301
*/
.py.property {
    display: block !important;
}

.sidebar-container {
    width: 100%;
    max-width: var(--sidebar-width);
}

#tocSearchPanel {
    flex:1 1 0;
    width: calc(100% - 4px);
    max-width: calc(var(--sidebar-width) - 4px);
    display: flex;
    position: relative;
    max-height: 32px;
}

#tocSearchPanelInner {
    flex:1 1 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    background-color: var(--color-background-secondary);
    border: 2px solid transparent;
}

#tocSearchResult {
    position: absolute;
    width: calc(100% + 4px);
    max-height: 50vh;
    overflow-y: scroll;
    filter: drop-shadow(2px 2px 4px #30303080);
    z-index: 1000;
    box-sizing: border-box;
    background-color: var(--color-background-primary);
    box-shadow: 0 4px 6px rgba(0,0,0,.1);
}

#txtSearch {
    order: 1;
    flex: 1 1 0;
    border: none;
    outline:none;
    box-sizing: border-box;
    background-color: transparent;
    color: var(--color-content-foreground);
    font-size: 0.875rem;
    line-height: 1.5rem;
    padding: 5px;
}

input:focus {
    border: none;
    outline:none;
}

.search_result_item {
    cursor: pointer;
    user-select: none;
    list-style-type: none;
    padding-left: 20px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.highlighted_search_selection {
    background-color: #FFE0E0;
}

form.sidebar-search-container {
    height: 100%;
    display: none !important;
}

.custom-nav {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.sidebar-search-container {
    padding: 0 !important;
}

.search_panel_unfocused {
    border-color: transparent;
}

.search_panel_focused {
    border: 2px solid var(--color-brand-primary) !important;
}

.search_result_item {
    padding: 0.5rem 1rem;
    color: var(--color-content-foreground);
    font-size: 0.875rem;
}

.search_result_item:hover {
    background-color: var(--color-background-hover);
}

.search_result_item.highlighted_search_selection {
    background-color: var(--color-brand-primary);
    color: var(--color-background-primary);
}

.search_result_item a {
    color: var(--color-sidebar-link-text);
    text-decoration: none;
    display: block;
}

.search_result_item a:hover {
    color: var(--color-sidebar-link-text--hover);
    text-decoration: none;
}

.search_result_item.highlighted_search_selection a,
.search_result_item.highlighted_search_selection a:hover {
    color: var(--color-background-primary);
}

.sidebar-search input[type="text"], .sidebar-search button {
    display: none !important;
}

.highlight {
    background: #F8F8F8;
}

.highlight .bp {
    color: #999999;
}

.highlight .c, .highlight .c1, .highlight .cd, .highlight .ch,
.highlight .cm, .highlight .cp, .highlight .cpf, .highlight .cs {
    color: #148b04;
}

.highlight .dl {
    color: #d14;
}

.highlight .err {
    color: #a61717;
    background-color: #e3d2d2;
}

.highlight .gd {
    color: #000000;
    background-color: #ffdddd;
}

.highlight .ge {
    color: #000000;
    font-style: italic;
}

.highlight .gh {
    color: #999999;
}

.highlight .gi {
    color: #000000;
    background-color: #ddffdd;
}

.highlight .go {
    color: #888888;
}

.highlight .gp {
    color: #555555;
}

.highlight .gu {
    color: #aaaaaa;
}

.highlight .gr, .highlight .gt {
    color: #aa0000;
}

.highlight .k, .highlight .kc, .highlight .kd, .highlight .kn,
.highlight .kp, .highlight .kr, .highlight .kt, .highlight .kv {
    color: #1243d4;
}

.highlight .m, .highlight .mb, .highlight .mf,
.highlight .mi, .highlight .mx {
    color: #7211c2;
}

.highlight .n{
    color: black;
}

.highlight .na,
.highlight .nc,
.highlight .nt {
    color: #11abb9;
}

.highlight .nv {
    color: #008080;
}

.highlight .o,
.highlight .ow {
    color: #000000;
}

.highlight .p {
    color: #000000;
}

.highlight .s, .highlight .s1, .highlight .s2, .highlight .sb,
.highlight .sc, .highlight .sd, .highlight .se, .highlight .sh,
.highlight .si, .highlight .sx {
    color: #d14;
}

.highlight .sa {
    color: #000000;
}

.highlight .sr {
    color: #009926;
}

.highlight .ss {
    color: #990073;
}

.highlight .vc, .highlight .vg, .highlight .vi, .highlight .vm {
    color: #008080;
}

.highlight .w {
    color: #000000;
}

/* Highlighting after clicking a link */
.goto_highlight {
    animation: highlight-fade-in 0.5s ease-in;
    background-color: rgba(255, 255, 128, 0.5);
}

.goto_highlight_fade_out {
    animation: highlight-fade-out 2s ease-out;
}

@keyframes highlight-fade-in {
    from {
        background-color: rgba(255, 255, 0, 0);
    }
    to {
        background-color: rgba(255, 255, 0, 0.2);
    }
}

@keyframes highlight-fade-out {
    from {
        background-color: rgba(255, 255, 0, 0.2);
    }
    to {
        background-color: rgba(255, 255, 0, 0);
    }
}

/* Code block styling */
pre .code_keyword {
    color: #0000FF !important;
}

pre .code_type {
    color: #267F99 !important;
}

pre .code_param {
    color: #808080 !important;
}

pre .code_var {
    /* Use this color until separate dark mode colors are implemented */
    color: #0040B0 !important;
    /* color: #001080 !important; */
}

pre .code_function {
    color: #d14 !important;
}

pre .code_comment {
    color: #148b04 !important;
}

pre .code_string {
    color: #d14 !important;
}

pre .code_number {
    color: #7211c2 !important;
}

pre .code_name, pre .code_operator, pre .code_punctuation {
    color: #000000 !important;
}

/* Code block link styling */
pre a, pre a:link, pre a:visited {
    color: #d14 !important;
    text-decoration: none !important; 
}

pre a.code_type, pre a.code_type:link, pre a.code_type:visited { 
    color: #267F99 !important;
}

pre a.code_param, pre a.code_param:link, pre a.code_param:visited {
    color: #808080 !important;
}

pre a.code_var, pre a.code_var:link, pre a.code_var:visited {
    /* Use this color until separate dark mode colors are implemented */
    color: #0040B0 !important;
    /* color: #001080 !important; */
}

pre a.code_function, pre a.code_function:link, pre a.code_function:visited {
    color: #d14 !important;
}

pre a.code_comment, pre a.code_comment:link, pre a.code_comment:visited {
    color: #148b04 !important;
}

pre a.code_string, pre a.code_string:link, pre a.code_string:visited {
    color: #d14 !important;
}

pre a.code_number, pre a.code_number:link, pre a.code_number:visited {
    color: #7211c2 !important;
}

pre a:hover {
    text-decoration: underline !important;
}

/* User Guide Heading Sizes */
h1 {
    font-size: 2.0em !important;
}

h2 {
    font-size: 1.75em !important;
}

h3 {
    font-size: 1.5em !important;
}

h4 {
    font-size: 1.25em !important;
}

h5 {
    font-size: 1.0em !important;
}

h6 {
    font-size: 0.75em !important;
    font-weight: bold !important;
    color: #555 !important;
}

/* Core Module Reference Heading Sizes */
body.core-module-reference-page h1 {
    font-size: 2.25em !important;
    font-weight: 700 !important;
}

body.core-module-reference-page h2 {
    font-size: 1.5em !important;
    font-weight: 700 !important;
}

body.core-module-reference-page h3 {
    font-size: 1.0em !important;
    font-weight: 700 !important;
}

body.core-module-reference-page h4 {
    font-size: 1.2em !important;
    font-weight: 700 !important;
}
