diff --git a/.buildinfo b/.buildinfo index 7de264aa..d6512f2c 100644 --- a/.buildinfo +++ b/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: ff9d8670ce1ac24ca0657511c036120e +config: c4690c38f37815dc2ad36c6baead5a0d tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/_sources/notebooks/02/02-lad-regression.ipynb b/_sources/notebooks/02/02-lad-regression.ipynb index 30405e4f..4ff0d4d5 100644 --- a/_sources/notebooks/02/02-lad-regression.ipynb +++ b/_sources/notebooks/02/02-lad-regression.ipynb @@ -181,7 +181,10 @@ "$$\n", "\\begin{align}\n", " \\min \\quad & \\sum_{i=1}^n |e_i| \\\\\n", - " \\text{s.t.} \\quad & e_i = y^{(i)} - {m}^\\top {X}^{(i)} - b & \\forall\\, i=1,\\dots,n.\n", + " \\text{s.t.} \\quad & e_i = y^{(i)} - {m}^\\top {X}^{(i)} - b & \\forall\\, i=1,\\dots,n,\\\\\n", + " & e_i \\in \\mathbb{R} & \\forall\\, i=1,\\dots,n,\\\\\n", + " & m_j \\in \\mathbb{R} & \\forall\\, j=1,\\dots,k,\\\\\n", + " & b \\in \\mathbb{R}.\n", "\\end{align}\n", "$$\n", "\n", @@ -190,8 +193,10 @@ "$$\n", "\\begin{align}\n", " \\min \\quad & \\sum_{i=1}^n ( e_i^+ + e_i^-) \\\\\n", - " \\text{s.t.} \\quad & e_i^+ - e_i^- = y^{(i)} - {m}^\\top {X}^{(i)}-b & \\forall\\, i=1, \\dots, n \\\\\n", - " & e_i^+, e_i^- \\geq 0 & \\forall\\, i=1, \\dots, n\n", + " \\text{s.t.} \\quad & e_i^+ - e_i^- = y^{(i)} - {m}^\\top {X}^{(i)}-b & \\forall\\, i=1, \\dots, n,\\\\\n", + " & e_i^+, e_i^- \\geq 0 & \\forall\\, i=1, \\dots, n,\\\\\n", + " & m_j \\in \\mathbb{R} & \\forall\\, j=1,\\dots,k,\\\\\n", + " & b \\in \\mathbb{R}.\n", "\\end{align}\n", "$$\n", "\n", diff --git a/_sphinx_design_static/sphinx-design.min.css b/_sphinx_design_static/sphinx-design.min.css index a325746f..860c36da 100644 --- a/_sphinx_design_static/sphinx-design.min.css +++ b/_sphinx_design_static/sphinx-design.min.css @@ -1 +1 @@ -.sd-bg-primary{background-color:var(--sd-color-primary) !important}.sd-bg-text-primary{color:var(--sd-color-primary-text) !important}button.sd-bg-primary:focus,button.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}a.sd-bg-primary:focus,a.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}.sd-bg-secondary{background-color:var(--sd-color-secondary) !important}.sd-bg-text-secondary{color:var(--sd-color-secondary-text) !important}button.sd-bg-secondary:focus,button.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}a.sd-bg-secondary:focus,a.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}.sd-bg-success{background-color:var(--sd-color-success) !important}.sd-bg-text-success{color:var(--sd-color-success-text) !important}button.sd-bg-success:focus,button.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}a.sd-bg-success:focus,a.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}.sd-bg-info{background-color:var(--sd-color-info) !important}.sd-bg-text-info{color:var(--sd-color-info-text) !important}button.sd-bg-info:focus,button.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}a.sd-bg-info:focus,a.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}.sd-bg-warning{background-color:var(--sd-color-warning) !important}.sd-bg-text-warning{color:var(--sd-color-warning-text) !important}button.sd-bg-warning:focus,button.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}a.sd-bg-warning:focus,a.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}.sd-bg-danger{background-color:var(--sd-color-danger) !important}.sd-bg-text-danger{color:var(--sd-color-danger-text) !important}button.sd-bg-danger:focus,button.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}a.sd-bg-danger:focus,a.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}.sd-bg-light{background-color:var(--sd-color-light) !important}.sd-bg-text-light{color:var(--sd-color-light-text) !important}button.sd-bg-light:focus,button.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}a.sd-bg-light:focus,a.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}.sd-bg-muted{background-color:var(--sd-color-muted) !important}.sd-bg-text-muted{color:var(--sd-color-muted-text) !important}button.sd-bg-muted:focus,button.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}a.sd-bg-muted:focus,a.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}.sd-bg-dark{background-color:var(--sd-color-dark) !important}.sd-bg-text-dark{color:var(--sd-color-dark-text) !important}button.sd-bg-dark:focus,button.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}a.sd-bg-dark:focus,a.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}.sd-bg-black{background-color:var(--sd-color-black) !important}.sd-bg-text-black{color:var(--sd-color-black-text) !important}button.sd-bg-black:focus,button.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}a.sd-bg-black:focus,a.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}.sd-bg-white{background-color:var(--sd-color-white) !important}.sd-bg-text-white{color:var(--sd-color-white-text) !important}button.sd-bg-white:focus,button.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}a.sd-bg-white:focus,a.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}.sd-text-primary,.sd-text-primary>p{color:var(--sd-color-primary) !important}a.sd-text-primary:focus,a.sd-text-primary:hover{color:var(--sd-color-primary-highlight) !important}.sd-text-secondary,.sd-text-secondary>p{color:var(--sd-color-secondary) !important}a.sd-text-secondary:focus,a.sd-text-secondary:hover{color:var(--sd-color-secondary-highlight) !important}.sd-text-success,.sd-text-success>p{color:var(--sd-color-success) !important}a.sd-text-success:focus,a.sd-text-success:hover{color:var(--sd-color-success-highlight) !important}.sd-text-info,.sd-text-info>p{color:var(--sd-color-info) !important}a.sd-text-info:focus,a.sd-text-info:hover{color:var(--sd-color-info-highlight) !important}.sd-text-warning,.sd-text-warning>p{color:var(--sd-color-warning) !important}a.sd-text-warning:focus,a.sd-text-warning:hover{color:var(--sd-color-warning-highlight) !important}.sd-text-danger,.sd-text-danger>p{color:var(--sd-color-danger) !important}a.sd-text-danger:focus,a.sd-text-danger:hover{color:var(--sd-color-danger-highlight) !important}.sd-text-light,.sd-text-light>p{color:var(--sd-color-light) !important}a.sd-text-light:focus,a.sd-text-light:hover{color:var(--sd-color-light-highlight) !important}.sd-text-muted,.sd-text-muted>p{color:var(--sd-color-muted) !important}a.sd-text-muted:focus,a.sd-text-muted:hover{color:var(--sd-color-muted-highlight) !important}.sd-text-dark,.sd-text-dark>p{color:var(--sd-color-dark) !important}a.sd-text-dark:focus,a.sd-text-dark:hover{color:var(--sd-color-dark-highlight) !important}.sd-text-black,.sd-text-black>p{color:var(--sd-color-black) !important}a.sd-text-black:focus,a.sd-text-black:hover{color:var(--sd-color-black-highlight) !important}.sd-text-white,.sd-text-white>p{color:var(--sd-color-white) !important}a.sd-text-white:focus,a.sd-text-white:hover{color:var(--sd-color-white-highlight) !important}.sd-outline-primary{border-color:var(--sd-color-primary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-primary:focus,a.sd-outline-primary:hover{border-color:var(--sd-color-primary-highlight) !important}.sd-outline-secondary{border-color:var(--sd-color-secondary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-secondary:focus,a.sd-outline-secondary:hover{border-color:var(--sd-color-secondary-highlight) !important}.sd-outline-success{border-color:var(--sd-color-success) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-success:focus,a.sd-outline-success:hover{border-color:var(--sd-color-success-highlight) !important}.sd-outline-info{border-color:var(--sd-color-info) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-info:focus,a.sd-outline-info:hover{border-color:var(--sd-color-info-highlight) !important}.sd-outline-warning{border-color:var(--sd-color-warning) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-warning:focus,a.sd-outline-warning:hover{border-color:var(--sd-color-warning-highlight) !important}.sd-outline-danger{border-color:var(--sd-color-danger) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-danger:focus,a.sd-outline-danger:hover{border-color:var(--sd-color-danger-highlight) !important}.sd-outline-light{border-color:var(--sd-color-light) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-light:focus,a.sd-outline-light:hover{border-color:var(--sd-color-light-highlight) !important}.sd-outline-muted{border-color:var(--sd-color-muted) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-muted:focus,a.sd-outline-muted:hover{border-color:var(--sd-color-muted-highlight) !important}.sd-outline-dark{border-color:var(--sd-color-dark) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-dark:focus,a.sd-outline-dark:hover{border-color:var(--sd-color-dark-highlight) !important}.sd-outline-black{border-color:var(--sd-color-black) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-black:focus,a.sd-outline-black:hover{border-color:var(--sd-color-black-highlight) !important}.sd-outline-white{border-color:var(--sd-color-white) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-white:focus,a.sd-outline-white:hover{border-color:var(--sd-color-white-highlight) !important}.sd-bg-transparent{background-color:transparent !important}.sd-outline-transparent{border-color:transparent !important}.sd-text-transparent{color:transparent !important}.sd-p-0{padding:0 !important}.sd-pt-0,.sd-py-0{padding-top:0 !important}.sd-pr-0,.sd-px-0{padding-right:0 !important}.sd-pb-0,.sd-py-0{padding-bottom:0 !important}.sd-pl-0,.sd-px-0{padding-left:0 !important}.sd-p-1{padding:.25rem !important}.sd-pt-1,.sd-py-1{padding-top:.25rem !important}.sd-pr-1,.sd-px-1{padding-right:.25rem !important}.sd-pb-1,.sd-py-1{padding-bottom:.25rem !important}.sd-pl-1,.sd-px-1{padding-left:.25rem !important}.sd-p-2{padding:.5rem !important}.sd-pt-2,.sd-py-2{padding-top:.5rem !important}.sd-pr-2,.sd-px-2{padding-right:.5rem !important}.sd-pb-2,.sd-py-2{padding-bottom:.5rem !important}.sd-pl-2,.sd-px-2{padding-left:.5rem !important}.sd-p-3{padding:1rem !important}.sd-pt-3,.sd-py-3{padding-top:1rem !important}.sd-pr-3,.sd-px-3{padding-right:1rem !important}.sd-pb-3,.sd-py-3{padding-bottom:1rem !important}.sd-pl-3,.sd-px-3{padding-left:1rem !important}.sd-p-4{padding:1.5rem !important}.sd-pt-4,.sd-py-4{padding-top:1.5rem !important}.sd-pr-4,.sd-px-4{padding-right:1.5rem !important}.sd-pb-4,.sd-py-4{padding-bottom:1.5rem !important}.sd-pl-4,.sd-px-4{padding-left:1.5rem !important}.sd-p-5{padding:3rem !important}.sd-pt-5,.sd-py-5{padding-top:3rem !important}.sd-pr-5,.sd-px-5{padding-right:3rem !important}.sd-pb-5,.sd-py-5{padding-bottom:3rem !important}.sd-pl-5,.sd-px-5{padding-left:3rem !important}.sd-m-auto{margin:auto !important}.sd-mt-auto,.sd-my-auto{margin-top:auto !important}.sd-mr-auto,.sd-mx-auto{margin-right:auto !important}.sd-mb-auto,.sd-my-auto{margin-bottom:auto !important}.sd-ml-auto,.sd-mx-auto{margin-left:auto !important}.sd-m-0{margin:0 !important}.sd-mt-0,.sd-my-0{margin-top:0 !important}.sd-mr-0,.sd-mx-0{margin-right:0 !important}.sd-mb-0,.sd-my-0{margin-bottom:0 !important}.sd-ml-0,.sd-mx-0{margin-left:0 !important}.sd-m-1{margin:.25rem !important}.sd-mt-1,.sd-my-1{margin-top:.25rem !important}.sd-mr-1,.sd-mx-1{margin-right:.25rem !important}.sd-mb-1,.sd-my-1{margin-bottom:.25rem !important}.sd-ml-1,.sd-mx-1{margin-left:.25rem !important}.sd-m-2{margin:.5rem !important}.sd-mt-2,.sd-my-2{margin-top:.5rem !important}.sd-mr-2,.sd-mx-2{margin-right:.5rem !important}.sd-mb-2,.sd-my-2{margin-bottom:.5rem !important}.sd-ml-2,.sd-mx-2{margin-left:.5rem !important}.sd-m-3{margin:1rem !important}.sd-mt-3,.sd-my-3{margin-top:1rem !important}.sd-mr-3,.sd-mx-3{margin-right:1rem !important}.sd-mb-3,.sd-my-3{margin-bottom:1rem !important}.sd-ml-3,.sd-mx-3{margin-left:1rem !important}.sd-m-4{margin:1.5rem !important}.sd-mt-4,.sd-my-4{margin-top:1.5rem !important}.sd-mr-4,.sd-mx-4{margin-right:1.5rem !important}.sd-mb-4,.sd-my-4{margin-bottom:1.5rem !important}.sd-ml-4,.sd-mx-4{margin-left:1.5rem !important}.sd-m-5{margin:3rem !important}.sd-mt-5,.sd-my-5{margin-top:3rem !important}.sd-mr-5,.sd-mx-5{margin-right:3rem !important}.sd-mb-5,.sd-my-5{margin-bottom:3rem !important}.sd-ml-5,.sd-mx-5{margin-left:3rem !important}.sd-w-25{width:25% !important}.sd-w-50{width:50% !important}.sd-w-75{width:75% !important}.sd-w-100{width:100% !important}.sd-w-auto{width:auto !important}.sd-h-25{height:25% !important}.sd-h-50{height:50% !important}.sd-h-75{height:75% !important}.sd-h-100{height:100% !important}.sd-h-auto{height:auto !important}.sd-d-none{display:none !important}.sd-d-inline{display:inline !important}.sd-d-inline-block{display:inline-block !important}.sd-d-block{display:block !important}.sd-d-grid{display:grid !important}.sd-d-flex-row{display:-ms-flexbox !important;display:flex !important;flex-direction:row !important}.sd-d-flex-column{display:-ms-flexbox !important;display:flex !important;flex-direction:column !important}.sd-d-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}@media(min-width: 576px){.sd-d-sm-none{display:none !important}.sd-d-sm-inline{display:inline !important}.sd-d-sm-inline-block{display:inline-block !important}.sd-d-sm-block{display:block !important}.sd-d-sm-grid{display:grid !important}.sd-d-sm-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-sm-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 768px){.sd-d-md-none{display:none !important}.sd-d-md-inline{display:inline !important}.sd-d-md-inline-block{display:inline-block !important}.sd-d-md-block{display:block !important}.sd-d-md-grid{display:grid !important}.sd-d-md-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-md-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 992px){.sd-d-lg-none{display:none !important}.sd-d-lg-inline{display:inline !important}.sd-d-lg-inline-block{display:inline-block !important}.sd-d-lg-block{display:block !important}.sd-d-lg-grid{display:grid !important}.sd-d-lg-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-lg-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 1200px){.sd-d-xl-none{display:none !important}.sd-d-xl-inline{display:inline !important}.sd-d-xl-inline-block{display:inline-block !important}.sd-d-xl-block{display:block !important}.sd-d-xl-grid{display:grid !important}.sd-d-xl-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-xl-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}.sd-align-major-start{justify-content:flex-start !important}.sd-align-major-end{justify-content:flex-end !important}.sd-align-major-center{justify-content:center !important}.sd-align-major-justify{justify-content:space-between !important}.sd-align-major-spaced{justify-content:space-evenly !important}.sd-align-minor-start{align-items:flex-start !important}.sd-align-minor-end{align-items:flex-end !important}.sd-align-minor-center{align-items:center !important}.sd-align-minor-stretch{align-items:stretch !important}.sd-text-justify{text-align:justify !important}.sd-text-left{text-align:left !important}.sd-text-right{text-align:right !important}.sd-text-center{text-align:center !important}.sd-font-weight-light{font-weight:300 !important}.sd-font-weight-lighter{font-weight:lighter !important}.sd-font-weight-normal{font-weight:400 !important}.sd-font-weight-bold{font-weight:700 !important}.sd-font-weight-bolder{font-weight:bolder !important}.sd-font-italic{font-style:italic !important}.sd-text-decoration-none{text-decoration:none !important}.sd-text-lowercase{text-transform:lowercase !important}.sd-text-uppercase{text-transform:uppercase !important}.sd-text-capitalize{text-transform:capitalize !important}.sd-text-wrap{white-space:normal !important}.sd-text-nowrap{white-space:nowrap !important}.sd-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-fs-1,.sd-fs-1>p{font-size:calc(1.375rem + 1.5vw) !important;line-height:unset !important}.sd-fs-2,.sd-fs-2>p{font-size:calc(1.325rem + 0.9vw) !important;line-height:unset !important}.sd-fs-3,.sd-fs-3>p{font-size:calc(1.3rem + 0.6vw) !important;line-height:unset !important}.sd-fs-4,.sd-fs-4>p{font-size:calc(1.275rem + 0.3vw) !important;line-height:unset !important}.sd-fs-5,.sd-fs-5>p{font-size:1.25rem !important;line-height:unset !important}.sd-fs-6,.sd-fs-6>p{font-size:1rem !important;line-height:unset !important}.sd-border-0{border:0 solid !important}.sd-border-top-0{border-top:0 solid !important}.sd-border-bottom-0{border-bottom:0 solid !important}.sd-border-right-0{border-right:0 solid !important}.sd-border-left-0{border-left:0 solid !important}.sd-border-1{border:1px solid !important}.sd-border-top-1{border-top:1px solid !important}.sd-border-bottom-1{border-bottom:1px solid !important}.sd-border-right-1{border-right:1px solid !important}.sd-border-left-1{border-left:1px solid !important}.sd-border-2{border:2px solid !important}.sd-border-top-2{border-top:2px solid !important}.sd-border-bottom-2{border-bottom:2px solid !important}.sd-border-right-2{border-right:2px solid !important}.sd-border-left-2{border-left:2px solid !important}.sd-border-3{border:3px solid !important}.sd-border-top-3{border-top:3px solid !important}.sd-border-bottom-3{border-bottom:3px solid !important}.sd-border-right-3{border-right:3px solid !important}.sd-border-left-3{border-left:3px solid !important}.sd-border-4{border:4px solid !important}.sd-border-top-4{border-top:4px solid !important}.sd-border-bottom-4{border-bottom:4px solid !important}.sd-border-right-4{border-right:4px solid !important}.sd-border-left-4{border-left:4px solid !important}.sd-border-5{border:5px solid !important}.sd-border-top-5{border-top:5px solid !important}.sd-border-bottom-5{border-bottom:5px solid !important}.sd-border-right-5{border-right:5px solid !important}.sd-border-left-5{border-left:5px solid !important}.sd-rounded-0{border-radius:0 !important}.sd-rounded-1{border-radius:.2rem !important}.sd-rounded-2{border-radius:.3rem !important}.sd-rounded-3{border-radius:.5rem !important}.sd-rounded-pill{border-radius:50rem !important}.sd-rounded-circle{border-radius:50% !important}.shadow-none{box-shadow:none !important}.sd-shadow-sm{box-shadow:0 .125rem .25rem var(--sd-color-shadow) !important}.sd-shadow-md{box-shadow:0 .5rem 1rem var(--sd-color-shadow) !important}.sd-shadow-lg{box-shadow:0 1rem 3rem var(--sd-color-shadow) !important}@keyframes sd-slide-from-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@keyframes sd-slide-from-right{0%{transform:translateX(200%)}100%{transform:translateX(0)}}@keyframes sd-grow100{0%{transform:scale(0);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50{0%{transform:scale(0.5);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50-rot20{0%{transform:scale(0.5) rotateZ(-20deg);opacity:.5}75%{transform:scale(1) rotateZ(5deg);opacity:1}95%{transform:scale(1) rotateZ(-1deg);opacity:1}100%{transform:scale(1) rotateZ(0);opacity:1}}.sd-animate-slide-from-left{animation:1s ease-out 0s 1 normal none running sd-slide-from-left}.sd-animate-slide-from-right{animation:1s ease-out 0s 1 normal none running sd-slide-from-right}.sd-animate-grow100{animation:1s ease-out 0s 1 normal none running sd-grow100}.sd-animate-grow50{animation:1s ease-out 0s 1 normal none running sd-grow50}.sd-animate-grow50-rot20{animation:1s ease-out 0s 1 normal none running sd-grow50-rot20}.sd-badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.sd-badge:empty{display:none}a.sd-badge{text-decoration:none}.sd-btn .sd-badge{position:relative;top:-1px}.sd-btn{background-color:transparent;border:1px solid transparent;border-radius:.25rem;cursor:pointer;display:inline-block;font-weight:400;font-size:1rem;line-height:1.5;padding:.375rem .75rem;text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:middle;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none}.sd-btn:hover{text-decoration:none}@media(prefers-reduced-motion: reduce){.sd-btn{transition:none}}.sd-btn-primary,.sd-btn-outline-primary:hover,.sd-btn-outline-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-primary:hover,.sd-btn-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary-highlight) !important;border-color:var(--sd-color-primary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-primary{color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary,.sd-btn-outline-secondary:hover,.sd-btn-outline-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary:hover,.sd-btn-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary-highlight) !important;border-color:var(--sd-color-secondary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-secondary{color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success,.sd-btn-outline-success:hover,.sd-btn-outline-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success:hover,.sd-btn-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success-highlight) !important;border-color:var(--sd-color-success-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-success{color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info,.sd-btn-outline-info:hover,.sd-btn-outline-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info:hover,.sd-btn-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info-highlight) !important;border-color:var(--sd-color-info-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-info{color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning,.sd-btn-outline-warning:hover,.sd-btn-outline-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning:hover,.sd-btn-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning-highlight) !important;border-color:var(--sd-color-warning-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-warning{color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger,.sd-btn-outline-danger:hover,.sd-btn-outline-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger:hover,.sd-btn-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger-highlight) !important;border-color:var(--sd-color-danger-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-danger{color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light,.sd-btn-outline-light:hover,.sd-btn-outline-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light:hover,.sd-btn-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light-highlight) !important;border-color:var(--sd-color-light-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-light{color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted,.sd-btn-outline-muted:hover,.sd-btn-outline-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted:hover,.sd-btn-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted-highlight) !important;border-color:var(--sd-color-muted-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-muted{color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark,.sd-btn-outline-dark:hover,.sd-btn-outline-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark:hover,.sd-btn-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark-highlight) !important;border-color:var(--sd-color-dark-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-dark{color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black,.sd-btn-outline-black:hover,.sd-btn-outline-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black:hover,.sd-btn-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black-highlight) !important;border-color:var(--sd-color-black-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-black{color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white,.sd-btn-outline-white:hover,.sd-btn-outline-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white:hover,.sd-btn-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white-highlight) !important;border-color:var(--sd-color-white-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-white{color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.sd-hide-link-text{font-size:0}.sd-octicon,.sd-material-icon{display:inline-block;fill:currentColor;vertical-align:middle}.sd-avatar-xs{border-radius:50%;object-fit:cover;object-position:center;width:1rem;height:1rem}.sd-avatar-sm{border-radius:50%;object-fit:cover;object-position:center;width:3rem;height:3rem}.sd-avatar-md{border-radius:50%;object-fit:cover;object-position:center;width:5rem;height:5rem}.sd-avatar-lg{border-radius:50%;object-fit:cover;object-position:center;width:7rem;height:7rem}.sd-avatar-xl{border-radius:50%;object-fit:cover;object-position:center;width:10rem;height:10rem}.sd-avatar-inherit{border-radius:50%;object-fit:cover;object-position:center;width:inherit;height:inherit}.sd-avatar-initial{border-radius:50%;object-fit:cover;object-position:center;width:initial;height:initial}.sd-card{background-clip:border-box;background-color:var(--sd-color-card-background);border:1px solid var(--sd-color-card-border);border-radius:.25rem;color:var(--sd-color-card-text);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;position:relative;word-wrap:break-word}.sd-card>hr{margin-left:0;margin-right:0}.sd-card-hover:hover{border-color:var(--sd-color-card-border-hover);transform:scale(1.01)}.sd-card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem 1rem}.sd-card-title{margin-bottom:.5rem}.sd-card-subtitle{margin-top:-0.25rem;margin-bottom:0}.sd-card-text:last-child{margin-bottom:0}.sd-card-link:hover{text-decoration:none}.sd-card-link+.card-link{margin-left:1rem}.sd-card-header{padding:.5rem 1rem;margin-bottom:0;background-color:var(--sd-color-card-header);border-bottom:1px solid var(--sd-color-card-border)}.sd-card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.sd-card-footer{padding:.5rem 1rem;background-color:var(--sd-color-card-footer);border-top:1px solid var(--sd-color-card-border)}.sd-card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.sd-card-header-tabs{margin-right:-0.5rem;margin-bottom:-0.5rem;margin-left:-0.5rem;border-bottom:0}.sd-card-header-pills{margin-right:-0.5rem;margin-left:-0.5rem}.sd-card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom,.sd-card-img-top{width:100%}.sd-card-img,.sd-card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom{border-bottom-left-radius:calc(0.25rem - 1px);border-bottom-right-radius:calc(0.25rem - 1px)}.sd-cards-carousel{width:100%;display:flex;flex-wrap:nowrap;-ms-flex-direction:row;flex-direction:row;overflow-x:hidden;scroll-snap-type:x mandatory}.sd-cards-carousel.sd-show-scrollbar{overflow-x:auto}.sd-cards-carousel:hover,.sd-cards-carousel:focus{overflow-x:auto}.sd-cards-carousel>.sd-card{flex-shrink:0;scroll-snap-align:start}.sd-cards-carousel>.sd-card:not(:last-child){margin-right:3px}.sd-card-cols-1>.sd-card{width:90%}.sd-card-cols-2>.sd-card{width:45%}.sd-card-cols-3>.sd-card{width:30%}.sd-card-cols-4>.sd-card{width:22.5%}.sd-card-cols-5>.sd-card{width:18%}.sd-card-cols-6>.sd-card{width:15%}.sd-card-cols-7>.sd-card{width:12.8571428571%}.sd-card-cols-8>.sd-card{width:11.25%}.sd-card-cols-9>.sd-card{width:10%}.sd-card-cols-10>.sd-card{width:9%}.sd-card-cols-11>.sd-card{width:8.1818181818%}.sd-card-cols-12>.sd-card{width:7.5%}.sd-container,.sd-container-fluid,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container-xl{margin-left:auto;margin-right:auto;padding-left:var(--sd-gutter-x, 0.75rem);padding-right:var(--sd-gutter-x, 0.75rem);width:100%}@media(min-width: 576px){.sd-container-sm,.sd-container{max-width:540px}}@media(min-width: 768px){.sd-container-md,.sd-container-sm,.sd-container{max-width:720px}}@media(min-width: 992px){.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:960px}}@media(min-width: 1200px){.sd-container-xl,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:1140px}}.sd-row{--sd-gutter-x: 1.5rem;--sd-gutter-y: 0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(var(--sd-gutter-y) * -1);margin-right:calc(var(--sd-gutter-x) * -0.5);margin-left:calc(var(--sd-gutter-x) * -0.5)}.sd-row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--sd-gutter-x) * 0.5);padding-left:calc(var(--sd-gutter-x) * 0.5);margin-top:var(--sd-gutter-y)}.sd-col{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-auto>*{flex:0 0 auto;width:auto}.sd-row-cols-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}@media(min-width: 576px){.sd-col-sm{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-sm-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-sm-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-sm-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-sm-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-sm-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-sm-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-sm-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-sm-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-sm-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-sm-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-sm-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-sm-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-sm-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 768px){.sd-col-md{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-md-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-md-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-md-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-md-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-md-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-md-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-md-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-md-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-md-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-md-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-md-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-md-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-md-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 992px){.sd-col-lg{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-lg-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-lg-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-lg-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-lg-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-lg-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-lg-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-lg-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-lg-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-lg-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-lg-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-lg-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-lg-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-lg-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 1200px){.sd-col-xl{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-xl-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-xl-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-xl-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-xl-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-xl-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-xl-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-xl-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-xl-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-xl-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-xl-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-xl-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-xl-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-xl-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}.sd-col-auto{flex:0 0 auto;-ms-flex:0 0 auto;width:auto}.sd-col-1{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}.sd-col-2{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-col-3{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-col-4{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-col-5{flex:0 0 auto;-ms-flex:0 0 auto;width:41.6666666667%}.sd-col-6{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-col-7{flex:0 0 auto;-ms-flex:0 0 auto;width:58.3333333333%}.sd-col-8{flex:0 0 auto;-ms-flex:0 0 auto;width:66.6666666667%}.sd-col-9{flex:0 0 auto;-ms-flex:0 0 auto;width:75%}.sd-col-10{flex:0 0 auto;-ms-flex:0 0 auto;width:83.3333333333%}.sd-col-11{flex:0 0 auto;-ms-flex:0 0 auto;width:91.6666666667%}.sd-col-12{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-g-0,.sd-gy-0{--sd-gutter-y: 0}.sd-g-0,.sd-gx-0{--sd-gutter-x: 0}.sd-g-1,.sd-gy-1{--sd-gutter-y: 0.25rem}.sd-g-1,.sd-gx-1{--sd-gutter-x: 0.25rem}.sd-g-2,.sd-gy-2{--sd-gutter-y: 0.5rem}.sd-g-2,.sd-gx-2{--sd-gutter-x: 0.5rem}.sd-g-3,.sd-gy-3{--sd-gutter-y: 1rem}.sd-g-3,.sd-gx-3{--sd-gutter-x: 1rem}.sd-g-4,.sd-gy-4{--sd-gutter-y: 1.5rem}.sd-g-4,.sd-gx-4{--sd-gutter-x: 1.5rem}.sd-g-5,.sd-gy-5{--sd-gutter-y: 3rem}.sd-g-5,.sd-gx-5{--sd-gutter-x: 3rem}@media(min-width: 576px){.sd-col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-sm-0,.sd-gy-sm-0{--sd-gutter-y: 0}.sd-g-sm-0,.sd-gx-sm-0{--sd-gutter-x: 0}.sd-g-sm-1,.sd-gy-sm-1{--sd-gutter-y: 0.25rem}.sd-g-sm-1,.sd-gx-sm-1{--sd-gutter-x: 0.25rem}.sd-g-sm-2,.sd-gy-sm-2{--sd-gutter-y: 0.5rem}.sd-g-sm-2,.sd-gx-sm-2{--sd-gutter-x: 0.5rem}.sd-g-sm-3,.sd-gy-sm-3{--sd-gutter-y: 1rem}.sd-g-sm-3,.sd-gx-sm-3{--sd-gutter-x: 1rem}.sd-g-sm-4,.sd-gy-sm-4{--sd-gutter-y: 1.5rem}.sd-g-sm-4,.sd-gx-sm-4{--sd-gutter-x: 1.5rem}.sd-g-sm-5,.sd-gy-sm-5{--sd-gutter-y: 3rem}.sd-g-sm-5,.sd-gx-sm-5{--sd-gutter-x: 3rem}}@media(min-width: 768px){.sd-col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-md-0,.sd-gy-md-0{--sd-gutter-y: 0}.sd-g-md-0,.sd-gx-md-0{--sd-gutter-x: 0}.sd-g-md-1,.sd-gy-md-1{--sd-gutter-y: 0.25rem}.sd-g-md-1,.sd-gx-md-1{--sd-gutter-x: 0.25rem}.sd-g-md-2,.sd-gy-md-2{--sd-gutter-y: 0.5rem}.sd-g-md-2,.sd-gx-md-2{--sd-gutter-x: 0.5rem}.sd-g-md-3,.sd-gy-md-3{--sd-gutter-y: 1rem}.sd-g-md-3,.sd-gx-md-3{--sd-gutter-x: 1rem}.sd-g-md-4,.sd-gy-md-4{--sd-gutter-y: 1.5rem}.sd-g-md-4,.sd-gx-md-4{--sd-gutter-x: 1.5rem}.sd-g-md-5,.sd-gy-md-5{--sd-gutter-y: 3rem}.sd-g-md-5,.sd-gx-md-5{--sd-gutter-x: 3rem}}@media(min-width: 992px){.sd-col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-lg-0,.sd-gy-lg-0{--sd-gutter-y: 0}.sd-g-lg-0,.sd-gx-lg-0{--sd-gutter-x: 0}.sd-g-lg-1,.sd-gy-lg-1{--sd-gutter-y: 0.25rem}.sd-g-lg-1,.sd-gx-lg-1{--sd-gutter-x: 0.25rem}.sd-g-lg-2,.sd-gy-lg-2{--sd-gutter-y: 0.5rem}.sd-g-lg-2,.sd-gx-lg-2{--sd-gutter-x: 0.5rem}.sd-g-lg-3,.sd-gy-lg-3{--sd-gutter-y: 1rem}.sd-g-lg-3,.sd-gx-lg-3{--sd-gutter-x: 1rem}.sd-g-lg-4,.sd-gy-lg-4{--sd-gutter-y: 1.5rem}.sd-g-lg-4,.sd-gx-lg-4{--sd-gutter-x: 1.5rem}.sd-g-lg-5,.sd-gy-lg-5{--sd-gutter-y: 3rem}.sd-g-lg-5,.sd-gx-lg-5{--sd-gutter-x: 3rem}}@media(min-width: 1200px){.sd-col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-xl-0,.sd-gy-xl-0{--sd-gutter-y: 0}.sd-g-xl-0,.sd-gx-xl-0{--sd-gutter-x: 0}.sd-g-xl-1,.sd-gy-xl-1{--sd-gutter-y: 0.25rem}.sd-g-xl-1,.sd-gx-xl-1{--sd-gutter-x: 0.25rem}.sd-g-xl-2,.sd-gy-xl-2{--sd-gutter-y: 0.5rem}.sd-g-xl-2,.sd-gx-xl-2{--sd-gutter-x: 0.5rem}.sd-g-xl-3,.sd-gy-xl-3{--sd-gutter-y: 1rem}.sd-g-xl-3,.sd-gx-xl-3{--sd-gutter-x: 1rem}.sd-g-xl-4,.sd-gy-xl-4{--sd-gutter-y: 1.5rem}.sd-g-xl-4,.sd-gx-xl-4{--sd-gutter-x: 1.5rem}.sd-g-xl-5,.sd-gy-xl-5{--sd-gutter-y: 3rem}.sd-g-xl-5,.sd-gx-xl-5{--sd-gutter-x: 3rem}}.sd-flex-row-reverse{flex-direction:row-reverse !important}details.sd-dropdown{position:relative;font-size:var(--sd-fontsize-dropdown)}details.sd-dropdown:hover{cursor:pointer}details.sd-dropdown .sd-summary-content{cursor:default}details.sd-dropdown summary.sd-summary-title{padding:.5em 1em;font-size:var(--sd-fontsize-dropdown-title);font-weight:var(--sd-fontweight-dropdown-title);user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;list-style:none;display:inline-flex;justify-content:space-between}details.sd-dropdown summary.sd-summary-title::-webkit-details-marker{display:none}details.sd-dropdown summary.sd-summary-title:focus{outline:none}details.sd-dropdown summary.sd-summary-title .sd-summary-icon{margin-right:.6em;display:inline-flex;align-items:center}details.sd-dropdown summary.sd-summary-title .sd-summary-icon svg{opacity:.8}details.sd-dropdown summary.sd-summary-title .sd-summary-text{flex-grow:1;line-height:1.5;padding-right:.5rem}details.sd-dropdown summary.sd-summary-title .sd-summary-state-marker{pointer-events:none;display:inline-flex;align-items:center}details.sd-dropdown summary.sd-summary-title .sd-summary-state-marker svg{opacity:.6}details.sd-dropdown summary.sd-summary-title:hover .sd-summary-state-marker svg{opacity:1;transform:scale(1.1)}details.sd-dropdown[open] summary .sd-octicon.no-title{visibility:hidden}details.sd-dropdown .sd-summary-chevron-right{transition:.25s}details.sd-dropdown[open]>.sd-summary-title .sd-summary-chevron-right{transform:rotate(90deg)}details.sd-dropdown[open]>.sd-summary-title .sd-summary-chevron-down{transform:rotate(180deg)}details.sd-dropdown:not([open]).sd-card{border:none}details.sd-dropdown:not([open])>.sd-card-header{border:1px solid var(--sd-color-card-border);border-radius:.25rem}details.sd-dropdown.sd-fade-in[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out;animation:sd-fade-in .5s ease-in-out}details.sd-dropdown.sd-fade-in-slide-down[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out}.sd-col>.sd-dropdown{width:100%}.sd-summary-content>.sd-tab-set:first-child{margin-top:0}@keyframes sd-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes sd-slide-down{0%{transform:translate(0, -10px)}100%{transform:translate(0, 0)}}.sd-tab-set{border-radius:.125rem;display:flex;flex-wrap:wrap;margin:1em 0;position:relative}.sd-tab-set>input{opacity:0;position:absolute}.sd-tab-set>input:checked+label{border-color:var(--sd-color-tabs-underline-active);color:var(--sd-color-tabs-label-active)}.sd-tab-set>input:checked+label+.sd-tab-content{display:block}.sd-tab-set>input:not(:checked)+label:hover{color:var(--sd-color-tabs-label-hover);border-color:var(--sd-color-tabs-underline-hover)}.sd-tab-set>input:focus+label{outline-style:auto}.sd-tab-set>input:not(.focus-visible)+label{outline:none;-webkit-tap-highlight-color:transparent}.sd-tab-set>label{border-bottom:.125rem solid transparent;margin-bottom:0;color:var(--sd-color-tabs-label-inactive);border-color:var(--sd-color-tabs-underline-inactive);cursor:pointer;font-size:var(--sd-fontsize-tabs-label);font-weight:700;padding:1em 1.25em .5em;transition:color 250ms;width:auto;z-index:1}html .sd-tab-set>label:hover{color:var(--sd-color-tabs-label-active)}.sd-col>.sd-tab-set{width:100%}.sd-tab-content{box-shadow:0 -0.0625rem var(--sd-color-tabs-overline),0 .0625rem var(--sd-color-tabs-underline);display:none;order:99;padding-bottom:.75rem;padding-top:.75rem;width:100%}.sd-tab-content>:first-child{margin-top:0 !important}.sd-tab-content>:last-child{margin-bottom:0 !important}.sd-tab-content>.sd-tab-set{margin:0}.sd-sphinx-override,.sd-sphinx-override *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sd-sphinx-override p{margin-top:0}:root{--sd-color-primary: #0071bc;--sd-color-secondary: #6c757d;--sd-color-success: #28a745;--sd-color-info: #17a2b8;--sd-color-warning: #f0b37e;--sd-color-danger: #dc3545;--sd-color-light: #f8f9fa;--sd-color-muted: #6c757d;--sd-color-dark: #212529;--sd-color-black: black;--sd-color-white: white;--sd-color-primary-highlight: #0060a0;--sd-color-secondary-highlight: #5c636a;--sd-color-success-highlight: #228e3b;--sd-color-info-highlight: #148a9c;--sd-color-warning-highlight: #cc986b;--sd-color-danger-highlight: #bb2d3b;--sd-color-light-highlight: #d3d4d5;--sd-color-muted-highlight: #5c636a;--sd-color-dark-highlight: #1c1f23;--sd-color-black-highlight: black;--sd-color-white-highlight: #d9d9d9;--sd-color-primary-bg: rgba(0, 113, 188, 0.2);--sd-color-secondary-bg: rgba(108, 117, 125, 0.2);--sd-color-success-bg: rgba(40, 167, 69, 0.2);--sd-color-info-bg: rgba(23, 162, 184, 0.2);--sd-color-warning-bg: rgba(240, 179, 126, 0.2);--sd-color-danger-bg: rgba(220, 53, 69, 0.2);--sd-color-light-bg: rgba(248, 249, 250, 0.2);--sd-color-muted-bg: rgba(108, 117, 125, 0.2);--sd-color-dark-bg: rgba(33, 37, 41, 0.2);--sd-color-black-bg: rgba(0, 0, 0, 0.2);--sd-color-white-bg: rgba(255, 255, 255, 0.2);--sd-color-primary-text: #fff;--sd-color-secondary-text: #fff;--sd-color-success-text: #fff;--sd-color-info-text: #fff;--sd-color-warning-text: #212529;--sd-color-danger-text: #fff;--sd-color-light-text: #212529;--sd-color-muted-text: #fff;--sd-color-dark-text: #fff;--sd-color-black-text: #fff;--sd-color-white-text: #212529;--sd-color-shadow: rgba(0, 0, 0, 0.15);--sd-color-card-border: rgba(0, 0, 0, 0.125);--sd-color-card-border-hover: hsla(231, 99%, 66%, 1);--sd-color-card-background: transparent;--sd-color-card-text: inherit;--sd-color-card-header: transparent;--sd-color-card-footer: transparent;--sd-color-tabs-label-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-hover: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-inactive: hsl(0, 0%, 66%);--sd-color-tabs-underline-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-underline-hover: rgba(178, 206, 245, 0.62);--sd-color-tabs-underline-inactive: transparent;--sd-color-tabs-overline: rgb(222, 222, 222);--sd-color-tabs-underline: rgb(222, 222, 222);--sd-fontsize-tabs-label: 1rem;--sd-fontsize-dropdown: inherit;--sd-fontsize-dropdown-title: 1rem;--sd-fontweight-dropdown-title: 700} +.sd-bg-primary{background-color:var(--sd-color-primary) !important}.sd-bg-text-primary{color:var(--sd-color-primary-text) !important}button.sd-bg-primary:focus,button.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}a.sd-bg-primary:focus,a.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}.sd-bg-secondary{background-color:var(--sd-color-secondary) !important}.sd-bg-text-secondary{color:var(--sd-color-secondary-text) !important}button.sd-bg-secondary:focus,button.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}a.sd-bg-secondary:focus,a.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}.sd-bg-success{background-color:var(--sd-color-success) !important}.sd-bg-text-success{color:var(--sd-color-success-text) !important}button.sd-bg-success:focus,button.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}a.sd-bg-success:focus,a.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}.sd-bg-info{background-color:var(--sd-color-info) !important}.sd-bg-text-info{color:var(--sd-color-info-text) !important}button.sd-bg-info:focus,button.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}a.sd-bg-info:focus,a.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}.sd-bg-warning{background-color:var(--sd-color-warning) !important}.sd-bg-text-warning{color:var(--sd-color-warning-text) !important}button.sd-bg-warning:focus,button.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}a.sd-bg-warning:focus,a.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}.sd-bg-danger{background-color:var(--sd-color-danger) !important}.sd-bg-text-danger{color:var(--sd-color-danger-text) !important}button.sd-bg-danger:focus,button.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}a.sd-bg-danger:focus,a.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}.sd-bg-light{background-color:var(--sd-color-light) !important}.sd-bg-text-light{color:var(--sd-color-light-text) !important}button.sd-bg-light:focus,button.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}a.sd-bg-light:focus,a.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}.sd-bg-muted{background-color:var(--sd-color-muted) !important}.sd-bg-text-muted{color:var(--sd-color-muted-text) !important}button.sd-bg-muted:focus,button.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}a.sd-bg-muted:focus,a.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}.sd-bg-dark{background-color:var(--sd-color-dark) !important}.sd-bg-text-dark{color:var(--sd-color-dark-text) !important}button.sd-bg-dark:focus,button.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}a.sd-bg-dark:focus,a.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}.sd-bg-black{background-color:var(--sd-color-black) !important}.sd-bg-text-black{color:var(--sd-color-black-text) !important}button.sd-bg-black:focus,button.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}a.sd-bg-black:focus,a.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}.sd-bg-white{background-color:var(--sd-color-white) !important}.sd-bg-text-white{color:var(--sd-color-white-text) !important}button.sd-bg-white:focus,button.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}a.sd-bg-white:focus,a.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}.sd-text-primary,.sd-text-primary>p{color:var(--sd-color-primary) !important}a.sd-text-primary:focus,a.sd-text-primary:hover{color:var(--sd-color-primary-highlight) !important}.sd-text-secondary,.sd-text-secondary>p{color:var(--sd-color-secondary) !important}a.sd-text-secondary:focus,a.sd-text-secondary:hover{color:var(--sd-color-secondary-highlight) !important}.sd-text-success,.sd-text-success>p{color:var(--sd-color-success) !important}a.sd-text-success:focus,a.sd-text-success:hover{color:var(--sd-color-success-highlight) !important}.sd-text-info,.sd-text-info>p{color:var(--sd-color-info) !important}a.sd-text-info:focus,a.sd-text-info:hover{color:var(--sd-color-info-highlight) !important}.sd-text-warning,.sd-text-warning>p{color:var(--sd-color-warning) !important}a.sd-text-warning:focus,a.sd-text-warning:hover{color:var(--sd-color-warning-highlight) !important}.sd-text-danger,.sd-text-danger>p{color:var(--sd-color-danger) !important}a.sd-text-danger:focus,a.sd-text-danger:hover{color:var(--sd-color-danger-highlight) !important}.sd-text-light,.sd-text-light>p{color:var(--sd-color-light) !important}a.sd-text-light:focus,a.sd-text-light:hover{color:var(--sd-color-light-highlight) !important}.sd-text-muted,.sd-text-muted>p{color:var(--sd-color-muted) !important}a.sd-text-muted:focus,a.sd-text-muted:hover{color:var(--sd-color-muted-highlight) !important}.sd-text-dark,.sd-text-dark>p{color:var(--sd-color-dark) !important}a.sd-text-dark:focus,a.sd-text-dark:hover{color:var(--sd-color-dark-highlight) !important}.sd-text-black,.sd-text-black>p{color:var(--sd-color-black) !important}a.sd-text-black:focus,a.sd-text-black:hover{color:var(--sd-color-black-highlight) !important}.sd-text-white,.sd-text-white>p{color:var(--sd-color-white) !important}a.sd-text-white:focus,a.sd-text-white:hover{color:var(--sd-color-white-highlight) !important}.sd-outline-primary{border-color:var(--sd-color-primary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-primary:focus,a.sd-outline-primary:hover{border-color:var(--sd-color-primary-highlight) !important}.sd-outline-secondary{border-color:var(--sd-color-secondary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-secondary:focus,a.sd-outline-secondary:hover{border-color:var(--sd-color-secondary-highlight) !important}.sd-outline-success{border-color:var(--sd-color-success) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-success:focus,a.sd-outline-success:hover{border-color:var(--sd-color-success-highlight) !important}.sd-outline-info{border-color:var(--sd-color-info) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-info:focus,a.sd-outline-info:hover{border-color:var(--sd-color-info-highlight) !important}.sd-outline-warning{border-color:var(--sd-color-warning) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-warning:focus,a.sd-outline-warning:hover{border-color:var(--sd-color-warning-highlight) !important}.sd-outline-danger{border-color:var(--sd-color-danger) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-danger:focus,a.sd-outline-danger:hover{border-color:var(--sd-color-danger-highlight) !important}.sd-outline-light{border-color:var(--sd-color-light) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-light:focus,a.sd-outline-light:hover{border-color:var(--sd-color-light-highlight) !important}.sd-outline-muted{border-color:var(--sd-color-muted) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-muted:focus,a.sd-outline-muted:hover{border-color:var(--sd-color-muted-highlight) !important}.sd-outline-dark{border-color:var(--sd-color-dark) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-dark:focus,a.sd-outline-dark:hover{border-color:var(--sd-color-dark-highlight) !important}.sd-outline-black{border-color:var(--sd-color-black) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-black:focus,a.sd-outline-black:hover{border-color:var(--sd-color-black-highlight) !important}.sd-outline-white{border-color:var(--sd-color-white) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-white:focus,a.sd-outline-white:hover{border-color:var(--sd-color-white-highlight) !important}.sd-bg-transparent{background-color:transparent !important}.sd-outline-transparent{border-color:transparent !important}.sd-text-transparent{color:transparent !important}.sd-p-0{padding:0 !important}.sd-pt-0,.sd-py-0{padding-top:0 !important}.sd-pr-0,.sd-px-0{padding-right:0 !important}.sd-pb-0,.sd-py-0{padding-bottom:0 !important}.sd-pl-0,.sd-px-0{padding-left:0 !important}.sd-p-1{padding:.25rem !important}.sd-pt-1,.sd-py-1{padding-top:.25rem !important}.sd-pr-1,.sd-px-1{padding-right:.25rem !important}.sd-pb-1,.sd-py-1{padding-bottom:.25rem !important}.sd-pl-1,.sd-px-1{padding-left:.25rem !important}.sd-p-2{padding:.5rem !important}.sd-pt-2,.sd-py-2{padding-top:.5rem !important}.sd-pr-2,.sd-px-2{padding-right:.5rem !important}.sd-pb-2,.sd-py-2{padding-bottom:.5rem !important}.sd-pl-2,.sd-px-2{padding-left:.5rem !important}.sd-p-3{padding:1rem !important}.sd-pt-3,.sd-py-3{padding-top:1rem !important}.sd-pr-3,.sd-px-3{padding-right:1rem !important}.sd-pb-3,.sd-py-3{padding-bottom:1rem !important}.sd-pl-3,.sd-px-3{padding-left:1rem !important}.sd-p-4{padding:1.5rem !important}.sd-pt-4,.sd-py-4{padding-top:1.5rem !important}.sd-pr-4,.sd-px-4{padding-right:1.5rem !important}.sd-pb-4,.sd-py-4{padding-bottom:1.5rem !important}.sd-pl-4,.sd-px-4{padding-left:1.5rem !important}.sd-p-5{padding:3rem !important}.sd-pt-5,.sd-py-5{padding-top:3rem !important}.sd-pr-5,.sd-px-5{padding-right:3rem !important}.sd-pb-5,.sd-py-5{padding-bottom:3rem !important}.sd-pl-5,.sd-px-5{padding-left:3rem !important}.sd-m-auto{margin:auto !important}.sd-mt-auto,.sd-my-auto{margin-top:auto !important}.sd-mr-auto,.sd-mx-auto{margin-right:auto !important}.sd-mb-auto,.sd-my-auto{margin-bottom:auto !important}.sd-ml-auto,.sd-mx-auto{margin-left:auto !important}.sd-m-0{margin:0 !important}.sd-mt-0,.sd-my-0{margin-top:0 !important}.sd-mr-0,.sd-mx-0{margin-right:0 !important}.sd-mb-0,.sd-my-0{margin-bottom:0 !important}.sd-ml-0,.sd-mx-0{margin-left:0 !important}.sd-m-1{margin:.25rem !important}.sd-mt-1,.sd-my-1{margin-top:.25rem !important}.sd-mr-1,.sd-mx-1{margin-right:.25rem !important}.sd-mb-1,.sd-my-1{margin-bottom:.25rem !important}.sd-ml-1,.sd-mx-1{margin-left:.25rem !important}.sd-m-2{margin:.5rem !important}.sd-mt-2,.sd-my-2{margin-top:.5rem !important}.sd-mr-2,.sd-mx-2{margin-right:.5rem !important}.sd-mb-2,.sd-my-2{margin-bottom:.5rem !important}.sd-ml-2,.sd-mx-2{margin-left:.5rem !important}.sd-m-3{margin:1rem !important}.sd-mt-3,.sd-my-3{margin-top:1rem !important}.sd-mr-3,.sd-mx-3{margin-right:1rem !important}.sd-mb-3,.sd-my-3{margin-bottom:1rem !important}.sd-ml-3,.sd-mx-3{margin-left:1rem !important}.sd-m-4{margin:1.5rem !important}.sd-mt-4,.sd-my-4{margin-top:1.5rem !important}.sd-mr-4,.sd-mx-4{margin-right:1.5rem !important}.sd-mb-4,.sd-my-4{margin-bottom:1.5rem !important}.sd-ml-4,.sd-mx-4{margin-left:1.5rem !important}.sd-m-5{margin:3rem !important}.sd-mt-5,.sd-my-5{margin-top:3rem !important}.sd-mr-5,.sd-mx-5{margin-right:3rem !important}.sd-mb-5,.sd-my-5{margin-bottom:3rem !important}.sd-ml-5,.sd-mx-5{margin-left:3rem !important}.sd-w-25{width:25% !important}.sd-w-50{width:50% !important}.sd-w-75{width:75% !important}.sd-w-100{width:100% !important}.sd-w-auto{width:auto !important}.sd-h-25{height:25% !important}.sd-h-50{height:50% !important}.sd-h-75{height:75% !important}.sd-h-100{height:100% !important}.sd-h-auto{height:auto !important}.sd-d-none{display:none !important}.sd-d-inline{display:inline !important}.sd-d-inline-block{display:inline-block !important}.sd-d-block{display:block !important}.sd-d-grid{display:grid !important}.sd-d-flex-row{display:-ms-flexbox !important;display:flex !important;flex-direction:row !important}.sd-d-flex-column{display:-ms-flexbox !important;display:flex !important;flex-direction:column !important}.sd-d-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}@media(min-width: 576px){.sd-d-sm-none{display:none !important}.sd-d-sm-inline{display:inline !important}.sd-d-sm-inline-block{display:inline-block !important}.sd-d-sm-block{display:block !important}.sd-d-sm-grid{display:grid !important}.sd-d-sm-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-sm-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 768px){.sd-d-md-none{display:none !important}.sd-d-md-inline{display:inline !important}.sd-d-md-inline-block{display:inline-block !important}.sd-d-md-block{display:block !important}.sd-d-md-grid{display:grid !important}.sd-d-md-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-md-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 992px){.sd-d-lg-none{display:none !important}.sd-d-lg-inline{display:inline !important}.sd-d-lg-inline-block{display:inline-block !important}.sd-d-lg-block{display:block !important}.sd-d-lg-grid{display:grid !important}.sd-d-lg-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-lg-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 1200px){.sd-d-xl-none{display:none !important}.sd-d-xl-inline{display:inline !important}.sd-d-xl-inline-block{display:inline-block !important}.sd-d-xl-block{display:block !important}.sd-d-xl-grid{display:grid !important}.sd-d-xl-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-xl-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}.sd-align-major-start{justify-content:flex-start !important}.sd-align-major-end{justify-content:flex-end !important}.sd-align-major-center{justify-content:center !important}.sd-align-major-justify{justify-content:space-between !important}.sd-align-major-spaced{justify-content:space-evenly !important}.sd-align-minor-start{align-items:flex-start !important}.sd-align-minor-end{align-items:flex-end !important}.sd-align-minor-center{align-items:center !important}.sd-align-minor-stretch{align-items:stretch !important}.sd-text-justify{text-align:justify !important}.sd-text-left{text-align:left !important}.sd-text-right{text-align:right !important}.sd-text-center{text-align:center !important}.sd-font-weight-light{font-weight:300 !important}.sd-font-weight-lighter{font-weight:lighter !important}.sd-font-weight-normal{font-weight:400 !important}.sd-font-weight-bold{font-weight:700 !important}.sd-font-weight-bolder{font-weight:bolder !important}.sd-font-italic{font-style:italic !important}.sd-text-decoration-none{text-decoration:none !important}.sd-text-lowercase{text-transform:lowercase !important}.sd-text-uppercase{text-transform:uppercase !important}.sd-text-capitalize{text-transform:capitalize !important}.sd-text-wrap{white-space:normal !important}.sd-text-nowrap{white-space:nowrap !important}.sd-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-fs-1,.sd-fs-1>p{font-size:calc(1.375rem + 1.5vw) !important;line-height:unset !important}.sd-fs-2,.sd-fs-2>p{font-size:calc(1.325rem + 0.9vw) !important;line-height:unset !important}.sd-fs-3,.sd-fs-3>p{font-size:calc(1.3rem + 0.6vw) !important;line-height:unset !important}.sd-fs-4,.sd-fs-4>p{font-size:calc(1.275rem + 0.3vw) !important;line-height:unset !important}.sd-fs-5,.sd-fs-5>p{font-size:1.25rem !important;line-height:unset !important}.sd-fs-6,.sd-fs-6>p{font-size:1rem !important;line-height:unset !important}.sd-border-0{border:0 solid !important}.sd-border-top-0{border-top:0 solid !important}.sd-border-bottom-0{border-bottom:0 solid !important}.sd-border-right-0{border-right:0 solid !important}.sd-border-left-0{border-left:0 solid !important}.sd-border-1{border:1px solid !important}.sd-border-top-1{border-top:1px solid !important}.sd-border-bottom-1{border-bottom:1px solid !important}.sd-border-right-1{border-right:1px solid !important}.sd-border-left-1{border-left:1px solid !important}.sd-border-2{border:2px solid !important}.sd-border-top-2{border-top:2px solid !important}.sd-border-bottom-2{border-bottom:2px solid !important}.sd-border-right-2{border-right:2px solid !important}.sd-border-left-2{border-left:2px solid !important}.sd-border-3{border:3px solid !important}.sd-border-top-3{border-top:3px solid !important}.sd-border-bottom-3{border-bottom:3px solid !important}.sd-border-right-3{border-right:3px solid !important}.sd-border-left-3{border-left:3px solid !important}.sd-border-4{border:4px solid !important}.sd-border-top-4{border-top:4px solid !important}.sd-border-bottom-4{border-bottom:4px solid !important}.sd-border-right-4{border-right:4px solid !important}.sd-border-left-4{border-left:4px solid !important}.sd-border-5{border:5px solid !important}.sd-border-top-5{border-top:5px solid !important}.sd-border-bottom-5{border-bottom:5px solid !important}.sd-border-right-5{border-right:5px solid !important}.sd-border-left-5{border-left:5px solid !important}.sd-rounded-0{border-radius:0 !important}.sd-rounded-1{border-radius:.2rem !important}.sd-rounded-2{border-radius:.3rem !important}.sd-rounded-3{border-radius:.5rem !important}.sd-rounded-pill{border-radius:50rem !important}.sd-rounded-circle{border-radius:50% !important}.shadow-none{box-shadow:none !important}.sd-shadow-sm{box-shadow:0 .125rem .25rem var(--sd-color-shadow) !important}.sd-shadow-md{box-shadow:0 .5rem 1rem var(--sd-color-shadow) !important}.sd-shadow-lg{box-shadow:0 1rem 3rem var(--sd-color-shadow) !important}@keyframes sd-slide-from-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@keyframes sd-slide-from-right{0%{transform:translateX(200%)}100%{transform:translateX(0)}}@keyframes sd-grow100{0%{transform:scale(0);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50{0%{transform:scale(0.5);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50-rot20{0%{transform:scale(0.5) rotateZ(-20deg);opacity:.5}75%{transform:scale(1) rotateZ(5deg);opacity:1}95%{transform:scale(1) rotateZ(-1deg);opacity:1}100%{transform:scale(1) rotateZ(0);opacity:1}}.sd-animate-slide-from-left{animation:1s ease-out 0s 1 normal none running sd-slide-from-left}.sd-animate-slide-from-right{animation:1s ease-out 0s 1 normal none running sd-slide-from-right}.sd-animate-grow100{animation:1s ease-out 0s 1 normal none running sd-grow100}.sd-animate-grow50{animation:1s ease-out 0s 1 normal none running sd-grow50}.sd-animate-grow50-rot20{animation:1s ease-out 0s 1 normal none running sd-grow50-rot20}.sd-badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.sd-badge:empty{display:none}a.sd-badge{text-decoration:none}.sd-btn .sd-badge{position:relative;top:-1px}.sd-btn{background-color:transparent;border:1px solid transparent;border-radius:.25rem;cursor:pointer;display:inline-block;font-weight:400;font-size:1rem;line-height:1.5;padding:.375rem .75rem;text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:middle;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none}.sd-btn:hover{text-decoration:none}@media(prefers-reduced-motion: reduce){.sd-btn{transition:none}}.sd-btn-primary,.sd-btn-outline-primary:hover,.sd-btn-outline-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-primary:hover,.sd-btn-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary-highlight) !important;border-color:var(--sd-color-primary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-primary{color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary,.sd-btn-outline-secondary:hover,.sd-btn-outline-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary:hover,.sd-btn-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary-highlight) !important;border-color:var(--sd-color-secondary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-secondary{color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success,.sd-btn-outline-success:hover,.sd-btn-outline-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success:hover,.sd-btn-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success-highlight) !important;border-color:var(--sd-color-success-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-success{color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info,.sd-btn-outline-info:hover,.sd-btn-outline-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info:hover,.sd-btn-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info-highlight) !important;border-color:var(--sd-color-info-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-info{color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning,.sd-btn-outline-warning:hover,.sd-btn-outline-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning:hover,.sd-btn-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning-highlight) !important;border-color:var(--sd-color-warning-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-warning{color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger,.sd-btn-outline-danger:hover,.sd-btn-outline-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger:hover,.sd-btn-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger-highlight) !important;border-color:var(--sd-color-danger-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-danger{color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light,.sd-btn-outline-light:hover,.sd-btn-outline-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light:hover,.sd-btn-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light-highlight) !important;border-color:var(--sd-color-light-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-light{color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted,.sd-btn-outline-muted:hover,.sd-btn-outline-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted:hover,.sd-btn-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted-highlight) !important;border-color:var(--sd-color-muted-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-muted{color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark,.sd-btn-outline-dark:hover,.sd-btn-outline-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark:hover,.sd-btn-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark-highlight) !important;border-color:var(--sd-color-dark-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-dark{color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black,.sd-btn-outline-black:hover,.sd-btn-outline-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black:hover,.sd-btn-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black-highlight) !important;border-color:var(--sd-color-black-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-black{color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white,.sd-btn-outline-white:hover,.sd-btn-outline-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white:hover,.sd-btn-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white-highlight) !important;border-color:var(--sd-color-white-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-white{color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.sd-hide-link-text{font-size:0}.sd-octicon,.sd-material-icon{display:inline-block;fill:currentColor;vertical-align:middle}.sd-avatar-xs{border-radius:50%;object-fit:cover;object-position:center;width:1rem;height:1rem}.sd-avatar-sm{border-radius:50%;object-fit:cover;object-position:center;width:3rem;height:3rem}.sd-avatar-md{border-radius:50%;object-fit:cover;object-position:center;width:5rem;height:5rem}.sd-avatar-lg{border-radius:50%;object-fit:cover;object-position:center;width:7rem;height:7rem}.sd-avatar-xl{border-radius:50%;object-fit:cover;object-position:center;width:10rem;height:10rem}.sd-avatar-inherit{border-radius:50%;object-fit:cover;object-position:center;width:inherit;height:inherit}.sd-avatar-initial{border-radius:50%;object-fit:cover;object-position:center;width:initial;height:initial}.sd-card{background-clip:border-box;background-color:var(--sd-color-card-background);border:1px solid var(--sd-color-card-border);border-radius:.25rem;color:var(--sd-color-card-text);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;position:relative;word-wrap:break-word}.sd-card>hr{margin-left:0;margin-right:0}.sd-card-hover:hover{border-color:var(--sd-color-card-border-hover);transform:scale(1.01)}.sd-card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem 1rem}.sd-card-title{margin-bottom:.5rem}.sd-card-subtitle{margin-top:-0.25rem;margin-bottom:0}.sd-card-text:last-child{margin-bottom:0}.sd-card-link:hover{text-decoration:none}.sd-card-link+.card-link{margin-left:1rem}.sd-card-header{padding:.5rem 1rem;margin-bottom:0;background-color:var(--sd-color-card-header);border-bottom:1px solid var(--sd-color-card-border)}.sd-card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.sd-card-footer{padding:.5rem 1rem;background-color:var(--sd-color-card-footer);border-top:1px solid var(--sd-color-card-border)}.sd-card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.sd-card-header-tabs{margin-right:-0.5rem;margin-bottom:-0.5rem;margin-left:-0.5rem;border-bottom:0}.sd-card-header-pills{margin-right:-0.5rem;margin-left:-0.5rem}.sd-card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom,.sd-card-img-top{width:100%}.sd-card-img,.sd-card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom{border-bottom-left-radius:calc(0.25rem - 1px);border-bottom-right-radius:calc(0.25rem - 1px)}.sd-cards-carousel{width:100%;display:flex;flex-wrap:nowrap;-ms-flex-direction:row;flex-direction:row;overflow-x:hidden;scroll-snap-type:x mandatory}.sd-cards-carousel.sd-show-scrollbar{overflow-x:auto}.sd-cards-carousel:hover,.sd-cards-carousel:focus{overflow-x:auto}.sd-cards-carousel>.sd-card{flex-shrink:0;scroll-snap-align:start}.sd-cards-carousel>.sd-card:not(:last-child){margin-right:3px}.sd-card-cols-1>.sd-card{width:90%}.sd-card-cols-2>.sd-card{width:45%}.sd-card-cols-3>.sd-card{width:30%}.sd-card-cols-4>.sd-card{width:22.5%}.sd-card-cols-5>.sd-card{width:18%}.sd-card-cols-6>.sd-card{width:15%}.sd-card-cols-7>.sd-card{width:12.8571428571%}.sd-card-cols-8>.sd-card{width:11.25%}.sd-card-cols-9>.sd-card{width:10%}.sd-card-cols-10>.sd-card{width:9%}.sd-card-cols-11>.sd-card{width:8.1818181818%}.sd-card-cols-12>.sd-card{width:7.5%}.sd-container,.sd-container-fluid,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container-xl{margin-left:auto;margin-right:auto;padding-left:var(--sd-gutter-x, 0.75rem);padding-right:var(--sd-gutter-x, 0.75rem);width:100%}@media(min-width: 576px){.sd-container-sm,.sd-container{max-width:540px}}@media(min-width: 768px){.sd-container-md,.sd-container-sm,.sd-container{max-width:720px}}@media(min-width: 992px){.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:960px}}@media(min-width: 1200px){.sd-container-xl,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:1140px}}.sd-row{--sd-gutter-x: 1.5rem;--sd-gutter-y: 0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(var(--sd-gutter-y) * -1);margin-right:calc(var(--sd-gutter-x) * -0.5);margin-left:calc(var(--sd-gutter-x) * -0.5)}.sd-row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--sd-gutter-x) * 0.5);padding-left:calc(var(--sd-gutter-x) * 0.5);margin-top:var(--sd-gutter-y)}.sd-col{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-auto>*{flex:0 0 auto;width:auto}.sd-row-cols-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}@media(min-width: 576px){.sd-col-sm{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-sm-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-sm-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-sm-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-sm-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-sm-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-sm-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-sm-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-sm-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-sm-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-sm-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-sm-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-sm-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-sm-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 768px){.sd-col-md{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-md-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-md-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-md-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-md-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-md-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-md-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-md-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-md-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-md-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-md-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-md-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-md-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-md-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 992px){.sd-col-lg{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-lg-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-lg-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-lg-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-lg-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-lg-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-lg-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-lg-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-lg-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-lg-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-lg-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-lg-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-lg-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-lg-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 1200px){.sd-col-xl{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-xl-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-xl-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-xl-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-xl-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-xl-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-xl-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-xl-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-xl-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-xl-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-xl-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-xl-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-xl-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-xl-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}.sd-col-auto{flex:0 0 auto;-ms-flex:0 0 auto;width:auto}.sd-col-1{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}.sd-col-2{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-col-3{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-col-4{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-col-5{flex:0 0 auto;-ms-flex:0 0 auto;width:41.6666666667%}.sd-col-6{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-col-7{flex:0 0 auto;-ms-flex:0 0 auto;width:58.3333333333%}.sd-col-8{flex:0 0 auto;-ms-flex:0 0 auto;width:66.6666666667%}.sd-col-9{flex:0 0 auto;-ms-flex:0 0 auto;width:75%}.sd-col-10{flex:0 0 auto;-ms-flex:0 0 auto;width:83.3333333333%}.sd-col-11{flex:0 0 auto;-ms-flex:0 0 auto;width:91.6666666667%}.sd-col-12{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-g-0,.sd-gy-0{--sd-gutter-y: 0}.sd-g-0,.sd-gx-0{--sd-gutter-x: 0}.sd-g-1,.sd-gy-1{--sd-gutter-y: 0.25rem}.sd-g-1,.sd-gx-1{--sd-gutter-x: 0.25rem}.sd-g-2,.sd-gy-2{--sd-gutter-y: 0.5rem}.sd-g-2,.sd-gx-2{--sd-gutter-x: 0.5rem}.sd-g-3,.sd-gy-3{--sd-gutter-y: 1rem}.sd-g-3,.sd-gx-3{--sd-gutter-x: 1rem}.sd-g-4,.sd-gy-4{--sd-gutter-y: 1.5rem}.sd-g-4,.sd-gx-4{--sd-gutter-x: 1.5rem}.sd-g-5,.sd-gy-5{--sd-gutter-y: 3rem}.sd-g-5,.sd-gx-5{--sd-gutter-x: 3rem}@media(min-width: 576px){.sd-col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-sm-0,.sd-gy-sm-0{--sd-gutter-y: 0}.sd-g-sm-0,.sd-gx-sm-0{--sd-gutter-x: 0}.sd-g-sm-1,.sd-gy-sm-1{--sd-gutter-y: 0.25rem}.sd-g-sm-1,.sd-gx-sm-1{--sd-gutter-x: 0.25rem}.sd-g-sm-2,.sd-gy-sm-2{--sd-gutter-y: 0.5rem}.sd-g-sm-2,.sd-gx-sm-2{--sd-gutter-x: 0.5rem}.sd-g-sm-3,.sd-gy-sm-3{--sd-gutter-y: 1rem}.sd-g-sm-3,.sd-gx-sm-3{--sd-gutter-x: 1rem}.sd-g-sm-4,.sd-gy-sm-4{--sd-gutter-y: 1.5rem}.sd-g-sm-4,.sd-gx-sm-4{--sd-gutter-x: 1.5rem}.sd-g-sm-5,.sd-gy-sm-5{--sd-gutter-y: 3rem}.sd-g-sm-5,.sd-gx-sm-5{--sd-gutter-x: 3rem}}@media(min-width: 768px){.sd-col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-md-0,.sd-gy-md-0{--sd-gutter-y: 0}.sd-g-md-0,.sd-gx-md-0{--sd-gutter-x: 0}.sd-g-md-1,.sd-gy-md-1{--sd-gutter-y: 0.25rem}.sd-g-md-1,.sd-gx-md-1{--sd-gutter-x: 0.25rem}.sd-g-md-2,.sd-gy-md-2{--sd-gutter-y: 0.5rem}.sd-g-md-2,.sd-gx-md-2{--sd-gutter-x: 0.5rem}.sd-g-md-3,.sd-gy-md-3{--sd-gutter-y: 1rem}.sd-g-md-3,.sd-gx-md-3{--sd-gutter-x: 1rem}.sd-g-md-4,.sd-gy-md-4{--sd-gutter-y: 1.5rem}.sd-g-md-4,.sd-gx-md-4{--sd-gutter-x: 1.5rem}.sd-g-md-5,.sd-gy-md-5{--sd-gutter-y: 3rem}.sd-g-md-5,.sd-gx-md-5{--sd-gutter-x: 3rem}}@media(min-width: 992px){.sd-col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-lg-0,.sd-gy-lg-0{--sd-gutter-y: 0}.sd-g-lg-0,.sd-gx-lg-0{--sd-gutter-x: 0}.sd-g-lg-1,.sd-gy-lg-1{--sd-gutter-y: 0.25rem}.sd-g-lg-1,.sd-gx-lg-1{--sd-gutter-x: 0.25rem}.sd-g-lg-2,.sd-gy-lg-2{--sd-gutter-y: 0.5rem}.sd-g-lg-2,.sd-gx-lg-2{--sd-gutter-x: 0.5rem}.sd-g-lg-3,.sd-gy-lg-3{--sd-gutter-y: 1rem}.sd-g-lg-3,.sd-gx-lg-3{--sd-gutter-x: 1rem}.sd-g-lg-4,.sd-gy-lg-4{--sd-gutter-y: 1.5rem}.sd-g-lg-4,.sd-gx-lg-4{--sd-gutter-x: 1.5rem}.sd-g-lg-5,.sd-gy-lg-5{--sd-gutter-y: 3rem}.sd-g-lg-5,.sd-gx-lg-5{--sd-gutter-x: 3rem}}@media(min-width: 1200px){.sd-col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-xl-0,.sd-gy-xl-0{--sd-gutter-y: 0}.sd-g-xl-0,.sd-gx-xl-0{--sd-gutter-x: 0}.sd-g-xl-1,.sd-gy-xl-1{--sd-gutter-y: 0.25rem}.sd-g-xl-1,.sd-gx-xl-1{--sd-gutter-x: 0.25rem}.sd-g-xl-2,.sd-gy-xl-2{--sd-gutter-y: 0.5rem}.sd-g-xl-2,.sd-gx-xl-2{--sd-gutter-x: 0.5rem}.sd-g-xl-3,.sd-gy-xl-3{--sd-gutter-y: 1rem}.sd-g-xl-3,.sd-gx-xl-3{--sd-gutter-x: 1rem}.sd-g-xl-4,.sd-gy-xl-4{--sd-gutter-y: 1.5rem}.sd-g-xl-4,.sd-gx-xl-4{--sd-gutter-x: 1.5rem}.sd-g-xl-5,.sd-gy-xl-5{--sd-gutter-y: 3rem}.sd-g-xl-5,.sd-gx-xl-5{--sd-gutter-x: 3rem}}.sd-flex-row-reverse{flex-direction:row-reverse !important}details.sd-dropdown{position:relative;font-size:var(--sd-fontsize-dropdown)}details.sd-dropdown:hover{cursor:pointer}details.sd-dropdown .sd-summary-content{cursor:default}details.sd-dropdown summary.sd-summary-title{padding:.5em .6em .5em 1em;font-size:var(--sd-fontsize-dropdown-title);font-weight:var(--sd-fontweight-dropdown-title);user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;list-style:none;display:inline-flex;justify-content:space-between}details.sd-dropdown summary.sd-summary-title::-webkit-details-marker{display:none}details.sd-dropdown summary.sd-summary-title:focus{outline:none}details.sd-dropdown summary.sd-summary-title .sd-summary-icon{margin-right:.6em;display:inline-flex;align-items:center}details.sd-dropdown summary.sd-summary-title .sd-summary-icon svg{opacity:.8}details.sd-dropdown summary.sd-summary-title .sd-summary-text{flex-grow:1;line-height:1.5;padding-right:.5rem}details.sd-dropdown summary.sd-summary-title .sd-summary-state-marker{pointer-events:none;display:inline-flex;align-items:center}details.sd-dropdown summary.sd-summary-title .sd-summary-state-marker svg{opacity:.6}details.sd-dropdown summary.sd-summary-title:hover .sd-summary-state-marker svg{opacity:1;transform:scale(1.1)}details.sd-dropdown[open] summary .sd-octicon.no-title{visibility:hidden}details.sd-dropdown .sd-summary-chevron-right{transition:.25s}details.sd-dropdown[open]>.sd-summary-title .sd-summary-chevron-right{transform:rotate(90deg)}details.sd-dropdown[open]>.sd-summary-title .sd-summary-chevron-down{transform:rotate(180deg)}details.sd-dropdown:not([open]).sd-card{border:none}details.sd-dropdown:not([open])>.sd-card-header{border:1px solid var(--sd-color-card-border);border-radius:.25rem}details.sd-dropdown.sd-fade-in[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out;animation:sd-fade-in .5s ease-in-out}details.sd-dropdown.sd-fade-in-slide-down[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out}.sd-col>.sd-dropdown{width:100%}.sd-summary-content>.sd-tab-set:first-child{margin-top:0}@keyframes sd-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes sd-slide-down{0%{transform:translate(0, -10px)}100%{transform:translate(0, 0)}}.sd-tab-set{border-radius:.125rem;display:flex;flex-wrap:wrap;margin:1em 0;position:relative}.sd-tab-set>input{opacity:0;position:absolute}.sd-tab-set>input:checked+label{border-color:var(--sd-color-tabs-underline-active);color:var(--sd-color-tabs-label-active)}.sd-tab-set>input:checked+label+.sd-tab-content{display:block}.sd-tab-set>input:not(:checked)+label:hover{color:var(--sd-color-tabs-label-hover);border-color:var(--sd-color-tabs-underline-hover)}.sd-tab-set>input:focus+label{outline-style:auto}.sd-tab-set>input:not(.focus-visible)+label{outline:none;-webkit-tap-highlight-color:transparent}.sd-tab-set>label{border-bottom:.125rem solid transparent;margin-bottom:0;color:var(--sd-color-tabs-label-inactive);border-color:var(--sd-color-tabs-underline-inactive);cursor:pointer;font-size:var(--sd-fontsize-tabs-label);font-weight:700;padding:1em 1.25em .5em;transition:color 250ms;width:auto;z-index:1}html .sd-tab-set>label:hover{color:var(--sd-color-tabs-label-active)}.sd-col>.sd-tab-set{width:100%}.sd-tab-content{box-shadow:0 -0.0625rem var(--sd-color-tabs-overline),0 .0625rem var(--sd-color-tabs-underline);display:none;order:99;padding-bottom:.75rem;padding-top:.75rem;width:100%}.sd-tab-content>:first-child{margin-top:0 !important}.sd-tab-content>:last-child{margin-bottom:0 !important}.sd-tab-content>.sd-tab-set{margin:0}.sd-sphinx-override,.sd-sphinx-override *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sd-sphinx-override p{margin-top:0}:root{--sd-color-primary: #0071bc;--sd-color-secondary: #6c757d;--sd-color-success: #28a745;--sd-color-info: #17a2b8;--sd-color-warning: #f0b37e;--sd-color-danger: #dc3545;--sd-color-light: #f8f9fa;--sd-color-muted: #6c757d;--sd-color-dark: #212529;--sd-color-black: black;--sd-color-white: white;--sd-color-primary-highlight: #0060a0;--sd-color-secondary-highlight: #5c636a;--sd-color-success-highlight: #228e3b;--sd-color-info-highlight: #148a9c;--sd-color-warning-highlight: #cc986b;--sd-color-danger-highlight: #bb2d3b;--sd-color-light-highlight: #d3d4d5;--sd-color-muted-highlight: #5c636a;--sd-color-dark-highlight: #1c1f23;--sd-color-black-highlight: black;--sd-color-white-highlight: #d9d9d9;--sd-color-primary-bg: rgba(0, 113, 188, 0.2);--sd-color-secondary-bg: rgba(108, 117, 125, 0.2);--sd-color-success-bg: rgba(40, 167, 69, 0.2);--sd-color-info-bg: rgba(23, 162, 184, 0.2);--sd-color-warning-bg: rgba(240, 179, 126, 0.2);--sd-color-danger-bg: rgba(220, 53, 69, 0.2);--sd-color-light-bg: rgba(248, 249, 250, 0.2);--sd-color-muted-bg: rgba(108, 117, 125, 0.2);--sd-color-dark-bg: rgba(33, 37, 41, 0.2);--sd-color-black-bg: rgba(0, 0, 0, 0.2);--sd-color-white-bg: rgba(255, 255, 255, 0.2);--sd-color-primary-text: #fff;--sd-color-secondary-text: #fff;--sd-color-success-text: #fff;--sd-color-info-text: #fff;--sd-color-warning-text: #212529;--sd-color-danger-text: #fff;--sd-color-light-text: #212529;--sd-color-muted-text: #fff;--sd-color-dark-text: #fff;--sd-color-black-text: #fff;--sd-color-white-text: #212529;--sd-color-shadow: rgba(0, 0, 0, 0.15);--sd-color-card-border: rgba(0, 0, 0, 0.125);--sd-color-card-border-hover: hsla(231, 99%, 66%, 1);--sd-color-card-background: transparent;--sd-color-card-text: inherit;--sd-color-card-header: transparent;--sd-color-card-footer: transparent;--sd-color-tabs-label-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-hover: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-inactive: hsl(0, 0%, 66%);--sd-color-tabs-underline-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-underline-hover: rgba(178, 206, 245, 0.62);--sd-color-tabs-underline-inactive: transparent;--sd-color-tabs-overline: rgb(222, 222, 222);--sd-color-tabs-underline: rgb(222, 222, 222);--sd-fontsize-tabs-label: 1rem;--sd-fontsize-dropdown: inherit;--sd-fontsize-dropdown-title: 1rem;--sd-fontweight-dropdown-title: 700} diff --git a/_static/locales/ar/LC_MESSAGES/booktheme.po b/_static/locales/ar/LC_MESSAGES/booktheme.po index edae2ec4..34d404c6 100644 --- a/_static/locales/ar/LC_MESSAGES/booktheme.po +++ b/_static/locales/ar/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: ar\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "طباعة إلى PDF" + msgid "Theme by the" msgstr "موضوع بواسطة" -msgid "Open an issue" -msgstr "افتح قضية" +msgid "Download source file" +msgstr "تنزيل ملف المصدر" + +msgid "open issue" +msgstr "قضية مفتوحة" msgid "Contents" msgstr "محتويات" +msgid "previous page" +msgstr "الصفحة السابقة" + msgid "Download notebook file" msgstr "تنزيل ملف دفتر الملاحظات" -msgid "Sphinx Book Theme" -msgstr "موضوع كتاب أبو الهول" - -msgid "Fullscreen mode" -msgstr "وضع ملء الشاشة" - -msgid "Edit this page" -msgstr "قم بتحرير هذه الصفحة" - -msgid "By" -msgstr "بواسطة" - msgid "Copyright" msgstr "حقوق النشر" +msgid "Download this page" +msgstr "قم بتنزيل هذه الصفحة" + msgid "Source repository" msgstr "مستودع المصدر" -msgid "previous page" -msgstr "الصفحة السابقة" +msgid "By" +msgstr "بواسطة" -msgid "next page" -msgstr "الصفحة التالية" +msgid "repository" +msgstr "مخزن" + +msgid "Last updated on" +msgstr "آخر تحديث في" msgid "Toggle navigation" msgstr "تبديل التنقل" -msgid "repository" -msgstr "مخزن" +msgid "Sphinx Book Theme" +msgstr "موضوع كتاب أبو الهول" msgid "suggest edit" msgstr "أقترح تحرير" -msgid "open issue" -msgstr "قضية مفتوحة" +msgid "Open an issue" +msgstr "افتح قضية" msgid "Launch" msgstr "إطلاق" -msgid "Print to PDF" -msgstr "طباعة إلى PDF" +msgid "Fullscreen mode" +msgstr "وضع ملء الشاشة" + +msgid "Edit this page" +msgstr "قم بتحرير هذه الصفحة" msgid "By the" msgstr "بواسطة" -msgid "Last updated on" -msgstr "آخر تحديث في" - -msgid "Download source file" -msgstr "تنزيل ملف المصدر" - -msgid "Download this page" -msgstr "قم بتنزيل هذه الصفحة" +msgid "next page" +msgstr "الصفحة التالية" diff --git a/_static/locales/bg/LC_MESSAGES/booktheme.po b/_static/locales/bg/LC_MESSAGES/booktheme.po index 1f363b9d..7420c19e 100644 --- a/_static/locales/bg/LC_MESSAGES/booktheme.po +++ b/_static/locales/bg/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Печат в PDF" + msgid "Theme by the" msgstr "Тема от" -msgid "Open an issue" -msgstr "Отворете проблем" +msgid "Download source file" +msgstr "Изтеглете изходния файл" + +msgid "open issue" +msgstr "отворен брой" msgid "Contents" msgstr "Съдържание" +msgid "previous page" +msgstr "предишна страница" + msgid "Download notebook file" msgstr "Изтеглете файла на бележника" -msgid "Sphinx Book Theme" -msgstr "Тема на книгата Sphinx" - -msgid "Fullscreen mode" -msgstr "Режим на цял екран" - -msgid "Edit this page" -msgstr "Редактирайте тази страница" - -msgid "By" -msgstr "От" - msgid "Copyright" msgstr "Авторско право" +msgid "Download this page" +msgstr "Изтеглете тази страница" + msgid "Source repository" msgstr "Хранилище на източника" -msgid "previous page" -msgstr "предишна страница" +msgid "By" +msgstr "От" -msgid "next page" -msgstr "Следваща страница" +msgid "repository" +msgstr "хранилище" + +msgid "Last updated on" +msgstr "Последна актуализация на" msgid "Toggle navigation" msgstr "Превключване на навигацията" -msgid "repository" -msgstr "хранилище" +msgid "Sphinx Book Theme" +msgstr "Тема на книгата Sphinx" msgid "suggest edit" msgstr "предложи редактиране" -msgid "open issue" -msgstr "отворен брой" +msgid "Open an issue" +msgstr "Отворете проблем" msgid "Launch" msgstr "Стартиране" -msgid "Print to PDF" -msgstr "Печат в PDF" +msgid "Fullscreen mode" +msgstr "Режим на цял екран" + +msgid "Edit this page" +msgstr "Редактирайте тази страница" msgid "By the" msgstr "По" -msgid "Last updated on" -msgstr "Последна актуализация на" - -msgid "Download source file" -msgstr "Изтеглете изходния файл" - -msgid "Download this page" -msgstr "Изтеглете тази страница" +msgid "next page" +msgstr "Следваща страница" diff --git a/_static/locales/bn/LC_MESSAGES/booktheme.po b/_static/locales/bn/LC_MESSAGES/booktheme.po index fa543728..63a07c36 100644 --- a/_static/locales/bn/LC_MESSAGES/booktheme.po +++ b/_static/locales/bn/LC_MESSAGES/booktheme.po @@ -8,56 +8,56 @@ msgstr "" "Language: bn\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "পিডিএফ প্রিন্ট করুন" + msgid "Theme by the" msgstr "থিম দ্বারা" -msgid "Open an issue" -msgstr "একটি সমস্যা খুলুন" - -msgid "Download notebook file" -msgstr "নোটবুক ফাইল ডাউনলোড করুন" +msgid "Download source file" +msgstr "উত্স ফাইল ডাউনলোড করুন" -msgid "Sphinx Book Theme" -msgstr "স্পিনিক্স বুক থিম" +msgid "open issue" +msgstr "খোলা সমস্যা" -msgid "Edit this page" -msgstr "এই পৃষ্ঠাটি সম্পাদনা করুন" +msgid "previous page" +msgstr "আগের পৃষ্ঠা" -msgid "By" -msgstr "দ্বারা" +msgid "Download notebook file" +msgstr "নোটবুক ফাইল ডাউনলোড করুন" msgid "Copyright" msgstr "কপিরাইট" +msgid "Download this page" +msgstr "এই পৃষ্ঠাটি ডাউনলোড করুন" + msgid "Source repository" msgstr "উত্স সংগ্রহস্থল" -msgid "previous page" -msgstr "আগের পৃষ্ঠা" +msgid "By" +msgstr "দ্বারা" -msgid "next page" -msgstr "পরবর্তী পৃষ্ঠা" +msgid "Last updated on" +msgstr "সর্বশেষ আপডেট" msgid "Toggle navigation" msgstr "নেভিগেশন টগল করুন" -msgid "open issue" -msgstr "খোলা সমস্যা" +msgid "Sphinx Book Theme" +msgstr "স্পিনিক্স বুক থিম" + +msgid "Open an issue" +msgstr "একটি সমস্যা খুলুন" msgid "Launch" msgstr "শুরু করা" -msgid "Print to PDF" -msgstr "পিডিএফ প্রিন্ট করুন" +msgid "Edit this page" +msgstr "এই পৃষ্ঠাটি সম্পাদনা করুন" msgid "By the" msgstr "দ্বারা" -msgid "Last updated on" -msgstr "সর্বশেষ আপডেট" - -msgid "Download source file" -msgstr "উত্স ফাইল ডাউনলোড করুন" - -msgid "Download this page" -msgstr "এই পৃষ্ঠাটি ডাউনলোড করুন" +msgid "next page" +msgstr "পরবর্তী পৃষ্ঠা" diff --git a/_static/locales/ca/LC_MESSAGES/booktheme.po b/_static/locales/ca/LC_MESSAGES/booktheme.po index 22f1569a..8fb358bf 100644 --- a/_static/locales/ca/LC_MESSAGES/booktheme.po +++ b/_static/locales/ca/LC_MESSAGES/booktheme.po @@ -8,59 +8,59 @@ msgstr "" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Imprimeix a PDF" + msgid "Theme by the" msgstr "Tema del" -msgid "Open an issue" -msgstr "Obriu un número" - -msgid "Download notebook file" -msgstr "Descarregar fitxer de quadern" +msgid "Download source file" +msgstr "Baixeu el fitxer font" -msgid "Sphinx Book Theme" -msgstr "Tema del llibre Esfinx" +msgid "open issue" +msgstr "número obert" -msgid "Edit this page" -msgstr "Editeu aquesta pàgina" +msgid "previous page" +msgstr "Pàgina anterior" -msgid "By" -msgstr "Per" +msgid "Download notebook file" +msgstr "Descarregar fitxer de quadern" msgid "Copyright" msgstr "Copyright" +msgid "Download this page" +msgstr "Descarregueu aquesta pàgina" + msgid "Source repository" msgstr "Dipòsit de fonts" -msgid "previous page" -msgstr "Pàgina anterior" +msgid "By" +msgstr "Per" -msgid "next page" -msgstr "pàgina següent" +msgid "Last updated on" +msgstr "Darrera actualització el" msgid "Toggle navigation" msgstr "Commuta la navegació" +msgid "Sphinx Book Theme" +msgstr "Tema del llibre Esfinx" + msgid "suggest edit" msgstr "suggerir edició" -msgid "open issue" -msgstr "número obert" +msgid "Open an issue" +msgstr "Obriu un número" msgid "Launch" msgstr "Llançament" -msgid "Print to PDF" -msgstr "Imprimeix a PDF" +msgid "Edit this page" +msgstr "Editeu aquesta pàgina" msgid "By the" msgstr "Per la" -msgid "Last updated on" -msgstr "Darrera actualització el" - -msgid "Download source file" -msgstr "Baixeu el fitxer font" - -msgid "Download this page" -msgstr "Descarregueu aquesta pàgina" +msgid "next page" +msgstr "pàgina següent" diff --git a/_static/locales/cs/LC_MESSAGES/booktheme.po b/_static/locales/cs/LC_MESSAGES/booktheme.po index afecd9e7..c6ef4690 100644 --- a/_static/locales/cs/LC_MESSAGES/booktheme.po +++ b/_static/locales/cs/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: cs\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Tisk do PDF" + msgid "Theme by the" msgstr "Téma od" -msgid "Open an issue" -msgstr "Otevřete problém" +msgid "Download source file" +msgstr "Stáhněte si zdrojový soubor" + +msgid "open issue" +msgstr "otevřené číslo" msgid "Contents" msgstr "Obsah" +msgid "previous page" +msgstr "předchozí stránka" + msgid "Download notebook file" msgstr "Stáhnout soubor poznámkového bloku" -msgid "Sphinx Book Theme" -msgstr "Téma knihy Sfinga" - -msgid "Fullscreen mode" -msgstr "Režim celé obrazovky" - -msgid "Edit this page" -msgstr "Upravit tuto stránku" - -msgid "By" -msgstr "Podle" - msgid "Copyright" msgstr "autorská práva" +msgid "Download this page" +msgstr "Stáhněte si tuto stránku" + msgid "Source repository" msgstr "Zdrojové úložiště" -msgid "previous page" -msgstr "předchozí stránka" +msgid "By" +msgstr "Podle" -msgid "next page" -msgstr "další strana" +msgid "repository" +msgstr "úložiště" + +msgid "Last updated on" +msgstr "Naposledy aktualizováno" msgid "Toggle navigation" msgstr "Přepnout navigaci" -msgid "repository" -msgstr "úložiště" +msgid "Sphinx Book Theme" +msgstr "Téma knihy Sfinga" msgid "suggest edit" msgstr "navrhnout úpravy" -msgid "open issue" -msgstr "otevřené číslo" +msgid "Open an issue" +msgstr "Otevřete problém" msgid "Launch" msgstr "Zahájení" -msgid "Print to PDF" -msgstr "Tisk do PDF" +msgid "Fullscreen mode" +msgstr "Režim celé obrazovky" + +msgid "Edit this page" +msgstr "Upravit tuto stránku" msgid "By the" msgstr "Podle" -msgid "Last updated on" -msgstr "Naposledy aktualizováno" - -msgid "Download source file" -msgstr "Stáhněte si zdrojový soubor" - -msgid "Download this page" -msgstr "Stáhněte si tuto stránku" +msgid "next page" +msgstr "další strana" diff --git a/_static/locales/da/LC_MESSAGES/booktheme.po b/_static/locales/da/LC_MESSAGES/booktheme.po index 649c78a8..306a38e5 100644 --- a/_static/locales/da/LC_MESSAGES/booktheme.po +++ b/_static/locales/da/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Udskriv til PDF" + msgid "Theme by the" msgstr "Tema af" -msgid "Open an issue" -msgstr "Åbn et problem" +msgid "Download source file" +msgstr "Download kildefil" + +msgid "open issue" +msgstr "åbent nummer" msgid "Contents" msgstr "Indhold" +msgid "previous page" +msgstr "forrige side" + msgid "Download notebook file" msgstr "Download notesbog-fil" -msgid "Sphinx Book Theme" -msgstr "Sphinx bogtema" - -msgid "Fullscreen mode" -msgstr "Fuldskærmstilstand" - -msgid "Edit this page" -msgstr "Rediger denne side" - -msgid "By" -msgstr "Ved" - msgid "Copyright" msgstr "ophavsret" +msgid "Download this page" +msgstr "Download denne side" + msgid "Source repository" msgstr "Kildelager" -msgid "previous page" -msgstr "forrige side" +msgid "By" +msgstr "Ved" -msgid "next page" -msgstr "Næste side" +msgid "repository" +msgstr "lager" + +msgid "Last updated on" +msgstr "Sidst opdateret den" msgid "Toggle navigation" msgstr "Skift navigation" -msgid "repository" -msgstr "lager" +msgid "Sphinx Book Theme" +msgstr "Sphinx bogtema" msgid "suggest edit" msgstr "foreslå redigering" -msgid "open issue" -msgstr "åbent nummer" +msgid "Open an issue" +msgstr "Åbn et problem" msgid "Launch" msgstr "Start" -msgid "Print to PDF" -msgstr "Udskriv til PDF" +msgid "Fullscreen mode" +msgstr "Fuldskærmstilstand" + +msgid "Edit this page" +msgstr "Rediger denne side" msgid "By the" msgstr "Ved" -msgid "Last updated on" -msgstr "Sidst opdateret den" - -msgid "Download source file" -msgstr "Download kildefil" - -msgid "Download this page" -msgstr "Download denne side" +msgid "next page" +msgstr "Næste side" diff --git a/_static/locales/de/LC_MESSAGES/booktheme.po b/_static/locales/de/LC_MESSAGES/booktheme.po index f51d2ecc..4925360d 100644 --- a/_static/locales/de/LC_MESSAGES/booktheme.po +++ b/_static/locales/de/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "In PDF drucken" + msgid "Theme by the" msgstr "Thema von der" -msgid "Open an issue" -msgstr "Öffnen Sie ein Problem" +msgid "Download source file" +msgstr "Quelldatei herunterladen" + +msgid "open issue" +msgstr "offenes Thema" msgid "Contents" msgstr "Inhalt" +msgid "previous page" +msgstr "vorherige Seite" + msgid "Download notebook file" msgstr "Notebook-Datei herunterladen" -msgid "Sphinx Book Theme" -msgstr "Sphinx-Buch-Thema" - -msgid "Fullscreen mode" -msgstr "Vollbildmodus" - -msgid "Edit this page" -msgstr "Bearbeite diese Seite" - -msgid "By" -msgstr "Durch" - msgid "Copyright" msgstr "Urheberrechte ©" +msgid "Download this page" +msgstr "Laden Sie diese Seite herunter" + msgid "Source repository" msgstr "Quell-Repository" -msgid "previous page" -msgstr "vorherige Seite" +msgid "By" +msgstr "Durch" -msgid "next page" -msgstr "Nächste Seite" +msgid "repository" +msgstr "Repository" + +msgid "Last updated on" +msgstr "Zuletzt aktualisiert am" msgid "Toggle navigation" msgstr "Navigation umschalten" -msgid "repository" -msgstr "Repository" +msgid "Sphinx Book Theme" +msgstr "Sphinx-Buch-Thema" msgid "suggest edit" msgstr "vorschlagen zu bearbeiten" -msgid "open issue" -msgstr "offenes Thema" +msgid "Open an issue" +msgstr "Öffnen Sie ein Problem" msgid "Launch" msgstr "Starten" -msgid "Print to PDF" -msgstr "In PDF drucken" +msgid "Fullscreen mode" +msgstr "Vollbildmodus" + +msgid "Edit this page" +msgstr "Bearbeite diese Seite" msgid "By the" msgstr "Bis zum" -msgid "Last updated on" -msgstr "Zuletzt aktualisiert am" - -msgid "Download source file" -msgstr "Quelldatei herunterladen" - -msgid "Download this page" -msgstr "Laden Sie diese Seite herunter" +msgid "next page" +msgstr "Nächste Seite" diff --git a/_static/locales/el/LC_MESSAGES/booktheme.po b/_static/locales/el/LC_MESSAGES/booktheme.po index 8bec7905..3e01acbd 100644 --- a/_static/locales/el/LC_MESSAGES/booktheme.po +++ b/_static/locales/el/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Εκτύπωση σε PDF" + msgid "Theme by the" msgstr "Θέμα από το" -msgid "Open an issue" -msgstr "Ανοίξτε ένα ζήτημα" +msgid "Download source file" +msgstr "Λήψη αρχείου προέλευσης" + +msgid "open issue" +msgstr "ανοιχτό ζήτημα" msgid "Contents" msgstr "Περιεχόμενα" +msgid "previous page" +msgstr "προηγούμενη σελίδα" + msgid "Download notebook file" msgstr "Λήψη αρχείου σημειωματάριου" -msgid "Sphinx Book Theme" -msgstr "Θέμα βιβλίου Sphinx" - -msgid "Fullscreen mode" -msgstr "ΛΕΙΤΟΥΡΓΙΑ ΠΛΗΡΟΥΣ ΟΘΟΝΗΣ" - -msgid "Edit this page" -msgstr "Επεξεργαστείτε αυτήν τη σελίδα" - -msgid "By" -msgstr "Με" - msgid "Copyright" msgstr "Πνευματική ιδιοκτησία" +msgid "Download this page" +msgstr "Λήψη αυτής της σελίδας" + msgid "Source repository" msgstr "Αποθήκη πηγής" -msgid "previous page" -msgstr "προηγούμενη σελίδα" +msgid "By" +msgstr "Με" -msgid "next page" -msgstr "επόμενη σελίδα" +msgid "repository" +msgstr "αποθήκη" + +msgid "Last updated on" +msgstr "Τελευταία ενημέρωση στις" msgid "Toggle navigation" msgstr "Εναλλαγή πλοήγησης" -msgid "repository" -msgstr "αποθήκη" +msgid "Sphinx Book Theme" +msgstr "Θέμα βιβλίου Sphinx" msgid "suggest edit" msgstr "προτείνω επεξεργασία" -msgid "open issue" -msgstr "ανοιχτό ζήτημα" +msgid "Open an issue" +msgstr "Ανοίξτε ένα ζήτημα" msgid "Launch" msgstr "Εκτόξευση" -msgid "Print to PDF" -msgstr "Εκτύπωση σε PDF" +msgid "Fullscreen mode" +msgstr "ΛΕΙΤΟΥΡΓΙΑ ΠΛΗΡΟΥΣ ΟΘΟΝΗΣ" + +msgid "Edit this page" +msgstr "Επεξεργαστείτε αυτήν τη σελίδα" msgid "By the" msgstr "Από το" -msgid "Last updated on" -msgstr "Τελευταία ενημέρωση στις" - -msgid "Download source file" -msgstr "Λήψη αρχείου προέλευσης" - -msgid "Download this page" -msgstr "Λήψη αυτής της σελίδας" +msgid "next page" +msgstr "επόμενη σελίδα" diff --git a/_static/locales/eo/LC_MESSAGES/booktheme.po b/_static/locales/eo/LC_MESSAGES/booktheme.po index d72a0481..f7ed2262 100644 --- a/_static/locales/eo/LC_MESSAGES/booktheme.po +++ b/_static/locales/eo/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: eo\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Presi al PDF" + msgid "Theme by the" msgstr "Temo de la" -msgid "Open an issue" -msgstr "Malfermu numeron" +msgid "Download source file" +msgstr "Elŝutu fontodosieron" + +msgid "open issue" +msgstr "malferma numero" msgid "Contents" msgstr "Enhavo" +msgid "previous page" +msgstr "antaŭa paĝo" + msgid "Download notebook file" msgstr "Elŝutu kajeran dosieron" -msgid "Sphinx Book Theme" -msgstr "Sfinksa Libro-Temo" - -msgid "Fullscreen mode" -msgstr "Plenekrana reĝimo" - -msgid "Edit this page" -msgstr "Redaktu ĉi tiun paĝon" - -msgid "By" -msgstr "De" - msgid "Copyright" msgstr "Kopirajto" +msgid "Download this page" +msgstr "Elŝutu ĉi tiun paĝon" + msgid "Source repository" msgstr "Fonto-deponejo" -msgid "previous page" -msgstr "antaŭa paĝo" +msgid "By" +msgstr "De" -msgid "next page" -msgstr "sekva paĝo" +msgid "repository" +msgstr "deponejo" + +msgid "Last updated on" +msgstr "Laste ĝisdatigita la" msgid "Toggle navigation" msgstr "Ŝalti navigadon" -msgid "repository" -msgstr "deponejo" +msgid "Sphinx Book Theme" +msgstr "Sfinksa Libro-Temo" msgid "suggest edit" msgstr "sugesti redaktadon" -msgid "open issue" -msgstr "malferma numero" +msgid "Open an issue" +msgstr "Malfermu numeron" msgid "Launch" msgstr "Lanĉo" -msgid "Print to PDF" -msgstr "Presi al PDF" +msgid "Fullscreen mode" +msgstr "Plenekrana reĝimo" + +msgid "Edit this page" +msgstr "Redaktu ĉi tiun paĝon" msgid "By the" msgstr "Per la" -msgid "Last updated on" -msgstr "Laste ĝisdatigita la" - -msgid "Download source file" -msgstr "Elŝutu fontodosieron" - -msgid "Download this page" -msgstr "Elŝutu ĉi tiun paĝon" +msgid "next page" +msgstr "sekva paĝo" diff --git a/_static/locales/es/LC_MESSAGES/booktheme.po b/_static/locales/es/LC_MESSAGES/booktheme.po index 611834b2..5e0029e5 100644 --- a/_static/locales/es/LC_MESSAGES/booktheme.po +++ b/_static/locales/es/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Imprimir en PDF" + msgid "Theme by the" msgstr "Tema por el" -msgid "Open an issue" -msgstr "Abrir un problema" +msgid "Download source file" +msgstr "Descargar archivo fuente" + +msgid "open issue" +msgstr "Tema abierto" msgid "Contents" msgstr "Contenido" +msgid "previous page" +msgstr "pagina anterior" + msgid "Download notebook file" msgstr "Descargar archivo de cuaderno" -msgid "Sphinx Book Theme" -msgstr "Tema del libro de la esfinge" - -msgid "Fullscreen mode" -msgstr "Modo de pantalla completa" - -msgid "Edit this page" -msgstr "Edita esta página" - -msgid "By" -msgstr "Por" - msgid "Copyright" msgstr "Derechos de autor" +msgid "Download this page" +msgstr "Descarga esta pagina" + msgid "Source repository" msgstr "Repositorio de origen" -msgid "previous page" -msgstr "pagina anterior" +msgid "By" +msgstr "Por" -msgid "next page" -msgstr "siguiente página" +msgid "repository" +msgstr "repositorio" + +msgid "Last updated on" +msgstr "Ultima actualización en" msgid "Toggle navigation" msgstr "Navegación de palanca" -msgid "repository" -msgstr "repositorio" +msgid "Sphinx Book Theme" +msgstr "Tema del libro de la esfinge" msgid "suggest edit" msgstr "sugerir editar" -msgid "open issue" -msgstr "Tema abierto" +msgid "Open an issue" +msgstr "Abrir un problema" msgid "Launch" msgstr "Lanzamiento" -msgid "Print to PDF" -msgstr "Imprimir en PDF" +msgid "Fullscreen mode" +msgstr "Modo de pantalla completa" + +msgid "Edit this page" +msgstr "Edita esta página" msgid "By the" msgstr "Por el" -msgid "Last updated on" -msgstr "Ultima actualización en" - -msgid "Download source file" -msgstr "Descargar archivo fuente" - -msgid "Download this page" -msgstr "Descarga esta pagina" +msgid "next page" +msgstr "siguiente página" diff --git a/_static/locales/et/LC_MESSAGES/booktheme.po b/_static/locales/et/LC_MESSAGES/booktheme.po index 345088f0..8680982a 100644 --- a/_static/locales/et/LC_MESSAGES/booktheme.po +++ b/_static/locales/et/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: et\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Prindi PDF-i" + msgid "Theme by the" msgstr "Teema" -msgid "Open an issue" -msgstr "Avage probleem" +msgid "Download source file" +msgstr "Laadige alla lähtefail" + +msgid "open issue" +msgstr "avatud küsimus" msgid "Contents" msgstr "Sisu" +msgid "previous page" +msgstr "eelmine leht" + msgid "Download notebook file" msgstr "Laadige sülearvuti fail alla" -msgid "Sphinx Book Theme" -msgstr "Sfinksiraamatu teema" - -msgid "Fullscreen mode" -msgstr "Täisekraanirežiim" - -msgid "Edit this page" -msgstr "Muutke seda lehte" - -msgid "By" -msgstr "Kõrval" - msgid "Copyright" msgstr "Autoriõigus" +msgid "Download this page" +msgstr "Laadige see leht alla" + msgid "Source repository" msgstr "Allikahoidla" -msgid "previous page" -msgstr "eelmine leht" +msgid "By" +msgstr "Kõrval" -msgid "next page" -msgstr "järgmine leht" +msgid "repository" +msgstr "hoidla" + +msgid "Last updated on" +msgstr "Viimati uuendatud" msgid "Toggle navigation" msgstr "Lülita navigeerimine sisse" -msgid "repository" -msgstr "hoidla" +msgid "Sphinx Book Theme" +msgstr "Sfinksiraamatu teema" msgid "suggest edit" msgstr "soovita muuta" -msgid "open issue" -msgstr "avatud küsimus" +msgid "Open an issue" +msgstr "Avage probleem" msgid "Launch" msgstr "Käivitage" -msgid "Print to PDF" -msgstr "Prindi PDF-i" +msgid "Fullscreen mode" +msgstr "Täisekraanirežiim" + +msgid "Edit this page" +msgstr "Muutke seda lehte" msgid "By the" msgstr "Autor" -msgid "Last updated on" -msgstr "Viimati uuendatud" - -msgid "Download source file" -msgstr "Laadige alla lähtefail" - -msgid "Download this page" -msgstr "Laadige see leht alla" +msgid "next page" +msgstr "järgmine leht" diff --git a/_static/locales/fi/LC_MESSAGES/booktheme.po b/_static/locales/fi/LC_MESSAGES/booktheme.po index d97a08dc..34dac218 100644 --- a/_static/locales/fi/LC_MESSAGES/booktheme.po +++ b/_static/locales/fi/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: fi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Tulosta PDF-tiedostoon" + msgid "Theme by the" msgstr "Teeman tekijä" -msgid "Open an issue" -msgstr "Avaa ongelma" +msgid "Download source file" +msgstr "Lataa lähdetiedosto" + +msgid "open issue" +msgstr "avoin ongelma" msgid "Contents" msgstr "Sisällys" +msgid "previous page" +msgstr "Edellinen sivu" + msgid "Download notebook file" msgstr "Lataa muistikirjatiedosto" -msgid "Sphinx Book Theme" -msgstr "Sphinx-kirjan teema" - -msgid "Fullscreen mode" -msgstr "Koko näytön tila" - -msgid "Edit this page" -msgstr "Muokkaa tätä sivua" - -msgid "By" -msgstr "Tekijä" - msgid "Copyright" msgstr "Tekijänoikeus" +msgid "Download this page" +msgstr "Lataa tämä sivu" + msgid "Source repository" msgstr "Lähteen arkisto" -msgid "previous page" -msgstr "Edellinen sivu" +msgid "By" +msgstr "Tekijä" -msgid "next page" -msgstr "seuraava sivu" +msgid "repository" +msgstr "arkisto" + +msgid "Last updated on" +msgstr "Viimeksi päivitetty" msgid "Toggle navigation" msgstr "Vaihda navigointia" -msgid "repository" -msgstr "arkisto" +msgid "Sphinx Book Theme" +msgstr "Sphinx-kirjan teema" msgid "suggest edit" msgstr "ehdottaa muokkausta" -msgid "open issue" -msgstr "avoin ongelma" +msgid "Open an issue" +msgstr "Avaa ongelma" msgid "Launch" msgstr "Tuoda markkinoille" -msgid "Print to PDF" -msgstr "Tulosta PDF-tiedostoon" +msgid "Fullscreen mode" +msgstr "Koko näytön tila" + +msgid "Edit this page" +msgstr "Muokkaa tätä sivua" msgid "By the" msgstr "Mukaan" -msgid "Last updated on" -msgstr "Viimeksi päivitetty" - -msgid "Download source file" -msgstr "Lataa lähdetiedosto" - -msgid "Download this page" -msgstr "Lataa tämä sivu" +msgid "next page" +msgstr "seuraava sivu" diff --git a/_static/locales/fr/LC_MESSAGES/booktheme.po b/_static/locales/fr/LC_MESSAGES/booktheme.po index 88f35173..8991a1b8 100644 --- a/_static/locales/fr/LC_MESSAGES/booktheme.po +++ b/_static/locales/fr/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Imprimer au format PDF" + msgid "Theme by the" msgstr "Thème par le" -msgid "Open an issue" -msgstr "Ouvrez un problème" +msgid "Download source file" +msgstr "Télécharger le fichier source" + +msgid "open issue" +msgstr "signaler un problème" msgid "Contents" msgstr "Contenu" +msgid "previous page" +msgstr "page précédente" + msgid "Download notebook file" msgstr "Télécharger le fichier notebook" -msgid "Sphinx Book Theme" -msgstr "Thème du livre Sphinx" - -msgid "Fullscreen mode" -msgstr "Mode plein écran" - -msgid "Edit this page" -msgstr "Modifier cette page" - -msgid "By" -msgstr "Par" - msgid "Copyright" msgstr "droits d'auteur" +msgid "Download this page" +msgstr "Téléchargez cette page" + msgid "Source repository" msgstr "Dépôt source" -msgid "previous page" -msgstr "page précédente" +msgid "By" +msgstr "Par" -msgid "next page" -msgstr "page suivante" +msgid "repository" +msgstr "dépôt" + +msgid "Last updated on" +msgstr "Dernière mise à jour le" msgid "Toggle navigation" msgstr "Basculer la navigation" -msgid "repository" -msgstr "dépôt" +msgid "Sphinx Book Theme" +msgstr "Thème du livre Sphinx" msgid "suggest edit" msgstr "suggestion de modification" -msgid "open issue" -msgstr "signaler un problème" +msgid "Open an issue" +msgstr "Ouvrez un problème" msgid "Launch" msgstr "lancement" -msgid "Print to PDF" -msgstr "Imprimer au format PDF" +msgid "Fullscreen mode" +msgstr "Mode plein écran" + +msgid "Edit this page" +msgstr "Modifier cette page" msgid "By the" msgstr "Par le" -msgid "Last updated on" -msgstr "Dernière mise à jour le" - -msgid "Download source file" -msgstr "Télécharger le fichier source" - -msgid "Download this page" -msgstr "Téléchargez cette page" +msgid "next page" +msgstr "page suivante" diff --git a/_static/locales/hr/LC_MESSAGES/booktheme.po b/_static/locales/hr/LC_MESSAGES/booktheme.po index fb9440ac..42c4233d 100644 --- a/_static/locales/hr/LC_MESSAGES/booktheme.po +++ b/_static/locales/hr/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: hr\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Ispis u PDF" + msgid "Theme by the" msgstr "Tema autora" -msgid "Open an issue" -msgstr "Otvorite izdanje" +msgid "Download source file" +msgstr "Preuzmi izvornu datoteku" + +msgid "open issue" +msgstr "otvoreno izdanje" msgid "Contents" msgstr "Sadržaj" +msgid "previous page" +msgstr "Prethodna stranica" + msgid "Download notebook file" msgstr "Preuzmi datoteku bilježnice" -msgid "Sphinx Book Theme" -msgstr "Tema knjige Sphinx" - -msgid "Fullscreen mode" -msgstr "Način preko cijelog zaslona" - -msgid "Edit this page" -msgstr "Uredite ovu stranicu" - -msgid "By" -msgstr "Po" - msgid "Copyright" msgstr "Autorska prava" +msgid "Download this page" +msgstr "Preuzmite ovu stranicu" + msgid "Source repository" msgstr "Izvorno spremište" -msgid "previous page" -msgstr "Prethodna stranica" +msgid "By" +msgstr "Po" -msgid "next page" -msgstr "sljedeća stranica" +msgid "repository" +msgstr "spremište" + +msgid "Last updated on" +msgstr "Posljednje ažuriranje:" msgid "Toggle navigation" msgstr "Uključi / isključi navigaciju" -msgid "repository" -msgstr "spremište" +msgid "Sphinx Book Theme" +msgstr "Tema knjige Sphinx" msgid "suggest edit" msgstr "predloži uređivanje" -msgid "open issue" -msgstr "otvoreno izdanje" +msgid "Open an issue" +msgstr "Otvorite izdanje" msgid "Launch" msgstr "Pokrenite" -msgid "Print to PDF" -msgstr "Ispis u PDF" +msgid "Fullscreen mode" +msgstr "Način preko cijelog zaslona" + +msgid "Edit this page" +msgstr "Uredite ovu stranicu" msgid "By the" msgstr "Od strane" -msgid "Last updated on" -msgstr "Posljednje ažuriranje:" - -msgid "Download source file" -msgstr "Preuzmi izvornu datoteku" - -msgid "Download this page" -msgstr "Preuzmite ovu stranicu" +msgid "next page" +msgstr "sljedeća stranica" diff --git a/_static/locales/id/LC_MESSAGES/booktheme.po b/_static/locales/id/LC_MESSAGES/booktheme.po index 9ffb56f7..b8d8d898 100644 --- a/_static/locales/id/LC_MESSAGES/booktheme.po +++ b/_static/locales/id/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: id\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Cetak ke PDF" + msgid "Theme by the" msgstr "Tema oleh" -msgid "Open an issue" -msgstr "Buka masalah" +msgid "Download source file" +msgstr "Unduh file sumber" + +msgid "open issue" +msgstr "masalah terbuka" msgid "Contents" msgstr "Isi" +msgid "previous page" +msgstr "halaman sebelumnya" + msgid "Download notebook file" msgstr "Unduh file notebook" -msgid "Sphinx Book Theme" -msgstr "Tema Buku Sphinx" - -msgid "Fullscreen mode" -msgstr "Mode layar penuh" - -msgid "Edit this page" -msgstr "Edit halaman ini" - -msgid "By" -msgstr "Oleh" - msgid "Copyright" msgstr "hak cipta" +msgid "Download this page" +msgstr "Unduh halaman ini" + msgid "Source repository" msgstr "Repositori sumber" -msgid "previous page" -msgstr "halaman sebelumnya" +msgid "By" +msgstr "Oleh" -msgid "next page" -msgstr "halaman selanjutnya" +msgid "repository" +msgstr "gudang" + +msgid "Last updated on" +msgstr "Terakhir diperbarui saat" msgid "Toggle navigation" msgstr "Alihkan navigasi" -msgid "repository" -msgstr "gudang" +msgid "Sphinx Book Theme" +msgstr "Tema Buku Sphinx" msgid "suggest edit" msgstr "menyarankan edit" -msgid "open issue" -msgstr "masalah terbuka" +msgid "Open an issue" +msgstr "Buka masalah" msgid "Launch" msgstr "Meluncurkan" -msgid "Print to PDF" -msgstr "Cetak ke PDF" +msgid "Fullscreen mode" +msgstr "Mode layar penuh" + +msgid "Edit this page" +msgstr "Edit halaman ini" msgid "By the" msgstr "Oleh" -msgid "Last updated on" -msgstr "Terakhir diperbarui saat" - -msgid "Download source file" -msgstr "Unduh file sumber" - -msgid "Download this page" -msgstr "Unduh halaman ini" +msgid "next page" +msgstr "halaman selanjutnya" diff --git a/_static/locales/it/LC_MESSAGES/booktheme.po b/_static/locales/it/LC_MESSAGES/booktheme.po index 04308dd2..36fca59f 100644 --- a/_static/locales/it/LC_MESSAGES/booktheme.po +++ b/_static/locales/it/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Stampa in PDF" + msgid "Theme by the" msgstr "Tema di" -msgid "Open an issue" -msgstr "Apri un problema" +msgid "Download source file" +msgstr "Scarica il file sorgente" + +msgid "open issue" +msgstr "questione aperta" msgid "Contents" msgstr "Contenuti" +msgid "previous page" +msgstr "pagina precedente" + msgid "Download notebook file" msgstr "Scarica il file del taccuino" -msgid "Sphinx Book Theme" -msgstr "Tema del libro della Sfinge" - -msgid "Fullscreen mode" -msgstr "Modalità schermo intero" - -msgid "Edit this page" -msgstr "Modifica questa pagina" - -msgid "By" -msgstr "Di" - msgid "Copyright" msgstr "Diritto d'autore" +msgid "Download this page" +msgstr "Scarica questa pagina" + msgid "Source repository" msgstr "Repository di origine" -msgid "previous page" -msgstr "pagina precedente" +msgid "By" +msgstr "Di" -msgid "next page" -msgstr "pagina successiva" +msgid "repository" +msgstr "repository" + +msgid "Last updated on" +msgstr "Ultimo aggiornamento il" msgid "Toggle navigation" msgstr "Attiva / disattiva la navigazione" -msgid "repository" -msgstr "repository" +msgid "Sphinx Book Theme" +msgstr "Tema del libro della Sfinge" msgid "suggest edit" msgstr "suggerisci modifica" -msgid "open issue" -msgstr "questione aperta" +msgid "Open an issue" +msgstr "Apri un problema" msgid "Launch" msgstr "Lanciare" -msgid "Print to PDF" -msgstr "Stampa in PDF" +msgid "Fullscreen mode" +msgstr "Modalità schermo intero" + +msgid "Edit this page" +msgstr "Modifica questa pagina" msgid "By the" msgstr "Dal" -msgid "Last updated on" -msgstr "Ultimo aggiornamento il" - -msgid "Download source file" -msgstr "Scarica il file sorgente" - -msgid "Download this page" -msgstr "Scarica questa pagina" +msgid "next page" +msgstr "pagina successiva" diff --git a/_static/locales/iw/LC_MESSAGES/booktheme.po b/_static/locales/iw/LC_MESSAGES/booktheme.po index 4ea190d3..dede9cb0 100644 --- a/_static/locales/iw/LC_MESSAGES/booktheme.po +++ b/_static/locales/iw/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: iw\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "הדפס לקובץ PDF" + msgid "Theme by the" msgstr "נושא מאת" -msgid "Open an issue" -msgstr "פתח גיליון" +msgid "Download source file" +msgstr "הורד את קובץ המקור" + +msgid "open issue" +msgstr "בעיה פתוחה" msgid "Contents" msgstr "תוכן" +msgid "previous page" +msgstr "עמוד קודם" + msgid "Download notebook file" msgstr "הורד קובץ מחברת" -msgid "Sphinx Book Theme" -msgstr "נושא ספר ספינקס" - -msgid "Fullscreen mode" -msgstr "מצב מסך מלא" - -msgid "Edit this page" -msgstr "ערוך דף זה" - -msgid "By" -msgstr "על ידי" - msgid "Copyright" msgstr "זכויות יוצרים" +msgid "Download this page" +msgstr "הורד דף זה" + msgid "Source repository" msgstr "מאגר המקורות" -msgid "previous page" -msgstr "עמוד קודם" +msgid "By" +msgstr "על ידי" -msgid "next page" -msgstr "עמוד הבא" +msgid "repository" +msgstr "מאגר" + +msgid "Last updated on" +msgstr "עודכן לאחרונה ב" msgid "Toggle navigation" msgstr "החלף ניווט" -msgid "repository" -msgstr "מאגר" +msgid "Sphinx Book Theme" +msgstr "נושא ספר ספינקס" msgid "suggest edit" msgstr "מציע לערוך" -msgid "open issue" -msgstr "בעיה פתוחה" +msgid "Open an issue" +msgstr "פתח גיליון" msgid "Launch" msgstr "לְהַשִׁיק" -msgid "Print to PDF" -msgstr "הדפס לקובץ PDF" +msgid "Fullscreen mode" +msgstr "מצב מסך מלא" + +msgid "Edit this page" +msgstr "ערוך דף זה" msgid "By the" msgstr "דרך" -msgid "Last updated on" -msgstr "עודכן לאחרונה ב" - -msgid "Download source file" -msgstr "הורד את קובץ המקור" - -msgid "Download this page" -msgstr "הורד דף זה" +msgid "next page" +msgstr "עמוד הבא" diff --git a/_static/locales/ja/LC_MESSAGES/booktheme.po b/_static/locales/ja/LC_MESSAGES/booktheme.po index 77d5a097..2615f0d8 100644 --- a/_static/locales/ja/LC_MESSAGES/booktheme.po +++ b/_static/locales/ja/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: ja\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "PDFに印刷" + msgid "Theme by the" msgstr "のテーマ" -msgid "Open an issue" -msgstr "問題を報告" +msgid "Download source file" +msgstr "ソースファイルをダウンロード" + +msgid "open issue" +msgstr "未解決の問題" msgid "Contents" msgstr "目次" +msgid "previous page" +msgstr "前のページ" + msgid "Download notebook file" msgstr "ノートブックファイルをダウンロード" -msgid "Sphinx Book Theme" -msgstr "スフィンクスの本のテーマ" - -msgid "Fullscreen mode" -msgstr "全画面モード" - -msgid "Edit this page" -msgstr "このページを編集" - -msgid "By" -msgstr "著者" - msgid "Copyright" msgstr "Copyright" +msgid "Download this page" +msgstr "このページをダウンロード" + msgid "Source repository" msgstr "ソースリポジトリ" -msgid "previous page" -msgstr "前のページ" +msgid "By" +msgstr "著者" -msgid "next page" -msgstr "次のページ" +msgid "repository" +msgstr "リポジトリ" + +msgid "Last updated on" +msgstr "最終更新日" msgid "Toggle navigation" msgstr "ナビゲーションを切り替え" -msgid "repository" -msgstr "リポジトリ" +msgid "Sphinx Book Theme" +msgstr "スフィンクスの本のテーマ" msgid "suggest edit" msgstr "編集を提案する" -msgid "open issue" -msgstr "未解決の問題" +msgid "Open an issue" +msgstr "問題を報告" msgid "Launch" msgstr "起動" -msgid "Print to PDF" -msgstr "PDFに印刷" +msgid "Fullscreen mode" +msgstr "全画面モード" + +msgid "Edit this page" +msgstr "このページを編集" msgid "By the" msgstr "によって" -msgid "Last updated on" -msgstr "最終更新日" - -msgid "Download source file" -msgstr "ソースファイルをダウンロード" - -msgid "Download this page" -msgstr "このページをダウンロード" +msgid "next page" +msgstr "次のページ" diff --git a/_static/locales/ko/LC_MESSAGES/booktheme.po b/_static/locales/ko/LC_MESSAGES/booktheme.po index 6ee3d781..c9e13a42 100644 --- a/_static/locales/ko/LC_MESSAGES/booktheme.po +++ b/_static/locales/ko/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: ko\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "PDF로 인쇄" + msgid "Theme by the" msgstr "테마별" -msgid "Open an issue" -msgstr "이슈 열기" +msgid "Download source file" +msgstr "소스 파일 다운로드" + +msgid "open issue" +msgstr "열린 문제" msgid "Contents" msgstr "내용" +msgid "previous page" +msgstr "이전 페이지" + msgid "Download notebook file" msgstr "노트북 파일 다운로드" -msgid "Sphinx Book Theme" -msgstr "스핑크스 도서 테마" - -msgid "Fullscreen mode" -msgstr "전체 화면으로보기" - -msgid "Edit this page" -msgstr "이 페이지 편집" - -msgid "By" -msgstr "으로" - msgid "Copyright" msgstr "저작권" +msgid "Download this page" +msgstr "이 페이지 다운로드" + msgid "Source repository" msgstr "소스 저장소" -msgid "previous page" -msgstr "이전 페이지" +msgid "By" +msgstr "으로" -msgid "next page" -msgstr "다음 페이지" +msgid "repository" +msgstr "저장소" + +msgid "Last updated on" +msgstr "마지막 업데이트" msgid "Toggle navigation" msgstr "탐색 전환" -msgid "repository" -msgstr "저장소" +msgid "Sphinx Book Theme" +msgstr "스핑크스 도서 테마" msgid "suggest edit" msgstr "편집 제안" -msgid "open issue" -msgstr "열린 문제" +msgid "Open an issue" +msgstr "이슈 열기" msgid "Launch" msgstr "시작하다" -msgid "Print to PDF" -msgstr "PDF로 인쇄" +msgid "Fullscreen mode" +msgstr "전체 화면으로보기" + +msgid "Edit this page" +msgstr "이 페이지 편집" msgid "By the" msgstr "에 의해" -msgid "Last updated on" -msgstr "마지막 업데이트" - -msgid "Download source file" -msgstr "소스 파일 다운로드" - -msgid "Download this page" -msgstr "이 페이지 다운로드" +msgid "next page" +msgstr "다음 페이지" diff --git a/_static/locales/lt/LC_MESSAGES/booktheme.po b/_static/locales/lt/LC_MESSAGES/booktheme.po index 01be2679..35eabd95 100644 --- a/_static/locales/lt/LC_MESSAGES/booktheme.po +++ b/_static/locales/lt/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: lt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Spausdinti į PDF" + msgid "Theme by the" msgstr "Tema" -msgid "Open an issue" -msgstr "Atidarykite problemą" +msgid "Download source file" +msgstr "Atsisiųsti šaltinio failą" + +msgid "open issue" +msgstr "atviras klausimas" msgid "Contents" msgstr "Turinys" +msgid "previous page" +msgstr "Ankstesnis puslapis" + msgid "Download notebook file" msgstr "Atsisiųsti nešiojamojo kompiuterio failą" -msgid "Sphinx Book Theme" -msgstr "Sfinkso knygos tema" - -msgid "Fullscreen mode" -msgstr "Pilno ekrano režimas" - -msgid "Edit this page" -msgstr "Redaguoti šį puslapį" - -msgid "By" -msgstr "Iki" - msgid "Copyright" msgstr "Autorių teisės" +msgid "Download this page" +msgstr "Atsisiųskite šį puslapį" + msgid "Source repository" msgstr "Šaltinio saugykla" -msgid "previous page" -msgstr "Ankstesnis puslapis" +msgid "By" +msgstr "Iki" -msgid "next page" -msgstr "Kitas puslapis" +msgid "repository" +msgstr "saugykla" + +msgid "Last updated on" +msgstr "Paskutinį kartą atnaujinta" msgid "Toggle navigation" msgstr "Perjungti naršymą" -msgid "repository" -msgstr "saugykla" +msgid "Sphinx Book Theme" +msgstr "Sfinkso knygos tema" msgid "suggest edit" msgstr "pasiūlyti redaguoti" -msgid "open issue" -msgstr "atviras klausimas" +msgid "Open an issue" +msgstr "Atidarykite problemą" msgid "Launch" msgstr "Paleiskite" -msgid "Print to PDF" -msgstr "Spausdinti į PDF" +msgid "Fullscreen mode" +msgstr "Pilno ekrano režimas" + +msgid "Edit this page" +msgstr "Redaguoti šį puslapį" msgid "By the" msgstr "Prie" -msgid "Last updated on" -msgstr "Paskutinį kartą atnaujinta" - -msgid "Download source file" -msgstr "Atsisiųsti šaltinio failą" - -msgid "Download this page" -msgstr "Atsisiųskite šį puslapį" +msgid "next page" +msgstr "Kitas puslapis" diff --git a/_static/locales/lv/LC_MESSAGES/booktheme.po b/_static/locales/lv/LC_MESSAGES/booktheme.po index 993a1e41..ee1bd08d 100644 --- a/_static/locales/lv/LC_MESSAGES/booktheme.po +++ b/_static/locales/lv/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: lv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Drukāt PDF formātā" + msgid "Theme by the" msgstr "Autora tēma" -msgid "Open an issue" -msgstr "Atveriet problēmu" +msgid "Download source file" +msgstr "Lejupielādēt avota failu" + +msgid "open issue" +msgstr "atklāts jautājums" msgid "Contents" msgstr "Saturs" +msgid "previous page" +msgstr "iepriekšējā lapa" + msgid "Download notebook file" msgstr "Lejupielādēt piezīmju grāmatiņu" -msgid "Sphinx Book Theme" -msgstr "Sfinksa grāmatas tēma" - -msgid "Fullscreen mode" -msgstr "Pilnekrāna režīms" - -msgid "Edit this page" -msgstr "Rediģēt šo lapu" - -msgid "By" -msgstr "Autors" - msgid "Copyright" msgstr "Autortiesības" +msgid "Download this page" +msgstr "Lejupielādējiet šo lapu" + msgid "Source repository" msgstr "Avota krātuve" -msgid "previous page" -msgstr "iepriekšējā lapa" +msgid "By" +msgstr "Autors" -msgid "next page" -msgstr "nākamā lapaspuse" +msgid "repository" +msgstr "krātuve" + +msgid "Last updated on" +msgstr "Pēdējoreiz atjaunināts" msgid "Toggle navigation" msgstr "Pārslēgt navigāciju" -msgid "repository" -msgstr "krātuve" +msgid "Sphinx Book Theme" +msgstr "Sfinksa grāmatas tēma" msgid "suggest edit" msgstr "ieteikt rediģēt" -msgid "open issue" -msgstr "atklāts jautājums" +msgid "Open an issue" +msgstr "Atveriet problēmu" msgid "Launch" msgstr "Uzsākt" -msgid "Print to PDF" -msgstr "Drukāt PDF formātā" +msgid "Fullscreen mode" +msgstr "Pilnekrāna režīms" + +msgid "Edit this page" +msgstr "Rediģēt šo lapu" msgid "By the" msgstr "Ar" -msgid "Last updated on" -msgstr "Pēdējoreiz atjaunināts" - -msgid "Download source file" -msgstr "Lejupielādēt avota failu" - -msgid "Download this page" -msgstr "Lejupielādējiet šo lapu" +msgid "next page" +msgstr "nākamā lapaspuse" diff --git a/_static/locales/ml/LC_MESSAGES/booktheme.po b/_static/locales/ml/LC_MESSAGES/booktheme.po index 81daf7c8..d471277d 100644 --- a/_static/locales/ml/LC_MESSAGES/booktheme.po +++ b/_static/locales/ml/LC_MESSAGES/booktheme.po @@ -8,59 +8,59 @@ msgstr "" "Language: ml\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "PDF- ലേക്ക് പ്രിന്റുചെയ്യുക" + msgid "Theme by the" msgstr "പ്രമേയം" -msgid "Open an issue" -msgstr "ഒരു പ്രശ്നം തുറക്കുക" - -msgid "Download notebook file" -msgstr "നോട്ട്ബുക്ക് ഫയൽ ഡൺലോഡ് ചെയ്യുക" +msgid "Download source file" +msgstr "ഉറവിട ഫയൽ ഡൗൺലോഡുചെയ്യുക" -msgid "Sphinx Book Theme" -msgstr "സ്ഫിങ്ക്സ് പുസ്തക തീം" +msgid "open issue" +msgstr "തുറന്ന പ്രശ്നം" -msgid "Edit this page" -msgstr "ഈ പേജ് എഡിറ്റുചെയ്യുക" +msgid "previous page" +msgstr "മുൻപത്തെ താൾ" -msgid "By" -msgstr "എഴുതിയത്" +msgid "Download notebook file" +msgstr "നോട്ട്ബുക്ക് ഫയൽ ഡൺലോഡ് ചെയ്യുക" msgid "Copyright" msgstr "പകർപ്പവകാശം" +msgid "Download this page" +msgstr "ഈ പേജ് ഡൗൺലോഡുചെയ്യുക" + msgid "Source repository" msgstr "ഉറവിട ശേഖരം" -msgid "previous page" -msgstr "മുൻപത്തെ താൾ" +msgid "By" +msgstr "എഴുതിയത്" -msgid "next page" -msgstr "അടുത്ത പേജ്" +msgid "Last updated on" +msgstr "അവസാനം അപ്‌ഡേറ്റുചെയ്‌തത്" msgid "Toggle navigation" msgstr "നാവിഗേഷൻ ടോഗിൾ ചെയ്യുക" +msgid "Sphinx Book Theme" +msgstr "സ്ഫിങ്ക്സ് പുസ്തക തീം" + msgid "suggest edit" msgstr "എഡിറ്റുചെയ്യാൻ നിർദ്ദേശിക്കുക" -msgid "open issue" -msgstr "തുറന്ന പ്രശ്നം" +msgid "Open an issue" +msgstr "ഒരു പ്രശ്നം തുറക്കുക" msgid "Launch" msgstr "സമാരംഭിക്കുക" -msgid "Print to PDF" -msgstr "PDF- ലേക്ക് പ്രിന്റുചെയ്യുക" +msgid "Edit this page" +msgstr "ഈ പേജ് എഡിറ്റുചെയ്യുക" msgid "By the" msgstr "എഴുതിയത്" -msgid "Last updated on" -msgstr "അവസാനം അപ്‌ഡേറ്റുചെയ്‌തത്" - -msgid "Download source file" -msgstr "ഉറവിട ഫയൽ ഡൗൺലോഡുചെയ്യുക" - -msgid "Download this page" -msgstr "ഈ പേജ് ഡൗൺലോഡുചെയ്യുക" +msgid "next page" +msgstr "അടുത്ത പേജ്" diff --git a/_static/locales/mr/LC_MESSAGES/booktheme.po b/_static/locales/mr/LC_MESSAGES/booktheme.po index fd857bff..f3694acf 100644 --- a/_static/locales/mr/LC_MESSAGES/booktheme.po +++ b/_static/locales/mr/LC_MESSAGES/booktheme.po @@ -8,59 +8,59 @@ msgstr "" "Language: mr\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "पीडीएफवर मुद्रित करा" + msgid "Theme by the" msgstr "द्वारा थीम" -msgid "Open an issue" -msgstr "एक मुद्दा उघडा" - -msgid "Download notebook file" -msgstr "नोटबुक फाईल डाउनलोड करा" +msgid "Download source file" +msgstr "स्त्रोत फाइल डाउनलोड करा" -msgid "Sphinx Book Theme" -msgstr "स्फिंक्स बुक थीम" +msgid "open issue" +msgstr "खुला मुद्दा" -msgid "Edit this page" -msgstr "हे पृष्ठ संपादित करा" +msgid "previous page" +msgstr "मागील पान" -msgid "By" -msgstr "द्वारा" +msgid "Download notebook file" +msgstr "नोटबुक फाईल डाउनलोड करा" msgid "Copyright" msgstr "कॉपीराइट" +msgid "Download this page" +msgstr "हे पृष्ठ डाउनलोड करा" + msgid "Source repository" msgstr "स्त्रोत भांडार" -msgid "previous page" -msgstr "मागील पान" +msgid "By" +msgstr "द्वारा" -msgid "next page" -msgstr "पुढील पृष्ठ" +msgid "Last updated on" +msgstr "अखेरचे अद्यतनित" msgid "Toggle navigation" msgstr "नेव्हिगेशन टॉगल करा" +msgid "Sphinx Book Theme" +msgstr "स्फिंक्स बुक थीम" + msgid "suggest edit" msgstr "संपादन सुचवा" -msgid "open issue" -msgstr "खुला मुद्दा" +msgid "Open an issue" +msgstr "एक मुद्दा उघडा" msgid "Launch" msgstr "लाँच करा" -msgid "Print to PDF" -msgstr "पीडीएफवर मुद्रित करा" +msgid "Edit this page" +msgstr "हे पृष्ठ संपादित करा" msgid "By the" msgstr "द्वारा" -msgid "Last updated on" -msgstr "अखेरचे अद्यतनित" - -msgid "Download source file" -msgstr "स्त्रोत फाइल डाउनलोड करा" - -msgid "Download this page" -msgstr "हे पृष्ठ डाउनलोड करा" +msgid "next page" +msgstr "पुढील पृष्ठ" diff --git a/_static/locales/ms/LC_MESSAGES/booktheme.po b/_static/locales/ms/LC_MESSAGES/booktheme.po index b616d70f..65b7c602 100644 --- a/_static/locales/ms/LC_MESSAGES/booktheme.po +++ b/_static/locales/ms/LC_MESSAGES/booktheme.po @@ -8,59 +8,59 @@ msgstr "" "Language: ms\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Cetak ke PDF" + msgid "Theme by the" msgstr "Tema oleh" -msgid "Open an issue" -msgstr "Buka masalah" - -msgid "Download notebook file" -msgstr "Muat turun fail buku nota" +msgid "Download source file" +msgstr "Muat turun fail sumber" -msgid "Sphinx Book Theme" -msgstr "Tema Buku Sphinx" +msgid "open issue" +msgstr "isu terbuka" -msgid "Edit this page" -msgstr "Edit halaman ini" +msgid "previous page" +msgstr "halaman sebelumnya" -msgid "By" -msgstr "Oleh" +msgid "Download notebook file" +msgstr "Muat turun fail buku nota" msgid "Copyright" msgstr "hak cipta" +msgid "Download this page" +msgstr "Muat turun halaman ini" + msgid "Source repository" msgstr "Repositori sumber" -msgid "previous page" -msgstr "halaman sebelumnya" +msgid "By" +msgstr "Oleh" -msgid "next page" -msgstr "muka surat seterusnya" +msgid "Last updated on" +msgstr "Terakhir dikemas kini pada" msgid "Toggle navigation" msgstr "Togol navigasi" +msgid "Sphinx Book Theme" +msgstr "Tema Buku Sphinx" + msgid "suggest edit" msgstr "cadangkan edit" -msgid "open issue" -msgstr "isu terbuka" +msgid "Open an issue" +msgstr "Buka masalah" msgid "Launch" msgstr "Lancarkan" -msgid "Print to PDF" -msgstr "Cetak ke PDF" +msgid "Edit this page" +msgstr "Edit halaman ini" msgid "By the" msgstr "Oleh" -msgid "Last updated on" -msgstr "Terakhir dikemas kini pada" - -msgid "Download source file" -msgstr "Muat turun fail sumber" - -msgid "Download this page" -msgstr "Muat turun halaman ini" +msgid "next page" +msgstr "muka surat seterusnya" diff --git a/_static/locales/nl/LC_MESSAGES/booktheme.po b/_static/locales/nl/LC_MESSAGES/booktheme.po index f16f4bcc..71bd1cda 100644 --- a/_static/locales/nl/LC_MESSAGES/booktheme.po +++ b/_static/locales/nl/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Afdrukken naar pdf" + msgid "Theme by the" msgstr "Thema door de" -msgid "Open an issue" -msgstr "Open een probleem" +msgid "Download source file" +msgstr "Download het bronbestand" + +msgid "open issue" +msgstr "open probleem" msgid "Contents" msgstr "Inhoud" +msgid "previous page" +msgstr "vorige pagina" + msgid "Download notebook file" msgstr "Download notebookbestand" -msgid "Sphinx Book Theme" -msgstr "Sphinx-boekthema" - -msgid "Fullscreen mode" -msgstr "Volledig scherm" - -msgid "Edit this page" -msgstr "bewerk deze pagina" - -msgid "By" -msgstr "Door" - msgid "Copyright" msgstr "auteursrechten" +msgid "Download this page" +msgstr "Download deze pagina" + msgid "Source repository" msgstr "Bronopslagplaats" -msgid "previous page" -msgstr "vorige pagina" +msgid "By" +msgstr "Door" -msgid "next page" -msgstr "volgende bladzijde" +msgid "repository" +msgstr "repository" + +msgid "Last updated on" +msgstr "Laatst geupdate op" msgid "Toggle navigation" msgstr "Schakel navigatie" -msgid "repository" -msgstr "repository" +msgid "Sphinx Book Theme" +msgstr "Sphinx-boekthema" msgid "suggest edit" msgstr "suggereren bewerken" -msgid "open issue" -msgstr "open probleem" +msgid "Open an issue" +msgstr "Open een probleem" msgid "Launch" msgstr "Lancering" -msgid "Print to PDF" -msgstr "Afdrukken naar pdf" +msgid "Fullscreen mode" +msgstr "Volledig scherm" + +msgid "Edit this page" +msgstr "bewerk deze pagina" msgid "By the" msgstr "Door de" -msgid "Last updated on" -msgstr "Laatst geupdate op" - -msgid "Download source file" -msgstr "Download het bronbestand" - -msgid "Download this page" -msgstr "Download deze pagina" +msgid "next page" +msgstr "volgende bladzijde" diff --git a/_static/locales/no/LC_MESSAGES/booktheme.po b/_static/locales/no/LC_MESSAGES/booktheme.po index b1d304ee..b21346a5 100644 --- a/_static/locales/no/LC_MESSAGES/booktheme.po +++ b/_static/locales/no/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: no\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Skriv ut til PDF" + msgid "Theme by the" msgstr "Tema av" -msgid "Open an issue" -msgstr "Åpne et problem" +msgid "Download source file" +msgstr "Last ned kildefilen" + +msgid "open issue" +msgstr "åpent nummer" msgid "Contents" msgstr "Innhold" +msgid "previous page" +msgstr "forrige side" + msgid "Download notebook file" msgstr "Last ned notatbokfilen" -msgid "Sphinx Book Theme" -msgstr "Sphinx boktema" - -msgid "Fullscreen mode" -msgstr "Fullskjerm-modus" - -msgid "Edit this page" -msgstr "Rediger denne siden" - -msgid "By" -msgstr "Av" - msgid "Copyright" msgstr "opphavsrett" +msgid "Download this page" +msgstr "Last ned denne siden" + msgid "Source repository" msgstr "Kildedepot" -msgid "previous page" -msgstr "forrige side" +msgid "By" +msgstr "Av" -msgid "next page" -msgstr "neste side" +msgid "repository" +msgstr "oppbevaringssted" + +msgid "Last updated on" +msgstr "Sist oppdatert den" msgid "Toggle navigation" msgstr "Bytt navigasjon" -msgid "repository" -msgstr "oppbevaringssted" +msgid "Sphinx Book Theme" +msgstr "Sphinx boktema" msgid "suggest edit" msgstr "foreslå redigering" -msgid "open issue" -msgstr "åpent nummer" +msgid "Open an issue" +msgstr "Åpne et problem" msgid "Launch" msgstr "Start" -msgid "Print to PDF" -msgstr "Skriv ut til PDF" +msgid "Fullscreen mode" +msgstr "Fullskjerm-modus" + +msgid "Edit this page" +msgstr "Rediger denne siden" msgid "By the" msgstr "Ved" -msgid "Last updated on" -msgstr "Sist oppdatert den" - -msgid "Download source file" -msgstr "Last ned kildefilen" - -msgid "Download this page" -msgstr "Last ned denne siden" +msgid "next page" +msgstr "neste side" diff --git a/_static/locales/pl/LC_MESSAGES/booktheme.po b/_static/locales/pl/LC_MESSAGES/booktheme.po index 80d2c896..1b7233f4 100644 --- a/_static/locales/pl/LC_MESSAGES/booktheme.po +++ b/_static/locales/pl/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: pl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Drukuj do PDF" + msgid "Theme by the" msgstr "Motyw autorstwa" -msgid "Open an issue" -msgstr "Otwórz problem" +msgid "Download source file" +msgstr "Pobierz plik źródłowy" + +msgid "open issue" +msgstr "otwarty problem" msgid "Contents" msgstr "Zawartość" +msgid "previous page" +msgstr "Poprzednia strona" + msgid "Download notebook file" msgstr "Pobierz plik notatnika" -msgid "Sphinx Book Theme" -msgstr "Motyw książki Sphinx" - -msgid "Fullscreen mode" -msgstr "Pełny ekran" - -msgid "Edit this page" -msgstr "Edytuj tę strone" - -msgid "By" -msgstr "Przez" - msgid "Copyright" msgstr "prawa autorskie" +msgid "Download this page" +msgstr "Pobierz tę stronę" + msgid "Source repository" msgstr "Repozytorium źródłowe" -msgid "previous page" -msgstr "Poprzednia strona" +msgid "By" +msgstr "Przez" -msgid "next page" -msgstr "Następna strona" +msgid "repository" +msgstr "magazyn" + +msgid "Last updated on" +msgstr "Ostatnia aktualizacja" msgid "Toggle navigation" msgstr "Przełącz nawigację" -msgid "repository" -msgstr "magazyn" +msgid "Sphinx Book Theme" +msgstr "Motyw książki Sphinx" msgid "suggest edit" msgstr "zaproponuj edycję" -msgid "open issue" -msgstr "otwarty problem" +msgid "Open an issue" +msgstr "Otwórz problem" msgid "Launch" msgstr "Uruchomić" -msgid "Print to PDF" -msgstr "Drukuj do PDF" +msgid "Fullscreen mode" +msgstr "Pełny ekran" + +msgid "Edit this page" +msgstr "Edytuj tę strone" msgid "By the" msgstr "Przez" -msgid "Last updated on" -msgstr "Ostatnia aktualizacja" - -msgid "Download source file" -msgstr "Pobierz plik źródłowy" - -msgid "Download this page" -msgstr "Pobierz tę stronę" +msgid "next page" +msgstr "Następna strona" diff --git a/_static/locales/pt/LC_MESSAGES/booktheme.po b/_static/locales/pt/LC_MESSAGES/booktheme.po index 45ac847f..1b27314d 100644 --- a/_static/locales/pt/LC_MESSAGES/booktheme.po +++ b/_static/locales/pt/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Imprimir em PDF" + msgid "Theme by the" msgstr "Tema por" -msgid "Open an issue" -msgstr "Abra um problema" +msgid "Download source file" +msgstr "Baixar arquivo fonte" + +msgid "open issue" +msgstr "questão aberta" msgid "Contents" msgstr "Conteúdo" +msgid "previous page" +msgstr "página anterior" + msgid "Download notebook file" msgstr "Baixar arquivo de notebook" -msgid "Sphinx Book Theme" -msgstr "Tema do livro Sphinx" - -msgid "Fullscreen mode" -msgstr "Modo tela cheia" - -msgid "Edit this page" -msgstr "Edite essa página" - -msgid "By" -msgstr "De" - msgid "Copyright" msgstr "direito autoral" +msgid "Download this page" +msgstr "Baixe esta página" + msgid "Source repository" msgstr "Repositório fonte" -msgid "previous page" -msgstr "página anterior" +msgid "By" +msgstr "De" -msgid "next page" -msgstr "próxima página" +msgid "repository" +msgstr "repositório" + +msgid "Last updated on" +msgstr "Última atualização em" msgid "Toggle navigation" msgstr "Alternar de navegação" -msgid "repository" -msgstr "repositório" +msgid "Sphinx Book Theme" +msgstr "Tema do livro Sphinx" msgid "suggest edit" msgstr "sugerir edição" -msgid "open issue" -msgstr "questão aberta" +msgid "Open an issue" +msgstr "Abra um problema" msgid "Launch" msgstr "Lançamento" -msgid "Print to PDF" -msgstr "Imprimir em PDF" +msgid "Fullscreen mode" +msgstr "Modo tela cheia" + +msgid "Edit this page" +msgstr "Edite essa página" msgid "By the" msgstr "Pelo" -msgid "Last updated on" -msgstr "Última atualização em" - -msgid "Download source file" -msgstr "Baixar arquivo fonte" - -msgid "Download this page" -msgstr "Baixe esta página" +msgid "next page" +msgstr "próxima página" diff --git a/_static/locales/ro/LC_MESSAGES/booktheme.po b/_static/locales/ro/LC_MESSAGES/booktheme.po index 532b3b84..1783ad2c 100644 --- a/_static/locales/ro/LC_MESSAGES/booktheme.po +++ b/_static/locales/ro/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: ro\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Imprimați în PDF" + msgid "Theme by the" msgstr "Tema de" -msgid "Open an issue" -msgstr "Deschideți o problemă" +msgid "Download source file" +msgstr "Descărcați fișierul sursă" + +msgid "open issue" +msgstr "problema deschisă" msgid "Contents" msgstr "Cuprins" +msgid "previous page" +msgstr "pagina anterioară" + msgid "Download notebook file" msgstr "Descărcați fișierul notebook" -msgid "Sphinx Book Theme" -msgstr "Tema Sphinx Book" - -msgid "Fullscreen mode" -msgstr "Modul ecran întreg" - -msgid "Edit this page" -msgstr "Editați această pagină" - -msgid "By" -msgstr "De" - msgid "Copyright" msgstr "Drepturi de autor" +msgid "Download this page" +msgstr "Descarcă această pagină" + msgid "Source repository" msgstr "Depozit sursă" -msgid "previous page" -msgstr "pagina anterioară" +msgid "By" +msgstr "De" -msgid "next page" -msgstr "pagina următoare" +msgid "repository" +msgstr "repertoriu" + +msgid "Last updated on" +msgstr "Ultima actualizare la" msgid "Toggle navigation" msgstr "Comutare navigare" -msgid "repository" -msgstr "repertoriu" +msgid "Sphinx Book Theme" +msgstr "Tema Sphinx Book" msgid "suggest edit" msgstr "sugerează editare" -msgid "open issue" -msgstr "problema deschisă" +msgid "Open an issue" +msgstr "Deschideți o problemă" msgid "Launch" msgstr "Lansa" -msgid "Print to PDF" -msgstr "Imprimați în PDF" +msgid "Fullscreen mode" +msgstr "Modul ecran întreg" + +msgid "Edit this page" +msgstr "Editați această pagină" msgid "By the" msgstr "Langa" -msgid "Last updated on" -msgstr "Ultima actualizare la" - -msgid "Download source file" -msgstr "Descărcați fișierul sursă" - -msgid "Download this page" -msgstr "Descarcă această pagină" +msgid "next page" +msgstr "pagina următoare" diff --git a/_static/locales/ru/LC_MESSAGES/booktheme.po b/_static/locales/ru/LC_MESSAGES/booktheme.po index b718b482..b1176b7a 100644 --- a/_static/locales/ru/LC_MESSAGES/booktheme.po +++ b/_static/locales/ru/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: ru\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Распечатать в PDF" + msgid "Theme by the" msgstr "Тема от" -msgid "Open an issue" -msgstr "Открыть вопрос" +msgid "Download source file" +msgstr "Скачать исходный файл" + +msgid "open issue" +msgstr "открытый вопрос" msgid "Contents" msgstr "Содержание" +msgid "previous page" +msgstr "Предыдущая страница" + msgid "Download notebook file" msgstr "Скачать файл записной книжки" -msgid "Sphinx Book Theme" -msgstr "Тема книги Сфинкс" - -msgid "Fullscreen mode" -msgstr "Полноэкранный режим" - -msgid "Edit this page" -msgstr "Редактировать эту страницу" - -msgid "By" -msgstr "По" - msgid "Copyright" msgstr "авторское право" +msgid "Download this page" +msgstr "Загрузите эту страницу" + msgid "Source repository" msgstr "Исходный репозиторий" -msgid "previous page" -msgstr "Предыдущая страница" +msgid "By" +msgstr "По" -msgid "next page" -msgstr "Следующая страница" +msgid "repository" +msgstr "хранилище" + +msgid "Last updated on" +msgstr "Последнее обновление" msgid "Toggle navigation" msgstr "Переключить навигацию" -msgid "repository" -msgstr "хранилище" +msgid "Sphinx Book Theme" +msgstr "Тема книги Сфинкс" msgid "suggest edit" msgstr "предложить редактировать" -msgid "open issue" -msgstr "открытый вопрос" +msgid "Open an issue" +msgstr "Открыть вопрос" msgid "Launch" msgstr "Запуск" -msgid "Print to PDF" -msgstr "Распечатать в PDF" +msgid "Fullscreen mode" +msgstr "Полноэкранный режим" + +msgid "Edit this page" +msgstr "Редактировать эту страницу" msgid "By the" msgstr "Посредством" -msgid "Last updated on" -msgstr "Последнее обновление" - -msgid "Download source file" -msgstr "Скачать исходный файл" - -msgid "Download this page" -msgstr "Загрузите эту страницу" +msgid "next page" +msgstr "Следующая страница" diff --git a/_static/locales/sk/LC_MESSAGES/booktheme.po b/_static/locales/sk/LC_MESSAGES/booktheme.po index f6c423b6..65012881 100644 --- a/_static/locales/sk/LC_MESSAGES/booktheme.po +++ b/_static/locales/sk/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: sk\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Tlač do PDF" + msgid "Theme by the" msgstr "Téma od" -msgid "Open an issue" -msgstr "Otvorte problém" +msgid "Download source file" +msgstr "Stiahnite si zdrojový súbor" + +msgid "open issue" +msgstr "otvorené vydanie" msgid "Contents" msgstr "Obsah" +msgid "previous page" +msgstr "predchádzajúca strana" + msgid "Download notebook file" msgstr "Stiahnite si zošit" -msgid "Sphinx Book Theme" -msgstr "Téma knihy Sfinga" - -msgid "Fullscreen mode" -msgstr "Režim celej obrazovky" - -msgid "Edit this page" -msgstr "Upraviť túto stránku" - -msgid "By" -msgstr "Autor:" - msgid "Copyright" msgstr "Autorské práva" +msgid "Download this page" +msgstr "Stiahnite si túto stránku" + msgid "Source repository" msgstr "Zdrojové úložisko" -msgid "previous page" -msgstr "predchádzajúca strana" +msgid "By" +msgstr "Autor:" -msgid "next page" -msgstr "ďalšia strana" +msgid "repository" +msgstr "Úložisko" + +msgid "Last updated on" +msgstr "Posledná aktualizácia dňa" msgid "Toggle navigation" msgstr "Prepnúť navigáciu" -msgid "repository" -msgstr "Úložisko" +msgid "Sphinx Book Theme" +msgstr "Téma knihy Sfinga" msgid "suggest edit" msgstr "navrhnúť úpravu" -msgid "open issue" -msgstr "otvorené vydanie" +msgid "Open an issue" +msgstr "Otvorte problém" msgid "Launch" msgstr "Spustiť" -msgid "Print to PDF" -msgstr "Tlač do PDF" +msgid "Fullscreen mode" +msgstr "Režim celej obrazovky" + +msgid "Edit this page" +msgstr "Upraviť túto stránku" msgid "By the" msgstr "Podľa" -msgid "Last updated on" -msgstr "Posledná aktualizácia dňa" - -msgid "Download source file" -msgstr "Stiahnite si zdrojový súbor" - -msgid "Download this page" -msgstr "Stiahnite si túto stránku" +msgid "next page" +msgstr "ďalšia strana" diff --git a/_static/locales/sl/LC_MESSAGES/booktheme.po b/_static/locales/sl/LC_MESSAGES/booktheme.po index 9822dc58..3c7e3a86 100644 --- a/_static/locales/sl/LC_MESSAGES/booktheme.po +++ b/_static/locales/sl/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: sl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Natisni v PDF" + msgid "Theme by the" msgstr "Tema avtorja" -msgid "Open an issue" -msgstr "Odprite številko" +msgid "Download source file" +msgstr "Prenesite izvorno datoteko" + +msgid "open issue" +msgstr "odprto vprašanje" msgid "Contents" msgstr "Vsebina" +msgid "previous page" +msgstr "Prejšnja stran" + msgid "Download notebook file" msgstr "Prenesite datoteko zvezka" -msgid "Sphinx Book Theme" -msgstr "Tema knjige Sphinx" - -msgid "Fullscreen mode" -msgstr "Celozaslonski način" - -msgid "Edit this page" -msgstr "Uredite to stran" - -msgid "By" -msgstr "Avtor" - msgid "Copyright" msgstr "avtorske pravice" +msgid "Download this page" +msgstr "Prenesite to stran" + msgid "Source repository" msgstr "Izvorno skladišče" -msgid "previous page" -msgstr "Prejšnja stran" +msgid "By" +msgstr "Avtor" -msgid "next page" -msgstr "Naslednja stran" +msgid "repository" +msgstr "odlagališče" + +msgid "Last updated on" +msgstr "Nazadnje posodobljeno dne" msgid "Toggle navigation" msgstr "Preklopi navigacijo" -msgid "repository" -msgstr "odlagališče" +msgid "Sphinx Book Theme" +msgstr "Tema knjige Sphinx" msgid "suggest edit" msgstr "predlagajte urejanje" -msgid "open issue" -msgstr "odprto vprašanje" +msgid "Open an issue" +msgstr "Odprite številko" msgid "Launch" msgstr "Kosilo" -msgid "Print to PDF" -msgstr "Natisni v PDF" +msgid "Fullscreen mode" +msgstr "Celozaslonski način" + +msgid "Edit this page" +msgstr "Uredite to stran" msgid "By the" msgstr "Avtor" -msgid "Last updated on" -msgstr "Nazadnje posodobljeno dne" - -msgid "Download source file" -msgstr "Prenesite izvorno datoteko" - -msgid "Download this page" -msgstr "Prenesite to stran" +msgid "next page" +msgstr "Naslednja stran" diff --git a/_static/locales/sr/LC_MESSAGES/booktheme.po b/_static/locales/sr/LC_MESSAGES/booktheme.po index e809230c..773b8ada 100644 --- a/_static/locales/sr/LC_MESSAGES/booktheme.po +++ b/_static/locales/sr/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: sr\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Испис у ПДФ" + msgid "Theme by the" msgstr "Тхеме би" -msgid "Open an issue" -msgstr "Отворите издање" +msgid "Download source file" +msgstr "Преузми изворну датотеку" + +msgid "open issue" +msgstr "отворено издање" msgid "Contents" msgstr "Садржај" +msgid "previous page" +msgstr "Претходна страница" + msgid "Download notebook file" msgstr "Преузмите датотеку бележнице" -msgid "Sphinx Book Theme" -msgstr "Тема књиге Спхинк" - -msgid "Fullscreen mode" -msgstr "Режим целог екрана" - -msgid "Edit this page" -msgstr "Уредите ову страницу" - -msgid "By" -msgstr "Од стране" - msgid "Copyright" msgstr "Ауторско право" +msgid "Download this page" +msgstr "Преузмите ову страницу" + msgid "Source repository" msgstr "Изворно спремиште" -msgid "previous page" -msgstr "Претходна страница" +msgid "By" +msgstr "Од стране" -msgid "next page" -msgstr "Следећа страна" +msgid "repository" +msgstr "спремиште" + +msgid "Last updated on" +msgstr "Последње ажурирање" msgid "Toggle navigation" msgstr "Укључи / искључи навигацију" -msgid "repository" -msgstr "спремиште" +msgid "Sphinx Book Theme" +msgstr "Тема књиге Спхинк" msgid "suggest edit" msgstr "предложи уређивање" -msgid "open issue" -msgstr "отворено издање" +msgid "Open an issue" +msgstr "Отворите издање" msgid "Launch" msgstr "Лансирање" -msgid "Print to PDF" -msgstr "Испис у ПДФ" +msgid "Fullscreen mode" +msgstr "Режим целог екрана" + +msgid "Edit this page" +msgstr "Уредите ову страницу" msgid "By the" msgstr "Од" -msgid "Last updated on" -msgstr "Последње ажурирање" - -msgid "Download source file" -msgstr "Преузми изворну датотеку" - -msgid "Download this page" -msgstr "Преузмите ову страницу" +msgid "next page" +msgstr "Следећа страна" diff --git a/_static/locales/sv/LC_MESSAGES/booktheme.po b/_static/locales/sv/LC_MESSAGES/booktheme.po index 2421b001..bcac54c0 100644 --- a/_static/locales/sv/LC_MESSAGES/booktheme.po +++ b/_static/locales/sv/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Skriv ut till PDF" + msgid "Theme by the" msgstr "Tema av" -msgid "Open an issue" -msgstr "Öppna en problemrapport" +msgid "Download source file" +msgstr "Ladda ner källfil" + +msgid "open issue" +msgstr "öppna problemrapport" msgid "Contents" msgstr "Innehåll" +msgid "previous page" +msgstr "föregående sida" + msgid "Download notebook file" msgstr "Ladda ner notebook-fil" -msgid "Sphinx Book Theme" -msgstr "Sphinx Boktema" - -msgid "Fullscreen mode" -msgstr "Fullskärmsläge" - -msgid "Edit this page" -msgstr "Redigera den här sidan" - -msgid "By" -msgstr "Av" - msgid "Copyright" msgstr "Upphovsrätt" +msgid "Download this page" +msgstr "Ladda ner den här sidan" + msgid "Source repository" msgstr "Källkodsrepositorium" -msgid "previous page" -msgstr "föregående sida" +msgid "By" +msgstr "Av" -msgid "next page" -msgstr "nästa sida" +msgid "repository" +msgstr "repositorium" + +msgid "Last updated on" +msgstr "Senast uppdaterad den" msgid "Toggle navigation" msgstr "Växla navigering" -msgid "repository" -msgstr "repositorium" +msgid "Sphinx Book Theme" +msgstr "Sphinx Boktema" msgid "suggest edit" msgstr "föreslå ändring" -msgid "open issue" -msgstr "öppna problemrapport" +msgid "Open an issue" +msgstr "Öppna en problemrapport" msgid "Launch" msgstr "Öppna" -msgid "Print to PDF" -msgstr "Skriv ut till PDF" +msgid "Fullscreen mode" +msgstr "Fullskärmsläge" + +msgid "Edit this page" +msgstr "Redigera den här sidan" msgid "By the" msgstr "Av den" -msgid "Last updated on" -msgstr "Senast uppdaterad den" - -msgid "Download source file" -msgstr "Ladda ner källfil" - -msgid "Download this page" -msgstr "Ladda ner den här sidan" +msgid "next page" +msgstr "nästa sida" diff --git a/_static/locales/ta/LC_MESSAGES/booktheme.po b/_static/locales/ta/LC_MESSAGES/booktheme.po index 500042f4..b48bdfaf 100644 --- a/_static/locales/ta/LC_MESSAGES/booktheme.po +++ b/_static/locales/ta/LC_MESSAGES/booktheme.po @@ -8,59 +8,59 @@ msgstr "" "Language: ta\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "PDF இல் அச்சிடுக" + msgid "Theme by the" msgstr "வழங்கிய தீம்" -msgid "Open an issue" -msgstr "சிக்கலைத் திறக்கவும்" - -msgid "Download notebook file" -msgstr "நோட்புக் கோப்பைப் பதிவிறக்கவும்" +msgid "Download source file" +msgstr "மூல கோப்பைப் பதிவிறக்குக" -msgid "Sphinx Book Theme" -msgstr "ஸ்பிங்க்ஸ் புத்தக தீம்" +msgid "open issue" +msgstr "திறந்த பிரச்சினை" -msgid "Edit this page" -msgstr "இந்தப் பக்கத்தைத் திருத்தவும்" +msgid "previous page" +msgstr "முந்தைய பக்கம்" -msgid "By" -msgstr "வழங்கியவர்" +msgid "Download notebook file" +msgstr "நோட்புக் கோப்பைப் பதிவிறக்கவும்" msgid "Copyright" msgstr "பதிப்புரிமை" +msgid "Download this page" +msgstr "இந்தப் பக்கத்தைப் பதிவிறக்கவும்" + msgid "Source repository" msgstr "மூல களஞ்சியம்" -msgid "previous page" -msgstr "முந்தைய பக்கம்" +msgid "By" +msgstr "வழங்கியவர்" -msgid "next page" -msgstr "அடுத்த பக்கம்" +msgid "Last updated on" +msgstr "கடைசியாக புதுப்பிக்கப்பட்டது" msgid "Toggle navigation" msgstr "வழிசெலுத்தலை நிலைமாற்று" +msgid "Sphinx Book Theme" +msgstr "ஸ்பிங்க்ஸ் புத்தக தீம்" + msgid "suggest edit" msgstr "திருத்த பரிந்துரைக்கவும்" -msgid "open issue" -msgstr "திறந்த பிரச்சினை" +msgid "Open an issue" +msgstr "சிக்கலைத் திறக்கவும்" msgid "Launch" msgstr "தொடங்க" -msgid "Print to PDF" -msgstr "PDF இல் அச்சிடுக" +msgid "Edit this page" +msgstr "இந்தப் பக்கத்தைத் திருத்தவும்" msgid "By the" msgstr "மூலம்" -msgid "Last updated on" -msgstr "கடைசியாக புதுப்பிக்கப்பட்டது" - -msgid "Download source file" -msgstr "மூல கோப்பைப் பதிவிறக்குக" - -msgid "Download this page" -msgstr "இந்தப் பக்கத்தைப் பதிவிறக்கவும்" +msgid "next page" +msgstr "அடுத்த பக்கம்" diff --git a/_static/locales/te/LC_MESSAGES/booktheme.po b/_static/locales/te/LC_MESSAGES/booktheme.po index b1afebba..952278f5 100644 --- a/_static/locales/te/LC_MESSAGES/booktheme.po +++ b/_static/locales/te/LC_MESSAGES/booktheme.po @@ -8,59 +8,59 @@ msgstr "" "Language: te\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "PDF కి ముద్రించండి" + msgid "Theme by the" msgstr "ద్వారా థీమ్" -msgid "Open an issue" -msgstr "సమస్యను తెరవండి" - -msgid "Download notebook file" -msgstr "నోట్బుక్ ఫైల్ను డౌన్లోడ్ చేయండి" +msgid "Download source file" +msgstr "మూల ఫైల్‌ను డౌన్‌లోడ్ చేయండి" -msgid "Sphinx Book Theme" -msgstr "సింహిక పుస్తక థీమ్" +msgid "open issue" +msgstr "ఓపెన్ ఇష్యూ" -msgid "Edit this page" -msgstr "ఈ పేజీని సవరించండి" +msgid "previous page" +msgstr "ముందు పేజి" -msgid "By" -msgstr "ద్వారా" +msgid "Download notebook file" +msgstr "నోట్బుక్ ఫైల్ను డౌన్లోడ్ చేయండి" msgid "Copyright" msgstr "కాపీరైట్" +msgid "Download this page" +msgstr "ఈ పేజీని డౌన్‌లోడ్ చేయండి" + msgid "Source repository" msgstr "మూల రిపోజిటరీ" -msgid "previous page" -msgstr "ముందు పేజి" +msgid "By" +msgstr "ద్వారా" -msgid "next page" -msgstr "తరువాతి పేజీ" +msgid "Last updated on" +msgstr "చివరిగా నవీకరించబడింది" msgid "Toggle navigation" msgstr "నావిగేషన్‌ను టోగుల్ చేయండి" +msgid "Sphinx Book Theme" +msgstr "సింహిక పుస్తక థీమ్" + msgid "suggest edit" msgstr "సవరించమని సూచించండి" -msgid "open issue" -msgstr "ఓపెన్ ఇష్యూ" +msgid "Open an issue" +msgstr "సమస్యను తెరవండి" msgid "Launch" msgstr "ప్రారంభించండి" -msgid "Print to PDF" -msgstr "PDF కి ముద్రించండి" +msgid "Edit this page" +msgstr "ఈ పేజీని సవరించండి" msgid "By the" msgstr "ద్వారా" -msgid "Last updated on" -msgstr "చివరిగా నవీకరించబడింది" - -msgid "Download source file" -msgstr "మూల ఫైల్‌ను డౌన్‌లోడ్ చేయండి" - -msgid "Download this page" -msgstr "ఈ పేజీని డౌన్‌లోడ్ చేయండి" +msgid "next page" +msgstr "తరువాతి పేజీ" diff --git a/_static/locales/tg/LC_MESSAGES/booktheme.po b/_static/locales/tg/LC_MESSAGES/booktheme.po index 29b8237b..c33dc421 100644 --- a/_static/locales/tg/LC_MESSAGES/booktheme.po +++ b/_static/locales/tg/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: tg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Чоп ба PDF" + msgid "Theme by the" msgstr "Мавзӯъи аз" -msgid "Open an issue" -msgstr "Масъаларо кушоед" +msgid "Download source file" +msgstr "Файли манбаъро зеркашӣ кунед" + +msgid "open issue" +msgstr "барориши кушод" msgid "Contents" msgstr "Мундариҷа" +msgid "previous page" +msgstr "саҳифаи қаблӣ" + msgid "Download notebook file" msgstr "Файли дафтарро зеркашӣ кунед" -msgid "Sphinx Book Theme" -msgstr "Сфинкс Мавзӯи китоб" - -msgid "Fullscreen mode" -msgstr "Ҳолати экрани пурра" - -msgid "Edit this page" -msgstr "Ин саҳифаро таҳрир кунед" - -msgid "By" -msgstr "Бо" - msgid "Copyright" msgstr "Ҳуқуқи муаллиф" +msgid "Download this page" +msgstr "Ин саҳифаро зеркашӣ кунед" + msgid "Source repository" msgstr "Анбори манбаъ" -msgid "previous page" -msgstr "саҳифаи қаблӣ" +msgid "By" +msgstr "Бо" -msgid "next page" -msgstr "саҳифаи оянда" +msgid "repository" +msgstr "анбор" + +msgid "Last updated on" +msgstr "Last навсозӣ дар" msgid "Toggle navigation" msgstr "Гузаришро иваз кунед" -msgid "repository" -msgstr "анбор" +msgid "Sphinx Book Theme" +msgstr "Сфинкс Мавзӯи китоб" msgid "suggest edit" msgstr "пешниҳод вироиш" -msgid "open issue" -msgstr "барориши кушод" +msgid "Open an issue" +msgstr "Масъаларо кушоед" msgid "Launch" msgstr "Оғоз" -msgid "Print to PDF" -msgstr "Чоп ба PDF" +msgid "Fullscreen mode" +msgstr "Ҳолати экрани пурра" + +msgid "Edit this page" +msgstr "Ин саҳифаро таҳрир кунед" msgid "By the" msgstr "Бо" -msgid "Last updated on" -msgstr "Last навсозӣ дар" - -msgid "Download source file" -msgstr "Файли манбаъро зеркашӣ кунед" - -msgid "Download this page" -msgstr "Ин саҳифаро зеркашӣ кунед" +msgid "next page" +msgstr "саҳифаи оянда" diff --git a/_static/locales/th/LC_MESSAGES/booktheme.po b/_static/locales/th/LC_MESSAGES/booktheme.po index ac65ee05..9d24294a 100644 --- a/_static/locales/th/LC_MESSAGES/booktheme.po +++ b/_static/locales/th/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: th\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "พิมพ์เป็น PDF" + msgid "Theme by the" msgstr "ธีมโดย" -msgid "Open an issue" +msgid "Download source file" +msgstr "ดาวน์โหลดไฟล์ต้นฉบับ" + +msgid "open issue" msgstr "เปิดปัญหา" msgid "Contents" msgstr "สารบัญ" +msgid "previous page" +msgstr "หน้าที่แล้ว" + msgid "Download notebook file" msgstr "ดาวน์โหลดไฟล์สมุดบันทึก" -msgid "Sphinx Book Theme" -msgstr "ธีมหนังสือสฟิงซ์" - -msgid "Fullscreen mode" -msgstr "โหมดเต็มหน้าจอ" - -msgid "Edit this page" -msgstr "แก้ไขหน้านี้" - -msgid "By" -msgstr "โดย" - msgid "Copyright" msgstr "ลิขสิทธิ์" +msgid "Download this page" +msgstr "ดาวน์โหลดหน้านี้" + msgid "Source repository" msgstr "ที่เก็บซอร์ส" -msgid "previous page" -msgstr "หน้าที่แล้ว" +msgid "By" +msgstr "โดย" -msgid "next page" -msgstr "หน้าต่อไป" +msgid "repository" +msgstr "ที่เก็บ" + +msgid "Last updated on" +msgstr "ปรับปรุงล่าสุดเมื่อ" msgid "Toggle navigation" msgstr "ไม่ต้องสลับช่องทาง" -msgid "repository" -msgstr "ที่เก็บ" +msgid "Sphinx Book Theme" +msgstr "ธีมหนังสือสฟิงซ์" msgid "suggest edit" msgstr "แนะนำแก้ไข" -msgid "open issue" +msgid "Open an issue" msgstr "เปิดปัญหา" msgid "Launch" msgstr "เปิด" -msgid "Print to PDF" -msgstr "พิมพ์เป็น PDF" +msgid "Fullscreen mode" +msgstr "โหมดเต็มหน้าจอ" + +msgid "Edit this page" +msgstr "แก้ไขหน้านี้" msgid "By the" msgstr "โดย" -msgid "Last updated on" -msgstr "ปรับปรุงล่าสุดเมื่อ" - -msgid "Download source file" -msgstr "ดาวน์โหลดไฟล์ต้นฉบับ" - -msgid "Download this page" -msgstr "ดาวน์โหลดหน้านี้" +msgid "next page" +msgstr "หน้าต่อไป" diff --git a/_static/locales/tl/LC_MESSAGES/booktheme.po b/_static/locales/tl/LC_MESSAGES/booktheme.po index 662d66ca..20e0d07c 100644 --- a/_static/locales/tl/LC_MESSAGES/booktheme.po +++ b/_static/locales/tl/LC_MESSAGES/booktheme.po @@ -8,59 +8,59 @@ msgstr "" "Language: tl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "I-print sa PDF" + msgid "Theme by the" msgstr "Tema ng" -msgid "Open an issue" -msgstr "Magbukas ng isyu" - -msgid "Download notebook file" -msgstr "Mag-download ng file ng notebook" +msgid "Download source file" +msgstr "Mag-download ng file ng pinagmulan" -msgid "Sphinx Book Theme" -msgstr "Tema ng Sphinx Book" +msgid "open issue" +msgstr "bukas na isyu" -msgid "Edit this page" -msgstr "I-edit ang pahinang ito" +msgid "previous page" +msgstr "Nakaraang pahina" -msgid "By" -msgstr "Ni" +msgid "Download notebook file" +msgstr "Mag-download ng file ng notebook" msgid "Copyright" msgstr "Copyright" +msgid "Download this page" +msgstr "I-download ang pahinang ito" + msgid "Source repository" msgstr "Pinagmulan ng imbakan" -msgid "previous page" -msgstr "Nakaraang pahina" +msgid "By" +msgstr "Ni" -msgid "next page" -msgstr "Susunod na pahina" +msgid "Last updated on" +msgstr "Huling na-update noong" msgid "Toggle navigation" msgstr "I-toggle ang pag-navigate" +msgid "Sphinx Book Theme" +msgstr "Tema ng Sphinx Book" + msgid "suggest edit" msgstr "iminumungkahi i-edit" -msgid "open issue" -msgstr "bukas na isyu" +msgid "Open an issue" +msgstr "Magbukas ng isyu" msgid "Launch" msgstr "Ilunsad" -msgid "Print to PDF" -msgstr "I-print sa PDF" +msgid "Edit this page" +msgstr "I-edit ang pahinang ito" msgid "By the" msgstr "Sa pamamagitan ng" -msgid "Last updated on" -msgstr "Huling na-update noong" - -msgid "Download source file" -msgstr "Mag-download ng file ng pinagmulan" - -msgid "Download this page" -msgstr "I-download ang pahinang ito" +msgid "next page" +msgstr "Susunod na pahina" diff --git a/_static/locales/tr/LC_MESSAGES/booktheme.po b/_static/locales/tr/LC_MESSAGES/booktheme.po index d1ae7233..a77eb027 100644 --- a/_static/locales/tr/LC_MESSAGES/booktheme.po +++ b/_static/locales/tr/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: tr\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "PDF olarak yazdır" + msgid "Theme by the" msgstr "Tarafından tema" -msgid "Open an issue" -msgstr "Bir sorunu açın" +msgid "Download source file" +msgstr "Kaynak dosyayı indirin" + +msgid "open issue" +msgstr "Açık konu" msgid "Contents" msgstr "İçindekiler" +msgid "previous page" +msgstr "önceki sayfa" + msgid "Download notebook file" msgstr "Defter dosyasını indirin" -msgid "Sphinx Book Theme" -msgstr "Sfenks Kitap Teması" - -msgid "Fullscreen mode" -msgstr "Tam ekran modu" - -msgid "Edit this page" -msgstr "Bu sayfayı düzenle" - -msgid "By" -msgstr "Tarafından" - msgid "Copyright" msgstr "Telif hakkı" +msgid "Download this page" +msgstr "Bu sayfayı indirin" + msgid "Source repository" msgstr "Kaynak kod deposu" -msgid "previous page" -msgstr "önceki sayfa" +msgid "By" +msgstr "Tarafından" -msgid "next page" -msgstr "sonraki Sayfa" +msgid "repository" +msgstr "depo" + +msgid "Last updated on" +msgstr "Son güncelleme tarihi" msgid "Toggle navigation" msgstr "Gezinmeyi değiştir" -msgid "repository" -msgstr "depo" +msgid "Sphinx Book Theme" +msgstr "Sfenks Kitap Teması" msgid "suggest edit" msgstr "düzenleme öner" -msgid "open issue" -msgstr "Açık konu" +msgid "Open an issue" +msgstr "Bir sorunu açın" msgid "Launch" msgstr "Başlatmak" -msgid "Print to PDF" -msgstr "PDF olarak yazdır" +msgid "Fullscreen mode" +msgstr "Tam ekran modu" + +msgid "Edit this page" +msgstr "Bu sayfayı düzenle" msgid "By the" msgstr "Tarafından" -msgid "Last updated on" -msgstr "Son güncelleme tarihi" - -msgid "Download source file" -msgstr "Kaynak dosyayı indirin" - -msgid "Download this page" -msgstr "Bu sayfayı indirin" +msgid "next page" +msgstr "sonraki Sayfa" diff --git a/_static/locales/uk/LC_MESSAGES/booktheme.po b/_static/locales/uk/LC_MESSAGES/booktheme.po index be49ab85..993dd078 100644 --- a/_static/locales/uk/LC_MESSAGES/booktheme.po +++ b/_static/locales/uk/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: uk\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "Друк у форматі PDF" + msgid "Theme by the" msgstr "Тема від" -msgid "Open an issue" -msgstr "Відкрийте випуск" +msgid "Download source file" +msgstr "Завантажити вихідний файл" + +msgid "open issue" +msgstr "відкритий випуск" msgid "Contents" msgstr "Зміст" +msgid "previous page" +msgstr "Попередня сторінка" + msgid "Download notebook file" msgstr "Завантажте файл блокнота" -msgid "Sphinx Book Theme" -msgstr "Тема книги \"Сфінкс\"" - -msgid "Fullscreen mode" -msgstr "Повноекранний режим" - -msgid "Edit this page" -msgstr "Редагувати цю сторінку" - -msgid "By" -msgstr "Автор" - msgid "Copyright" msgstr "Авторське право" +msgid "Download this page" +msgstr "Завантажте цю сторінку" + msgid "Source repository" msgstr "Джерело сховища" -msgid "previous page" -msgstr "Попередня сторінка" +msgid "By" +msgstr "Автор" -msgid "next page" -msgstr "Наступна сторінка" +msgid "repository" +msgstr "сховище" + +msgid "Last updated on" +msgstr "Останнє оновлення:" msgid "Toggle navigation" msgstr "Переключити навігацію" -msgid "repository" -msgstr "сховище" +msgid "Sphinx Book Theme" +msgstr "Тема книги \"Сфінкс\"" msgid "suggest edit" msgstr "запропонувати редагувати" -msgid "open issue" -msgstr "відкритий випуск" +msgid "Open an issue" +msgstr "Відкрийте випуск" msgid "Launch" msgstr "Запуск" -msgid "Print to PDF" -msgstr "Друк у форматі PDF" +msgid "Fullscreen mode" +msgstr "Повноекранний режим" + +msgid "Edit this page" +msgstr "Редагувати цю сторінку" msgid "By the" msgstr "По" -msgid "Last updated on" -msgstr "Останнє оновлення:" - -msgid "Download source file" -msgstr "Завантажити вихідний файл" - -msgid "Download this page" -msgstr "Завантажте цю сторінку" +msgid "next page" +msgstr "Наступна сторінка" diff --git a/_static/locales/ur/LC_MESSAGES/booktheme.po b/_static/locales/ur/LC_MESSAGES/booktheme.po index 94bcab33..2f774267 100644 --- a/_static/locales/ur/LC_MESSAGES/booktheme.po +++ b/_static/locales/ur/LC_MESSAGES/booktheme.po @@ -8,59 +8,59 @@ msgstr "" "Language: ur\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "پی ڈی ایف پرنٹ کریں" + msgid "Theme by the" msgstr "کے ذریعہ تھیم" -msgid "Open an issue" -msgstr "ایک مسئلہ کھولیں" - -msgid "Download notebook file" -msgstr "نوٹ بک فائل ڈاؤن لوڈ کریں" +msgid "Download source file" +msgstr "سورس فائل ڈاؤن لوڈ کریں" -msgid "Sphinx Book Theme" -msgstr "سپنکس بک تھیم" +msgid "open issue" +msgstr "کھلا مسئلہ" -msgid "Edit this page" -msgstr "اس صفحے میں ترمیم کریں" +msgid "previous page" +msgstr "سابقہ ​​صفحہ" -msgid "By" -msgstr "بذریعہ" +msgid "Download notebook file" +msgstr "نوٹ بک فائل ڈاؤن لوڈ کریں" msgid "Copyright" msgstr "کاپی رائٹ" +msgid "Download this page" +msgstr "اس صفحے کو ڈاؤن لوڈ کریں" + msgid "Source repository" msgstr "ماخذ ذخیرہ" -msgid "previous page" -msgstr "سابقہ ​​صفحہ" +msgid "By" +msgstr "بذریعہ" -msgid "next page" -msgstr "اگلا صفحہ" +msgid "Last updated on" +msgstr "آخری بار تازہ کاری ہوئی" msgid "Toggle navigation" msgstr "نیویگیشن ٹوگل کریں" +msgid "Sphinx Book Theme" +msgstr "سپنکس بک تھیم" + msgid "suggest edit" msgstr "ترمیم کی تجویز کریں" -msgid "open issue" -msgstr "کھلا مسئلہ" +msgid "Open an issue" +msgstr "ایک مسئلہ کھولیں" msgid "Launch" msgstr "لانچ کریں" -msgid "Print to PDF" -msgstr "پی ڈی ایف پرنٹ کریں" +msgid "Edit this page" +msgstr "اس صفحے میں ترمیم کریں" msgid "By the" msgstr "کی طرف" -msgid "Last updated on" -msgstr "آخری بار تازہ کاری ہوئی" - -msgid "Download source file" -msgstr "سورس فائل ڈاؤن لوڈ کریں" - -msgid "Download this page" -msgstr "اس صفحے کو ڈاؤن لوڈ کریں" +msgid "next page" +msgstr "اگلا صفحہ" diff --git a/_static/locales/vi/LC_MESSAGES/booktheme.po b/_static/locales/vi/LC_MESSAGES/booktheme.po index 116236dc..33159f3e 100644 --- a/_static/locales/vi/LC_MESSAGES/booktheme.po +++ b/_static/locales/vi/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: vi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "In sang PDF" + msgid "Theme by the" msgstr "Chủ đề của" -msgid "Open an issue" -msgstr "Mở một vấn đề" +msgid "Download source file" +msgstr "Tải xuống tệp nguồn" + +msgid "open issue" +msgstr "vấn đề mở" msgid "Contents" msgstr "Nội dung" +msgid "previous page" +msgstr "trang trước" + msgid "Download notebook file" msgstr "Tải xuống tệp sổ tay" -msgid "Sphinx Book Theme" -msgstr "Chủ đề sách nhân sư" - -msgid "Fullscreen mode" -msgstr "Chế độ toàn màn hình" - -msgid "Edit this page" -msgstr "chỉnh sửa trang này" - -msgid "By" -msgstr "Bởi" - msgid "Copyright" msgstr "Bản quyền" +msgid "Download this page" +msgstr "Tải xuống trang này" + msgid "Source repository" msgstr "Kho nguồn" -msgid "previous page" -msgstr "trang trước" +msgid "By" +msgstr "Bởi" -msgid "next page" -msgstr "Trang tiếp theo" +msgid "repository" +msgstr "kho" + +msgid "Last updated on" +msgstr "Cập nhật lần cuối vào" msgid "Toggle navigation" msgstr "Chuyển đổi điều hướng thành" -msgid "repository" -msgstr "kho" +msgid "Sphinx Book Theme" +msgstr "Chủ đề sách nhân sư" msgid "suggest edit" msgstr "đề nghị chỉnh sửa" -msgid "open issue" -msgstr "vấn đề mở" +msgid "Open an issue" +msgstr "Mở một vấn đề" msgid "Launch" msgstr "Phóng" -msgid "Print to PDF" -msgstr "In sang PDF" +msgid "Fullscreen mode" +msgstr "Chế độ toàn màn hình" + +msgid "Edit this page" +msgstr "chỉnh sửa trang này" msgid "By the" msgstr "Bằng" -msgid "Last updated on" -msgstr "Cập nhật lần cuối vào" - -msgid "Download source file" -msgstr "Tải xuống tệp nguồn" - -msgid "Download this page" -msgstr "Tải xuống trang này" +msgid "next page" +msgstr "Trang tiếp theo" diff --git a/_static/locales/zh_CN/LC_MESSAGES/booktheme.po b/_static/locales/zh_CN/LC_MESSAGES/booktheme.po index 4f4ab579..2e519ef4 100644 --- a/_static/locales/zh_CN/LC_MESSAGES/booktheme.po +++ b/_static/locales/zh_CN/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "列印成 PDF" + msgid "Theme by the" msgstr "主题作者:" -msgid "Open an issue" +msgid "Download source file" +msgstr "下载源文件" + +msgid "open issue" msgstr "创建议题" msgid "Contents" msgstr "目录" +msgid "previous page" +msgstr "上一页" + msgid "Download notebook file" msgstr "下载笔记本文件" -msgid "Sphinx Book Theme" -msgstr "Sphinx Book 主题" - -msgid "Fullscreen mode" -msgstr "全屏模式" - -msgid "Edit this page" -msgstr "编辑此页面" - -msgid "By" -msgstr "作者:" - msgid "Copyright" msgstr "版权" +msgid "Download this page" +msgstr "下载此页面" + msgid "Source repository" msgstr "源码库" -msgid "previous page" -msgstr "上一页" +msgid "By" +msgstr "作者:" -msgid "next page" -msgstr "下一页" +msgid "repository" +msgstr "仓库" + +msgid "Last updated on" +msgstr "上次更新时间:" msgid "Toggle navigation" msgstr "显示或隐藏导航栏" -msgid "repository" -msgstr "仓库" +msgid "Sphinx Book Theme" +msgstr "Sphinx Book 主题" msgid "suggest edit" msgstr "提出修改建议" -msgid "open issue" +msgid "Open an issue" msgstr "创建议题" msgid "Launch" msgstr "启动" -msgid "Print to PDF" -msgstr "列印成 PDF" +msgid "Fullscreen mode" +msgstr "全屏模式" + +msgid "Edit this page" +msgstr "编辑此页面" msgid "By the" msgstr "作者:" -msgid "Last updated on" -msgstr "上次更新时间:" - -msgid "Download source file" -msgstr "下载源文件" - -msgid "Download this page" -msgstr "下载此页面" +msgid "next page" +msgstr "下一页" diff --git a/_static/locales/zh_TW/LC_MESSAGES/booktheme.po b/_static/locales/zh_TW/LC_MESSAGES/booktheme.po index 42b43b86..beecb076 100644 --- a/_static/locales/zh_TW/LC_MESSAGES/booktheme.po +++ b/_static/locales/zh_TW/LC_MESSAGES/booktheme.po @@ -8,68 +8,68 @@ msgstr "" "Language: zh_TW\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +msgid "Print to PDF" +msgstr "列印成 PDF" + msgid "Theme by the" msgstr "佈景主題作者:" -msgid "Open an issue" -msgstr "開啟議題" +msgid "Download source file" +msgstr "下載原始檔" + +msgid "open issue" +msgstr "公開的問題" msgid "Contents" msgstr "目錄" +msgid "previous page" +msgstr "上一頁" + msgid "Download notebook file" msgstr "下載 Notebook 檔案" -msgid "Sphinx Book Theme" -msgstr "Sphinx Book 佈景主題" - -msgid "Fullscreen mode" -msgstr "全螢幕模式" - -msgid "Edit this page" -msgstr "編輯此頁面" - -msgid "By" -msgstr "作者:" - msgid "Copyright" msgstr "Copyright" +msgid "Download this page" +msgstr "下載此頁面" + msgid "Source repository" msgstr "來源儲存庫" -msgid "previous page" -msgstr "上一頁" +msgid "By" +msgstr "作者:" -msgid "next page" -msgstr "下一頁" +msgid "repository" +msgstr "儲存庫" + +msgid "Last updated on" +msgstr "最後更新時間:" msgid "Toggle navigation" msgstr "顯示或隱藏導覽列" -msgid "repository" -msgstr "儲存庫" +msgid "Sphinx Book Theme" +msgstr "Sphinx Book 佈景主題" msgid "suggest edit" msgstr "提出修改建議" -msgid "open issue" -msgstr "公開的問題" +msgid "Open an issue" +msgstr "開啟議題" msgid "Launch" msgstr "啟動" -msgid "Print to PDF" -msgstr "列印成 PDF" +msgid "Fullscreen mode" +msgstr "全螢幕模式" + +msgid "Edit this page" +msgstr "編輯此頁面" msgid "By the" msgstr "作者:" -msgid "Last updated on" -msgstr "最後更新時間:" - -msgid "Download source file" -msgstr "下載原始檔" - -msgid "Download this page" -msgstr "下載此頁面" +msgid "next page" +msgstr "下一頁" diff --git a/_static/scripts/pydata-sphinx-theme.js b/_static/scripts/pydata-sphinx-theme.js index 920b1864..9aac46de 100644 --- a/_static/scripts/pydata-sphinx-theme.js +++ b/_static/scripts/pydata-sphinx-theme.js @@ -1,2 +1,2 @@ -(()=>{"use strict";function e(e){"loading"!=document.readyState?e():document.addEventListener("DOMContentLoaded",e)}const t=e=>"string"==typeof e&&/^[v\d]/.test(e)&&o.test(e),n=(e,t,n)=>{u(n);const o=((e,t)=>{const n=r(e),o=r(t),a=n.pop(),c=o.pop(),s=i(n,o);return 0!==s?s:a&&c?i(a.split("."),c.split(".")):a||c?a?-1:1:0})(e,t);return d[n].includes(o)},o=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,r=e=>{if("string"!=typeof e)throw new TypeError("Invalid argument expected string");const t=e.match(o);if(!t)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return t.shift(),t},a=e=>"*"===e||"x"===e||"X"===e,c=e=>{const t=parseInt(e,10);return isNaN(t)?e:t},s=(e,t)=>{if(a(e)||a(t))return 0;const[n,o]=((e,t)=>typeof e!=typeof t?[String(e),String(t)]:[e,t])(c(e),c(t));return n>o?1:n{for(let n=0;n":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1]},l=Object.keys(d),u=e=>{if("string"!=typeof e)throw new TypeError("Invalid operator type, expected string but got "+typeof e);if(-1===l.indexOf(e))throw new Error(`Invalid operator, expected one of ${l.join("|")}`)};var m=window.matchMedia("(prefers-color-scheme: dark)");function h(e){document.documentElement.dataset.theme=m.matches?"dark":"light"}function p(e){"light"!==e&&"dark"!==e&&"auto"!==e&&(console.error(`Got invalid theme mode: ${e}. Resetting to auto.`),e="auto");var t=m.matches?"dark":"light";document.documentElement.dataset.mode=e;var n="auto"==e?t:e;document.documentElement.dataset.theme=n,document.querySelectorAll(".dropdown-menu").forEach((e=>{"dark"===n?e.classList.add("dropdown-menu-dark"):e.classList.remove("dropdown-menu-dark")})),localStorage.setItem("mode",e),localStorage.setItem("theme",n),console.log(`[PST]: Changed to ${e} mode using the ${n} theme.`),m.onchange="auto"==e?h:""}function f(){const e=document.documentElement.dataset.defaultMode||"auto",t=localStorage.getItem("mode")||e;var n,o;p(((o=(n=m.matches?["auto","light","dark"]:["auto","dark","light"]).indexOf(t)+1)===n.length&&(o=0),n[o]))}var g=()=>{let e=document.querySelectorAll("form.bd-search");return e.length?(1==e.length?e[0]:document.querySelector("div:not(.search-button__search-container) > form.bd-search")).querySelector("input"):void 0},v=()=>{let e=g(),t=document.querySelector(".search-button__wrapper");e===t.querySelector("input")&&t.classList.toggle("show"),document.activeElement===e?e.blur():(e.focus(),e.select(),e.scrollIntoView({block:"center"}))},y=0===navigator.platform.indexOf("Mac")||"iPhone"===navigator.platform,b=()=>"dirhtml"==DOCUMENTATION_OPTIONS.BUILDER?"index"==DOCUMENTATION_OPTIONS.pagename?"/":`${DOCUMENTATION_OPTIONS.pagename}/`:`${DOCUMENTATION_OPTIONS.pagename}.html`;async function w(e){document.querySelector("#bd-header-version-warning").remove();const t=DOCUMENTATION_OPTIONS.VERSION,n=new Date,o=JSON.parse(localStorage.getItem("pst_banner_pref")||"{}");console.debug(`[PST] Dismissing the version warning banner on ${t} starting ${n}.`),o[t]=n,localStorage.setItem("pst_banner_pref",JSON.stringify(o))}async function E(e){e.preventDefault();const t=b();let n=e.currentTarget.getAttribute("href"),o=n.replace(t,"");try{(await fetch(n,{method:"HEAD"})).ok?location.href=n:location.href=o}catch(e){location.href=o}}async function S(){var e=document.querySelectorAll(".version-switcher__button");const o=e.length>0,r=DOCUMENTATION_OPTIONS.hasOwnProperty("theme_switcher_json_url"),a=DOCUMENTATION_OPTIONS.show_version_warning_banner;if(r&&(o||a)){const o=await async function(e){try{var t=new URL(e)}catch(n){if(!(n instanceof TypeError))throw n;{if(!window.location.origin)return null;const n=await fetch(window.location.origin,{method:"HEAD"});t=new URL(e,n.url)}}const n=await fetch(t);return await n.json()}(DOCUMENTATION_OPTIONS.theme_switcher_json_url);o&&(function(e,t){const n=b();t.forEach((e=>{e.dataset.activeVersionName="",e.dataset.activeVersion=""}));const o=(e=e.map((e=>(e.match=e.version==DOCUMENTATION_OPTIONS.theme_switcher_version_match,e.preferred=e.preferred||!1,"name"in e||(e.name=e.version),e)))).map((e=>e.preferred&&e.match)).some(Boolean);var r=!1;e.forEach((e=>{const a=document.createElement("a");a.setAttribute("class","dropdown-item list-group-item list-group-item-action py-1"),a.setAttribute("href",`${e.url}${n}`),a.setAttribute("role","option");const c=document.createElement("span");c.textContent=`${e.name}`,a.appendChild(c),a.dataset.versionName=e.name,a.dataset.version=e.version;let s=o&&e.preferred,i=!o&&!r&&e.match;(s||i)&&(a.classList.add("active"),t.forEach((t=>{t.innerText=e.name,t.dataset.activeVersionName=e.name,t.dataset.activeVersion=e.version})),r=!0),document.querySelectorAll(".version-switcher__menu").forEach((e=>{let t=a.cloneNode(!0);t.onclick=E,e.append(t)}))}))}(o,e),a&&function(e){var o=DOCUMENTATION_OPTIONS.VERSION,r=e.filter((e=>e.preferred));if(1!==r.length){const e=0==r.length?"No":"Multiple";return void console.log(`[PST] ${e} versions marked "preferred" found in versions JSON, ignoring.`)}const a=r[0].version,c=r[0].url,s=t(o)&&t(a);if(s&&n(o,a,"="))return void console.log("This is the prefered version of the docs, not showing the warning banner.");const i=JSON.parse(localStorage.getItem("pst_banner_pref")||"{}")[o];if(null!=i){const e=new Date(i),t=(new Date-e)/864e5;if(t<14)return void console.info(`[PST] Suppressing version warning banner; was dismissed ${Math.floor(t)} day(s) ago`)}const d=document.querySelector("#bd-header-version-warning"),l=document.createElement("div"),u=document.createElement("div"),m=document.createElement("strong"),h=document.createElement("a"),p=document.createElement("a");l.classList="bd-header-announcement__content ms-auto me-auto",u.classList="sidebar-message",h.classList="btn text-wrap font-weight-bold ms-3 my-1 align-baseline pst-button-link-to-stable-version",h.href=`${c}${b()}`,h.innerText="Switch to stable version",h.onclick=E,p.classList="ms-3 my-1 align-baseline";const f=document.createElement("i");p.append(f),f.classList="fa-solid fa-xmark",p.onclick=w,u.innerText="This is documentation for ";const g=o.includes("dev")||o.includes("rc")||o.includes("pre"),v=s&&n(o,a,">");g||v?m.innerText="an unstable development version":s&&n(o,a,"<")?m.innerText=`an old version (${o})`:m.innerText=o?`version ${o}`:"an unknown version",d.appendChild(l),d.append(p),l.appendChild(u),u.appendChild(m),u.appendChild(document.createTextNode(".")),u.appendChild(h),d.classList.remove("d-none")}(o))}}function T(){const e=()=>{document.querySelectorAll("pre, .nboutput > .output_area, .cell_output > .output, .jp-RenderedHTMLCommon").forEach((e=>{e.tabIndex=e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight?0:-1}))},t=function(e,t){let n=null;return(...t)=>{clearTimeout(n),n=setTimeout((()=>{e(...t)}),300)}}(e);window.addEventListener("resize",t),new MutationObserver(t).observe(document.getElementById("main-content"),{subtree:!0,childList:!0}),e()}async function O(){const e=document.querySelector(".bd-header-announcement"),{pstAnnouncementUrl:t}=e.dataset;if(t)try{const n=await fetch(t);if(!n.ok)throw new Error(`[PST]: HTTP response status not ok: ${n.status} ${n.statusText}`);const o=await n.text();if(0===o.length)return void console.log(`[PST]: Empty announcement at: ${t}`);e.innerHTML=`
${o}
`,e.classList.remove("d-none")}catch(e){console.log(`[PST]: Failed to load announcement at: ${t}`),console.error(e)}}e((async function(){await Promise.allSettled([S(),O()]);const e=document.querySelector(".pst-async-banner-revealer");e.classList.remove("d-none");const t=Array.from(e.children).reduce(((e,t)=>e+t.offsetHeight),0);e.style.setProperty("height",`${t}px`),setTimeout((()=>{e.style.setProperty("height","auto")}),320)})),e((function(){p(document.documentElement.dataset.mode),document.querySelectorAll(".theme-switch-button").forEach((e=>{e.addEventListener("click",f)}))})),e((function(){if(!document.querySelector(".bd-docs-nav"))return;var e=document.querySelector("div.bd-sidebar");let t=parseInt(sessionStorage.getItem("sidebar-scroll-top"),10);if(isNaN(t)){var n=document.querySelector(".bd-docs-nav").querySelectorAll(".active");if(n.length>0){var o=n[n.length-1],r=o.getBoundingClientRect().y-e.getBoundingClientRect().y;if(o.getBoundingClientRect().y>.5*window.innerHeight){let t=.25;e.scrollTop=r-e.clientHeight*t,console.log("[PST]: Scrolled sidebar using last active link...")}}}else e.scrollTop=t,console.log("[PST]: Scrolled sidebar using stored browser position...");window.addEventListener("beforeunload",(()=>{sessionStorage.setItem("sidebar-scroll-top",e.scrollTop)}))})),e((function(){window.addEventListener("activate.bs.scrollspy",(function(){document.querySelectorAll(".bd-toc-nav a").forEach((e=>{e.parentElement.classList.remove("active")})),document.querySelectorAll(".bd-toc-nav a.active").forEach((e=>{e.parentElement.classList.add("active")}))}))})),e((()=>{(()=>{let e=document.querySelectorAll(".search-button__kbd-shortcut");y&&e.forEach((e=>e.querySelector("kbd.kbd-shortcut__modifier").innerText="⌘"))})(),window.addEventListener("keydown",(e=>{let t=g();e.shiftKey||e.altKey||(y?!e.metaKey||e.ctrlKey:e.metaKey||!e.ctrlKey)||!/^k$/i.test(e.key)?document.activeElement===t&&/Escape/i.test(e.key)&&v():(e.preventDefault(),v())}),!0),document.querySelectorAll(".search-button__button").forEach((e=>{e.onclick=v}));let e=document.querySelector(".search-button__overlay");e&&(e.onclick=v)})),e((function(){new MutationObserver(((e,t)=>{e.forEach((e=>{0!==e.addedNodes.length&&void 0!==e.addedNodes[0].data&&-1!=e.addedNodes[0].data.search("Inserted RTD Footer")&&e.addedNodes.forEach((e=>{document.getElementById("rtd-footer-container").append(e)}))}))})).observe(document.body,{childList:!0})})),e((function(){const e=document.getElementById("pst-primary-sidebar-checkbox"),t=document.getElementById("pst-secondary-sidebar-checkbox"),n=document.querySelector(".bd-sidebar-primary"),o=document.querySelector(".bd-sidebar-secondary"),r=document.querySelector(".primary-toggle"),a=document.querySelector(".secondary-toggle");[[r,e,n],[a,t,o]].forEach((([e,t,n])=>{e&&e.addEventListener("click",(e=>{if(e.preventDefault(),e.stopPropagation(),t.checked=!t.checked,t.checked){const e=n.querySelector("a, button");setTimeout((()=>e.focus()),100)}}))})),[[n,e,r],[o,t,a]].forEach((([e,t,n])=>{e&&e.addEventListener("keydown",(e=>{"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),t.checked=!1,n.focus())}))})),[[e,r],[t,a]].forEach((([e,t])=>{e.addEventListener("change",(e=>{e.currentTarget.checked||t.focus()}))}))})),"complete"===document.readyState?T():window.addEventListener("load",T)})(); +(()=>{"use strict";function e(e){"loading"!=document.readyState?e():document.addEventListener("DOMContentLoaded",e)}const t=e=>"string"==typeof e&&/^[v\d]/.test(e)&&o.test(e),n=(e,t,n)=>{u(n);const o=((e,t)=>{const n=r(e),o=r(t),a=n.pop(),c=o.pop(),s=i(n,o);return 0!==s?s:a&&c?i(a.split("."),c.split(".")):a||c?a?-1:1:0})(e,t);return d[n].includes(o)},o=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,r=e=>{if("string"!=typeof e)throw new TypeError("Invalid argument expected string");const t=e.match(o);if(!t)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return t.shift(),t},a=e=>"*"===e||"x"===e||"X"===e,c=e=>{const t=parseInt(e,10);return isNaN(t)?e:t},s=(e,t)=>{if(a(e)||a(t))return 0;const[n,o]=((e,t)=>typeof e!=typeof t?[String(e),String(t)]:[e,t])(c(e),c(t));return n>o?1:n{for(let n=0;n":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1]},l=Object.keys(d),u=e=>{if("string"!=typeof e)throw new TypeError("Invalid operator type, expected string but got "+typeof e);if(-1===l.indexOf(e))throw new Error(`Invalid operator, expected one of ${l.join("|")}`)};var m=window.matchMedia("(prefers-color-scheme: dark)");function h(e){document.documentElement.dataset.theme=m.matches?"dark":"light"}function p(e){"light"!==e&&"dark"!==e&&"auto"!==e&&(console.error(`Got invalid theme mode: ${e}. Resetting to auto.`),e="auto");var t=m.matches?"dark":"light";document.documentElement.dataset.mode=e;var n="auto"==e?t:e;document.documentElement.dataset.theme=n,document.querySelectorAll(".dropdown-menu").forEach((e=>{"dark"===n?e.classList.add("dropdown-menu-dark"):e.classList.remove("dropdown-menu-dark")})),localStorage.setItem("mode",e),localStorage.setItem("theme",n),console.log(`[PST]: Changed to ${e} mode using the ${n} theme.`),m.onchange="auto"==e?h:""}function f(){const e=document.documentElement.dataset.defaultMode||"auto",t=localStorage.getItem("mode")||e;var n,o;p(((o=(n=m.matches?["auto","light","dark"]:["auto","dark","light"]).indexOf(t)+1)===n.length&&(o=0),n[o]))}var g=()=>{let e=document.querySelectorAll("form.bd-search");return e.length?(1==e.length?e[0]:document.querySelector("div:not(.search-button__search-container) > form.bd-search")).querySelector("input"):void 0},v=()=>{let e=g(),t=document.querySelector(".search-button__wrapper");e===t.querySelector("input")&&t.classList.toggle("show"),document.activeElement===e?e.blur():(e.focus(),e.select(),e.scrollIntoView({block:"center"}))},y=0===navigator.platform.indexOf("Mac")||"iPhone"===navigator.platform,b=()=>"dirhtml"==DOCUMENTATION_OPTIONS.BUILDER?"index"==DOCUMENTATION_OPTIONS.pagename?"/":`${DOCUMENTATION_OPTIONS.pagename}/`:`${DOCUMENTATION_OPTIONS.pagename}.html`;async function w(e){document.querySelector("#bd-header-version-warning").remove();const t=DOCUMENTATION_OPTIONS.VERSION,n=new Date,o=JSON.parse(localStorage.getItem("pst_banner_pref")||"{}");console.debug(`[PST] Dismissing the version warning banner on ${t} starting ${n}.`),o[t]=n,localStorage.setItem("pst_banner_pref",JSON.stringify(o))}async function E(e){e.preventDefault();const t=b();let n=e.currentTarget.getAttribute("href"),o=n.replace(t,"");try{(await fetch(n,{method:"HEAD"})).ok?location.href=n:location.href=o}catch(e){location.href=o}}async function S(){var e=document.querySelectorAll(".version-switcher__button");const o=e.length>0,r=DOCUMENTATION_OPTIONS.hasOwnProperty("theme_switcher_json_url"),a=DOCUMENTATION_OPTIONS.show_version_warning_banner;if(r&&(o||a)){const o=await async function(e){try{var t=new URL(e)}catch(n){if(!(n instanceof TypeError))throw n;{if(!window.location.origin)return null;const n=await fetch(window.location.origin,{method:"HEAD"});t=new URL(e,n.url)}}const n=await fetch(t);return await n.json()}(DOCUMENTATION_OPTIONS.theme_switcher_json_url);o&&(function(e,t){const n=b();t.forEach((e=>{e.dataset.activeVersionName="",e.dataset.activeVersion=""}));const o=(e=e.map((e=>(e.match=e.version==DOCUMENTATION_OPTIONS.theme_switcher_version_match,e.preferred=e.preferred||!1,"name"in e||(e.name=e.version),e)))).map((e=>e.preferred&&e.match)).some(Boolean);var r=!1;e.forEach((e=>{const a=document.createElement("a");a.setAttribute("class","dropdown-item list-group-item list-group-item-action py-1"),a.setAttribute("href",`${e.url}${n}`),a.setAttribute("role","option");const c=document.createElement("span");c.textContent=`${e.name}`,a.appendChild(c),a.dataset.versionName=e.name,a.dataset.version=e.version;let s=o&&e.preferred,i=!o&&!r&&e.match;(s||i)&&(a.classList.add("active"),t.forEach((t=>{t.innerText=e.name,t.dataset.activeVersionName=e.name,t.dataset.activeVersion=e.version})),r=!0),document.querySelectorAll(".version-switcher__menu").forEach((e=>{let t=a.cloneNode(!0);t.onclick=E,e.append(t)}))}))}(o,e),a&&function(e){var o=DOCUMENTATION_OPTIONS.VERSION,r=e.filter((e=>e.preferred));if(1!==r.length){const e=0==r.length?"No":"Multiple";return void console.log(`[PST] ${e} versions marked "preferred" found in versions JSON, ignoring.`)}const a=r[0].version,c=r[0].url,s=t(o)&&t(a);if(s&&n(o,a,"="))return void console.log("This is the prefered version of the docs, not showing the warning banner.");const i=JSON.parse(localStorage.getItem("pst_banner_pref")||"{}")[o];if(null!=i){const e=new Date(i),t=(new Date-e)/864e5;if(t<14)return void console.info(`[PST] Suppressing version warning banner; was dismissed ${Math.floor(t)} day(s) ago`)}const d=document.querySelector("#bd-header-version-warning"),l=document.createElement("div"),u=document.createElement("div"),m=document.createElement("strong"),h=document.createElement("a"),p=document.createElement("a");l.classList="bd-header-announcement__content ms-auto me-auto",u.classList="sidebar-message",h.classList="btn text-wrap font-weight-bold ms-3 my-1 align-baseline pst-button-link-to-stable-version",h.href=`${c}${b()}`,h.innerText="Switch to stable version",h.onclick=E,p.classList="ms-3 my-1 align-baseline";const f=document.createElement("i");p.append(f),f.classList="fa-solid fa-xmark",p.onclick=w,u.innerText="This is documentation for ";const g=o.includes("dev")||o.includes("rc")||o.includes("pre"),v=s&&n(o,a,">");g||v?m.innerText="an unstable development version":s&&n(o,a,"<")?m.innerText=`an old version (${o})`:m.innerText=o?`version ${o}`:"an unknown version",d.appendChild(l),d.append(p),l.appendChild(u),u.appendChild(m),u.appendChild(document.createTextNode(".")),u.appendChild(h),d.classList.remove("d-none")}(o))}}function T(){const e=()=>{document.querySelectorAll("pre, .nboutput > .output_area, .cell_output > .output, .jp-RenderedHTMLCommon").forEach((e=>{e.tabIndex=e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight?0:-1}))},t=function(e,t){let n=null;return(...t)=>{clearTimeout(n),n=setTimeout((()=>{e(...t)}),300)}}(e);window.addEventListener("resize",t),new MutationObserver(t).observe(document.getElementById("main-content"),{subtree:!0,childList:!0}),e()}async function O(){const e=document.querySelector(".bd-header-announcement"),{pstAnnouncementUrl:t}=e?e.dataset:null;if(t)try{const n=await fetch(t);if(!n.ok)throw new Error(`[PST]: HTTP response status not ok: ${n.status} ${n.statusText}`);const o=await n.text();if(0===o.length)return void console.log(`[PST]: Empty announcement at: ${t}`);e.innerHTML=`
${o}
`,e.classList.remove("d-none")}catch(e){console.log(`[PST]: Failed to load announcement at: ${t}`),console.error(e)}}e((async function(){await Promise.allSettled([S(),O()]);const e=document.querySelector(".pst-async-banner-revealer");if(!e)return;e.classList.remove("d-none");const t=Array.from(e.children).reduce(((e,t)=>e+t.offsetHeight),0);e.style.setProperty("height",`${t}px`),setTimeout((()=>{e.style.setProperty("height","auto")}),320)})),e((function(){p(document.documentElement.dataset.mode),document.querySelectorAll(".theme-switch-button").forEach((e=>{e.addEventListener("click",f)}))})),e((function(){if(!document.querySelector(".bd-docs-nav"))return;var e=document.querySelector("div.bd-sidebar");let t=parseInt(sessionStorage.getItem("sidebar-scroll-top"),10);if(isNaN(t)){var n=document.querySelector(".bd-docs-nav").querySelectorAll(".active");if(n.length>0){var o=n[n.length-1],r=o.getBoundingClientRect().y-e.getBoundingClientRect().y;if(o.getBoundingClientRect().y>.5*window.innerHeight){let t=.25;e.scrollTop=r-e.clientHeight*t,console.log("[PST]: Scrolled sidebar using last active link...")}}}else e.scrollTop=t,console.log("[PST]: Scrolled sidebar using stored browser position...");window.addEventListener("beforeunload",(()=>{sessionStorage.setItem("sidebar-scroll-top",e.scrollTop)}))})),e((function(){window.addEventListener("activate.bs.scrollspy",(function(){document.querySelectorAll(".bd-toc-nav a").forEach((e=>{e.parentElement.classList.remove("active")})),document.querySelectorAll(".bd-toc-nav a.active").forEach((e=>{e.parentElement.classList.add("active")}))}))})),e((()=>{(()=>{let e=document.querySelectorAll(".search-button__kbd-shortcut");y&&e.forEach((e=>e.querySelector("kbd.kbd-shortcut__modifier").innerText="⌘"))})(),window.addEventListener("keydown",(e=>{let t=g();e.shiftKey||e.altKey||(y?!e.metaKey||e.ctrlKey:e.metaKey||!e.ctrlKey)||!/^k$/i.test(e.key)?document.activeElement===t&&/Escape/i.test(e.key)&&v():(e.preventDefault(),v())}),!0),document.querySelectorAll(".search-button__button").forEach((e=>{e.onclick=v}));let e=document.querySelector(".search-button__overlay");e&&(e.onclick=v)})),e((function(){new MutationObserver(((e,t)=>{e.forEach((e=>{0!==e.addedNodes.length&&void 0!==e.addedNodes[0].data&&-1!=e.addedNodes[0].data.search("Inserted RTD Footer")&&e.addedNodes.forEach((e=>{document.getElementById("rtd-footer-container").append(e)}))}))})).observe(document.body,{childList:!0})})),e((function(){const e=document.getElementById("pst-primary-sidebar-checkbox"),t=document.getElementById("pst-secondary-sidebar-checkbox"),n=document.querySelector(".bd-sidebar-primary"),o=document.querySelector(".bd-sidebar-secondary"),r=document.querySelector(".primary-toggle"),a=document.querySelector(".secondary-toggle");[[r,e,n],[a,t,o]].forEach((([e,t,n])=>{e&&e.addEventListener("click",(e=>{if(e.preventDefault(),e.stopPropagation(),t.checked=!t.checked,t.checked){const e=n.querySelector("a, button");setTimeout((()=>e.focus()),100)}}))})),[[n,e,r],[o,t,a]].forEach((([e,t,n])=>{e&&e.addEventListener("keydown",(e=>{"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),t.checked=!1,n.focus())}))})),[[e,r],[t,a]].forEach((([e,t])=>{e.addEventListener("change",(e=>{e.currentTarget.checked||t.focus()}))}))})),"complete"===document.readyState?T():window.addEventListener("load",T)})(); //# sourceMappingURL=pydata-sphinx-theme.js.map \ No newline at end of file diff --git a/_static/scripts/pydata-sphinx-theme.js.map b/_static/scripts/pydata-sphinx-theme.js.map index 50e7fefe..410fe686 100644 --- a/_static/scripts/pydata-sphinx-theme.js.map +++ b/_static/scripts/pydata-sphinx-theme.js.map @@ -1 +1 @@ -{"version":3,"file":"scripts/pydata-sphinx-theme.js","mappings":"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","sources":["webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/scripts/mixin.js","webpack://pydata_sphinx_theme/./node_modules/compare-versions/lib/esm/index.js","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/scripts/pydata-sphinx-theme.js"],"sourcesContent":["/* define several functions to replace jQuery methods\n * inspired by https://tobiasahlin.com/blog/move-from-jquery-to-vanilla-javascript/\n */\n\n/**\n * Execute a method if DOM has finished loading\n *\n * @param {function} callback the method to execute\n */\nexport function documentReady(callback) {\n if (document.readyState != \"loading\") callback();\n else document.addEventListener(\"DOMContentLoaded\", callback);\n}\n","/**\n * Compare [semver](https://semver.org/) version strings to find greater, equal or lesser.\n * This library supports the full semver specification, including comparing versions with different number of digits like `1.0.0`, `1.0`, `1`, and pre-release versions like `1.0.0-alpha`.\n * @param v1 - First version to compare\n * @param v2 - Second version to compare\n * @returns Numeric value compatible with the [Array.sort(fn) interface](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters).\n */\nexport const compareVersions = (v1, v2) => {\n // validate input and split into segments\n const n1 = validateAndParse(v1);\n const n2 = validateAndParse(v2);\n // pop off the patch\n const p1 = n1.pop();\n const p2 = n2.pop();\n // validate numbers\n const r = compareSegments(n1, n2);\n if (r !== 0)\n return r;\n // validate pre-release\n if (p1 && p2) {\n return compareSegments(p1.split('.'), p2.split('.'));\n }\n else if (p1 || p2) {\n return p1 ? -1 : 1;\n }\n return 0;\n};\n/**\n * Validate [semver](https://semver.org/) version strings.\n *\n * @param version Version number to validate\n * @returns `true` if the version number is a valid semver version number, `false` otherwise.\n *\n * @example\n * ```\n * validate('1.0.0-rc.1'); // return true\n * validate('1.0-rc.1'); // return false\n * validate('foo'); // return false\n * ```\n */\nexport const validate = (version) => typeof version === 'string' && /^[v\\d]/.test(version) && semver.test(version);\n/**\n * Compare [semver](https://semver.org/) version strings using the specified operator.\n *\n * @param v1 First version to compare\n * @param v2 Second version to compare\n * @param operator Allowed arithmetic operator to use\n * @returns `true` if the comparison between the firstVersion and the secondVersion satisfies the operator, `false` otherwise.\n *\n * @example\n * ```\n * compare('10.1.8', '10.0.4', '>'); // return true\n * compare('10.0.1', '10.0.1', '='); // return true\n * compare('10.1.1', '10.2.2', '<'); // return true\n * compare('10.1.1', '10.2.2', '<='); // return true\n * compare('10.1.1', '10.2.2', '>='); // return false\n * ```\n */\nexport const compare = (v1, v2, operator) => {\n // validate input operator\n assertValidOperator(operator);\n // since result of compareVersions can only be -1 or 0 or 1\n // a simple map can be used to replace switch\n const res = compareVersions(v1, v2);\n return operatorResMap[operator].includes(res);\n};\n/**\n * Match [npm semver](https://docs.npmjs.com/cli/v6/using-npm/semver) version range.\n *\n * @param version Version number to match\n * @param range Range pattern for version\n * @returns `true` if the version number is within the range, `false` otherwise.\n *\n * @example\n * ```\n * satisfies('1.1.0', '^1.0.0'); // return true\n * satisfies('1.1.0', '~1.0.0'); // return false\n * ```\n */\nexport const satisfies = (version, range) => {\n // if no range operator then \"=\"\n const m = range.match(/^([<>=~^]+)/);\n const op = m ? m[1] : '=';\n // if gt/lt/eq then operator compare\n if (op !== '^' && op !== '~')\n return compare(version, range, op);\n // else range of either \"~\" or \"^\" is assumed\n const [v1, v2, v3, , vp] = validateAndParse(version);\n const [r1, r2, r3, , rp] = validateAndParse(range);\n const v = [v1, v2, v3];\n const r = [r1, r2 !== null && r2 !== void 0 ? r2 : 'x', r3 !== null && r3 !== void 0 ? r3 : 'x'];\n // validate pre-release\n if (rp) {\n if (!vp)\n return false;\n if (compareSegments(v, r) !== 0)\n return false;\n if (compareSegments(vp.split('.'), rp.split('.')) === -1)\n return false;\n }\n // first non-zero number\n const nonZero = r.findIndex((v) => v !== '0') + 1;\n // pointer to where segments can be >=\n const i = op === '~' ? 2 : nonZero > 1 ? nonZero : 1;\n // before pointer must be equal\n if (compareSegments(v.slice(0, i), r.slice(0, i)) !== 0)\n return false;\n // after pointer must be >=\n if (compareSegments(v.slice(i), r.slice(i)) === -1)\n return false;\n return true;\n};\nconst semver = /^[v^~<>=]*?(\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+))?(?:-([\\da-z\\-]+(?:\\.[\\da-z\\-]+)*))?(?:\\+[\\da-z\\-]+(?:\\.[\\da-z\\-]+)*)?)?)?$/i;\nconst validateAndParse = (version) => {\n if (typeof version !== 'string') {\n throw new TypeError('Invalid argument expected string');\n }\n const match = version.match(semver);\n if (!match) {\n throw new Error(`Invalid argument not valid semver ('${version}' received)`);\n }\n match.shift();\n return match;\n};\nconst isWildcard = (s) => s === '*' || s === 'x' || s === 'X';\nconst tryParse = (v) => {\n const n = parseInt(v, 10);\n return isNaN(n) ? v : n;\n};\nconst forceType = (a, b) => typeof a !== typeof b ? [String(a), String(b)] : [a, b];\nconst compareStrings = (a, b) => {\n if (isWildcard(a) || isWildcard(b))\n return 0;\n const [ap, bp] = forceType(tryParse(a), tryParse(b));\n if (ap > bp)\n return 1;\n if (ap < bp)\n return -1;\n return 0;\n};\nconst compareSegments = (a, b) => {\n for (let i = 0; i < Math.max(a.length, b.length); i++) {\n const r = compareStrings(a[i] || '0', b[i] || '0');\n if (r !== 0)\n return r;\n }\n return 0;\n};\nconst operatorResMap = {\n '>': [1],\n '>=': [0, 1],\n '=': [0],\n '<=': [-1, 0],\n '<': [-1],\n};\nconst allowedOperators = Object.keys(operatorResMap);\nconst assertValidOperator = (op) => {\n if (typeof op !== 'string') {\n throw new TypeError(`Invalid operator type, expected string but got ${typeof op}`);\n }\n if (allowedOperators.indexOf(op) === -1) {\n throw new Error(`Invalid operator, expected one of ${allowedOperators.join('|')}`);\n }\n};\n//# sourceMappingURL=index.js.map","// Define the custom behavior of the page\nimport { documentReady } from \"./mixin\";\nimport { compare, validate } from \"compare-versions\";\n\nimport \"../styles/pydata-sphinx-theme.scss\";\n\n/*******************************************************************************\n * Theme interaction\n */\n\nvar prefersDark = window.matchMedia(\"(prefers-color-scheme: dark)\");\n\n/**\n * set the the body theme to the one specified by the user browser\n *\n * @param {event} e\n */\nfunction autoTheme(e) {\n document.documentElement.dataset.theme = prefersDark.matches\n ? \"dark\"\n : \"light\";\n}\n\n/**\n * Set the theme using the specified mode.\n * It can be one of [\"auto\", \"dark\", \"light\"]\n *\n * @param {str} mode\n */\nfunction setTheme(mode) {\n if (mode !== \"light\" && mode !== \"dark\" && mode !== \"auto\") {\n console.error(`Got invalid theme mode: ${mode}. Resetting to auto.`);\n mode = \"auto\";\n }\n\n // get the theme\n var colorScheme = prefersDark.matches ? \"dark\" : \"light\";\n document.documentElement.dataset.mode = mode;\n var theme = mode == \"auto\" ? colorScheme : mode;\n document.documentElement.dataset.theme = theme;\n // TODO: remove this line after Bootstrap upgrade\n // v5.3 has a colors mode: https://getbootstrap.com/docs/5.3/customize/color-modes/\n document.querySelectorAll(\".dropdown-menu\").forEach((el) => {\n if (theme === \"dark\") {\n el.classList.add(\"dropdown-menu-dark\");\n } else {\n el.classList.remove(\"dropdown-menu-dark\");\n }\n });\n\n // save mode and theme\n localStorage.setItem(\"mode\", mode);\n localStorage.setItem(\"theme\", theme);\n console.log(`[PST]: Changed to ${mode} mode using the ${theme} theme.`);\n\n // add a listener if set on auto\n prefersDark.onchange = mode == \"auto\" ? autoTheme : \"\";\n}\n\n/**\n * Change the theme option order so that clicking on the btn is always a change\n * from \"auto\"\n */\nfunction cycleMode() {\n const defaultMode = document.documentElement.dataset.defaultMode || \"auto\";\n const currentMode = localStorage.getItem(\"mode\") || defaultMode;\n\n var loopArray = (arr, current) => {\n var nextPosition = arr.indexOf(current) + 1;\n if (nextPosition === arr.length) {\n nextPosition = 0;\n }\n return arr[nextPosition];\n };\n\n // make sure the next theme after auto is always a change\n var modeList = prefersDark.matches\n ? [\"auto\", \"light\", \"dark\"]\n : [\"auto\", \"dark\", \"light\"];\n var newMode = loopArray(modeList, currentMode);\n setTheme(newMode);\n}\n\n/**\n * add the theme listener on the btns of the navbar\n */\nfunction addModeListener() {\n // the theme was set a first time using the initial mini-script\n // running setMode will ensure the use of the dark mode if auto is selected\n setTheme(document.documentElement.dataset.mode);\n\n // Attach event handlers for toggling themes colors\n document.querySelectorAll(\".theme-switch-button\").forEach((el) => {\n el.addEventListener(\"click\", cycleMode);\n });\n}\n\n/*******************************************************************************\n * TOC interactivity\n */\n\n/**\n * TOC sidebar - add \"active\" class to parent list\n *\n * Bootstrap's scrollspy adds the active class to the link,\n * but for the automatic collapsing we need this on the parent list item.\n *\n * The event is triggered on \"window\" (and not the nav item as documented),\n * see https://github.com/twbs/bootstrap/issues/20086\n */\nfunction addTOCInteractivity() {\n window.addEventListener(\"activate.bs.scrollspy\", function () {\n const navLinks = document.querySelectorAll(\".bd-toc-nav a\");\n\n navLinks.forEach((navLink) => {\n navLink.parentElement.classList.remove(\"active\");\n });\n\n const activeNavLinks = document.querySelectorAll(\".bd-toc-nav a.active\");\n activeNavLinks.forEach((navLink) => {\n navLink.parentElement.classList.add(\"active\");\n });\n });\n}\n\n/*******************************************************************************\n * Scroll\n */\n\n/**\n * Navigation sidebar scrolling to active page\n */\nfunction scrollToActive() {\n // If the docs nav doesn't exist, do nothing (e.g., on search page)\n if (!document.querySelector(\".bd-docs-nav\")) {\n return;\n }\n\n var sidebar = document.querySelector(\"div.bd-sidebar\");\n\n // Remember the sidebar scroll position between page loads\n // Inspired on source of revealjs.com\n let storedScrollTop = parseInt(\n sessionStorage.getItem(\"sidebar-scroll-top\"),\n 10,\n );\n\n if (!isNaN(storedScrollTop)) {\n // If we've got a saved scroll position, just use that\n sidebar.scrollTop = storedScrollTop;\n console.log(\"[PST]: Scrolled sidebar using stored browser position...\");\n } else {\n // Otherwise, calculate a position to scroll to based on the lowest `active` link\n var sidebarNav = document.querySelector(\".bd-docs-nav\");\n var active_pages = sidebarNav.querySelectorAll(\".active\");\n if (active_pages.length > 0) {\n // Use the last active page as the offset since it's the page we're on\n var latest_active = active_pages[active_pages.length - 1];\n var offset =\n latest_active.getBoundingClientRect().y -\n sidebar.getBoundingClientRect().y;\n // Only scroll the navbar if the active link is lower than 50% of the page\n if (latest_active.getBoundingClientRect().y > window.innerHeight * 0.5) {\n let buffer = 0.25; // Buffer so we have some space above the scrolled item\n sidebar.scrollTop = offset - sidebar.clientHeight * buffer;\n console.log(\"[PST]: Scrolled sidebar using last active link...\");\n }\n }\n }\n\n // Store the sidebar scroll position\n window.addEventListener(\"beforeunload\", () => {\n sessionStorage.setItem(\"sidebar-scroll-top\", sidebar.scrollTop);\n });\n}\n\n/*******************************************************************************\n * Search\n */\n\n/**\n * Find any search forms on the page and return their input element\n */\nvar findSearchInput = () => {\n let forms = document.querySelectorAll(\"form.bd-search\");\n if (!forms.length) {\n // no search form found\n return;\n } else {\n var form;\n if (forms.length == 1) {\n // there is exactly one search form (persistent or hidden)\n form = forms[0];\n } else {\n // must be at least one persistent form, use the first persistent one\n form = document.querySelector(\n \"div:not(.search-button__search-container) > form.bd-search\",\n );\n }\n return form.querySelector(\"input\");\n }\n};\n\n/**\n * Activate the search field on the page.\n * - If there is a search field already visible it will be activated.\n * - If not, then a search field will pop up.\n */\nvar toggleSearchField = () => {\n // Find the search input to highlight\n let input = findSearchInput();\n\n // if the input field is the hidden one (the one associated with the\n // search button) then toggle the button state (to show/hide the field)\n let searchPopupWrapper = document.querySelector(\".search-button__wrapper\");\n let hiddenInput = searchPopupWrapper.querySelector(\"input\");\n if (input === hiddenInput) {\n searchPopupWrapper.classList.toggle(\"show\");\n }\n // when toggling off the search field, remove its focus\n if (document.activeElement === input) {\n input.blur();\n } else {\n input.focus();\n input.select();\n input.scrollIntoView({ block: \"center\" });\n }\n};\n\n/**\n * Add an event listener for toggleSearchField() for Ctrl/Cmd + K\n */\nvar addEventListenerForSearchKeyboard = () => {\n window.addEventListener(\n \"keydown\",\n (event) => {\n let input = findSearchInput();\n // toggle on Ctrl+k or ⌘+k\n if (\n // Ignore if shift or alt are pressed\n !event.shiftKey &&\n !event.altKey &&\n // On Mac use ⌘, all other OS use Ctrl\n (useCommandKey\n ? event.metaKey && !event.ctrlKey\n : !event.metaKey && event.ctrlKey) &&\n // Case-insensitive so the shortcut still works with caps lock\n /^k$/i.test(event.key)\n ) {\n event.preventDefault();\n toggleSearchField();\n }\n // also allow Escape key to hide (but not show) the dynamic search field\n else if (document.activeElement === input && /Escape/i.test(event.key)) {\n toggleSearchField();\n }\n },\n true,\n );\n};\n\n/**\n * If the user is on a Mac, use command (⌘) instead of control (ctrl) key\n *\n * Note: `navigator.platform` is deprecated; however MDN still recommends using\n * it for the one specific use case of detecting whether a keyboard shortcut\n * should use control or command:\n * https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform#examples\n */\nvar useCommandKey =\n navigator.platform.indexOf(\"Mac\") === 0 || navigator.platform === \"iPhone\";\n\n/**\n * Change the search hint to `meta key` if we are a Mac\n */\n\nvar changeSearchShortcutKey = () => {\n let shortcuts = document.querySelectorAll(\".search-button__kbd-shortcut\");\n if (useCommandKey) {\n shortcuts.forEach(\n (f) => (f.querySelector(\"kbd.kbd-shortcut__modifier\").innerText = \"⌘\"),\n );\n }\n};\n\n/**\n * Activate callbacks for search button popup\n */\nvar setupSearchButtons = () => {\n changeSearchShortcutKey();\n addEventListenerForSearchKeyboard();\n\n // Add the search button trigger event callback\n document.querySelectorAll(\".search-button__button\").forEach((btn) => {\n btn.onclick = toggleSearchField;\n });\n\n // Add the search button overlay event callback\n let overlay = document.querySelector(\".search-button__overlay\");\n if (overlay) {\n overlay.onclick = toggleSearchField;\n }\n};\n\n/*******************************************************************************\n * Version Switcher\n * Note that this depends on two variables existing that are defined in\n * and `html-page-context` hook:\n *\n * - DOCUMENTATION_OPTIONS.pagename\n * - DOCUMENTATION_OPTIONS.theme_switcher_url\n */\n\n/**\n * path component of URL\n */\nvar getCurrentUrlPath = () => {\n if (DOCUMENTATION_OPTIONS.BUILDER == \"dirhtml\") {\n return DOCUMENTATION_OPTIONS.pagename == \"index\"\n ? `/`\n : `${DOCUMENTATION_OPTIONS.pagename}/`;\n }\n return `${DOCUMENTATION_OPTIONS.pagename}.html`;\n};\n\n/**\n * Allow user to dismiss the warning banner about the docs version being dev / old.\n * We store the dismissal date and version, to give us flexibility about making the\n * dismissal last for longer than one browser session, if we decide to do that.\n *\n * @param {event} event the event that trigger the check\n */\nasync function DismissBannerAndStorePref(event) {\n const banner = document.querySelector(\"#bd-header-version-warning\");\n banner.remove();\n const version = DOCUMENTATION_OPTIONS.VERSION;\n const now = new Date();\n const banner_pref = JSON.parse(\n localStorage.getItem(\"pst_banner_pref\") || \"{}\",\n );\n console.debug(\n `[PST] Dismissing the version warning banner on ${version} starting ${now}.`,\n );\n banner_pref[version] = now;\n localStorage.setItem(\"pst_banner_pref\", JSON.stringify(banner_pref));\n}\n\n/**\n * Check if corresponding page path exists in other version of docs\n * and, if so, go there instead of the homepage of the other docs version\n *\n * @param {event} event the event that trigger the check\n */\nasync function checkPageExistsAndRedirect(event) {\n // ensure we don't follow the initial link\n event.preventDefault();\n const currentFilePath = getCurrentUrlPath();\n let tryUrl = event.currentTarget.getAttribute(\"href\");\n let otherDocsHomepage = tryUrl.replace(currentFilePath, \"\");\n try {\n let head = await fetch(tryUrl, { method: \"HEAD\" });\n if (head.ok) {\n location.href = tryUrl; // the page exists, go there\n } else {\n location.href = otherDocsHomepage;\n }\n } catch (err) {\n // something went wrong, probably CORS restriction, fallback to other docs homepage\n location.href = otherDocsHomepage;\n }\n}\n\n/**\n * Load and parse the version switcher JSON file from an absolute or relative URL.\n *\n * @param {string} url The URL to load version switcher entries from.\n */\nasync function fetchVersionSwitcherJSON(url) {\n // first check if it's a valid URL\n try {\n var result = new URL(url);\n } catch (err) {\n if (err instanceof TypeError) {\n if (!window.location.origin) {\n // window.location.origin is null for local static sites\n // (ie. window.location.protocol == 'file:')\n //\n // TODO: Fix this to return the static version switcher by working out\n // how to get the correct path to the switcher JSON file on local static builds\n return null;\n }\n // assume we got a relative path, and fix accordingly. But first, we need to\n // use `fetch()` to follow redirects so we get the correct final base URL\n const origin = await fetch(window.location.origin, { method: \"HEAD\" });\n result = new URL(url, origin.url);\n } else {\n // something unexpected happened\n throw err;\n }\n }\n // load and return the JSON\n const response = await fetch(result);\n const data = await response.json();\n return data;\n}\n\n// Populate the version switcher from the JSON data\nfunction populateVersionSwitcher(data, versionSwitcherBtns) {\n const currentFilePath = getCurrentUrlPath();\n versionSwitcherBtns.forEach((btn) => {\n // Set empty strings by default so that these attributes exist and can be used in CSS selectors\n btn.dataset[\"activeVersionName\"] = \"\";\n btn.dataset[\"activeVersion\"] = \"\";\n });\n // in case there are multiple entries with the same version string, this helps us\n // decide which entry's `name` to put on the button itself. Without this, it would\n // always be the *last* version-matching entry; now it will be either the\n // version-matching entry that is also marked as `\"preferred\": true`, or if that\n // doesn't exist: the *first* version-matching entry.\n data = data.map((entry) => {\n // does this entry match the version that we're currently building/viewing?\n entry.match =\n entry.version == DOCUMENTATION_OPTIONS.theme_switcher_version_match;\n entry.preferred = entry.preferred || false;\n // if no custom name specified (e.g., \"latest\"), use version string\n if (!(\"name\" in entry)) {\n entry.name = entry.version;\n }\n return entry;\n });\n const hasMatchingPreferredEntry = data\n .map((entry) => entry.preferred && entry.match)\n .some(Boolean);\n var foundMatch = false;\n // create links to the corresponding page in the other docs versions\n data.forEach((entry) => {\n // create the node\n const anchor = document.createElement(\"a\");\n anchor.setAttribute(\n \"class\",\n \"dropdown-item list-group-item list-group-item-action py-1\",\n );\n anchor.setAttribute(\"href\", `${entry.url}${currentFilePath}`);\n anchor.setAttribute(\"role\", \"option\");\n const span = document.createElement(\"span\");\n span.textContent = `${entry.name}`;\n anchor.appendChild(span);\n // Add dataset values for the version and name in case people want\n // to apply CSS styling based on this information.\n anchor.dataset[\"versionName\"] = entry.name;\n anchor.dataset[\"version\"] = entry.version;\n // replace dropdown button text with the preferred display name of the\n // currently-viewed version, rather than using sphinx's {{ version }} variable.\n // also highlight the dropdown entry for the currently-viewed version's entry\n let matchesAndIsPreferred = hasMatchingPreferredEntry && entry.preferred;\n let matchesAndIsFirst =\n !hasMatchingPreferredEntry && !foundMatch && entry.match;\n if (matchesAndIsPreferred || matchesAndIsFirst) {\n anchor.classList.add(\"active\");\n versionSwitcherBtns.forEach((btn) => {\n btn.innerText = entry.name;\n btn.dataset[\"activeVersionName\"] = entry.name;\n btn.dataset[\"activeVersion\"] = entry.version;\n });\n foundMatch = true;\n }\n // There may be multiple version-switcher elements, e.g. one\n // in a slide-over panel displayed on smaller screens.\n document.querySelectorAll(\".version-switcher__menu\").forEach((menu) => {\n // we need to clone the node for each menu, but onclick attributes are not\n // preserved by `.cloneNode()` so we add onclick here after cloning.\n let node = anchor.cloneNode(true);\n node.onclick = checkPageExistsAndRedirect;\n // on click, AJAX calls will check if the linked page exists before\n // trying to redirect, and if not, will redirect to the homepage\n // for that version of the docs.\n menu.append(node);\n });\n });\n}\n\n/*******************************************************************************\n * Warning banner when viewing non-stable version of the docs.\n */\n\n/**\n * Show a warning banner when viewing a non-stable version of the docs.\n *\n * adapted 2023-06 from https://mne.tools/versionwarning.js, which was\n * originally adapted 2020-05 from https://scikit-learn.org/versionwarning.js\n *\n * @param {Array} data The version data used to populate the switcher menu.\n */\nfunction showVersionWarningBanner(data) {\n var version = DOCUMENTATION_OPTIONS.VERSION;\n // figure out what latest stable version is\n var preferredEntries = data.filter((entry) => entry.preferred);\n if (preferredEntries.length !== 1) {\n const howMany = preferredEntries.length == 0 ? \"No\" : \"Multiple\";\n console.log(\n `[PST] ${howMany} versions marked \"preferred\" found in versions JSON, ignoring.`,\n );\n return;\n }\n const preferredVersion = preferredEntries[0].version;\n const preferredURL = preferredEntries[0].url;\n // if already on preferred version, nothing to do\n const versionsAreComparable = validate(version) && validate(preferredVersion);\n if (versionsAreComparable && compare(version, preferredVersion, \"=\")) {\n console.log(\n \"This is the prefered version of the docs, not showing the warning banner.\",\n );\n return;\n }\n // check if banner has been dismissed recently\n const dismiss_date_str = JSON.parse(\n localStorage.getItem(\"pst_banner_pref\") || \"{}\",\n )[version];\n if (dismiss_date_str != null) {\n const dismiss_date = new Date(dismiss_date_str);\n const now = new Date();\n const milliseconds_in_a_day = 24 * 60 * 60 * 1000;\n const days_passed = (now - dismiss_date) / milliseconds_in_a_day;\n const timeout_in_days = 14;\n if (days_passed < timeout_in_days) {\n console.info(\n `[PST] Suppressing version warning banner; was dismissed ${Math.floor(days_passed)} day(s) ago`,\n );\n return;\n }\n }\n\n // now construct the warning banner\n const banner = document.querySelector(\"#bd-header-version-warning\");\n const middle = document.createElement(\"div\");\n const inner = document.createElement(\"div\");\n const bold = document.createElement(\"strong\");\n const button = document.createElement(\"a\");\n const close_btn = document.createElement(\"a\");\n // these classes exist since pydata-sphinx-theme v0.10.0\n // the init class is used for animation\n middle.classList = \"bd-header-announcement__content ms-auto me-auto\";\n inner.classList = \"sidebar-message\";\n button.classList =\n \"btn text-wrap font-weight-bold ms-3 my-1 align-baseline pst-button-link-to-stable-version\";\n button.href = `${preferredURL}${getCurrentUrlPath()}`;\n button.innerText = \"Switch to stable version\";\n button.onclick = checkPageExistsAndRedirect;\n close_btn.classList = \"ms-3 my-1 align-baseline\";\n const close_x = document.createElement(\"i\");\n close_btn.append(close_x);\n close_x.classList = \"fa-solid fa-xmark\";\n close_btn.onclick = DismissBannerAndStorePref;\n // add the version-dependent text\n inner.innerText = \"This is documentation for \";\n const isDev =\n version.includes(\"dev\") ||\n version.includes(\"rc\") ||\n version.includes(\"pre\");\n const newerThanPreferred =\n versionsAreComparable && compare(version, preferredVersion, \">\");\n if (isDev || newerThanPreferred) {\n bold.innerText = \"an unstable development version\";\n } else if (versionsAreComparable && compare(version, preferredVersion, \"<\")) {\n bold.innerText = `an old version (${version})`;\n } else if (!version) {\n bold.innerText = \"an unknown version\"; // e.g., an empty string\n } else {\n bold.innerText = `version ${version}`;\n }\n banner.appendChild(middle);\n banner.append(close_btn);\n middle.appendChild(inner);\n inner.appendChild(bold);\n inner.appendChild(document.createTextNode(\".\"));\n inner.appendChild(button);\n banner.classList.remove(\"d-none\");\n}\n\n/*******************************************************************************\n * MutationObserver to move the ReadTheDocs button\n */\n\n/**\n * intercept the RTD flyout and place it in the rtd-footer-container if existing\n * if not it stays where on top of the page\n */\nfunction initRTDObserver() {\n const mutatedCallback = (mutationList, observer) => {\n mutationList.forEach((mutation) => {\n // Check whether the mutation is for RTD, which will have a specific structure\n if (mutation.addedNodes.length === 0) {\n return;\n }\n if (mutation.addedNodes[0].data === undefined) {\n return;\n }\n if (mutation.addedNodes[0].data.search(\"Inserted RTD Footer\") != -1) {\n mutation.addedNodes.forEach((node) => {\n document.getElementById(\"rtd-footer-container\").append(node);\n });\n }\n });\n };\n\n const observer = new MutationObserver(mutatedCallback);\n const config = { childList: true };\n observer.observe(document.body, config);\n}\n\nasync function fetchAndUseVersions() {\n // fetch the JSON version data (only once), then use it to populate the version\n // switcher and maybe show the version warning bar\n var versionSwitcherBtns = document.querySelectorAll(\n \".version-switcher__button\",\n );\n const hasSwitcherMenu = versionSwitcherBtns.length > 0;\n const hasVersionsJSON = DOCUMENTATION_OPTIONS.hasOwnProperty(\n \"theme_switcher_json_url\",\n );\n const wantsWarningBanner = DOCUMENTATION_OPTIONS.show_version_warning_banner;\n\n if (hasVersionsJSON && (hasSwitcherMenu || wantsWarningBanner)) {\n const data = await fetchVersionSwitcherJSON(\n DOCUMENTATION_OPTIONS.theme_switcher_json_url,\n );\n // TODO: remove the `if(data)` once the `return null` is fixed within fetchVersionSwitcherJSON.\n // We don't really want the switcher and warning bar to silently not work.\n if (data) {\n populateVersionSwitcher(data, versionSwitcherBtns);\n if (wantsWarningBanner) {\n showVersionWarningBanner(data);\n }\n }\n }\n}\n\n/*******************************************************************************\n * Add keyboard functionality to mobile sidebars.\n *\n * Wire up the hamburger-style buttons using the click event which (on buttons)\n * handles both mouse clicks and the space and enter keys.\n */\nfunction setupMobileSidebarKeyboardHandlers() {\n // These are hidden checkboxes at the top of the page whose :checked property\n // allows the mobile sidebars to be hidden or revealed via CSS.\n const primaryToggle = document.getElementById(\"pst-primary-sidebar-checkbox\");\n const secondaryToggle = document.getElementById(\n \"pst-secondary-sidebar-checkbox\",\n );\n const primarySidebar = document.querySelector(\".bd-sidebar-primary\");\n const secondarySidebar = document.querySelector(\".bd-sidebar-secondary\");\n\n // Toggle buttons -\n //\n // These are the hamburger-style buttons in the header nav bar. When the user\n // clicks, the button transmits the click to the hidden checkboxes used by the\n // CSS to control whether the sidebar is open or closed.\n const primaryClickTransmitter = document.querySelector(\".primary-toggle\");\n const secondaryClickTransmitter = document.querySelector(\".secondary-toggle\");\n [\n [primaryClickTransmitter, primaryToggle, primarySidebar],\n [secondaryClickTransmitter, secondaryToggle, secondarySidebar],\n ].forEach(([clickTransmitter, toggle, sidebar]) => {\n if (!clickTransmitter) {\n return;\n }\n clickTransmitter.addEventListener(\"click\", (event) => {\n event.preventDefault();\n event.stopPropagation();\n toggle.checked = !toggle.checked;\n\n // If we are opening the sidebar, move focus to the first focusable item\n // in the sidebar\n if (toggle.checked) {\n // Note: this selector is not exhaustive, and we may need to update it\n // in the future\n const tabStop = sidebar.querySelector(\"a, button\");\n // use setTimeout because you cannot move focus synchronously during a\n // click in the handler for the click event\n setTimeout(() => tabStop.focus(), 100);\n }\n });\n });\n\n // Escape key -\n //\n // When sidebar is open, user should be able to press escape key to close the\n // sidebar.\n [\n [primarySidebar, primaryToggle, primaryClickTransmitter],\n [secondarySidebar, secondaryToggle, secondaryClickTransmitter],\n ].forEach(([sidebar, toggle, transmitter]) => {\n if (!sidebar) {\n return;\n }\n sidebar.addEventListener(\"keydown\", (event) => {\n if (event.key === \"Escape\") {\n event.preventDefault();\n event.stopPropagation();\n toggle.checked = false;\n transmitter.focus();\n }\n });\n });\n\n // When the link,\n * but for the automatic collapsing we need this on the parent list item.\n *\n * The event is triggered on \"window\" (and not the nav item as documented),\n * see https://github.com/twbs/bootstrap/issues/20086\n */\nfunction addTOCInteractivity() {\n window.addEventListener(\"activate.bs.scrollspy\", function () {\n const navLinks = document.querySelectorAll(\".bd-toc-nav a\");\n\n navLinks.forEach((navLink) => {\n navLink.parentElement.classList.remove(\"active\");\n });\n\n const activeNavLinks = document.querySelectorAll(\".bd-toc-nav a.active\");\n activeNavLinks.forEach((navLink) => {\n navLink.parentElement.classList.add(\"active\");\n });\n });\n}\n\n/*******************************************************************************\n * Scroll\n */\n\n/**\n * Navigation sidebar scrolling to active page\n */\nfunction scrollToActive() {\n // If the docs nav doesn't exist, do nothing (e.g., on search page)\n if (!document.querySelector(\".bd-docs-nav\")) {\n return;\n }\n\n var sidebar = document.querySelector(\"div.bd-sidebar\");\n\n // Remember the sidebar scroll position between page loads\n // Inspired on source of revealjs.com\n let storedScrollTop = parseInt(\n sessionStorage.getItem(\"sidebar-scroll-top\"),\n 10,\n );\n\n if (!isNaN(storedScrollTop)) {\n // If we've got a saved scroll position, just use that\n sidebar.scrollTop = storedScrollTop;\n console.log(\"[PST]: Scrolled sidebar using stored browser position...\");\n } else {\n // Otherwise, calculate a position to scroll to based on the lowest `active` link\n var sidebarNav = document.querySelector(\".bd-docs-nav\");\n var active_pages = sidebarNav.querySelectorAll(\".active\");\n if (active_pages.length > 0) {\n // Use the last active page as the offset since it's the page we're on\n var latest_active = active_pages[active_pages.length - 1];\n var offset =\n latest_active.getBoundingClientRect().y -\n sidebar.getBoundingClientRect().y;\n // Only scroll the navbar if the active link is lower than 50% of the page\n if (latest_active.getBoundingClientRect().y > window.innerHeight * 0.5) {\n let buffer = 0.25; // Buffer so we have some space above the scrolled item\n sidebar.scrollTop = offset - sidebar.clientHeight * buffer;\n console.log(\"[PST]: Scrolled sidebar using last active link...\");\n }\n }\n }\n\n // Store the sidebar scroll position\n window.addEventListener(\"beforeunload\", () => {\n sessionStorage.setItem(\"sidebar-scroll-top\", sidebar.scrollTop);\n });\n}\n\n/*******************************************************************************\n * Search\n */\n\n/**\n * Find any search forms on the page and return their input element\n */\nvar findSearchInput = () => {\n let forms = document.querySelectorAll(\"form.bd-search\");\n if (!forms.length) {\n // no search form found\n return;\n } else {\n var form;\n if (forms.length == 1) {\n // there is exactly one search form (persistent or hidden)\n form = forms[0];\n } else {\n // must be at least one persistent form, use the first persistent one\n form = document.querySelector(\n \"div:not(.search-button__search-container) > form.bd-search\",\n );\n }\n return form.querySelector(\"input\");\n }\n};\n\n/**\n * Activate the search field on the page.\n * - If there is a search field already visible it will be activated.\n * - If not, then a search field will pop up.\n */\nvar toggleSearchField = () => {\n // Find the search input to highlight\n let input = findSearchInput();\n\n // if the input field is the hidden one (the one associated with the\n // search button) then toggle the button state (to show/hide the field)\n let searchPopupWrapper = document.querySelector(\".search-button__wrapper\");\n let hiddenInput = searchPopupWrapper.querySelector(\"input\");\n if (input === hiddenInput) {\n searchPopupWrapper.classList.toggle(\"show\");\n }\n // when toggling off the search field, remove its focus\n if (document.activeElement === input) {\n input.blur();\n } else {\n input.focus();\n input.select();\n input.scrollIntoView({ block: \"center\" });\n }\n};\n\n/**\n * Add an event listener for toggleSearchField() for Ctrl/Cmd + K\n */\nvar addEventListenerForSearchKeyboard = () => {\n window.addEventListener(\n \"keydown\",\n (event) => {\n let input = findSearchInput();\n // toggle on Ctrl+k or ⌘+k\n if (\n // Ignore if shift or alt are pressed\n !event.shiftKey &&\n !event.altKey &&\n // On Mac use ⌘, all other OS use Ctrl\n (useCommandKey\n ? event.metaKey && !event.ctrlKey\n : !event.metaKey && event.ctrlKey) &&\n // Case-insensitive so the shortcut still works with caps lock\n /^k$/i.test(event.key)\n ) {\n event.preventDefault();\n toggleSearchField();\n }\n // also allow Escape key to hide (but not show) the dynamic search field\n else if (document.activeElement === input && /Escape/i.test(event.key)) {\n toggleSearchField();\n }\n },\n true,\n );\n};\n\n/**\n * If the user is on a Mac, use command (⌘) instead of control (ctrl) key\n *\n * Note: `navigator.platform` is deprecated; however MDN still recommends using\n * it for the one specific use case of detecting whether a keyboard shortcut\n * should use control or command:\n * https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform#examples\n */\nvar useCommandKey =\n navigator.platform.indexOf(\"Mac\") === 0 || navigator.platform === \"iPhone\";\n\n/**\n * Change the search hint to `meta key` if we are a Mac\n */\n\nvar changeSearchShortcutKey = () => {\n let shortcuts = document.querySelectorAll(\".search-button__kbd-shortcut\");\n if (useCommandKey) {\n shortcuts.forEach(\n (f) => (f.querySelector(\"kbd.kbd-shortcut__modifier\").innerText = \"⌘\"),\n );\n }\n};\n\n/**\n * Activate callbacks for search button popup\n */\nvar setupSearchButtons = () => {\n changeSearchShortcutKey();\n addEventListenerForSearchKeyboard();\n\n // Add the search button trigger event callback\n document.querySelectorAll(\".search-button__button\").forEach((btn) => {\n btn.onclick = toggleSearchField;\n });\n\n // Add the search button overlay event callback\n let overlay = document.querySelector(\".search-button__overlay\");\n if (overlay) {\n overlay.onclick = toggleSearchField;\n }\n};\n\n/*******************************************************************************\n * Version Switcher\n * Note that this depends on two variables existing that are defined in\n * and `html-page-context` hook:\n *\n * - DOCUMENTATION_OPTIONS.pagename\n * - DOCUMENTATION_OPTIONS.theme_switcher_url\n */\n\n/**\n * path component of URL\n */\nvar getCurrentUrlPath = () => {\n if (DOCUMENTATION_OPTIONS.BUILDER == \"dirhtml\") {\n return DOCUMENTATION_OPTIONS.pagename == \"index\"\n ? `/`\n : `${DOCUMENTATION_OPTIONS.pagename}/`;\n }\n return `${DOCUMENTATION_OPTIONS.pagename}.html`;\n};\n\n/**\n * Allow user to dismiss the warning banner about the docs version being dev / old.\n * We store the dismissal date and version, to give us flexibility about making the\n * dismissal last for longer than one browser session, if we decide to do that.\n *\n * @param {event} event the event that trigger the check\n */\nasync function DismissBannerAndStorePref(event) {\n const banner = document.querySelector(\"#bd-header-version-warning\");\n banner.remove();\n const version = DOCUMENTATION_OPTIONS.VERSION;\n const now = new Date();\n const banner_pref = JSON.parse(\n localStorage.getItem(\"pst_banner_pref\") || \"{}\",\n );\n console.debug(\n `[PST] Dismissing the version warning banner on ${version} starting ${now}.`,\n );\n banner_pref[version] = now;\n localStorage.setItem(\"pst_banner_pref\", JSON.stringify(banner_pref));\n}\n\n/**\n * Check if corresponding page path exists in other version of docs\n * and, if so, go there instead of the homepage of the other docs version\n *\n * @param {event} event the event that trigger the check\n */\nasync function checkPageExistsAndRedirect(event) {\n // ensure we don't follow the initial link\n event.preventDefault();\n const currentFilePath = getCurrentUrlPath();\n let tryUrl = event.currentTarget.getAttribute(\"href\");\n let otherDocsHomepage = tryUrl.replace(currentFilePath, \"\");\n try {\n let head = await fetch(tryUrl, { method: \"HEAD\" });\n if (head.ok) {\n location.href = tryUrl; // the page exists, go there\n } else {\n location.href = otherDocsHomepage;\n }\n } catch (err) {\n // something went wrong, probably CORS restriction, fallback to other docs homepage\n location.href = otherDocsHomepage;\n }\n}\n\n/**\n * Load and parse the version switcher JSON file from an absolute or relative URL.\n *\n * @param {string} url The URL to load version switcher entries from.\n */\nasync function fetchVersionSwitcherJSON(url) {\n // first check if it's a valid URL\n try {\n var result = new URL(url);\n } catch (err) {\n if (err instanceof TypeError) {\n if (!window.location.origin) {\n // window.location.origin is null for local static sites\n // (ie. window.location.protocol == 'file:')\n //\n // TODO: Fix this to return the static version switcher by working out\n // how to get the correct path to the switcher JSON file on local static builds\n return null;\n }\n // assume we got a relative path, and fix accordingly. But first, we need to\n // use `fetch()` to follow redirects so we get the correct final base URL\n const origin = await fetch(window.location.origin, { method: \"HEAD\" });\n result = new URL(url, origin.url);\n } else {\n // something unexpected happened\n throw err;\n }\n }\n // load and return the JSON\n const response = await fetch(result);\n const data = await response.json();\n return data;\n}\n\n// Populate the version switcher from the JSON data\nfunction populateVersionSwitcher(data, versionSwitcherBtns) {\n const currentFilePath = getCurrentUrlPath();\n versionSwitcherBtns.forEach((btn) => {\n // Set empty strings by default so that these attributes exist and can be used in CSS selectors\n btn.dataset[\"activeVersionName\"] = \"\";\n btn.dataset[\"activeVersion\"] = \"\";\n });\n // in case there are multiple entries with the same version string, this helps us\n // decide which entry's `name` to put on the button itself. Without this, it would\n // always be the *last* version-matching entry; now it will be either the\n // version-matching entry that is also marked as `\"preferred\": true`, or if that\n // doesn't exist: the *first* version-matching entry.\n data = data.map((entry) => {\n // does this entry match the version that we're currently building/viewing?\n entry.match =\n entry.version == DOCUMENTATION_OPTIONS.theme_switcher_version_match;\n entry.preferred = entry.preferred || false;\n // if no custom name specified (e.g., \"latest\"), use version string\n if (!(\"name\" in entry)) {\n entry.name = entry.version;\n }\n return entry;\n });\n const hasMatchingPreferredEntry = data\n .map((entry) => entry.preferred && entry.match)\n .some(Boolean);\n var foundMatch = false;\n // create links to the corresponding page in the other docs versions\n data.forEach((entry) => {\n // create the node\n const anchor = document.createElement(\"a\");\n anchor.setAttribute(\n \"class\",\n \"dropdown-item list-group-item list-group-item-action py-1\",\n );\n anchor.setAttribute(\"href\", `${entry.url}${currentFilePath}`);\n anchor.setAttribute(\"role\", \"option\");\n const span = document.createElement(\"span\");\n span.textContent = `${entry.name}`;\n anchor.appendChild(span);\n // Add dataset values for the version and name in case people want\n // to apply CSS styling based on this information.\n anchor.dataset[\"versionName\"] = entry.name;\n anchor.dataset[\"version\"] = entry.version;\n // replace dropdown button text with the preferred display name of the\n // currently-viewed version, rather than using sphinx's {{ version }} variable.\n // also highlight the dropdown entry for the currently-viewed version's entry\n let matchesAndIsPreferred = hasMatchingPreferredEntry && entry.preferred;\n let matchesAndIsFirst =\n !hasMatchingPreferredEntry && !foundMatch && entry.match;\n if (matchesAndIsPreferred || matchesAndIsFirst) {\n anchor.classList.add(\"active\");\n versionSwitcherBtns.forEach((btn) => {\n btn.innerText = entry.name;\n btn.dataset[\"activeVersionName\"] = entry.name;\n btn.dataset[\"activeVersion\"] = entry.version;\n });\n foundMatch = true;\n }\n // There may be multiple version-switcher elements, e.g. one\n // in a slide-over panel displayed on smaller screens.\n document.querySelectorAll(\".version-switcher__menu\").forEach((menu) => {\n // we need to clone the node for each menu, but onclick attributes are not\n // preserved by `.cloneNode()` so we add onclick here after cloning.\n let node = anchor.cloneNode(true);\n node.onclick = checkPageExistsAndRedirect;\n // on click, AJAX calls will check if the linked page exists before\n // trying to redirect, and if not, will redirect to the homepage\n // for that version of the docs.\n menu.append(node);\n });\n });\n}\n\n/*******************************************************************************\n * Warning banner when viewing non-stable version of the docs.\n */\n\n/**\n * Show a warning banner when viewing a non-stable version of the docs.\n *\n * adapted 2023-06 from https://mne.tools/versionwarning.js, which was\n * originally adapted 2020-05 from https://scikit-learn.org/versionwarning.js\n *\n * @param {Array} data The version data used to populate the switcher menu.\n */\nfunction showVersionWarningBanner(data) {\n var version = DOCUMENTATION_OPTIONS.VERSION;\n // figure out what latest stable version is\n var preferredEntries = data.filter((entry) => entry.preferred);\n if (preferredEntries.length !== 1) {\n const howMany = preferredEntries.length == 0 ? \"No\" : \"Multiple\";\n console.log(\n `[PST] ${howMany} versions marked \"preferred\" found in versions JSON, ignoring.`,\n );\n return;\n }\n const preferredVersion = preferredEntries[0].version;\n const preferredURL = preferredEntries[0].url;\n // if already on preferred version, nothing to do\n const versionsAreComparable = validate(version) && validate(preferredVersion);\n if (versionsAreComparable && compare(version, preferredVersion, \"=\")) {\n console.log(\n \"This is the prefered version of the docs, not showing the warning banner.\",\n );\n return;\n }\n // check if banner has been dismissed recently\n const dismiss_date_str = JSON.parse(\n localStorage.getItem(\"pst_banner_pref\") || \"{}\",\n )[version];\n if (dismiss_date_str != null) {\n const dismiss_date = new Date(dismiss_date_str);\n const now = new Date();\n const milliseconds_in_a_day = 24 * 60 * 60 * 1000;\n const days_passed = (now - dismiss_date) / milliseconds_in_a_day;\n const timeout_in_days = 14;\n if (days_passed < timeout_in_days) {\n console.info(\n `[PST] Suppressing version warning banner; was dismissed ${Math.floor(days_passed)} day(s) ago`,\n );\n return;\n }\n }\n\n // now construct the warning banner\n const banner = document.querySelector(\"#bd-header-version-warning\");\n const middle = document.createElement(\"div\");\n const inner = document.createElement(\"div\");\n const bold = document.createElement(\"strong\");\n const button = document.createElement(\"a\");\n const close_btn = document.createElement(\"a\");\n // these classes exist since pydata-sphinx-theme v0.10.0\n // the init class is used for animation\n middle.classList = \"bd-header-announcement__content ms-auto me-auto\";\n inner.classList = \"sidebar-message\";\n button.classList =\n \"btn text-wrap font-weight-bold ms-3 my-1 align-baseline pst-button-link-to-stable-version\";\n button.href = `${preferredURL}${getCurrentUrlPath()}`;\n button.innerText = \"Switch to stable version\";\n button.onclick = checkPageExistsAndRedirect;\n close_btn.classList = \"ms-3 my-1 align-baseline\";\n const close_x = document.createElement(\"i\");\n close_btn.append(close_x);\n close_x.classList = \"fa-solid fa-xmark\";\n close_btn.onclick = DismissBannerAndStorePref;\n // add the version-dependent text\n inner.innerText = \"This is documentation for \";\n const isDev =\n version.includes(\"dev\") ||\n version.includes(\"rc\") ||\n version.includes(\"pre\");\n const newerThanPreferred =\n versionsAreComparable && compare(version, preferredVersion, \">\");\n if (isDev || newerThanPreferred) {\n bold.innerText = \"an unstable development version\";\n } else if (versionsAreComparable && compare(version, preferredVersion, \"<\")) {\n bold.innerText = `an old version (${version})`;\n } else if (!version) {\n bold.innerText = \"an unknown version\"; // e.g., an empty string\n } else {\n bold.innerText = `version ${version}`;\n }\n banner.appendChild(middle);\n banner.append(close_btn);\n middle.appendChild(inner);\n inner.appendChild(bold);\n inner.appendChild(document.createTextNode(\".\"));\n inner.appendChild(button);\n banner.classList.remove(\"d-none\");\n}\n\n/*******************************************************************************\n * MutationObserver to move the ReadTheDocs button\n */\n\n/**\n * intercept the RTD flyout and place it in the rtd-footer-container if existing\n * if not it stays where on top of the page\n */\nfunction initRTDObserver() {\n const mutatedCallback = (mutationList, observer) => {\n mutationList.forEach((mutation) => {\n // Check whether the mutation is for RTD, which will have a specific structure\n if (mutation.addedNodes.length === 0) {\n return;\n }\n if (mutation.addedNodes[0].data === undefined) {\n return;\n }\n if (mutation.addedNodes[0].data.search(\"Inserted RTD Footer\") != -1) {\n mutation.addedNodes.forEach((node) => {\n document.getElementById(\"rtd-footer-container\").append(node);\n });\n }\n });\n };\n\n const observer = new MutationObserver(mutatedCallback);\n const config = { childList: true };\n observer.observe(document.body, config);\n}\n\nasync function fetchAndUseVersions() {\n // fetch the JSON version data (only once), then use it to populate the version\n // switcher and maybe show the version warning bar\n var versionSwitcherBtns = document.querySelectorAll(\n \".version-switcher__button\",\n );\n const hasSwitcherMenu = versionSwitcherBtns.length > 0;\n const hasVersionsJSON = DOCUMENTATION_OPTIONS.hasOwnProperty(\n \"theme_switcher_json_url\",\n );\n const wantsWarningBanner = DOCUMENTATION_OPTIONS.show_version_warning_banner;\n\n if (hasVersionsJSON && (hasSwitcherMenu || wantsWarningBanner)) {\n const data = await fetchVersionSwitcherJSON(\n DOCUMENTATION_OPTIONS.theme_switcher_json_url,\n );\n // TODO: remove the `if(data)` once the `return null` is fixed within fetchVersionSwitcherJSON.\n // We don't really want the switcher and warning bar to silently not work.\n if (data) {\n populateVersionSwitcher(data, versionSwitcherBtns);\n if (wantsWarningBanner) {\n showVersionWarningBanner(data);\n }\n }\n }\n}\n\n/*******************************************************************************\n * Add keyboard functionality to mobile sidebars.\n *\n * Wire up the hamburger-style buttons using the click event which (on buttons)\n * handles both mouse clicks and the space and enter keys.\n */\nfunction setupMobileSidebarKeyboardHandlers() {\n // These are hidden checkboxes at the top of the page whose :checked property\n // allows the mobile sidebars to be hidden or revealed via CSS.\n const primaryToggle = document.getElementById(\"pst-primary-sidebar-checkbox\");\n const secondaryToggle = document.getElementById(\n \"pst-secondary-sidebar-checkbox\",\n );\n const primarySidebar = document.querySelector(\".bd-sidebar-primary\");\n const secondarySidebar = document.querySelector(\".bd-sidebar-secondary\");\n\n // Toggle buttons -\n //\n // These are the hamburger-style buttons in the header nav bar. When the user\n // clicks, the button transmits the click to the hidden checkboxes used by the\n // CSS to control whether the sidebar is open or closed.\n const primaryClickTransmitter = document.querySelector(\".primary-toggle\");\n const secondaryClickTransmitter = document.querySelector(\".secondary-toggle\");\n [\n [primaryClickTransmitter, primaryToggle, primarySidebar],\n [secondaryClickTransmitter, secondaryToggle, secondarySidebar],\n ].forEach(([clickTransmitter, toggle, sidebar]) => {\n if (!clickTransmitter) {\n return;\n }\n clickTransmitter.addEventListener(\"click\", (event) => {\n event.preventDefault();\n event.stopPropagation();\n toggle.checked = !toggle.checked;\n\n // If we are opening the sidebar, move focus to the first focusable item\n // in the sidebar\n if (toggle.checked) {\n // Note: this selector is not exhaustive, and we may need to update it\n // in the future\n const tabStop = sidebar.querySelector(\"a, button\");\n // use setTimeout because you cannot move focus synchronously during a\n // click in the handler for the click event\n setTimeout(() => tabStop.focus(), 100);\n }\n });\n });\n\n // Escape key -\n //\n // When sidebar is open, user should be able to press escape key to close the\n // sidebar.\n [\n [primarySidebar, primaryToggle, primaryClickTransmitter],\n [secondarySidebar, secondaryToggle, secondaryClickTransmitter],\n ].forEach(([sidebar, toggle, transmitter]) => {\n if (!sidebar) {\n return;\n }\n sidebar.addEventListener(\"keydown\", (event) => {\n if (event.key === \"Escape\") {\n event.preventDefault();\n event.stopPropagation();\n toggle.checked = false;\n transmitter.focus();\n }\n });\n });\n\n // When the tag\n // so let the tag take up more space\n li.toctree-l0.has-children {\n > details {\n > summary {\n position: relative;\n height: auto;\n width: auto;\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n\n .toctree-toggle {\n // Prevent toggle icon from getting squished by summary being a\n // flexbox\n flex: 0 0 auto;\n\n // Make the level 0 chevron icon slightly bigger than descendant\n // levels\n .fa-chevron-down {\n font-size: 1rem;\n }\n }\n }\n }\n }\n }\n\n li.has-children {\n $toctree-toggle-width: 30px;\n\n position: relative;\n\n > .reference,\n .caption {\n margin-right: calc(\n $toctree-toggle-width + $focus-ring-width\n ); // keep clear of the toggle icon\n\n padding-top: 0.25rem; // align caption text with toggle chevron\n }\n\n > details {\n > summary {\n // Remove browser default toggle icon\n list-style: none;\n\n &::-webkit-details-marker {\n display: none;\n }\n\n // The summary element is natively focusable, but delegate the focus state to the toggle icon\n &:focus-visible {\n outline: none;\n\n > .toctree-toggle {\n outline: $focus-ring-outline;\n outline-offset: -$focus-ring-width; // Prevent right side of focus ring from disappearing underneath the sidebar's right edge\n }\n }\n\n // Container for expand/collapse chevron icon\n .toctree-toggle {\n cursor: pointer;\n\n // Position it so that it's aligned with the top right corner of the\n // last positioned element, in this case the li.has-children\n position: absolute;\n top: 0;\n right: 0;\n\n // Give it dimensions\n width: $toctree-toggle-width;\n height: $toctree-toggle-width; // make it square\n\n // Vertically and horizontally center the icon within the container\n display: inline-flex;\n justify-content: center;\n align-items: center;\n\n .fa-chevron-down {\n font-size: 0.75rem;\n }\n }\n }\n\n // The section is open/expanded, rotate the toggle icon (chevron) so it\n // points up instead of down\n &[open] {\n > summary {\n .fa-chevron-down {\n transform: rotate(180deg);\n }\n }\n }\n }\n }\n}\n\n/* Between-page links and captions */\nnav.bd-links {\n margin-right: -$sidebar-padding-right; // align toctree toggle chevrons with right edge of sidebar and allow text to flow closer to the right edge\n\n @include media-breakpoint-up($breakpoint-sidebar-primary) {\n display: block;\n }\n\n ul {\n list-style: none;\n\n // Reduce padding of nested `ul` items a bit\n ul {\n padding: 0 0 0 1rem;\n }\n }\n\n li > a {\n display: block;\n padding: 0.25rem 0.65rem;\n\n @include link-sidebar;\n\n box-shadow: none;\n margin-right: $focus-ring-width; // prevent the right side focus ring from disappearing under the sidebar right edge\n\n &.reference.external {\n &::after {\n font: var(--fa-font-solid);\n content: var(--pst-icon-external-link);\n font-size: 0.75em;\n margin-left: 0.3em;\n }\n }\n }\n\n .current > a {\n @include link-sidebar-current;\n\n background-color: transparent;\n }\n\n // Title\n p.bd-links__title {\n font-size: var(--pst-sidebar-header-font-size);\n font-weight: var(--pst-sidebar-header-font-weight);\n margin-bottom: 0.5rem;\n }\n\n // Toctree captions\n p.caption {\n font-weight: var(--pst-sidebar-header-font-weight);\n position: relative;\n margin-top: 1.25rem;\n margin-bottom: 0.5rem;\n color: var(--pst-color-text-base);\n\n &:first-child {\n margin-top: 0;\n }\n\n font-size: var(--pst-sidebar-font-size-mobile);\n\n @include media-breakpoint-up($breakpoint-sidebar-primary) {\n font-size: var(--pst-sidebar-font-size);\n }\n }\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: percentage(divide(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is an invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","/**\n * Secondary sidebar on the right.\n * e.g., in-page table of contents.\n */\n.bd-sidebar-secondary {\n display: flex;\n order: 2;\n flex-shrink: 0;\n flex-direction: column;\n position: sticky;\n top: var(--pst-header-height);\n max-height: calc(100vh - var(--pst-header-height));\n padding: 2rem 1rem 1rem;\n width: var(--pst-sidebar-secondary);\n font-size: var(--pst-sidebar-font-size-mobile);\n\n @include media-breakpoint-up($breakpoint-sidebar-secondary) {\n font-size: var(--pst-sidebar-font-size);\n }\n\n // Color and border\n background-color: var(--pst-color-background);\n overflow-y: auto;\n}\n\n.sidebar-secondary-item {\n padding: 0.5rem;\n\n @include media-breakpoint-up($breakpoint-sidebar-secondary) {\n border-left: 1px solid var(--pst-color-border);\n padding-left: 1rem;\n }\n\n i {\n padding-right: 0.5rem;\n }\n}\n","/*******************************************************************************\n* Rules for the UX/UI of sidebar sliding drawers on mobile\n* Note that this sheet controls styles across many parts of the theme\n* It is aggregated into this one sheet instead of being split across\n* components in order to keep it easier to debug in one place.\n* It is broken up into major sections below.\n*/\n\n/*******************************************************************************\n* Buttons and overlays\n*/\ninput.sidebar-toggle {\n display: none;\n}\n\n// Background overlays\nlabel.overlay {\n background-color: black;\n opacity: 0.5;\n height: 0;\n width: 0;\n position: fixed;\n top: 0;\n left: 0;\n transition: opacity $animation-time ease-out;\n z-index: $zindex-modal-backdrop;\n}\n\ninput {\n // Show the correct overlay when its input is checked\n &#pst-primary-sidebar-checkbox:checked + label.overlay.overlay-primary,\n &#pst-secondary-sidebar-checkbox:checked + label.overlay.overlay-secondary {\n height: 100vh;\n width: 100vw;\n }\n\n // Primary sidebar slides in from the left\n &#pst-primary-sidebar-checkbox:checked ~ .bd-container .bd-sidebar-primary {\n visibility: visible;\n margin-left: 0;\n }\n\n // Secondary sidebar slides in from the right\n &#pst-secondary-sidebar-checkbox:checked\n ~ .bd-container\n .bd-sidebar-secondary {\n visibility: visible;\n margin-right: 0;\n }\n}\n\n/*******************************************************************************\n* Sidebar drawer behavior\n*/\n\n/**\n * Behavior for sliding drawer elements that will be toggled with an input\n *\n * NOTE: We use this mixin to define the toggle behavior on narrow screens,\n * And the wide-screen behavior of the sections is defined in their own section\n * .scss files.\n */\n@mixin sliding-drawer($side: \"left\") {\n position: fixed;\n top: 0;\n z-index: $zindex-modal;\n height: 100vh;\n max-height: 100vh;\n width: 75%;\n flex-grow: 0.75;\n max-width: 350px;\n transition:\n visibility $animation-time ease-out,\n margin $animation-time ease-out;\n visibility: hidden;\n\n @if $side == \"right\" {\n margin-right: -75%;\n right: 0;\n } @else {\n margin-left: -75%;\n left: 0;\n }\n}\n\n// Primary sidebar hides/shows at earlier widths\n@include media-breakpoint-up($breakpoint-sidebar-primary) {\n .sidebar-toggle.primary-toggle {\n display: none;\n }\n\n input#pst-primary-sidebar-checkbox {\n &:checked + label.overlay.overlay-primary {\n height: 0;\n width: 0;\n }\n }\n\n .bd-sidebar-primary {\n margin-left: 0;\n visibility: visible;\n }\n}\n\n.bd-sidebar-primary {\n @include media-breakpoint-down($breakpoint-sidebar-primary) {\n @include sliding-drawer(\"left\");\n }\n}\n\n.bd-sidebar-secondary {\n @include media-breakpoint-down($breakpoint-sidebar-secondary) {\n @include sliding-drawer(\"right\");\n }\n}\n","/**\n * Breadcrumbs for parent pages meant for the article header\n */\nul.bd-breadcrumbs {\n list-style: none;\n padding-left: 0;\n display: flex;\n flex-wrap: wrap;\n\n // Font size slightly smaller to avoid cluttering up space too much\n font-size: 0.8rem;\n\n li.breadcrumb-item {\n display: flex;\n align-items: center;\n\n // Style should look like heavier in-page links\n // keeping visited in the default link colour\n font-weight: bold;\n\n a {\n @include link-style-text;\n }\n\n // Items that aren't the home have a caret to the left\n &:not(.breadcrumb-home)::before {\n font: var(--fa-font-solid);\n font-size: 0.8rem;\n content: var(--pst-breadcrumb-divider);\n color: var(--pst-color-text-muted);\n padding: 0 0.5rem;\n }\n }\n}\n","/**\n * Icon links in the navbar\n */\n\n.navbar-icon-links {\n display: flex;\n flex-flow: row wrap;\n column-gap: 1rem;\n justify-content: space-evenly;\n\n // Remove the padding so that we can define it with flexbox gap above\n li.nav-item a.nav-link {\n padding-left: 0;\n padding-right: 0;\n\n @include icon-navbar-hover;\n\n &:focus {\n color: inherit;\n }\n }\n\n // Spacing and centering\n a span {\n display: flex;\n align-items: center;\n }\n\n // Icons styling\n i {\n &.fa-brands,\n &.fa-regular,\n &.fa-solid {\n vertical-align: middle;\n font-style: normal;\n font-size: var(--pst-font-size-icon);\n }\n\n /* Social media buttons hard-code the brand color */\n &.fa-square-twitter::before {\n color: #55acee;\n }\n\n &.fa-square-gitlab::before {\n color: #548;\n }\n\n &.fa-bitbucket::before {\n color: #0052cc;\n }\n }\n\n // Force images to be icon-sized\n img.icon-link-image {\n height: 1.5em;\n border-radius: 0.2rem;\n }\n\n .fa-pydata {\n stroke: var(--pst-color-background);\n stroke-linejoin: round;\n stroke-width: 0.35;\n }\n}\n","/**\n * Logo in the navbar\n */\n\n.navbar-brand {\n position: relative;\n height: var(--pst-header-height);\n max-height: var(--pst-header-height);\n padding: 0.5rem 0;\n width: auto;\n margin: 0;\n display: flex;\n\n // Ensure that the logo stays the same length while other content shrinks\n flex-shrink: 0;\n align-items: center;\n gap: 0.5rem;\n\n // If there's no logo image, we use a p element w/ the site title\n p {\n color: var(--pst-color-text-base);\n margin-bottom: 0;\n }\n\n // If there's a logo, it'll be in an img block\n img {\n max-width: 100%;\n height: 100%;\n width: auto;\n }\n\n &:hover,\n &:visited:hover {\n @include link-style-hover;\n\n color: var(--pst-color-text-base);\n }\n}\n","/**\n * Navigation text links in the navbar\n */\n.navbar-nav {\n ul {\n display: block;\n list-style: none;\n\n // Reduce padding of nested `ul` items a bit\n ul {\n padding: 0 0 0 1rem;\n }\n }\n\n // Navbar links - do not have an underline by default\n li {\n display: flex;\n flex-direction: column;\n\n a {\n display: flex;\n align-items: center;\n height: 100%;\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n\n @include link-style-text;\n }\n }\n}\n","/**\n * The list of in-page TOC links\n */\n.page-toc {\n .section-nav {\n padding-left: 0;\n border-bottom: none;\n\n ul {\n padding-left: 1rem;\n }\n }\n\n // override bootstrap settings\n .nav-link {\n font-size: var(--pst-sidebar-font-size-mobile);\n\n @include media-breakpoint-up($breakpoint-sidebar-secondary) {\n font-size: var(--pst-sidebar-font-size);\n }\n }\n\n .onthispage {\n color: var(--pst-color-text-base);\n font-weight: var(--pst-sidebar-header-font-weight);\n margin-bottom: 0.5rem;\n }\n}\n","/**\n* Previous / Next navigation buttons\n**/\n.prev-next-area {\n width: 100%;\n\n p {\n color: var(--pst-color-text-muted);\n margin: 0 0.3em;\n line-height: 1.3em;\n }\n\n i {\n font-size: 1.2em;\n }\n\n a {\n // So that buttons align with icons\n display: flex;\n align-items: center;\n border: none;\n padding: 10px;\n max-width: 45%;\n overflow-x: hidden;\n color: var(--pst-color-text-muted);\n text-decoration: none;\n\n p.prev-next-title {\n @include link-style-default;\n\n font-weight: var(--pst-admonition-font-weight-heading);\n font-size: 1.1em;\n }\n\n &:hover,\n &:visited:hover {\n p.prev-next-title {\n @include link-style-hover;\n }\n }\n\n .prev-next-info {\n flex-direction: column;\n margin: 0 0.5em;\n\n .prev-next-subtitle {\n text-transform: capitalize;\n }\n }\n\n &.left-prev {\n float: left;\n }\n\n &.right-next {\n float: right;\n\n div.prev-next-info {\n text-align: right;\n }\n }\n }\n}\n","/**\n * Search field\n **/\n.bd-search {\n position: relative;\n padding-left: 0.5rem;\n gap: 0.5rem;\n background-color: var(--pst-color-background);\n border-radius: $admonition-border-radius;\n border: 1px solid var(--pst-color-border);\n color: var(--pst-color-text-base);\n\n // Background should always be same color regardless of active or not\n &:active {\n background-color: var(--pst-color-background);\n color: var(--pst-color-text-muted);\n }\n\n .icon {\n position: absolute;\n color: var(--pst-color-border);\n left: 25px;\n }\n\n .fa-solid.fa-magnifying-glass {\n position: absolute;\n left: calc((2.5rem - 0.7em) / 2);\n color: var(--pst-color-text-muted);\n }\n\n input {\n // Inner-text of the search bar\n &::placeholder {\n color: var(--pst-color-text-muted);\n }\n\n // Remove the little \"x\" that pops up when you start typing\n &::-webkit-search-cancel-button,\n &::-webkit-search-decoration {\n appearance: none;\n }\n }\n\n // Shows off the keyboard shortcuts for the button\n .search-button__kbd-shortcut {\n display: flex;\n position: absolute;\n right: 0.5rem;\n color: var(--pst-color-border);\n }\n}\n\n.form-control {\n background-color: var(--pst-color-background);\n color: var(--pst-color-text-base);\n\n &:focus,\n &:focus-visible {\n border: none;\n background-color: var(--pst-color-background);\n color: var(--pst-color-text-muted);\n }\n}\n\n/**\n * Search button - located in the navbar\n */\n\n// Search link icon should be a bit bigger since it is separate from icon links\n.search-button {\n display: flex;\n align-items: center;\n align-content: center;\n color: var(--pst-color-text-muted);\n padding: 0;\n border-radius: 0;\n border: none; // Override Bootstrap button border\n font-size: 1rem; // Override Bootstrap button font size\n\n // Override Bootstrap button padding-x. Whitespace in nav bar is controlled\n // via column gap rule on the container.\n padding-left: 0;\n padding-right: 0;\n\n @include icon-navbar-hover;\n\n i {\n font-size: 1.3rem;\n }\n}\n\n// __search-container will only show up when we use the search pop-up bar\n.search-button__search-container,\n.search-button__overlay {\n display: none;\n}\n\n.search-button__wrapper.show {\n .search-button__search-container {\n display: flex;\n\n // Center in middle of screen just underneath header\n position: fixed;\n z-index: $zindex-modal;\n top: 30%;\n left: 50%;\n transform: translate(-50%, -50%);\n right: 1rem;\n margin-top: 0.5rem;\n width: 90%;\n max-width: 800px;\n }\n\n .search-button__overlay {\n display: flex;\n position: fixed;\n z-index: $zindex-modal-backdrop;\n background-color: black;\n opacity: 0.5;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n }\n\n form.bd-search {\n flex-grow: 1;\n padding-top: 0;\n padding-bottom: 0;\n }\n\n // Font and input text a bit bigger\n svg,\n input {\n font-size: var(--pst-font-size-icon);\n }\n}\n\n/**\n * The search button component that looks like a field.\n * Lives at components/search-button-field.html\n */\n.search-button-field {\n $search-button-border-radius: 1.5em;\n\n display: inline-flex;\n align-items: center;\n border: var(--pst-color-border) solid 1px;\n border-radius: $search-button-border-radius;\n color: var(--pst-color-text-muted);\n padding: 0.5em;\n background-color: var(--pst-color-surface);\n\n &:hover {\n box-shadow: 0 0 0 $focus-ring-width var(--pst-color-link-hover);\n }\n\n &:focus-visible {\n border-radius: $search-button-border-radius;\n }\n\n // The keyboard shotcut text\n .search-button__default-text {\n font-size: var(--bs-nav-link-font-size);\n font-weight: var(--bs-nav-link-font-weight);\n margin-right: 0.5em;\n margin-left: 0.5em;\n }\n\n .kbd-shortcut__modifier {\n font-size: 0.75em;\n }\n\n // Ensures that all the text lines up in the middle\n > * {\n align-items: center;\n }\n\n // Only the icon should be visible on narrow screens\n > :not(svg) {\n display: none;\n\n @include media-breakpoint-up(lg) {\n display: flex;\n }\n }\n}\n","/**\n * The 'Hide Search Matches' button.\n * This only shows up when a person lands on a page after clicking a search result.\n * Clicking it removes the highlighting of the search term from the page.\n * We want it to behave like a button.\n */\ndiv#searchbox {\n // Leave `#searchbox` rules empty so that it doesn't show at all when it is empty\n p.highlight-link {\n margin: 1rem 0;\n width: fit-content;\n\n // A bit more margin on wide screens to mimic article behavior\n @include media-breakpoint-up($breakpoint-sidebar-secondary) {\n margin-left: 2rem;\n }\n\n // Put outer shadow on this one so that we can darken the link w/ an inner shadow\n @include box-shadow;\n\n // Style the button to look like a Sphinx Design button\n a {\n border-radius: 0.25rem;\n font-size: 1.25rem;\n padding: 0.75rem;\n background-color: var(--pst-color-primary);\n color: var(--pst-color-primary-text);\n text-decoration: none;\n\n // The box shadow is inset so that it darkens the button on hover\n transition: box-shadow 0.25s ease-out;\n\n &:hover {\n box-shadow: inset 0 0 50px 50px rgb(0 0 0 / 25%);\n }\n\n &::before {\n content: var(--pst-icon-search-minus);\n color: unset;\n font: var(--fa-font-solid);\n margin-right: 0.5rem;\n }\n }\n }\n}\n","/**\n * Light/dark theme switcher\n */\n\n.theme-switch-button {\n color: var(--pst-color-text-muted);\n border-radius: 0;\n border: none; // Override Bootstrap button border\n font-size: 1rem; // Override Bootstrap's button font size\n\n // Override Bootstrap button padding-x. Whitespace in nav bar is controlled\n // via column gap rule on the container.\n padding-left: 0;\n padding-right: 0;\n\n &:hover {\n @include icon-navbar-hover;\n }\n\n span {\n display: none;\n\n &:active {\n text-decoration: none;\n color: var(--pst-color-link-hover);\n }\n\n .fa-lg {\n aspect-ratio: 1 / 1;\n }\n }\n}\n\nhtml[data-mode=\"auto\"] .theme-switch-button span[data-mode=\"auto\"] {\n display: flex;\n}\n\nhtml[data-mode=\"light\"] .theme-switch-button span[data-mode=\"light\"] {\n display: flex;\n}\n\nhtml[data-mode=\"dark\"] .theme-switch-button span[data-mode=\"dark\"] {\n display: flex;\n}\n","button.btn.version-switcher__button {\n border-color: var(--pst-color-border);\n color: var(--pst-color-text-base);\n\n // Add a margin on narrow screens to avoid feeling cramped\n margin-bottom: 1em;\n\n @include media-breakpoint-up($breakpoint-sidebar-primary) {\n margin-bottom: unset;\n }\n\n &:hover {\n box-shadow: 0 0 0 $focus-ring-width var(--pst-color-secondary);\n border-color: transparent;\n }\n\n &:active {\n color: var(--pst-color-text-base);\n border-color: var(--pst-color-border);\n }\n\n &:focus-visible {\n border-color: transparent;\n }\n}\n\n.version-switcher__menu {\n border-color: var(--pst-color-border);\n border-radius: var(--bs-dropdown-border-radius);\n\n a.list-group-item {\n background-color: var(--pst-color-on-background);\n color: var(--pst-color-text-base);\n padding: 0.75rem 1.25rem;\n\n &:not(:last-child) {\n border-bottom: 1px solid var(--pst-color-border);\n }\n\n &:hover {\n @include link-style-hover;\n\n background-color: var(--pst-color-surface);\n }\n\n &.active {\n @include link-sidebar-current;\n\n position: relative;\n z-index: 1;\n\n span::before {\n content: \"\";\n width: 100%;\n height: 100%;\n position: absolute;\n z-index: -1;\n left: 0;\n top: 0;\n }\n }\n\n &:focus-visible {\n z-index: 10; // keep focus ring on top (prevent the hover background of the next dropdown item from covering the ring)\n }\n }\n}\n\n// Font behavior on mobile\nbutton.version-switcher__button,\n.version-switcher__menu {\n font-size: 1.1em; // A bit smaller than other menu font\n z-index: $zindex-modal; // higher than the sidebars\n\n @include media-breakpoint-up($breakpoint-sidebar-primary) {\n font-size: unset;\n }\n}\n","/* Collapsing of the TOC sidebar while scrolling */\n\n/* Nav: hide second level (shown on .active) */\n\nnav.page-toc {\n // A little extra space before the buttons\n margin-bottom: 1rem;\n}\n\n.bd-toc .nav {\n .nav {\n display: none;\n\n // So we can manually specify a level as visible in the config\n &.visible {\n display: block;\n }\n }\n\n > .active > ul {\n display: block;\n }\n}\n\n// Each entry of the in-page TOC\n.toc-entry {\n display: block;\n\n a > code {\n color: var(--pst-color-text-muted);\n }\n\n a.nav-link {\n display: block;\n padding: 0.125rem 0;\n\n // Padding w/ negative margin so the top TOC item highlight overlaps w/ the TOC border\n padding-left: 1rem;\n margin-left: -1rem;\n\n @include link-sidebar;\n\n &.active {\n @include link-sidebar-current;\n\n background-color: transparent;\n\n &:hover {\n color: var(--pst-color-link-hover);\n }\n }\n\n &:focus-visible {\n border-radius: $focus-ring-radius;\n }\n }\n}\n","div.versionadded,\ndiv.versionchanged,\ndiv.deprecated {\n vertical-align: middle;\n margin: 1.5625em auto;\n padding: 0 0.6rem;\n overflow: hidden;\n\n /* break-inside has replaced page-break-inside and is widely usable since 2019 */\n page-break-inside: avoid;\n break-inside: avoid;\n border-left: 0.2rem solid;\n border-color: var(--pst-color-info);\n border-radius: $admonition-border-radius;\n background-color: var(--pst-color-on-background);\n\n @include box-shadow;\n\n position: relative;\n\n > p {\n margin-bottom: 0.6rem;\n margin-top: 0.6rem;\n }\n}\n\ndiv.versionadded {\n border-color: var(--pst-color-success);\n background-color: var(--pst-color-success-bg);\n}\n\ndiv.versionchanged {\n border-color: var(--pst-color-warning);\n background-color: var(--pst-color-warning-bg);\n}\n\ndiv.deprecated {\n border-color: var(--pst-color-danger);\n background-color: var(--pst-color-danger-bg);\n}\n\nspan.versionmodified {\n font-weight: 600;\n\n &::before {\n margin-right: 0.6rem;\n color: var(--pst-color-info);\n font: var(--fa-font-solid);\n content: var(--pst-icon-versionmodified-default);\n }\n}\n\nspan.versionmodified.added {\n &::before {\n color: var(--pst-color-success);\n content: var(--pst-icon-versionmodified-added);\n }\n}\n\nspan.versionmodified.changed {\n &::before {\n color: var(--pst-color-warning);\n content: var(--pst-icon-versionmodified-changed);\n }\n}\n\nspan.versionmodified.deprecated {\n &::before {\n color: var(--pst-color-danger);\n content: var(--pst-icon-versionmodified-deprecated);\n }\n}\n",".sidebar-indices-items {\n display: flex;\n flex-direction: column;\n border-top: 1px solid var(--pst-color-border);\n\n @include media-breakpoint-up($breakpoint-sidebar-primary) {\n border-top: none;\n }\n\n .sidebar-indices-items__title {\n font-weight: var(--pst-sidebar-header-font-weight);\n font-size: var(--pst-sidebar-header-font-size);\n color: var(--pst-color-text-base);\n margin-bottom: 0.5rem;\n }\n\n ul.indices-link {\n margin-right: -1rem;\n list-style: none;\n padding: 0;\n\n li > a {\n display: block;\n padding: 0.25rem 0;\n color: var(--pst-color-text-muted);\n\n &:hover {\n color: var(--pst-color-primary);\n text-decoration: none;\n background-color: transparent;\n }\n }\n }\n}\n",".bd-sidebar-primary div#rtd-footer-container {\n position: sticky;\n bottom: -1rem;\n margin: -1rem; // ignore sidebar padding\n\n .rst-versions.rst-badge {\n position: unset;\n font-size: 0.9em;\n font-family: var(--pst-font-family-base);\n max-width: unset;\n\n .rst-current-version {\n display: flex;\n align-items: center;\n gap: 0.2rem;\n height: 2.5rem;\n transition: background-color 0.2s ease-out;\n background-color: var(--pst-color-background);\n color: var(--pst-color-success);\n border-top: 1px solid var(--pst-color-border);\n }\n\n .fa.fa-book {\n color: var(--pst-color-text-muted);\n margin-right: auto;\n\n &::after {\n color: var(--pst-color-text-base);\n content: \"Read The Docs\";\n font-family: var(--pst-font-family-base);\n font-weight: var(--pst-admonition-font-weight-heading);\n }\n }\n\n .fa.fa-caret-down {\n color: var(--pst-color-text-muted);\n }\n }\n\n .rst-versions.rst-badge.shift-up {\n .rst-current-version {\n border-bottom: 1px solid var(--pst-color-border);\n }\n }\n\n .rst-other-versions {\n background-color: var(--pst-color-surface);\n color: var(--pst-color-text-base);\n\n dl {\n dd a {\n color: var(--pst-color-text-muted);\n }\n }\n\n hr {\n background-color: var(--pst-color-border);\n }\n\n small a {\n color: var(--pst-color-link);\n }\n\n input {\n padding-left: 0.5rem;\n border: 1px solid var(--pst-color-border);\n background-color: var(--pst-color-surface);\n }\n }\n}\n","/**\n * Admonitions and blocks of styled content.\n * Admonitions CSS originally inspired by https://squidfunk.github.io/mkdocs-material/getting-started/\n */\n$admonition-border-radius: 0.25rem;\n$admonition-left-border-width: 0.2rem;\n\ndiv.admonition,\n.admonition {\n margin: 1.5625em auto;\n padding: 0 0.6rem 0.8rem;\n overflow: hidden;\n\n /* break-inside has replaced page-break-inside and is widely usable since 2019 */\n page-break-inside: avoid;\n break-inside: avoid;\n border-left: $admonition-left-border-width solid;\n border-color: var(--pst-color-info);\n border-radius: $admonition-border-radius;\n background-color: var(--pst-color-on-background);\n\n @include box-shadow;\n\n // Last item should have no spacing since we'll control that w/ padding\n *:last-child {\n margin-bottom: 0;\n }\n\n // Items after the title should be indented\n p.admonition-title ~ * {\n margin-left: 1.4rem;\n margin-right: 1.4rem;\n }\n\n // Lists need to have left margin so they don't spill into it\n > ol,\n > ul {\n margin-left: 1em;\n }\n\n // Defaults for all admonitions\n > .admonition-title {\n margin: 0 -0.6rem;\n padding: 0.4rem 0.6rem 0.4rem 2rem;\n font-weight: var(--pst-admonition-font-weight-heading);\n position: relative;\n\n @include legacy-backdrop-placeholder;\n\n background-color: var(--pst-color-info-bg);\n\n // now that we use solid colors we want the title on top\n z-index: 1;\n\n &::after {\n position: absolute;\n left: 0.5rem;\n width: 1rem;\n height: 1rem;\n color: var(--pst-color-info);\n font: var(--fa-font-solid);\n line-height: inherit;\n content: var(--pst-icon-admonition-default);\n opacity: 1;\n }\n\n // Next element after title needs some extra upper-space\n + * {\n margin-top: 0.4em;\n }\n }\n\n &.attention {\n border-color: var(--pst-color-attention);\n\n > .admonition-title {\n background-color: var(--pst-color-attention-bg);\n\n &::after {\n color: var(--pst-color-attention);\n content: var(--pst-icon-admonition-attention);\n }\n }\n }\n\n &.caution {\n border-color: var(--pst-color-warning);\n\n > .admonition-title {\n background-color: var(--pst-color-warning-bg);\n\n &::after {\n color: var(--pst-color-warning);\n content: var(--pst-icon-admonition-caution);\n }\n }\n }\n\n &.warning {\n border-color: var(--pst-color-warning);\n\n > .admonition-title {\n background-color: var(--pst-color-warning-bg);\n\n &::after {\n color: var(--pst-color-warning);\n content: var(--pst-icon-admonition-warning);\n }\n }\n }\n\n &.danger {\n border-color: var(--pst-color-danger);\n\n > .admonition-title {\n background-color: var(--pst-color-danger-bg);\n\n &::after {\n color: var(--pst-color-danger);\n content: var(--pst-icon-admonition-danger);\n }\n }\n }\n\n &.error {\n border-color: var(--pst-color-danger);\n\n > .admonition-title {\n background-color: var(--pst-color-danger-bg);\n\n &::after {\n color: var(--pst-color-danger);\n content: var(--pst-icon-admonition-error);\n }\n }\n }\n\n &.hint {\n border-color: var(--pst-color-success);\n\n > .admonition-title {\n background-color: var(--pst-color-success-bg);\n\n &::after {\n color: var(--pst-color-success);\n content: var(--pst-icon-admonition-hint);\n }\n }\n }\n\n &.tip {\n border-color: var(--pst-color-success);\n\n > .admonition-title {\n background-color: var(--pst-color-success-bg);\n\n &::after {\n color: var(--pst-color-success);\n content: var(--pst-icon-admonition-tip);\n }\n }\n }\n\n &.important {\n border-color: var(--pst-color-attention);\n\n > .admonition-title {\n background-color: var(--pst-color-attention-bg);\n\n &::after {\n color: var(--pst-color-attention);\n content: var(--pst-icon-admonition-important);\n }\n }\n }\n\n &.note {\n border-color: var(--pst-color-info);\n\n > .admonition-title {\n background-color: var(--pst-color-info-bg);\n\n &::after {\n color: var(--pst-color-info);\n content: var(--pst-icon-admonition-note);\n }\n }\n }\n\n &.seealso {\n border-color: var(--pst-color-success);\n\n > .admonition-title {\n background-color: var(--pst-color-success-bg);\n\n &::after {\n color: var(--pst-color-success);\n content: var(--pst-icon-admonition-seealso);\n }\n }\n }\n\n &.admonition-todo {\n border-color: var(--pst-color-secondary);\n\n > .admonition-title {\n background-color: var(--pst-color-secondary-bg);\n\n &::after {\n color: var(--pst-color-secondary);\n content: var(--pst-icon-admonition-todo);\n }\n }\n }\n\n /**\n * Special-case for a `sidebar` class that makes the admonition float to\n * the right like the {sidebar} directive.\n */\n &.sidebar {\n max-width: 40%;\n float: right;\n clear: both;\n margin-left: 0.5rem;\n margin-top: 0;\n\n // Undo the .sidebar directive border\n border-width: 0 0 0 $admonition-left-border-width;\n\n // TODO: these semantic-color-names border-color rules might no longer be\n // needed when we drop support for Sphinx 4 / docutils 0.17\n &.attention,\n &.important {\n border-color: var(--pst-color-attention);\n }\n\n &.caution,\n &.warning {\n border-color: var(--pst-color-warning);\n }\n\n &.danger,\n &.error {\n border-color: var(--pst-color-danger);\n }\n\n &.hint,\n &.tip,\n &.seealso {\n border-color: var(--pst-color-success);\n }\n\n &.note,\n &.todo {\n border-color: var(--pst-color-info);\n }\n\n // No inner margin since we have less horizontal space w/ the sidebar\n p.admonition-title ~ * {\n margin-left: 0;\n margin-right: 0;\n }\n }\n}\n\n/**************************************************************\n * Similar content blocks that are not technically admonitions.\n */\n\n/**\n * Topics and the {contents} directive\n */\n// Docutils <= 0.17\ndiv.topic,\ndiv.topic.contents,\n// Docutils >= 0.18\nnav.contents,\naside.topic {\n display: flex;\n flex-direction: column;\n background-color: var(--pst-color-surface);\n border-color: var(--pst-color-border);\n border-radius: $admonition-border-radius;\n padding: 1rem 1.25rem;\n\n @include box-shadow;\n\n .topic-title {\n margin: 0 0 0.5rem;\n }\n\n // Over-ride text color to ensure enough contrast\n p {\n color: var(--pst-color-on-surface) !important;\n }\n\n // Over-ride large default padding\n ul.simple {\n padding-left: 1rem;\n\n ul {\n // So that sub-lists will have a bit less padding\n padding-left: 2em;\n }\n }\n}\n\n/**\n * Sidebar directive\n */\naside.sidebar {\n border: 1px solid var(--pst-color-border);\n background-color: var(--pst-color-surface);\n border-radius: $admonition-border-radius;\n\n // to match the admonition-styled sidebars:\n margin-left: 0.5rem;\n padding: 0;\n\n > *:last-child {\n padding-bottom: 1rem;\n }\n\n p.sidebar-title {\n position: relative;\n margin-bottom: 0;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n border-bottom: 1px solid var(--pst-color-border);\n font-family: var(--pst-font-family-heading);\n font-weight: var(--pst-admonition-font-weight-heading);\n }\n\n // Add margin to the first non-`.sidebar-title` item\n > *:not(.sidebar-title):first-child,\n > p.sidebar-title + * {\n margin-top: 1rem;\n }\n\n > * {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n}\n\n/**\n * Rubrics look kind of like section headers\n */\np.rubric {\n display: flex;\n flex-direction: column;\n}\n\n/**\n * Seealso is kind of like a vertically-collapsed admonition\n */\n.seealso dd {\n margin-top: 0;\n margin-bottom: 0;\n}\n","/**\n * Miscellaneous color functions and mixins\n**/\n\n@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:math\";\n@use \"sass:string\";\n\n// We must add ::before pseudo-element to some theme components (such as admonitions)\n// because users were instructed to customize the background color this way.\n@mixin legacy-backdrop-placeholder {\n &::before {\n content: \"\";\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n z-index: -1;\n\n // So that hovering over the text within background is still possible.\n // Otherwise the background overlays the text and you cannot click or select easily.\n // ref: https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events\n pointer-events: none;\n }\n}\n\n/**\n* Function to get items from nested maps\n*/\n// @param {Map} $map - Map\n// @param {Arglist} $keys - Keys to fetc\n// @return {*}\n@function map-deep-get($map, $keys...) {\n @each $key in $keys {\n $map: map.get($map, $key);\n }\n\n @return $map;\n}\n\n/**\n * Function to check if the color needs converting to a \"color\" type\n * if it is a string we cannot use other color manipulation functions\n * It is used to create the sphinx-design colours as these are often interpolated\n */\n// @param {String/Color} $color - Color definition from map\n// @return {Color} - Color type (in hex)\n@function check-color($color) {\n @if meta.type-of($color) == string {\n $color: from-hex($color);\n }\n\n @return $color;\n}\n\n/**\n * Function to convert the string representation of a color to a color type (hex)\n */\n// @param {String} $string - String representation of a color\n@function from-hex($string) {\n $string-lower: string.to-lower-case($string);\n $r: \"\";\n $g: \"\";\n $b: \"\";\n $hex: \"0\" \"1\" \"2\" \"3\" \"4\" \"5\" \"6\" \"7\" \"8\" \"9\" \"a\" \"b\" \"c\" \"d\" \"e\" \"f\";\n $length: string.length($string);\n $max: if($length == 4, 1, 2);\n\n // Check for length accuracy\n @if $length != 4 and $length != 7 {\n @return $string;\n }\n\n // Loop from the second character (omitting #)\n @for $i from 2 through $length {\n $c: string.slice($string-lower, $i, $i);\n\n // If wrong character, return\n @if not list.index($hex, $c) {\n @return $string;\n }\n\n @if string.length($r) < $max {\n $r: $r + $c;\n } @else if string.length($g) < $max {\n $g: $g + $c;\n } @else if string.length($b) < $max {\n $b: $b + $c;\n }\n }\n\n @if $length == 4 {\n $r: $r + $r;\n $g: $g + $g;\n $b: $b + $b;\n }\n\n @return rgb(hex-to-dec($r), hex-to-dec($g), hex-to-dec($b));\n}\n\n@function hex-to-dec($string) {\n $hex: \"0\" \"1\" \"2\" \"3\" \"4\" \"5\" \"6\" \"7\" \"8\" \"9\" \"a\" \"b\" \"c\" \"d\" \"e\" \"f\";\n $string: string.to-lower-case($string);\n $length: string.length($string);\n $dec: 0;\n\n @for $i from 1 through $length {\n $factor: 1 + (15 * ($length - $i));\n $index: list.index($hex, string.slice($string, $i, $i));\n $dec: $dec + $factor * ($index - 1);\n }\n\n @return $dec;\n}\n","// Style API docs from sphinx' autodoc / autosummary\n\n/*******************************************************************************\n* Styling for field lists\n*/\n\n/* grey highlighting of 'parameter' and 'returns' field */\ntable.field-list {\n border-collapse: separate;\n border-spacing: 10px;\n margin-left: 1px;\n\n th.field-name {\n padding: 1px 8px 1px 5px;\n white-space: nowrap;\n background-color: var(--pst-color-surface);\n }\n\n /* italic font for parameter types */\n td.field-body {\n p {\n font-style: italic;\n\n > strong {\n font-style: normal;\n }\n }\n\n /* reduced space around parameter description */\n blockquote {\n border-left: none;\n margin: 0 0 0.3em;\n padding-left: 30px;\n }\n }\n}\n\n/*******************************************************************************\n* Styling for autosummary tables\n*/\n\n.table.autosummary {\n // The first column (with the signature) should not wrap\n td:first-child {\n white-space: nowrap;\n }\n}\n\n/* overriding basic.css to use our own monospace font */\n.sig {\n font-family: var(--pst-font-family-monospace);\n}\n\n/* C++ specific styling - overriding the basic.css to avoid custom colors */\n\n.sig-inline.c-texpr,\n.sig-inline.cpp-texpr {\n font-family: unset;\n}\n\n.sig.c .k,\n.sig.c .kt,\n.sig.cpp .k,\n.sig.cpp .kt {\n color: var(--pst-color-text-base);\n}\n\n.sig.c .m,\n.sig.cpp .m {\n color: var(--pst-color-text-base);\n}\n\n.sig.c .s,\n.sig.c .sc,\n.sig.cpp .s,\n.sig.cpp .sc {\n color: var(--pst-color-text-base);\n}\n\n// addition\n\n// .sig.c .sig-name .n,\n// .sig.cpp .sig-name .n {\n// color: var(--pst-color-inline-code);\n// }\n\n.sig-name {\n color: var(--pst-color-inline-code);\n}\n\n.sig-param .o,\n.sig-param .default_value {\n color: var(--pst-color-text-muted);\n font-weight: normal;\n}\n\n// change target color for dark theme\ndt:target,\nspan.highlighted {\n background-color: var(--pst-color-target);\n}\n\n.viewcode-back {\n font-family: var(--pst-font-family-base);\n}\n\n.viewcode-block:target {\n border-top: 1px solid var(--pst-color-border);\n border-bottom: 1px solid var(--pst-color-border);\n position: relative;\n background-color: var(--pst-color-target);\n}\n\ndl > dt > a:has(.viewcode-link) {\n // Sphinx applies a `float:right` rule to the .viewcode-line span, which\n // exposes a browser glitch in the focus ring. It seems the browser creates\n // two separate boxes, an empty box where the anchor element gets laid out and\n // then another box around the anchor's contents that have been floated right.\n // Firefox draws the focus ring around the empty anchor element box. Chrome\n // draws two focus rings: one around the empty anchor and one around the\n // floated-right element. To fix the glitch, we apply the float rule on the\n // parent rather than the child.\n float: right;\n\n .viewcode-link {\n float: none;\n }\n}\n\n/*******************************************************************************\n* Styling for autosummary titles like \"parameters\" and \"returns\"\n*/\n\n// the API selector\n// from https://github.com/pradyunsg/furo/blob/main/src/furo/assets/styles/content/_api.sass#L6)\ndl[class]:not(.option-list, .field-list, .footnote, .glossary, .simple) {\n // increase margin bottom after the dl elements\n margin-bottom: 3rem;\n\n dd {\n margin-left: 2rem;\n\n // Fix until this will be solved to Sphinx https://github.com/sphinx-doc/sphinx/issues/10815\n & > dl.simple > dt {\n display: flex;\n }\n }\n\n dl.field-list {\n display: grid;\n grid-template-columns: unset;\n }\n\n dt.field-odd,\n dt.field-even {\n margin-top: 0.2rem;\n margin-bottom: 0.1rem;\n background-color: var(--pst-color-surface);\n }\n}\n","/**\n * Code block styling\n * Note that we inherit a lot of styling from Bootstrap so not many rules here.\n */\n\n// General code block behavior\n// Unset bootstrap behavior\ndiv[class*=\"highlight-\"],\ndiv.highlight,\ndiv.literal-block-wrapper {\n display: flex;\n flex-direction: column;\n width: unset;\n border-radius: $admonition-border-radius;\n break-inside: avoid;\n}\n\n// Code blocks with captions\n// There's a wrapper when the code block has a title\ndiv.literal-block-wrapper {\n border: 1px solid var(--pst-color-border);\n border-radius: $admonition-border-radius;\n\n // This is where the title goes\n div.code-block-caption {\n margin: 0;\n border-bottom: 1px solid var(--pst-color-border);\n padding: 0.5rem;\n font-size: 1rem;\n font-weight: var(--pst-font-weight-caption);\n\n a.headerlink {\n font-size: inherit;\n }\n }\n\n // Remove the upper border radius since we want it to connect with the title\n // Remove the box shadow so the wrapper gets the shadow instead\n div[class*=\"highlight-\"] {\n margin: 0;\n border-radius: 0;\n\n pre {\n border: none;\n box-shadow: none;\n }\n }\n}\n\n/**\n * In-line code\n */\ncode.literal {\n padding: 0.1rem 0.25rem;\n background-color: var(--pst-color-surface);\n border: 1px solid var(--pst-color-border);\n border-radius: 0.25rem;\n}\n\na > code {\n color: var(--pst-color-inline-code-links);\n}\n\n// Fix for Sphinx's \"highlight\" directive - this is an issue with our accessible pygments theme\n// and the colour we are using for the background of the code blocks.\nhtml[data-theme=\"light\"] .highlight .nf {\n color: #0078a1 !important;\n}\n\n// Minimum opacity needed for linenos to be WCAG AA conformant\nspan.linenos {\n opacity: 0.8 !important;\n}\n","figure > a,\nfigure > a > img,\nfigure > img,\nfigure > video {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n\nfigure {\n a.headerlink {\n // So that header link doesn't push caption to be off-center.\n position: absolute;\n font-size: inherit;\n }\n\n // Default headerlink hover doesn't trigger on figures\n &:hover a.headerlink {\n visibility: visible;\n }\n\n figcaption {\n font-family: var(--pst-font-family-heading);\n font-weight: var(--pst-font-weight-caption);\n color: var(--pst-color-text-muted);\n margin-left: auto;\n margin-right: auto;\n margin-top: 0.3rem;\n text-align: center;\n\n & > p:last-child {\n // Don't add extra margin to already existing figure bottom margin\n margin-bottom: 0;\n }\n\n p {\n text-align: start;\n display: inline-block;\n }\n\n table.table {\n width: fit-content;\n margin-left: auto;\n margin-right: auto;\n }\n }\n}\n","// For consistency, add bracket around footnotes/citations which are\n// cited more than once. E.g. [Newton](1,2) instead of Newton(1,2)\ndt.label > span.brackets:not(:only-child)::before {\n content: \"[\";\n}\n\ndt.label > span.brackets:not(:only-child)::after {\n content: \"]\";\n}\n\n// Make footnote as a superscript\na.footnote-reference {\n vertical-align: super;\n font-size: small;\n}\n\n// Docutils 0.18 uses an `aside.footnote` container with different internal structure\naside.footnote {\n margin-bottom: 0.5rem;\n\n &:last-child {\n margin-bottom: 1rem;\n }\n\n span.label,\n span.backrefs {\n font-weight: bold;\n }\n\n &:target {\n background-color: var(--pst-color-target);\n }\n}\n","/**\n * Hacky fixes that don't fit cleanly into other sections\n */\n\n// Ensure user highlighting/selecting behaves properly\n// From https://stackoverflow.com/a/34372191\ntable.highlighttable td.linenos,\nspan.linenos,\ndiv.doctest > div.highlight span.gp {\n /* gp: Generic.Prompt */\n user-select: none;\n}\n","// Override bootstrap by restoring the basic theme default.\ndd {\n margin-top: 3px;\n margin-bottom: 10px;\n margin-left: 30px;\n}\n\nol,\nul {\n padding-inline-start: 2rem;\n\n li > p:first-child {\n margin-bottom: 0.25rem;\n margin-top: 0.25rem;\n }\n}\n","// GitHub blockquote style\nblockquote {\n padding: 1em;\n color: var(--pst-color-text-muted);\n border-left: 0.25em solid var(--pst-color-blockquote-notch);\n border-radius: $admonition-border-radius;\n position: relative;\n\n p {\n color: var(--pst-color-text-base);\n }\n\n // remove padding from included line-block to avoid duplication\n .line-block {\n margin: 0;\n }\n\n // remove margin bottom for the last p\n p:last-child {\n margin-bottom: 0;\n }\n\n @include legacy-backdrop-placeholder;\n\n background-color: var(--pst-color-surface);\n\n // Ensure there is enough contrast against the background\n a {\n color: var(--pst-color-inline-code-links);\n }\n\n // hack to make the text in the blockquote selectable\n &::before {\n z-index: -1;\n }\n}\n","/**\n * Span-level styling within content\n */\n\nspan.guilabel {\n border: 1px solid var(--pst-color-info);\n font-size: 80%;\n font-weight: 700;\n border-radius: 4px;\n padding: 2.4px 6px;\n margin: auto 2px;\n position: relative;\n\n @include legacy-backdrop-placeholder;\n\n background-color: var(--pst-color-info-bg);\n}\n\na.reference.download::before {\n content: var(--pst-icon-download);\n font: var(--fa-font-solid);\n font-size: 0.8em;\n padding: 0 0.25em;\n color: var(--pst-color-text-muted);\n}\n","/**\n * Tables\n */\n\n// ensure table will fit in the article width and make them y-scrollable\ntable {\n @include table-colors;\n\n // default to table-center\n margin-left: auto;\n margin-right: auto;\n\n &.table-right {\n margin-right: 0;\n }\n\n &.table-left {\n margin-left: 0;\n }\n}\n\n// customize table caption from bootstrap\n// to display them on top and centered\ntable caption {\n text-align: center;\n caption-side: top;\n color: var(--pst-color-text-muted);\n}\n\n// MyST Markdown tables use these classes to control alignment\nth,\ntd {\n &.text-left {\n text-align: left;\n }\n\n &.text-right {\n text-align: right;\n }\n\n &.text-center {\n text-align: center;\n }\n}\n\n// override bootstrap table colors\n.table {\n @include table-colors;\n\n --bs-table-bg: transparent; // background\n --bs-table-color: var(\n --pst-color-text-base\n ); // ensure text and bullets are visible\n}\n\n.pst-scrollable-table-container {\n // Put a horizontal scrollbar just below tables that are too wide to fit\n // within the main column\n overflow-x: auto;\n}\n","/**\n * Style the toctree component in pages (avoid modifying the navbars)\n */\n.toctree-wrapper {\n p.caption {\n font-size: 1.5em;\n margin-bottom: 0;\n }\n\n & > ul {\n padding-left: 0;\n }\n\n li[class^=\"toctree-l\"] {\n list-style: none;\n margin-bottom: 0.2em;\n\n & > a {\n list-style: none;\n font-size: 1.1em;\n }\n\n & > ul {\n list-style: none;\n padding-inline-start: 1.5em;\n }\n }\n\n // slightly bigger font for l1\n .toctree-l1 > a {\n font-size: 1.3em;\n }\n}\n\ndiv.topic.contents, // Docutils <= 0.17\nnav.contents // Docutils >= 0.18\n{\n // Style similarly to toctree\n ul.simple {\n list-style: none;\n padding-left: 0;\n }\n}\n","/**\n * Mathematics via MathJax.\n *\n * This is designed for MathJax v3\n * ref: https://www.sphinx-doc.org/en/master/usage/extensions/math.html#module-sphinx.ext.mathjax\n */\n\n// Applies to all math elements\nspan.math,\ndiv.math {\n align-items: center;\n display: flex;\n max-width: 100%;\n\n // This will be over-ridden for the y-direction and divs\n overflow: hidden;\n}\n\n// Inline-only\nspan.math {\n display: inline-flex;\n}\n\n// Block-level only\ndiv.math {\n gap: 0.5em;\n\n // So that the eqno shows up after the equation\n flex-direction: row-reverse;\n\n // The equation number / link\n span.eqno a.headerlink {\n position: relative;\n font-size: 1em;\n }\n\n // The math container\n mjx-container {\n flex-grow: 1;\n padding-bottom: 0.2rem;\n overflow: auto;\n\n // Set height to 0 so that it does not cause scrollbars to appear\n // ref: https://github.com/mathjax/MathJax/issues/2521\n mjx-assistive-mml {\n height: 0;\n }\n }\n}\n","/**\n * ABlog\n * ref: https://ablog.readthedocs.io/\n */\n\n/**\n * Sidebar template components\n */\n.ablog-sidebar-item {\n h2,\n h3 {\n font-size: var(--pst-sidebar-header-font-size);\n\n // Remove unnecessary vertical whitespace\n margin-top: 0.5rem;\n\n // The headers are all links, but this makes them hard to parse\n // So we change the colors to make them look like headers\n a {\n color: var(--pst-color-text-base);\n }\n }\n\n ul {\n // No bullet points for the primary sidebar items\n list-style: none;\n padding-left: 0;\n\n // Otherwise a scrollbar randomly shows up\n overflow-y: hidden;\n\n // List of recent post items\n display: flex;\n flex-direction: column;\n gap: 0.5em;\n margin-bottom: 0;\n\n // The ablog cloud should move horizontally\n &.ablog-cloud {\n flex-flow: row wrap;\n gap: 0.5rem;\n\n // Vertical-align tag clouds\n li {\n // Center the tag cloud items\n display: flex;\n align-items: center;\n }\n }\n }\n}\n\n/**\n * Previous / next buttons at the bottom\n */\n.ablog__prev-next {\n font-size: 1.2em;\n display: flex;\n padding: 1rem 0;\n\n // The bottom previous / next arrows\n > span {\n // To ensure that the whole thing fits on one line even if there are long titles\n display: flex;\n max-width: 45%;\n\n // Links within each span have the collection of icon + text\n a {\n display: flex;\n align-items: center;\n margin-left: auto;\n gap: 1rem;\n line-height: 1.5rem;\n\n i::before {\n color: var(--pst-color-text-base);\n }\n }\n }\n\n // The first span is for the previous page and aligns to the left\n span.ablog__prev {\n i.fa-arrow-circle-left::before {\n content: var(--pst-icon-angle-left);\n }\n }\n\n // The second span is just an empty space so we remove it because we're\n // positioning with flex\n span.ablog__spacer {\n display: none;\n }\n\n // The third span is aligned to the right\n span.ablog__next {\n margin-left: auto;\n text-align: right;\n\n i.fa-arrow-circle-right::before {\n content: var(--pst-icon-angle-right);\n }\n }\n}\n\n/**\n * {postlist} directive and posts page\n */\n.ablog__collection,\n.postlist {\n padding-left: 0;\n\n .ablog-post {\n list-style: none;\n\n // Post metadata tags (author, links ,etc) should be a bit smaller\n .ablog-archive {\n display: flex;\n flex-flow: row wrap;\n gap: 1rem;\n list-style: none;\n font-size: 0.75rem;\n padding-left: 0;\n }\n\n // Title line should be a bit bigger and bold to stand out\n .ablog-post-title {\n margin-top: 0;\n font-size: 1.25rem;\n\n a {\n font-weight: bold;\n }\n }\n\n // Read more button should be a bit bigger\n .ablog-post-expand {\n margin-bottom: 0.5rem;\n }\n }\n}\n","/**\n * Special cases for Bootstrap functionality\n */\n\n// Bootstrap adds margin to their general container class. However, sphinx/docutils\n// can also generate output with the container class, but in those cases we should\n// not add the margin from bootstrap. Same for max-width.\n.docutils.container {\n padding-left: unset;\n padding-right: unset;\n margin-left: unset;\n margin-right: unset;\n max-width: unset;\n width: unset;\n}\n\n.btn {\n --bs-btn-focus-box-shadow: #{$btn-focus-box-shadow};\n}\n","/**\n * Sphinx Copybutton\n * ref: https://sphinx-copybutton.readthedocs.io/\n */\n\ndiv.highlight button.copybtn {\n // Nicer spacing\n display: flex;\n align-items: center;\n justify-content: center;\n\n // Don't over-ride the success color\n &:not(.success) {\n color: var(--pst-color-muted);\n }\n\n border: none;\n background-color: var(--pst-color-surface);\n\n &:hover {\n &:not(.success) {\n color: var(--pst-color-text);\n background-color: var(--pst-color-shadow);\n }\n }\n\n // Tooltip styling\n &.o-tooltip--left::after {\n color: var(--pst-color-text);\n background-color: var(--pst-color-surface);\n }\n\n &:focus {\n // For keyboard users, make the copy button visible when focussed.\n opacity: 1;\n }\n\n &:focus-visible {\n outline: $focus-ring-outline;\n }\n}\n\ndiv.highlight:has(button.copybtn) {\n // Make sure the code block has enough height for the copy button.\n // Sphinx-copybutton sets 0.3em top offset plus 1.7em height:\n // https://github.com/executablebooks/sphinx-copybutton/blob/master/sphinx_copybutton/_static/copybutton.css\n min-height: 2em;\n}\n","// adapt ethical ad to the theme\n#ethical-ad-placement {\n .ethical-sidebar a,\n .ethical-sidebar a:visited,\n .ethical-sidebar a:hover,\n .ethical-sidebar a:active,\n .ethical-footer a,\n .ethical-footer a:visited,\n .ethical-footer a:hover,\n .ethical-footer a:active {\n color: var(--pst-color-text-base);\n }\n\n .ethical-sidebar,\n .ethical-footer {\n background-color: var(--pst-color-background);\n border: 1px solid var(--pst-color-border);\n border-radius: 5px;\n color: var(--pst-color-text-base);\n font-size: 14px;\n line-height: 20px;\n }\n}\n","/**\n * Styles for various Sphinx execution libraries.\n * For now, where these define output sections, we simply revert their background\n * to be a \"light theme\" background. This ensures that inputs/outputs behave similarly,\n * because the CSS is often controlled by each package.\n * In the future, we might add dark theme support for specific packages.\n */\n\n/******************************************************************************\n * Jupyter Sphinx\n */\n\n.bd-content div.jupyter_container {\n // We don't want borders around the whole container, just around code cells\n border: none;\n background-color: unset;\n box-shadow: none;\n\n // Code cells should have the same style as our other code objects\n div.output,\n div.highlight {\n border-radius: 0.25rem;\n }\n\n div.highlight {\n background-color: var(--pst-color-surface);\n }\n\n // Ensure the style is the same as our code cells. Jupyter Sphinx makes it tiny.\n .cell_input,\n .cell_output {\n border-radius: 0.25rem;\n\n pre {\n padding: 1rem;\n }\n }\n}\n","/**\n * Special-cases for packages in the PyData ecosystem\n */\n\n// xarray output display in bootstrap\n.xr-wrap[hidden] {\n display: block !important;\n}\n\n// ipywidgets\n.jp-OutputArea-output.lm-Widget {\n // override overflow:hidden rule from Lumino (.lm-Widget) to allow scrolling\n overflow: auto;\n}\n","/*******************************************************************************\n * Special-cases for the sphinx-design library, mainly to make it compatible\n * with the dark/light themes of pydata-sphinx-theme.\n *\n * NOTE: sphinx-design uses !important quite liberally, so here we must do the\n * same for our overrides to have any effect.\n */\n@use \"../variables/color\" as pst-color;\n@use \"sass:color\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n\n/*******************************************************************************\n * Color and variables\n *\n * This is a list of the semantic color names from sphinx-design (we only\n * need to override variables that sphinx-design has actually defined).\n * https://github.com/executablebooks/sphinx-design/blob/9226a12a/style/_colors.scss#L31-L43\n */\n$sd-semantic-color-names: (\n \"primary\",\n \"secondary\",\n \"success\",\n \"info\",\n \"warning\",\n \"danger\",\n \"light\",\n \"muted\",\n \"dark\",\n \"black\",\n \"white\"\n);\n\n/**\n * Here we create some extra --pst-color-* variables and use\n * them to override the value of the corresponding sphinx-design variables.\n * This is easier than re-writing the sphinx-design rules. Even easier would be\n * directly assigning our values to the --sd-color-* variables, but then our\n * downstream users couldn't override *our* colors and have it affect buttons\n * and badges.\n *\n * First, define the extra keys needed to cover the full range of semantic\n * color names used in sphinx-design, then merge them with the names we\n * already define for our own needs.\n * see https://sphinx-design.readthedocs.io/en/latest/css_variables.html\n */\n$extra-semantic-colors: (\n \"white\": $foundation-white,\n \"light\": (\n light: $foundation-light-gray,\n bg-light: color.scale($foundation-light-gray, $lightness: 30%),\n dark: $foundation-light-gray,\n bg-dark: color.scale($foundation-light-gray, $lightness: -30%),\n ),\n \"muted\": (\n light: $foundation-muted-gray,\n bg-light: color.scale($foundation-muted-gray, $lightness: 30%),\n dark: $foundation-light-gray,\n bg-dark: color.scale($foundation-muted-gray, $lightness: -30%),\n ),\n \"dark\": $foundation-dark-gray,\n \"black\": $foundation-black,\n);\n$all-colors: map.merge($pst-semantic-colors, $extra-semantic-colors);\n\n@mixin create-sd-colors($value, $name) {\n // define the pst variables, so that downstream user overrides will work\n --pst-color-#{$name}: #{$value};\n\n // we are now using a11y-combination to calculate the text color - this is based\n // on the WCAG color contrast guidelines\n --pst-color-#{$name}-text: #{a11y-combination($value)};\n\n // TODO: highlight seems to be used for buttons @trallard to fix on a11y follow-up work\n --pst-color-#{$name}-highlight: #{color.adjust($value, $lightness: -15%)};\n\n // override the sphinx-design variables\n --sd-color-#{$name}: var(--pst-color-#{$name});\n --sd-color-#{$name}-text: var(--pst-color-#{$name}-text);\n\n // TODO: highlight seems to be used for buttons @trallard to fix on a11y follow-up work\n --sd-color-#{$name}-highlight: var(--pst-color-#{$name}-highlight);\n}\n\n// Now we override the --sd-color-* variables.\n@each $mode in (light, dark) {\n html[data-theme=\"#{$mode}\"] {\n // check if this color is defined differently for light/dark\n @each $name in $sd-semantic-color-names {\n $definition: map.get($all-colors, $name);\n\n @if meta.type-of($definition) == map {\n @each $key, $value in $definition {\n @if string.index($key, $mode) {\n // since now we define the bg colours in the semantic colours and not\n // by changing opacity, we need to check if the key contains bg and the\n // correct mode (light/dark)\n @if string.index($key, \"bg\") {\n --sd-color-#{$name}-bg: #{$value};\n\n // create local variable\n $value: check-color($value);\n\n --sd-color-#{$name}-bg-text: #{a11y-combination($value)};\n } @else {\n $value: check-color($value);\n\n @include create-sd-colors($value, $name);\n }\n }\n }\n } @else {\n $value: map.get($all-colors, $name);\n\n @include create-sd-colors($value, $name);\n }\n }\n }\n}\n\n// Make sure the color border variables are set using our variables\n@each $mode in (light, dark) {\n html[data-theme=\"#{$mode}\"] {\n --sd-color-card-border: var(--pst-color-border);\n }\n}\n\n/*******************************************************************************\n * shadows\n */\nhtml[data-theme=\"light\"] {\n .sd-shadow-xs,\n .sd-shadow-sm,\n .sd-shadow-md,\n .sd-shadow-lg {\n @include box-shadow;\n }\n}\n\n/*******************************************************************************\n * cards\n */\n\n.bd-content .sd-card {\n border: 1px solid var(--pst-color-border);\n\n // TODO - --pst-color-panel-background is not defined... where is this coming from?\n .sd-card-header {\n background-color: var(--pst-color-panel-background);\n border-bottom: 1px solid var(--pst-color-border);\n }\n\n .sd-card-footer {\n background-color: var(--pst-color-panel-background);\n border-top: 1px solid var(--pst-color-border);\n }\n\n .sd-card-body {\n background-color: var(--pst-color-panel-background);\n }\n\n // Focus ring for link-cards\n .sd-stretched-link:focus-visible {\n // Don't put the focus ring on the element (it has zero height in Sphinx Design cards)\n outline: none;\n\n // Put the focus ring on the element's ::after pseudo-element\n &::after {\n outline: $focus-ring-outline;\n border-radius: 0.25rem; // copied from Sphinx Design CSS for .sd-card\n }\n }\n\n &.sd-card-hover:hover {\n border-color: var(--pst-color-link-hover);\n }\n}\n\n/*******************************************************************************\n * tabs\n */\n\n.bd-content .sd-tab-set {\n > input {\n // Active tab label\n &:checked + label {\n border-style: solid solid none;\n border-color: var(--pst-color-primary) var(--pst-color-primary)\n transparent; // top LR bottom\n\n border-width: 0.125rem 0.125rem 0;\n border-radius: 0.125rem 0.125rem 0 0;\n background-color: var(--pst-color-on-background);\n transform: translateY(0.125rem);\n color: var(--pst-color-primary);\n }\n\n &:focus-visible + label {\n border: 0.125rem solid var(--pst-color-accent);\n border-radius: 0.125rem;\n background-color: var(--pst-color-accent-bg);\n color: var(--pst-color-on-surface);\n }\n\n // Hover label\n &:not(:checked, :focus-visible) + label:hover {\n border-color: transparent;\n color: var(--pst-color-secondary);\n }\n }\n\n // Tab label\n > label {\n color: var(--pst-color-on-surface);\n border: 0.125rem solid transparent;\n border-radius: 0.125rem 0.125rem 0 0;\n background-color: var(--pst-color-surface);\n padding: 0 0.75em;\n margin-inline-end: 0.25rem;\n line-height: 1.95;\n\n html[data-theme=\"dark\"] & {\n background-color: var(--pst-color-on-background);\n }\n }\n\n // panel\n .sd-tab-content {\n border: 0.125rem solid var(--pst-color-primary);\n border-radius: 0.1875rem;\n box-shadow: unset;\n padding: 0.625rem;\n background-color: var(--pst-color-on-background);\n }\n}\n\n/*******************************************************************************\n* Dropdowns\n*/\n\ndetails.sd-dropdown {\n // Remove all borders to over-ride SD behavior, and we'll add our own later\n border: 0 !important;\n\n // Drop shadow should behave same as admonitions\n @include box-shadow;\n\n // Header is where the \"clickable\" box goes\n summary.sd-card-header {\n border: 0 !important;\n display: flex;\n align-items: center;\n position: relative; // So background color works\n font-weight: 600;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n\n // Set a variable that we can re-use for colors later\n // We must set this in the current and content sibling container\n // so that it is defined in both places\n --pst-sd-dropdown-color: var(--pst-gray-500);\n --pst-sd-dropdown-bg-color: var(--pst-color-surface);\n\n & + div.sd-summary-content {\n border: 0;\n\n --pst-sd-dropdown-color: var(--sd-color-card-border);\n }\n\n @each $name in $sd-semantic-color-names {\n &.sd-bg-#{$name} {\n --pst-sd-dropdown-color: var(--sd-color-#{$name});\n --pst-sd-dropdown-bg-color: var(--sd-color-#{$name}-bg);\n\n // Otherwise it won't be defined in the sibling element\n & + div.sd-summary-content {\n --pst-sd-dropdown-color: var(--sd-color-#{$name});\n --pst-sd-dropdown-bg-color: var(--sd-color-#{$name}-bg);\n }\n }\n &.sd-bg-text-#{$name} {\n // Use the WCAG conformant text color\n color: var(--sd-color-#{$name}-bg-text) !important;\n }\n }\n\n @include legacy-backdrop-placeholder;\n\n background-color: var(--pst-sd-dropdown-bg-color) !important;\n\n // Add a left border with the same structure as our admonitions\n border-left: 0.2rem solid var(--pst-sd-dropdown-color) !important;\n\n // stylelint-disable-next-line no-duplicate-selectors\n & + div.sd-summary-content {\n border-left: 0.2rem solid var(--pst-sd-dropdown-color) !important;\n border-bottom-left-radius: calc(0.25rem - 1px);\n background-color: var(--pst-color-on-background);\n }\n\n span.sd-summary-icon {\n display: inline-flex;\n align-items: center;\n color: var(--pst-sd-dropdown-color) !important;\n\n svg {\n opacity: 1;\n }\n }\n\n // Positioning of the caret\n .sd-summary-up,\n .sd-summary-down {\n top: 0.7rem;\n }\n\n // Focus ring\n &:focus-visible {\n outline: $focus-ring-outline;\n outline-offset: -$focus-ring-width;\n }\n }\n}\n\n/*******************************************************************************\n* Buttons (which in Sphinx Design are actually links that look like buttons)\n* ref: https://sphinx-design.readthedocs.io/en/pydata-theme/badges_buttons.html#buttons\n*/\nhtml {\n .sd-btn {\n min-width: 2.25rem;\n padding: 0.3125rem 0.75rem 0.4375rem; // 5px 12px 7px\n\n &:hover {\n @include link-style-hover; // override Sphinx Design\n\n text-decoration-thickness: 1px;\n }\n }\n\n @each $name in $sd-semantic-color-names {\n .sd-btn-#{$name},\n .sd-btn-outline-#{$name} {\n &:focus-visible {\n // Override Sphinx Design's use of -highlight colors. The -highlight\n // colors are 15% darker, so this would create the effect of darkening\n // the button when focused but we just want the button to have a focus\n // ring of the same (non-highlight) color.\n background-color: var(--sd-color-#{$name}) !important;\n border-color: var(--sd-color-#{$name}) !important;\n outline: var(--sd-color-#{$name}) solid $focus-ring-width;\n outline-offset: $focus-ring-width;\n }\n }\n }\n}\n","/**\n * Sphinx togglebutton\n */\n\n.bd-content {\n @mixin chevron-down {\n .toggle-chevron-right {\n transform: rotate(90deg); // point chevron down\n transition: none; // match non-animated behavior of other chevrons on site\n }\n }\n\n @mixin chevron-up {\n .toggle-chevron-right {\n transform: rotate(-90deg); // point chevron up\n transition: none; // match non-animated behavior of other chevrons on site\n }\n }\n\n // Admonition toggles\n .admonition {\n button.toggle-button {\n color: inherit;\n\n // When disclosure widget is closed\n &.toggle-button-hidden {\n @include chevron-down;\n }\n\n // When open\n @include chevron-up;\n }\n\n // Focus ring\n // ----------\n // Sphinx-togglebutton makes the entire admonition header clickable, but\n // only the button within the header is focusable. We want the entire\n // clickable area to be surrounded with a focus ring, so that's why we use\n // the :focus-within selector, rather than a :focus-visible selector on the\n // button.\n &:focus-within {\n overflow: visible;\n\n // The complicated focus ring styles here are a consequence of the markup\n // and border styles for this particular admonition class. (For the other\n // type of admonition on this site, the focus ring style is achieved with\n // simple `outline` and `outline-offset` rules on the admonition's\n // header.) The problem is that Sphinx-togglebutton puts the admonition's\n // left border on the outermost container (rather than separately setting\n // the left border on the container's children). This makes it complicated\n // to get the focus ring to simultaneously cover the left border in the\n // header and align perfectly on the right with the body.\n .admonition-title:focus-within::before {\n content: \"\";\n transform: translateX(\n -$admonition-left-border-width\n ); // align left edges of admonition and ring\n\n width: calc(100% + $admonition-left-border-width); // align right edges\n height: 100%;\n border: $focus-ring-outline;\n border-radius: $focus-ring-width;\n }\n\n // When expanded, sharpen the bottom left and right corners of the focus ring\n &:not(.toggle-hidden) .admonition-title:focus-within::before {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n }\n }\n\n // Details buttons\n details.toggle-details {\n // Over-ride border color to re-use our primary color\n summary {\n border-left: 3px solid var(--pst-color-primary);\n\n @include chevron-down;\n }\n\n // When expanded, sharpen the bottom left and right corners of the focus ring\n &[open] {\n @include chevron-up;\n\n :focus-visible {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n }\n }\n}\n","/**\n * Styles for various Sphinx execution libraries to display pre-executed notebooks.\n * For now, where these define output sections, we simply revert their background\n * to be a \"light theme\" background. This ensures that inputs/outputs behave similarly,\n * because the CSS is often controlled by each package.\n * In the future, we might add dark theme support for specific packages.\n */\n\n/*******************************************************************************\n * nbsphinx\n */\nhtml div.rendered_html,\n// NBsphinx ipywidgets output selector\nhtml .jp-RenderedHTMLCommon {\n // Add some margin around the element box for the focus ring. Otherwise the\n // focus ring gets clipped because the containing elements have `overflow:\n // hidden` applied to them (via the `.lm-Widget` selector)\n margin: $focus-ring-width;\n\n table {\n table-layout: auto;\n }\n}\n\n.bd-content .nboutput {\n .output_area {\n &.rendered_html,\n .jp-RenderedHTMLCommon {\n // pandas\n table.dataframe {\n @include table-colors;\n }\n }\n\n // Dark theme special-cases\n html[data-theme=\"dark\"] & {\n &.rendered_html:not(:has(table.dataframe)),\n // ipywidgets\n .widget-subarea {\n @include cell-output-background;\n }\n\n &.stderr {\n background-color: var(--pst-color-danger);\n }\n }\n }\n}\n\n// Add extra padding to the final item in an nbsphinx container\ndiv.nblast.container {\n margin-bottom: 1rem;\n}\n\n/*******************************************************************************\n * myst NB\n */\n\ndiv.cell_output .output {\n max-width: 100%;\n overflow-x: auto;\n}\n\n.bd-content div.cell_output {\n // pandas\n table.dataframe {\n @include table-colors;\n }\n\n html[data-theme=\"dark\"] & {\n img,\n .text_html:not(:has(table.dataframe)),\n // ipywidgets\n .widget-subarea {\n @include cell-output-background;\n }\n }\n}\n\n// Prevent tables from scrunching together\n.bd-content {\n div.cell_input {\n display: flex;\n flex-direction: column;\n justify-content: stretch;\n }\n\n div.cell_input,\n div.output {\n border-radius: $admonition-border-radius;\n }\n\n div.output {\n table {\n table-layout: auto;\n }\n }\n}\n","/**\n * style for the various mapping libs based on leaflet (folium, geemap, ipyleaflet)\n * mainly ensure the good display of the maps in both themes and avoid the customization\n * of the tiles\n */\n\n/**\n * avoid border override from pydata-sphinx-theme\n * minimal selctor to get the priority\n */\nhtml[data-theme=\"dark\"] .bd-content img.leaflet-tile.leaflet-tile-loaded {\n border-radius: 0;\n padding: 0;\n}\n","/**\n * /search.html page special-cases\n */\n\n.bd-search-container {\n /*******************************************\n * Search results\n */\n // Whitespace\n div#search-results {\n > h2 {\n font-size: var(--pst-font-size-icon);\n margin-top: 1rem;\n }\n\n p.search-summary {\n color: var(--pst-color-text-muted);\n }\n }\n\n ul.search {\n margin: 0;\n list-style: none;\n\n li {\n background-image: none;\n padding: 1rem 0;\n margin: 1rem 0;\n border-top: 1px solid var(--pst-color-text-muted);\n\n // First link is the page title, it should be a bit bigger\n > a {\n font-size: 1.2em;\n }\n\n div.context,\n p.context {\n color: var(--pst-color-text-base);\n margin: 0.5em 0 0;\n\n // Add a # before page section titles to make it clear they are sections\n a::before {\n content: \"#\";\n padding-right: 0.2em;\n color: var(--pst-color-text-muted);\n }\n }\n }\n }\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"styles/pydata-sphinx-theme.css","mappings":"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","sources":["webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/pydata-sphinx-theme.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/variables/_layout.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/variables/_fonts.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/variables/_icons.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/variables/_admonitions.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/variables/_versionmodified.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/base/_base.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/abstracts/_links.scss","webpack://pydata_sphinx_theme/./node_modules/bootstrap/scss/_variables.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/variables/_bootstrap.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/sections/_skip-link.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/variables/_color.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/sections/_container.scss","webpack://pydata_sphinx_theme/./node_modules/bootstrap/scss/mixins/_breakpoints.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/sections/_announcement.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/abstracts/_mixins.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/sections/_article.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/sections/_footer.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/sections/_footer-article.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/sections/_footer-content.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/sections/_header.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/sections/_header-article.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/sections/_sidebar-primary.scss","webpack://pydata_sphinx_theme/./node_modules/bootstrap/scss/mixins/_grid.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/sections/_sidebar-secondary.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/sections/_sidebar-toggle.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/components/_breadcrumbs.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/components/_icon-links.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/components/header/_header-logo.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/components/_navbar-links.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/components/_page-toc.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/components/_prev-next.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/components/_search.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/components/_searchbox.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/components/_switcher-theme.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/components/_switcher-version.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/components/_toc-inpage.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/components/_versionmodified.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/components/_indices.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/components/_readthedocs-switcher.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/content/_admonitions.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/abstracts/_color.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/content/_api.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/content/_code.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/content/_figures.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/content/_footnotes.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/content/_hacks.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/content/_lists.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/content/_quotes.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/content/_spans.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/content/_tables.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/content/_toctree.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/content/_math.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/extensions/_ablog.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/extensions/_bootstrap.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/extensions/_copybutton.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/extensions/_ethical-ads.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/extensions/_execution.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/extensions/_graphviz.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/extensions/_pydata.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/extensions/_sphinx_design.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/extensions/_togglebutton.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/extensions/_notebooks.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/extensions/_leaflet.scss","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/styles/pages/_search.scss"],"sourcesContent":["html{--pst-header-height: 4rem;--pst-header-article-height: calc(var(--pst-header-height) * 2 / 3);--pst-sidebar-secondary: 17rem}html{--pst-font-size-base: 1rem;--pst-font-size-h1: 2.5rem;--pst-font-size-h2: 2rem;--pst-font-size-h3: 1.75rem;--pst-font-size-h4: 1.5rem;--pst-font-size-h5: 1.25rem;--pst-font-size-h6: 1.1rem;--pst-font-size-milli: 0.9rem;--pst-sidebar-font-size: 0.9rem;--pst-sidebar-font-size-mobile: 1.1rem;--pst-sidebar-header-font-size: 1.2rem;--pst-sidebar-header-font-weight: 600;--pst-admonition-font-weight-heading: 600;--pst-font-weight-caption: 300;--pst-font-weight-heading: 400;--pst-font-family-base-system: -apple-system, \"BlinkMacSystemFont\", \"Segoe UI\", \"Helvetica Neue\", \"Arial\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";--pst-font-family-monospace-system: \"SFMono-Regular\", \"Menlo\", \"Consolas\", \"Monaco\", \"Liberation Mono\", \"Lucida Console\", monospace;--pst-font-family-base: var(--pst-font-family-base-system);--pst-font-family-heading: var(--pst-font-family-base-system);--pst-font-family-monospace: var(--pst-font-family-monospace-system)}html{--pst-font-size-icon: 1.5rem;--pst-icon-check-circle: \"\";--pst-icon-info-circle: \"\";--pst-icon-exclamation-triangle: \"\";--pst-icon-exclamation-circle: \"\";--pst-icon-times-circle: \"\";--pst-icon-lightbulb: \"\";--pst-icon-download: \"\";--pst-icon-angle-left: \"\";--pst-icon-angle-right: \"\";--pst-icon-external-link: \"\";--pst-icon-search-minus: \"\";--pst-icon-github: \"\";--pst-icon-gitlab: \"\";--pst-icon-share: \"\";--pst-icon-bell: \"\";--pst-icon-pencil: \"\";--pst-breadcrumb-divider: \"\"}html{--pst-icon-admonition-default: var(--pst-icon-bell);--pst-icon-admonition-note: var(--pst-icon-info-circle);--pst-icon-admonition-attention: var(--pst-icon-exclamation-circle);--pst-icon-admonition-caution: var(--pst-icon-exclamation-triangle);--pst-icon-admonition-warning: var(--pst-icon-exclamation-triangle);--pst-icon-admonition-danger: var(--pst-icon-exclamation-triangle);--pst-icon-admonition-error: var(--pst-icon-times-circle);--pst-icon-admonition-hint: var(--pst-icon-lightbulb);--pst-icon-admonition-tip: var(--pst-icon-lightbulb);--pst-icon-admonition-important: var(--pst-icon-exclamation-circle);--pst-icon-admonition-seealso: var(--pst-icon-share);--pst-icon-admonition-todo: var(--pst-icon-pencil)}html{--pst-icon-versionmodified-default: var(--pst-icon-exclamation-circle);--pst-icon-versionmodified-added: var(--pst-icon-exclamation-circle);--pst-icon-versionmodified-changed: var(--pst-icon-exclamation-circle);--pst-icon-versionmodified-deprecated: var(--pst-icon-exclamation-circle)}:root{--pst-teal-50: #f4fbfc;--pst-teal-100: #e9f6f8;--pst-teal-200: #d0ecf1;--pst-teal-300: #abdde6;--pst-teal-400: #3fb1c5;--pst-teal-500: #0a7d91;--pst-teal-600: #085d6c;--pst-teal-700: #064752;--pst-teal-800: #042c33;--pst-teal-900: #021b1f;--pst-violet-50: #f4eefb;--pst-violet-100: #e0c7ff;--pst-violet-200: #d5b4fd;--pst-violet-300: #b780ff;--pst-violet-400: #9c5ffd;--pst-violet-500: #8045e5;--pst-violet-600: #6432bd;--pst-violet-700: #4b258f;--pst-violet-800: #341a61;--pst-violet-900: #1e0e39;--pst-gray-50: #f9f9fa;--pst-gray-100: #f3f4f5;--pst-gray-200: #e5e7ea;--pst-gray-300: #d1d5da;--pst-gray-400: #9ca4af;--pst-gray-500: #677384;--pst-gray-600: #48566b;--pst-gray-700: #29313d;--pst-gray-800: #222832;--pst-gray-900: #14181e;--pst-pink-50: #fcf8fd;--pst-pink-100: #fcf0fa;--pst-pink-200: #f8dff5;--pst-pink-300: #f3c7ee;--pst-pink-400: #e47fd7;--pst-pink-500: #c132af;--pst-pink-600: #912583;--pst-pink-700: #6e1c64;--pst-pink-800: #46123f;--pst-pink-900: #2b0b27;--pst-foundation-white: #ffffff;--pst-foundation-black: #14181e}html:not([data-theme]){--pst-color-primary: #0a7d91;--pst-color-primary-bg: #d0ecf1;--pst-color-secondary: #8045e5;--pst-color-secondary-bg: #e0c7ff;--pst-color-accent: #c132af;--pst-color-accent-bg: #f8dff5;--pst-color-info: #276be9;--pst-color-info-bg: #dce7fc;--pst-color-warning: #f66a0a;--pst-color-warning-bg: #f8e3d0;--pst-color-success: #00843f;--pst-color-success-bg: #d6ece1;--pst-color-attention: var(--pst-color-warning);--pst-color-attention-bg: var(--pst-color-warning-bg);--pst-color-danger: #d72d47;--pst-color-danger-bg: #f9e1e4;--pst-color-text-base: #222832;--pst-color-text-muted: #48566b;--pst-color-heading-color: #fff;--pst-color-shadow: rgba(0, 0, 0, 0.1);--pst-color-border: #d1d5da;--pst-color-border-muted: rgba(23, 23, 26, 0.2);--pst-color-blockquote-notch: #677384;--pst-color-inline-code: #912583;--pst-color-inline-code-links: #085d6c;--pst-color-target: #f3cf95;--pst-color-table: #14181e;--pst-color-table-row-hover-bg: #b780ff;--pst-color-table-inner-border: #e5e7ea;--pst-color-background: #ffffff;--pst-color-on-background: #ffffff;--pst-color-surface: #f3f4f5;--pst-color-on-surface: #222832}html:not([data-theme]){--pst-color-link: var(--pst-color-primary);--pst-color-link-hover: var(--pst-color-secondary);--pst-color-table-outer-border: var(--pst-color-surface);--pst-color-table-heading-bg: var(--pst-color-surface);--pst-color-table-row-zebra-high-bg: var(--pst-color-on-background);--pst-color-table-row-zebra-low-bg: var(--pst-color-surface)}html:not([data-theme]) .only-dark,html:not([data-theme]) .only-dark~figcaption{display:none !important}html[data-theme=light]{--pst-color-primary: #0a7d91;--pst-color-primary-bg: #d0ecf1;--pst-color-secondary: #8045e5;--pst-color-secondary-bg: #e0c7ff;--pst-color-accent: #c132af;--pst-color-accent-bg: #f8dff5;--pst-color-info: #276be9;--pst-color-info-bg: #dce7fc;--pst-color-warning: #f66a0a;--pst-color-warning-bg: #f8e3d0;--pst-color-success: #00843f;--pst-color-success-bg: #d6ece1;--pst-color-attention: var(--pst-color-warning);--pst-color-attention-bg: var(--pst-color-warning-bg);--pst-color-danger: #d72d47;--pst-color-danger-bg: #f9e1e4;--pst-color-text-base: #222832;--pst-color-text-muted: #48566b;--pst-color-heading-color: #fff;--pst-color-shadow: rgba(0, 0, 0, 0.1);--pst-color-border: #d1d5da;--pst-color-border-muted: rgba(23, 23, 26, 0.2);--pst-color-blockquote-notch: #677384;--pst-color-inline-code: #912583;--pst-color-inline-code-links: #085d6c;--pst-color-target: #f3cf95;--pst-color-table: #14181e;--pst-color-table-row-hover-bg: #b780ff;--pst-color-table-inner-border: #e5e7ea;--pst-color-background: #ffffff;--pst-color-on-background: #ffffff;--pst-color-surface: #f3f4f5;--pst-color-on-surface: #222832;color-scheme:light}html[data-theme=light]{--pst-color-link: var(--pst-color-primary);--pst-color-link-hover: var(--pst-color-secondary);--pst-color-table-outer-border: var(--pst-color-surface);--pst-color-table-heading-bg: var(--pst-color-surface);--pst-color-table-row-zebra-high-bg: var(--pst-color-on-background);--pst-color-table-row-zebra-low-bg: var(--pst-color-surface)}html[data-theme=light] .only-dark,html[data-theme=light] .only-dark~figcaption{display:none !important}html[data-theme=dark]{--pst-color-primary: #3fb1c5;--pst-color-primary-bg: #042c33;--pst-color-secondary: #9c5ffd;--pst-color-secondary-bg: #341a61;--pst-color-accent: #e47fd7;--pst-color-accent-bg: #46123f;--pst-color-info: #79a3f2;--pst-color-info-bg: #06245d;--pst-color-warning: #ff9245;--pst-color-warning-bg: #652a02;--pst-color-success: #5fb488;--pst-color-success-bg: #002f17;--pst-color-attention: var(--pst-color-warning);--pst-color-attention-bg: var(--pst-color-warning-bg);--pst-color-danger: #e78894;--pst-color-danger-bg: #4e111b;--pst-color-text-base: #ced6dd;--pst-color-text-muted: #9ca4af;--pst-color-heading-color: #14181e;--pst-color-shadow: rgba(0, 0, 0, 0.2);--pst-color-border: #48566b;--pst-color-border-muted: #29313d;--pst-color-blockquote-notch: #9ca4af;--pst-color-inline-code: #f3c7ee;--pst-color-inline-code-links: #3fb1c5;--pst-color-target: #675c04;--pst-color-table: #ffffff;--pst-color-table-row-hover-bg: #6432bd;--pst-color-table-inner-border: #364150;--pst-color-background: #14181e;--pst-color-on-background: #222832;--pst-color-surface: #29313d;--pst-color-on-surface: #f3f4f5;color-scheme:dark}html[data-theme=dark]{--pst-color-link: var(--pst-color-primary);--pst-color-link-hover: var(--pst-color-secondary);--pst-color-table-outer-border: var(--pst-color-surface);--pst-color-table-heading-bg: var(--pst-color-surface);--pst-color-table-row-zebra-high-bg: var(--pst-color-on-background);--pst-color-table-row-zebra-low-bg: var(--pst-color-surface)}html[data-theme=dark] .only-light,html[data-theme=dark] .only-light~figcaption{display:none !important}html[data-theme=dark] img:not(.only-dark,.dark-light){filter:brightness(0.8) contrast(1.2)}html[data-theme=dark] .bd-content img:not(.only-dark,.dark-light){background-color:#fff;border-radius:.25rem}html[data-theme=dark] .MathJax_SVG *{fill:var(--pst-color-text-base)}.pst-color-primary{color:var(--pst-color-primary)}.pst-color-secondary{color:var(--pst-color-secondary)}.pst-color-accent{color:var(--pst-color-accent)}.pst-color-info{color:var(--pst-color-info)}.pst-color-warning{color:var(--pst-color-warning)}.pst-color-success{color:var(--pst-color-success)}.pst-color-attention{color:var(--pst-color-attention)}.pst-color-danger{color:var(--pst-color-danger)}.pst-color-text-base{color:var(--pst-color-text-base)}.pst-color-text-muted{color:var(--pst-color-text-muted)}.pst-color-heading-color{color:var(--pst-color-heading-color)}.pst-color-shadow{color:var(--pst-color-shadow)}.pst-color-border{color:var(--pst-color-border)}.pst-color-border-muted{color:var(--pst-color-border-muted)}.pst-color-blockquote-notch{color:var(--pst-color-blockquote-notch)}.pst-color-inline-code{color:var(--pst-color-inline-code)}.pst-color-inline-code-links{color:var(--pst-color-inline-code-links)}.pst-color-target{color:var(--pst-color-target)}.pst-color-table{color:var(--pst-color-table)}.pst-color-table-row-hover{color:var(--pst-color-table-row-hover)}.pst-color-table-inner-border{color:var(--pst-color-table-inner-border)}.pst-color-background{color:var(--pst-color-background)}.pst-color-on-background{color:var(--pst-color-on-background)}.pst-color-surface{color:var(--pst-color-surface)}.pst-color-on-surface{color:var(--pst-color-on-surface)}html{font-size:var(--pst-font-size-base);scroll-padding-top:calc(var(--pst-header-height) + 1rem)}body{background-color:var(--pst-color-background);font-family:var(--pst-font-family-base);font-weight:400;line-height:1.65;color:var(--pst-color-text-base);min-height:100vh;display:flex;flex-direction:column}body::-webkit-scrollbar-track{background-color:var(--pst-color-background)}p{margin-bottom:1.15rem;font-size:1em}p.rubric{border-bottom:1px solid var(--pst-color-border)}p.centered{text-align:center}a{word-wrap:break-word;color:var(--pst-color-link);text-decoration:underline;text-decoration-thickness:max(1px, .0625rem);text-underline-offset:.1578em}a:hover{color:var(--pst-color-link-hover);text-decoration-thickness:max(3px, .1875rem, .12em);text-decoration-skip-ink:none}a:active{color:var(--pst-color-link)}a:visited{color:var(--pst-color-link)}a:visited:hover{color:var(--pst-color-link-hover)}a.headerlink{color:var(--pst-color-secondary);opacity:.7;font-size:.8em;padding:0 4px;margin-left:.2em;text-decoration:none;transition:all .2s ease-out;user-select:none}a.headerlink:hover{opacity:1}a.github::before,a.gitlab::before{color:var(--pst-color-text-muted);font:var(--fa-font-brands);margin-right:.25rem}a.github::before{content:var(--pst-icon-github)}a.gitlab::before{content:var(--pst-icon-gitlab)}h6,h5,h4,h3,h2,h1{margin:2.75rem 0 1.05rem;font-family:var(--pst-font-family-heading);font-weight:var(--pst-font-weight-heading);line-height:1.15}h1{margin-top:0;font-size:var(--pst-font-size-h1);color:var(--pst-heading-color)}h2{font-size:var(--pst-font-size-h2);color:var(--pst-heading-color)}h3{font-size:var(--pst-font-size-h3);color:var(--pst-heading-color)}h4{font-size:var(--pst-font-size-h4);color:var(--pst-heading-color)}h5{font-size:var(--pst-font-size-h5);color:var(--pst-color-text-base)}h6{font-size:var(--pst-font-size-h6);color:var(--pst-color-text-base)}small,.text_small{font-size:var(--pst-font-size-milli)}hr{border:0;border-top:1px solid var(--pst-color-border)}pre,code,kbd,samp{font-family:var(--pst-font-family-monospace)}kbd{background-color:var(--pst-color-on-background);color:var(--pst-color-text-muted)}kbd:not(.compound){border:1px solid var(--pst-color-border);margin:0 .1rem;padding:.1rem .4rem;box-shadow:1px 1px 1px var(--pst-color-shadow)}code{color:var(--pst-color-inline-code)}pre{margin:1.5em 0;padding:1rem;background-color:var(--pst-color-surface);color:var(--pst-color-text-base);line-height:1.2em;border:1px solid var(--pst-color-border);border-radius:.25rem}pre .linenos{opacity:.8;padding-right:10px}#pst-back-to-top{z-index:1080;position:fixed;display:none;top:90vh;left:50vw;transform:translate(-50%);color:var(--pst-color-secondary-text);background-color:var(--pst-color-secondary);border:none}#pst-back-to-top .fa-arrow-up{margin-inline-end:.5em}#pst-back-to-top:hover{text-decoration:underline;text-decoration-thickness:max(1px, .0625rem);text-underline-offset:.1578em;text-decoration-thickness:max(3px, .1875rem, .12em);text-decoration-skip-ink:none;color:var(--pst-color-link-hover);text-decoration-thickness:1px;background-color:var(--pst-violet-600);color:var(--pst-color-secondary-text)}#pst-back-to-top:focus-visible{box-shadow:none;outline:var(--pst-color-accent) solid .1875rem;outline-color:var(--pst-color-secondary);outline-offset:.1875rem}:focus-visible{outline:var(--pst-color-accent) solid .1875rem;box-shadow:none}.skip-link{position:fixed;top:0;left:0;right:0;text-align:center;background-color:var(--pst-color-warning);padding:.5rem;z-index:1055;border-bottom:1px solid var(--pst-color-border);transform:translateY(-100%);transition:transform 150ms ease-in-out}.skip-link:focus-within{transform:translateY(0%)}.skip-link a{color:var(--pst-color-warning-text) !important}.skip-link a:focus-visible{outline-color:#14181e}.bd-container{flex-grow:1;display:flex;justify-content:center}.bd-container .bd-container__inner{display:flex}.bd-page-width{width:100%}@media(min-width: 960px){.bd-page-width{max-width:88rem}}.pst-async-banner-revealer{height:0;overflow:hidden;transition:height 300ms ease-in-out}@media(prefers-reduced-motion){.pst-async-banner-revealer{transition:none}}#bd-header-version-warning,.bd-header-announcement{min-height:3rem;width:100%;display:flex;position:relative;align-items:center;justify-content:center;text-align:center;padding:.5rem 12.5%}@media(max-width: 959.98px){#bd-header-version-warning,.bd-header-announcement{padding:.5rem 2%}}#bd-header-version-warning p,.bd-header-announcement p{font-weight:bold;margin:0}#bd-header-version-warning a,.bd-header-announcement a{color:var(--pst-color-inline-code-links)}#bd-header-version-warning .pst-button-link-to-stable-version,.bd-header-announcement .pst-button-link-to-stable-version{box-shadow:0 .2rem .5rem var(--pst-color-shadow),0 0 .0625rem var(--pst-color-shadow) !important;background-color:var(--pst-color-danger);border-color:var(--pst-color-danger);color:var(--pst-color-danger-text);border-radius:.25rem}#bd-header-version-warning .pst-button-link-to-stable-version:hover,.bd-header-announcement .pst-button-link-to-stable-version:hover{background-color:var(--pst-color-danger-highlight);border-color:var(--pst-color-danger-highlight);color:var(--pst-color-danger-text)}#bd-header-version-warning .pst-button-link-to-stable-version:focus-visible,.bd-header-announcement .pst-button-link-to-stable-version:focus-visible{outline:.1875rem solid var(--pst-color-danger);outline-offset:.1875rem}.bd-header-announcement{background-color:var(--pst-color-secondary-bg)}#bd-header-version-warning{background-color:var(--pst-color-danger-bg)}.bd-main{flex-grow:1;flex-direction:column;display:flex;min-width:0}.bd-main .bd-content{display:flex;justify-content:center;height:100%}.bd-main .bd-content .bd-article-container{justify-content:start;display:flex;flex-direction:column;width:100%;max-width:60em;overflow-x:auto;padding:1rem}@media(min-width: 1200px){.bd-main .bd-content .bd-article-container .bd-article{padding-top:1.5rem;padding-left:2rem}}.bd-footer{width:100%;border-top:1px solid var(--pst-color-border)}.bd-footer .bd-footer__inner{display:flex;flex-grow:1;padding:1rem;margin:auto}.bd-footer .footer-items__start,.bd-footer .footer-items__center,.bd-footer .footer-items__end{display:flex;flex-direction:column;gap:.5rem;justify-content:center;flex-grow:1}.bd-footer .footer-items__center{text-align:center}.bd-footer .footer-items__end{text-align:end}.bd-footer .footer-item p{margin-bottom:0}.bd-footer-article{margin-top:auto}.bd-footer-article .footer-article-items{display:flex;flex-direction:column}.bd-footer-content .footer-content-items{display:flex;flex-direction:column;margin-top:auto}.bd-header{position:sticky;top:0;z-index:1030;background-color:var(--pst-color-on-background) !important;box-shadow:0 .125rem .25rem 0 var(--pst-color-shadow);width:100%;padding:0;max-width:100vw;justify-content:center}.bd-header .bd-header__inner{display:flex;align-items:center;height:fit-content;padding-left:1rem;padding-right:1rem}.bd-header :focus-visible{border-radius:.125rem}.bd-header .navbar-item{height:var(--pst-header-height);max-height:var(--pst-header-height);display:flex;align-items:center}.bd-header .navbar-header-items{display:none;flex-shrink:1}@media(min-width: 960px){.bd-header .navbar-header-items{display:inherit;flex-grow:1;padding:0 0 0 .5rem}}.bd-header .navbar-header-items__end,.bd-header .navbar-header-items__center,.bd-header .navbar-header-items__start{display:flex;align-items:center;flex-flow:wrap;row-gap:0}.bd-header .navbar-header-items__end,.bd-header .navbar-header-items__center{column-gap:1rem}.bd-header .navbar-header-items__start{flex-shrink:0;margin-right:auto;gap:.5rem}.bd-header .navbar-header-items__end{justify-content:end}.bd-header ul.navbar-nav{display:flex}@media(min-width: 960px){.bd-header ul.navbar-nav{align-items:baseline}}.bd-header ul.navbar-nav>li.nav-item{margin-inline:2px}.bd-header ul.navbar-nav>li.nav-item>.nav-link{color:var(--pst-color-text-muted);position:relative;padding-inline:6px}.bd-header ul.navbar-nav>li.nav-item>.nav-link::before{content:\"\";display:block;position:absolute;inset:0;background-color:rgba(0,0,0,0);bottom:calc(-1*max(3px, .1875rem, .12em));margin:max(3px, .1875rem, .12em) 0}.bd-header ul.navbar-nav>li.nav-item>.nav-link:hover{color:var(--pst-color-secondary);text-decoration:none}.bd-header ul.navbar-nav>li.nav-item>.nav-link:hover::before{border-bottom:max(3px, .1875rem, .12em) solid var(--pst-color-secondary)}.bd-header ul.navbar-nav>li.nav-item>.nav-link:focus-visible{box-shadow:none;outline:3px solid var(--pst-color-accent);outline-offset:3px}.bd-header ul.navbar-nav>li.nav-item.current>.nav-link{color:var(--pst-color-primary)}.bd-header ul.navbar-nav>li.nav-item.current>.nav-link::before{border-bottom:3px solid var(--pst-color-primary)}.bd-header ul.navbar-nav>li.nav-item.dropdown{margin-inline:4px}.bd-header ul.navbar-nav>li.nav-item.dropdown button{padding-inline:8px}.bd-header ul.navbar-nav>li.nav-item.dropdown>.dropdown-toggle{border-radius:.125rem;color:var(--pst-color-text-muted)}.bd-header ul.navbar-nav>li.nav-item.dropdown>.dropdown-toggle:focus-visible{box-shadow:0 0 0 .1875rem var(--pst-color-accent)}.bd-header ul.navbar-nav>li.nav-item.dropdown>.dropdown-toggle:hover{text-decoration:none;box-shadow:0 0 0 .1875rem var(--pst-color-link-hover);color:var(--pst-color-text-base)}.bd-header ul.navbar-nav li a.nav-link.dropdown-item{color:var(--pst-color-text-muted);text-decoration:none}.bd-header ul.navbar-nav li a.nav-link.dropdown-item:hover{color:var(--pst-color-link-hover);text-decoration:underline;text-decoration-thickness:max(1px, .0625rem);text-underline-offset:.1578em;text-decoration-thickness:max(3px, .1875rem, .12em);text-decoration-skip-ink:none}.bd-header ul.navbar-nav .dropdown button{display:unset;border:none}.bd-header ul.navbar-nav .dropdown button:hover{text-decoration:underline;text-decoration-thickness:max(1px, .0625rem);text-underline-offset:.1578em;text-decoration-thickness:max(3px, .1875rem, .12em);text-decoration-skip-ink:none;color:var(--pst-color-link-hover)}.bd-header ul.navbar-nav .dropdown .dropdown-menu{z-index:1070;border:1px solid var(--pst-color-border);box-shadow:0 0 .3rem .1rem var(--pst-color-shadow);background-color:var(--pst-color-on-background);padding:.5rem 0;margin:.5rem 0;min-width:20rem}.bd-header ul.navbar-nav .dropdown .dropdown-menu .dropdown-item{padding:.25rem 1.5rem}.bd-header ul.navbar-nav .dropdown .dropdown-menu .dropdown-item:focus:not(:hover,:active){background-color:inherit}.bd-header ul.navbar-nav .dropdown .dropdown-menu .dropdown-item:focus-visible{z-index:10}.bd-header ul.navbar-nav .dropdown .dropdown-menu:not(.show){display:none}.bd-header button.sidebar-toggle{font-size:var(--pst-font-size-icon);color:var(--pst-color-muted);margin-bottom:0;background-color:inherit;padding:.5rem}.bd-header button.primary-toggle{margin-right:1rem}@media(min-width: 960px){.bd-header button.primary-toggle{display:none}}.bd-header button.secondary-toggle{margin-left:1rem}@media(min-width: 1200px){.bd-header button.secondary-toggle{display:none}}@media(min-width: 960px){.navbar-center-items .navbar-item{display:inline-block}}.nav-link{transition:none}.nav-link:hover{text-decoration:underline;text-decoration-thickness:max(1px, .0625rem);text-underline-offset:.1578em;text-decoration-thickness:max(3px, .1875rem, .12em);text-decoration-skip-ink:none;color:var(--pst-color-link-hover)}.nav-link.nav-external::after{font:var(--fa-font-solid);content:var(--pst-icon-external-link);font-size:.75em;margin-left:.3em}.bd-navbar-elements li.nav-item i{font-size:.7rem;padding-left:2px;vertical-align:middle}.navbar-persistent--mobile{margin-left:auto}@media(min-width: 960px){.navbar-persistent--mobile{display:none}}.navbar-persistent--container{display:none}@media(min-width: 960px){.navbar-persistent--container{display:flex}}.header-article__inner{display:flex;padding:0 .5rem}.header-article__inner .header-article-item{min-height:var(--pst-header-article-height);height:var(--pst-header-article-height)}.header-article__inner .header-article-items__start,.header-article__inner .header-article-items__end{display:flex;align-items:start;gap:.5rem}.header-article__inner .header-article-items__end{margin-left:auto}.bd-sidebar-primary{display:flex;flex-direction:column;gap:1rem;max-height:calc(100vh - var(--pst-header-height));position:sticky;top:var(--pst-header-height);flex:0 0 auto;width:25%;padding:2rem 1rem 1rem 1rem;border-right:1px solid var(--pst-color-border);background-color:var(--pst-color-background);overflow-y:auto;font-size:var(--pst-sidebar-font-size-mobile)}@media(min-width: 960px){.bd-sidebar-primary{font-size:var(--pst-sidebar-font-size)}}.bd-sidebar-primary :focus-visible{border-radius:.125rem}.bd-sidebar-primary .nav-link{font-size:var(--pst-sidebar-font-size-mobile)}.bd-sidebar-primary.no-sidebar{border-right:0}@media(min-width: 960px){.bd-sidebar-primary.hide-on-wide{display:none}}.bd-sidebar-primary h1,.bd-sidebar-primary h2,.bd-sidebar-primary h3,.bd-sidebar-primary h4{color:var(--pst-color-text-base)}.bd-sidebar-primary .sidebar-primary-items__start .sidebar-primary-item,.bd-sidebar-primary .sidebar-primary-items__end .sidebar-primary-item{padding:.5rem 0}.bd-sidebar-primary .sidebar-header-items{display:flex;flex-direction:column}.bd-sidebar-primary .sidebar-header-items .sidebar-header-items__title{font-weight:var(--pst-sidebar-header-font-weight);font-size:var(--pst-sidebar-header-font-size);color:var(--pst-color-text-base);margin-bottom:.5rem}.bd-sidebar-primary .sidebar-header-items .nav-item.dropdown button{display:none}.bd-sidebar-primary .sidebar-header-items .nav-item.dropdown .dropdown-menu{display:flex;flex-direction:column;padding:0;margin:0;border:none;background-color:inherit;font-size:inherit}.bd-sidebar-primary .sidebar-header-items .nav-item.dropdown .dropdown-menu .dropdown-item:hover,.bd-sidebar-primary .sidebar-header-items .nav-item.dropdown .dropdown-menu .dropdown-item:focus{background-color:unset}.bd-sidebar-primary .sidebar-header-items .bd-navbar-elements .nav-link:focus-visible{box-shadow:none;outline:var(--pst-color-accent) solid .1875rem;outline-offset:.1875rem}.bd-sidebar-primary .sidebar-header-items .sidebar-header-items__center{display:flex;flex-direction:column}.bd-sidebar-primary .sidebar-header-items .sidebar-header-items__end{display:flex;align-items:center;gap:1rem}@media(min-width: 960px){.bd-sidebar-primary .sidebar-header-items{display:none}}.bd-sidebar-primary .sidebar-primary-items__start{border-top:1px solid var(--pst-color-border)}@media(min-width: 960px){.bd-sidebar-primary .sidebar-primary-items__start{border-top:none}}.bd-sidebar-primary .sidebar-primary-items__end{margin-top:auto;margin-bottom:1em}.bd-sidebar-primary .list-caption{list-style:none;padding-left:0}.bd-sidebar-primary .list-caption li.toctree-l0.has-children>details>summary{position:relative;height:auto;width:auto;display:flex;justify-content:space-between;align-items:baseline}.bd-sidebar-primary .list-caption li.toctree-l0.has-children>details>summary .toctree-toggle{flex:0 0 auto}.bd-sidebar-primary .list-caption li.toctree-l0.has-children>details>summary .toctree-toggle .fa-chevron-down{font-size:1rem}.bd-sidebar-primary li.has-children{position:relative}.bd-sidebar-primary li.has-children>.reference,.bd-sidebar-primary li.has-children .caption{margin-right:calc(30px + .1875rem);padding-top:.25rem}.bd-sidebar-primary li.has-children>details>summary{list-style:none}.bd-sidebar-primary li.has-children>details>summary::-webkit-details-marker{display:none}.bd-sidebar-primary li.has-children>details>summary:focus-visible{outline:none}.bd-sidebar-primary li.has-children>details>summary:focus-visible>.toctree-toggle{outline:var(--pst-color-accent) solid .1875rem;outline-offset:-0.1875rem}.bd-sidebar-primary li.has-children>details>summary .toctree-toggle{cursor:pointer;position:absolute;top:0;right:0;width:30px;height:30px;display:inline-flex;justify-content:center;align-items:center}.bd-sidebar-primary li.has-children>details>summary .toctree-toggle .fa-chevron-down{font-size:.75rem}.bd-sidebar-primary li.has-children>details[open]>summary .fa-chevron-down{transform:rotate(180deg)}nav.bd-links{margin-right:-1rem}@media(min-width: 960px){nav.bd-links{display:block}}nav.bd-links ul{display:block;list-style:none}nav.bd-links ul ul{padding:0 0 0 1rem}nav.bd-links li>a{display:block;padding:.25rem .65rem;color:var(--pst-color-text-muted);text-decoration:none;box-shadow:none;margin-right:.1875rem}nav.bd-links li>a:hover{text-decoration:underline;background-color:rgba(0,0,0,0);color:var(--pst-color-link-hover);text-decoration-thickness:max(3px, .1875rem, .12em);text-decoration-skip-ink:none}nav.bd-links li>a:active{color:var(--pst-color-link-hover)}nav.bd-links li>a:focus-visible{box-shadow:0 0 0 .1875rem var(--pst-color-accent);outline:none;z-index:10}nav.bd-links li>a.reference.external::after{font:var(--fa-font-solid);content:var(--pst-icon-external-link);font-size:.75em;margin-left:.3em}nav.bd-links .current>a{font-weight:600;color:var(--pst-color-primary);box-shadow:inset max(3px, .1875rem, .12em) 0 0 var(--pst-color-primary);background-color:rgba(0,0,0,0)}nav.bd-links .current>a:focus-visible{box-shadow:inset max(3px, .1875rem, .12em) 0 0 var(--pst-color-primary),0 0 0 .1875rem var(--pst-color-accent);outline:none}nav.bd-links p.bd-links__title{font-size:var(--pst-sidebar-header-font-size);font-weight:var(--pst-sidebar-header-font-weight);margin-bottom:.5rem}nav.bd-links p.caption{font-weight:var(--pst-sidebar-header-font-weight);position:relative;margin-top:1.25rem;margin-bottom:.5rem;color:var(--pst-color-text-base);font-size:var(--pst-sidebar-font-size-mobile)}nav.bd-links p.caption:first-child{margin-top:0}@media(min-width: 960px){nav.bd-links p.caption{font-size:var(--pst-sidebar-font-size)}}.bd-sidebar-secondary{display:flex;order:2;flex-shrink:0;flex-direction:column;position:sticky;top:var(--pst-header-height);max-height:calc(100vh - var(--pst-header-height));padding:2rem 1rem 1rem;width:var(--pst-sidebar-secondary);font-size:var(--pst-sidebar-font-size-mobile);background-color:var(--pst-color-background);overflow-y:auto}@media(min-width: 1200px){.bd-sidebar-secondary{font-size:var(--pst-sidebar-font-size)}}.sidebar-secondary-item{padding:.5rem}@media(min-width: 1200px){.sidebar-secondary-item{border-left:1px solid var(--pst-color-border);padding-left:1rem}}.sidebar-secondary-item i{padding-right:.5rem}input.sidebar-toggle{display:none}label.overlay{background-color:#000;opacity:.5;height:0;width:0;position:fixed;top:0;left:0;transition:opacity 200ms ease-out;z-index:1050}input#pst-primary-sidebar-checkbox:checked+label.overlay.overlay-primary,input#pst-secondary-sidebar-checkbox:checked+label.overlay.overlay-secondary{height:100vh;width:100vw}input#pst-primary-sidebar-checkbox:checked~.bd-container .bd-sidebar-primary{visibility:visible;margin-left:0}input#pst-secondary-sidebar-checkbox:checked~.bd-container .bd-sidebar-secondary{visibility:visible;margin-right:0}@media(min-width: 960px){.sidebar-toggle.primary-toggle{display:none}input#pst-primary-sidebar-checkbox:checked+label.overlay.overlay-primary{height:0;width:0}.bd-sidebar-primary{margin-left:0;visibility:visible}}@media(max-width: 959.98px){.bd-sidebar-primary{position:fixed;top:0;z-index:1055;height:100vh;max-height:100vh;width:75%;flex-grow:.75;max-width:350px;transition:visibility 200ms ease-out,margin 200ms ease-out;visibility:hidden;margin-left:-75%;left:0}}@media(max-width: 1199.98px){.bd-sidebar-secondary{position:fixed;top:0;z-index:1055;height:100vh;max-height:100vh;width:75%;flex-grow:.75;max-width:350px;transition:visibility 200ms ease-out,margin 200ms ease-out;visibility:hidden;margin-right:-75%;right:0}}ul.bd-breadcrumbs{list-style:none;padding-left:0;display:flex;flex-wrap:wrap;font-size:.8rem}ul.bd-breadcrumbs li.breadcrumb-item{display:flex;align-items:center;font-weight:bold}ul.bd-breadcrumbs li.breadcrumb-item a{color:var(--pst-color-text-muted);text-decoration:none}ul.bd-breadcrumbs li.breadcrumb-item a:hover{color:var(--pst-color-link-hover);text-decoration:underline;text-decoration-thickness:max(1px, .0625rem);text-underline-offset:.1578em;text-decoration-thickness:max(3px, .1875rem, .12em);text-decoration-skip-ink:none}ul.bd-breadcrumbs li.breadcrumb-item:not(.breadcrumb-home)::before{font:var(--fa-font-solid);font-size:.8rem;content:var(--pst-breadcrumb-divider);color:var(--pst-color-text-muted);padding:0 .5rem}html .pst-navbar-icon{box-sizing:border-box;min-width:24px;min-height:24px;color:var(--pst-color-text-muted);position:relative;display:flex;align-items:center;justify-content:center;border-radius:0;border:none;font-size:1rem;line-height:1.65;padding:.25rem 0;height:2.15rem}html .pst-navbar-icon::before{content:\"\";display:block;position:absolute;inset:0;background-color:rgba(0,0,0,0);bottom:calc(-1*max(3px, .1875rem, .12em));margin:max(3px, .1875rem, .12em) 0}html .pst-navbar-icon:hover{color:var(--pst-color-secondary);text-decoration:none}html .pst-navbar-icon:hover::before{border-bottom:max(3px, .1875rem, .12em) solid var(--pst-color-secondary)}html .pst-navbar-icon:focus-visible{box-shadow:none;outline:3px solid var(--pst-color-accent);outline-offset:3px}ul.navbar-icon-links{display:flex;flex-flow:row wrap;column-gap:1rem;justify-content:space-evenly;align-items:center;padding-left:0;margin-bottom:0;list-style:none}ul.navbar-icon-links i.fa-brands,ul.navbar-icon-links i.fa-regular,ul.navbar-icon-links i.fa-solid{vertical-align:middle;font-style:normal;font-size:var(--pst-font-size-icon)}ul.navbar-icon-links i.fa-square-twitter::before{color:#55acee}ul.navbar-icon-links i.fa-square-gitlab::before{color:#548}ul.navbar-icon-links i.fa-bitbucket::before{color:#0052cc}ul.navbar-icon-links img.icon-link-image{height:1.5em;border-radius:.2rem}ul.navbar-icon-links .fa-pydata{stroke:var(--pst-color-background);stroke-linejoin:round;stroke-width:.35}.navbar-brand{position:relative;height:var(--pst-header-height);max-height:var(--pst-header-height);padding:.5rem 0;width:auto;margin:0;display:flex;flex-shrink:0;align-items:center;gap:.5rem}.navbar-brand p{color:var(--pst-color-text-base);margin-bottom:0}.navbar-brand img{max-width:100%;height:100%;width:auto}.navbar-brand:hover,.navbar-brand:visited:hover{text-decoration:underline;text-decoration-thickness:max(1px, .0625rem);text-underline-offset:.1578em;text-decoration-thickness:max(3px, .1875rem, .12em);text-decoration-skip-ink:none;color:var(--pst-color-link-hover);color:var(--pst-color-text-base)}ul.navbar-nav ul{padding:0 0 0 1rem}ul.navbar-nav li{display:flex;flex-direction:column}ul.navbar-nav li a{display:flex;align-items:center;height:100%;padding-top:.25rem;padding-bottom:.25rem;color:var(--pst-color-text-muted);text-decoration:none}ul.navbar-nav li a:hover{color:var(--pst-color-link-hover);text-decoration:underline;text-decoration-thickness:max(1px, .0625rem);text-underline-offset:.1578em;text-decoration-thickness:max(3px, .1875rem, .12em);text-decoration-skip-ink:none}.page-toc .section-nav{padding-left:0;border-bottom:none}.page-toc .section-nav ul{padding-left:1rem}.page-toc .nav-link{font-size:var(--pst-sidebar-font-size-mobile)}@media(min-width: 1200px){.page-toc .nav-link{font-size:var(--pst-sidebar-font-size)}}.page-toc .onthispage{color:var(--pst-color-text-base);font-weight:var(--pst-sidebar-header-font-weight);margin-bottom:.5rem}.prev-next-area{width:100%}.prev-next-area p{color:var(--pst-color-text-muted);margin:0 .3em;line-height:1.3em}.prev-next-area i{font-size:1.2em}.prev-next-area a{display:flex;align-items:center;border:none;padding:10px;max-width:45%;overflow-x:hidden;color:var(--pst-color-text-muted);text-decoration:none}.prev-next-area a p.prev-next-title{word-wrap:break-word;color:var(--pst-color-link);text-decoration:underline;text-decoration-thickness:max(1px, .0625rem);text-underline-offset:.1578em;font-weight:var(--pst-admonition-font-weight-heading);font-size:1.1em}.prev-next-area a p.prev-next-title:hover{color:var(--pst-color-link-hover);text-decoration-thickness:max(3px, .1875rem, .12em);text-decoration-skip-ink:none}.prev-next-area a p.prev-next-title:active{color:var(--pst-color-link)}.prev-next-area a p.prev-next-title:visited{color:var(--pst-color-link)}.prev-next-area a p.prev-next-title:visited:hover{color:var(--pst-color-link-hover)}.prev-next-area a:hover p.prev-next-title,.prev-next-area a:visited:hover p.prev-next-title{text-decoration:underline;text-decoration-thickness:max(1px, .0625rem);text-underline-offset:.1578em;text-decoration-thickness:max(3px, .1875rem, .12em);text-decoration-skip-ink:none;color:var(--pst-color-link-hover)}.prev-next-area a .prev-next-info{flex-direction:column;margin:0 .5em}.prev-next-area a .prev-next-info .prev-next-subtitle{text-transform:capitalize}.prev-next-area a.left-prev{float:left}.prev-next-area a.right-next{float:right}.prev-next-area a.right-next div.prev-next-info{text-align:right}.bd-search{position:relative;padding-left:.5rem;gap:.5rem;background-color:var(--pst-color-background);border-radius:.25rem;border:1px solid var(--pst-color-border);color:var(--pst-color-text-base)}.bd-search:active{background-color:var(--pst-color-background);color:var(--pst-color-text-muted)}.bd-search .icon{position:absolute;color:var(--pst-color-border);left:25px}.bd-search .fa-solid.fa-magnifying-glass{position:absolute;left:calc((2.5rem - .7em)/2);color:var(--pst-color-text-muted)}.bd-search input::placeholder{color:var(--pst-color-text-muted)}.bd-search input::-webkit-search-cancel-button,.bd-search input::-webkit-search-decoration{appearance:none}.bd-search .search-button__kbd-shortcut{display:flex;position:absolute;right:.5rem;color:var(--pst-color-border)}.form-control{background-color:var(--pst-color-background);color:var(--pst-color-text-base)}.form-control:focus,.form-control:focus-visible{border:none;background-color:var(--pst-color-background);color:var(--pst-color-text-muted)}.search-button i{font-size:1.3rem}.search-button__search-container,.search-button__overlay{display:none}.search-button__wrapper.show .search-button__search-container{display:flex;position:fixed;z-index:1055;top:30%;left:50%;transform:translate(-50%, -50%);right:1rem;margin-top:.5rem;width:90%;max-width:800px}.search-button__wrapper.show .search-button__overlay{display:flex;position:fixed;z-index:1050;background-color:#000;opacity:.5;width:100%;height:100%;top:0;left:0}.search-button__wrapper.show form.bd-search{flex-grow:1;padding-top:0;padding-bottom:0}.search-button__wrapper.show svg,.search-button__wrapper.show input{font-size:var(--pst-font-size-icon)}.search-button-field{display:inline-flex;align-items:center;border:var(--pst-color-border) solid 1px;border-radius:1.5em;color:var(--pst-color-text-muted);padding:.5em;background-color:var(--pst-color-surface)}.search-button-field:hover{box-shadow:0 0 0 .1875rem var(--pst-color-link-hover)}.search-button-field:focus-visible{border-radius:1.5em}.search-button-field .search-button__default-text{font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);margin-right:.5em;margin-left:.5em}.search-button-field .kbd-shortcut__modifier{font-size:.75em}.search-button-field>*{align-items:center}.search-button-field>:not(svg){display:none}@media(min-width: 960px){.search-button-field>:not(svg){display:flex}}div#searchbox p.highlight-link{margin:1rem 0;width:fit-content;box-shadow:0 .2rem .5rem var(--pst-color-shadow),0 0 .0625rem var(--pst-color-shadow) !important}@media(min-width: 1200px){div#searchbox p.highlight-link{margin-left:2rem}}div#searchbox p.highlight-link a{border-radius:.25rem;font-size:1.25rem;padding:.75rem;background-color:var(--pst-color-primary);color:var(--pst-color-primary-text);text-decoration:none;transition:box-shadow .25s ease-out}div#searchbox p.highlight-link a:hover{box-shadow:inset 0 0 50px 50px rgba(0,0,0,.25)}div#searchbox p.highlight-link a::before{content:var(--pst-icon-search-minus);color:unset;font:var(--fa-font-solid);margin-right:.5rem}.theme-switch-button .theme-switch{display:none}.theme-switch-button .theme-switch:active{text-decoration:none;color:var(--pst-color-link-hover)}.theme-switch-button .theme-switch .fa-lg{aspect-ratio:1/1}html[data-mode=auto] .theme-switch-button .theme-switch[data-mode=auto]{display:inline}html[data-mode=light] .theme-switch-button .theme-switch[data-mode=light]{display:inline}html[data-mode=dark] .theme-switch-button .theme-switch[data-mode=dark]{display:inline}button.btn.version-switcher__button{border-color:var(--pst-color-border);color:var(--pst-color-text-base);margin-bottom:1em}@media(min-width: 960px){button.btn.version-switcher__button{margin-bottom:unset}}button.btn.version-switcher__button:hover{box-shadow:0 0 0 .1875rem var(--pst-color-secondary);border-color:rgba(0,0,0,0)}button.btn.version-switcher__button:active{color:var(--pst-color-text-base);border-color:var(--pst-color-border)}button.btn.version-switcher__button:focus-visible{border-color:rgba(0,0,0,0)}.version-switcher__menu{border-color:var(--pst-color-border);border-radius:var(--bs-dropdown-border-radius)}.version-switcher__menu a.list-group-item{background-color:var(--pst-color-on-background);color:var(--pst-color-text-base);padding:.75rem 1.25rem}.version-switcher__menu a.list-group-item:not(:last-child){border-bottom:1px solid var(--pst-color-border)}.version-switcher__menu a.list-group-item:hover{text-decoration:underline;text-decoration-thickness:max(1px, .0625rem);text-underline-offset:.1578em;text-decoration-thickness:max(3px, .1875rem, .12em);text-decoration-skip-ink:none;color:var(--pst-color-link-hover);background-color:var(--pst-color-surface)}.version-switcher__menu a.list-group-item.active{font-weight:600;color:var(--pst-color-primary);box-shadow:inset max(3px, .1875rem, .12em) 0 0 var(--pst-color-primary);position:relative;z-index:1}.version-switcher__menu a.list-group-item.active:focus-visible{box-shadow:inset max(3px, .1875rem, .12em) 0 0 var(--pst-color-primary),0 0 0 .1875rem var(--pst-color-accent);outline:none}.version-switcher__menu a.list-group-item.active span::before{content:\"\";width:100%;height:100%;position:absolute;z-index:-1;left:0;top:0}.version-switcher__menu a.list-group-item:focus-visible{z-index:10}button.version-switcher__button,.version-switcher__menu{font-size:1.1em;z-index:1055;box-sizing:border-box;min-width:24px;min-height:24px}@media(min-width: 960px){button.version-switcher__button,.version-switcher__menu{font-size:unset}}nav.page-toc{margin-bottom:1rem}.bd-toc .nav .nav{display:none}.bd-toc .nav .nav.visible{display:block}.bd-toc .nav>.active>ul{display:block}.toc-entry{display:block}.toc-entry a>code{color:var(--pst-color-text-muted)}.toc-entry a.nav-link{display:block;padding:.125rem 0;padding-left:1rem;margin-left:-1rem;color:var(--pst-color-text-muted);text-decoration:none}.toc-entry a.nav-link:hover{text-decoration:underline;background-color:rgba(0,0,0,0);color:var(--pst-color-link-hover);text-decoration-thickness:max(3px, .1875rem, .12em);text-decoration-skip-ink:none}.toc-entry a.nav-link:active{color:var(--pst-color-link-hover)}.toc-entry a.nav-link:focus-visible{box-shadow:0 0 0 .1875rem var(--pst-color-accent);outline:none;z-index:10}.toc-entry a.nav-link.active{font-weight:600;color:var(--pst-color-primary);box-shadow:inset max(3px, .1875rem, .12em) 0 0 var(--pst-color-primary);background-color:rgba(0,0,0,0)}.toc-entry a.nav-link.active:focus-visible{box-shadow:inset max(3px, .1875rem, .12em) 0 0 var(--pst-color-primary),0 0 0 .1875rem var(--pst-color-accent);outline:none}.toc-entry a.nav-link.active:hover{color:var(--pst-color-link-hover)}.toc-entry a.nav-link:focus-visible{border-radius:.125rem}div.versionadded,div.versionchanged,div.deprecated{vertical-align:middle;margin:1.5625em auto;padding:0 .6rem;overflow:hidden;page-break-inside:avoid;break-inside:avoid;border-left:.2rem solid;border-color:var(--pst-color-info);border-radius:.25rem;background-color:var(--pst-color-on-background);box-shadow:0 .2rem .5rem var(--pst-color-shadow),0 0 .0625rem var(--pst-color-shadow) !important;position:relative}div.versionadded>p,div.versionchanged>p,div.deprecated>p{margin-bottom:.6rem;margin-top:.6rem}div.versionadded{border-color:var(--pst-color-success);background-color:var(--pst-color-success-bg)}div.versionchanged{border-color:var(--pst-color-warning);background-color:var(--pst-color-warning-bg)}div.deprecated{border-color:var(--pst-color-danger);background-color:var(--pst-color-danger-bg)}span.versionmodified{font-weight:600}span.versionmodified::before{margin-right:.6rem;color:var(--pst-color-info);font:var(--fa-font-solid);content:var(--pst-icon-versionmodified-default)}span.versionmodified.added::before{color:var(--pst-color-success);content:var(--pst-icon-versionmodified-added)}span.versionmodified.changed::before{color:var(--pst-color-warning);content:var(--pst-icon-versionmodified-changed)}span.versionmodified.deprecated::before{color:var(--pst-color-danger);content:var(--pst-icon-versionmodified-deprecated)}.sidebar-indices-items{display:flex;flex-direction:column;border-top:1px solid var(--pst-color-border)}@media(min-width: 960px){.sidebar-indices-items{border-top:none}}.sidebar-indices-items .sidebar-indices-items__title{font-weight:var(--pst-sidebar-header-font-weight);font-size:var(--pst-sidebar-header-font-size);color:var(--pst-color-text-base);margin-bottom:.5rem}.sidebar-indices-items ul.indices-link{margin-right:-1rem;list-style:none;padding:0}.sidebar-indices-items ul.indices-link li>a{display:block;padding:.25rem 0;color:var(--pst-color-text-muted)}.sidebar-indices-items ul.indices-link li>a:hover{color:var(--pst-color-primary);text-decoration:none;background-color:rgba(0,0,0,0)}.bd-sidebar-primary div#rtd-footer-container{position:sticky;bottom:-1rem;margin:-1rem}.bd-sidebar-primary div#rtd-footer-container .rst-versions.rst-badge{position:unset;font-size:.9em;font-family:var(--pst-font-family-base);max-width:unset}.bd-sidebar-primary div#rtd-footer-container .rst-versions.rst-badge .rst-current-version{display:flex;align-items:center;gap:.2rem;height:2.5rem;transition:background-color .2s ease-out;background-color:var(--pst-color-background);color:var(--pst-color-success);border-top:1px solid var(--pst-color-border)}.bd-sidebar-primary div#rtd-footer-container .rst-versions.rst-badge .fa.fa-book{color:var(--pst-color-text-muted);margin-right:auto}.bd-sidebar-primary div#rtd-footer-container .rst-versions.rst-badge .fa.fa-book::after{color:var(--pst-color-text-base);content:\"Read The Docs\";font-family:var(--pst-font-family-base);font-weight:var(--pst-admonition-font-weight-heading)}.bd-sidebar-primary div#rtd-footer-container .rst-versions.rst-badge .fa.fa-caret-down{color:var(--pst-color-text-muted)}.bd-sidebar-primary div#rtd-footer-container .rst-versions.rst-badge.shift-up .rst-current-version{border-bottom:1px solid var(--pst-color-border)}.bd-sidebar-primary div#rtd-footer-container .rst-other-versions{background-color:var(--pst-color-surface);color:var(--pst-color-text-base)}.bd-sidebar-primary div#rtd-footer-container .rst-other-versions dl dd a{color:var(--pst-color-text-muted)}.bd-sidebar-primary div#rtd-footer-container .rst-other-versions hr{background-color:var(--pst-color-border)}.bd-sidebar-primary div#rtd-footer-container .rst-other-versions small a{color:var(--pst-color-link)}.bd-sidebar-primary div#rtd-footer-container .rst-other-versions input{padding-left:.5rem;border:1px solid var(--pst-color-border);background-color:var(--pst-color-surface)}div.admonition,.admonition{margin:1.5625em auto;padding:0 .6rem .8rem;overflow:hidden;page-break-inside:avoid;break-inside:avoid;border-left:.2rem solid;border-color:var(--pst-color-info);border-radius:.25rem;background-color:var(--pst-color-on-background);box-shadow:0 .2rem .5rem var(--pst-color-shadow),0 0 .0625rem var(--pst-color-shadow) !important}div.admonition *:last-child,.admonition *:last-child{margin-bottom:0}div.admonition p.admonition-title~*,.admonition p.admonition-title~*{margin-left:1.4rem;margin-right:1.4rem}div.admonition>ol,div.admonition>ul,.admonition>ol,.admonition>ul{margin-left:1em}div.admonition>.admonition-title,.admonition>.admonition-title{margin:0 -0.6rem;padding:.4rem .6rem .4rem 2rem;font-weight:var(--pst-admonition-font-weight-heading);position:relative;background-color:var(--pst-color-info-bg);z-index:1}div.admonition>.admonition-title::before,.admonition>.admonition-title::before{content:\"\";width:100%;height:100%;position:absolute;left:0;top:0;z-index:-1;pointer-events:none}div.admonition>.admonition-title::after,.admonition>.admonition-title::after{position:absolute;left:.5rem;width:1rem;height:1rem;color:var(--pst-color-info);font:var(--fa-font-solid);line-height:inherit;content:var(--pst-icon-admonition-default);opacity:1}div.admonition>.admonition-title+*,.admonition>.admonition-title+*{margin-top:.4em}div.admonition.attention,.admonition.attention{border-color:var(--pst-color-attention)}div.admonition.attention>.admonition-title,.admonition.attention>.admonition-title{background-color:var(--pst-color-attention-bg)}div.admonition.attention>.admonition-title::after,.admonition.attention>.admonition-title::after{color:var(--pst-color-attention);content:var(--pst-icon-admonition-attention)}div.admonition.caution,.admonition.caution{border-color:var(--pst-color-warning)}div.admonition.caution>.admonition-title,.admonition.caution>.admonition-title{background-color:var(--pst-color-warning-bg)}div.admonition.caution>.admonition-title::after,.admonition.caution>.admonition-title::after{color:var(--pst-color-warning);content:var(--pst-icon-admonition-caution)}div.admonition.warning,.admonition.warning{border-color:var(--pst-color-warning)}div.admonition.warning>.admonition-title,.admonition.warning>.admonition-title{background-color:var(--pst-color-warning-bg)}div.admonition.warning>.admonition-title::after,.admonition.warning>.admonition-title::after{color:var(--pst-color-warning);content:var(--pst-icon-admonition-warning)}div.admonition.danger,.admonition.danger{border-color:var(--pst-color-danger)}div.admonition.danger>.admonition-title,.admonition.danger>.admonition-title{background-color:var(--pst-color-danger-bg)}div.admonition.danger>.admonition-title::after,.admonition.danger>.admonition-title::after{color:var(--pst-color-danger);content:var(--pst-icon-admonition-danger)}div.admonition.error,.admonition.error{border-color:var(--pst-color-danger)}div.admonition.error>.admonition-title,.admonition.error>.admonition-title{background-color:var(--pst-color-danger-bg)}div.admonition.error>.admonition-title::after,.admonition.error>.admonition-title::after{color:var(--pst-color-danger);content:var(--pst-icon-admonition-error)}div.admonition.hint,.admonition.hint{border-color:var(--pst-color-success)}div.admonition.hint>.admonition-title,.admonition.hint>.admonition-title{background-color:var(--pst-color-success-bg)}div.admonition.hint>.admonition-title::after,.admonition.hint>.admonition-title::after{color:var(--pst-color-success);content:var(--pst-icon-admonition-hint)}div.admonition.tip,.admonition.tip{border-color:var(--pst-color-success)}div.admonition.tip>.admonition-title,.admonition.tip>.admonition-title{background-color:var(--pst-color-success-bg)}div.admonition.tip>.admonition-title::after,.admonition.tip>.admonition-title::after{color:var(--pst-color-success);content:var(--pst-icon-admonition-tip)}div.admonition.important,.admonition.important{border-color:var(--pst-color-attention)}div.admonition.important>.admonition-title,.admonition.important>.admonition-title{background-color:var(--pst-color-attention-bg)}div.admonition.important>.admonition-title::after,.admonition.important>.admonition-title::after{color:var(--pst-color-attention);content:var(--pst-icon-admonition-important)}div.admonition.note,.admonition.note{border-color:var(--pst-color-info)}div.admonition.note>.admonition-title,.admonition.note>.admonition-title{background-color:var(--pst-color-info-bg)}div.admonition.note>.admonition-title::after,.admonition.note>.admonition-title::after{color:var(--pst-color-info);content:var(--pst-icon-admonition-note)}div.admonition.seealso,.admonition.seealso{border-color:var(--pst-color-success)}div.admonition.seealso>.admonition-title,.admonition.seealso>.admonition-title{background-color:var(--pst-color-success-bg)}div.admonition.seealso>.admonition-title::after,.admonition.seealso>.admonition-title::after{color:var(--pst-color-success);content:var(--pst-icon-admonition-seealso)}div.admonition.admonition-todo,.admonition.admonition-todo{border-color:var(--pst-color-secondary)}div.admonition.admonition-todo>.admonition-title,.admonition.admonition-todo>.admonition-title{background-color:var(--pst-color-secondary-bg)}div.admonition.admonition-todo>.admonition-title::after,.admonition.admonition-todo>.admonition-title::after{color:var(--pst-color-secondary);content:var(--pst-icon-admonition-todo)}div.admonition.sidebar,.admonition.sidebar{max-width:40%;float:right;clear:both;margin-left:.5rem;margin-top:0;border-width:0 0 0 .2rem}div.admonition.sidebar.attention,div.admonition.sidebar.important,.admonition.sidebar.attention,.admonition.sidebar.important{border-color:var(--pst-color-attention)}div.admonition.sidebar.caution,div.admonition.sidebar.warning,.admonition.sidebar.caution,.admonition.sidebar.warning{border-color:var(--pst-color-warning)}div.admonition.sidebar.danger,div.admonition.sidebar.error,.admonition.sidebar.danger,.admonition.sidebar.error{border-color:var(--pst-color-danger)}div.admonition.sidebar.hint,div.admonition.sidebar.tip,div.admonition.sidebar.seealso,.admonition.sidebar.hint,.admonition.sidebar.tip,.admonition.sidebar.seealso{border-color:var(--pst-color-success)}div.admonition.sidebar.note,div.admonition.sidebar.todo,.admonition.sidebar.note,.admonition.sidebar.todo{border-color:var(--pst-color-info)}div.admonition.sidebar p.admonition-title~*,.admonition.sidebar p.admonition-title~*{margin-left:0;margin-right:0}div.topic,div.topic.contents,nav.contents,aside.topic{display:flex;flex-direction:column;background-color:var(--pst-color-surface);border-color:var(--pst-color-border);border-radius:.25rem;padding:1rem 1.25rem;box-shadow:0 .2rem .5rem var(--pst-color-shadow),0 0 .0625rem var(--pst-color-shadow) !important}div.topic .topic-title,div.topic.contents .topic-title,nav.contents .topic-title,aside.topic .topic-title{margin:0 0 .5rem}div.topic p,div.topic.contents p,nav.contents p,aside.topic p{color:var(--pst-color-on-surface) !important}div.topic ul.simple,div.topic.contents ul.simple,nav.contents ul.simple,aside.topic ul.simple{padding-left:1rem}div.topic ul.simple ul,div.topic.contents ul.simple ul,nav.contents ul.simple ul,aside.topic ul.simple ul{padding-left:2em}aside.sidebar{border:1px solid var(--pst-color-border);background-color:var(--pst-color-surface);border-radius:.25rem;margin-left:.5rem;padding:0}aside.sidebar>*:last-child{padding-bottom:1rem}aside.sidebar p.sidebar-title{position:relative;margin-bottom:0;padding-top:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--pst-color-border);font-family:var(--pst-font-family-heading);font-weight:var(--pst-admonition-font-weight-heading)}aside.sidebar>*:not(.sidebar-title):first-child,aside.sidebar>p.sidebar-title+*{margin-top:1rem}aside.sidebar>*{padding-left:1rem;padding-right:1rem}p.rubric{display:flex;flex-direction:column}.seealso dd{margin-top:0;margin-bottom:0}table.field-list{border-collapse:separate;border-spacing:10px;margin-left:1px}table.field-list th.field-name{padding:1px 8px 1px 5px;white-space:nowrap;background-color:var(--pst-color-surface)}table.field-list td.field-body p{font-style:italic}table.field-list td.field-body p>strong{font-style:normal}table.field-list td.field-body blockquote{border-left:none;margin:0 0 .3em;padding-left:30px}.table.autosummary td:first-child{white-space:nowrap}.sig{font-family:var(--pst-font-family-monospace)}.sig-inline.c-texpr,.sig-inline.cpp-texpr{font-family:unset}.sig.c .k,.sig.c .kt,.sig.cpp .k,.sig.cpp .kt{color:var(--pst-color-text-base)}.sig.c .m,.sig.cpp .m{color:var(--pst-color-text-base)}.sig.c .s,.sig.c .sc,.sig.cpp .s,.sig.cpp .sc{color:var(--pst-color-text-base)}.sig-name{color:var(--pst-color-inline-code)}.sig-param .o,.sig-param .default_value{color:var(--pst-color-text-muted);font-weight:normal}dt:target,span.highlighted{background-color:var(--pst-color-target)}.viewcode-back{font-family:var(--pst-font-family-base)}.viewcode-block:target{border-top:1px solid var(--pst-color-border);border-bottom:1px solid var(--pst-color-border);position:relative;background-color:var(--pst-color-target)}dl>dt>a:has(.viewcode-link){float:right}dl>dt>a:has(.viewcode-link) .viewcode-link{float:none}dl[class]:not(.option-list,.field-list,.footnote,.glossary,.simple){margin-bottom:3rem}dl[class]:not(.option-list,.field-list,.footnote,.glossary,.simple) dd{margin-left:2rem}dl[class]:not(.option-list,.field-list,.footnote,.glossary,.simple) dd>dl.simple>dt{display:flex}dl[class]:not(.option-list,.field-list,.footnote,.glossary,.simple) dl.field-list{display:grid;grid-template-columns:unset}dl[class]:not(.option-list,.field-list,.footnote,.glossary,.simple) dt.field-odd,dl[class]:not(.option-list,.field-list,.footnote,.glossary,.simple) dt.field-even{margin-top:.2rem;margin-bottom:.1rem;background-color:var(--pst-color-surface)}div[class*=highlight-],div.highlight,div.literal-block-wrapper{display:flex;flex-direction:column;width:unset;border-radius:.25rem;break-inside:avoid}div.literal-block-wrapper{border:1px solid var(--pst-color-border);border-radius:.25rem}div.literal-block-wrapper div.code-block-caption{margin:0;border-bottom:1px solid var(--pst-color-border);padding:.5rem;font-size:1rem;font-weight:var(--pst-font-weight-caption)}div.literal-block-wrapper div.code-block-caption a.headerlink{font-size:inherit}div.literal-block-wrapper div[class*=highlight-]{margin:0;border-radius:0}div.literal-block-wrapper div[class*=highlight-] pre{border:none;box-shadow:none}code.literal{padding:.1rem .25rem;background-color:var(--pst-color-surface);border:1px solid var(--pst-color-border);border-radius:.25rem}a>code{color:var(--pst-color-inline-code-links)}html[data-theme=light] .highlight .nf{color:#0078a1 !important}span.linenos{opacity:.8 !important}figure>a,figure>a>img,figure>img,figure>video{display:block;margin-left:auto;margin-right:auto}figure a.headerlink{position:absolute;font-size:inherit}figure:hover a.headerlink{visibility:visible}figure figcaption{font-family:var(--pst-font-family-heading);font-weight:var(--pst-font-weight-caption);color:var(--pst-color-text-muted);margin-left:auto;margin-right:auto;margin-top:.3rem;text-align:center}figure figcaption>p:last-child{margin-bottom:0}figure figcaption p{text-align:start;display:inline-block}figure figcaption table.table{width:fit-content;margin-left:auto;margin-right:auto}dt.label>span.brackets:not(:only-child)::before{content:\"[\"}dt.label>span.brackets:not(:only-child)::after{content:\"]\"}a.footnote-reference{vertical-align:super;font-size:small}aside.footnote{margin-bottom:.5rem}aside.footnote:last-child{margin-bottom:1rem}aside.footnote span.label,aside.footnote span.backrefs{font-weight:bold}aside.footnote:target{background-color:var(--pst-color-target)}table.highlighttable td.linenos,span.linenos,div.doctest>div.highlight span.gp{user-select:none}dd{margin-top:3px;margin-bottom:10px;margin-left:30px}ol,ul{padding-inline-start:2rem}ol li>p:first-child,ul li>p:first-child{margin-bottom:.25rem;margin-top:.25rem}blockquote{padding:1em;color:var(--pst-color-text-muted);border-left:.25em solid var(--pst-color-blockquote-notch);border-radius:.25rem;position:relative;background-color:var(--pst-color-surface)}blockquote p{color:var(--pst-color-text-base)}blockquote .line-block{margin:0}blockquote p:last-child{margin-bottom:0}blockquote::before{content:\"\";width:100%;height:100%;position:absolute;left:0;top:0;z-index:-1;pointer-events:none}blockquote a{color:var(--pst-color-inline-code-links)}blockquote::before{z-index:-1}span.guilabel{border:1px solid var(--pst-color-info);font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px;position:relative;background-color:var(--pst-color-info-bg)}span.guilabel::before{content:\"\";width:100%;height:100%;position:absolute;left:0;top:0;z-index:-1;pointer-events:none}a.reference.download::before{content:var(--pst-icon-download);font:var(--fa-font-solid);font-size:.8em;padding:0 .25em;color:var(--pst-color-text-muted)}table{margin-left:auto;margin-right:auto}table.table-right{margin-right:0}table.table-left{margin-left:0}table caption{text-align:center;caption-side:top;color:var(--pst-color-text-muted)}th.text-left,td.text-left{text-align:left}th.text-right,td.text-right{text-align:right}th.text-center,td.text-center{text-align:center}.table{color:var(--pst-color-table);border:1px solid var(--pst-color-table-outer-border);--bs-table-bg: transparent;--bs-table-color: var( --pst-color-text-base )}.table th~th,.table th~td,.table td~th,.table td~td{border-left:1px solid var(--pst-color-table-inner-border)}.table thead tr{background-color:var(--pst-color-table-heading-bg);border-bottom:2px solid var(--pst-color-primary)}.table tbody tr:nth-child(odd){background-color:var(--pst-color-table-row-zebra-low-bg)}.table tbody tr:nth-child(even){background-color:var(--pst-color-table-row-zebra-high-bg)}.table tbody tr:hover{background-color:var(--pst-color-table-row-hover-bg)}.pst-scrollable-table-container{overflow-x:auto}.toctree-wrapper p.caption{font-size:1.5em;margin-bottom:0}.toctree-wrapper>ul{padding-left:0}.toctree-wrapper li[class^=toctree-l]{list-style:none;margin-bottom:.2em}.toctree-wrapper li[class^=toctree-l]>a{list-style:none;font-size:1.1em}.toctree-wrapper li[class^=toctree-l]>ul{list-style:none;padding-inline-start:1.5em}.toctree-wrapper .toctree-l1>a{font-size:1.3em}div.topic.contents ul.simple,nav.contents ul.simple{list-style:none;padding-left:0}span.math,div.math{align-items:center;display:flex;max-width:100%;overflow:hidden}span.math{display:inline-flex}div.math{gap:.5em;flex-direction:row-reverse}div.math span.eqno a.headerlink{position:relative;font-size:1em}div.math mjx-container{flex-grow:1;padding-bottom:.2rem;overflow:auto}div.math mjx-container mjx-assistive-mml{height:0}.ablog-sidebar-item h2,.ablog-sidebar-item h3{font-size:var(--pst-sidebar-header-font-size);margin-top:.5rem}.ablog-sidebar-item h2 a,.ablog-sidebar-item h3 a{color:var(--pst-color-text-base)}.ablog-sidebar-item ul{list-style:none;padding-left:0;overflow-y:hidden;display:flex;flex-direction:column;gap:.5em;margin-bottom:0}.ablog-sidebar-item ul.ablog-cloud{flex-flow:row wrap;gap:.5rem}.ablog-sidebar-item ul.ablog-cloud li{display:flex;align-items:center}.ablog__prev-next{font-size:1.2em;display:flex;padding:1rem 0}.ablog__prev-next>span{display:flex;max-width:45%}.ablog__prev-next>span a{display:flex;align-items:center;margin-left:auto;gap:1rem;line-height:1.5rem}.ablog__prev-next>span a i::before{color:var(--pst-color-text-base)}.ablog__prev-next span.ablog__prev i.fa-arrow-circle-left::before{content:var(--pst-icon-angle-left)}.ablog__prev-next span.ablog__spacer{display:none}.ablog__prev-next span.ablog__next{margin-left:auto;text-align:right}.ablog__prev-next span.ablog__next i.fa-arrow-circle-right::before{content:var(--pst-icon-angle-right)}.ablog__collection,.postlist{padding-left:0}.ablog__collection .ablog-post,.postlist .ablog-post{list-style:none}.ablog__collection .ablog-post .ablog-archive,.postlist .ablog-post .ablog-archive{display:flex;flex-flow:row wrap;gap:1rem;list-style:none;font-size:.75rem;padding-left:0}.ablog__collection .ablog-post .ablog-post-title,.postlist .ablog-post .ablog-post-title{margin-top:0;font-size:1.25rem}.ablog__collection .ablog-post .ablog-post-title a,.postlist .ablog-post .ablog-post-title a{font-weight:bold}.ablog__collection .ablog-post .ablog-post-expand,.postlist .ablog-post .ablog-post-expand{margin-bottom:.5rem}.docutils.container{padding-left:unset;padding-right:unset;margin-left:unset;margin-right:unset;max-width:unset;width:unset}.btn{--bs-btn-focus-box-shadow: 0 0 0 0.1875rem var(--pst-color-accent)}div.highlight button.copybtn{display:flex;align-items:center;justify-content:center;border:none;background-color:var(--pst-color-surface)}div.highlight button.copybtn:not(.success){color:var(--pst-color-muted)}div.highlight button.copybtn:hover:not(.success){color:var(--pst-color-text);background-color:var(--pst-color-shadow)}div.highlight button.copybtn.o-tooltip--left::after{color:var(--pst-color-text);background-color:var(--pst-color-surface)}div.highlight button.copybtn:focus{opacity:1}div.highlight button.copybtn:focus-visible{outline:var(--pst-color-accent) solid .1875rem}div.highlight:has(button.copybtn){min-height:2em}#ethical-ad-placement .ethical-sidebar a,#ethical-ad-placement .ethical-sidebar a:visited,#ethical-ad-placement .ethical-sidebar a:hover,#ethical-ad-placement .ethical-sidebar a:active,#ethical-ad-placement .ethical-footer a,#ethical-ad-placement .ethical-footer a:visited,#ethical-ad-placement .ethical-footer a:hover,#ethical-ad-placement .ethical-footer a:active{color:var(--pst-color-text-base)}#ethical-ad-placement .ethical-sidebar,#ethical-ad-placement .ethical-footer{background-color:var(--pst-color-background);border:1px solid var(--pst-color-border);border-radius:5px;color:var(--pst-color-text-base);font-size:14px;line-height:20px}.bd-content div.jupyter_container{border:none;background-color:unset;box-shadow:none}.bd-content div.jupyter_container div.output,.bd-content div.jupyter_container div.highlight{border-radius:.25rem}.bd-content div.jupyter_container div.highlight{background-color:var(--pst-color-surface)}.bd-content div.jupyter_container .cell_input,.bd-content div.jupyter_container .cell_output{border-radius:.25rem}.bd-content div.jupyter_container .cell_input pre,.bd-content div.jupyter_container .cell_output pre{padding:1rem}html[data-theme=dark] div.graphviz>object.inheritance{filter:brightness(0.8) invert(0.82) contrast(1.2);color-scheme:normal}.xr-wrap[hidden]{display:block !important}.jp-OutputArea-output.lm-Widget{overflow:auto}:root{--pst-teal-50: #f4fbfc;--pst-teal-100: #e9f6f8;--pst-teal-200: #d0ecf1;--pst-teal-300: #abdde6;--pst-teal-400: #3fb1c5;--pst-teal-500: #0a7d91;--pst-teal-600: #085d6c;--pst-teal-700: #064752;--pst-teal-800: #042c33;--pst-teal-900: #021b1f;--pst-violet-50: #f4eefb;--pst-violet-100: #e0c7ff;--pst-violet-200: #d5b4fd;--pst-violet-300: #b780ff;--pst-violet-400: #9c5ffd;--pst-violet-500: #8045e5;--pst-violet-600: #6432bd;--pst-violet-700: #4b258f;--pst-violet-800: #341a61;--pst-violet-900: #1e0e39;--pst-gray-50: #f9f9fa;--pst-gray-100: #f3f4f5;--pst-gray-200: #e5e7ea;--pst-gray-300: #d1d5da;--pst-gray-400: #9ca4af;--pst-gray-500: #677384;--pst-gray-600: #48566b;--pst-gray-700: #29313d;--pst-gray-800: #222832;--pst-gray-900: #14181e;--pst-pink-50: #fcf8fd;--pst-pink-100: #fcf0fa;--pst-pink-200: #f8dff5;--pst-pink-300: #f3c7ee;--pst-pink-400: #e47fd7;--pst-pink-500: #c132af;--pst-pink-600: #912583;--pst-pink-700: #6e1c64;--pst-pink-800: #46123f;--pst-pink-900: #2b0b27;--pst-foundation-white: #ffffff;--pst-foundation-black: #14181e}html:not([data-theme]){--pst-color-primary: #0a7d91;--pst-color-primary-bg: #d0ecf1;--pst-color-secondary: #8045e5;--pst-color-secondary-bg: #e0c7ff;--pst-color-accent: #c132af;--pst-color-accent-bg: #f8dff5;--pst-color-info: #276be9;--pst-color-info-bg: #dce7fc;--pst-color-warning: #f66a0a;--pst-color-warning-bg: #f8e3d0;--pst-color-success: #00843f;--pst-color-success-bg: #d6ece1;--pst-color-attention: var(--pst-color-warning);--pst-color-attention-bg: var(--pst-color-warning-bg);--pst-color-danger: #d72d47;--pst-color-danger-bg: #f9e1e4;--pst-color-text-base: #222832;--pst-color-text-muted: #48566b;--pst-color-heading-color: #fff;--pst-color-shadow: rgba(0, 0, 0, 0.1);--pst-color-border: #d1d5da;--pst-color-border-muted: rgba(23, 23, 26, 0.2);--pst-color-blockquote-notch: #677384;--pst-color-inline-code: #912583;--pst-color-inline-code-links: #085d6c;--pst-color-target: #f3cf95;--pst-color-table: #14181e;--pst-color-table-row-hover-bg: #b780ff;--pst-color-table-inner-border: #e5e7ea;--pst-color-background: #ffffff;--pst-color-on-background: #ffffff;--pst-color-surface: #f3f4f5;--pst-color-on-surface: #222832}html:not([data-theme]){--pst-color-link: var(--pst-color-primary);--pst-color-link-hover: var(--pst-color-secondary);--pst-color-table-outer-border: var(--pst-color-surface);--pst-color-table-heading-bg: var(--pst-color-surface);--pst-color-table-row-zebra-high-bg: var(--pst-color-on-background);--pst-color-table-row-zebra-low-bg: var(--pst-color-surface)}html:not([data-theme]) .only-dark,html:not([data-theme]) .only-dark~figcaption{display:none !important}html[data-theme=light]{--pst-color-primary: #0a7d91;--pst-color-primary-bg: #d0ecf1;--pst-color-secondary: #8045e5;--pst-color-secondary-bg: #e0c7ff;--pst-color-accent: #c132af;--pst-color-accent-bg: #f8dff5;--pst-color-info: #276be9;--pst-color-info-bg: #dce7fc;--pst-color-warning: #f66a0a;--pst-color-warning-bg: #f8e3d0;--pst-color-success: #00843f;--pst-color-success-bg: #d6ece1;--pst-color-attention: var(--pst-color-warning);--pst-color-attention-bg: var(--pst-color-warning-bg);--pst-color-danger: #d72d47;--pst-color-danger-bg: #f9e1e4;--pst-color-text-base: #222832;--pst-color-text-muted: #48566b;--pst-color-heading-color: #fff;--pst-color-shadow: rgba(0, 0, 0, 0.1);--pst-color-border: #d1d5da;--pst-color-border-muted: rgba(23, 23, 26, 0.2);--pst-color-blockquote-notch: #677384;--pst-color-inline-code: #912583;--pst-color-inline-code-links: #085d6c;--pst-color-target: #f3cf95;--pst-color-table: #14181e;--pst-color-table-row-hover-bg: #b780ff;--pst-color-table-inner-border: #e5e7ea;--pst-color-background: #ffffff;--pst-color-on-background: #ffffff;--pst-color-surface: #f3f4f5;--pst-color-on-surface: #222832;color-scheme:light}html[data-theme=light]{--pst-color-link: var(--pst-color-primary);--pst-color-link-hover: var(--pst-color-secondary);--pst-color-table-outer-border: var(--pst-color-surface);--pst-color-table-heading-bg: var(--pst-color-surface);--pst-color-table-row-zebra-high-bg: var(--pst-color-on-background);--pst-color-table-row-zebra-low-bg: var(--pst-color-surface)}html[data-theme=light] .only-dark,html[data-theme=light] .only-dark~figcaption{display:none !important}html[data-theme=dark]{--pst-color-primary: #3fb1c5;--pst-color-primary-bg: #042c33;--pst-color-secondary: #9c5ffd;--pst-color-secondary-bg: #341a61;--pst-color-accent: #e47fd7;--pst-color-accent-bg: #46123f;--pst-color-info: #79a3f2;--pst-color-info-bg: #06245d;--pst-color-warning: #ff9245;--pst-color-warning-bg: #652a02;--pst-color-success: #5fb488;--pst-color-success-bg: #002f17;--pst-color-attention: var(--pst-color-warning);--pst-color-attention-bg: var(--pst-color-warning-bg);--pst-color-danger: #e78894;--pst-color-danger-bg: #4e111b;--pst-color-text-base: #ced6dd;--pst-color-text-muted: #9ca4af;--pst-color-heading-color: #14181e;--pst-color-shadow: rgba(0, 0, 0, 0.2);--pst-color-border: #48566b;--pst-color-border-muted: #29313d;--pst-color-blockquote-notch: #9ca4af;--pst-color-inline-code: #f3c7ee;--pst-color-inline-code-links: #3fb1c5;--pst-color-target: #675c04;--pst-color-table: #ffffff;--pst-color-table-row-hover-bg: #6432bd;--pst-color-table-inner-border: #364150;--pst-color-background: #14181e;--pst-color-on-background: #222832;--pst-color-surface: #29313d;--pst-color-on-surface: #f3f4f5;color-scheme:dark}html[data-theme=dark]{--pst-color-link: var(--pst-color-primary);--pst-color-link-hover: var(--pst-color-secondary);--pst-color-table-outer-border: var(--pst-color-surface);--pst-color-table-heading-bg: var(--pst-color-surface);--pst-color-table-row-zebra-high-bg: var(--pst-color-on-background);--pst-color-table-row-zebra-low-bg: var(--pst-color-surface)}html[data-theme=dark] .only-light,html[data-theme=dark] .only-light~figcaption{display:none !important}html[data-theme=dark] img:not(.only-dark,.dark-light){filter:brightness(0.8) contrast(1.2)}html[data-theme=dark] .bd-content img:not(.only-dark,.dark-light){background-color:#fff;border-radius:.25rem}html[data-theme=dark] .MathJax_SVG *{fill:var(--pst-color-text-base)}.pst-color-primary{color:var(--pst-color-primary)}.pst-color-secondary{color:var(--pst-color-secondary)}.pst-color-accent{color:var(--pst-color-accent)}.pst-color-info{color:var(--pst-color-info)}.pst-color-warning{color:var(--pst-color-warning)}.pst-color-success{color:var(--pst-color-success)}.pst-color-attention{color:var(--pst-color-attention)}.pst-color-danger{color:var(--pst-color-danger)}.pst-color-text-base{color:var(--pst-color-text-base)}.pst-color-text-muted{color:var(--pst-color-text-muted)}.pst-color-heading-color{color:var(--pst-color-heading-color)}.pst-color-shadow{color:var(--pst-color-shadow)}.pst-color-border{color:var(--pst-color-border)}.pst-color-border-muted{color:var(--pst-color-border-muted)}.pst-color-blockquote-notch{color:var(--pst-color-blockquote-notch)}.pst-color-inline-code{color:var(--pst-color-inline-code)}.pst-color-inline-code-links{color:var(--pst-color-inline-code-links)}.pst-color-target{color:var(--pst-color-target)}.pst-color-table{color:var(--pst-color-table)}.pst-color-table-row-hover{color:var(--pst-color-table-row-hover)}.pst-color-table-inner-border{color:var(--pst-color-table-inner-border)}.pst-color-background{color:var(--pst-color-background)}.pst-color-on-background{color:var(--pst-color-on-background)}.pst-color-surface{color:var(--pst-color-surface)}.pst-color-on-surface{color:var(--pst-color-on-surface)}html[data-theme=light]{--pst-color-primary: rgb(10, 125, 145);--pst-color-primary-text: #fff;--pst-color-primary-highlight: #053f49;--sd-color-primary: var(--pst-color-primary);--sd-color-primary-text: var(--pst-color-primary-text);--sd-color-primary-highlight: var(--pst-color-primary-highlight);--sd-color-primary-bg: #d0ecf1;--sd-color-primary-bg-text: #14181e;--pst-color-secondary: rgb(128, 69, 229);--pst-color-secondary-text: #fff;--pst-color-secondary-highlight: #591bc2;--sd-color-secondary: var(--pst-color-secondary);--sd-color-secondary-text: var(--pst-color-secondary-text);--sd-color-secondary-highlight: var(--pst-color-secondary-highlight);--sd-color-secondary-bg: #e0c7ff;--sd-color-secondary-bg-text: #14181e;--pst-color-success: #00843f;--pst-color-success-text: #fff;--pst-color-success-highlight: #00381a;--sd-color-success: var(--pst-color-success);--sd-color-success-text: var(--pst-color-success-text);--sd-color-success-highlight: var(--pst-color-success-highlight);--sd-color-success-bg: #d6ece1;--sd-color-success-bg-text: #14181e;--pst-color-info: #276be9;--pst-color-info-text: #fff;--pst-color-info-highlight: #124ab1;--sd-color-info: var(--pst-color-info);--sd-color-info-text: var(--pst-color-info-text);--sd-color-info-highlight: var(--pst-color-info-highlight);--sd-color-info-bg: #dce7fc;--sd-color-info-bg-text: #14181e;--pst-color-warning: #f66a0a;--pst-color-warning-text: #14181e;--pst-color-warning-highlight: #ad4a06;--sd-color-warning: var(--pst-color-warning);--sd-color-warning-text: var(--pst-color-warning-text);--sd-color-warning-highlight: var(--pst-color-warning-highlight);--sd-color-warning-bg: #f8e3d0;--sd-color-warning-bg-text: #14181e;--pst-color-danger: #d72d47;--pst-color-danger-text: #fff;--pst-color-danger-highlight: #9a1d30;--sd-color-danger: var(--pst-color-danger);--sd-color-danger-text: var(--pst-color-danger-text);--sd-color-danger-highlight: var(--pst-color-danger-highlight);--sd-color-danger-bg: #f9e1e4;--sd-color-danger-bg-text: #14181e;--pst-color-light: #f3f4f5;--pst-color-light-text: #14181e;--pst-color-light-highlight: #c9ced2;--sd-color-light: var(--pst-color-light);--sd-color-light-text: var(--pst-color-light-text);--sd-color-light-highlight: var(--pst-color-light-highlight);--sd-color-light-bg: #f7f7f8;--sd-color-light-bg-text: #14181e;--pst-color-muted: #29313d;--pst-color-muted-text: #fff;--pst-color-muted-highlight: #0a0c0f;--sd-color-muted: var(--pst-color-muted);--sd-color-muted-text: var(--pst-color-muted-text);--sd-color-muted-highlight: var(--pst-color-muted-highlight);--sd-color-muted-bg: #5a6c86;--sd-color-muted-bg-text: #fff;--pst-color-dark: #222832;--pst-color-dark-text: #fff;--pst-color-dark-highlight: #030404;--sd-color-dark: var(--pst-color-dark);--sd-color-dark-text: var(--pst-color-dark-text);--sd-color-dark-highlight: var(--pst-color-dark-highlight);--pst-color-black: #14181e;--pst-color-black-text: #fff;--pst-color-black-highlight: black;--sd-color-black: var(--pst-color-black);--sd-color-black-text: var(--pst-color-black-text);--sd-color-black-highlight: var(--pst-color-black-highlight);--pst-color-white: #fff;--pst-color-white-text: #14181e;--pst-color-white-highlight: #d9d9d9;--sd-color-white: var(--pst-color-white);--sd-color-white-text: var(--pst-color-white-text);--sd-color-white-highlight: var(--pst-color-white-highlight)}html[data-theme=dark]{--pst-color-primary: rgb(63, 177, 197);--pst-color-primary-text: #14181e;--pst-color-primary-highlight: #2b7e8d;--sd-color-primary: var(--pst-color-primary);--sd-color-primary-text: var(--pst-color-primary-text);--sd-color-primary-highlight: var(--pst-color-primary-highlight);--sd-color-primary-bg: #042c33;--sd-color-primary-bg-text: #fff;--pst-color-secondary: rgb(156, 95, 253);--pst-color-secondary-text: #14181e;--pst-color-secondary-highlight: #6d13fc;--sd-color-secondary: var(--pst-color-secondary);--sd-color-secondary-text: var(--pst-color-secondary-text);--sd-color-secondary-highlight: var(--pst-color-secondary-highlight);--sd-color-secondary-bg: #341a61;--sd-color-secondary-bg-text: #fff;--pst-color-success: #5fb488;--pst-color-success-text: #14181e;--pst-color-success-highlight: #3f8762;--sd-color-success: var(--pst-color-success);--sd-color-success-text: var(--pst-color-success-text);--sd-color-success-highlight: var(--pst-color-success-highlight);--sd-color-success-bg: #002f17;--sd-color-success-bg-text: #fff;--pst-color-info: #79a3f2;--pst-color-info-text: #14181e;--pst-color-info-highlight: #3373eb;--sd-color-info: var(--pst-color-info);--sd-color-info-text: var(--pst-color-info-text);--sd-color-info-highlight: var(--pst-color-info-highlight);--sd-color-info-bg: #06245d;--sd-color-info-bg-text: #fff;--pst-color-warning: #ff9245;--pst-color-warning-text: #14181e;--pst-color-warning-highlight: #f86600;--sd-color-warning: var(--pst-color-warning);--sd-color-warning-text: var(--pst-color-warning-text);--sd-color-warning-highlight: var(--pst-color-warning-highlight);--sd-color-warning-bg: #652a02;--sd-color-warning-bg-text: #fff;--pst-color-danger: #e78894;--pst-color-danger-text: #14181e;--pst-color-danger-highlight: #da485b;--sd-color-danger: var(--pst-color-danger);--sd-color-danger-text: var(--pst-color-danger-text);--sd-color-danger-highlight: var(--pst-color-danger-highlight);--sd-color-danger-bg: #4e111b;--sd-color-danger-bg-text: #fff;--pst-color-light: #f3f4f5;--pst-color-light-text: #14181e;--pst-color-light-highlight: #c9ced2;--sd-color-light: var(--pst-color-light);--sd-color-light-text: var(--pst-color-light-text);--sd-color-light-highlight: var(--pst-color-light-highlight);--sd-color-light-bg: #a3abb2;--sd-color-light-bg-text: #14181e;--pst-color-muted: #f3f4f5;--pst-color-muted-text: #14181e;--pst-color-muted-highlight: #c9ced2;--sd-color-muted: var(--pst-color-muted);--sd-color-muted-text: var(--pst-color-muted-text);--sd-color-muted-highlight: var(--pst-color-muted-highlight);--sd-color-muted-bg: #1d222b;--sd-color-muted-bg-text: #fff;--pst-color-dark: #222832;--pst-color-dark-text: #fff;--pst-color-dark-highlight: #030404;--sd-color-dark: var(--pst-color-dark);--sd-color-dark-text: var(--pst-color-dark-text);--sd-color-dark-highlight: var(--pst-color-dark-highlight);--pst-color-black: #14181e;--pst-color-black-text: #fff;--pst-color-black-highlight: black;--sd-color-black: var(--pst-color-black);--sd-color-black-text: var(--pst-color-black-text);--sd-color-black-highlight: var(--pst-color-black-highlight);--pst-color-white: #fff;--pst-color-white-text: #14181e;--pst-color-white-highlight: #d9d9d9;--sd-color-white: var(--pst-color-white);--sd-color-white-text: var(--pst-color-white-text);--sd-color-white-highlight: var(--pst-color-white-highlight)}html[data-theme=light]{--sd-color-card-border: var(--pst-color-border)}html[data-theme=dark]{--sd-color-card-border: var(--pst-color-border)}html[data-theme=light] .sd-shadow-xs,html[data-theme=light] .sd-shadow-sm,html[data-theme=light] .sd-shadow-md,html[data-theme=light] .sd-shadow-lg{box-shadow:0 .2rem .5rem var(--pst-color-shadow),0 0 .0625rem var(--pst-color-shadow) !important}.bd-content .sd-card{border:1px solid var(--pst-color-border)}.bd-content .sd-card .sd-card-header{background-color:var(--pst-color-panel-background);border-bottom:1px solid var(--pst-color-border)}.bd-content .sd-card .sd-card-footer{background-color:var(--pst-color-panel-background);border-top:1px solid var(--pst-color-border)}.bd-content .sd-card .sd-card-body{background-color:var(--pst-color-panel-background)}.bd-content .sd-card .sd-stretched-link:focus-visible{outline:none}.bd-content .sd-card .sd-stretched-link:focus-visible::after{outline:var(--pst-color-accent) solid .1875rem;border-radius:.25rem}.bd-content .sd-card.sd-card-hover:hover{border-color:var(--pst-color-link-hover)}.bd-content .sd-tab-set>input:checked+label{border-style:solid solid none;border-color:var(--pst-color-primary) var(--pst-color-primary) rgba(0,0,0,0);border-width:.125rem .125rem 0;border-radius:.125rem .125rem 0 0;background-color:var(--pst-color-on-background);transform:translateY(0.125rem);color:var(--pst-color-primary)}.bd-content .sd-tab-set>input:focus-visible+label{border:.125rem solid var(--pst-color-accent);border-radius:.125rem;background-color:var(--pst-color-accent-bg);color:var(--pst-color-on-surface)}.bd-content .sd-tab-set>input:not(:checked,:focus-visible)+label:hover{border-color:rgba(0,0,0,0);color:var(--pst-color-secondary);text-decoration-line:underline;text-decoration-thickness:max(3px, .1875rem, .12em)}.bd-content .sd-tab-set>label{color:var(--pst-color-on-surface);border:.125rem solid rgba(0,0,0,0);border-radius:.125rem .125rem 0 0;background-color:var(--pst-color-surface);padding:0 .75em;margin-inline-end:.25rem;line-height:1.95}html[data-theme=dark] .bd-content .sd-tab-set>label{background-color:var(--pst-color-on-background)}.bd-content .sd-tab-set .sd-tab-content{border:.125rem solid var(--pst-color-primary);border-radius:.1875rem;box-shadow:unset;padding:.625rem;background-color:var(--pst-color-on-background)}details.sd-dropdown{border:0 !important;box-shadow:0 .2rem .5rem var(--pst-color-shadow),0 0 .0625rem var(--pst-color-shadow) !important}details.sd-dropdown summary.sd-card-header{border:0 !important;display:flex;align-items:center;position:relative;font-weight:600;padding-top:.5rem;padding-bottom:.5rem;--pst-sd-dropdown-color: var(--pst-gray-500);--pst-sd-dropdown-bg-color: var(--pst-color-surface);background-color:var(--pst-sd-dropdown-bg-color) !important;border-left:.2rem solid var(--pst-sd-dropdown-color) !important}details.sd-dropdown summary.sd-card-header+div.sd-summary-content{border:0;--pst-sd-dropdown-color: var(--sd-color-card-border)}details.sd-dropdown summary.sd-card-header.sd-bg-primary{--pst-sd-dropdown-color: var(--sd-color-primary);--pst-sd-dropdown-bg-color: var(--sd-color-primary-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-primary+div.sd-summary-content{--pst-sd-dropdown-color: var(--sd-color-primary);--pst-sd-dropdown-bg-color: var(--sd-color-primary-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-text-primary{color:var(--sd-color-primary-bg-text) !important}details.sd-dropdown summary.sd-card-header.sd-bg-secondary{--pst-sd-dropdown-color: var(--sd-color-secondary);--pst-sd-dropdown-bg-color: var(--sd-color-secondary-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-secondary+div.sd-summary-content{--pst-sd-dropdown-color: var(--sd-color-secondary);--pst-sd-dropdown-bg-color: var(--sd-color-secondary-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-text-secondary{color:var(--sd-color-secondary-bg-text) !important}details.sd-dropdown summary.sd-card-header.sd-bg-success{--pst-sd-dropdown-color: var(--sd-color-success);--pst-sd-dropdown-bg-color: var(--sd-color-success-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-success+div.sd-summary-content{--pst-sd-dropdown-color: var(--sd-color-success);--pst-sd-dropdown-bg-color: var(--sd-color-success-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-text-success{color:var(--sd-color-success-bg-text) !important}details.sd-dropdown summary.sd-card-header.sd-bg-info{--pst-sd-dropdown-color: var(--sd-color-info);--pst-sd-dropdown-bg-color: var(--sd-color-info-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-info+div.sd-summary-content{--pst-sd-dropdown-color: var(--sd-color-info);--pst-sd-dropdown-bg-color: var(--sd-color-info-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-text-info{color:var(--sd-color-info-bg-text) !important}details.sd-dropdown summary.sd-card-header.sd-bg-warning{--pst-sd-dropdown-color: var(--sd-color-warning);--pst-sd-dropdown-bg-color: var(--sd-color-warning-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-warning+div.sd-summary-content{--pst-sd-dropdown-color: var(--sd-color-warning);--pst-sd-dropdown-bg-color: var(--sd-color-warning-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-text-warning{color:var(--sd-color-warning-bg-text) !important}details.sd-dropdown summary.sd-card-header.sd-bg-danger{--pst-sd-dropdown-color: var(--sd-color-danger);--pst-sd-dropdown-bg-color: var(--sd-color-danger-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-danger+div.sd-summary-content{--pst-sd-dropdown-color: var(--sd-color-danger);--pst-sd-dropdown-bg-color: var(--sd-color-danger-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-text-danger{color:var(--sd-color-danger-bg-text) !important}details.sd-dropdown summary.sd-card-header.sd-bg-light{--pst-sd-dropdown-color: var(--sd-color-light);--pst-sd-dropdown-bg-color: var(--sd-color-light-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-light+div.sd-summary-content{--pst-sd-dropdown-color: var(--sd-color-light);--pst-sd-dropdown-bg-color: var(--sd-color-light-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-text-light{color:var(--sd-color-light-bg-text) !important}details.sd-dropdown summary.sd-card-header.sd-bg-muted{--pst-sd-dropdown-color: var(--sd-color-muted);--pst-sd-dropdown-bg-color: var(--sd-color-muted-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-muted+div.sd-summary-content{--pst-sd-dropdown-color: var(--sd-color-muted);--pst-sd-dropdown-bg-color: var(--sd-color-muted-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-text-muted{color:var(--sd-color-muted-bg-text) !important}details.sd-dropdown summary.sd-card-header.sd-bg-dark{--pst-sd-dropdown-color: var(--sd-color-dark);--pst-sd-dropdown-bg-color: var(--sd-color-dark-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-dark+div.sd-summary-content{--pst-sd-dropdown-color: var(--sd-color-dark);--pst-sd-dropdown-bg-color: var(--sd-color-dark-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-text-dark{color:var(--sd-color-dark-bg-text) !important}details.sd-dropdown summary.sd-card-header.sd-bg-black{--pst-sd-dropdown-color: var(--sd-color-black);--pst-sd-dropdown-bg-color: var(--sd-color-black-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-black+div.sd-summary-content{--pst-sd-dropdown-color: var(--sd-color-black);--pst-sd-dropdown-bg-color: var(--sd-color-black-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-text-black{color:var(--sd-color-black-bg-text) !important}details.sd-dropdown summary.sd-card-header.sd-bg-white{--pst-sd-dropdown-color: var(--sd-color-white);--pst-sd-dropdown-bg-color: var(--sd-color-white-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-white+div.sd-summary-content{--pst-sd-dropdown-color: var(--sd-color-white);--pst-sd-dropdown-bg-color: var(--sd-color-white-bg)}details.sd-dropdown summary.sd-card-header.sd-bg-text-white{color:var(--sd-color-white-bg-text) !important}details.sd-dropdown summary.sd-card-header::before{content:\"\";width:100%;height:100%;position:absolute;left:0;top:0;z-index:-1;pointer-events:none}details.sd-dropdown summary.sd-card-header+div.sd-summary-content{border-left:.2rem solid var(--pst-sd-dropdown-color) !important;border-bottom-left-radius:calc(.25rem - 1px);background-color:var(--pst-color-on-background)}details.sd-dropdown summary.sd-card-header span.sd-summary-icon{display:inline-flex;align-items:center;color:var(--pst-sd-dropdown-color) !important}details.sd-dropdown summary.sd-card-header span.sd-summary-icon svg{opacity:1}details.sd-dropdown summary.sd-card-header .sd-summary-up,details.sd-dropdown summary.sd-card-header .sd-summary-down{top:.7rem}details.sd-dropdown summary.sd-card-header:focus-visible{outline:var(--pst-color-accent) solid .1875rem;outline-offset:-0.1875rem}html .sd-btn{min-width:2.25rem;padding:.3125rem .75rem .4375rem}html .sd-btn:hover{text-decoration:underline;text-decoration-thickness:max(1px, .0625rem);text-underline-offset:.1578em;text-decoration-thickness:max(3px, .1875rem, .12em);text-decoration-skip-ink:none;color:var(--pst-color-link-hover);text-decoration-thickness:1px}html .sd-btn-primary:focus-visible,html .sd-btn-outline-primary:focus-visible{background-color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;outline:var(--sd-color-primary) solid .1875rem;outline-offset:.1875rem}html .sd-btn-secondary:focus-visible,html .sd-btn-outline-secondary:focus-visible{background-color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;outline:var(--sd-color-secondary) solid .1875rem;outline-offset:.1875rem}html .sd-btn-success:focus-visible,html .sd-btn-outline-success:focus-visible{background-color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;outline:var(--sd-color-success) solid .1875rem;outline-offset:.1875rem}html .sd-btn-info:focus-visible,html .sd-btn-outline-info:focus-visible{background-color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;outline:var(--sd-color-info) solid .1875rem;outline-offset:.1875rem}html .sd-btn-warning:focus-visible,html .sd-btn-outline-warning:focus-visible{background-color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;outline:var(--sd-color-warning) solid .1875rem;outline-offset:.1875rem}html .sd-btn-danger:focus-visible,html .sd-btn-outline-danger:focus-visible{background-color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;outline:var(--sd-color-danger) solid .1875rem;outline-offset:.1875rem}html .sd-btn-light:focus-visible,html .sd-btn-outline-light:focus-visible{background-color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;outline:var(--sd-color-light) solid .1875rem;outline-offset:.1875rem}html .sd-btn-muted:focus-visible,html .sd-btn-outline-muted:focus-visible{background-color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;outline:var(--sd-color-muted) solid .1875rem;outline-offset:.1875rem}html .sd-btn-dark:focus-visible,html .sd-btn-outline-dark:focus-visible{background-color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;outline:var(--sd-color-dark) solid .1875rem;outline-offset:.1875rem}html .sd-btn-black:focus-visible,html .sd-btn-outline-black:focus-visible{background-color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;outline:var(--sd-color-black) solid .1875rem;outline-offset:.1875rem}html .sd-btn-white:focus-visible,html .sd-btn-outline-white:focus-visible{background-color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;outline:var(--sd-color-white) solid .1875rem;outline-offset:.1875rem}.bd-content .admonition button.toggle-button{color:inherit}.bd-content .admonition button.toggle-button.toggle-button-hidden .toggle-chevron-right{transform:rotate(90deg);transition:none}.bd-content .admonition button.toggle-button .toggle-chevron-right{transform:rotate(-90deg);transition:none}.bd-content .admonition:focus-within{overflow:visible}.bd-content .admonition:focus-within .admonition-title:focus-within::before{content:\"\";transform:translateX(-0.2rem);width:calc(100% + .2rem);height:100%;border:var(--pst-color-accent) solid .1875rem;border-radius:.1875rem}.bd-content .admonition:focus-within:not(.toggle-hidden) .admonition-title:focus-within::before{border-bottom-left-radius:0;border-bottom-right-radius:0}.bd-content details.toggle-details summary{border-left:3px solid var(--pst-color-primary)}.bd-content details.toggle-details summary .toggle-chevron-right{transform:rotate(90deg);transition:none}.bd-content details.toggle-details[open] .toggle-chevron-right{transform:rotate(-90deg);transition:none}.bd-content details.toggle-details[open] :focus-visible{border-bottom-left-radius:0;border-bottom-right-radius:0}html div.rendered_html,html .jp-RenderedHTMLCommon{margin:.1875rem}html div.rendered_html table,html .jp-RenderedHTMLCommon table{table-layout:auto}.bd-content .nboutput .output_area.rendered_html table.dataframe,.bd-content .nboutput .output_area .jp-RenderedHTMLCommon table.dataframe{color:var(--pst-color-table);border:1px solid var(--pst-color-table-outer-border)}.bd-content .nboutput .output_area.rendered_html table.dataframe th~th,.bd-content .nboutput .output_area.rendered_html table.dataframe th~td,.bd-content .nboutput .output_area.rendered_html table.dataframe td~th,.bd-content .nboutput .output_area.rendered_html table.dataframe td~td,.bd-content .nboutput .output_area .jp-RenderedHTMLCommon table.dataframe th~th,.bd-content .nboutput .output_area .jp-RenderedHTMLCommon table.dataframe th~td,.bd-content .nboutput .output_area .jp-RenderedHTMLCommon table.dataframe td~th,.bd-content .nboutput .output_area .jp-RenderedHTMLCommon table.dataframe td~td{border-left:1px solid var(--pst-color-table-inner-border)}.bd-content .nboutput .output_area.rendered_html table.dataframe thead tr,.bd-content .nboutput .output_area .jp-RenderedHTMLCommon table.dataframe thead tr{background-color:var(--pst-color-table-heading-bg);border-bottom:2px solid var(--pst-color-primary)}.bd-content .nboutput .output_area.rendered_html table.dataframe tbody tr:nth-child(odd),.bd-content .nboutput .output_area .jp-RenderedHTMLCommon table.dataframe tbody tr:nth-child(odd){background-color:var(--pst-color-table-row-zebra-low-bg)}.bd-content .nboutput .output_area.rendered_html table.dataframe tbody tr:nth-child(even),.bd-content .nboutput .output_area .jp-RenderedHTMLCommon table.dataframe tbody tr:nth-child(even){background-color:var(--pst-color-table-row-zebra-high-bg)}.bd-content .nboutput .output_area.rendered_html table.dataframe tbody tr:hover,.bd-content .nboutput .output_area .jp-RenderedHTMLCommon table.dataframe tbody tr:hover{background-color:var(--pst-color-table-row-hover-bg)}html[data-theme=dark] .bd-content .nboutput .output_area.rendered_html:not(:has(table.dataframe)),html[data-theme=dark] .bd-content .nboutput .output_area .widget-subarea{color:var(--pst-color-on-background);background-color:var(--pst-color-text-base);border-radius:.25rem;padding:.5rem}html[data-theme=dark] .bd-content .nboutput .output_area.stderr{background-color:var(--pst-color-danger)}div.nblast.container{margin-bottom:1rem}div.cell_output .output{max-width:100%;overflow-x:auto}.bd-content div.cell_output table.dataframe{color:var(--pst-color-table);border:1px solid var(--pst-color-table-outer-border)}.bd-content div.cell_output table.dataframe th~th,.bd-content div.cell_output table.dataframe th~td,.bd-content div.cell_output table.dataframe td~th,.bd-content div.cell_output table.dataframe td~td{border-left:1px solid var(--pst-color-table-inner-border)}.bd-content div.cell_output table.dataframe thead tr{background-color:var(--pst-color-table-heading-bg);border-bottom:2px solid var(--pst-color-primary)}.bd-content div.cell_output table.dataframe tbody tr:nth-child(odd){background-color:var(--pst-color-table-row-zebra-low-bg)}.bd-content div.cell_output table.dataframe tbody tr:nth-child(even){background-color:var(--pst-color-table-row-zebra-high-bg)}.bd-content div.cell_output table.dataframe tbody tr:hover{background-color:var(--pst-color-table-row-hover-bg)}html[data-theme=dark] .bd-content div.cell_output img,html[data-theme=dark] .bd-content div.cell_output .text_html:not(:has(table.dataframe)),html[data-theme=dark] .bd-content div.cell_output .widget-subarea{color:var(--pst-color-on-background);background-color:var(--pst-color-text-base);border-radius:.25rem;padding:.5rem}.bd-content div.cell_input{display:flex;flex-direction:column;justify-content:stretch}.bd-content div.cell_input,.bd-content div.output{border-radius:.25rem}.bd-content div.output table{table-layout:auto}html[data-theme=dark] .bd-content img.leaflet-tile.leaflet-tile-loaded{border-radius:0;padding:0}.bd-search-container div#search-results>h2{font-size:var(--pst-font-size-icon);margin-top:1rem}.bd-search-container div#search-results p.search-summary{color:var(--pst-color-text-muted)}.bd-search-container ul.search{margin:0;list-style:none}.bd-search-container ul.search li{background-image:none;padding:1rem 0;margin:1rem 0;border-top:1px solid var(--pst-color-text-muted)}.bd-search-container ul.search li>a{font-size:1.2em}.bd-search-container ul.search li div.context,.bd-search-container ul.search li p.context{color:var(--pst-color-text-base);margin:.5em 0 0}.bd-search-container ul.search li div.context a::before,.bd-search-container ul.search li p.context a::before{content:\"#\";padding-right:.2em;color:var(--pst-color-text-muted)}","html {\n /*****************************************************************************\n * Overall Layout Variables\n */\n\n // Header height will impact the top offset for many sections\n // Article header is 66% of Header\n --pst-header-height: 4rem;\n --pst-header-article-height: calc(var(--pst-header-height) * 2 / 3);\n --pst-sidebar-secondary: 17rem;\n}\n\n/*******************************************************************************\n* Breakpoints that trigger UI changes\n*\n* Note that media-breakpoint-down begins at the next highest level!\n* So we should choose a media-breakpoint-down one *lower* than when we want to start\n* example: media-breakpoint-up(md) and media-breakpoint-down(sm) trigger at the same time\n* ref: https://github.com/twbs/bootstrap/issues/31214\n*/\n$breakpoint-sidebar-primary: lg; // When we collapse the primary sidebar\n$breakpoint-sidebar-secondary: xl; // When we collapse the secondary sidebar\n$breakpoint-page-width: 88rem; // taken from sphinx-basic-ng, which we are ultimately going to inherit\n\n/*******************************************************************************\n* Define the animation behaviour\n*/\n$animation-time: 200ms;\n\n/*******************************************************************************\n* UI shaping and padding\n*/\n$admonition-border-radius: 0.25rem;\n\n// In this theme, some focus rings have rounded corners while others do not.\n// This variable sets the border radius for the rounded focus rings.\n$focus-ring-radius: 0.125rem; // 2px at 100% zoom and 16px base font.\n\n$navbar-link-padding-y: 0.25rem;\n","html {\n /*****************************************************************************\n * Font features used in this theme\n */\n\n // base font size - applied at body/html level\n --pst-font-size-base: 1rem;\n\n // heading font sizes based on bootstrap sizing\n --pst-font-size-h1: 2.5rem;\n --pst-font-size-h2: 2rem;\n --pst-font-size-h3: 1.75rem;\n --pst-font-size-h4: 1.5rem;\n --pst-font-size-h5: 1.25rem;\n --pst-font-size-h6: 1.1rem;\n\n // smaller than heading font sizes\n --pst-font-size-milli: 0.9rem;\n\n // Sidebar styles\n --pst-sidebar-font-size: 0.9rem;\n --pst-sidebar-font-size-mobile: 1.1rem;\n --pst-sidebar-header-font-size: 1.2rem;\n --pst-sidebar-header-font-weight: 600;\n\n // Admonition styles\n --pst-admonition-font-weight-heading: 600;\n\n // Font weights\n --pst-font-weight-caption: 300;\n --pst-font-weight-heading: 400;\n\n // Font family\n // These are adapted from https://systemfontstack.com/ */\n --pst-font-family-base-system: -apple-system, \"BlinkMacSystemFont\", \"Segoe UI\",\n \"Helvetica Neue\", \"Arial\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\",\n \"Segoe UI Symbol\";\n --pst-font-family-monospace-system: \"SFMono-Regular\", \"Menlo\", \"Consolas\",\n \"Monaco\", \"Liberation Mono\", \"Lucida Console\", monospace;\n --pst-font-family-base: var(--pst-font-family-base-system);\n --pst-font-family-heading: var(--pst-font-family-base-system);\n --pst-font-family-monospace: var(--pst-font-family-monospace-system);\n}\n\n$line-height-body: 1.65;\n","html {\n /*****************************************************************************\n * Icon\n */\n\n // Font size across all icons\n --pst-font-size-icon: 1.5rem;\n\n // Font Awesome default icons\n --pst-icon-check-circle: \"\\f058\"; // fa-solid fa-circle-check\n --pst-icon-info-circle: \"\\f05a\"; // fa-solid fa-circle-info\n --pst-icon-exclamation-triangle: \"\\f071\"; // fa-solid fa-triangle-exclamation\n --pst-icon-exclamation-circle: \"\\f06a\"; // fa-solid fa-circle-exclamation\n --pst-icon-times-circle: \"\\f057\"; // fa-solid fa-circle-xmark\n --pst-icon-lightbulb: \"\\f0eb\"; // fa-solid fa-lightbulb\n --pst-icon-download: \"\\f019\"; // fa-solid fa-download\n --pst-icon-angle-left: \"\\f104\"; // fa-solid fa-angle-left\n --pst-icon-angle-right: \"\\f105\"; // fa-solid fa-angle-right\n --pst-icon-external-link: \"\\f35d\"; // fa-solid fa-up-right-from-square\n --pst-icon-search-minus: \"\\f010\"; // fa-solid fa-magnifying-glass-minus\n --pst-icon-github: \"\\f09b\"; // fa-brands fa-github\n --pst-icon-gitlab: \"\\f296\"; // fa-brands fa-gitlab\n --pst-icon-share: \"\\f064\"; // fa-solid fa-share\n --pst-icon-bell: \"\\f0f3\"; // fa-solid fa-bell\n --pst-icon-pencil: \"\\f303\"; // fa-solid fa-pencil\n\n // Bootstrap icons\n --pst-breadcrumb-divider: \"\\f105\";\n}\n","html {\n /*****************************************************************************\n * Admonitions\n **/\n\n --pst-icon-admonition-default: var(--pst-icon-bell);\n --pst-icon-admonition-note: var(--pst-icon-info-circle);\n --pst-icon-admonition-attention: var(--pst-icon-exclamation-circle);\n --pst-icon-admonition-caution: var(--pst-icon-exclamation-triangle);\n --pst-icon-admonition-warning: var(--pst-icon-exclamation-triangle);\n --pst-icon-admonition-danger: var(--pst-icon-exclamation-triangle);\n --pst-icon-admonition-error: var(--pst-icon-times-circle);\n --pst-icon-admonition-hint: var(--pst-icon-lightbulb);\n --pst-icon-admonition-tip: var(--pst-icon-lightbulb);\n --pst-icon-admonition-important: var(--pst-icon-exclamation-circle);\n --pst-icon-admonition-seealso: var(--pst-icon-share);\n --pst-icon-admonition-todo: var(--pst-icon-pencil);\n}\n","html {\n /*****************************************************************************\n * versionmodified\n **/\n\n --pst-icon-versionmodified-default: var(--pst-icon-exclamation-circle);\n --pst-icon-versionmodified-added: var(--pst-icon-exclamation-circle);\n --pst-icon-versionmodified-changed: var(--pst-icon-exclamation-circle);\n --pst-icon-versionmodified-deprecated: var(--pst-icon-exclamation-circle);\n}\n","html {\n font-size: var(--pst-font-size-base);\n scroll-padding-top: calc(var(--pst-header-height) + 1rem);\n}\n\nbody {\n background-color: var(--pst-color-background);\n font-family: var(--pst-font-family-base);\n font-weight: 400;\n line-height: $line-height-body;\n color: var(--pst-color-text-base);\n min-height: 100vh;\n display: flex;\n flex-direction: column;\n\n // hack to avoid the black background on some browser including Safari\n &::-webkit-scrollbar-track {\n background-color: var(--pst-color-background);\n }\n}\n\np {\n margin-bottom: 1.15rem;\n font-size: 1em;\n\n /* section header in docstring pages */\n &.rubric {\n border-bottom: 1px solid var(--pst-color-border);\n }\n\n &.centered {\n text-align: center;\n }\n}\n\na {\n @include link-style-default;\n\n // The # anchor that appears on hover over headings\n &.headerlink {\n color: var(--pst-color-secondary);\n opacity: 0.7;\n font-size: 0.8em;\n padding: 0 4px;\n margin-left: 0.2em;\n text-decoration: none;\n transition: all 0.2s ease-out;\n user-select: none;\n\n &:hover {\n opacity: 1;\n }\n }\n\n // set up a icon next to the shorten links from github and gitlab\n &.github,\n &.gitlab {\n &::before {\n color: var(--pst-color-text-muted);\n font: var(--fa-font-brands);\n margin-right: 0.25rem;\n }\n }\n\n &.github::before {\n content: var(--pst-icon-github);\n }\n\n &.gitlab::before {\n content: var(--pst-icon-gitlab);\n }\n}\n\n%heading-style {\n margin: 2.75rem 0 1.05rem;\n font-family: var(--pst-font-family-heading);\n font-weight: var(--pst-font-weight-heading);\n line-height: 1.15;\n}\n\nh1 {\n @extend %heading-style;\n\n margin-top: 0;\n font-size: var(--pst-font-size-h1);\n color: var(--pst-heading-color);\n}\n\nh2 {\n @extend %heading-style;\n\n font-size: var(--pst-font-size-h2);\n color: var(--pst-heading-color);\n}\n\nh3 {\n @extend %heading-style;\n\n font-size: var(--pst-font-size-h3);\n color: var(--pst-heading-color);\n}\n\nh4 {\n @extend %heading-style;\n\n font-size: var(--pst-font-size-h4);\n color: var(--pst-heading-color);\n}\n\nh5 {\n @extend %heading-style;\n\n font-size: var(--pst-font-size-h5);\n color: var(--pst-color-text-base);\n}\n\nh6 {\n @extend %heading-style;\n\n font-size: var(--pst-font-size-h6);\n color: var(--pst-color-text-base);\n}\n\nsmall,\n.text_small {\n font-size: var(--pst-font-size-milli);\n}\n\nhr {\n border: 0;\n border-top: 1px solid var(--pst-color-border);\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--pst-font-family-monospace);\n}\n\nkbd {\n // use theme negative\n background-color: var(--pst-color-on-background);\n color: var(--pst-color-text-muted);\n\n // Compound keyboard elements will have nested kbd in them, so this prevents double lines\n &:not(.compound) {\n border: 1px solid var(--pst-color-border);\n margin: 0 0.1rem;\n padding: 0.1rem 0.4rem;\n box-shadow: 1px 1px 1px var(--pst-color-shadow);\n }\n}\n\ncode {\n color: var(--pst-color-inline-code);\n}\n\npre {\n margin: 1.5em 0;\n padding: 1rem;\n background-color: var(--pst-color-surface);\n color: var(--pst-color-text-base);\n line-height: 1.2em;\n border: 1px solid var(--pst-color-border);\n border-radius: $admonition-border-radius;\n\n .linenos {\n // minimum opacity to make the line numbers WCAG AA conformant\n opacity: 0.8;\n padding-right: 10px;\n }\n}\n\n// the back to top btn\n#pst-back-to-top {\n z-index: $zindex-tooltip;\n position: fixed;\n display: none;\n top: 90vh;\n left: 50vw;\n transform: translate(-50%);\n color: var(--pst-color-secondary-text);\n background-color: var(--pst-color-secondary);\n border: none;\n\n .fa-arrow-up {\n // Using margin instead of a space character prevents the space between the\n // icon and the text from being underlined when the button is hovered.\n margin-inline-end: 0.5em;\n }\n\n &:hover {\n @include link-style-hover;\n\n text-decoration-thickness: 1px;\n background-color: var(--pst-violet-600);\n color: var(--pst-color-secondary-text);\n }\n\n &:focus-visible {\n box-shadow: none;\n outline: $focus-ring-outline;\n outline-color: var(--pst-color-secondary);\n outline-offset: $focus-ring-width;\n }\n}\n\n// Focus ring\n// ----------\n// Note: The Bootstrap stylesheet provides the focus ring (customized by this\n// theme via Sass variables in _bootstrap.scss) in some cases. This rule covers\n// all other cases.\n:focus-visible {\n outline: $focus-ring-outline;\n box-shadow: none; // override Bootstrap\n}\n","// Consistent styling for links\n// ============================\n\n@use \"sass:string\";\n\n// Define some useful variables for links styling consistency\n\n// The default thickness of the underline for links will be either:\n// - 1px\n// - 0.0625rem if it's thicker than 1px because the user has changed the text\n// size in their browser\n$link-underline-thickness: string.unquote(\"max(1px, .0625rem)\") !default;\n\n// Offset of link underlines from text baseline\n// The default is 3px expressed as ems, as calculated against the default body\n// font size (on desktop).\n$link-underline-offset: 0.1578em !default;\n\n// Thickness of link underlines in hover state\n// The default for each link will be the thickest of the following:\n// - 3px\n// - 0.1875rem, if it's thicker than 3px because the user has changed the text\n// size in their browser\n// - 0.12em (relative to the link's text size)\n$link-hover-decoration-thickness: string.unquote(\n \"max(3px, .1875rem, .12em)\"\n) !default;\n\n// Ensures links have an underline decoration by default - needed to meet\n// WCAG SC 1.4.1\n@mixin link-decoration {\n text-decoration: underline;\n\n @if $link-underline-thickness {\n text-decoration-thickness: $link-underline-thickness;\n }\n\n @if $link-underline-offset {\n text-underline-offset: $link-underline-offset;\n }\n}\n\n// Ensures links have an underline decoration on hover - distinct from the\n// default behaviour\n@mixin link-decoration-hover {\n @if $link-hover-decoration-thickness {\n text-decoration-thickness: $link-hover-decoration-thickness;\n\n // Disable ink skipping on underlines on hover.\n text-decoration-skip-ink: none;\n }\n}\n\n// Simple hover style - can be used alone or in conjunction with other mixins\n// Add the text underline and change in thickness on hover.\n// Intended for use with the `:hover` pseudo-class.\n@mixin link-style-hover {\n @include link-decoration;\n @include link-decoration-hover;\n\n color: var(--pst-color-link-hover);\n}\n\n// Default link styles\n// -------------------\n// Defines: default unvisited, visited, hover, and active.\n// TODO: @trallard to improve focus styles in subsequent PR\n@mixin link-style-default {\n // So that really long links don't spill out of their container\n word-wrap: break-word;\n color: var(--pst-color-link);\n\n @include link-decoration;\n\n &:hover {\n color: var(--pst-color-link-hover);\n\n @include link-decoration-hover;\n }\n\n // TODO: @trallard to add active styles in subsequent PR\n &:active {\n color: var(--pst-color-link);\n }\n\n // Visited should still be hoverable\n &:visited {\n color: var(--pst-color-link);\n\n &:hover {\n color: var(--pst-color-link-hover);\n }\n }\n}\n\n// Text link styles\n// ----------------\n// Makes links use the muted text colour and removes the underline.\n// Use this mixin for navigation bar links.\n@mixin link-style-text {\n color: var(--pst-color-text-muted);\n text-decoration: none;\n\n &:hover {\n color: var(--pst-color-link-hover);\n\n @include link-decoration;\n @include link-decoration-hover;\n }\n}\n\n// Sidebar and TOC links\n// ---------------------\n// Makes links use the muted text colour and removes the underline.\n// Use this mixin for navigation the primary sidebar and table of contents.\n// Active and hover should work together rather than one overriding the other.\n@mixin link-sidebar {\n color: var(--pst-color-text-muted);\n text-decoration: none;\n\n &:hover {\n text-decoration: underline;\n background-color: transparent;\n color: var(--pst-color-link-hover);\n\n @include link-decoration-hover;\n }\n\n // TODO: @trallard to update active styles in subsequent PR\n &:active {\n color: var(--pst-color-link-hover);\n }\n\n &:focus-visible {\n box-shadow: $focus-ring-box-shadow;\n outline: none;\n z-index: 10; // keep focus ring on top (prevent the link-sidebar-current notch from lying on top of the ring)\n }\n}\n\n// Sidebar current page link styles\n// --------------------------------\n// Adds a vertical line on the left hand side of the link to indicate that\n// it's the current page. Note this is distinct from an active state.\n// Used on the primary sidebar and the TOC.\n// We want the side box shadow to have the same thickness as the hover underline\n@mixin link-sidebar-current {\n font-weight: 600;\n color: var(--pst-color-primary);\n\n @if $link-hover-decoration-thickness {\n $notch-shadow: inset\n $link-hover-decoration-thickness\n 0\n 0\n var(--pst-color-primary);\n\n box-shadow: $notch-shadow;\n\n &:focus-visible {\n box-shadow: $notch-shadow, $focus-ring-box-shadow;\n outline: none;\n }\n }\n}\n\n// Heaver navbar text and icon links\n// ---------------------------------\n// (includes light/dark mode button)\n\n// This mixin makes it possible to show hover/underline and focus/ring styles at\n// the same time. The trick is to use:\n// - a pseudo-element with bottom border for the hover underline\n// - a CSS outline for the focus ring.\n\n// Normally we use box-shadow for underline and outline for focus ring. But we\n// cannot apply box-shadow and outline together on the same element because the\n// border-radius value that we use to round the outline will also round the\n// box-shadow used for the underline. We also cannot use text-underline because\n// it does not work on non-text links, nor do we want to use it on text links\n// that we want to treat as blocks, such as the header nav links because the\n// underline will wrap across two lines if the link text also wraps across two\n// lines.\n@mixin link-style-block {\n color: var(--pst-color-text-muted);\n\n // Set position relative so that the child ::before pseudo-element's absolute\n // position is relative to this element.\n position: relative;\n\n // Set up pseudo-element used for hover underline styles\n &::before {\n content: \"\";\n display: block;\n position: absolute;\n inset: 0;\n background-color: transparent;\n\n @if $link-hover-decoration-thickness {\n bottom: calc(-1 * $link-hover-decoration-thickness);\n margin: $link-hover-decoration-thickness 0;\n }\n }\n\n &:hover {\n color: var(--pst-color-secondary);\n text-decoration: none; // override the link-style-hover mixin\n &::before {\n @if $link-hover-decoration-thickness {\n border-bottom: $link-hover-decoration-thickness\n solid\n var(--pst-color-secondary);\n }\n }\n }\n\n &:focus-visible {\n box-shadow: none; // override Bootstrap\n outline: 3px solid var(--pst-color-accent);\n outline-offset: 3px;\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n// scss-docs-start gray-color-variables\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n// scss-docs-end gray-color-variables\n\n// fusv-disable\n// scss-docs-start gray-colors-map\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// scss-docs-end gray-colors-map\n// fusv-enable\n\n// scss-docs-start color-variables\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n// scss-docs-end color-variables\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"black\": $black,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n\n$blues: (\n \"blue-100\": $blue-100,\n \"blue-200\": $blue-200,\n \"blue-300\": $blue-300,\n \"blue-400\": $blue-400,\n \"blue-500\": $blue-500,\n \"blue-600\": $blue-600,\n \"blue-700\": $blue-700,\n \"blue-800\": $blue-800,\n \"blue-900\": $blue-900\n) !default;\n\n$indigos: (\n \"indigo-100\": $indigo-100,\n \"indigo-200\": $indigo-200,\n \"indigo-300\": $indigo-300,\n \"indigo-400\": $indigo-400,\n \"indigo-500\": $indigo-500,\n \"indigo-600\": $indigo-600,\n \"indigo-700\": $indigo-700,\n \"indigo-800\": $indigo-800,\n \"indigo-900\": $indigo-900\n) !default;\n\n$purples: (\n \"purple-100\": $purple-100,\n \"purple-200\": $purple-200,\n \"purple-300\": $purple-300,\n \"purple-400\": $purple-400,\n \"purple-500\": $purple-500,\n \"purple-600\": $purple-600,\n \"purple-700\": $purple-700,\n \"purple-800\": $purple-800,\n \"purple-900\": $purple-900\n) !default;\n\n$pinks: (\n \"pink-100\": $pink-100,\n \"pink-200\": $pink-200,\n \"pink-300\": $pink-300,\n \"pink-400\": $pink-400,\n \"pink-500\": $pink-500,\n \"pink-600\": $pink-600,\n \"pink-700\": $pink-700,\n \"pink-800\": $pink-800,\n \"pink-900\": $pink-900\n) !default;\n\n$reds: (\n \"red-100\": $red-100,\n \"red-200\": $red-200,\n \"red-300\": $red-300,\n \"red-400\": $red-400,\n \"red-500\": $red-500,\n \"red-600\": $red-600,\n \"red-700\": $red-700,\n \"red-800\": $red-800,\n \"red-900\": $red-900\n) !default;\n\n$oranges: (\n \"orange-100\": $orange-100,\n \"orange-200\": $orange-200,\n \"orange-300\": $orange-300,\n \"orange-400\": $orange-400,\n \"orange-500\": $orange-500,\n \"orange-600\": $orange-600,\n \"orange-700\": $orange-700,\n \"orange-800\": $orange-800,\n \"orange-900\": $orange-900\n) !default;\n\n$yellows: (\n \"yellow-100\": $yellow-100,\n \"yellow-200\": $yellow-200,\n \"yellow-300\": $yellow-300,\n \"yellow-400\": $yellow-400,\n \"yellow-500\": $yellow-500,\n \"yellow-600\": $yellow-600,\n \"yellow-700\": $yellow-700,\n \"yellow-800\": $yellow-800,\n \"yellow-900\": $yellow-900\n) !default;\n\n$greens: (\n \"green-100\": $green-100,\n \"green-200\": $green-200,\n \"green-300\": $green-300,\n \"green-400\": $green-400,\n \"green-500\": $green-500,\n \"green-600\": $green-600,\n \"green-700\": $green-700,\n \"green-800\": $green-800,\n \"green-900\": $green-900\n) !default;\n\n$teals: (\n \"teal-100\": $teal-100,\n \"teal-200\": $teal-200,\n \"teal-300\": $teal-300,\n \"teal-400\": $teal-400,\n \"teal-500\": $teal-500,\n \"teal-600\": $teal-600,\n \"teal-700\": $teal-700,\n \"teal-800\": $teal-800,\n \"teal-900\": $teal-900\n) !default;\n\n$cyans: (\n \"cyan-100\": $cyan-100,\n \"cyan-200\": $cyan-200,\n \"cyan-300\": $cyan-300,\n \"cyan-400\": $cyan-400,\n \"cyan-500\": $cyan-500,\n \"cyan-600\": $cyan-600,\n \"cyan-700\": $cyan-700,\n \"cyan-800\": $cyan-800,\n \"cyan-900\": $cyan-900\n) !default;\n// fusv-enable\n\n// scss-docs-start theme-color-variables\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// scss-docs-start theme-text-variables\n$primary-text-emphasis: shade-color($primary, 60%) !default;\n$secondary-text-emphasis: shade-color($secondary, 60%) !default;\n$success-text-emphasis: shade-color($success, 60%) !default;\n$info-text-emphasis: shade-color($info, 60%) !default;\n$warning-text-emphasis: shade-color($warning, 60%) !default;\n$danger-text-emphasis: shade-color($danger, 60%) !default;\n$light-text-emphasis: $gray-700 !default;\n$dark-text-emphasis: $gray-700 !default;\n// scss-docs-end theme-text-variables\n\n// scss-docs-start theme-bg-subtle-variables\n$primary-bg-subtle: tint-color($primary, 80%) !default;\n$secondary-bg-subtle: tint-color($secondary, 80%) !default;\n$success-bg-subtle: tint-color($success, 80%) !default;\n$info-bg-subtle: tint-color($info, 80%) !default;\n$warning-bg-subtle: tint-color($warning, 80%) !default;\n$danger-bg-subtle: tint-color($danger, 80%) !default;\n$light-bg-subtle: mix($gray-100, $white) !default;\n$dark-bg-subtle: $gray-400 !default;\n// scss-docs-end theme-bg-subtle-variables\n\n// scss-docs-start theme-border-subtle-variables\n$primary-border-subtle: tint-color($primary, 60%) !default;\n$secondary-border-subtle: tint-color($secondary, 60%) !default;\n$success-border-subtle: tint-color($success, 60%) !default;\n$info-border-subtle: tint-color($info, 60%) !default;\n$warning-border-subtle: tint-color($warning, 60%) !default;\n$danger-border-subtle: tint-color($danger, 60%) !default;\n$light-border-subtle: $gray-200 !default;\n$dark-border-subtle: $gray-500 !default;\n// scss-docs-end theme-border-subtle-variables\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-container-classes: true !default;\n$enable-cssgrid: false !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n$enable-dark-mode: true !default;\n$color-mode-type: data !default; // `data` or `media-query`\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !default; // Deprecated in v5.2.0 for the shorter `$prefix`\n$prefix: $variable-prefix !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `` element.\n\n$body-text-align: null !default;\n$body-color: $gray-900 !default;\n$body-bg: $white !default;\n\n$body-secondary-color: rgba($body-color, .75) !default;\n$body-secondary-bg: $gray-200 !default;\n\n$body-tertiary-color: rgba($body-color, .5) !default;\n$body-tertiary-bg: $gray-100 !default;\n\n$body-emphasis-color: $black !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap: .375rem !default;\n$icon-link-underline-offset: .25em !default;\n$icon-link-icon-size: 1em !default;\n$icon-link-icon-transition: .2s ease-in-out transform !default;\n$icon-link-icon-transform: translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n$border-style: solid !default;\n$border-color: $gray-300 !default;\n$border-color-translucent: rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius: .375rem !default;\n$border-radius-sm: .25rem !default;\n$border-radius-lg: .5rem !default;\n$border-radius-xl: 1rem !default;\n$border-radius-xxl: 2rem !default;\n$border-radius-pill: 50rem !default;\n// scss-docs-end border-radius-variables\n// fusv-disable\n$border-radius-2xl: $border-radius-xxl !default; // Deprecated in v5.3.0\n// fusv-enable\n\n// scss-docs-start box-shadow-variables\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width: .25rem !default;\n$focus-ring-opacity: .25 !default;\n$focus-ring-color: rgba($primary, $focus-ring-opacity) !default;\n$focus-ring-blur: 0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n// scss-docs-start caret-variables\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n// scss-docs-end caret-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse: height .35s ease !default;\n$transition-collapse-width: width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$prefix}font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-medium: 500 !default;\n$font-weight-semibold: 600 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-family: null !default;\n$display-font-style: null !default;\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n// fusv-disable\n$text-muted: var(--#{$prefix}secondary-color) !default; // Deprecated in 5.3.0\n// fusv-enable\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n\n// fusv-disable\n$hr-bg-color: null !default; // Deprecated in v5.2.0\n$hr-height: null !default; // Deprecated in v5.2.0\n// fusv-enable\n\n$hr-border-color: null !default; // Allows for inherited colors\n$hr-border-width: var(--#{$prefix}border-width) !default;\n$hr-opacity: .25 !default;\n\n// scss-docs-start vr-variables\n$vr-border-width: var(--#{$prefix}border-width) !default;\n// scss-docs-end vr-variables\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-padding: .1875em !default;\n$mark-color: $body-color !default;\n$mark-bg: $yellow-100 !default;\n// scss-docs-end type-variables\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: var(--#{$prefix}emphasis-color) !default;\n$table-bg: var(--#{$prefix}body-bg) !default;\n$table-accent-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba(var(--#{$prefix}emphasis-color-rgb), $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba(var(--#{$prefix}emphasis-color-rgb), $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba(var(--#{$prefix}emphasis-color-rgb), $table-hover-bg-factor) !default;\n\n$table-border-factor: .2 !default;\n$table-border-width: var(--#{$prefix}border-width) !default;\n$table-border-color: var(--#{$prefix}border-color) !default;\n\n$table-striped-order: odd !default;\n$table-striped-columns-order: even !default;\n\n$table-group-separator-color: currentcolor !default;\n\n$table-caption-color: var(--#{$prefix}secondary-color) !default;\n\n$table-bg-scale: -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n \"primary\": shift-color($primary, $table-bg-scale),\n \"secondary\": shift-color($secondary, $table-bg-scale),\n \"success\": shift-color($success, $table-bg-scale),\n \"info\": shift-color($info, $table-bg-scale),\n \"warning\": shift-color($warning, $table-bg-scale),\n \"danger\": shift-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-loop\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: $focus-ring-width !default;\n$input-btn-focus-color-opacity: $focus-ring-opacity !default;\n$input-btn-focus-color: $focus-ring-color !default;\n$input-btn-focus-blur: $focus-ring-blur !default;\n$input-btn-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: var(--#{$prefix}border-width) !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-color: var(--#{$prefix}body-color) !default;\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: var(--#{$prefix}link-color) !default;\n$btn-link-hover-color: var(--#{$prefix}link-hover-color) !default;\n$btn-link-disabled-color: $gray-600 !default;\n$btn-link-focus-shadow-rgb: to-rgb(mix(color-contrast($link-color), $link-color, 15%)) !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount: 15% !default;\n$btn-hover-bg-tint-amount: 15% !default;\n$btn-hover-border-shade-amount: 20% !default;\n$btn-hover-border-tint-amount: 10% !default;\n$btn-active-bg-shade-amount: 20% !default;\n$btn-active-bg-tint-amount: 20% !default;\n$btn-active-border-shade-amount: 25% !default;\n$btn-active-border-tint-amount: 10% !default;\n// scss-docs-end btn-variables\n\n\n// Forms\n\n// scss-docs-start form-text-variables\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: var(--#{$prefix}secondary-color) !default;\n// scss-docs-end form-text-variables\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n// scss-docs-end form-label-variables\n\n// scss-docs-start form-input-variables\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: var(--#{$prefix}body-bg) !default;\n$input-disabled-color: null !default;\n$input-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$input-disabled-border-color: null !default;\n\n$input-color: var(--#{$prefix}body-color) !default;\n$input-border-color: var(--#{$prefix}border-color) !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n\n$input-border-radius: var(--#{$prefix}border-radius) !default;\n$input-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$input-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: var(--#{$prefix}secondary-color) !default;\n$input-plaintext-color: var(--#{$prefix}body-color) !default;\n\n$input-height-border: calc(#{$input-border-width} * 2) !default; // stylelint-disable-line function-disallowed-list\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-color-width: 3rem !default;\n// scss-docs-end form-input-variables\n\n// scss-docs-start form-check-variables\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-start: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $input-bg !default;\n$form-check-input-border: var(--#{$prefix}border-width) solid var(--#{$prefix}border-color) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end: 1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color: rgba($black, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-start: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: background-position .15s ease-in-out !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-checked-bg-position: right center !default;\n// scss-docs-end form-switch-variables\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: var(--#{$prefix}tertiary-bg) !default;\n$input-group-addon-border-color: $input-border-color !default;\n// scss-docs-end input-group-variables\n\n// scss-docs-start form-select-variables\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-indicator-padding: $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-color: null !default;\n$form-select-disabled-bg: $input-disabled-bg !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,\") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position: center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $input-border-radius !default;\n$form-select-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n$form-select-border-radius-sm: $input-border-radius-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n$form-select-border-radius-lg: $input-border-radius-lg !default;\n\n$form-select-transition: $input-transition !default;\n// scss-docs-end form-select-variables\n\n// scss-docs-start form-range-variables\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: var(--#{$prefix}secondary-bg) !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: var(--#{$prefix}secondary-color) !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n// scss-docs-start form-file-variables\n$form-file-button-color: $input-color !default;\n$form-file-button-bg: var(--#{$prefix}tertiary-bg) !default;\n$form-file-button-hover-bg: var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-floating-variables\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-line-height: 1.25 !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-height: 1.5em !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-label-disabled-color: $gray-600 !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n// Form validation\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color: $form-feedback-valid-color !default;\n$form-valid-border-color: $form-feedback-valid-color !default;\n$form-invalid-color: $form-feedback-invalid-color !default;\n$form-invalid-border-color: $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": var(--#{$prefix}form-valid-color),\n \"icon\": $form-feedback-icon-valid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}success),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}success-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-valid-border-color),\n ),\n \"invalid\": (\n \"color\": var(--#{$prefix}form-invalid-color),\n \"icon\": $form-feedback-icon-invalid,\n \"tooltip-color\": #fff,\n \"tooltip-bg-color\": var(--#{$prefix}danger),\n \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}danger-rgb), $input-btn-focus-color-opacity),\n \"border-color\": var(--#{$prefix}form-invalid-border-color),\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-modal-backdrop: 1050 !default;\n$zindex-modal: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n$zindex-toast: 1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n n1: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Navs\n\n// scss-docs-start nav-variables\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: var(--#{$prefix}link-color) !default;\n$nav-link-hover-color: var(--#{$prefix}link-hover-color) !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: var(--#{$prefix}secondary-color) !default;\n$nav-link-focus-box-shadow: $focus-ring-box-shadow !default;\n\n$nav-tabs-border-color: var(--#{$prefix}border-color) !default;\n$nav-tabs-border-width: var(--#{$prefix}border-width) !default;\n$nav-tabs-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-tabs-link-hover-border-color: var(--#{$prefix}secondary-bg) var(--#{$prefix}secondary-bg) $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: var(--#{$prefix}emphasis-color) !default;\n$nav-tabs-link-active-bg: var(--#{$prefix}body-bg) !default;\n$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: var(--#{$prefix}border-radius) !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-underline-gap: 1rem !default;\n$nav-underline-border-width: .125rem !default;\n$nav-underline-link-active-color: var(--#{$prefix}emphasis-color) !default;\n// scss-docs-end nav-variables\n\n\n// Navbar\n\n// scss-docs-start navbar-variables\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-margin-end: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n\n$navbar-light-color: rgba(var(--#{$prefix}emphasis-color-rgb), .65) !default;\n$navbar-light-hover-color: rgba(var(--#{$prefix}emphasis-color-rgb), .8) !default;\n$navbar-light-active-color: rgba(var(--#{$prefix}emphasis-color-rgb), 1) !default;\n$navbar-light-disabled-color: rgba(var(--#{$prefix}emphasis-color-rgb), .3) !default;\n$navbar-light-icon-color: rgba($body-color, .75) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-light-toggler-border-color: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !default;\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-dark-variables\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-icon-color: $navbar-dark-color !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n// scss-docs-end navbar-dark-variables\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n// scss-docs-start dropdown-variables\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: var(--#{$prefix}body-color) !default;\n$dropdown-bg: var(--#{$prefix}body-bg) !default;\n$dropdown-border-color: var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius: var(--#{$prefix}border-radius) !default;\n$dropdown-border-width: var(--#{$prefix}border-width) !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer * .5 !default;\n$dropdown-box-shadow: var(--#{$prefix}box-shadow) !default;\n\n$dropdown-link-color: var(--#{$prefix}body-color) !default;\n$dropdown-link-hover-color: $dropdown-link-color !default;\n$dropdown-link-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: var(--#{$prefix}tertiary-color) !default;\n\n$dropdown-item-padding-y: $spacer * .25 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding-x: $dropdown-item-padding-x !default;\n$dropdown-header-padding-y: $dropdown-padding-y !default;\n// fusv-disable\n$dropdown-header-padding: $dropdown-header-padding-y $dropdown-header-padding-x !default; // Deprecated in v5.2.0\n// fusv-enable\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n\n// Pagination\n\n// scss-docs-start pagination-variables\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-font-size: $font-size-base !default;\n\n$pagination-color: var(--#{$prefix}link-color) !default;\n$pagination-bg: var(--#{$prefix}body-bg) !default;\n$pagination-border-radius: var(--#{$prefix}border-radius) !default;\n$pagination-border-width: var(--#{$prefix}border-width) !default;\n$pagination-margin-start: calc(#{$pagination-border-width} * -1) !default; // stylelint-disable-line function-disallowed-list\n$pagination-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-focus-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-focus-box-shadow: $focus-ring-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$pagination-hover-border-color: var(--#{$prefix}border-color) !default; // Todo in v6: remove this?\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $component-active-bg !default;\n\n$pagination-disabled-color: var(--#{$prefix}secondary-color) !default;\n$pagination-disabled-bg: var(--#{$prefix}secondary-bg) !default;\n$pagination-disabled-border-color: var(--#{$prefix}border-color) !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$pagination-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;\n$pagination-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;\n// scss-docs-end pagination-variables\n\n\n// Placeholders\n\n// scss-docs-start placeholders\n$placeholder-opacity-max: .5 !default;\n$placeholder-opacity-min: .2 !default;\n// scss-docs-end placeholders\n\n// Cards\n\n// scss-docs-start card-variables\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer * .5 !default;\n$card-title-color: null !default;\n$card-subtitle-color: null !default;\n$card-border-width: var(--#{$prefix}border-width) !default;\n$card-border-color: var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius: var(--#{$prefix}border-radius) !default;\n$card-box-shadow: null !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y * .5 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba(var(--#{$prefix}body-color-rgb), .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: var(--#{$prefix}body-bg) !default;\n$card-img-overlay-padding: $spacer !default;\n$card-group-margin: $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n// Accordion\n\n// scss-docs-start accordion-variables\n$accordion-padding-y: 1rem !default;\n$accordion-padding-x: 1.25rem !default;\n$accordion-color: var(--#{$prefix}body-color) !default;\n$accordion-bg: var(--#{$prefix}body-bg) !default;\n$accordion-border-width: var(--#{$prefix}border-width) !default;\n$accordion-border-color: var(--#{$prefix}border-color) !default;\n$accordion-border-radius: var(--#{$prefix}border-radius) !default;\n$accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default;\n\n$accordion-body-padding-y: $accordion-padding-y !default;\n$accordion-body-padding-x: $accordion-padding-x !default;\n\n$accordion-button-padding-y: $accordion-padding-y !default;\n$accordion-button-padding-x: $accordion-padding-x !default;\n$accordion-button-color: var(--#{$prefix}body-color) !default;\n$accordion-button-bg: var(--#{$prefix}accordion-bg) !default;\n$accordion-transition: $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg: var(--#{$prefix}primary-bg-subtle) !default;\n$accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;\n\n// fusv-disable\n$accordion-button-focus-border-color: $input-focus-border-color !default; // Deprecated in v5.3.3\n// fusv-enable\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $body-color !default;\n$accordion-icon-active-color: $primary-text-emphasis !default;\n$accordion-icon-transition: transform .2s ease-in-out !default;\n$accordion-icon-transform: rotate(-180deg) !default;\n\n$accordion-button-icon: url(\"data:image/svg+xml,\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end accordion-variables\n\n// Tooltips\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: var(--#{$prefix}body-bg) !default;\n$tooltip-bg: var(--#{$prefix}emphasis-color) !default;\n$tooltip-border-radius: var(--#{$prefix}border-radius) !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer * .25 !default;\n$tooltip-padding-x: $spacer * .5 !default;\n$tooltip-margin: null !default; // TODO: remove this in v6\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n// fusv-disable\n$tooltip-arrow-color: null !default; // Deprecated in Bootstrap 5.2.0 for CSS variables\n// fusv-enable\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n// Popovers\n\n// scss-docs-start popover-variables\n$popover-font-size: $font-size-sm !default;\n$popover-bg: var(--#{$prefix}body-bg) !default;\n$popover-max-width: 276px !default;\n$popover-border-width: var(--#{$prefix}border-width) !default;\n$popover-border-color: var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$popover-inner-border-radius: calc(#{$popover-border-radius} - #{$popover-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$popover-box-shadow: var(--#{$prefix}box-shadow) !default;\n\n$popover-header-font-size: $font-size-base !default;\n$popover-header-bg: var(--#{$prefix}secondary-bg) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: var(--#{$prefix}body-color) !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n// scss-docs-end popover-variables\n\n// fusv-disable\n// Deprecated in Bootstrap 5.2.0 for CSS variables\n$popover-arrow-color: $popover-bg !default;\n$popover-arrow-outer-color: var(--#{$prefix}border-color-translucent) !default;\n// fusv-enable\n\n\n// Toasts\n\n// scss-docs-start toast-variables\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-border-width: var(--#{$prefix}border-width) !default;\n$toast-border-color: var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius: var(--#{$prefix}border-radius) !default;\n$toast-box-shadow: var(--#{$prefix}box-shadow) !default;\n$toast-spacing: $container-padding-x !default;\n\n$toast-header-color: var(--#{$prefix}secondary-color) !default;\n$toast-header-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-header-border-color: $toast-border-color !default;\n// scss-docs-end toast-variables\n\n\n// Badges\n\n// scss-docs-start badge-variables\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: var(--#{$prefix}border-radius) !default;\n// scss-docs-end badge-variables\n\n\n// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding: $spacer !default;\n\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: var(--#{$prefix}body-bg) !default;\n$modal-content-border-color: var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width: var(--#{$prefix}border-width) !default;\n$modal-content-border-radius: var(--#{$prefix}border-radius-lg) !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: var(--#{$prefix}box-shadow-sm) !default;\n$modal-content-box-shadow-sm-up: var(--#{$prefix}box-shadow) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n\n$modal-header-border-color: var(--#{$prefix}border-color) !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-footer-bg: null !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n// scss-docs-end modal-variables\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n// scss-docs-start alert-variables\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: var(--#{$prefix}border-radius) !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: var(--#{$prefix}border-width) !default;\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n// fusv-disable\n$alert-bg-scale: -80% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-border-scale: -70% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-color-scale: 40% !default; // Deprecated in v5.2.0, to be removed in v6\n// fusv-enable\n\n// Progress bars\n\n// scss-docs-start progress-variables\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: var(--#{$prefix}secondary-bg) !default;\n$progress-border-radius: var(--#{$prefix}border-radius) !default;\n$progress-box-shadow: var(--#{$prefix}box-shadow-inset) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n// scss-docs-end progress-variables\n\n\n// List group\n\n// scss-docs-start list-group-variables\n$list-group-color: var(--#{$prefix}body-color) !default;\n$list-group-bg: var(--#{$prefix}body-bg) !default;\n$list-group-border-color: var(--#{$prefix}border-color) !default;\n$list-group-border-width: var(--#{$prefix}border-width) !default;\n$list-group-border-radius: var(--#{$prefix}border-radius) !default;\n\n$list-group-item-padding-y: $spacer * .5 !default;\n$list-group-item-padding-x: $spacer !default;\n// fusv-disable\n$list-group-item-bg-scale: -80% !default; // Deprecated in v5.3.0\n$list-group-item-color-scale: 40% !default; // Deprecated in v5.3.0\n// fusv-enable\n\n$list-group-hover-bg: var(--#{$prefix}tertiary-bg) !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: var(--#{$prefix}secondary-color) !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: var(--#{$prefix}secondary-color) !default;\n$list-group-action-hover-color: var(--#{$prefix}emphasis-color) !default;\n\n$list-group-action-active-color: var(--#{$prefix}body-color) !default;\n$list-group-action-active-bg: var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end list-group-variables\n\n\n// Image thumbnails\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: var(--#{$prefix}body-bg) !default;\n$thumbnail-border-width: var(--#{$prefix}border-width) !default;\n$thumbnail-border-color: var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius: var(--#{$prefix}border-radius) !default;\n$thumbnail-box-shadow: var(--#{$prefix}box-shadow-sm) !default;\n// scss-docs-end thumbnail-variables\n\n\n// Figures\n\n// scss-docs-start figure-variables\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: var(--#{$prefix}secondary-color) !default;\n// scss-docs-end figure-variables\n\n\n// Breadcrumbs\n\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: 0 !default;\n$breadcrumb-padding-x: 0 !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: null !default;\n$breadcrumb-divider-color: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-active-color: var(--#{$prefix}secondary-color) !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-divider-flipped: $breadcrumb-divider !default;\n$breadcrumb-border-radius: null !default;\n// scss-docs-end breadcrumb-variables\n\n// Carousel\n\n// scss-docs-start carousel-variables\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n// scss-docs-end carousel-variables\n\n// scss-docs-start carousel-dark-variables\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n// scss-docs-end carousel-dark-variables\n\n\n// Spinners\n\n// scss-docs-start spinner-variables\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n\n// Close\n\n// scss-docs-start close-variables\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,\") !default;\n$btn-close-focus-shadow: $focus-ring-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n// scss-docs-end close-variables\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y: $modal-inner-padding !default;\n$offcanvas-padding-x: $modal-inner-padding !default;\n$offcanvas-horizontal-width: 400px !default;\n$offcanvas-vertical-height: 30vh !default;\n$offcanvas-transition-duration: .3s !default;\n$offcanvas-border-color: $modal-content-border-color !default;\n$offcanvas-border-width: $modal-content-border-width !default;\n$offcanvas-title-line-height: $modal-title-line-height !default;\n$offcanvas-bg-color: var(--#{$prefix}body-bg) !default;\n$offcanvas-color: var(--#{$prefix}body-color) !default;\n$offcanvas-box-shadow: $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg: $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity: $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .1875rem !default;\n$kbd-padding-x: .375rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: var(--#{$prefix}body-bg) !default;\n$kbd-bg: var(--#{$prefix}body-color) !default;\n$nested-kbd-font-weight: null !default; // Deprecated in v5.2.0, removing in v6\n\n$pre-color: null !default;\n\n@import \"variables-dark\"; // TODO: can be removed safely in v6, only here to avoid breaking changes in v5.3\n","// Override bootstrap variables\n$spacer: 1rem;\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1400px,\n);\n$grid-breakpoints: (\n xs: 0,\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n);\n$dropdown-link-hover-bg: var(--pst-color-surface);\n\n// --pst-color-surface can also be assigned to the dark variant because it is\n// scoped to different values depending on light/dark theme\n$dropdown-dark-link-hover-bg: var(--pst-color-surface);\n$dropdown-link-active-bg: var(--pst-color-surface);\n$dropdown-dark-link-active-bg: var(--pst-color-surface);\n$focus-ring-width: 0.1875rem; // 3px at 100% zoom (0.1875 * 16px base font = 3px)\n$focus-ring-opacity: 1;\n$focus-ring-color: var(--pst-color-accent);\n$focus-ring-blur: 0;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color;\n\n// outline creates the same style of focus ring, it just uses CSS outline instead of box shadow\n$focus-ring-outline: $focus-ring-color solid $focus-ring-width;\n$btn-focus-box-shadow: $focus-ring-box-shadow;\n","/***\n * Rules for the UX/UI of skip navigation link btn.\n * It's only visible to people\n * navigating with keyboard for accessibility purposes\n * ref: https://www.youtube.com/watch?v=VUR0I5mqq7I\n ***/\n\n.skip-link {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n text-align: center;\n background-color: var(--pst-color-warning);\n padding: 0.5rem;\n z-index: $zindex-modal;\n border-bottom: 1px solid var(--pst-color-border);\n\n // This shows / hides the button\n transform: translateY(-100%);\n transition: transform 150ms ease-in-out;\n\n &:focus-within {\n transform: translateY(0%);\n }\n\n a {\n // Ensure we are using a WCAG conformant colour\n color: var(--pst-color-warning-text) !important;\n\n &:focus-visible {\n // use color with sufficient contrast\n outline-color: $foundation-black;\n }\n }\n}\n","/*******************************************************************************\n* master color map. Only the colors that actually differ between light and dark\n* themes are specified separately.\n*\n* To see the full list of colors see https://www.figma.com/file/rUrrHGhUBBIAAjQ82x6pz9/PyData-Design-system---proposal-for-implementation-(2)?node-id=1234%3A765&t=ifcFT1JtnrSshGfi-1\n*/\n\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n\n/**\n* Function to get items from nested maps\n*/\n// @param {Map} $map - Map\n// @param {Arglist} $keys - Keys to fetch\n// @return {*}\n@function map-deep-get($map, $keys...) {\n @each $key in $keys {\n $map: map.get($map, $key);\n }\n\n @return $map;\n}\n\n/* Assign base colors for the PyData theme */\n$color-palette: (\n // Primary color\n \"teal\":\n (\n \"50\": #f4fbfc,\n \"100\": #e9f6f8,\n \"200\": #d0ecf1,\n \"300\": #abdde6,\n \"400\": #3fb1c5,\n \"500\": #0a7d91,\n \"600\": #085d6c,\n \"700\": #064752,\n \"800\": #042c33,\n \"900\": #021b1f,\n ),\n // Secondary color\n \"violet\":\n (\n \"50\": #f4eefb,\n \"100\": #e0c7ff,\n \"200\": #d5b4fd,\n \"300\": #b780ff,\n \"400\": #9c5ffd,\n \"500\": #8045e5,\n \"600\": #6432bd,\n \"700\": #4b258f,\n \"800\": #341a61,\n \"900\": #1e0e39,\n ),\n // Neutrals\n \"gray\":\n (\n \"50\": #f9f9fa,\n \"100\": #f3f4f5,\n \"200\": #e5e7ea,\n \"300\": #d1d5da,\n \"400\": #9ca4af,\n \"500\": #677384,\n \"600\": #48566b,\n \"700\": #29313d,\n \"800\": #222832,\n \"900\": #14181e,\n ),\n // Accent color\n \"pink\":\n (\n \"50\": #fcf8fd,\n \"100\": #fcf0fa,\n \"200\": #f8dff5,\n \"300\": #f3c7ee,\n \"400\": #e47fd7,\n \"500\": #c132af,\n \"600\": #912583,\n \"700\": #6e1c64,\n \"800\": #46123f,\n \"900\": #2b0b27,\n ),\n \"foundation\": (\n \"white\": #ffffff,\n // gray-900\n \"black\": #14181e,\n )\n);\n\n:root {\n // Add theme colours to the html root element\n @each $group-color, $color in $color-palette {\n @each $color-name, $definition in $color {\n --pst-#{$group-color}-#{$color-name}: #{$definition};\n }\n }\n}\n\n// Static SCSS variables used thoroughout the theme\n// Minimum contrast ratio used for the theme.\n// Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n// 4.5 - is for text that is 14pt or less\n$min-contrast-ratio-4: 4.5;\n\n// 3 is for text that is 18pt or bold, or for non-text elements\n$min-contrast-ratio-3: 3;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$foundation-black: #14181e;\n$foundation-white: #fff;\n\n// This is a custom - calculated color between gray 100 and 200 - to reduce\n// the contrast ratio (avoid a jarring effect)\n$base-light-text: #ced6dd;\n\n// used in sphinx_design - gray 100\n$foundation-light-gray: #f3f4f5;\n\n// used in sphinx_design - gray 700\n$foundation-muted-gray: #29313d;\n\n// used in sphinx_design - gray 800\n$foundation-dark-gray: #222832;\n$pst-semantic-colors: (\n \"primary\": (\n \"light\": #{map-deep-get($color-palette, \"teal\", \"500\")},\n \"bg-light\": #{map-deep-get($color-palette, \"teal\", \"200\")},\n \"dark\": #{map-deep-get($color-palette, \"teal\", \"400\")},\n \"bg-dark\": #{map-deep-get($color-palette, \"teal\", \"800\")},\n ),\n \"secondary\": (\n \"light\": #{map-deep-get($color-palette, \"violet\", \"500\")},\n \"bg-light\": #{map-deep-get($color-palette, \"violet\", \"100\")},\n \"dark\": #{map-deep-get($color-palette, \"violet\", \"400\")},\n \"bg-dark\": #{map-deep-get($color-palette, \"violet\", \"800\")},\n ),\n \"accent\": (\n \"light\": #{map-deep-get($color-palette, \"pink\", \"500\")},\n \"bg-light\": #{map-deep-get($color-palette, \"pink\", \"200\")},\n \"dark\": #{map-deep-get($color-palette, \"pink\", \"400\")},\n \"bg-dark\": #{map-deep-get($color-palette, \"pink\", \"800\")},\n ),\n \"info\": (\n \"light\": #276be9,\n \"bg-light\": #dce7fc,\n \"dark\": #79a3f2,\n \"bg-dark\": #06245d,\n ),\n \"warning\": (\n \"light\": #f66a0a,\n \"bg-light\": #f8e3d0,\n \"dark\": #ff9245,\n \"bg-dark\": #652a02,\n ),\n \"success\": (\n \"light\": #00843f,\n \"bg-light\": #d6ece1,\n \"dark\": #5fb488,\n \"bg-dark\": #002f17,\n ),\n // This is based on the warning color\n \"attention\":\n (\n \"light\": var(--pst-color-warning),\n \"bg-light\": var(--pst-color-warning-bg),\n \"dark\": var(--pst-color-warning),\n \"bg-dark\": var(--pst-color-warning-bg),\n ),\n \"danger\": (\n \"light\": #d72d47,\n \"bg-light\": #f9e1e4,\n \"dark\": #e78894,\n \"bg-dark\": #4e111b,\n ),\n \"text-base\": (\n \"light\": #{map-deep-get($color-palette, \"gray\", \"800\")},\n \"dark\": $base-light-text,\n ),\n \"text-muted\": (\n \"light\": #{map-deep-get($color-palette, \"gray\", \"600\")},\n \"dark\": #{map-deep-get($color-palette, \"gray\", \"400\")},\n ),\n \"heading-color\": (\n \"light\": #{$foundation-white},\n \"dark\": #{$foundation-black},\n ),\n \"shadow\": (\n \"light\": rgba(0, 0, 0, 0.1),\n \"dark\": rgba(0, 0, 0, 0.2),\n ),\n \"border\": (\n \"light\": #{map-deep-get($color-palette, \"gray\", \"300\")},\n \"dark\": #{map-deep-get($color-palette, \"gray\", \"600\")},\n ),\n \"border-muted\": (\n \"light\": rgba(23, 23, 26, 0.2),\n \"dark\": #{map-deep-get($color-palette, \"gray\", \"700\")},\n ),\n \"blockquote-notch\": (\n // These colors have a contrast ratio > 3.0 against both the background and\n // surface colors that the notch is sandwiched between\n \"light\": #{map-deep-get($color-palette, \"gray\", \"500\")},\n \"dark\": #{map-deep-get($color-palette, \"gray\", \"400\")},\n ),\n \"inline-code\": (\n \"light\": #{map-deep-get($color-palette, \"pink\", \"600\")},\n \"dark\": #{map-deep-get($color-palette, \"pink\", \"300\")},\n ),\n \"inline-code-links\": (\n // need to make sure there is enough contrast against the code bg\n \"light\": #{map-deep-get($color-palette, \"teal\", \"600\")},\n // keep primary color for dark mode\n \"dark\": #{map-deep-get($color-palette, \"teal\", \"400\")},\n ),\n \"target\": (\n \"light\": #f3cf95,\n \"dark\": #675c04,\n ),\n \"table\": (\n \"light\": #{map-deep-get($color-palette, \"foundation\", \"black\")},\n \"dark\": #{map-deep-get($color-palette, \"foundation\", \"white\")},\n ),\n \"table-row-hover\": (\n \"bg-light\": #{map-deep-get($color-palette, \"violet\", \"300\")},\n \"bg-dark\": #{map-deep-get($color-palette, \"violet\", \"600\")},\n ),\n \"table-inner-border\": (\n \"light\": #{map-deep-get($color-palette, \"gray\", \"200\")},\n \"dark\": #364150,\n ),\n // DEPTH COLORS - you can see the elevation colours and shades\n // in the Figma file https://www.figma.com/file/rUrrHGhUBBIAAjQ82x6pz9/PyData-Design-system---proposal-for-implementation-(2)?node-id=1492%3A922&t=sQeQZehkOzposYEg-1\n // background: color of the canvas / the furthest back layer\n \"background\":\n (\n \"light\": #{map-deep-get($color-palette, \"foundation\", \"white\")},\n \"dark\": #{map-deep-get($color-palette, \"foundation\", \"black\")},\n ),\n // on-background: provides slight contrast against background\n // (by use of shadows in light theme)\n \"on-background\":\n (\n \"light\": #{map-deep-get($color-palette, \"foundation\", \"white\")},\n \"dark\": #{map-deep-get($color-palette, \"gray\", \"800\")},\n ),\n \"surface\": (\n \"light\": #{map-deep-get($color-palette, \"gray\", \"100\")},\n \"dark\": #{map-deep-get($color-palette, \"gray\", \"700\")},\n ),\n // on_surface: object on top of surface object (without shadows)\n \"on-surface\":\n (\n \"light\": #{map-deep-get($color-palette, \"gray\", \"800\")},\n \"dark\": $foundation-light-gray,\n ),\n);\n\n/*******************************************************************************\n* write the color rules for each theme (light/dark)\n*/\n\n/* NOTE:\n * Mixins enable us to reuse the same definitions for the different modes\n * https://sass-lang.com/documentation/at-rules/mixin\n * #{something} inserts a variable into a CSS selector or property name\n * https://sass-lang.com/documentation/interpolation\n */\n@mixin theme-colors($mode) {\n // check if this color is defined differently for light/dark\n @each $col-name, $definition in $pst-semantic-colors {\n @if meta.type-of($definition) == map {\n @each $key, $val in $definition {\n @if string.index($key, $mode) {\n // since now we define the bg colours in the semantic colours and not\n // by changing opacity, we need to check if the key contains bg and the\n // correct mode (light/dark)\n @if string.index($key, \"bg\") {\n --pst-color-#{$col-name}-bg: #{$val};\n } @else {\n --pst-color-#{$col-name}: #{$val};\n }\n }\n }\n } @else {\n --pst-color-#{$col-name}: #{$definition};\n }\n }\n\n // assign the \"duplicate\" colors (ones that just reference other variables)\n & {\n --pst-color-link: var(--pst-color-primary);\n --pst-color-link-hover: var(--pst-color-secondary);\n --pst-color-table-outer-border: var(--pst-color-surface);\n --pst-color-table-heading-bg: var(--pst-color-surface);\n --pst-color-table-row-zebra-high-bg: var(--pst-color-on-background);\n --pst-color-table-row-zebra-low-bg: var(--pst-color-surface);\n }\n\n // adapt to light/dark-specific content\n @if $mode == \"light\" {\n .only-dark,\n .only-dark ~ figcaption {\n display: none !important;\n }\n } @else {\n .only-light,\n .only-light ~ figcaption {\n display: none !important;\n }\n\n /* Adjust images in dark mode (unless they have class .only-dark or\n * .dark-light, in which case assume they're already optimized for dark\n * mode).\n */\n img:not(.only-dark, .dark-light) {\n filter: brightness(0.8) contrast(1.2);\n }\n\n /* Give images a light background in dark mode in case they have\n * transparency and black text (unless they have class .only-dark or .dark-light, in\n * which case assume they're already optimized for dark mode).\n */\n .bd-content img:not(.only-dark, .dark-light) {\n background-color: rgb(255 255 255);\n border-radius: 0.25rem;\n }\n\n // MathJax SVG outputs should be filled to same color as text.\n .MathJax_SVG * {\n fill: var(--pst-color-text-base);\n }\n }\n}\n\n/* Defaults to light mode if data-theme is not set */\nhtml:not([data-theme]) {\n @include theme-colors(\"light\");\n}\n\n/* NOTE: @each {...} is like a for-loop\n * https://sass-lang.com/documentation/at-rules/control/each\n */\n@each $mode in (light, dark) {\n html[data-theme=\"#{$mode}\"] {\n @include theme-colors($mode);\n\n color-scheme: $mode;\n }\n}\n\n// assign classes too, for runtime use of theme colors\n@each $col-name, $definition in $pst-semantic-colors {\n .pst-color-#{$col-name} {\n color: var(--pst-color-#{$col-name});\n }\n}\n",".bd-container {\n flex-grow: 1;\n display: flex;\n justify-content: center;\n\n .bd-container__inner {\n display: flex;\n }\n}\n\n.bd-page-width {\n width: 100%;\n\n @include media-breakpoint-up(lg) {\n max-width: $breakpoint-page-width;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n",".pst-async-banner-revealer {\n // Setting height to 0 and overflow to hidden allows us to add up the heights\n // of this element's children before revealing them.\n height: 0;\n overflow: hidden;\n\n // Height to be set by JavaScript, which should trigger the following\n // transition rule (unless the user has set their system to reduce motion).\n transition: height 300ms ease-in-out;\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n}\n\n#bd-header-version-warning,\n.bd-header-announcement {\n min-height: 3rem;\n width: 100%;\n display: flex;\n position: relative;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 0.5rem 12.5%; // Horizontal padding so the width is 75%\n // One breakpoint less than $breakpoint-sidebar-primary. See variables/_layout.scss for more info.\n @include media-breakpoint-down(lg) {\n // Announcements can take a bit more width on mobile\n padding: 0.5rem 2%;\n }\n\n p {\n font-weight: bold;\n margin: 0;\n }\n\n // Ensure there is enough contrast against the background\n a {\n color: var(--pst-color-inline-code-links);\n }\n\n // The \"Switch to stable version\" link (styled like a button)\n .pst-button-link-to-stable-version {\n @include box-shadow;\n\n $background-color: var(--pst-color-danger);\n $hover-background-color: var(--pst-color-danger-highlight);\n $color: var(--pst-color-danger-text);\n\n background-color: $background-color;\n border-color: $background-color;\n color: $color;\n border-radius: 0.25rem;\n\n &:hover {\n background-color: $hover-background-color;\n border-color: $hover-background-color;\n color: $color;\n }\n\n &:focus-visible {\n outline: $focus-ring-width solid $background-color;\n outline-offset: $focus-ring-width;\n }\n }\n}\n\n// Bg color is now defined in the theme color palette - using our secondary color\n.bd-header-announcement {\n background-color: var(--pst-color-secondary-bg);\n}\n\n#bd-header-version-warning {\n background-color: var(--pst-color-danger-bg);\n}\n","/*********************************************\n* SASS Mixins\n*********************************************/\n\n/**\n * A consistent box shadow style we apply across elements.\n */\n@mixin box-shadow() {\n box-shadow:\n 0 0.2rem 0.5rem var(--pst-color-shadow),\n 0 0 0.0625rem var(--pst-color-shadow) !important;\n}\n\n/**\n * Set background of some cell outputs to white-ish to make sure colors work\n * This is because many libraries make output that only looks good on white\n */\n@mixin cell-output-background {\n color: var(--pst-color-on-background);\n background-color: var(--pst-color-text-base);\n border-radius: 0.25rem;\n padding: 0.5rem;\n}\n\n@mixin table-colors {\n color: var(--pst-color-table);\n border: 1px solid var(--pst-color-table-outer-border);\n\n th,\n td {\n ~ th,\n ~ td {\n border-left: 1px solid var(--pst-color-table-inner-border);\n }\n }\n\n thead {\n tr {\n background-color: var(--pst-color-table-heading-bg);\n border-bottom: 2px solid var(--pst-color-primary);\n }\n }\n\n tbody {\n tr {\n &:nth-child(odd) {\n background-color: var(--pst-color-table-row-zebra-low-bg);\n }\n\n &:nth-child(even) {\n background-color: var(--pst-color-table-row-zebra-high-bg);\n }\n\n &:hover {\n background-color: var(--pst-color-table-row-hover-bg);\n }\n }\n }\n}\n\n// Minimum mouse hit area\n// ----------------------\n// Ensures that the element has a minimum hit area that conforms to\n// accessibility guidelines. For WCAG AA, we need 24px x 24px, see:\n// https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum.html\n@mixin min-hit-area() {\n box-sizing: border-box;\n min-width: 24px;\n min-height: 24px;\n}\n","/**\n * Main content area\n */\n.bd-main {\n flex-grow: 1;\n flex-direction: column;\n display: flex;\n min-width: 0;\n\n .bd-content {\n display: flex;\n justify-content: center;\n height: 100%;\n\n .bd-article-container {\n justify-content: start;\n display: flex;\n flex-direction: column;\n\n // Max-width is slightly more than the W3 since our docs often have images.\n // We shoot for about 100 characters per line instead of 80.\n // ref: https://www.w3.org/WAI/tutorials/page-structure/styling/#line-length\n width: 100%;\n max-width: 60em;\n overflow-x: auto; // Prevent wide content from pushing off the secondary sidebar\n padding: 1rem;\n\n .bd-article {\n // Give a bit more verticle spacing on wide screens\n @include media-breakpoint-up($breakpoint-sidebar-secondary) {\n padding-top: 1.5rem;\n padding-left: 2rem;\n }\n }\n }\n }\n}\n",".bd-footer {\n width: 100%;\n border-top: 1px solid var(--pst-color-border);\n\n .bd-footer__inner {\n display: flex;\n flex-grow: 1;\n padding: 1rem;\n margin: auto;\n }\n\n .footer-items__start,\n .footer-items__center,\n .footer-items__end {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n justify-content: center;\n flex-grow: 1;\n }\n\n .footer-items__center {\n text-align: center;\n }\n\n .footer-items__end {\n text-align: end;\n }\n\n // So that paragraphs don't take up extra room\n .footer-item p {\n margin-bottom: 0;\n }\n}\n",".bd-footer-article {\n margin-top: auto;\n\n .footer-article-items {\n display: flex;\n flex-direction: column;\n }\n}\n",".bd-footer-content {\n .footer-content-items {\n display: flex;\n flex-direction: column;\n margin-top: auto;\n }\n}\n","/**\n * Header at the top of the page\n * It includes the announcement bar and the navigation bar.\n */\n\n// Styling for the Icon links can be found in components/_icon-links.scss\n\n// If we want the shadow to only point downward in the future, set\n// box-shadow to: 0 0.125rem 0.25rem -0.125rem rgba(0, 0, 0, 0.11);\n.bd-header {\n position: sticky;\n top: 0;\n z-index: $zindex-fixed;\n\n // Overrides bootstrap\n background-color: var(--pst-color-on-background) !important;\n box-shadow: 0 0.125rem 0.25rem 0 var(--pst-color-shadow);\n width: 100%;\n padding: 0;\n max-width: 100vw;\n justify-content: center;\n\n .bd-header__inner {\n display: flex;\n align-items: center;\n height: fit-content;\n padding-left: 1rem;\n padding-right: 1rem;\n }\n\n :focus-visible {\n border-radius: $focus-ring-radius;\n }\n\n // These items will define the height of the header\n .navbar-item {\n height: var(--pst-header-height);\n max-height: var(--pst-header-height);\n display: flex;\n align-items: center;\n }\n\n // Hide the navbar header items on mobile because they're in the sidebar\n .navbar-header-items {\n display: none;\n flex-shrink: 1;\n\n @include media-breakpoint-up($breakpoint-sidebar-primary) {\n display: inherit;\n flex-grow: 1;\n padding: 0 0 0 0.5rem;\n }\n }\n\n .navbar-header-items__end,\n .navbar-header-items__center,\n .navbar-header-items__start {\n display: flex;\n align-items: center;\n flex-flow: wrap;\n\n // In case we wrap our items to multiple rows on small screens\n row-gap: 0;\n }\n\n .navbar-header-items__end,\n .navbar-header-items__center {\n column-gap: 1rem;\n }\n\n // A little smaller because this is displayed by default on mobile\n .navbar-header-items__start {\n flex-shrink: 0;\n margin-right: auto;\n gap: 0.5rem;\n }\n\n .navbar-header-items__end {\n // End navbar items should snap to the right\n justify-content: end;\n }\n\n // Contains the navigation links within the navbar\n ul.navbar-nav {\n display: flex;\n\n @include media-breakpoint-up($breakpoint-sidebar-primary) {\n // Align on wide screens so the dropdown button is centered properly\n align-items: baseline;\n }\n\n > li.nav-item {\n margin-inline: 2px; // breathing room so hover and focus styles do not overlap\n\n > .nav-link {\n @include link-style-block;\n\n padding-inline: 6px;\n }\n\n &.current {\n > .nav-link {\n color: var(--pst-color-primary);\n\n // Underline the current navbar item\n &::before {\n border-bottom: 3px solid var(--pst-color-primary);\n }\n }\n }\n\n &.dropdown {\n margin-inline: 4px;\n\n button {\n padding-inline: 8px;\n }\n\n > .dropdown-toggle {\n border-radius: $focus-ring-radius; // make border radius the same for both hover ring and focus ring\n color: var(--pst-color-text-muted);\n\n &:focus-visible {\n box-shadow: $focus-ring-box-shadow;\n }\n\n &:hover {\n text-decoration: none;\n box-shadow: 0 0 0 $focus-ring-width var(--pst-color-link-hover); // purple focus ring\n // Brighten the text on hover (muted -> base)\n color: var(--pst-color-text-base);\n }\n }\n }\n }\n\n li a.nav-link.dropdown-item {\n @include link-style-text;\n }\n\n // Dropdowns for the extra links\n .dropdown {\n button {\n display: unset;\n border: none;\n\n &:hover {\n @include link-style-hover;\n }\n }\n\n .dropdown-menu {\n z-index: $zindex-popover;\n border: 1px solid var(--pst-color-border);\n box-shadow: 0 0 0.3rem 0.1rem var(--pst-color-shadow);\n background-color: var(--pst-color-on-background);\n padding: 0.5rem 0;\n margin: 0.5rem 0;\n min-width: 20rem;\n\n .dropdown-item {\n // Give the items in the dropdown some breathing room but let the hit\n // and hover area of the items extend to the edges of the menu\n padding: 0.25rem 1.5rem;\n\n // Override Bootstrap\n &:focus:not(:hover, :active) {\n background-color: inherit;\n }\n\n &:focus-visible {\n z-index: 10; // keep focus ring on top (prevent the hover background of the next dropdown item from covering the ring)\n }\n }\n\n // Hide the menu unless show has been clicked\n &:not(.show) {\n display: none;\n }\n }\n }\n }\n\n // **************************************************************\n // Showing and hiding the sidebar toggle buttons and header items\n // **************************************************************\n\n // Toggle buttons\n button.sidebar-toggle {\n font-size: var(--pst-font-size-icon);\n color: var(--pst-color-muted);\n margin-bottom: 0;\n background-color: inherit;\n padding: 0.5rem;\n }\n\n button.primary-toggle {\n margin-right: 1rem;\n\n @include media-breakpoint-up($breakpoint-sidebar-primary) {\n display: none;\n }\n }\n\n button.secondary-toggle {\n margin-left: 1rem;\n\n @include media-breakpoint-up($breakpoint-sidebar-secondary) {\n display: none;\n }\n }\n}\n\n// inline the element in the navbar as long as they fit and use display block when collapsing\n@include media-breakpoint-up($breakpoint-sidebar-primary) {\n .navbar-center-items .navbar-item {\n display: inline-block;\n }\n}\n\n.nav-link {\n &:hover {\n @include link-style-hover;\n }\n\n // Override Bootstrap\n transition: none;\n\n &.nav-external::after {\n font: var(--fa-font-solid);\n content: var(--pst-icon-external-link);\n font-size: 0.75em;\n margin-left: 0.3em;\n }\n}\n\n.bd-navbar-elements li.nav-item i {\n font-size: 0.7rem;\n padding-left: 2px;\n vertical-align: middle;\n}\n\n// THe elements next to the hamburger menu only show on narrow screens\n.navbar-persistent--mobile {\n margin-left: auto;\n\n @include media-breakpoint-up($breakpoint-sidebar-primary) {\n display: none;\n }\n}\n\n// The navbar-persistent content should only show on wide screens\n.navbar-persistent--container {\n display: none;\n\n @include media-breakpoint-up($breakpoint-sidebar-primary) {\n display: flex;\n }\n}\n",".header-article__inner {\n display: flex;\n padding: 0 0.5rem;\n\n // The items define the height so that it disappears if there are no items\n .header-article-item {\n min-height: var(--pst-header-article-height);\n height: var(--pst-header-article-height);\n }\n\n .header-article-items__start,\n .header-article-items__end {\n display: flex;\n align-items: start;\n gap: 0.5rem;\n }\n\n .header-article-items__end {\n margin-left: auto;\n }\n}\n","/**\n * The primary sidebar on the left.\n * e.g., between-pages navigation.\n */\n\n$sidebar-padding-right: 1rem;\n\n.bd-sidebar-primary {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n max-height: calc(100vh - var(--pst-header-height));\n position: sticky;\n top: var(--pst-header-height);\n\n @include make-col(3);\n\n // Borders padding and whitespace\n padding: 2rem $sidebar-padding-right 1rem 1rem;\n border-right: 1px solid var(--pst-color-border);\n background-color: var(--pst-color-background);\n overflow-y: auto;\n font-size: var(--pst-sidebar-font-size-mobile);\n\n @include media-breakpoint-up($breakpoint-sidebar-primary) {\n font-size: var(--pst-sidebar-font-size);\n }\n\n :focus-visible {\n border-radius: $focus-ring-radius;\n }\n\n // override bootstrap when navlink are displayed in the sidebar\n .nav-link {\n font-size: var(--pst-sidebar-font-size-mobile);\n }\n\n &.no-sidebar {\n border-right: 0;\n }\n\n &.hide-on-wide {\n @include media-breakpoint-up($breakpoint-sidebar-primary) {\n display: none;\n }\n }\n\n // Headers shouldn't be colored in the sidebars and some extensions add headers\n h1,\n h2,\n h3,\n h4 {\n color: var(--pst-color-text-base);\n }\n\n .sidebar-primary-items__start,\n .sidebar-primary-items__end {\n .sidebar-primary-item {\n padding: 0.5rem 0;\n }\n }\n\n // Hide the sidebar header items on widescreen since they are visible in the header\n .sidebar-header-items {\n display: flex;\n flex-direction: column;\n\n .sidebar-header-items__title {\n font-weight: var(--pst-sidebar-header-font-weight);\n font-size: var(--pst-sidebar-header-font-size);\n color: var(--pst-color-text-base);\n margin-bottom: 0.5rem;\n }\n\n // The dropdown toggle for extra links just shows them all instead.\n .nav-item.dropdown {\n // On mobile, the dropdown behaves like any other link, no hiding\n button {\n display: none;\n }\n\n .dropdown-menu {\n display: flex;\n flex-direction: column;\n padding: 0;\n margin: 0;\n border: none;\n background-color: inherit;\n font-size: inherit;\n\n .dropdown-item {\n &:hover,\n &:focus {\n // In the mobile sidebar, the dropdown menu is inlined with the\n // other links, which do not have background-color changes on hover\n // and focus\n background-color: unset;\n }\n }\n }\n }\n\n .bd-navbar-elements {\n .nav-link {\n &:focus-visible {\n box-shadow: none; // Override Bootstrap\n outline: $focus-ring-outline;\n outline-offset: $focus-ring-width;\n }\n }\n }\n\n // Center header items get displayed vertically, end items are displayed horizontally\n .sidebar-header-items__center {\n display: flex;\n flex-direction: column;\n }\n\n // Positioning end items\n .sidebar-header-items__end {\n display: flex;\n align-items: center;\n gap: 1rem;\n }\n\n @include media-breakpoint-up($breakpoint-sidebar-primary) {\n display: none;\n }\n }\n\n .sidebar-primary-items__start {\n // Add a border on mobile to separate it from the header sidebar area\n border-top: 1px solid var(--pst-color-border);\n\n @include media-breakpoint-up($breakpoint-sidebar-primary) {\n border-top: none;\n }\n }\n\n .sidebar-primary-items__end {\n margin-top: auto;\n margin-bottom: 1em;\n }\n\n .list-caption {\n list-style: none;\n padding-left: 0;\n\n // Level 0 TOC heading is put inside the tag\n // so let the tag take up more space\n li.toctree-l0.has-children {\n > details {\n > summary {\n position: relative;\n height: auto;\n width: auto;\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n\n .toctree-toggle {\n // Prevent toggle icon from getting squished by summary being a\n // flexbox\n flex: 0 0 auto;\n\n // Make the level 0 chevron icon slightly bigger than descendant\n // levels\n .fa-chevron-down {\n font-size: 1rem;\n }\n }\n }\n }\n }\n }\n\n li.has-children {\n $toctree-toggle-width: 30px;\n\n position: relative;\n\n > .reference,\n .caption {\n margin-right: calc(\n $toctree-toggle-width + $focus-ring-width\n ); // keep clear of the toggle icon\n\n padding-top: 0.25rem; // align caption text with toggle chevron\n }\n\n > details {\n > summary {\n // Remove browser default toggle icon\n list-style: none;\n\n &::-webkit-details-marker {\n display: none;\n }\n\n // The summary element is natively focusable, but delegate the focus state to the toggle icon\n &:focus-visible {\n outline: none;\n\n > .toctree-toggle {\n outline: $focus-ring-outline;\n outline-offset: -$focus-ring-width; // Prevent right side of focus ring from disappearing underneath the sidebar's right edge\n }\n }\n\n // Container for expand/collapse chevron icon\n .toctree-toggle {\n cursor: pointer;\n\n // Position it so that it's aligned with the top right corner of the\n // last positioned element, in this case the li.has-children\n position: absolute;\n top: 0;\n right: 0;\n\n // Give it dimensions\n width: $toctree-toggle-width;\n height: $toctree-toggle-width; // make it square\n\n // Vertically and horizontally center the icon within the container\n display: inline-flex;\n justify-content: center;\n align-items: center;\n\n .fa-chevron-down {\n font-size: 0.75rem;\n }\n }\n }\n\n // The section is open/expanded, rotate the toggle icon (chevron) so it\n // points up instead of down\n &[open] {\n > summary {\n .fa-chevron-down {\n transform: rotate(180deg);\n }\n }\n }\n }\n }\n}\n\n/* Between-page links and captions */\nnav.bd-links {\n margin-right: -$sidebar-padding-right; // align toctree toggle chevrons with right edge of sidebar and allow text to flow closer to the right edge\n\n @include media-breakpoint-up($breakpoint-sidebar-primary) {\n display: block;\n }\n\n ul {\n display: block;\n list-style: none;\n\n // Reduce padding of nested `ul` items a bit\n ul {\n padding: 0 0 0 1rem;\n }\n }\n\n li > a {\n display: block;\n padding: 0.25rem 0.65rem;\n\n @include link-sidebar;\n\n box-shadow: none;\n margin-right: $focus-ring-width; // prevent the right side focus ring from disappearing under the sidebar right edge\n\n &.reference.external {\n &::after {\n font: var(--fa-font-solid);\n content: var(--pst-icon-external-link);\n font-size: 0.75em;\n margin-left: 0.3em;\n }\n }\n }\n\n .current > a {\n @include link-sidebar-current;\n\n background-color: transparent;\n }\n\n // Title\n p.bd-links__title {\n font-size: var(--pst-sidebar-header-font-size);\n font-weight: var(--pst-sidebar-header-font-weight);\n margin-bottom: 0.5rem;\n }\n\n // Toctree captions\n p.caption {\n font-weight: var(--pst-sidebar-header-font-weight);\n position: relative;\n margin-top: 1.25rem;\n margin-bottom: 0.5rem;\n color: var(--pst-color-text-base);\n\n &:first-child {\n margin-top: 0;\n }\n\n font-size: var(--pst-sidebar-font-size-mobile);\n\n @include media-breakpoint-up($breakpoint-sidebar-primary) {\n font-size: var(--pst-sidebar-font-size);\n }\n }\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$prefix}gutter-x: #{$gutter};\n --#{$prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: percentage(divide(1, $count));\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is an invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","/**\n * Secondary sidebar on the right.\n * e.g., in-page table of contents.\n */\n.bd-sidebar-secondary {\n display: flex;\n order: 2;\n flex-shrink: 0;\n flex-direction: column;\n position: sticky;\n top: var(--pst-header-height);\n max-height: calc(100vh - var(--pst-header-height));\n padding: 2rem 1rem 1rem;\n width: var(--pst-sidebar-secondary);\n font-size: var(--pst-sidebar-font-size-mobile);\n\n @include media-breakpoint-up($breakpoint-sidebar-secondary) {\n font-size: var(--pst-sidebar-font-size);\n }\n\n // Color and border\n background-color: var(--pst-color-background);\n overflow-y: auto;\n}\n\n.sidebar-secondary-item {\n padding: 0.5rem;\n\n @include media-breakpoint-up($breakpoint-sidebar-secondary) {\n border-left: 1px solid var(--pst-color-border);\n padding-left: 1rem;\n }\n\n i {\n padding-right: 0.5rem;\n }\n}\n","/*******************************************************************************\n* Rules for the UX/UI of sidebar sliding drawers on mobile\n* Note that this sheet controls styles across many parts of the theme\n* It is aggregated into this one sheet instead of being split across\n* components in order to keep it easier to debug in one place.\n* It is broken up into major sections below.\n*/\n\n/*******************************************************************************\n* Buttons and overlays\n*/\ninput.sidebar-toggle {\n display: none;\n}\n\n// Background overlays\nlabel.overlay {\n background-color: black;\n opacity: 0.5;\n height: 0;\n width: 0;\n position: fixed;\n top: 0;\n left: 0;\n transition: opacity $animation-time ease-out;\n z-index: $zindex-modal-backdrop;\n}\n\ninput {\n // Show the correct overlay when its input is checked\n &#pst-primary-sidebar-checkbox:checked + label.overlay.overlay-primary,\n &#pst-secondary-sidebar-checkbox:checked + label.overlay.overlay-secondary {\n height: 100vh;\n width: 100vw;\n }\n\n // Primary sidebar slides in from the left\n &#pst-primary-sidebar-checkbox:checked ~ .bd-container .bd-sidebar-primary {\n visibility: visible;\n margin-left: 0;\n }\n\n // Secondary sidebar slides in from the right\n &#pst-secondary-sidebar-checkbox:checked\n ~ .bd-container\n .bd-sidebar-secondary {\n visibility: visible;\n margin-right: 0;\n }\n}\n\n/*******************************************************************************\n* Sidebar drawer behavior\n*/\n\n/**\n * Behavior for sliding drawer elements that will be toggled with an input\n *\n * NOTE: We use this mixin to define the toggle behavior on narrow screens,\n * And the wide-screen behavior of the sections is defined in their own section\n * .scss files.\n */\n@mixin sliding-drawer($side: \"left\") {\n position: fixed;\n top: 0;\n z-index: $zindex-modal;\n height: 100vh;\n max-height: 100vh;\n width: 75%;\n flex-grow: 0.75;\n max-width: 350px;\n transition:\n visibility $animation-time ease-out,\n margin $animation-time ease-out;\n visibility: hidden;\n\n @if $side == \"right\" {\n margin-right: -75%;\n right: 0;\n } @else {\n margin-left: -75%;\n left: 0;\n }\n}\n\n// Primary sidebar hides/shows at earlier widths\n@include media-breakpoint-up($breakpoint-sidebar-primary) {\n .sidebar-toggle.primary-toggle {\n display: none;\n }\n\n input#pst-primary-sidebar-checkbox {\n &:checked + label.overlay.overlay-primary {\n height: 0;\n width: 0;\n }\n }\n\n .bd-sidebar-primary {\n margin-left: 0;\n visibility: visible;\n }\n}\n\n.bd-sidebar-primary {\n @include media-breakpoint-down($breakpoint-sidebar-primary) {\n @include sliding-drawer(\"left\");\n }\n}\n\n.bd-sidebar-secondary {\n @include media-breakpoint-down($breakpoint-sidebar-secondary) {\n @include sliding-drawer(\"right\");\n }\n}\n","/**\n * Breadcrumbs for parent pages meant for the article header\n */\nul.bd-breadcrumbs {\n list-style: none;\n padding-left: 0;\n display: flex;\n flex-wrap: wrap;\n\n // Font size slightly smaller to avoid cluttering up space too much\n font-size: 0.8rem;\n\n li.breadcrumb-item {\n display: flex;\n align-items: center;\n\n // Style should look like heavier in-page links\n // keeping visited in the default link colour\n font-weight: bold;\n\n a {\n @include link-style-text;\n }\n\n // Items that aren't the home have a caret to the left\n &:not(.breadcrumb-home)::before {\n font: var(--fa-font-solid);\n font-size: 0.8rem;\n content: var(--pst-breadcrumb-divider);\n color: var(--pst-color-text-muted);\n padding: 0 0.5rem;\n }\n }\n}\n","/**\n * Icon links in the navbar\n */\n\n.pst-navbar-icon {\n // Extra specificity needed for overrides\n html & {\n @include min-hit-area;\n @include link-style-block;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n // Bootstrap overrides\n border-radius: 0;\n border: none;\n font-size: 1rem;\n line-height: $line-height-body; // Override Boostrap, which defines a separate line-height for buttons\n padding: $navbar-link-padding-y 0; // Horizontal white space in nav bar between items is controlled via column gap rule on the container.\n\n // Make the navbar icon links have the same size as the navbar text links\n height: calc(2 * $navbar-link-padding-y + $line-height-body * 1rem);\n }\n}\n\nul.navbar-icon-links {\n display: flex;\n flex-flow: row wrap;\n column-gap: 1rem;\n justify-content: space-evenly;\n align-items: center;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n\n // Icons styling\n i {\n &.fa-brands,\n &.fa-regular,\n &.fa-solid {\n vertical-align: middle;\n font-style: normal;\n font-size: var(--pst-font-size-icon);\n }\n\n /* Social media buttons hard-code the brand color */\n &.fa-square-twitter::before {\n color: #55acee;\n }\n\n &.fa-square-gitlab::before {\n color: #548;\n }\n\n &.fa-bitbucket::before {\n color: #0052cc;\n }\n }\n\n // Force images to be icon-sized\n img.icon-link-image {\n height: 1.5em;\n border-radius: 0.2rem;\n }\n\n .fa-pydata {\n stroke: var(--pst-color-background);\n stroke-linejoin: round;\n stroke-width: 0.35;\n }\n}\n","/**\n * Logo in the navbar\n */\n\n.navbar-brand {\n position: relative;\n height: var(--pst-header-height);\n max-height: var(--pst-header-height);\n padding: 0.5rem 0;\n width: auto;\n margin: 0;\n display: flex;\n\n // Ensure that the logo stays the same length while other content shrinks\n flex-shrink: 0;\n align-items: center;\n gap: 0.5rem;\n\n // If there's no logo image, we use a p element w/ the site title\n p {\n color: var(--pst-color-text-base);\n margin-bottom: 0;\n }\n\n // If there's a logo, it'll be in an img block\n img {\n max-width: 100%;\n height: 100%;\n width: auto;\n }\n\n &:hover,\n &:visited:hover {\n @include link-style-hover;\n\n color: var(--pst-color-text-base);\n }\n}\n","/**\n * Navigation links in the navbar and icon links\n */\nul.navbar-nav {\n // Reduce padding of nested `ul` items a bit\n ul {\n padding: 0 0 0 1rem;\n }\n\n // Navbar links - do not have an underline by default\n li {\n display: flex;\n flex-direction: column;\n\n a {\n display: flex;\n align-items: center;\n height: 100%;\n padding-top: $navbar-link-padding-y;\n padding-bottom: $navbar-link-padding-y;\n\n @include link-style-text;\n }\n }\n}\n","/**\n * The list of in-page TOC links\n */\n.page-toc {\n .section-nav {\n padding-left: 0;\n border-bottom: none;\n\n ul {\n padding-left: 1rem;\n }\n }\n\n // override bootstrap settings\n .nav-link {\n font-size: var(--pst-sidebar-font-size-mobile);\n\n @include media-breakpoint-up($breakpoint-sidebar-secondary) {\n font-size: var(--pst-sidebar-font-size);\n }\n }\n\n .onthispage {\n color: var(--pst-color-text-base);\n font-weight: var(--pst-sidebar-header-font-weight);\n margin-bottom: 0.5rem;\n }\n}\n","/**\n* Previous / Next navigation buttons\n**/\n.prev-next-area {\n width: 100%;\n\n p {\n color: var(--pst-color-text-muted);\n margin: 0 0.3em;\n line-height: 1.3em;\n }\n\n i {\n font-size: 1.2em;\n }\n\n a {\n // So that buttons align with icons\n display: flex;\n align-items: center;\n border: none;\n padding: 10px;\n max-width: 45%;\n overflow-x: hidden;\n color: var(--pst-color-text-muted);\n text-decoration: none;\n\n p.prev-next-title {\n @include link-style-default;\n\n font-weight: var(--pst-admonition-font-weight-heading);\n font-size: 1.1em;\n }\n\n &:hover,\n &:visited:hover {\n p.prev-next-title {\n @include link-style-hover;\n }\n }\n\n .prev-next-info {\n flex-direction: column;\n margin: 0 0.5em;\n\n .prev-next-subtitle {\n text-transform: capitalize;\n }\n }\n\n &.left-prev {\n float: left;\n }\n\n &.right-next {\n float: right;\n\n div.prev-next-info {\n text-align: right;\n }\n }\n }\n}\n","/**\n * Search field\n **/\n.bd-search {\n position: relative;\n padding-left: 0.5rem;\n gap: 0.5rem;\n background-color: var(--pst-color-background);\n border-radius: $admonition-border-radius;\n border: 1px solid var(--pst-color-border);\n color: var(--pst-color-text-base);\n\n // Background should always be same color regardless of active or not\n &:active {\n background-color: var(--pst-color-background);\n color: var(--pst-color-text-muted);\n }\n\n .icon {\n position: absolute;\n color: var(--pst-color-border);\n left: 25px;\n }\n\n .fa-solid.fa-magnifying-glass {\n position: absolute;\n left: calc((2.5rem - 0.7em) / 2);\n color: var(--pst-color-text-muted);\n }\n\n input {\n // Inner-text of the search bar\n &::placeholder {\n color: var(--pst-color-text-muted);\n }\n\n // Remove the little \"x\" that pops up when you start typing\n &::-webkit-search-cancel-button,\n &::-webkit-search-decoration {\n appearance: none;\n }\n }\n\n // Shows off the keyboard shortcuts for the button\n .search-button__kbd-shortcut {\n display: flex;\n position: absolute;\n right: 0.5rem;\n color: var(--pst-color-border);\n }\n}\n\n.form-control {\n background-color: var(--pst-color-background);\n color: var(--pst-color-text-base);\n\n &:focus,\n &:focus-visible {\n border: none;\n background-color: var(--pst-color-background);\n color: var(--pst-color-text-muted);\n }\n}\n\n/**\n * Search button - located in the navbar\n */\n\n// Search link icon should be a bit bigger since it is separate from icon links\n.search-button i {\n font-size: 1.3rem;\n}\n\n// __search-container will only show up when we use the search pop-up bar\n.search-button__search-container,\n.search-button__overlay {\n display: none;\n}\n\n.search-button__wrapper.show {\n .search-button__search-container {\n display: flex;\n\n // Center in middle of screen just underneath header\n position: fixed;\n z-index: $zindex-modal;\n top: 30%;\n left: 50%;\n transform: translate(-50%, -50%);\n right: 1rem;\n margin-top: 0.5rem;\n width: 90%;\n max-width: 800px;\n }\n\n .search-button__overlay {\n display: flex;\n position: fixed;\n z-index: $zindex-modal-backdrop;\n background-color: black;\n opacity: 0.5;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n }\n\n form.bd-search {\n flex-grow: 1;\n padding-top: 0;\n padding-bottom: 0;\n }\n\n // Font and input text a bit bigger\n svg,\n input {\n font-size: var(--pst-font-size-icon);\n }\n}\n\n/**\n * The search button component that looks like a field.\n * Lives at components/search-button-field.html\n */\n.search-button-field {\n $search-button-border-radius: 1.5em;\n\n display: inline-flex;\n align-items: center;\n border: var(--pst-color-border) solid 1px;\n border-radius: $search-button-border-radius;\n color: var(--pst-color-text-muted);\n padding: 0.5em;\n background-color: var(--pst-color-surface);\n\n &:hover {\n box-shadow: 0 0 0 $focus-ring-width var(--pst-color-link-hover);\n }\n\n &:focus-visible {\n border-radius: $search-button-border-radius;\n }\n\n // The keyboard shotcut text\n .search-button__default-text {\n font-size: var(--bs-nav-link-font-size);\n font-weight: var(--bs-nav-link-font-weight);\n margin-right: 0.5em;\n margin-left: 0.5em;\n }\n\n .kbd-shortcut__modifier {\n font-size: 0.75em;\n }\n\n // Ensures that all the text lines up in the middle\n > * {\n align-items: center;\n }\n\n // Only the icon should be visible on narrow screens\n > :not(svg) {\n display: none;\n\n @include media-breakpoint-up(lg) {\n display: flex;\n }\n }\n}\n","/**\n * The 'Hide Search Matches' button.\n * This only shows up when a person lands on a page after clicking a search result.\n * Clicking it removes the highlighting of the search term from the page.\n * We want it to behave like a button.\n */\ndiv#searchbox {\n // Leave `#searchbox` rules empty so that it doesn't show at all when it is empty\n p.highlight-link {\n margin: 1rem 0;\n width: fit-content;\n\n // A bit more margin on wide screens to mimic article behavior\n @include media-breakpoint-up($breakpoint-sidebar-secondary) {\n margin-left: 2rem;\n }\n\n // Put outer shadow on this one so that we can darken the link w/ an inner shadow\n @include box-shadow;\n\n // Style the button to look like a Sphinx Design button\n a {\n border-radius: 0.25rem;\n font-size: 1.25rem;\n padding: 0.75rem;\n background-color: var(--pst-color-primary);\n color: var(--pst-color-primary-text);\n text-decoration: none;\n\n // The box shadow is inset so that it darkens the button on hover\n transition: box-shadow 0.25s ease-out;\n\n &:hover {\n box-shadow: inset 0 0 50px 50px rgb(0 0 0 / 25%);\n }\n\n &::before {\n content: var(--pst-icon-search-minus);\n color: unset;\n font: var(--fa-font-solid);\n margin-right: 0.5rem;\n }\n }\n }\n}\n","/**\n * Light/dark theme switcher\n */\n\n.theme-switch-button {\n .theme-switch {\n display: none;\n\n &:active {\n text-decoration: none;\n color: var(--pst-color-link-hover);\n }\n\n .fa-lg {\n aspect-ratio: 1 / 1;\n }\n }\n}\n\n@each $mode in auto, light, dark {\n html[data-mode=\"#{$mode}\"]\n .theme-switch-button\n .theme-switch[data-mode=\"#{$mode}\"] {\n display: inline; // inline needed for span height to be calculated using inherited font size and line height\n }\n}\n","button.btn.version-switcher__button {\n border-color: var(--pst-color-border);\n color: var(--pst-color-text-base);\n\n // Add a margin on narrow screens to avoid feeling cramped\n margin-bottom: 1em;\n\n @include media-breakpoint-up($breakpoint-sidebar-primary) {\n margin-bottom: unset;\n }\n\n &:hover {\n box-shadow: 0 0 0 $focus-ring-width var(--pst-color-secondary);\n border-color: transparent;\n }\n\n &:active {\n color: var(--pst-color-text-base);\n border-color: var(--pst-color-border);\n }\n\n &:focus-visible {\n border-color: transparent;\n }\n}\n\n.version-switcher__menu {\n border-color: var(--pst-color-border);\n border-radius: var(--bs-dropdown-border-radius);\n\n a.list-group-item {\n background-color: var(--pst-color-on-background);\n color: var(--pst-color-text-base);\n padding: 0.75rem 1.25rem;\n\n &:not(:last-child) {\n border-bottom: 1px solid var(--pst-color-border);\n }\n\n &:hover {\n @include link-style-hover;\n\n background-color: var(--pst-color-surface);\n }\n\n &.active {\n @include link-sidebar-current;\n\n position: relative;\n z-index: 1;\n\n span::before {\n content: \"\";\n width: 100%;\n height: 100%;\n position: absolute;\n z-index: -1;\n left: 0;\n top: 0;\n }\n }\n\n &:focus-visible {\n z-index: 10; // keep focus ring on top (prevent the hover background of the next dropdown item from covering the ring)\n }\n }\n}\n\n// Font behavior on mobile\nbutton.version-switcher__button,\n.version-switcher__menu {\n font-size: 1.1em; // A bit smaller than other menu font\n z-index: $zindex-modal; // higher than the sidebars\n\n // Make sure it meets WCAG target size requirement no matter the version\n // string displayed in the button\n @include min-hit-area;\n\n @include media-breakpoint-up($breakpoint-sidebar-primary) {\n font-size: unset;\n }\n}\n","/* Collapsing of the TOC sidebar while scrolling */\n\n/* Nav: hide second level (shown on .active) */\n\nnav.page-toc {\n // A little extra space before the buttons\n margin-bottom: 1rem;\n}\n\n.bd-toc .nav {\n .nav {\n display: none;\n\n // So we can manually specify a level as visible in the config\n &.visible {\n display: block;\n }\n }\n\n > .active > ul {\n display: block;\n }\n}\n\n// Each entry of the in-page TOC\n.toc-entry {\n display: block;\n\n a > code {\n color: var(--pst-color-text-muted);\n }\n\n a.nav-link {\n display: block;\n padding: 0.125rem 0;\n\n // Padding w/ negative margin so the top TOC item highlight overlaps w/ the TOC border\n padding-left: 1rem;\n margin-left: -1rem;\n\n @include link-sidebar;\n\n &.active {\n @include link-sidebar-current;\n\n background-color: transparent;\n\n &:hover {\n color: var(--pst-color-link-hover);\n }\n }\n\n &:focus-visible {\n border-radius: $focus-ring-radius;\n }\n }\n}\n","div.versionadded,\ndiv.versionchanged,\ndiv.deprecated {\n vertical-align: middle;\n margin: 1.5625em auto;\n padding: 0 0.6rem;\n overflow: hidden;\n\n /* break-inside has replaced page-break-inside and is widely usable since 2019 */\n page-break-inside: avoid;\n break-inside: avoid;\n border-left: 0.2rem solid;\n border-color: var(--pst-color-info);\n border-radius: $admonition-border-radius;\n background-color: var(--pst-color-on-background);\n\n @include box-shadow;\n\n position: relative;\n\n > p {\n margin-bottom: 0.6rem;\n margin-top: 0.6rem;\n }\n}\n\ndiv.versionadded {\n border-color: var(--pst-color-success);\n background-color: var(--pst-color-success-bg);\n}\n\ndiv.versionchanged {\n border-color: var(--pst-color-warning);\n background-color: var(--pst-color-warning-bg);\n}\n\ndiv.deprecated {\n border-color: var(--pst-color-danger);\n background-color: var(--pst-color-danger-bg);\n}\n\nspan.versionmodified {\n font-weight: 600;\n\n &::before {\n margin-right: 0.6rem;\n color: var(--pst-color-info);\n font: var(--fa-font-solid);\n content: var(--pst-icon-versionmodified-default);\n }\n}\n\nspan.versionmodified.added {\n &::before {\n color: var(--pst-color-success);\n content: var(--pst-icon-versionmodified-added);\n }\n}\n\nspan.versionmodified.changed {\n &::before {\n color: var(--pst-color-warning);\n content: var(--pst-icon-versionmodified-changed);\n }\n}\n\nspan.versionmodified.deprecated {\n &::before {\n color: var(--pst-color-danger);\n content: var(--pst-icon-versionmodified-deprecated);\n }\n}\n",".sidebar-indices-items {\n display: flex;\n flex-direction: column;\n border-top: 1px solid var(--pst-color-border);\n\n @include media-breakpoint-up($breakpoint-sidebar-primary) {\n border-top: none;\n }\n\n .sidebar-indices-items__title {\n font-weight: var(--pst-sidebar-header-font-weight);\n font-size: var(--pst-sidebar-header-font-size);\n color: var(--pst-color-text-base);\n margin-bottom: 0.5rem;\n }\n\n ul.indices-link {\n margin-right: -1rem;\n list-style: none;\n padding: 0;\n\n li > a {\n display: block;\n padding: 0.25rem 0;\n color: var(--pst-color-text-muted);\n\n &:hover {\n color: var(--pst-color-primary);\n text-decoration: none;\n background-color: transparent;\n }\n }\n }\n}\n",".bd-sidebar-primary div#rtd-footer-container {\n position: sticky;\n bottom: -1rem;\n margin: -1rem; // ignore sidebar padding\n\n .rst-versions.rst-badge {\n position: unset;\n font-size: 0.9em;\n font-family: var(--pst-font-family-base);\n max-width: unset;\n\n .rst-current-version {\n display: flex;\n align-items: center;\n gap: 0.2rem;\n height: 2.5rem;\n transition: background-color 0.2s ease-out;\n background-color: var(--pst-color-background);\n color: var(--pst-color-success);\n border-top: 1px solid var(--pst-color-border);\n }\n\n .fa.fa-book {\n color: var(--pst-color-text-muted);\n margin-right: auto;\n\n &::after {\n color: var(--pst-color-text-base);\n content: \"Read The Docs\";\n font-family: var(--pst-font-family-base);\n font-weight: var(--pst-admonition-font-weight-heading);\n }\n }\n\n .fa.fa-caret-down {\n color: var(--pst-color-text-muted);\n }\n }\n\n .rst-versions.rst-badge.shift-up {\n .rst-current-version {\n border-bottom: 1px solid var(--pst-color-border);\n }\n }\n\n .rst-other-versions {\n background-color: var(--pst-color-surface);\n color: var(--pst-color-text-base);\n\n dl {\n dd a {\n color: var(--pst-color-text-muted);\n }\n }\n\n hr {\n background-color: var(--pst-color-border);\n }\n\n small a {\n color: var(--pst-color-link);\n }\n\n input {\n padding-left: 0.5rem;\n border: 1px solid var(--pst-color-border);\n background-color: var(--pst-color-surface);\n }\n }\n}\n","/**\n * Admonitions and blocks of styled content.\n * Admonitions CSS originally inspired by https://squidfunk.github.io/mkdocs-material/getting-started/\n */\n$admonition-border-radius: 0.25rem;\n$admonition-left-border-width: 0.2rem;\n\ndiv.admonition,\n.admonition {\n margin: 1.5625em auto;\n padding: 0 0.6rem 0.8rem;\n overflow: hidden;\n\n /* break-inside has replaced page-break-inside and is widely usable since 2019 */\n page-break-inside: avoid;\n break-inside: avoid;\n border-left: $admonition-left-border-width solid;\n border-color: var(--pst-color-info);\n border-radius: $admonition-border-radius;\n background-color: var(--pst-color-on-background);\n\n @include box-shadow;\n\n // Last item should have no spacing since we'll control that w/ padding\n *:last-child {\n margin-bottom: 0;\n }\n\n // Items after the title should be indented\n p.admonition-title ~ * {\n margin-left: 1.4rem;\n margin-right: 1.4rem;\n }\n\n // Lists need to have left margin so they don't spill into it\n > ol,\n > ul {\n margin-left: 1em;\n }\n\n // Defaults for all admonitions\n > .admonition-title {\n margin: 0 -0.6rem;\n padding: 0.4rem 0.6rem 0.4rem 2rem;\n font-weight: var(--pst-admonition-font-weight-heading);\n position: relative;\n\n @include legacy-backdrop-placeholder;\n\n background-color: var(--pst-color-info-bg);\n\n // now that we use solid colors we want the title on top\n z-index: 1;\n\n &::after {\n position: absolute;\n left: 0.5rem;\n width: 1rem;\n height: 1rem;\n color: var(--pst-color-info);\n font: var(--fa-font-solid);\n line-height: inherit;\n content: var(--pst-icon-admonition-default);\n opacity: 1;\n }\n\n // Next element after title needs some extra upper-space\n + * {\n margin-top: 0.4em;\n }\n }\n\n &.attention {\n border-color: var(--pst-color-attention);\n\n > .admonition-title {\n background-color: var(--pst-color-attention-bg);\n\n &::after {\n color: var(--pst-color-attention);\n content: var(--pst-icon-admonition-attention);\n }\n }\n }\n\n &.caution {\n border-color: var(--pst-color-warning);\n\n > .admonition-title {\n background-color: var(--pst-color-warning-bg);\n\n &::after {\n color: var(--pst-color-warning);\n content: var(--pst-icon-admonition-caution);\n }\n }\n }\n\n &.warning {\n border-color: var(--pst-color-warning);\n\n > .admonition-title {\n background-color: var(--pst-color-warning-bg);\n\n &::after {\n color: var(--pst-color-warning);\n content: var(--pst-icon-admonition-warning);\n }\n }\n }\n\n &.danger {\n border-color: var(--pst-color-danger);\n\n > .admonition-title {\n background-color: var(--pst-color-danger-bg);\n\n &::after {\n color: var(--pst-color-danger);\n content: var(--pst-icon-admonition-danger);\n }\n }\n }\n\n &.error {\n border-color: var(--pst-color-danger);\n\n > .admonition-title {\n background-color: var(--pst-color-danger-bg);\n\n &::after {\n color: var(--pst-color-danger);\n content: var(--pst-icon-admonition-error);\n }\n }\n }\n\n &.hint {\n border-color: var(--pst-color-success);\n\n > .admonition-title {\n background-color: var(--pst-color-success-bg);\n\n &::after {\n color: var(--pst-color-success);\n content: var(--pst-icon-admonition-hint);\n }\n }\n }\n\n &.tip {\n border-color: var(--pst-color-success);\n\n > .admonition-title {\n background-color: var(--pst-color-success-bg);\n\n &::after {\n color: var(--pst-color-success);\n content: var(--pst-icon-admonition-tip);\n }\n }\n }\n\n &.important {\n border-color: var(--pst-color-attention);\n\n > .admonition-title {\n background-color: var(--pst-color-attention-bg);\n\n &::after {\n color: var(--pst-color-attention);\n content: var(--pst-icon-admonition-important);\n }\n }\n }\n\n &.note {\n border-color: var(--pst-color-info);\n\n > .admonition-title {\n background-color: var(--pst-color-info-bg);\n\n &::after {\n color: var(--pst-color-info);\n content: var(--pst-icon-admonition-note);\n }\n }\n }\n\n &.seealso {\n border-color: var(--pst-color-success);\n\n > .admonition-title {\n background-color: var(--pst-color-success-bg);\n\n &::after {\n color: var(--pst-color-success);\n content: var(--pst-icon-admonition-seealso);\n }\n }\n }\n\n &.admonition-todo {\n border-color: var(--pst-color-secondary);\n\n > .admonition-title {\n background-color: var(--pst-color-secondary-bg);\n\n &::after {\n color: var(--pst-color-secondary);\n content: var(--pst-icon-admonition-todo);\n }\n }\n }\n\n /**\n * Special-case for a `sidebar` class that makes the admonition float to\n * the right like the {sidebar} directive.\n */\n &.sidebar {\n max-width: 40%;\n float: right;\n clear: both;\n margin-left: 0.5rem;\n margin-top: 0;\n\n // Undo the .sidebar directive border\n border-width: 0 0 0 $admonition-left-border-width;\n\n // TODO: these semantic-color-names border-color rules might no longer be\n // needed when we drop support for Sphinx 4 / docutils 0.17\n &.attention,\n &.important {\n border-color: var(--pst-color-attention);\n }\n\n &.caution,\n &.warning {\n border-color: var(--pst-color-warning);\n }\n\n &.danger,\n &.error {\n border-color: var(--pst-color-danger);\n }\n\n &.hint,\n &.tip,\n &.seealso {\n border-color: var(--pst-color-success);\n }\n\n &.note,\n &.todo {\n border-color: var(--pst-color-info);\n }\n\n // No inner margin since we have less horizontal space w/ the sidebar\n p.admonition-title ~ * {\n margin-left: 0;\n margin-right: 0;\n }\n }\n}\n\n/**************************************************************\n * Similar content blocks that are not technically admonitions.\n */\n\n/**\n * Topics and the {contents} directive\n */\n// Docutils <= 0.17\ndiv.topic,\ndiv.topic.contents,\n// Docutils >= 0.18\nnav.contents,\naside.topic {\n display: flex;\n flex-direction: column;\n background-color: var(--pst-color-surface);\n border-color: var(--pst-color-border);\n border-radius: $admonition-border-radius;\n padding: 1rem 1.25rem;\n\n @include box-shadow;\n\n .topic-title {\n margin: 0 0 0.5rem;\n }\n\n // Over-ride text color to ensure enough contrast\n p {\n color: var(--pst-color-on-surface) !important;\n }\n\n // Over-ride large default padding\n ul.simple {\n padding-left: 1rem;\n\n ul {\n // So that sub-lists will have a bit less padding\n padding-left: 2em;\n }\n }\n}\n\n/**\n * Sidebar directive\n */\naside.sidebar {\n border: 1px solid var(--pst-color-border);\n background-color: var(--pst-color-surface);\n border-radius: $admonition-border-radius;\n\n // to match the admonition-styled sidebars:\n margin-left: 0.5rem;\n padding: 0;\n\n > *:last-child {\n padding-bottom: 1rem;\n }\n\n p.sidebar-title {\n position: relative;\n margin-bottom: 0;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n border-bottom: 1px solid var(--pst-color-border);\n font-family: var(--pst-font-family-heading);\n font-weight: var(--pst-admonition-font-weight-heading);\n }\n\n // Add margin to the first non-`.sidebar-title` item\n > *:not(.sidebar-title):first-child,\n > p.sidebar-title + * {\n margin-top: 1rem;\n }\n\n > * {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n}\n\n/**\n * Rubrics look kind of like section headers\n */\np.rubric {\n display: flex;\n flex-direction: column;\n}\n\n/**\n * Seealso is kind of like a vertically-collapsed admonition\n */\n.seealso dd {\n margin-top: 0;\n margin-bottom: 0;\n}\n","/**\n * Miscellaneous color functions and mixins\n**/\n\n@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:math\";\n@use \"sass:string\";\n\n// We must add ::before pseudo-element to some theme components (such as admonitions)\n// because users were instructed to customize the background color this way.\n@mixin legacy-backdrop-placeholder {\n &::before {\n content: \"\";\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n z-index: -1;\n\n // So that hovering over the text within background is still possible.\n // Otherwise the background overlays the text and you cannot click or select easily.\n // ref: https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events\n pointer-events: none;\n }\n}\n\n/**\n* Function to get items from nested maps\n*/\n// @param {Map} $map - Map\n// @param {Arglist} $keys - Keys to fetc\n// @return {*}\n@function map-deep-get($map, $keys...) {\n @each $key in $keys {\n $map: map.get($map, $key);\n }\n\n @return $map;\n}\n\n/**\n * Function to check if the color needs converting to a \"color\" type\n * if it is a string we cannot use other color manipulation functions\n * It is used to create the sphinx-design colours as these are often interpolated\n */\n// @param {String/Color} $color - Color definition from map\n// @return {Color} - Color type (in hex)\n@function check-color($color) {\n @if meta.type-of($color) == string {\n $color: from-hex($color);\n }\n\n @return $color;\n}\n\n/**\n * Function to convert the string representation of a color to a color type (hex)\n */\n// @param {String} $string - String representation of a color\n@function from-hex($string) {\n $string-lower: string.to-lower-case($string);\n $r: \"\";\n $g: \"\";\n $b: \"\";\n $hex: \"0\" \"1\" \"2\" \"3\" \"4\" \"5\" \"6\" \"7\" \"8\" \"9\" \"a\" \"b\" \"c\" \"d\" \"e\" \"f\";\n $length: string.length($string);\n $max: if($length == 4, 1, 2);\n\n // Check for length accuracy\n @if $length != 4 and $length != 7 {\n @return $string;\n }\n\n // Loop from the second character (omitting #)\n @for $i from 2 through $length {\n $c: string.slice($string-lower, $i, $i);\n\n // If wrong character, return\n @if not list.index($hex, $c) {\n @return $string;\n }\n\n @if string.length($r) < $max {\n $r: $r + $c;\n } @else if string.length($g) < $max {\n $g: $g + $c;\n } @else if string.length($b) < $max {\n $b: $b + $c;\n }\n }\n\n @if $length == 4 {\n $r: $r + $r;\n $g: $g + $g;\n $b: $b + $b;\n }\n\n @return rgb(hex-to-dec($r), hex-to-dec($g), hex-to-dec($b));\n}\n\n@function hex-to-dec($string) {\n $hex: \"0\" \"1\" \"2\" \"3\" \"4\" \"5\" \"6\" \"7\" \"8\" \"9\" \"a\" \"b\" \"c\" \"d\" \"e\" \"f\";\n $string: string.to-lower-case($string);\n $length: string.length($string);\n $dec: 0;\n\n @for $i from 1 through $length {\n $factor: 1 + (15 * ($length - $i));\n $index: list.index($hex, string.slice($string, $i, $i));\n $dec: $dec + $factor * ($index - 1);\n }\n\n @return $dec;\n}\n","// Style API docs from sphinx' autodoc / autosummary\n\n/*******************************************************************************\n* Styling for field lists\n*/\n\n/* grey highlighting of 'parameter' and 'returns' field */\ntable.field-list {\n border-collapse: separate;\n border-spacing: 10px;\n margin-left: 1px;\n\n th.field-name {\n padding: 1px 8px 1px 5px;\n white-space: nowrap;\n background-color: var(--pst-color-surface);\n }\n\n /* italic font for parameter types */\n td.field-body {\n p {\n font-style: italic;\n\n > strong {\n font-style: normal;\n }\n }\n\n /* reduced space around parameter description */\n blockquote {\n border-left: none;\n margin: 0 0 0.3em;\n padding-left: 30px;\n }\n }\n}\n\n/*******************************************************************************\n* Styling for autosummary tables\n*/\n\n.table.autosummary {\n // The first column (with the signature) should not wrap\n td:first-child {\n white-space: nowrap;\n }\n}\n\n/* overriding basic.css to use our own monospace font */\n.sig {\n font-family: var(--pst-font-family-monospace);\n}\n\n/* C++ specific styling - overriding the basic.css to avoid custom colors */\n\n.sig-inline.c-texpr,\n.sig-inline.cpp-texpr {\n font-family: unset;\n}\n\n.sig.c .k,\n.sig.c .kt,\n.sig.cpp .k,\n.sig.cpp .kt {\n color: var(--pst-color-text-base);\n}\n\n.sig.c .m,\n.sig.cpp .m {\n color: var(--pst-color-text-base);\n}\n\n.sig.c .s,\n.sig.c .sc,\n.sig.cpp .s,\n.sig.cpp .sc {\n color: var(--pst-color-text-base);\n}\n\n// addition\n\n// .sig.c .sig-name .n,\n// .sig.cpp .sig-name .n {\n// color: var(--pst-color-inline-code);\n// }\n\n.sig-name {\n color: var(--pst-color-inline-code);\n}\n\n.sig-param .o,\n.sig-param .default_value {\n color: var(--pst-color-text-muted);\n font-weight: normal;\n}\n\n// change target color for dark theme\ndt:target,\nspan.highlighted {\n background-color: var(--pst-color-target);\n}\n\n.viewcode-back {\n font-family: var(--pst-font-family-base);\n}\n\n.viewcode-block:target {\n border-top: 1px solid var(--pst-color-border);\n border-bottom: 1px solid var(--pst-color-border);\n position: relative;\n background-color: var(--pst-color-target);\n}\n\ndl > dt > a:has(.viewcode-link) {\n // Sphinx applies a `float:right` rule to the .viewcode-line span, which\n // exposes a browser glitch in the focus ring. It seems the browser creates\n // two separate boxes, an empty box where the anchor element gets laid out and\n // then another box around the anchor's contents that have been floated right.\n // Firefox draws the focus ring around the empty anchor element box. Chrome\n // draws two focus rings: one around the empty anchor and one around the\n // floated-right element. To fix the glitch, we apply the float rule on the\n // parent rather than the child.\n float: right;\n\n .viewcode-link {\n float: none;\n }\n}\n\n/*******************************************************************************\n* Styling for autosummary titles like \"parameters\" and \"returns\"\n*/\n\n// the API selector\n// from https://github.com/pradyunsg/furo/blob/main/src/furo/assets/styles/content/_api.sass#L6)\ndl[class]:not(.option-list, .field-list, .footnote, .glossary, .simple) {\n // increase margin bottom after the dl elements\n margin-bottom: 3rem;\n\n dd {\n margin-left: 2rem;\n\n // Fix until this will be solved to Sphinx https://github.com/sphinx-doc/sphinx/issues/10815\n & > dl.simple > dt {\n display: flex;\n }\n }\n\n dl.field-list {\n display: grid;\n grid-template-columns: unset;\n }\n\n dt.field-odd,\n dt.field-even {\n margin-top: 0.2rem;\n margin-bottom: 0.1rem;\n background-color: var(--pst-color-surface);\n }\n}\n","/**\n * Code block styling\n * Note that we inherit a lot of styling from Bootstrap so not many rules here.\n */\n\n// General code block behavior\n// Unset bootstrap behavior\ndiv[class*=\"highlight-\"],\ndiv.highlight,\ndiv.literal-block-wrapper {\n display: flex;\n flex-direction: column;\n width: unset;\n border-radius: $admonition-border-radius;\n break-inside: avoid;\n}\n\n// Code blocks with captions\n// There's a wrapper when the code block has a title\ndiv.literal-block-wrapper {\n border: 1px solid var(--pst-color-border);\n border-radius: $admonition-border-radius;\n\n // This is where the title goes\n div.code-block-caption {\n margin: 0;\n border-bottom: 1px solid var(--pst-color-border);\n padding: 0.5rem;\n font-size: 1rem;\n font-weight: var(--pst-font-weight-caption);\n\n a.headerlink {\n font-size: inherit;\n }\n }\n\n // Remove the upper border radius since we want it to connect with the title\n // Remove the box shadow so the wrapper gets the shadow instead\n div[class*=\"highlight-\"] {\n margin: 0;\n border-radius: 0;\n\n pre {\n border: none;\n box-shadow: none;\n }\n }\n}\n\n/**\n * In-line code\n */\ncode.literal {\n padding: 0.1rem 0.25rem;\n background-color: var(--pst-color-surface);\n border: 1px solid var(--pst-color-border);\n border-radius: 0.25rem;\n}\n\na > code {\n color: var(--pst-color-inline-code-links);\n}\n\n// Fix for Sphinx's \"highlight\" directive - this is an issue with our accessible pygments theme\n// and the colour we are using for the background of the code blocks.\nhtml[data-theme=\"light\"] .highlight .nf {\n color: #0078a1 !important;\n}\n\n// Minimum opacity needed for linenos to be WCAG AA conformant\nspan.linenos {\n opacity: 0.8 !important;\n}\n","figure > a,\nfigure > a > img,\nfigure > img,\nfigure > video {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n\nfigure {\n a.headerlink {\n // So that header link doesn't push caption to be off-center.\n position: absolute;\n font-size: inherit;\n }\n\n // Default headerlink hover doesn't trigger on figures\n &:hover a.headerlink {\n visibility: visible;\n }\n\n figcaption {\n font-family: var(--pst-font-family-heading);\n font-weight: var(--pst-font-weight-caption);\n color: var(--pst-color-text-muted);\n margin-left: auto;\n margin-right: auto;\n margin-top: 0.3rem;\n text-align: center;\n\n & > p:last-child {\n // Don't add extra margin to already existing figure bottom margin\n margin-bottom: 0;\n }\n\n p {\n text-align: start;\n display: inline-block;\n }\n\n table.table {\n width: fit-content;\n margin-left: auto;\n margin-right: auto;\n }\n }\n}\n","// For consistency, add bracket around footnotes/citations which are\n// cited more than once. E.g. [Newton](1,2) instead of Newton(1,2)\ndt.label > span.brackets:not(:only-child)::before {\n content: \"[\";\n}\n\ndt.label > span.brackets:not(:only-child)::after {\n content: \"]\";\n}\n\n// Make footnote as a superscript\na.footnote-reference {\n vertical-align: super;\n font-size: small;\n}\n\n// Docutils 0.18 uses an `aside.footnote` container with different internal structure\naside.footnote {\n margin-bottom: 0.5rem;\n\n &:last-child {\n margin-bottom: 1rem;\n }\n\n span.label,\n span.backrefs {\n font-weight: bold;\n }\n\n &:target {\n background-color: var(--pst-color-target);\n }\n}\n","/**\n * Hacky fixes that don't fit cleanly into other sections\n */\n\n// Ensure user highlighting/selecting behaves properly\n// From https://stackoverflow.com/a/34372191\ntable.highlighttable td.linenos,\nspan.linenos,\ndiv.doctest > div.highlight span.gp {\n /* gp: Generic.Prompt */\n user-select: none;\n}\n","// Override bootstrap by restoring the basic theme default.\ndd {\n margin-top: 3px;\n margin-bottom: 10px;\n margin-left: 30px;\n}\n\nol,\nul {\n padding-inline-start: 2rem;\n\n li > p:first-child {\n margin-bottom: 0.25rem;\n margin-top: 0.25rem;\n }\n}\n","// GitHub blockquote style\nblockquote {\n padding: 1em;\n color: var(--pst-color-text-muted);\n border-left: 0.25em solid var(--pst-color-blockquote-notch);\n border-radius: $admonition-border-radius;\n position: relative;\n\n p {\n color: var(--pst-color-text-base);\n }\n\n // remove padding from included line-block to avoid duplication\n .line-block {\n margin: 0;\n }\n\n // remove margin bottom for the last p\n p:last-child {\n margin-bottom: 0;\n }\n\n @include legacy-backdrop-placeholder;\n\n background-color: var(--pst-color-surface);\n\n // Ensure there is enough contrast against the background\n a {\n color: var(--pst-color-inline-code-links);\n }\n\n // hack to make the text in the blockquote selectable\n &::before {\n z-index: -1;\n }\n}\n","/**\n * Span-level styling within content\n */\n\nspan.guilabel {\n border: 1px solid var(--pst-color-info);\n font-size: 80%;\n font-weight: 700;\n border-radius: 4px;\n padding: 2.4px 6px;\n margin: auto 2px;\n position: relative;\n\n @include legacy-backdrop-placeholder;\n\n background-color: var(--pst-color-info-bg);\n}\n\na.reference.download::before {\n content: var(--pst-icon-download);\n font: var(--fa-font-solid);\n font-size: 0.8em;\n padding: 0 0.25em;\n color: var(--pst-color-text-muted);\n}\n","/**\n * Tables\n */\n\ntable {\n // default to table-center\n margin-left: auto;\n margin-right: auto;\n\n &.table-right {\n margin-right: 0;\n }\n\n &.table-left {\n margin-left: 0;\n }\n}\n\n// customize table caption from bootstrap\n// to display them on top and centered\ntable caption {\n text-align: center;\n caption-side: top;\n color: var(--pst-color-text-muted);\n}\n\n// MyST Markdown tables use these classes to control alignment\nth,\ntd {\n &.text-left {\n text-align: left;\n }\n\n &.text-right {\n text-align: right;\n }\n\n &.text-center {\n text-align: center;\n }\n}\n\n// override bootstrap table colors\n.table {\n @include table-colors;\n\n --bs-table-bg: transparent; // background\n --bs-table-color: var(\n --pst-color-text-base\n ); // ensure text and bullets are visible\n}\n\n.pst-scrollable-table-container {\n // Put a horizontal scrollbar just below tables that are too wide to fit\n // within the main column\n overflow-x: auto;\n}\n","/**\n * Style the toctree component in pages (avoid modifying the navbars)\n */\n.toctree-wrapper {\n p.caption {\n font-size: 1.5em;\n margin-bottom: 0;\n }\n\n & > ul {\n padding-left: 0;\n }\n\n li[class^=\"toctree-l\"] {\n list-style: none;\n margin-bottom: 0.2em;\n\n & > a {\n list-style: none;\n font-size: 1.1em;\n }\n\n & > ul {\n list-style: none;\n padding-inline-start: 1.5em;\n }\n }\n\n // slightly bigger font for l1\n .toctree-l1 > a {\n font-size: 1.3em;\n }\n}\n\ndiv.topic.contents, // Docutils <= 0.17\nnav.contents // Docutils >= 0.18\n{\n // Style similarly to toctree\n ul.simple {\n list-style: none;\n padding-left: 0;\n }\n}\n","/**\n * Mathematics via MathJax.\n *\n * This is designed for MathJax v3\n * ref: https://www.sphinx-doc.org/en/master/usage/extensions/math.html#module-sphinx.ext.mathjax\n */\n\n// Applies to all math elements\nspan.math,\ndiv.math {\n align-items: center;\n display: flex;\n max-width: 100%;\n\n // This will be over-ridden for the y-direction and divs\n overflow: hidden;\n}\n\n// Inline-only\nspan.math {\n display: inline-flex;\n}\n\n// Block-level only\ndiv.math {\n gap: 0.5em;\n\n // So that the eqno shows up after the equation\n flex-direction: row-reverse;\n\n // The equation number / link\n span.eqno a.headerlink {\n position: relative;\n font-size: 1em;\n }\n\n // The math container\n mjx-container {\n flex-grow: 1;\n padding-bottom: 0.2rem;\n overflow: auto;\n\n // Set height to 0 so that it does not cause scrollbars to appear\n // ref: https://github.com/mathjax/MathJax/issues/2521\n mjx-assistive-mml {\n height: 0;\n }\n }\n}\n","/**\n * ABlog\n * ref: https://ablog.readthedocs.io/\n */\n\n/**\n * Sidebar template components\n */\n.ablog-sidebar-item {\n h2,\n h3 {\n font-size: var(--pst-sidebar-header-font-size);\n\n // Remove unnecessary vertical whitespace\n margin-top: 0.5rem;\n\n // The headers are all links, but this makes them hard to parse\n // So we change the colors to make them look like headers\n a {\n color: var(--pst-color-text-base);\n }\n }\n\n ul {\n // No bullet points for the primary sidebar items\n list-style: none;\n padding-left: 0;\n\n // Otherwise a scrollbar randomly shows up\n overflow-y: hidden;\n\n // List of recent post items\n display: flex;\n flex-direction: column;\n gap: 0.5em;\n margin-bottom: 0;\n\n // The ablog cloud should move horizontally\n &.ablog-cloud {\n flex-flow: row wrap;\n gap: 0.5rem;\n\n // Vertical-align tag clouds\n li {\n // Center the tag cloud items\n display: flex;\n align-items: center;\n }\n }\n }\n}\n\n/**\n * Previous / next buttons at the bottom\n */\n.ablog__prev-next {\n font-size: 1.2em;\n display: flex;\n padding: 1rem 0;\n\n // The bottom previous / next arrows\n > span {\n // To ensure that the whole thing fits on one line even if there are long titles\n display: flex;\n max-width: 45%;\n\n // Links within each span have the collection of icon + text\n a {\n display: flex;\n align-items: center;\n margin-left: auto;\n gap: 1rem;\n line-height: 1.5rem;\n\n i::before {\n color: var(--pst-color-text-base);\n }\n }\n }\n\n // The first span is for the previous page and aligns to the left\n span.ablog__prev {\n i.fa-arrow-circle-left::before {\n content: var(--pst-icon-angle-left);\n }\n }\n\n // The second span is just an empty space so we remove it because we're\n // positioning with flex\n span.ablog__spacer {\n display: none;\n }\n\n // The third span is aligned to the right\n span.ablog__next {\n margin-left: auto;\n text-align: right;\n\n i.fa-arrow-circle-right::before {\n content: var(--pst-icon-angle-right);\n }\n }\n}\n\n/**\n * {postlist} directive and posts page\n */\n.ablog__collection,\n.postlist {\n padding-left: 0;\n\n .ablog-post {\n list-style: none;\n\n // Post metadata tags (author, links ,etc) should be a bit smaller\n .ablog-archive {\n display: flex;\n flex-flow: row wrap;\n gap: 1rem;\n list-style: none;\n font-size: 0.75rem;\n padding-left: 0;\n }\n\n // Title line should be a bit bigger and bold to stand out\n .ablog-post-title {\n margin-top: 0;\n font-size: 1.25rem;\n\n a {\n font-weight: bold;\n }\n }\n\n // Read more button should be a bit bigger\n .ablog-post-expand {\n margin-bottom: 0.5rem;\n }\n }\n}\n","/**\n * Special cases for Bootstrap functionality\n */\n\n// Bootstrap adds margin to their general container class. However, sphinx/docutils\n// can also generate output with the container class, but in those cases we should\n// not add the margin from bootstrap. Same for max-width.\n.docutils.container {\n padding-left: unset;\n padding-right: unset;\n margin-left: unset;\n margin-right: unset;\n max-width: unset;\n width: unset;\n}\n\n.btn {\n --bs-btn-focus-box-shadow: #{$btn-focus-box-shadow};\n}\n","/**\n * Sphinx Copybutton\n * ref: https://sphinx-copybutton.readthedocs.io/\n */\n\ndiv.highlight button.copybtn {\n // Nicer spacing\n display: flex;\n align-items: center;\n justify-content: center;\n\n // Don't over-ride the success color\n &:not(.success) {\n color: var(--pst-color-muted);\n }\n\n border: none;\n background-color: var(--pst-color-surface);\n\n &:hover {\n &:not(.success) {\n color: var(--pst-color-text);\n background-color: var(--pst-color-shadow);\n }\n }\n\n // Tooltip styling\n &.o-tooltip--left::after {\n color: var(--pst-color-text);\n background-color: var(--pst-color-surface);\n }\n\n &:focus {\n // For keyboard users, make the copy button visible when focussed.\n opacity: 1;\n }\n\n &:focus-visible {\n outline: $focus-ring-outline;\n }\n}\n\ndiv.highlight:has(button.copybtn) {\n // Make sure the code block has enough height for the copy button.\n // Sphinx-copybutton sets 0.3em top offset plus 1.7em height:\n // https://github.com/executablebooks/sphinx-copybutton/blob/master/sphinx_copybutton/_static/copybutton.css\n min-height: 2em;\n}\n","// adapt ethical ad to the theme\n#ethical-ad-placement {\n .ethical-sidebar a,\n .ethical-sidebar a:visited,\n .ethical-sidebar a:hover,\n .ethical-sidebar a:active,\n .ethical-footer a,\n .ethical-footer a:visited,\n .ethical-footer a:hover,\n .ethical-footer a:active {\n color: var(--pst-color-text-base);\n }\n\n .ethical-sidebar,\n .ethical-footer {\n background-color: var(--pst-color-background);\n border: 1px solid var(--pst-color-border);\n border-radius: 5px;\n color: var(--pst-color-text-base);\n font-size: 14px;\n line-height: 20px;\n }\n}\n","/**\n * Styles for various Sphinx execution libraries.\n * For now, where these define output sections, we simply revert their background\n * to be a \"light theme\" background. This ensures that inputs/outputs behave similarly,\n * because the CSS is often controlled by each package.\n * In the future, we might add dark theme support for specific packages.\n */\n\n/******************************************************************************\n * Jupyter Sphinx\n */\n\n.bd-content div.jupyter_container {\n // We don't want borders around the whole container, just around code cells\n border: none;\n background-color: unset;\n box-shadow: none;\n\n // Code cells should have the same style as our other code objects\n div.output,\n div.highlight {\n border-radius: 0.25rem;\n }\n\n div.highlight {\n background-color: var(--pst-color-surface);\n }\n\n // Ensure the style is the same as our code cells. Jupyter Sphinx makes it tiny.\n .cell_input,\n .cell_output {\n border-radius: 0.25rem;\n\n pre {\n padding: 1rem;\n }\n }\n}\n","/* Styles for graphviz generated output from Sphinx */\n\n/* Style the inheritance diagram such that it has a dark mode */\nhtml[data-theme=\"dark\"] div.graphviz > object.inheritance {\n filter: brightness(0.8) invert(0.82) contrast(1.2);\n color-scheme: normal;\n}\n","/**\n * Special-cases for packages in the PyData ecosystem\n */\n\n// xarray output display in bootstrap\n.xr-wrap[hidden] {\n display: block !important;\n}\n\n// ipywidgets\n.jp-OutputArea-output.lm-Widget {\n // override overflow:hidden rule from Lumino (.lm-Widget) to allow scrolling\n overflow: auto;\n}\n","/*******************************************************************************\n * Special-cases for the sphinx-design library, mainly to make it compatible\n * with the dark/light themes of pydata-sphinx-theme.\n *\n * NOTE: sphinx-design uses !important quite liberally, so here we must do the\n * same for our overrides to have any effect.\n */\n@use \"../variables/color\" as pst-color;\n@use \"sass:color\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n\n/*******************************************************************************\n * Color and variables\n *\n * This is a list of the semantic color names from sphinx-design (we only\n * need to override variables that sphinx-design has actually defined).\n * https://github.com/executablebooks/sphinx-design/blob/9226a12a/style/_colors.scss#L31-L43\n */\n$sd-semantic-color-names: (\n \"primary\",\n \"secondary\",\n \"success\",\n \"info\",\n \"warning\",\n \"danger\",\n \"light\",\n \"muted\",\n \"dark\",\n \"black\",\n \"white\"\n);\n\n/**\n * Here we create some extra --pst-color-* variables and use\n * them to override the value of the corresponding sphinx-design variables.\n * This is easier than re-writing the sphinx-design rules. Even easier would be\n * directly assigning our values to the --sd-color-* variables, but then our\n * downstream users couldn't override *our* colors and have it affect buttons\n * and badges.\n *\n * First, define the extra keys needed to cover the full range of semantic\n * color names used in sphinx-design, then merge them with the names we\n * already define for our own needs.\n * see https://sphinx-design.readthedocs.io/en/latest/css_variables.html\n */\n$extra-semantic-colors: (\n \"white\": $foundation-white,\n \"light\": (\n light: $foundation-light-gray,\n bg-light: color.scale($foundation-light-gray, $lightness: 30%),\n dark: $foundation-light-gray,\n bg-dark: color.scale($foundation-light-gray, $lightness: -30%),\n ),\n \"muted\": (\n light: $foundation-muted-gray,\n bg-light: color.scale($foundation-muted-gray, $lightness: 30%),\n dark: $foundation-light-gray,\n bg-dark: color.scale($foundation-muted-gray, $lightness: -30%),\n ),\n \"dark\": $foundation-dark-gray,\n \"black\": $foundation-black,\n);\n$all-colors: map.merge($pst-semantic-colors, $extra-semantic-colors);\n\n@mixin create-sd-colors($value, $name) {\n // define the pst variables, so that downstream user overrides will work\n --pst-color-#{$name}: #{$value};\n\n // we are now using a11y-combination to calculate the text color - this is based\n // on the WCAG color contrast guidelines\n --pst-color-#{$name}-text: #{a11y-combination($value)};\n\n // TODO: highlight seems to be used for buttons @trallard to fix on a11y follow-up work\n --pst-color-#{$name}-highlight: #{color.adjust($value, $lightness: -15%)};\n\n // override the sphinx-design variables\n --sd-color-#{$name}: var(--pst-color-#{$name});\n --sd-color-#{$name}-text: var(--pst-color-#{$name}-text);\n\n // TODO: highlight seems to be used for buttons @trallard to fix on a11y follow-up work\n --sd-color-#{$name}-highlight: var(--pst-color-#{$name}-highlight);\n}\n\n// Now we override the --sd-color-* variables.\n@each $mode in (light, dark) {\n html[data-theme=\"#{$mode}\"] {\n // check if this color is defined differently for light/dark\n @each $name in $sd-semantic-color-names {\n $definition: map.get($all-colors, $name);\n\n @if meta.type-of($definition) == map {\n @each $key, $value in $definition {\n @if string.index($key, $mode) {\n // since now we define the bg colours in the semantic colours and not\n // by changing opacity, we need to check if the key contains bg and the\n // correct mode (light/dark)\n @if string.index($key, \"bg\") {\n --sd-color-#{$name}-bg: #{$value};\n\n // create local variable\n $value: check-color($value);\n\n --sd-color-#{$name}-bg-text: #{a11y-combination($value)};\n } @else {\n $value: check-color($value);\n\n @include create-sd-colors($value, $name);\n }\n }\n }\n } @else {\n $value: map.get($all-colors, $name);\n\n @include create-sd-colors($value, $name);\n }\n }\n }\n}\n\n// Make sure the color border variables are set using our variables\n@each $mode in (light, dark) {\n html[data-theme=\"#{$mode}\"] {\n --sd-color-card-border: var(--pst-color-border);\n }\n}\n\n/*******************************************************************************\n * shadows\n */\nhtml[data-theme=\"light\"] {\n .sd-shadow-xs,\n .sd-shadow-sm,\n .sd-shadow-md,\n .sd-shadow-lg {\n @include box-shadow;\n }\n}\n\n/*******************************************************************************\n * cards\n */\n\n.bd-content .sd-card {\n border: 1px solid var(--pst-color-border);\n\n // TODO - --pst-color-panel-background is not defined... where is this coming from?\n .sd-card-header {\n background-color: var(--pst-color-panel-background);\n border-bottom: 1px solid var(--pst-color-border);\n }\n\n .sd-card-footer {\n background-color: var(--pst-color-panel-background);\n border-top: 1px solid var(--pst-color-border);\n }\n\n .sd-card-body {\n background-color: var(--pst-color-panel-background);\n }\n\n // Focus ring for link-cards\n .sd-stretched-link:focus-visible {\n // Don't put the focus ring on the element (it has zero height in Sphinx Design cards)\n outline: none;\n\n // Put the focus ring on the element's ::after pseudo-element\n &::after {\n outline: $focus-ring-outline;\n border-radius: 0.25rem; // copied from Sphinx Design CSS for .sd-card\n }\n }\n\n &.sd-card-hover:hover {\n border-color: var(--pst-color-link-hover);\n }\n}\n\n/*******************************************************************************\n * tabs\n */\n\n.bd-content .sd-tab-set {\n > input {\n // Active tab label\n &:checked + label {\n border-style: solid solid none;\n border-color: var(--pst-color-primary) var(--pst-color-primary)\n transparent; // top LR bottom\n\n border-width: 0.125rem 0.125rem 0;\n border-radius: 0.125rem 0.125rem 0 0;\n background-color: var(--pst-color-on-background);\n transform: translateY(0.125rem);\n color: var(--pst-color-primary);\n }\n\n &:focus-visible + label {\n border: 0.125rem solid var(--pst-color-accent);\n border-radius: 0.125rem;\n background-color: var(--pst-color-accent-bg);\n color: var(--pst-color-on-surface);\n }\n\n // Hover label\n &:not(:checked, :focus-visible) + label:hover {\n border-color: transparent;\n color: var(--pst-color-secondary);\n text-decoration-line: underline;\n text-decoration-thickness: $link-hover-decoration-thickness;\n }\n }\n\n // Tab label\n > label {\n color: var(--pst-color-on-surface);\n border: 0.125rem solid transparent;\n border-radius: 0.125rem 0.125rem 0 0;\n background-color: var(--pst-color-surface);\n padding: 0 0.75em;\n margin-inline-end: 0.25rem;\n line-height: 1.95;\n\n html[data-theme=\"dark\"] & {\n background-color: var(--pst-color-on-background);\n }\n }\n\n // panel\n .sd-tab-content {\n border: 0.125rem solid var(--pst-color-primary);\n border-radius: 0.1875rem;\n box-shadow: unset;\n padding: 0.625rem;\n background-color: var(--pst-color-on-background);\n }\n}\n\n/*******************************************************************************\n* Dropdowns\n*/\n\ndetails.sd-dropdown {\n // Remove all borders to over-ride SD behavior, and we'll add our own later\n border: 0 !important;\n\n // Drop shadow should behave same as admonitions\n @include box-shadow;\n\n // Header is where the \"clickable\" box goes\n summary.sd-card-header {\n border: 0 !important;\n display: flex;\n align-items: center;\n position: relative; // So background color works\n font-weight: 600;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n\n // Set a variable that we can re-use for colors later\n // We must set this in the current and content sibling container\n // so that it is defined in both places\n --pst-sd-dropdown-color: var(--pst-gray-500);\n --pst-sd-dropdown-bg-color: var(--pst-color-surface);\n\n & + div.sd-summary-content {\n border: 0;\n\n --pst-sd-dropdown-color: var(--sd-color-card-border);\n }\n\n @each $name in $sd-semantic-color-names {\n &.sd-bg-#{$name} {\n --pst-sd-dropdown-color: var(--sd-color-#{$name});\n --pst-sd-dropdown-bg-color: var(--sd-color-#{$name}-bg);\n\n // Otherwise it won't be defined in the sibling element\n & + div.sd-summary-content {\n --pst-sd-dropdown-color: var(--sd-color-#{$name});\n --pst-sd-dropdown-bg-color: var(--sd-color-#{$name}-bg);\n }\n }\n &.sd-bg-text-#{$name} {\n // Use the WCAG conformant text color\n color: var(--sd-color-#{$name}-bg-text) !important;\n }\n }\n\n @include legacy-backdrop-placeholder;\n\n background-color: var(--pst-sd-dropdown-bg-color) !important;\n\n // Add a left border with the same structure as our admonitions\n border-left: 0.2rem solid var(--pst-sd-dropdown-color) !important;\n\n // stylelint-disable-next-line no-duplicate-selectors\n & + div.sd-summary-content {\n border-left: 0.2rem solid var(--pst-sd-dropdown-color) !important;\n border-bottom-left-radius: calc(0.25rem - 1px);\n background-color: var(--pst-color-on-background);\n }\n\n span.sd-summary-icon {\n display: inline-flex;\n align-items: center;\n color: var(--pst-sd-dropdown-color) !important;\n\n svg {\n opacity: 1;\n }\n }\n\n // Positioning of the caret\n .sd-summary-up,\n .sd-summary-down {\n top: 0.7rem;\n }\n\n // Focus ring\n &:focus-visible {\n outline: $focus-ring-outline;\n outline-offset: -$focus-ring-width;\n }\n }\n}\n\n/*******************************************************************************\n* Buttons (which in Sphinx Design are actually links that look like buttons)\n* ref: https://sphinx-design.readthedocs.io/en/pydata-theme/badges_buttons.html#buttons\n*/\nhtml {\n .sd-btn {\n min-width: 2.25rem;\n padding: 0.3125rem 0.75rem 0.4375rem; // 5px 12px 7px\n\n &:hover {\n @include link-style-hover; // override Sphinx Design\n\n text-decoration-thickness: 1px;\n }\n }\n\n @each $name in $sd-semantic-color-names {\n .sd-btn-#{$name},\n .sd-btn-outline-#{$name} {\n &:focus-visible {\n // Override Sphinx Design's use of -highlight colors. The -highlight\n // colors are 15% darker, so this would create the effect of darkening\n // the button when focused but we just want the button to have a focus\n // ring of the same (non-highlight) color.\n background-color: var(--sd-color-#{$name}) !important;\n border-color: var(--sd-color-#{$name}) !important;\n outline: var(--sd-color-#{$name}) solid $focus-ring-width;\n outline-offset: $focus-ring-width;\n }\n }\n }\n}\n","/**\n * Sphinx togglebutton\n */\n\n.bd-content {\n @mixin chevron-down {\n .toggle-chevron-right {\n transform: rotate(90deg); // point chevron down\n transition: none; // match non-animated behavior of other chevrons on site\n }\n }\n\n @mixin chevron-up {\n .toggle-chevron-right {\n transform: rotate(-90deg); // point chevron up\n transition: none; // match non-animated behavior of other chevrons on site\n }\n }\n\n // Admonition toggles\n .admonition {\n button.toggle-button {\n color: inherit;\n\n // When disclosure widget is closed\n &.toggle-button-hidden {\n @include chevron-down;\n }\n\n // When open\n @include chevron-up;\n }\n\n // Focus ring\n // ----------\n // Sphinx-togglebutton makes the entire admonition header clickable, but\n // only the button within the header is focusable. We want the entire\n // clickable area to be surrounded with a focus ring, so that's why we use\n // the :focus-within selector, rather than a :focus-visible selector on the\n // button.\n &:focus-within {\n overflow: visible;\n\n // The complicated focus ring styles here are a consequence of the markup\n // and border styles for this particular admonition class. (For the other\n // type of admonition on this site, the focus ring style is achieved with\n // simple `outline` and `outline-offset` rules on the admonition's\n // header.) The problem is that Sphinx-togglebutton puts the admonition's\n // left border on the outermost container (rather than separately setting\n // the left border on the container's children). This makes it complicated\n // to get the focus ring to simultaneously cover the left border in the\n // header and align perfectly on the right with the body.\n .admonition-title:focus-within::before {\n content: \"\";\n transform: translateX(\n -$admonition-left-border-width\n ); // align left edges of admonition and ring\n\n width: calc(100% + $admonition-left-border-width); // align right edges\n height: 100%;\n border: $focus-ring-outline;\n border-radius: $focus-ring-width;\n }\n\n // When expanded, sharpen the bottom left and right corners of the focus ring\n &:not(.toggle-hidden) .admonition-title:focus-within::before {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n }\n }\n\n // Details buttons\n details.toggle-details {\n // Over-ride border color to re-use our primary color\n summary {\n border-left: 3px solid var(--pst-color-primary);\n\n @include chevron-down;\n }\n\n // When expanded, sharpen the bottom left and right corners of the focus ring\n &[open] {\n @include chevron-up;\n\n :focus-visible {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n }\n }\n}\n","/**\n * Styles for various Sphinx execution libraries to display pre-executed notebooks.\n * For now, where these define output sections, we simply revert their background\n * to be a \"light theme\" background. This ensures that inputs/outputs behave similarly,\n * because the CSS is often controlled by each package.\n * In the future, we might add dark theme support for specific packages.\n */\n\n/*******************************************************************************\n * nbsphinx\n */\nhtml div.rendered_html,\n// NBsphinx ipywidgets output selector\nhtml .jp-RenderedHTMLCommon {\n // Add some margin around the element box for the focus ring. Otherwise the\n // focus ring gets clipped because the containing elements have `overflow:\n // hidden` applied to them (via the `.lm-Widget` selector)\n margin: $focus-ring-width;\n\n table {\n table-layout: auto;\n }\n}\n\n.bd-content .nboutput {\n .output_area {\n &.rendered_html,\n .jp-RenderedHTMLCommon {\n // pandas\n table.dataframe {\n @include table-colors;\n }\n }\n\n // Dark theme special-cases\n html[data-theme=\"dark\"] & {\n &.rendered_html:not(:has(table.dataframe)),\n // ipywidgets\n .widget-subarea {\n @include cell-output-background;\n }\n\n &.stderr {\n background-color: var(--pst-color-danger);\n }\n }\n }\n}\n\n// Add extra padding to the final item in an nbsphinx container\ndiv.nblast.container {\n margin-bottom: 1rem;\n}\n\n/*******************************************************************************\n * myst NB\n */\n\ndiv.cell_output .output {\n max-width: 100%;\n overflow-x: auto;\n}\n\n.bd-content div.cell_output {\n // pandas\n table.dataframe {\n @include table-colors;\n }\n\n html[data-theme=\"dark\"] & {\n img,\n .text_html:not(:has(table.dataframe)),\n // ipywidgets\n .widget-subarea {\n @include cell-output-background;\n }\n }\n}\n\n// Prevent tables from scrunching together\n.bd-content {\n div.cell_input {\n display: flex;\n flex-direction: column;\n justify-content: stretch;\n }\n\n div.cell_input,\n div.output {\n border-radius: $admonition-border-radius;\n }\n\n div.output {\n table {\n table-layout: auto;\n }\n }\n}\n","/**\n * style for the various mapping libs based on leaflet (folium, geemap, ipyleaflet)\n * mainly ensure the good display of the maps in both themes and avoid the customization\n * of the tiles\n */\n\n/**\n * avoid border override from pydata-sphinx-theme\n * minimal selctor to get the priority\n */\nhtml[data-theme=\"dark\"] .bd-content img.leaflet-tile.leaflet-tile-loaded {\n border-radius: 0;\n padding: 0;\n}\n","/**\n * /search.html page special-cases\n */\n\n.bd-search-container {\n /*******************************************\n * Search results\n */\n // Whitespace\n div#search-results {\n > h2 {\n font-size: var(--pst-font-size-icon);\n margin-top: 1rem;\n }\n\n p.search-summary {\n color: var(--pst-color-text-muted);\n }\n }\n\n ul.search {\n margin: 0;\n list-style: none;\n\n li {\n background-image: none;\n padding: 1rem 0;\n margin: 1rem 0;\n border-top: 1px solid var(--pst-color-text-muted);\n\n // First link is the page title, it should be a bit bigger\n > a {\n font-size: 1.2em;\n }\n\n div.context,\n p.context {\n color: var(--pst-color-text-base);\n margin: 0.5em 0 0;\n\n // Add a # before page section titles to make it clear they are sections\n a::before {\n content: \"#\";\n padding-right: 0.2em;\n color: var(--pst-color-text-muted);\n }\n }\n }\n }\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/_static/styles/sphinx-book-theme.css b/_static/styles/sphinx-book-theme.css index 56c23f18..5197540c 100644 --- a/_static/styles/sphinx-book-theme.css +++ b/_static/styles/sphinx-book-theme.css @@ -5,4 +5,5 @@ * * This follows the 7-1 pattern described here: * https://sass-guidelin.es/#architecture - */html[data-theme=dark],html[data-theme=light]{--pst-font-size-base:none;--pst-color-secondary:#e89217}html[data-theme=light]{--sbt-color-announcement:#616161;--pst-color-primary:#176de8}html[data-theme=dark]{--pst-color-primary:#528fe4;--sbt-color-announcement:#616161;--pst-color-background:#121212}html{scroll-padding-top:4rem}.sbt-scroll-pixel-helper{position:absolute;width:0;height:0;top:0;left:0}.d-n,.onlyprint{display:none}@media print{.onlyprint{display:block!important}}@media print{.noprint{display:none!important}}.bd-article-container h1,.bd-article-container h2,.bd-article-container h3,.bd-article-container h4,.bd-article-container h5,.bd-article-container p.caption{color:var(--pst-color-muted)}.bd-article-container h1,.bd-article-container h2{font-weight:500}a.brackets:before{color:inherit;font-family:inherit;margin-right:0}table{position:relative}@media print{.bd-main .bd-content{margin-left:2rem;height:auto}.bd-main .bd-content #jb-print-docs-body{margin-left:0}.bd-main .bd-content #jb-print-docs-body h1{font-size:3em;text-align:center;margin-bottom:0}.bd-main .bd-content .bd-article{padding-top:0}.bd-main .bd-content .bd-article h1:first-of-type{display:none}.bd-main .bd-content .container{min-width:0!important}.bd-main .bd-content h1{margin-top:1em;margin-bottom:1em}.bd-main .bd-content h1,.bd-main .bd-content h2,.bd-main .bd-content h3,.bd-main .bd-content h4{break-after:avoid;color:#000}.bd-main .bd-content table{break-inside:avoid}.bd-main .bd-content pre{word-wrap:break-word}.bd-main .bd-content a.headerlink{display:none}.bd-main .bd-content aside.margin,.bd-main .bd-content aside.sidebar,.bd-main .bd-content blockquote.epigraph{border:none}.bd-main .bd-content .footer{margin-top:1em}.bd-main .bd-content #jb-print-toc{margin-bottom:1.5rem;margin-left:0}.bd-main .bd-content #jb-print-toc .section-nav{border-left:0!important;list-style-type:disc!important;margin-left:3em!important}.bd-main .bd-content #jb-print-toc .section-nav a{text-decoration:none!important}.bd-main .bd-content #jb-print-toc .section-nav li{display:list-item!important}.bd-main .bd-content #jb-print-toc .section-nav .nav{display:none}.bd-main .bd-footer-content{display:none!important}}.bd-header-announcement{background-color:var(--sbt-color-announcement);color:#fff}.bd-main .bd-content{justify-content:left}.bd-main .bd-content .bd-article-container{padding:0;overflow-x:unset;min-width:0}@media (min-width:1200px){.bd-main .bd-content .bd-article-container{max-width:calc(100% - var(--pst-sidebar-secondary))}}.bd-main .bd-content .bd-article-container .bd-article{padding-right:2rem;padding-left:2rem}@media (max-width:768px){.bd-main .bd-content .bd-article-container .bd-article{padding-right:1rem;padding-left:1rem}}.bd-main .bd-content .bd-article-container details.above-input summary,.bd-main .bd-content .bd-article-container details.below-input summary{border-left:3px solid var(--pst-color-primary)}@media (min-width:768px){label.sidebar-toggle.primary-toggle{display:inline-block}}@media (max-width:768px){label.sidebar-toggle.primary-toggle{margin-bottom:0}}@media (min-width:992px){label.sidebar-toggle.secondary-toggle{display:none}}@media (max-width:768px){label.sidebar-toggle.secondary-toggle{margin-bottom:0}}.bd-header-article{display:flex;align-items:center;position:sticky;top:0;background-color:var(--pst-color-background);transition:left .2s;font-size:.9em;padding:0 1rem;z-index:1020}@media (max-width:768px){.bd-header-article{padding:0 .5rem;height:3.5rem}}.scrolled .bd-header-article{box-shadow:0 6px 6px -6px var(--pst-color-shadow)}.bd-header-article .header-article__inner{padding:0}.bd-header-article .header-article-items{display:flex;align-items:center;height:3rem;width:100%}.bd-header-article .header-article-item{display:flex;align-items:center}.bd-header-article .article-header-buttons{display:flex}.bd-header-article .btn{font-size:1.3rem;color:var(--pst-color-text-muted);border:none;padding:0 .5rem;display:flex;align-items:center}.bd-header-article .btn svg{width:1.3rem}.bd-header-article .btn.show,.bd-header-article .btn:hover{color:var(--pst-color-text-base);border:none}.bd-header-article .btn.show+.dropdown-menu,.bd-header-article .btn:hover+.dropdown-menu{display:block}.bd-header-article .btn:focus{box-shadow:none}.bd-header-article .btn.dropdown-toggle:after{display:none}.bd-header-article div.dropdown{display:flex;align-items:center}.bd-header-article .theme-switch-button{margin:0}.bd-header-article .theme-switch-button button,.bd-header-article .theme-switch-button i,.bd-header-article .theme-switch-button span{padding:0}.bd-header-article .theme-switch-button i,.bd-header-article .theme-switch-button span{transition:color .25s ease-out}.bd-header-article .theme-switch-button:active,.bd-header-article .theme-switch-button:hover{background-color:unset!important}.bd-header-article .theme-switch-button:active i,.bd-header-article .theme-switch-button:active span,.bd-header-article .theme-switch-button:hover i,.bd-header-article .theme-switch-button:hover span{color:var(--pst-color-text-base)}.bd-header-article .dropdown-menu{top:2rem;transform:translateX(-75%);box-shadow:0 .2rem .5rem var(--pst-color-shadow),0 0 .0625rem var(--pst-color-shadow)!important;border-color:var(--pst-color-border);background-color:var(--pst-color-background);color:var(--pst-color-text-muted)}.bd-header-article .dropdown-menu:hover{display:block}.bd-header-article .dropdown-menu .dropdown-item{display:inline-flex;align-items:center;padding-left:.5em;font-size:1em}.bd-header-article .dropdown-menu .dropdown-item:hover{text-decoration:none;background-color:initial;color:var(--pst-color-text-base)}.bd-header-article .dropdown-menu .dropdown-item span img{height:1em}.bd-header-article .dropdown-menu .dropdown-item span.btn__icon-container{width:1.7em;align-items:center;display:inline-flex;justify-content:center}.bd-header{position:inherit}.bd-header label.sidebar-toggle{display:none}.bd-sidebar-primary{top:0;max-height:100vh;padding:1rem;transition:margin-left .25s ease 0s,opacity .25s ease 0s,visibility .25s ease 0s}@media (max-width:768px){.bd-sidebar-primary{z-index:1081}}.bd-sidebar-primary .sidebar-primary-items__start{border-top:none}@media (min-width:992px){.bd-sidebar-primary{flex-basis:20%}}@media (min-width:992px){input#__primary:checked~.bd-container .bd-sidebar-primary{margin-left:-20%;visibility:hidden;opacity:0}}.bd-sidebar-secondary{top:0}@media (max-width:992px){.bd-sidebar-secondary{z-index:1081}}.bd-sidebar-secondary .sidebar-secondary-items{padding:0;display:flex;gap:.5rem}.bd-sidebar-secondary .sidebar-secondary-items .sidebar-secondary-item{padding-top:0;padding-bottom:0}.bd-sidebar-secondary .onthispage{height:3rem;min-height:3rem;display:flex;gap:.5rem;align-items:center;margin:0;color:var(--pst-color-muted)}@media (min-width:992px){.bd-sidebar-secondary{background:var(--pst-color-background);height:fit-content;transition:max-height .4s ease;z-index:2;padding:0}.bd-sidebar-secondary .toc-item{border-left-color:var(--pst-color-surface);padding-top:0}.bd-sidebar-secondary .toc-item nav.page-toc{margin-bottom:0;transition:opacity .4s ease}.bd-sidebar-secondary.hide:not(:hover){max-height:3rem;overflow-y:hidden}.scrolled .bd-sidebar-secondary.hide:not(:hover){box-shadow:0 6px 6px -6px rgba(0,0,0,.3)}.bd-sidebar-secondary.hide:not(:hover) .onthispage:after{opacity:1;content:"\f107";font-family:Font Awesome\ 5 Free;font-weight:900;padding-left:.5em;transition:opacity .3s ease}.bd-sidebar-secondary.hide:not(:hover) nav.page-toc{opacity:0}}footer{font-size:var(--sbt-font-size-small-1)}footer.bd-footer-content{display:flex;flex-wrap:wrap;padding:15px;border-top:1px solid #ccc;font-size:87.5%}footer.bd-footer-content .bd-footer-content__inner{padding-left:0}footer.bd-footer-content .bd-footer-content__inner p{margin-bottom:0}.bd-footer-article{padding:0 1rem}@media (max-width:768px){.bd-footer-article{padding:0 .5rem}}#pst-back-to-top{font-size:.8rem}@media (min-width:1200px){#pst-back-to-top{display:none!important}}.bd-sidebar-primary .navbar-icon-links{column-gap:.5rem}.bd-sidebar-primary .navbar-icon-links .nav-link i,.bd-sidebar-primary .navbar-icon-links .nav-link span{font-size:1.2rem}.bd-sidebar-primary .navbar-icon-links .nav-link img{font-size:.8rem}.navbar-brand{height:unset;max-height:unset;flex-direction:column;justify-content:center;gap:.25rem}.navbar-brand:hover{text-decoration:none}.navbar-brand .logo__title{font-size:1.25rem;white-space:normal;text-align:center}.navbar-brand .logo__image{height:unset}.bd-search-container{margin:2em}.bd-search-container #search-results h2:first-child{display:none}.search-button-field{width:100%;font-size:.9rem;display:none}.search-button-field .search-button__kbd-shortcut{margin-left:auto}@media (min-width:992px){.search-button{display:none!important}.search-button-field{display:flex}}div#searchbox{padding-right:2rem;padding-left:2rem}@media (max-width:768px){div#searchbox{padding-right:1rem;padding-left:1rem}}@media (min-width:768px){div#searchbox p.highlight-link{margin-left:0}div#searchbox p.highlight-link a{font-size:1rem}}img{max-width:100%}img.align-center{margin-left:auto;margin-right:auto;display:block}img.align-left{clear:left;float:left;margin-right:1em}img.align-right{clear:right;float:right;margin-left:1em}div.figure{width:100%;margin-bottom:1em;text-align:center}div.figure.align-left{text-align:left}div.figure.align-left p.caption{margin-left:0}div.figure.align-right{text-align:right}div.figure.align-right p.caption{margin-right:0}div.figure p.caption{margin:.5em 10%}div.figure.margin-caption p.caption,div.figure.margin p.caption{margin:.5em 0}div.figure.margin-caption p.caption{text-align:left}div.figure span.caption-number{font-weight:700}div.figure span{font-size:.9rem}label.margin-toggle{margin-bottom:0}label.margin-toggle.marginnote-label{display:none}label.margin-toggle sup{user-select:none}@media (max-width:992px){label.margin-toggle{cursor:pointer;color:#0071bc}label.margin-toggle.marginnote-label{display:inline}label.margin-toggle.marginnote-label:after{content:"\2295"}}input.margin-toggle{display:none}@media (max-width:992px){input.margin-toggle:checked+.marginnote,input.margin-toggle:checked+.sidenote{display:block;float:left;left:1rem;clear:both;width:95%;margin:1rem 2.5%;position:relative}}span.marginnote,span.sidenote{z-index:2;position:relative;width:40%;float:right;background-color:unset;font-size:.9em;margin-left:.5rem;border-left:none}span.marginnote sup,span.sidenote sup{user-select:none}@media (min-width:992px),print{span.marginnote,span.sidenote{width:33%;margin:0 -36% 0 0;clear:right}span.marginnote p.sidebar-title,span.sidenote p.sidebar-title{margin-bottom:-1rem;border-bottom:none;padding-left:0}span.marginnote p.sidebar-title~*,span.sidenote p.sidebar-title~*{padding-left:0;padding-right:0}}@media (max-width:992px){span.marginnote,span.sidenote{display:none}}aside.sidebar .note{margin:1rem;padding:0 0 1rem}aside.sidebar .admonition-title{margin:0 -1rem 0 0}aside.sidebar.margin .sidebar-title:empty{display:none}aside.sidebar.margin .admonition{margin:.5rem;padding-left:0;padding-right:0}aside.sidebar.margin .admonition .admonition-title{margin-left:0;margin-right:0}@media (min-width:992px){aside.sidebar.margin{border:none}aside.sidebar.margin .admonition{margin:1rem 0;padding:0 0 1rem}}.cell.tag_margin,.cell.tag_popout,.margin.docutils.container,aside.margin,div.margin,figure.margin{z-index:2;position:relative;width:40%;float:right;background-color:unset;font-size:.9em;margin-left:.5rem}@media (min-width:992px),print{.cell.tag_margin,.cell.tag_popout,.margin.docutils.container,aside.margin,div.margin,figure.margin{width:33%;margin:0 -36% 0 0;clear:right}.cell.tag_margin p.sidebar-title,.cell.tag_popout p.sidebar-title,.margin.docutils.container p.sidebar-title,aside.margin p.sidebar-title,div.margin p.sidebar-title,figure.margin p.sidebar-title{margin-bottom:-1rem;border-bottom:none;padding-left:0}.cell.tag_margin p.sidebar-title~*,.cell.tag_popout p.sidebar-title~*,.margin.docutils.container p.sidebar-title~*,aside.margin p.sidebar-title~*,div.margin p.sidebar-title~*,figure.margin p.sidebar-title~*{padding-left:0;padding-right:0}}.cell.tag_margin div.cell.tag_margin .cell_output,.cell.tag_popout div.cell.tag_margin .cell_output,.margin.docutils.container div.cell.tag_margin .cell_output,aside.margin div.cell.tag_margin .cell_output,div.margin div.cell.tag_margin .cell_output,figure.margin div.cell.tag_margin .cell_output{padding-left:0}div.figure.margin-caption figcaption,div.figure.margin-caption p.caption,figure.margin-caption figcaption{z-index:2;position:relative;width:40%;float:right;background-color:unset;font-size:.9em;margin-left:.5rem}@media (min-width:992px),print{div.figure.margin-caption figcaption,div.figure.margin-caption p.caption,figure.margin-caption figcaption{width:33%;margin:0 -36% 0 0;clear:right}div.figure.margin-caption figcaption p.sidebar-title,div.figure.margin-caption p.caption p.sidebar-title,figure.margin-caption figcaption p.sidebar-title{margin-bottom:-1rem;border-bottom:none;padding-left:0}div.figure.margin-caption figcaption p.sidebar-title~*,div.figure.margin-caption p.caption p.sidebar-title~*,figure.margin-caption figcaption p.sidebar-title~*{padding-left:0;padding-right:0}}.margin-caption figcaption{text-align:left}div.cell.tag_full-width,div.cell.tag_full_width,div.full-width,div.full_width{z-index:2;position:relative}@media (min-width:992px){div.cell.tag_full-width,div.cell.tag_full_width,div.full-width,div.full_width{max-width:136%;width:136%}}blockquote.epigraph,blockquote.highlights,blockquote.pull-quote{font-size:1.25em;border-left:none;background-color:var(--pst-color-background)}blockquote div>p+p.attribution{font-style:normal;font-size:.9em;text-align:right;color:#6c757d;padding-right:2em}div[class*=highlight-],pre{clear:none}div.cell.tag_output_scroll div.cell_output,div.cell.tag_scroll-input div.cell_input,div.cell.tag_scroll-output div.cell_output{max-height:24em;overflow-y:auto}@media only print{div.utterances,hypothesis-sidebar{display:none}}.thebelab-cell{border:none!important;margin-right:.5em!important}.thebelab-cell .thebelab-input{padding-left:10px!important}.cell.docutils.container{padding-right:0!important}button.thebe-launch-button{height:2.5em;font-size:1em} \ No newline at end of file + */html[data-theme=dark],html[data-theme=light]{--pst-font-size-base:none;--pst-color-secondary:#e89217}html[data-theme=light]{--sbt-color-announcement:#616161;--pst-color-primary:#176de8}html[data-theme=dark]{--pst-color-primary:#528fe4;--sbt-color-announcement:#616161;--pst-color-background:#121212}html{scroll-padding-top:4rem}.sbt-scroll-pixel-helper{height:0;left:0;position:absolute;top:0;width:0}.d-n,.onlyprint{display:none}@media print{.onlyprint{display:block!important}.noprint{display:none!important}}.bd-article-container h1,.bd-article-container h2,.bd-article-container h3,.bd-article-container h4,.bd-article-container h5,.bd-article-container p.caption{color:var(--pst-color-muted)}.bd-article-container h1,.bd-article-container h2{font-weight:500}a.brackets:before{color:inherit;font-family:inherit;margin-right:0}table{position:relative}@media print{.bd-main .bd-content{height:auto;margin-left:2rem}.bd-main .bd-content #jb-print-docs-body{margin-left:0}.bd-main .bd-content #jb-print-docs-body h1{font-size:3em;margin-bottom:0;text-align:center}.bd-main .bd-content .bd-article{padding-top:0}.bd-main .bd-content .bd-article h1:first-of-type{display:none}.bd-main .bd-content .container{min-width:0!important}.bd-main .bd-content h1{margin-bottom:1em;margin-top:1em}.bd-main .bd-content h1,.bd-main .bd-content h2,.bd-main .bd-content h3,.bd-main .bd-content h4{break-after:avoid;color:#000}.bd-main .bd-content table{break-inside:avoid}.bd-main .bd-content pre{word-wrap:break-word}.bd-main .bd-content a.headerlink{display:none}.bd-main .bd-content aside.margin,.bd-main .bd-content aside.sidebar,.bd-main .bd-content blockquote.epigraph{border:none}.bd-main .bd-content .footer{margin-top:1em}.bd-main .bd-content #jb-print-toc{margin-bottom:1.5rem;margin-left:0}.bd-main .bd-content #jb-print-toc .section-nav{border-left:0!important;list-style-type:disc!important;margin-left:3em!important}.bd-main .bd-content #jb-print-toc .section-nav a{text-decoration:none!important}.bd-main .bd-content #jb-print-toc .section-nav li{display:list-item!important}.bd-main .bd-content #jb-print-toc .section-nav .nav{display:none}.bd-main .bd-footer-content{display:none!important}}.bd-header-announcement{background-color:var(--sbt-color-announcement);color:#fff}.bd-main .bd-content{justify-content:left}.bd-main .bd-content .bd-article-container{min-width:0;overflow-x:unset;padding:0}@media(min-width:1200px){.bd-main .bd-content .bd-article-container{max-width:calc(100% - var(--pst-sidebar-secondary))}}.bd-main .bd-content .bd-article-container .bd-article{padding-left:2rem;padding-right:2rem}@media(max-width:768px){.bd-main .bd-content .bd-article-container .bd-article{padding-left:1rem;padding-right:1rem}}.bd-main .bd-content .bd-article-container details.above-input summary,.bd-main .bd-content .bd-article-container details.below-input summary{border-left:3px solid var(--pst-color-primary)}@media(min-width:768px){button.sidebar-toggle.primary-toggle{display:inline-block}}@media(max-width:768px){button.sidebar-toggle.primary-toggle{margin-bottom:0}}@media(min-width:1200px){button.sidebar-toggle.secondary-toggle{display:none}}@media(max-width:768px){button.sidebar-toggle.secondary-toggle{margin-bottom:0}}.bd-header-article{align-items:center;background-color:var(--pst-color-background);display:flex;font-size:.9em;padding:0 1rem;position:sticky;top:0;transition:left .2s;z-index:1020}@media(max-width:768px){.bd-header-article{height:3.5rem;padding:0 .5rem}}.scrolled .bd-header-article{box-shadow:0 6px 6px -6px var(--pst-color-shadow)}.bd-header-article .header-article__inner{padding:0}.bd-header-article .header-article-items{align-items:center;display:flex;height:3rem;width:100%}.bd-header-article .header-article-item{align-items:center;display:flex}.bd-header-article .article-header-buttons{display:flex}.bd-header-article .btn{align-items:center;border:none;color:var(--pst-color-text-muted);display:flex;font-size:1.3rem;padding-left:.5rem;padding-right:.5rem}.bd-header-article .btn svg{width:1.3rem}.bd-header-article .btn.show,.bd-header-article .btn:hover{border:none;color:var(--pst-color-text-base)}.bd-header-article .btn.show+.dropdown-menu,.bd-header-article .btn:hover+.dropdown-menu{display:block}.bd-header-article .btn:focus{box-shadow:none}.bd-header-article .btn.dropdown-toggle:after{display:none}.bd-header-article div.dropdown{align-items:center;display:flex}.bd-header-article .theme-switch-button{margin:0}.bd-header-article .theme-switch-button button,.bd-header-article .theme-switch-button i,.bd-header-article .theme-switch-button span{padding:0}.bd-header-article .theme-switch-button i,.bd-header-article .theme-switch-button span{transition:color .25s ease-out}.bd-header-article .theme-switch-button:active,.bd-header-article .theme-switch-button:hover{background-color:unset!important}.bd-header-article .theme-switch-button:active i,.bd-header-article .theme-switch-button:active span,.bd-header-article .theme-switch-button:hover i,.bd-header-article .theme-switch-button:hover span{color:var(--pst-color-text-base)}.bd-header-article .dropdown-menu{background-color:var(--pst-color-background);border-color:var(--pst-color-border);box-shadow:0 .2rem .5rem var(--pst-color-shadow),0 0 .0625rem var(--pst-color-shadow)!important;color:var(--pst-color-text-muted);top:2rem;transform:translateX(-75%)}.bd-header-article .dropdown-menu:hover{display:block}.bd-header-article .dropdown-menu .dropdown-item{align-items:center;display:inline-flex;font-size:1em;padding-left:.5em}.bd-header-article .dropdown-menu .dropdown-item:hover{background-color:initial;color:var(--pst-color-text-base);text-decoration:none}.bd-header-article .dropdown-menu .dropdown-item span img{height:1em}.bd-header-article .dropdown-menu .dropdown-item span.btn__icon-container{align-items:center;display:inline-flex;justify-content:center;width:1.7em}.bd-header{position:inherit}.bd-header button.sidebar-toggle{display:none}.bd-sidebar-primary{max-height:100vh;padding:1rem;top:0;transition:margin-left .25s ease 0s,opacity .25s ease 0s,visibility .25s ease 0s}@media(max-width:768px){.bd-sidebar-primary{z-index:1081}}.bd-sidebar-primary .sidebar-primary-items__start{border-top:none}@media(min-width:992px){.bd-sidebar-primary{flex-basis:20%}input#pst-primary-sidebar-checkbox:checked~.bd-container .bd-sidebar-primary{margin-left:-20%;opacity:0;visibility:hidden}}.bd-sidebar-secondary{top:0}@media(max-width:1200px){.bd-sidebar-secondary{z-index:1081}}.bd-sidebar-secondary .sidebar-secondary-items{display:flex;gap:.5rem;padding:0}.bd-sidebar-secondary .sidebar-secondary-items .sidebar-secondary-item{padding-bottom:0;padding-top:0}.bd-sidebar-secondary .onthispage{align-items:center;color:var(--pst-color-muted);display:flex;gap:.5rem;height:3rem;margin:0;min-height:3rem}@media(min-width:1200px){.bd-sidebar-secondary{background:var(--pst-color-background);height:fit-content;padding:0;transition:max-height .4s ease;z-index:2}.bd-sidebar-secondary .toc-item{border-left-color:var(--pst-color-surface);padding-top:0}.bd-sidebar-secondary .toc-item nav.page-toc{margin-bottom:0;transition:opacity .4s ease}.bd-sidebar-secondary.hide:not(:hover){max-height:3rem;overflow-y:hidden}.scrolled .bd-sidebar-secondary.hide:not(:hover){box-shadow:0 6px 6px -6px rgba(0,0,0,.3)}.bd-sidebar-secondary.hide:not(:hover) .onthispage:after{content:"";font-family:Font Awesome\ 5 Free;font-weight:900;opacity:1;padding-left:.5em;transition:opacity .3s ease}.bd-sidebar-secondary.hide:not(:hover) nav.page-toc{opacity:0}}footer{font-size:var(--sbt-font-size-small-1)}footer.bd-footer-content{border-top:1px solid #ccc;display:flex;flex-wrap:wrap;font-size:87.5%;padding:15px}footer.bd-footer-content .bd-footer-content__inner{padding-left:0}footer.bd-footer-content .bd-footer-content__inner p{margin-bottom:0}.bd-footer-article{padding:0 1rem}@media(max-width:768px){.bd-footer-article{padding:0 .5rem}}#pst-back-to-top{font-size:.8rem}@media(min-width:1200px){#pst-back-to-top{display:none!important}}.bd-sidebar-primary .navbar-icon-links{column-gap:.5rem}.bd-sidebar-primary .navbar-icon-links .nav-link i,.bd-sidebar-primary .navbar-icon-links .nav-link span{font-size:1.2rem}.bd-sidebar-primary .navbar-icon-links .nav-link img{font-size:.8rem}.navbar-brand{flex-direction:column;gap:.25rem;height:unset;justify-content:center;max-height:unset}.navbar-brand:hover{text-decoration:none}.navbar-brand .logo__title{font-size:1.25rem;text-align:center;white-space:normal}.navbar-brand .logo__image{height:unset}.bd-search-container{margin:2em}.bd-search-container #search-results h2:first-child{display:none}.search-button-field{display:none;font-size:.9rem;width:100%}.search-button-field .search-button__kbd-shortcut{margin-left:auto}@media(min-width:992px){.search-button{display:none!important}.search-button-field{display:flex}}div#searchbox{padding-left:2rem;padding-right:2rem}@media(max-width:768px){div#searchbox{padding-left:1rem;padding-right:1rem}}@media(min-width:768px){div#searchbox p.highlight-link{margin-left:0}div#searchbox p.highlight-link a{font-size:1rem}}img{max-width:100%}img.align-center{display:block;margin-left:auto;margin-right:auto}img.align-left{clear:left;float:left;margin-right:1em}img.align-right{clear:right;float:right;margin-left:1em}div.figure{margin-bottom:1em;text-align:center;width:100%}div.figure.align-left{text-align:left}div.figure.align-left p.caption{margin-left:0}div.figure.align-right{text-align:right}div.figure.align-right p.caption{margin-right:0}div.figure p.caption{margin:.5em 10%}div.figure.margin p.caption,div.figure.margin-caption p.caption{margin:.5em 0}div.figure.margin-caption p.caption{text-align:left}div.figure span.caption-number{font-weight:700}div.figure span{font-size:.9rem}label.margin-toggle{margin-bottom:0}label.margin-toggle.marginnote-label{display:none}label.margin-toggle sup{user-select:none}@media(max-width:992px){label.margin-toggle{color:#0071bc;cursor:pointer}label.margin-toggle.marginnote-label{display:inline}label.margin-toggle.marginnote-label:after{content:"⊕"}}input.margin-toggle{display:none}@media(max-width:992px){input.margin-toggle:checked+.marginnote,input.margin-toggle:checked+.sidenote{clear:both;display:block;float:left;left:1rem;margin:1rem 2.5%;position:relative;width:95%}}span.marginnote,span.sidenote{background-color:unset;border-left:none;float:right;font-size:.9em;margin-left:.5rem;position:relative;width:40%;z-index:2}span.marginnote sup,span.sidenote sup{user-select:none}@media(min-width:992px),print{span.marginnote,span.sidenote{clear:right;margin:0 -36% 0 0;width:33%}span.marginnote p.sidebar-title,span.sidenote p.sidebar-title{border-bottom:none;margin-bottom:-1rem;padding-left:0}span.marginnote p.sidebar-title~*,span.sidenote p.sidebar-title~*{padding-left:0;padding-right:0}}@media(max-width:992px){span.marginnote,span.sidenote{display:none}}aside.sidebar .note{margin:1rem;padding:0 0 1rem}aside.sidebar .admonition-title{margin:0 -1rem 0 0}aside.sidebar.margin .sidebar-title:empty{display:none}aside.sidebar.margin .admonition{margin:.5rem;padding-left:0;padding-right:0}aside.sidebar.margin .admonition .admonition-title{margin-left:0;margin-right:0}@media(min-width:992px){aside.sidebar.margin{border:none}aside.sidebar.margin .admonition{margin:1rem 0;padding:0 0 1rem}}.cell.tag_margin,.cell.tag_popout,.margin.docutils.container,aside.margin,div.margin,figure.margin{background-color:unset;float:right;font-size:.9em;margin-left:.5rem;position:relative;width:40%;z-index:2}@media(min-width:992px),print{.cell.tag_margin,.cell.tag_popout,.margin.docutils.container,aside.margin,div.margin,figure.margin{clear:right;margin:0 -36% 0 0;width:33%}.cell.tag_margin p.sidebar-title,.cell.tag_popout p.sidebar-title,.margin.docutils.container p.sidebar-title,aside.margin p.sidebar-title,div.margin p.sidebar-title,figure.margin p.sidebar-title{border-bottom:none;margin-bottom:-1rem;padding-left:0}.cell.tag_margin p.sidebar-title~*,.cell.tag_popout p.sidebar-title~*,.margin.docutils.container p.sidebar-title~*,aside.margin p.sidebar-title~*,div.margin p.sidebar-title~*,figure.margin p.sidebar-title~*{padding-left:0;padding-right:0}}.cell.tag_margin div.cell.tag_margin .cell_output,.cell.tag_popout div.cell.tag_margin .cell_output,.margin.docutils.container div.cell.tag_margin .cell_output,aside.margin div.cell.tag_margin .cell_output,div.margin div.cell.tag_margin .cell_output,figure.margin div.cell.tag_margin .cell_output{padding-left:0}div.figure.margin-caption figcaption,div.figure.margin-caption p.caption,figure.margin-caption figcaption{background-color:unset;float:right;font-size:.9em;margin-left:.5rem;position:relative;width:40%;z-index:2}@media(min-width:992px),print{div.figure.margin-caption figcaption,div.figure.margin-caption p.caption,figure.margin-caption figcaption{clear:right;margin:0 -36% 0 0;width:33%}div.figure.margin-caption figcaption p.sidebar-title,div.figure.margin-caption p.caption p.sidebar-title,figure.margin-caption figcaption p.sidebar-title{border-bottom:none;margin-bottom:-1rem;padding-left:0}div.figure.margin-caption figcaption p.sidebar-title~*,div.figure.margin-caption p.caption p.sidebar-title~*,figure.margin-caption figcaption p.sidebar-title~*{padding-left:0;padding-right:0}}.margin-caption figcaption{text-align:left}div.cell.tag_full-width,div.cell.tag_full_width,div.full-width,div.full_width{position:relative;z-index:2}@media(min-width:992px){div.cell.tag_full-width,div.cell.tag_full_width,div.full-width,div.full_width{max-width:136%;width:136%}}blockquote.epigraph,blockquote.highlights,blockquote.pull-quote{background-color:var(--pst-color-background);border-left:none;font-size:1.25em}blockquote div>p+p.attribution{color:#6c757d;font-size:.9em;font-style:normal;padding-right:2em;text-align:right}div[class*=highlight-],pre{clear:none}div.cell.tag_output_scroll div.cell_output,div.cell.tag_scroll-input div.cell_input,div.cell.tag_scroll-output div.cell_output{max-height:24em;overflow-y:auto}@media only print{div.utterances,hypothesis-sidebar{display:none}}.thebelab-cell{border:none!important;margin-right:.5em!important}.thebelab-cell .thebelab-input{padding-left:10px!important}.cell.docutils.container{padding-right:0!important}button.thebe-launch-button{font-size:1em;height:2.5em} +/*# sourceMappingURL=sphinx-book-theme.css.map*/ \ No newline at end of file diff --git a/_static/styles/sphinx-book-theme.css.map b/_static/styles/sphinx-book-theme.css.map new file mode 100644 index 00000000..be3f1326 --- /dev/null +++ b/_static/styles/sphinx-book-theme.css.map @@ -0,0 +1 @@ +{"version":3,"file":"styles/sphinx-book-theme.css","mappings":"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","sources":["webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/index.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/abstracts/_variables.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/base/_base.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/base/_typography.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/base/_print.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/sections/_announcement.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/sections/_article.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/sections/_article-container.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/sections/_header-article.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/abstracts/_mixins.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/sections/_header-primary.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/sections/_sidebar-primary.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/sections/_sidebar-secondary.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/sections/_footer-content.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/sections/_footer-article.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/components/_back-to-top.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/components/_icon-links.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/components/_logo.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/components/_search.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/content/_images.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/content/_margin.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/content/_quotes.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/content/_code.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/content/_notebooks.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/extensions/_comments.scss","webpack://sphinx_book_theme/./src/sphinx_book_theme/assets/styles/extensions/_thebe.scss"],"sourcesContent":["/*! sphinx-book-theme CSS\n * BSD 3-Clause License\n * Copyright (c) 2020, EBP\n * All rights reserved.\n *\n * This follows the 7-1 pattern described here:\n * https://sass-guidelin.es/#architecture\n */\n// Variables and re-usable SCSS functions\n@import \"abstracts/mixins\";\n@import \"abstracts/variables\";\n\n// Basic styling applied throughout site\n@import \"base/base\";\n@import \"base/typography\";\n@import \"base/print\";\n\n// Major theme layout, skeleton, and whitespace\n@import \"sections/announcement\";\n@import \"sections/article\";\n@import \"sections/article-container\";\n@import \"sections/header-article\";\n@import \"sections/header-primary\";\n@import \"sections/sidebar-primary\";\n@import \"sections/sidebar-secondary\";\n@import \"sections/footer-content\";\n@import \"sections/footer-article\";\n\n// Re-usable components across the theme\n@import \"components/back-to-top\";\n@import \"components/icon-links\";\n@import \"components/logo\";\n@import \"components/search\";\n\n// Content blocks in standard Sphinx\n@import \"content/images\";\n@import \"content/margin\";\n@import \"content/quotes\";\n@import \"content/code\";\n@import \"content/notebooks\";\n\n// Content blocks from Sphinx extensions\n\n@import \"extensions/comments\";\n@import \"extensions/thebe\";\n","/*********************************************\n* Variables *\n*********************************************/\n// Breakpoints from Bootstrap: https://getbootstrap.com/docs/5.0/layout/breakpoints/\n$breakpoint-xxl: 1200px;\n$breakpoint-xl: 1200px;\n$breakpoint-lg: 992px;\n$breakpoint-md: 768px;\n$breakpoint-sm: 576px;\n\n// A few semantic z-indices\n$zindex-bottom: 1;\n$zindex-middle: 2;\n$zindex-top: 3;\n\n// Semantic Z-index from bootstrap. Copied here so we can re-use if needed.\n// ref: https://getbootstrap.com/docs/5.0/layout/z-index/\n$zindex-dropdown: 1000;\n$zindex-sticky: 1020;\n$zindex-fixed: 1030;\n$zindex-modal-backdrop: 1040;\n$zindex-offcanvas: 1050;\n$zindex-modal: 1060;\n$zindex-popover: 1070;\n$zindex-tooltip: 1080;\n\n// Spacing\n$header-article-height: 3rem;\n$sidebar-primary-width-widescreen: 20%;\n$toc-width-mobile: 75%;\n\n// Consistent styling for page elements\n$box-border-radius: 0.4em;\n\n$animation-time: 0.25s;\n\n// Font sizes\n$sbt-font-size-small-1: 87.5%;\n\n/**\n * Variables that aren't impacted by light/dark\n */\nhtml[data-theme=\"light\"],\nhtml[data-theme=\"dark\"] {\n // Over-ride the pydata theme so that readers can use their system base\n --pst-font-size-base: none;\n // Default secondary color (has enough contrast on both light/dark so\n // no need to special case.\n --pst-color-secondary: #e89217;\n}\n\n// Overrides for pydata sphinx theme.\n// See https://github.com/pydata/pydata-sphinx-theme/blob/master/pydata_sphinx_theme/static/css/theme.css\nhtml[data-theme=\"light\"] {\n // Announcement\n --sbt-color-announcement: rgb(97, 97, 97);\n // Default primary color (need to adjust on dark theme due to bad contrast)\n --pst-color-primary: #176de8;\n}\n\nhtml[data-theme=\"dark\"] {\n // Slightly lighten these colors to make them stand out more on dark\n --pst-color-primary: #528fe4;\n\n // Over-ride the purple announcement color\n --sbt-color-announcement: rgb(97, 97, 97);\n // Desaturate the background\n --pst-color-background: #121212;\n}\n","/**\n * General structural things\n */\nhtml {\n // The PyData theme value for this is based on `header-height` variable.\n // We set the variable to 0 and have our own $article-header-height SCSS variable.\n // So here we follow the same pattern but now using our variable.\n scroll-padding-top: $header-article-height + 1rem;\n}\n\n/**\n* Utility classes used in a few places\n*/\n// For the helper pixel that we can watch to decide whether we've scrolled\n.sbt-scroll-pixel-helper {\n position: absolute;\n width: 0px;\n height: 0px;\n top: 0;\n left: 0;\n}\n\n// We define our own display-none class since bootstrap uses !important and we want to be able to over-ride\n.d-n {\n display: none;\n}\n\n/**\n * Printing behavior\n */\n// Only display upon printing\n.onlyprint {\n display: none;\n\n @media print {\n display: block !important;\n }\n}\n\n// Prevent an item from being printed\n.noprint {\n @media print {\n display: none !important;\n }\n}\n","/*********************************************\n* Basic text formatting and content structure *\n*********************************************/\n\n.bd-article-container {\n h1,\n h2,\n h3,\n h4,\n h5,\n p.caption {\n color: var(--pst-color-muted);\n }\n\n // Top two headers are slightly bolder\n h1,\n h2 {\n font-weight: 500;\n }\n}\n\n// counteracting pydata style on a::before, for citation style\na.brackets::before {\n color: inherit;\n font-family: inherit;\n margin-right: 0rem;\n}\n\ntable {\n position: relative;\n}\n","/*********************************************\n* Print-specific CSS *\n*********************************************/\n@media print {\n .bd-main {\n .bd-content {\n margin-left: 2rem;\n height: auto;\n // Structural elements\n #jb-print-docs-body {\n margin-left: 0rem;\n\n h1 {\n font-size: 3em;\n text-align: center;\n margin-bottom: 0;\n }\n }\n // Main content adjustments\n .bd-article {\n padding-top: 0;\n\n // The first H1 is the title, we've already displayed above\n h1:first-of-type {\n display: none;\n }\n }\n\n // HACK: Without this, some code cells take the whole width\n .container {\n min-width: 0% !important;\n }\n\n // Content\n h1 {\n margin-top: 1em;\n margin-bottom: 1em;\n }\n h1,\n h2,\n h3,\n h4 {\n break-after: avoid;\n color: black;\n }\n\n table {\n break-inside: avoid;\n }\n\n pre {\n word-wrap: break-word;\n }\n\n a.headerlink {\n display: none;\n }\n\n // Remove borders to save some ink\n blockquote.epigraph,\n aside.margin,\n aside.sidebar {\n border: none;\n }\n\n .footer {\n margin-top: 1em;\n }\n // Print-only table of contents\n #jb-print-toc {\n margin-bottom: 1.5rem;\n margin-left: 0rem;\n .section-nav {\n border-left: 0px !important;\n list-style-type: disc !important;\n margin-left: 3em !important;\n a {\n text-decoration: none !important;\n }\n li {\n display: list-item !important;\n }\n .nav {\n display: none;\n }\n }\n }\n }\n\n // Hide the footer on printing\n .bd-footer-content {\n display: none !important;\n }\n }\n}\n",".bd-header-announcement {\n background-color: var(--sbt-color-announcement);\n color: #fff;\n}\n",".bd-main .bd-content {\n // make article container left aligned in absence of sidebar\n justify-content: left;\n}\n",".bd-main .bd-content .bd-article-container {\n // Re-adjust padding defaults to be flush on the top and right\n padding: 0rem;\n // Unset overflow x so that sticky: top works for the article header\n overflow-x: unset;\n // prevent from overflowing the flex container\n min-width: 0;\n\n @media (min-width: $breakpoint-xl) {\n // keep article at reasonable width in absence of sidebar\n max-width: calc(100% - var(--pst-sidebar-secondary));\n }\n\n .bd-article {\n padding-right: 2rem;\n padding-left: 2rem;\n @media (max-width: $breakpoint-md) {\n padding-right: 1rem;\n padding-left: 1rem;\n }\n }\n details.above-input,\n details.below-input {\n summary {\n border-left: 3px solid var(--pst-color-primary);\n }\n }\n}\n","/*********************************************\n* Top Bar *\n*********************************************/\n/**\n * Mixin:\n * Header behavior on mobile\n */\n@mixin header-height-mobile {\n @media (max-width: $breakpoint-md) {\n height: $header-article-height + 0.5rem;\n }\n}\n\n/**\n * Sidebar toggle over-rides for PST\n */\n// Primary toggle is always visible\nbutton.sidebar-toggle.primary-toggle {\n @media (min-width: $breakpoint-md) {\n display: inline-block;\n }\n @media (max-width: $breakpoint-md) {\n margin-bottom: 0px;\n }\n}\n\n// Secondary toggle mimics behavior of \"persistent header\" div of PST\nbutton.sidebar-toggle.secondary-toggle {\n @media (min-width: $breakpoint-xl) {\n display: none;\n }\n @media (max-width: $breakpoint-md) {\n margin-bottom: 0px;\n }\n}\n\n// Wrapper container\n.bd-header-article {\n display: flex;\n align-items: center;\n position: sticky;\n top: 0;\n background-color: var(--pst-color-background);\n transition: left 0.2s;\n font-size: 0.9em;\n padding: 0 1rem;\n\n @media (max-width: $breakpoint-md) {\n // Give mobile view a bit more space for text\n padding: 0 0.5rem;\n }\n z-index: $zindex-sticky;\n\n @include header-height-mobile;\n\n // The box shadow that shows up when you've scrolled past the top\n .scrolled & {\n box-shadow: 0 6px 6px -6px var(--pst-color-shadow);\n }\n\n // Remove inner padding so that spacing of buttons is a bit tighter\n .header-article__inner {\n padding: 0;\n }\n\n // Inner container with items in it\n .header-article-items {\n display: flex;\n align-items: center;\n height: $header-article-height;\n width: 100%;\n }\n\n // Contains the individual item components so we want it centered\n .header-article-item {\n display: flex;\n align-items: center;\n }\n\n /**\n * Buttons in the header\n */\n // A series of buttons we special-case in the theme\n .article-header-buttons {\n display: flex;\n }\n\n // Generic button styles\n .btn {\n // Basic button size\n font-size: 1.3rem;\n color: var(--pst-color-text-muted);\n border: none;\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n\n // Make sure anything inside is aligned vertically\n display: flex;\n align-items: center;\n\n // Fix width of buttons so they're all the same\n svg {\n width: 1.3rem;\n }\n\n // Hover / active behavior\n &.show,\n &:hover {\n color: var(--pst-color-text-base);\n border: none;\n & + .dropdown-menu {\n display: block;\n }\n }\n &:focus {\n box-shadow: none;\n }\n\n &.dropdown-toggle {\n // Hide the bootstrap caret\n &:after {\n display: none;\n }\n }\n }\n\n // Vertically align dropdown buttons\n div.dropdown {\n display: flex;\n align-items: center;\n }\n\n .theme-switch-button {\n // Removing some special-casing that was needed in PST\n margin: 0;\n\n // Remove extra padding since it is already there between sidebar items\n span,\n i,\n button {\n padding: 0;\n }\n\n // No background on hover. Need important to over-ride the PST which uses it too.\n span,\n i {\n transition: color $animation-time ease-out;\n }\n &:active,\n &:hover {\n background-color: unset !important;\n span,\n i {\n color: var(--pst-color-text-base);\n }\n }\n }\n\n // The menu that is normally hidden until you hover\n .dropdown-menu {\n // Hidden unless we are hovering\n &:hover {\n display: block;\n }\n\n // Positioning and layout of dropdown items to be standardized\n top: 2rem;\n transform: translateX(-75%);\n @include pst-box-shadow;\n\n // Color and shadowing\n border-color: var(--pst-color-border);\n background-color: var(--pst-color-background);\n color: var(--pst-color-text-muted);\n\n .dropdown-item {\n display: inline-flex;\n align-items: center;\n padding-left: 0.5em;\n\n // To prevent link underline from showing up\n &:hover {\n text-decoration: none;\n background-color: initial;\n color: var(--pst-color-text-base);\n }\n\n // Slightly smaller font for everything\n font-size: 1em;\n\n // Image icons should be the same height as icons\n span img {\n height: 1em;\n }\n\n span.btn__icon-container {\n width: 1.7em;\n align-items: center;\n display: inline-flex;\n justify-content: center;\n }\n }\n }\n}\n","/*********************************************\n* SASS Mixins\n*********************************************/\n/**\n* Hide the scrollbar until the element is hovered, so keep the page clean\n* Use this sparingly because it's not a great UX pattern.\n*/\n@mixin scrollbar-on-hover() {\n &:not(:hover) {\n &::-webkit-scrollbar-thumb {\n visibility: hidden;\n }\n }\n}\n\n/**\n * The PyData Sphinx Theme box shadow rule\n * Copied here in csae we need to re-use.\n*/\n@mixin pst-box-shadow() {\n box-shadow:\n 0 0.2rem 0.5rem var(--pst-color-shadow),\n 0 0 0.0625rem var(--pst-color-shadow) !important;\n}\n",".bd-header {\n // Turn off sticky positioning so that it scrolls\n position: inherit;\n\n // Turn these off because we'll show it in the article header\n // The primary sidebar toggle\n button.sidebar-toggle {\n display: none;\n }\n}\n","/*********************************************\n* Left Nav Bar *\n*********************************************/\n\n.bd-sidebar-primary {\n // So that it sticks to the top of the page instead of the header height\n top: 0;\n max-height: 100vh;\n\n // Tighter padding so the spacing is more equal\n padding: 1rem;\n\n // Draw open/close animation\n transition:\n margin-left $animation-time ease 0s,\n opacity $animation-time ease 0s,\n visibility $animation-time ease 0s;\n\n @media (max-width: $breakpoint-md) {\n // So that tooltips don't overlap\n z-index: $zindex-tooltip + 1;\n }\n\n // Remove the top border since there's often no header items above\n .sidebar-primary-items__start {\n border-top: none;\n }\n\n // On wide screens we have a smaller sidebar width than PST\n @media (min-width: $breakpoint-lg) {\n flex-basis: $sidebar-primary-width-widescreen;\n }\n}\n\n// Default visibility for left sidebar is the reverse of what it is on mobile.\n// It is shown by default, and hidden with a click.\n// Mobile behavior is defined in the pydata sphinx theme\n@media (min-width: $breakpoint-lg) {\n input#pst-primary-sidebar-checkbox:checked\n ~ .bd-container\n .bd-sidebar-primary {\n margin-left: -$sidebar-primary-width-widescreen;\n visibility: hidden;\n opacity: 0;\n }\n}\n","/*********************************************\n* Table of Contents (right nav bar) *\n*********************************************/\n\n.bd-sidebar-secondary {\n // So that it sticks to the top of the page instead of the header height\n top: 0;\n\n @media (max-width: $breakpoint-xl) {\n // So that tooltips don't overlap\n z-index: $zindex-tooltip + 1;\n }\n\n // So that we can center the TOC button with the article header buttons\n .sidebar-secondary-items {\n padding: 0;\n display: flex;\n gap: 0.5rem;\n\n // Remove the manual padding since we'll use `gap`\n .sidebar-secondary-item {\n padding-top: 0;\n padding-bottom: 0;\n }\n }\n\n // The 'on this page' title div should take up the full header\n .onthispage {\n height: $header-article-height;\n min-height: $header-article-height;\n display: flex;\n gap: 0.5rem;\n align-items: center;\n margin: 0;\n color: var(--pst-color-muted);\n }\n\n // Wide screen behavior\n @media (min-width: $breakpoint-xl) {\n background: var(--pst-color-background);\n height: fit-content;\n transition: max-height 0.4s ease;\n\n // To make sure it shows above the page content\n z-index: $zindex-middle;\n\n // Remove padding so that it's flush on the top and left\n padding: 0;\n\n // This is the container div for the secondary sidebar nav\n .toc-item {\n // Border is a bit less prominent\n border-left-color: var(--pst-color-surface);\n // Flush with the top so that we can fix the height of the toc header div\n padding-top: 0;\n\n // The table of contents