@font-face {
    font-family: "Montserrat";
    src: url("./fonts/Montserrat-Regular.eot");
    src: url("./fonts/Montserrat-Regular.eot?#iefix") format("embedded-opentype"), url("./fonts/Montserrat-Regular.woff") format("woff"), url("./fonts/Montserrat-Regular.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "Montserrat";
    src: url("./fonts/Montserrat-ExtraBold.eot");
    src: url("./fonts/Montserrat-ExtraBold.eot?#iefix") format("embedded-opentype"), url("./fonts/Montserrat-ExtraBold.woff") format("woff"), url("./fonts/Montserrat-ExtraBold.ttf") format("truetype");
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: "Montserrat";
    src: url("./fonts/Montserrat-Light.eot");
    src: url("./fonts/Montserrat-Light.eot?#iefix") format("embedded-opentype"), url("./fonts/Montserrat-Light.woff") format("woff"), url("./fonts/Montserrat-Light.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: "Montserrat";
    src: url("./fonts/Montserrat-SemiBold.eot");
    src: url("./fonts/Montserrat-SemiBold.eot?#iefix") format("embedded-opentype"), url("./fonts/Montserrat-SemiBold.woff") format("woff"), url("./fonts/Montserrat-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: "Montserrat";
    src: url("./fonts/Montserrat-Black.eot");
    src: url("./fonts/Montserrat-Black.eot?#iefix") format("embedded-opentype"), url("./fonts/Montserrat-Black.woff") format("woff"), url("./fonts/Montserrat-Black.ttf") format("truetype");
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: "Montserrat";
    src: url("./fonts/Montserrat-Bold.eot");
    src: url("./fonts/Montserrat-Bold.eot?#iefix") format("embedded-opentype"), url("./fonts/Montserrat-Bold.woff") format("woff"), url("./fonts/Montserrat-Bold.ttf") format("truetype");
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: "Montserrat";
    src: url("./fonts/Montserrat-UltraLight.eot");
    src: url("./fonts/Montserrat-UltraLight.eot?#iefix") format("embedded-opentype"), url("./fonts/Montserrat-UltraLight.woff") format("woff"), url("./fonts/Montserrat-UltraLight.ttf") format("truetype");
    font-weight: 200;
    font-style: normal;
}

@media (min-width: 1400px) {
    body .container {
        max-width: 1700px;
    }
}

@media (min-width: 1024px) {
    .lg\:grid-cols-\[240px_minmax\(0\2c 1fr\)\] {
        grid-template-columns: 300px minmax(0, 1fr);
    }
}

@media (min-width: 1024px) {
    .lg\:gap-10 {
        gap: 3.75rem;
    }
}

header {
    margin-bottom: 0;
    border-radius: 0;
    position: fixed !important;
}

html:not(.dark) header {
    background-color: #061321 !important;
}

header>div {
    font-size: 16px;
    font-weight: 300;
    margin-top: 5px;
    margin-bottom: 5px;
}

header div.container>div>a>span {
    font-size: 20px;
    padding-right: 15px;
}

header div.container>div>nav {
    margin-top: 5px;
}


html:not(.dark) header>div {
    color: #fff !important;
}

html:not(.dark) header a.text-foreground\/60,
html:not(.dark) header a.text-foreground {
    color: #fff !important;
}

#search-input {
    font-size: 16px;
    border-width: medium;
    border-color: #e23e25;
}

#search-input:hover,
#search-input:focus {
    background-color: transparent !important;
}

#search-input,
#search-input:hover::placeholder,
#search-input:focus-visible::placeholder {
    color: #f8fafc;
}

#search-input:focus-visible {
    --tw-ring-offset-width: 0px;
    --tw-ring-color: #e23e25;
    --tw-ring-shadow: 0 0 0 0;
}

body {
    font-family: "Montserrat", sans-serif !important;
    color: #3f3f3f !important;
    line-height: 1.5;
    padding-top: 65px;
}

pre {
    padding-bottom: 0;
    padding-top: 0;
    overflow-y: hidden;
}

pre code {
    background-color: transparent !important;
}

#content section>p.lead {
    color: #3f3f3fc2 !important;
}

#content figure img {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}

#content+div>div>a {
    color: #3f3f3f;
    border-color: #a7a9b0;
}

#content a:not(.toc-backref) {
    color: #0275d8;
    text-decoration: none !important;
}

#content div.toctree-wraper a {
    color: #3f3f3f !important;
    text-decoration: none !important;
}

#content h1:after {
    content: " ";
    border-bottom: solid 5px #e23e25;
    width: 120px;
    margin: 15px 0 30px;
    display: block;
    clear: both;
}

#content div.toctree-wrapper li::marker {
    display: none;
    content: "";
}

#content div.toctree-wrapper li {
    padding-left: 0px;
}

#content ul,
#content ol {
    margin-top: .75rem !important;
}

#content ul:not(.search)>li,
#content ol:not(.search)>li {
    margin-top: .75rem;
}

#content ul:not(.search)>li>p,
#content ol:not(.search)>li>p {
    margin-top: .75rem;
}

#content ul li::marker {
    content: "○";
    font-size: .8rem;
    display: inline-block;
    color: #e23e25;
    vertical-align: middle;
}

#content li {
    padding-left: 10px;
}

#content dl dt:not(.sig) {
    font-weight: 600;
}

#table-of-contents>h1:after {
    content: " ";
    border-bottom: solid 5px #e23e25;
    width: 120px;
    margin: 15px 0 30px;
    display: block;
    clear: both;
}

#table-of-contents>div.toctree-wrapper>ul>li>a {
    font-size: 18px;
}

#left-sidebar {
    background-color: #ffffff !important;
}

#left-sidebar a {
    font-size: 15px;
    gap: 4px;
}

#left-sidebar a:hover {
    text-decoration: none;
    color: #0f1729;
}

#left-sidebar li.toctree-l1 > a.current {
    background-color: #ffffff !important;
    border-color: #ffffff !important;
    justify-content: start;
}

#left-sidebar li.toctree-l1 > a:not(:has(button)) {
    display: block;
}

#left-sidebar li.toctree-l1 > a > button {
    margin-left: auto;
}

#left-sidebar li.toctree-l2 > a:not(:has(button)) {
    display: block;
}

#left-sidebar li.toctree-l2 > a > button {
    margin-left: auto;
}

#left-sidebar ul>li.current a.current:not(.expandable) {
    padding: .375rem 0 .375rem 0.4rem !important;
}

#left-sidebar ul li ul>li.current a.current:not(.expandable) {
    padding: .375rem 0 .375rem 0.9rem !important;
}

#left-sidebar ul>li.current:not(:has(ul)) {
    border-left: #e23e25 5px solid;
}

#left-sidebar ul>li>ul>li.current:not(.expandable):not([x-data]) {
    border-left: #e23e25 5px solid;
}

#left-sidebar ul ul {
    padding: 0 0 .5rem 0 !important;
}

#left-sidebar ul li ul li a {
    padding: .375rem 0 .375rem 1.25rem !important;
}

#left-sidebar::-webkit-scrollbar {
    width: 20px;
}

#left-sidebar::-webkit-scrollbar-track,
pre::-webkit-scrollbar-track {
    background-color: transparent;
}

#left-sidebar::-webkit-scrollbar-thumb {
    background-color: #d6dee1;
    border-radius: 20px;
    border: 6px solid transparent;
    background-clip: content-box;
}

#left-sidebar::-webkit-scrollbar-thumb:hover,
pre::-webkit-scrollbar-thumb:hover {
    background-color: #a8bbbf;
}

pre::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

pre::-webkit-scrollbar-thumb {
    background-color: #a8bbbf;
    border-radius: 10px;
    border: 2px solid transparent;
    background-clip: content-box;
}

#left-sidebar {
    border-right-color: #ecf4ff !important;
}

#left-sidebar div>div {
    padding-right: 1rem;
}

footer {
    margin-top: 50px;
    border: none
}

footer>div {
    justify-content: center !important;
}

div.admonition.important code,
div.admonition.important kbd:not(.compound),
div.admonition.warning code,
div.admonition.warning kbd:not(.compound),
div.admonition.caution code,
div.admonition.caution kbd:not(.compound) {
    color: #a94442;
    border-color: #a94442;
    background-color: rgb(169, 68, 66, 0.1) !important;
}

div.admonition.important span.guilabel,
div.admonition.warning span.guilabel,
div.admonition.caution span.guilabel,
div.admonition.important span.menuselection,
div.admonition.warning span.menuselection,
div.admonition.caution span.menuselection {
    color: #a94442;
    border-color: #a94442;
}

div.admonition.important,
div.admonition.warning,
div.admonition.caution {
    background-color: #f2dede;
    border-color: #ebcccc;
    color: #a94442;
}

#content div.admonition.important li::marker,
#content div.admonition.warning li::marker,
#content div.admonition.caution li::marker {
    color: #a94442;
}

div.admonition.important pre,
div.admonition.warning pre,
div.admonition.caution pre {
    background-color: rgb(169, 68, 66, 0.1);
    border-width: 0px;
}

div.admonition.important pre code,
div.admonition.warning pre code,
div.admonition.caution pre code {
    background-color: transparent !important;
}

div.admonition.note {
    background-color: #e4f0ff;
    border-color: #bad5f5;
    color: #365598;
}

div.admonition.note code,
div.admonition.note kbd:not(.compound) {
    color: #365598;
    border-color: #365598;
    background-color: rgb(78, 100, 148, 0.1) !important;
}

div.admonition.note span.guilabel,
div.admonition.note span.menuselection {
    color: #365598;
    border-color: #365598;
}

#content div.admonition.note li::marker {
    color: #365598;
}

div.admonition.note pre {
    background-color: rgb(78, 100, 148, 0.1);
    border-width: 0px;
}

div.admonition.note pre code {
    color: #4e6494;
    background-color: transparent !important;
}

div.admonition.tip {
    border-color: #c6ebd4;
    color: #22864a;
}

div.admonition.tip code,
div.admonition.tip kbd:not(.compound) {
    color: #22864a;
    border-color: #22864a;
    background-color: rgb(34, 134, 74, 0.1) !important;
}

div.admonition.tip span.guilabel,
div.admonition.tip span.menuselection {
    color: #22864a;
    border-color: #22864a;
}

#content div.admonition.tip li::marker {
    color: #22864a;
}

div.admonition.tip pre code {
    color: #22864a;
    background-color: transparent !important;
}

div.admonition.tip pre {
    background-color: rgb(34, 134, 74, 0.1);
    border-width: 0px;
}

p.admonition-title {
    font-weight: bold;
    font-size: 15px;
}

.inline {
    margin-top: 0 !important;
}

code,
kbd:not(.compound) {
    padding: .2rem .4rem !important;
    background-color: #ececec !important;
    border-radius: .25rem !important;
}

code.download {
    background-color: hsl(var(--muted)) !important;
}

span.guilabel,
span.menuselection {
    margin-right: 5px;
    margin-left: 5px;
    font-size: 14px;
    border-color: #a7a9b0;
}

code,
kbd {
    font-size: 90% !important;
}

kbd:not(.compound) {
    color: #a94442;
    border-color: #a94442;
    margin-right: 5px;
    margin-left: 5px;
}

aside#right-sidebar>div {
    overflow: hidden;
}

aside#right-sidebar>div:hover {
    overflow-y: auto;
}

aside#right-sidebar>div::-webkit-scrollbar {
    width: 20px;
}

aside#right-sidebar>div::-webkit-scrollbar-track {
    background-color: transparent;
}

aside#right-sidebar>div::-webkit-scrollbar-thumb {
    background-color: #d6dee1;
    border-radius: 20px;
    border: 6px solid transparent;
    background-clip: content-box;
}

aside#right-sidebar>div::-webkit-scrollbar-thumb:hover {
    background-color: #a8bbbf;
}

.sd-tab-set>input:checked+label {
    border-color: #e23e25;
    color: #3f3f3f !important;
    font-weight: bold;
}

.code-block-caption {
    background-color: #eaeaea;
    color: #3f3f3f;
}

.highlighted {
    background-color: #0275d83b;
    text-decoration: none;
}

#preferences-keys table {
    table-layout: fixed;
}

#preferences-keys table th:first-child {
    width: 15%;
}

#preferences-keys table th:nth-child(2) {
    width: 25%;
}

#preferences-keys table th:nth-child(3) {
    width: 40%;
}

#preferences-keys table th:nth-child(4) {
    width: 20%;
}

#preferences-keys table tbody tr td p {
    word-wrap: break-word;
}

#whitespace code > span, #indentation code > span, #vertical-alignment code > span, 
#line-wrapping code > span, #disable-format-for-code-sections code > span {
    white-space: normal;
    word-wrap: break-word;
}

/* ====================== DARK THEME ====================== */

.dark header #search-input {
    border-color: #a94442;
}

.dark #content section>p.lead {
    color: #9ba3b4c2 !important;
}

.dark #content+div>div>a {
    color: #9ba3b4;
    border-color: #9ba3b4;
}

.dark #content div.toctree-wraper a {
    color: #9ba3b4 !important;
    text-decoration: none !important;
}

.dark #content h1:after {
    border-bottom: solid 5px #a94442;
}

.dark body {
    color: #9ba3b4 !important;
}

.dark #table-of-contents>h1:after {
    border-bottom: solid 5px #a94442;
}

.dark #table-of-contents>div.toctree-wrapper>ul>li>a {
    color: #9ba3b4 !important;
}

.dark #table-of-contents>div.toctree-wrapper>ul>li>ul>li>a {
    color: #9ba3b4 !important;
}

.dark #table-of-contents>div.toctree-wrapper>ul>li>ul>li>ul>li>a {
    color: #9ba3b4 !important;
}

.dark #left-sidebar {
    background-color: #030711 !important;
}

.dark #left-sidebar a:hover {
    text-decoration: none;
    color: #f8fafc;
}

.dark #left-sidebar li.toctree-l1 > a.current {
    background-color: #030711 !important;
    border-color: #030711 !important;
}

.dark #left-sidebar ul>li>ul>li.current {
    border-left: #a94442 5px solid;
}

.dark #left-sidebar::-webkit-scrollbar-thumb {
    background-color: #1f2629;
}

.dark #left-sidebar::-webkit-scrollbar-thumb:hover {
    background-color: #424a4b;
}

.dark #right-sidebar>div::-webkit-scrollbar-thumb {
    background-color: #1f2629;
}

.dark #right-sidebar>div::-webkit-scrollbar-thumb:hover {
    background-color: #424a4b;
}

.dark pre::-webkit-scrollbar-thumb {
    background-color: #424a4b;
}

.dark pre::-webkit-scrollbar-thumb:hover {
    background-color: #424a4b;
}

.dark #left-sidebar {
    border-right-color: #202021 !important;
}

.dark div.admonition.important,
.dark div.admonition.warning,
.dark div.admonition.caution {
    background-color: rgb(168, 69, 66, 0.2);
    color: #f2dede;
}

.dark div.admonition.important code,
.dark div.admonition.important kbd:not(.compound),
.dark div.admonition.warning code,
.dark div.admonition.warning kbd:not(.compound),
.dark div.admonition.caution code,
.dark div.admonition.caution kbd:not(.compound) {
    color: #f2dede;
    border-color: #f2dede;
}

.dark div.admonition.important span.guilabel,
.dark div.admonition.warning span.guilabel,
.dark div.admonition.caution span.guilabel,
.dark div.admonition.important span.menuselection,
.dark div.admonition.warning span.menuselection,
.dark div.admonition.caution span.menuselection  {
    color: #f2dede;
    border-color: #f2dede;
}

.dark #content div.admonition.important li::marker,
.dark #content div.admonition.warning li::marker,
.dark #content div.admonition.caution li::marker {
    color: #f2dede;
}

.dark div.admonition.note {
    background-color: rgb(78, 100, 148, 0.2);
    color: #e4f0ff;
}

.dark div.admonition.note code,
.dark div.admonition.note kbd:not(.compound) {
    color: #e4f0ff;
    border-color: #e4f0ff;
}

.dark div.admonition.note span.guilabel,
.dark div.admonition.note span.menuselection {
    color: #e4f0ff;
    border-color: #e4f0ff;
}

.dark div.admonition.note pre code {
    color: #e4f0ff;
    background-color: transparent !important;
}

.dark #content div.admonition.note li::marker {
    color: #e4f0ff;
}

.dark div.admonition.tip {
    color: #c6ebd4;
}

.dark div.admonition.tip code,
.dark div.admonition.tip kbd:not(.compound) {
    color: #22864a;
    border-color: #22864a;
}

.dark div.admonition.tip span.guilabel,
.dark div.admonition.tip span.menuselection {
    color: #22864a;
    border-color: #22864a;
}


.dark #content div.tip li::marker {
    color: #c6ebd4;
}

.dark div.admonition.tip pre code {
    color: #c6ebd4;
    background-color: transparent !important;
}

.dark pre code {
    background-color: transparent !important;
}

.dark code,
.dark kbd:not(.compound) {
    background-color: #16213d !important;
}

.dark code,
.dark kbd:not(.compound) {
    color: #ffffff !important;
}

.dark kbd:not(.compound) {
    border-color: #ffffff !important;
}

.dark .sd-tab-set>input:checked+label {
    border-color: #a94442;
    color: #9ba3b4 !important;
    font-weight: bold;
}

.dark .code-block-caption {
    background-color: #141414;
    color: #9ba3b4;
}

.dark .highlighted {
    background-color: #0275d86e;
}

#search-results ul.search span:not(.highlighted) {
    display: block;
    color: #65758b;
    color: hsl(var(--muted-foreground));
    font-size: .875rem;
    line-height: 1.25rem;
    margin-top: .5rem;
}

#search-results mark {
    background-color: #0275d83b;
    text-decoration: none;
    color: inherit;
}

