/*! sphinx-book-theme CSS
 * BSD 3-Clause License
 * Copyright (c) 2020, EBP
 * All rights reserved.
 *
 * This follows the 7-1 pattern described here:
 * https://sass-guidelin.es/#architecture
 */html {
    --pst-font-size-base:none
}
html[data-theme=light] {
  --sbt-color-announcement:#616161
}
html[data-theme=dark],
html[data-theme=light] {
  --pst-color-primary:#579aca
}
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 {
  flex-grow:0
}
.bd-main .bd-content .bd-article-container {
  padding:0;
  overflow-x:unset;
  min-width:0
}
.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
}
.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 .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 {
  margin-top:0;
  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;
  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
  }
}
.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 i {
  font-size:1.1rem
}
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
}
