@charset "UTF-8";

:root {
  --color-orange: #f54b15;
  --color-orange-bagkground: #f54b150f;
  --color-black: oklch(18% 0.03 279.97);
  --color-white: #fff;
  --color-gray: rgb(236 236 236);
  --color-document-back: var(--color-gray);
  --color-search-text: var(--color-white);
  --color-search-back: var(--color-orange);
  --color-menu-title: var(--color-orange);
  --color-menu-text: var(--color-white);
  --color-menu-back: var(--color-black);
  --color-menu-current-link-text: var(--color-content-text);
  --color-menu-current-link-back: #fcfcfc;
  --color-menu-current-text: var(--color-white);
  --color-menu-current-back: oklch(28% 0.03 279.97);
  --color-table-head-background: var(--color-orange);
  --color-table-head-text: var(--color-white);
  --color-table-head-border: var(--color-white);
  --color-table-body-background: var(--color-gray);
  --color-table-body-border: var(--color-white);
  --color-field-list-term-background: var(--color-orange);
  --color-field-list-term-text: var(--color-white);
  --color-field-list-definition-background: var(--color-gray);
  --color-content-title: var(--color-orange);
  --color-content-text: var(--color-black);
  --color-content-back: var(--color-white);
  --color-admonition-default: rgb(238 238 238);
  --color-admonition-title-default: rgb(222 222 222);
  --color-admonition-warning: rgb(255 237 204);
  --color-admonition-title-warning: rgb(240 179 126);
  --color-admonition-danger: rgb(253 243 242);
  --color-admonition-title-danger: rgb(242 159 151);
  --color-admonition-success: rgb(219 250 244);
  --color-admonition-title-success: rgb(26 188 156);
  --color-admonition-info: rgb(231 242 250);
  --color-admonition-title-info: rgb(106 176 222);
}

@font-face {
  font-family: Comfortaa;
  src: url("../fonts/Comfortaa-Regular.ttf");
  src: url("../fonts/Comfortaa-Regular.ttf?#iefix&v=4.1.0") format("truetype");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: Comfortaa;
  src: url("../fonts/Comfortaa-Bold.ttf");
  src: url("../fonts/Comfortaa-Bold.ttf?#iefix&v=4.1.0") format("truetype");
  font-weight: 700;
  font-style: normal;
}

@font-face {
    font-family: Lato;
    src: url('../fonts/Lato-Regular.eot');
    src: url('../fonts/Lato-Regular.eot?#iefix') format('embedded-opentype'),
         url('../fonts/Lato-Regular.woff2') format('woff2'),
         url('../fonts/Lato-Regular.woff') format('woff'),
         url('../fonts/Lato-Regular.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizelegibility;
}

@font-face {
    font-family: Lato;
    src: url('../fonts/Lato-Italic.eot');
    src: url('../fonts/Lato-Italic.eot?#iefix') format('embedded-opentype'),
         url('../fonts/Lato-Italic.woff2') format('woff2'),
         url('../fonts/Lato-Italic.woff') format('woff'),
         url('../fonts/Lato-Italic.ttf') format('truetype');
    font-style: italic;
    font-weight: normal;
    text-rendering: optimizelegibility;
}

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

@font-face {
    font-family: Lato;
    src: url('../fonts/Lato-BoldItalic.eot');
    src: url('../fonts/Lato-BoldItalic.eot?#iefix') format('embedded-opentype'),
         url('../fonts/Lato-BoldItalic.woff2') format('woff2'),
         url('../fonts/Lato-BoldItalic.woff') format('woff'),
         url('../fonts/Lato-BoldItalic.ttf') format('truetype');
    font-style: italic;
    font-weight: bold;
    text-rendering: optimizelegibility;
}

@font-face {
  font-family: FontAwesome;
  font-style: normal;
  font-weight: bold;
  font-display: block;
  src: url("../fonts/fa-solid-900.woff2") format("woff2"),
       url("../fonts/fa-solid-900.ttf") format("truetype");
}

/***********************************************************************
 * CSS Reset
 ***********************************************************************/

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}

audio,
canvas,
video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
}

[hidden] {
  display: none;
}

* {
  box-sizing: border-box;
}

html {
  font-size: 100%;
}

body {
  margin: 0;
  background: var(--color-document-back);
  font-family: Lato, sans-serif;
  font-weight: 400;
  color: var(--color-content-text);
}

a:hover,
a:active {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none;
}

b,
strong {
  font-weight: bold;
}

blockquote {
  margin: 0;
}

dfn {
  font-style: italic;
}

ins {
  background: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background: #ff0;
  color: #000;
  font-style: italic;
  font-weight: 700;
}

pre,
code,
tt,
kbd,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

q {
  quotes: none;
}

q::before,
q::after {
  content: "";
  content: none;
}

small {
  font-size: 85%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -.5em;
}

sub {
  bottom: -.25em;
}

ul,
ol,
dl {
  margin: 0;
  padding: 0;
  list-style: none;
  list-style-image: none;
}

li {
  list-style: none;
}

dd {
  margin: 0;
}

img {
  border: 0;
  vertical-align: middle;
  max-width: 100%;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

form {
  margin: 0;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

label {
  cursor: pointer;
}

legend {
  border: 0;
  padding: 0;
  white-space: normal;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td {
  vertical-align: top;
}

table.indextable td {
  background: none;
}

.chromeframe {
  margin: .2em 0;
  background: #ccc;
  color: #000;
  padding: .2em 0;
}

.ir {
  display: block;
  border: 0;
  text-indent: -999em;
  overflow: hidden;
  background-color: transparent;
  background-repeat: no-repeat;
  text-align: left;
  direction: ltr;
}

.ir br {
  display: none;
}

.hidden {
  display: none !important;
  visibility: hidden;
}

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

.invisible {
  visibility: hidden;
}

.relative {
  position: relative;
}

big,
small {
  font-size: 100%;
}

@media print {
  html,
  body,
  section {
    background: none !important;
  }

  * {
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  .ir a::after,
  a[href^="javascript:"]::after,
  a[href^="#"]::after {
    content: "";
  }

  pre,
  blockquote {
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  @page {
    margin: .5cm;
  }

  p,
  h2,
  .rst-content p.caption,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  .rst-content p.caption,
  h3 {
    page-break-after: avoid;
  }
}

.rst-content .pull-left.admonition-title,
.rst-content tt.download span.pull-left:first-child,
.rst-content code.download span.pull-left:first-child,
.pull-left.icon {
  margin-right: .3em;
}

.rst-content .pull-right.admonition-title,
.pull-right.icon {
  margin-left: .3em;
}

.icon::before {
  font-family: FontAwesome;
  display: inline-block;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  text-decoration: inherit;
}

code,
.rst-content tt,
.rst-content code {
  white-space: normal;
  max-width: 100%;
  background: #fff;
  border: solid 1px #e1e4e5;
  font-size: 75%;
  padding: 0 5px;
  font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
  overflow-x: auto;
}

code.code-large,
.rst-content tt.code-large {
  font-size: 90%;
}

.wy-breadcrumbs li {
  display: inline-block;
}

.wy-breadcrumbs li.wy-breadcrumbs-aside {
  float: right;
}

.wy-breadcrumbs li a {
  display: inline-block;
  padding: 5px;
}

.wy-breadcrumbs li a:first-child {
  padding-left: 0;
}

.wy-breadcrumbs-extra {
  margin-bottom: 0;
  color: #b3b3b3;
  font-size: 80%;
  display: inline-block;
}

@media screen and (max-width: 480px) {
  .wy-breadcrumbs-extra {
    display: none;
  }

  .wy-breadcrumbs li.wy-breadcrumbs-aside {
    display: none;
  }
}

@media print {
  .wy-breadcrumbs li.wy-breadcrumbs-aside {
    display: none;
  }
}

.wy-affix {
  position: fixed;
  top: 1.618em;
}

[data-menu-wrap] {
  -webkit-transition: all .2s ease-in;
  -moz-transition: all .2s ease-in;
  transition: all .2s ease-in;
  position: absolute;
  opacity: 1;
  width: 100%;
  opacity: 0;
}

[data-menu-wrap].move-center {
  left: 0;
  right: auto;
  opacity: 1;
}

[data-menu-wrap].move-left {
  right: auto;
  left: -100%;
  opacity: 0;
}

[data-menu-wrap].move-right {
  right: -100%;
  left: auto;
  opacity: 0;
}


.wy-nav-content-wrap {
  margin-left: 300px;
  min-height: 100%;
}

.wy-nav-content {
  padding: 1.618em 3.236em;
  height: 100%;
  max-width: 1000px;
  margin: auto;
  min-height: 100vh;
}

#search-results .search li {
  margin-bottom: 24px;
  border-bottom: solid 1px #e1e4e5;
  padding-bottom: 24px;
}

#search-results .search li:first-child {
  border-top: solid 1px #e1e4e5;
  padding-top: 24px;
}

#search-results .search li a {
  font-size: 120%;
  margin-bottom: 12px;
  display: inline-block;
}

#search-results .context {
  color: gray;
  font-size: 90%;
}

@media screen and (min-width: 768px) {
  .wy-nav-content {
    margin: 0;
    background: #fcfcfc;
  }
}

@media print {
footer,
.wy-nav-side {
    display: none;
  }

  .wy-nav-content-wrap {
    margin-left: 0;
  }
}

.rst-content p.caption {
  margin-bottom: 5px;
}


article blockquote {
  margin-left: 24px;
  line-height: 24px;
  margin-bottom: 24px;
  border-left: solid 3px var(--color-black);
  padding-left: 1em;
}


.rst-content .toc-backref {
  color: inherit;
}

.rst-content .align-right {
  float: right;
  margin: 0 0 24px 24px;
}

.rst-content .align-left {
  float: left;
  margin: 0 24px 24px 0;
}

.rst-content .align-center {
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.rst-content .sidebar {
  float: right;
  width: 40%;
  display: block;
  margin: 0 0 24px 24px;
  padding: 24px;
  background: #f3f6f6;
  border: solid 1px #e1e4e5;
}

.rst-content .sidebar p,
.rst-content .sidebar ul,
.rst-content .sidebar dl {
  font-size: 90%;
}

.rst-content .sidebar .last {
  margin-bottom: 0;
}

.rst-content .sidebar .sidebar-title {
  display: block;
  font-family: "Roboto Slab", "ff-tisa-web-pro", "Georgia", Arial, sans-serif;
  font-weight: 700;
  background: #e1e4e5;
  padding: 6px 12px;
  margin: -24px;
  margin-bottom: 24px;
  font-size: 100%;
}

.rst-content .highlighted {
  background: #F1C40F;
  display: inline-block;
  font-weight: 700;
  padding: 0 6px;
}

.rst-content .footnote-reference,
.rst-content .citation-reference {
  vertical-align: super;
  font-size: 90%;
}

.rst-content tt,
.rst-content tt,
.rst-content code {
  color: #000;
}

.rst-content tt big,
.rst-content tt em,
.rst-content tt big,
.rst-content code big,
.rst-content tt em,
.rst-content code em {
  font-size: 100% !important;
  line-height: normal;
}

.rst-content tt .xref,
a .rst-content tt,
.rst-content tt .xref,
.rst-content code .xref,
a .rst-content tt,
a .rst-content code {
  font-weight: 700;
}

.rst-content a tt,
.rst-content a tt,
.rst-content a code {
  color: #2980B9;
}

.rst-content .viewcode-link,
.rst-content .viewcode-back {
  display: inline-block;
  color: #27AE60;
  font-size: 80%;
  padding-left: 24px;
}

.rst-content .viewcode-back {
  display: block;
  float: right;
}

.rst-content p.rubric {
  margin-bottom: 12px;
  font-weight: 700;
}

.rst-content tt.download,
.rst-content code.download {
  background: inherit;
  padding: inherit;
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  border: inherit;
  white-space: inherit;
}

.rst-content tt.download span:first-child:before,
.rst-content code.download span:first-child:before {
  margin-right: 4px;
}

@media screen and (max-width:  480px) {
  .rst-content .sidebar {
    width: 100%;
  }
}

span[id*='MathJax-Span'] {
  color: #404040;
}

.math {
  text-align: center;
}


/***********************************************************************
 * basic styling
 ***********************************************************************/

html {
  height: 100%;
  overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6{
  margin-top: 0;
  font-weight: bold;
  font-family: Comfortaa, sans-serif;
}

p {
  line-height: 24px;
  margin: 0;
  font-size: 16px;
  margin-bottom: 24px;
  text-align: justify;
}

h1 {
  font-size: 220%;
  border-bottom: solid 1px;
  color: var(--color-content-title);
}

h2 {
  font-size: 180%;
  margin-top: 5ex;
  border-bottom: solid 1px;
  color: var(--color-content-title);
}

h3 {
  font-size: 125%;
  margin-top: 5ex;
  border-bottom: 1px solid;
  display: inline-block;
}

h4 {
  font-size: 115%;
  margin-top: 3ex;
}

h5 {
  font-size: 110%;
  margin-top: 2ex;
}

h6 {
  font-size: 100%;
  margin-top: 1ex;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #e1e4e5;
  margin: 24px 0;
  padding: 0;
}

a {
  color: #2980B9;
  text-decoration: none;
  cursor: pointer;
}

a:hover {
  color: #3091d1;
}

a:visited {
  color: #2980B9;
}

/****************************************************************************
 * Footnotes
 ****************************************************************************/ 

aside.footnote {
  display: grid;
  grid-template-columns: auto auto minmax(0.65rem,auto) minmax(40%,95%);
}

aside.footnote>span.label {
  grid-column-start: 1;
}

aside.footnote>span.backrefs {
  grid-column-start: 2;
  grid-row-start: 1;
  grid-row-end: 3;
}

aside.footnote>p {
  grid-column-start: 4;
}

/****************************************************************************
 * lists
 ****************************************************************************/ 

article ul,
article ol {
  margin-left: 24px;
  margin-bottom: 1em;
}

article li ul,
article li ol {
  margin-bottom: 0em;
}

article li {
  list-style-type: inherit;
}

article li p {
  margin-bottom: 0.2em;
}

article li p:last-of-type {
  margin-bottom: 0;
}

article ul {
  list-style-type: disc;
}

article ul ul {
  list-style-type: circle;
}

article ul ul ul {
  list-style-type: square;
}

article ol,
article ol.arabic {
  list-style-type: decimal;
}

article ol.loweralpha {
  list-style-type: lower-alpha;
}

article ol.lowerroman {
  list-style-type: lower-roman;
}

article ol.upperalpha {
  list-style-type: upper-alpha;
}

article ol.upperroman {
  list-style-type: upper-roman;
}

.rst-content dl {
  margin-bottom: 1em;
}

.rst-content dl dt {
  font-weight: bold;
  font-size: 90%;
  line-height: normal;
  display: inline-block;
  margin: 0.5em 0;
  padding: 0.5em;
  background: var(--color-orange-bagkground);
  color: var(--color-orange);
  border-top: solid 3px var(--color-orange);
}

.rst-content dl dd {
  margin: 0 0 1em 2em;
}

.rst-content dl p,
.rst-content dl table {
  margin-bottom: 1em;
}

.rst-content dl dt:before {
  color: #6ab0de;
}

.rst-content dl dt .headerlink {
  color: #404040;
  font-size: 100% !important;
}

.rst-content dl dl dt {
  margin-bottom: 0.5em;
  border: none;
  border-left: solid 3px #ccc;
  background: #f0f0f0;
  color: gray;
}

.rst-content dl dl dt .headerlink {
  color: #404040;
  font-size: 100% !important;
}

.rst-content dl dt:first-child {
  margin-top: 0;
}

.rst-content dl tt,
.rst-content dl tt,
.rst-content dl code {
  font-weight: bold;
}

.rst-content dl tt.descname,
.rst-content dl tt.descclassname,
.rst-content dl tt.descname,
.rst-content dl code.descname,
.rst-content dl tt.descclassname,
.rst-content dl code.descclassname {
  background-color: transparent;
  border: none;
  padding: 0;
  font-size: 100% !important;
}

.rst-content dl tt.descname,
.rst-content dl tt.descname,
.rst-content dl code.descname {
  font-weight: 700;
}

.rst-content dl .optional {
  display: inline-block;
  padding: 0 4px;
  color: #000;
  font-weight: 700;
}

.rst-content dl .property {
  display: inline-block;
  padding-right: 8px;
}


article .field-list {
  display: grid;
  grid-template-columns: max-content auto;
  grid-gap: 2px;
}

article dl.field-list dt {
  background-color: var(--color-field-list-term-background);
  color: var(--color-field-list-term-text);
  border: 0;
  margin: 0;
  padding: 0.5em;
  line-height: 2em;
}

article dl.field-list dd {
  background-color: var(--color-field-list-definition-background);
  margin: 0;
  padding: 0.5em;
}

article dl.field-list dd *:last-child {
  margin-bottom: 0;
}

/****************************************************************************
 * Admonitions
 ****************************************************************************/ 

article aside.topic,
article .admonition {
  background-color: var(--color-admonition-default);
  padding: 1em;
  margin-bottom: 2em;
}

article aside.topic :last-child,
article .admonition :last-child,
article .admonition.todo :last-child {
  margin-bottom: 0;
}

article .topic-title,
article .admonition-title {
  font-weight: bold;
  background-color: var(--color-admonition-title-default);
  margin: -1em;
  padding: 0.5em 1em;
  margin-bottom: 1em;
  line-height: 1;
  display: block;
}

article .topic-title:before,
article .admonition-title:before {
  font-family: FontAwesome;
  margin-right: 0.5em;
}

article .attention .admonition-title,
article .caution .admonition-title,
article .warning .admonition-title {
  color: var(--color-white);
  background-color: var(--color-admonition-title-warning);
}

article .admonition.attention,
article .admonition.caution,
article .admonition.warning {
  background-color: var(--color-admonition-warning);
}


article .attention .admonition-title:before {
  content: "";
}

article .caution .admonition-title:before {
  content: "";
}

article .warning .admonition-title:before {
  content: "";
}

article .danger .admonition-title,
article .error .admonition-title {
  color: var(--color-white);
  background-color: var(--color-admonition-title-danger);
}

article .admonition.danger,
article .admonition.error {
  background-color: var(--color-admonition-danger);
}

article .danger .admonition-title:before {
  content: "";
}

article .error .admonition-title:before {
  content: "";
}

article .hint .admonition-title,
article .important .admonition-title,
article .tip .admonition-title {
  color: var(--color-white);
  background-color: var(--color-admonition-title-success);
}

article .admonition.hint,
article .admonition.important,
article .admonition.tip {
  background-color: var(--color-admonition-success);
}

article .hint .admonition-title:before {
  content: "";
}

article .important .admonition-title:before {
  content: "";
}

article .tip .admonition-title:before {
  content: "";
}

article .note .admonition-title,
article .seealso .admonition-title {
  color: var(--color-white);
  background-color: var(--color-admonition-title-info);
}

article .admonition.note,
article .admonition.seealso {
  background-color: var(--color-admonition-info);
}

article .note .admonition-title:before {
  content: "";
}

article .seealso .admonition-title:before {
  content: "";
}

article .admonition-todo .admonition-title:before {
  content: "";
}

.rst-content .admonition table {
  border-color: rgba(0, 0, 0, 0.1);
}

.rst-content .admonition table td,
.rst-content .admonition table th {
  background: transparent !important;
  border-color: rgba(0, 0, 0, 0.1) !important;
}

/***********************************************************************
 * Code samples
 ***********************************************************************/

.code-block-caption {
  text-align: center;
  font-style: italic;
  font-size: 90%;
  margin-bottom: 5px;
}

pre {
  white-space: pre;
  overflow-x: auto;
}

div.highlight-lang {
  padding: 1ex;
  margin-bottom: 1em;
  background-color: var(--color-gray);
  color: #000;
  border-top: solid 1px black;
  border-right: solid 1px black;
  border-left: solid 1px black;
  font-size: 90%;
  font-family: monospace;
  font-weight: bold;
}

.codeblock-example {
  border: 1px solid #e1e4e5;
  border-bottom: none;
  padding: 24px;
  padding-top: 48px;
  font-weight: 500;
  background: #fff;
  position: relative;
}

.codeblock-example:after {
  content: "Example";
  position: absolute;
  top: 0;
  left: 0;
  background: #9B59B6;
  color: #fff;
  padding: 6px 12px;
}

.codeblock-example.prettyprint-example-only {
  border: 1px solid #e1e4e5;
  margin-bottom: 24px;
}

.codeblock,
pre.literal-block,
.rst-content .literal-block,
.rst-content pre.literal-block,
.highlight {
  padding: 0;
  overflow-x: auto;
  margin: 0 0 1em;
}

.highlight td.code {
  width: 100%;
}

.linenodiv pre {
  border-right: solid 1px #e6e9ea;
  margin: 0;
  padding: 12px;
  font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
  font-size: 12px;
  line-height: 1.5;
  color: #d9d9d9;
}

.highlight .hll {
  margin-left: -11px;
  padding-left: 11px;
  margin-right: -11px;
  padding-right: 11px;
}

span.linenos {
  padding-right: 1rem;
  margin-right: 1rem;
  box-shadow: -0.0625rem 0 var(--color-gray) inset;
  display: inline-block;
}

.highlight pre {
  white-space: pre;
  margin: 0;
  padding: 12px;
  padding-top: 0.5ex;
  font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
  font-size: 12px;
  line-height: 1.5;
  display: block;
  overflow: auto;
  clear: right;
}

@media print {
  .codeblock,
  pre.literal-block,
  .rst-content .literal-block,
  .rst-content pre.literal-block,
  div[class^='highlight'],
  div[class^='highlight'] pre {
    white-space: pre-wrap;
  }
}

/***********************************************************************
 * Figures and images
 ***********************************************************************/

.rst-content figure{
  margin-bottom: 2em;
  display: block;
  padding: 0.5em;
  line-height: 1.42857143;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray);
  border-radius: 4px;
  width: fit-content;
  text-align: center;
}

.rst-content figure.align-center {
  text-align: center;
}

.rst-content figure figcaption,
.rst-content figure figcaption p {
  text-align: center;
  font-style: italic;
  font-size: 90%;
}

.rst-content figure figcaption :last-child {
  margin-bottom: 0px;
}

@media screen and (max-width: 768px) {
  img {
    width: 100%;
    height: auto;
  }
}

.rst-content img {
  max-width: 100%;
  height: auto !important;
}

.rst-content .section>img,
.rst-content .section>a>img {
  margin-bottom: 2em;
}

.caption-text {
  font-weight: bold;
}

/***********************************************************************
 * headerlinks
 ***********************************************************************/

article .headerlink {
  visibility: hidden;
  width: 0;
}

article :hover>.headerlink::before {
  visibility: visible;
  content: "";
  font-family: FontAwesome;
  font-size: 0.7em;
  display: inline-block;
  margin-left: 0.5em;
}

/***********************************************************************
 * Tables
 ***********************************************************************/

article table {
  max-width: 100%;
  margin-bottom: 1em;
  display: block;
  overflow-x: auto;
}

article table caption {
  font-style: italic;
  font-size: 0.85em;
  padding: 1em 0;
  text-align: center;
}

article table th {
  font-size: 0.9em;
  background-color: var(--color-table-head-background);
  color: var(--color-table-head-text);
  border: solid 2px var(--color-table-head-border);
  padding: 0.5em;
}

article table td {
  font-size: 0.9em;
  background-color: var(--color-table-body-background);
  border: solid 2px var(--color-table-body-border);
  padding: 0.5em;
}

article table th:first-of-type,
article table td:first-of-type {
  border-left-style: none;
}

article table th:last-of-type,
article table td:last-of-type {
  border-right-style: none;
}

article table th :last-child,
article table td :last-child {
  margin-bottom: 0;
}

/***********************************************************************
 * Sidebar
 ***********************************************************************/

.wy-nav-top {
  display: none;
  background: var(--color-search-back);
  color: var(--color-search-text);
  padding: .4045em .809em;
  position: relative;
  line-height: 50px;
  text-align: center;
  font-size: 100%;
}

.wy-nav-top:before,
.wy-nav-top:after {
  display: table;
  content: "";
}

.wy-nav-top:after {
  clear: both;
}

.wy-nav-top a {
  color: inherit;
  font-weight: bold;
}

.wy-nav-top img {
  margin-right: 12px;
  height: 45px;
  width: 45px;
  background-color: #2980B9;
  padding: 5px;
  border-radius: 100%;
}

.wy-nav-top i {
  font-size: 30px;
  float: left;
  cursor: pointer;
}
.wy-nav-side {
  position: fixed;
  top: 0;
  left: 0;
  width: 300px;
  background: var(--color-menu-back);
  z-index: 200;
  height: 100vh;
  display: flex;
  flex-direction: column;
  padding-bottom: 1em;
}

@media screen and (max-width: 768px) {
  body {
    background: #fcfcfc;
  }

  .wy-nav-top {
    display: block;
  }

  .wy-nav-side {
    left: -300px;
  }

  .wy-nav-side.shift {
    width: 85%;
    left: 0;
  }

  .wy-nav-content-wrap {
    margin-left: 0;
  }

  .wy-nav-content-wrap .wy-nav-content {
    padding: 1.618em;
  }

  .wy-nav-content-wrap.shift {
    position: fixed;
    min-width: 100%;
    left: 85%;
    top: 0;
    height: 100%;
    overflow: hidden;
  }
}

.sidebar-head {
  z-index: 200;
  background-color: var(--color-search-back);
  text-align: center;
  padding: .809em;
  display: block;
  color: var(--color-search-text);
  margin-bottom: .809em;
}

.sidebar-head a {
  color: inherit;
  font-weight: bold;
  margin-top: 1em;
  margin-bottom: 1em;
  display: inline-block;
}

.sidebar-head .search input {
  border-radius: 50px;
  width: 100%;
  border: 1px solid var(--color-gray);
  font-size: 0.9rem;
  padding: 0.4em 0.7em;
  outline: none;
}

.sidebar-menu p.caption {
  color: var(--color-orange);
  margin-bottom: 0;
  margin-top: 2em;
  text-transform: uppercase;
  font-size: 0.8em;
  padding-left: 1em;
}

.sidebar-menu a {
  color: var(--color-menu-text);
  display: block;
  line-height: 1.25em;
  padding: 0.4em 1.6em;
  font-size: 0.9em;
}

.sidebar-menu a:hover {
  color: var(--color-menu-current-link-text);
  background-color: var(--color-menu-current-link-back);
}

.sidebar-menu code {
  background-color: inherit;
  border: 0
}

.sidebar-menu .toctree-l1 a {
  padding-left: 1em;
}

.sidebar-menu .toctree-l2 a {
  padding-left: 2em;
}

.sidebar-menu .toctree-l3 a {
  padding-left: 3em;
}

.sidebar-menu .toctree-l4 a {
  padding-left: 4em;
}

.sidebar-menu li ul {
  display: none;
}

.sidebar-menu li.current > ul {
  display: block;
}

.sidebar-menu li.current {
  background-color: var(--color-menu-current-back);
}

.sidebar-menu li.current a.current,
.sidebar-menu li.current > a {
  background-color: var(--color-menu-current-link-back);
  color: var(--color-menu-current-link-text);
  border: none;
  border-bottom: solid 1px #c9c9c9;
  border-top: solid 1px #c9c9c9;
  font-weight: bold;
}

.sidebar-menu li span.toctree-expand::before,
.sidebar-menu li.current>a span.toctree-expand::before {
  margin-right: 0.3em;
}

.sidebar-menu li span.toctree-expand::before {
  content: "";
}

.sidebar-menu li.current>a span.toctree-expand::before {
  content: "";
}

.sidebar-menu.wy-menu.wy-menu-vertical {
  overflow-y:auto;
  flex-grow: 1;
}

.sidebar-menu {
  scrollbar-width: thin;          /* "auto" or "thin" */
  scrollbar-color: var(--color-gray) var(--color-menu-current-back);   /* scroll thumb and track */
}

.sidebar-menu::-webkit-scrollbar {
  width: 15px;               /* width of the entire scrollbar */
}

.sidebar-menu::-webkit-scrollbar-track {
  background: var(--color-menu-current-back);        /* color of the tracking area */
}

.sidebar-menu::-webkit-scrollbar-thumb {
  background-color: var(--color-gray);    /* color of the scroll thumb */
  border-left: 6px solid var(--color-menu-current-back);  /* creates padding around scroll thumb */
  border-right: 6px solid var(--color-menu-current-back);  /* creates padding around scroll thumb */
  border-top: 0;
  border-bottom: 0;
}

.logo-container {
    position: relative;
    bottom: 0;
  text-align: center;
}

.logo-container img {
  width: 200px;
}


/***********************************************************************
 * Footer
 ***********************************************************************/

footer {
  margin-top: 4rem;
  color: #999;
}

footer p {
  margin-bottom: 1em;
}

footer .prev,
footer .next {
  color: var(--color-content-text);
  background-color: var(--color-gray);
  display: inline-block;
  padding: 1em;
}

legend {
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  white-space: normal;
  margin-bottom: 24px;
  font-size: 150%;
}

/***********************************************************************
 * Additional custom styles                                            *
 ***********************************************************************/

@media screen and (max-width:  768px) {
  .tablet-hide {
    display: none;
  }
}

@media screen and (max-width: 480px) {
  .mobile-hide {
    display: none;
  }
}

.float-left {
  float: left;
}

.float-right {
  float: right;
}

.full-width {
  width: 100%;
}

.menuselection {
  white-space: nowrap;
  font-family: monospace, serif;
  font-size: 0.9em;
}

article .line-block {
  margin-left: 2em;
  margin-bottom: 1em;
}

article .line-block .line-block{
  margin-bottom: 0;
}

p.centered {
  text-align: center;
}

.versionmodified {
  font-weight: bold;
  font-style: italic;
}

.clearfix::before,
.clearfix::after {
  display: table;
  content: "";
}

.clearfix::after {
  clear: both;
}

.pull-right {
  float: right;
}

.pull-left {
  float: left;
}

.icon-home::before {
  content: "";
}

.icon-circle-arrow-left::before {
  content: "";
}

.icon-circle-arrow-right::before {
  content: "";
}

.icon-bars::before {
  content: "";
}
