:root {
    /* ========================================
       CORE BRAND COLORS
       ======================================== */
    --prussian-blue: #1B2538;
    --charcoal-blue: #3D4B62;
    --baltic-blue: #4E6489;
    --cobalt-blue: #4a78ad;
    --link-purple: #503a87;
    --gold: #F3D127;
    --bone: #DCD3C4;
    --white-smoke: #F2F2F2;
    --carbon-black: #202020;
    
    /* ========================================
       PRIMARY THEME COLORS
       ======================================== */
    --primary: var(--prussian-blue);
    --primary-hover: var(--cobalt-blue);
    --primary-alt: var(--charcoal-blue);
    
    /* ========================================
       BACKGROUNDS
       ======================================== */
    --bg-main: var(--white-smoke);
    --bg-sidebar: var(--carbon-black);
    --bg-sidebar-hover: #2a2a2a;
    --bg-sidebar-active: var(--charcoal-blue);
    --bg-disabled: #d4d4d4;
    
    /* ========================================
       TEXT COLORS
       ======================================== */
    --text-black: #000000;
    --text-primary: var(--prussian-blue);
    --text-secondary: #5a5a5a;
    --text-medium: var(--charcoal-blue);
    --text-gray-light: #7a7a7a;
    --text-gray-lighter: #9a9a9a;
    --text-gray-lightest: #aaaaaa;
    --text-gray-disabled: #999999;
    --text-light: #e6e6e6;
    --text-white: #ffffff;
    --text-link: var(--baltic-blue);
    --text-link-hover: var(--cobalt-blue);
    --text-link-visited: var(--link-purple);
    --text-accent: var(--gold);
    
    /* ========================================
       BORDERS
       ======================================== */
    --border-main: #e0e0e0;
    --border-light: #ebebeb;
    --border-medium: #d0d0d0;
    --border-dark: #cccccc;
    --border-darker: #b8b8b8;
    --border-input: #d8d8d8;
    --border-accent: var(--charcoal-blue);
    
    /* ========================================
       ALERTS & STATUS
       ======================================== */
    --alert-info-bg: #cae6ff;
    --alert-info-title: var(--baltic-blue);
    --alert-success-bg: #adffcc;
    --alert-warning-bg: #ffe0b5;
    --alert-danger-bg: #fdbcb6;
    
    --color-success: #27ae60;
    --color-success-hover: #229954;
    --color-success-light: #2ecc71;
    --color-warning: #e67e22;
    --color-warning-hover: #d35400;
    --color-warning-light: #eb984e;
    --color-warning-bright: #f39c12;
    --color-danger: #e74c3c;
    --color-danger-hover: #c0392b;
    --color-danger-light: #ec7063;
    
    /* ========================================
       UI & EFFECTS
       ======================================== */
    --ui-gray: #707070;
    --highlight-mark: var(--gold);
    --highlight-alt: #f9e79f;
    --shadow-light: rgba(27, 37, 56, 0.05);
    --shadow-medium: rgba(27, 37, 56, 0.1);
    --shadow-dark: rgba(27, 37, 56, 0.2);
    --overlay-light: rgba(242, 242, 242, 0.1);
    --overlay-medium: rgba(242, 242, 242, 0.3);
    --overlay-heavy: rgba(242, 242, 242, 0.5);
}

ins {
    background: var(--highlight-alt);
}

ins,mark {
    color: var(--text-black)
}

mark {
    background: var(--highlight-mark);
}

.chromeframe {
    background: var(--border-main);
    color: var(--text-black);
}

.fa-border {
    border: .08em solid var(--border-light)
}

.fa-inverse {
    color: var(--bg-main)
}

/* Ensure admonition bodies keep a visible background even when upstream theme changes */
.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.wy-alert {
    background: var(--alert-info-bg)
}

/* Explicit backgrounds for the two callouts that became transparent in the new palette */
.rst-content .note,.wy-alert.wy-alert-info {
    background-color: #a6c7fc !important;   /* light blue fill */
    border: none !important;
}

.rst-content .note .admonition-title,
.wy-alert.wy-alert-info .wy-alert-title {
    background-color: var(--alert-info-title);
    color: var(--bg-main);
}
.rst-content .warning,.wy-alert.wy-alert-warning {
    background-color: var(--alert-warning-bg) !important;
}

.rst-content .admonition-title,.wy-alert-title {
    color: var(--bg-main);
    background: var(--alert-info-title)
}

.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.admonition,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.wy-alert.wy-alert-danger {
    background: var(--alert-danger-bg)
}

.rst-content .danger .admonition-title,.rst-content .danger .wy-alert-title,.rst-content .error .admonition-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .admonition-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.wy-alert.wy-alert-danger .wy-alert-title {
    background: var(--color-danger)
}

.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .wy-alert-warning.admonition,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.note,.rst-content .wy-alert-warning.seealso,.rst-content .wy-alert-warning.tip,.wy-alert.wy-alert-warning {
    background: var(--alert-warning-bg)
}

.rst-content .admonition-todo .admonition-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .attention .admonition-title,.rst-content .attention .wy-alert-title,.rst-content .caution .admonition-title,.rst-content .caution .wy-alert-title,.rst-content .warning .admonition-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.admonition .admonition-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.wy-alert.wy-alert-warning .wy-alert-title {
    background: var(--color-warning)
}

.rst-content .note,.rst-content .seealso,.rst-content .wy-alert-info.admonition,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.wy-alert.wy-alert-info {
    background: var(--alert-info-bg)
}

/* Strip any theme border/shadow that may still leak through on notes */
.rst-content div.admonition.note,
.rst-content .note.admonition,
.rst-content .admonition.note,
.wy-alert.wy-alert-info {
    border: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}

.rst-content .note .admonition-title,.rst-content .note .wy-alert-title,.rst-content .seealso .admonition-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .admonition-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.wy-alert.wy-alert-info .wy-alert-title {
    background: var(--alert-info-title)
}
 
.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.admonition,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.warning,.wy-alert.wy-alert-success {
    background: var(--alert-success-bg)
}

.rst-content .hint .admonition-title,.rst-content .hint .wy-alert-title,.rst-content .important .admonition-title,.rst-content .important .wy-alert-title,.rst-content .tip .admonition-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .admonition-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.wy-alert.wy-alert-success .wy-alert-title {
    background: var(--color-success)
}

.rst-content .wy-alert-neutral.admonition,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.wy-alert.wy-alert-neutral {
    background: var(--bg-main)
}

.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .admonition-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.wy-alert.wy-alert-neutral .wy-alert-title {
    color: var(--text-primary);
    background: var(--border-main)
}

.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.wy-alert.wy-alert-neutral a {
    color: var(--primary)
}

.wy-tray-container li {
    color: var(--bg-main);
    box-shadow: 0 5px 5px 0 var(--shadow-medium);
}

.wy-tray-container li.wy-tray-item-success {
    background: var(--color-success)
}

.wy-tray-container li.wy-tray-item-info {
    background: var(--primary)
}

.wy-tray-container li.wy-tray-item-warning {
    background: var(--color-warning)
}

.wy-tray-container li.wy-tray-item-danger {
    background: var(--color-danger)
}

.btn {
    color: var(--bg-main);
    border: 1px solid var(--shadow-medium);
    background-color: var(--color-success);
    box-shadow: inset 0 1px 2px -1px var(--overlay-heavy), inset 0 -2px 0 0 var(--shadow-medium);
}

.btn-hover {
    background: var(--primary-hover);
    color: var(--bg-main)
}

.btn:hover {
    background: var(--color-success-hover);
    color: var(--bg-main)
}

.btn:focus {
    background: var(--color-success-hover);
}

.btn:active {
    box-shadow: inset 0 -1px 0 0 var(--shadow-light), inset 0 2px 0 0 var(--shadow-medium);
}

.btn:visited {
    color: var(--bg-main)
}

.btn-info {
    background-color: var(--primary) !important
}

.btn-info:hover {
    background-color: var(--primary-hover) !important
}

.btn-neutral {
    background-color: var(--bg-main) !important;
    color: var(--text-primary) !important
}

.btn-neutral:hover {
    background-color: var(--bg-main) !important;
    color: var(--text-primary)
}

.btn-neutral:visited {
    color: var(--text-primary) !important
}

.btn-success {
    background-color: var(--color-success) !important
}

.btn-success:hover {
    background-color: var(--color-success) !important
}

.btn-danger {
    background-color: var(--color-danger) !important
}

.btn-danger:hover {
    background-color: var(--color-danger-hover) !important
}

.btn-warning {
    background-color: var(--color-warning) !important
}

.btn-warning:hover {
    background-color: var(--color-warning-hover) !important
}

.btn-invert {
    background-color: var(--bg-sidebar)
}

.btn-invert:hover {
    background-color: var(--bg-sidebar) !important
}

.btn-link {
    color: var(--primary);
}

.btn-link:active,.btn-link:hover {
    color: var(--text-link-hover) !important;
}

.btn-link:visited {
    color: var(--text-link-visited)
}

.wy-dropdown-menu {
    background: var(--bg-main);
    border: 1px solid var(--border-dark);
    box-shadow: 0 2px 2px 0 var(--shadow-medium);
}

.wy-dropdown-menu>dd>a {
    color: var(--text-primary);
}

.wy-dropdown-menu>dd>a:hover {
    background: var(--primary);
    color: var(--bg-main)
}

.wy-dropdown-menu>dd.divider {
    border-top: 1px solid var(--border-dark);
}

.wy-dropdown-menu>dd.call-to-action {
    background: var(--bg-disabled)
}

.wy-dropdown-menu>dd.call-to-action:hover {
    background: var(--bg-disabled)
}

.wy-dropdown-menu>dd.call-to-action .btn {
    color: var(--bg-main)
}

.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu {
    background: var(--bg-main);
}

.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover {
    background: var(--primary);
    color: var(--bg-main)
}

.wy-dropdown-arrow:before {
    border-bottom: 5px solid var(--bg-main);
}

label {
    color: var(--text-primary)
}

.wy-control-group.wy-control-group-required>label:after {
    content: " *";
    color: var(--color-danger)
}

.wy-form-message-inline {
    color: var(--text-secondary)
}

.wy-form-message {
    color: var(--text-gray-light)
}

input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week] {
    border: 1px solid var(--border-main);
    box-shadow: inset 0 1px 3px var(--border-main);
}

input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus {
    border-color: var(--text-primary)
}

input.no-focus:focus {
    border-color: var(--border-main) !important
}

input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus {
    outline: thin dotted var(--text-primary);
    outline: 1px auto var(--primary)
}

input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled] {
    cursor: not-allowed;
    background-color: var(--bg-main)
}

input:focus:invalid,select:focus:invalid,textarea:focus:invalid {
    color: var(--color-danger);
    border: 1px solid var(--color-danger)
}

input:focus:invalid:focus,select:focus:invalid:focus,textarea:focus:invalid:focus {
    border-color: var(--color-danger)
}

input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus {
    outline-color: var(--color-danger)
}

select,textarea {
    border: 1px solid var(--border-main);
    box-shadow: inset 0 1px 3px var(--border-main);
}

select {
    border: 1px solid var(--border-main);
    background-color: var(--bg-main)
}

input[readonly],select[disabled],select[readonly],textarea[disabled],textarea[readonly] {
    background-color: var(--bg-main)
}

.wy-checkbox,.wy-radio {
    color: var(--text-primary);
}

.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context {
    background-color: var(--bg-main);
    border: 1px solid var(--border-main);
    color: var(--text-gray-light)
}

.wy-switch:before {
    background: var(--border-main)
}

.wy-switch:after {
    background: var(--text-gray-light);
}

.wy-switch span {
    color: var(--border-main);
}

.wy-switch.active:before {
    background: var(--color-success-dark)
}

.wy-switch.active:after {
    background: var(--color-success)
}

.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label {
    color: var(--color-danger)
}

.wy-control-group.wy-control-group-error input[type=color],.wy-control-group.wy-control-group-error input[type=date],.wy-control-group.wy-control-group-error input[type=datetime-local],.wy-control-group.wy-control-group-error input[type=datetime],.wy-control-group.wy-control-group-error input[type=email],.wy-control-group.wy-control-group-error input[type=month],.wy-control-group.wy-control-group-error input[type=number],.wy-control-group.wy-control-group-error input[type=password],.wy-control-group.wy-control-group-error input[type=search],.wy-control-group.wy-control-group-error input[type=tel],.wy-control-group.wy-control-group-error input[type=text],.wy-control-group.wy-control-group-error input[type=time],.wy-control-group.wy-control-group-error input[type=url],.wy-control-group.wy-control-group-error input[type=week],.wy-control-group.wy-control-group-error textarea {
    border: 1px solid var(--color-danger)
}

.wy-inline-validate.wy-inline-validate-success .wy-input-context {
    color: var(--color-success)
}

.wy-inline-validate.wy-inline-validate-danger .wy-input-context {
    color: var(--color-danger)
}

.wy-inline-validate.wy-inline-validate-warning .wy-input-context {
    color: var(--color-warning)
}

.wy-inline-validate.wy-inline-validate-info .wy-input-context {
    color: var(--primary)
}

.rst-content table.docutils caption,.rst-content table.field-list caption,.wy-table caption {
    color: var(--text-black);
}

.rst-content table.docutils thead,.rst-content table.field-list thead,.wy-table thead {
    color: var(--text-black);
}

.rst-content table.docutils thead th,.rst-content table.field-list thead th,.wy-table thead th {
    border-bottom: 2px solid var(--border-main)
}

.wy-table-secondary {
    color: var(--text-secondary);
}

.wy-table-tertiary {
    color: var(--text-secondary);
}

.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td,.wy-table-backed,.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td {
    background-color: var(--bg-main)
}

.rst-content table.docutils,.wy-table-bordered-all {
    border: 1px solid var(--border-main)
}

.rst-content table.docutils td,.wy-table-bordered-all td {
    border-bottom: 1px solid var(--border-main);
    border-left: 1px solid var(--border-main)
}

.wy-table-bordered {
    border: 1px solid var(--border-main)
}

.wy-table-bordered-rows td {
    border-bottom: 1px solid var(--border-main)
}

.wy-table-horizontal td,.wy-table-horizontal th {
    border-bottom: 1px solid var(--border-main)
}

a {
    color: var(--primary);
}

a:hover {
    color: var(--primary-hover);
    /* font-weight: bold; */
}

a:visited {
    color: var(--text-link-visited);
    /* text-decoration: underline; */
}

body {
    color: var(--text-primary);
    background: var(--bg-main)
}

.wy-text-warning {
    color: var(--color-warning) !important
} 

a.wy-text-warning:hover {
    color: var(--color-warning-light) !important
}

.wy-text-info {
    color: var(--primary) !important
}

a.wy-text-info:hover {
    color: var(--text-link-hover) !important
}

.wy-text-success {
    color: var(--color-success) !important
}

a.wy-text-success:hover {
    color: var(--color-success-light) !important
}

.wy-text-danger {
    color: var(--color-danger) !important
}

a.wy-text-danger:hover {
    color: var(--color-danger-light) !important
}

.wy-text-neutral {
    color: var(--text-primary) !important
}

a.wy-text-neutral:hover {
    color: var(--text-primary) !important
}

hr {
    border-top: 1px solid var(--border-main);
}

.rst-content code,.rst-content tt,code {
    background: var(--bg-main);
    border: 1px solid var(--border-main);
    color: var(--color-danger);
}

.breadcrumb-item:before {
    color: var(--text-gray-lightest);
}

.wy-breadcrumbs-extra {
    color: var(--text-gray-lighter);
}

.wy-menu-horiz li:hover {
    background: var(--overlay-light)
}

.wy-menu-horiz li.divide-left {
    border-left: 1px solid var(--text-primary)
}

.wy-menu-horiz li.divide-right {
    border-right: 1px solid var(--text-primary)
}

.wy-menu-vertical header,.wy-menu-vertical p.caption {
    color: var(--text-accent);
}

.wy-menu-vertical li.divide-top {
    border-top: 1px solid var(--text-primary)
}

.wy-menu-vertical li.divide-bottom {
    border-bottom: 1px solid var(--text-primary)
}

.wy-menu-vertical li.current {
    background: var(--bg-disabled)
}

.wy-menu-vertical li.current a {
    color: var(--text-primary);
    border-right: 1px solid var(--border-darker);
}

.wy-menu-vertical li.current a:hover {
    background: var(--bg-sidebar-hover);
    color: var(--text-accent)
}

.wy-menu-vertical li button.toctree-expand {
    color: var(--text-light);
}

.wy-menu-vertical li.current>a,.wy-menu-vertical li.on a {
    color: var(--text-primary);
    background: var(--bg-main);
}

.wy-menu-vertical li.current>a:hover,.wy-menu-vertical li.on a:hover {
    background: var(--bg-sidebar-hover)
}

.wy-menu-vertical li.current>a:hover button.toctree-expand,.wy-menu-vertical li.on a:hover button.toctree-expand {
    color: var(--text-secondary)
}

.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand {
    color: var(--text-primary)
}

.wy-menu-vertical li.toctree-l1.current>a {
    border-bottom: 1px solid var(--border-darker);
    border-top: 0px solid 
}

.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a,.wy-menu-vertical li.toctree-l5 a,.wy-menu-vertical li.toctree-l6 a,.wy-menu-vertical li.toctree-l7 a,.wy-menu-vertical li.toctree-l8 a,.wy-menu-vertical li.toctree-l9 a,.wy-menu-vertical li.toctree-l10 a {
    color: var(--text-primary)
}

.wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l3 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l4 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l5 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l6 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l7 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l8 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l9 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l10 a:hover button.toctree-expand {
    color: var(--text-secondary)
}

.wy-menu-vertical li.toctree-l2.current>a,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a {
    background: var(--border-darker)
}

.wy-menu-vertical li.toctree-l2.current>a:hover,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a:hover {
    background: var(--bg-sidebar-hover)
}

.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a:hover {
    background: var(--bg-sidebar-hover)
}

.wy-menu-vertical li.toctree-l2 button.toctree-expand {
    color: var(--text-gray-disabled)
}

.wy-menu-vertical li.toctree-l3.current>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a {
    background: var(--ui-gray)
}

.wy-menu-vertical li.toctree-l3 button.toctree-expand {
    color: var(--text-gray-disabled)
}

.wy-menu-vertical li ul li a {
    color: var(--text-light);
}

.wy-menu-vertical a {
    color: var(--text-light)
}

.wy-menu-vertical a:hover {
    background-color: var(--bg-sidebar-hover);
    color: var(--text-accent);
}

.wy-menu-vertical a:hover button.toctree-expand {
    color: var(--text-accent)
}

.wy-menu-vertical a:active {
    background-color: var(--bg-sidebar-active);
    color: var(--bg-main)
}

.wy-menu-vertical a:active button.toctree-expand {
    color: var(--bg-main)
}

.wy-side-nav-search {
    background-color: var(--primary);
    color: var(--bg-main)
}

.wy-side-nav-search input[type=text] {
    border-color: var(--primary)
}

.wy-side-nav-search img {
    background-color: var(--primary);
}

.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a {
    color: var(--bg-main);
}

.wy-side-nav-search .wy-dropdown>a:hover,.wy-side-nav-search>a:hover {
    background: var(--overlay-light)
}

.wy-side-nav-search>div.version {
    color: var(--overlay-medium)
}

.wy-nav .wy-menu-vertical header {
    color: var(--primary)
}

.wy-nav .wy-menu-vertical a {
    color: var(--text-gray-lighter)
}

.wy-nav .wy-menu-vertical a:hover {
    background-color: var(--bg-sidebar-hover);
    color: var(--text-accent)
}

.wy-body-for-nav {
    background: var(--bg-main)
}

.wy-nav-side {
    color: var(--text-light);
    background: var(--bg-sidebar);
}

.wy-nav-top {
    background: var(--primary);
    color: var(--bg-main);
}

.wy-nav-top a {
    color: var(--bg-main);
}

.wy-nav-top img {
    background-color: var(--primary);
}

.wy-nav-content-wrap {
    background: var(--bg-main);
}

.wy-body-mask {
    background: var(--shadow-dark);
}

footer {
    color: var(--text-secondary)
}

.rst-content footer span.commit tt,footer span.commit .rst-content tt,footer span.commit code {
    color: var(--text-secondary)
}

#search-results .search li {
    border-bottom: 1px solid var(--border-main);
}

#search-results .search li:first-child {
    border-top: 1px solid var(--border-main);
}

#search-results .context {
    color: var(--text-secondary);
}

@media screen and (max-width:768px) {
    .wy-body-for-nav {
        background: var(--bg-main)
    }
}

@media screen and (min-width:1100px) {
    .wy-nav-content-wrap {
        background: var(--shadow-light)
    }

    .wy-nav-content {
        background: var(--bg-main)
    }
}

.rst-versions {
    color: var(--text-white);
    background: var(--bg-sidebar-dark);
}

.rst-versions a {
    color: var(--text-white);
}

.rst-versions .rst-current-version {
    background-color: var(--bg-sidebar-dark);
    color: var(--color-success);
}

.rst-content .code-block-caption .rst-versions .rst-current-version .headerlink,.rst-content .eqno .rst-versions .rst-current-version .headerlink,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-content p .rst-versions .rst-current-version .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .icon,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-versions .rst-current-version .rst-content .code-block-caption .headerlink,.rst-versions .rst-current-version .rst-content .eqno .headerlink,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-versions .rst-current-version .rst-content p .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-versions .rst-current-version .wy-menu-vertical li button.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version button.toctree-expand {
    color: var(--bg-main)
}

.rst-versions .rst-current-version.rst-out-of-date {
    background-color: var(--color-danger);
    color: var(--bg-main)
}

.rst-versions .rst-current-version.rst-active-old-version {
    background-color: var(--color-warning-bright);
    color: var(--text-black)
}

.rst-versions .rst-other-versions {
    color: var(--text-light);
}

.rst-versions .rst-other-versions hr {
    border-top: 1px solid var(--border-accent)
}

.rst-versions .rst-other-versions dd a {
    color: var(--bg-main)
}

.rst-content.style-external-links a.reference.external:after {
    color: var(--text-gray-lighter);
}

.rst-content div[class^=highlight],.rst-content pre.literal-block {
    border: 1px solid var(--border-main);
}

.rst-content .linenodiv pre {
    border-right: 1px solid var(--border-light);
}

.rst-content div.highlight span.linenos {
    border-right: 1px solid var(--border-light)
}

.rst-content .admonition table {
    border-color: var(--shadow-medium)
}

.rst-content .admonition table td,.rst-content .admonition table th {
    border-color: var(--shadow-medium) !important
}

.rst-content .toc-backref {
    color: var(--text-primary)
}

.rst-content .sidebar {
    background: var(--bg-main);
    border: 1px solid var(--border-main)
}

.rst-content .sidebar .sidebar-title {
    background: var(--border-main);
}

.rst-content .highlighted {
    background: var(--color-warning-bright);
    box-shadow: 0 0 0 2px var(--color-warning-bright);
}

.rst-content table.docutils.footnote,html.writer-html4 .rst-content table.docutils.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content aside.footnote-list aside.footnote,html.writer-html5 .rst-content div.citation-list>div.citation,html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote {
    color: var(--text-secondary)
}

.rst-content table.docutils.footnote code,.rst-content table.docutils.footnote tt,html.writer-html4 .rst-content table.docutils.citation code,html.writer-html4 .rst-content table.docutils.citation tt,html.writer-html5 .rst-content aside.footnote-list aside.footnote code,html.writer-html5 .rst-content aside.footnote-list aside.footnote tt,html.writer-html5 .rst-content aside.footnote code,html.writer-html5 .rst-content aside.footnote tt,html.writer-html5 .rst-content div.citation-list>div.citation code,html.writer-html5 .rst-content div.citation-list>div.citation tt,html.writer-html5 .rst-content dl.citation code,html.writer-html5 .rst-content dl.citation tt,html.writer-html5 .rst-content dl.footnote code,html.writer-html5 .rst-content dl.footnote tt {
    color: var(--text-secondary)
}

.rst-content table.docutils th {
    border-color: var(--border-main)
}

html.writer-html5 .rst-content table.docutils th {
    border: 1px solid var(--border-main)
}

.rst-content code,.rst-content tt {
    color: var(--text-black);
}

.rst-content code.literal,.rst-content tt.literal {
    color: var(--color-danger);
}

.rst-content code.xref,.rst-content tt.xref,a .rst-content code,a .rst-content tt {
    color: var(--text-primary);
}

.rst-content a code,.rst-content a tt {
    color: var(--primary)
}

html.writer-html4 .rst-content dl:not(.docutils)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt {
    background: var(--bg-main);
    color: var(--primary);
    border-top: 3px solid var(--alert-info-title);
}

html.writer-html4 .rst-content dl:not(.docutils)>dt:before,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:before {
    color: var(--alert-info-title)
}

html.writer-html4 .rst-content dl:not(.docutils)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink {
    color: var(--text-primary);
}

html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt {
    border-left: 3px solid var(--border-main);
    background: var(--bg-main);
    color: var(--text-medium)
}

html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink {
    color: var(--text-primary);
}

html.writer-html4 .rst-content dl:not(.docutils) .optional,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .optional {
    color: var(--text-black)
}

html.writer-html4 .rst-content dl:not(.docutils) .descclassname,html.writer-html4 .rst-content dl:not(.docutils) .descname,html.writer-html4 .rst-content dl:not(.docutils) .sig-name,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .sig-name {
    color: var(--text-black)
}

.rst-content .viewcode-back,.rst-content .viewcode-link {
    color: var(--color-success);
}

.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>.kbd,.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>kbd {
    background-color: var(--bg-main);
    border: 1px solid var(--border-medium);
    box-shadow: 0 2px var(--text-secondary);

}

span[id*=MathJax-Span] {
    color: var(--text-primary)
}
