@font-face {
  font-family: Lato;
  font-weight: 400;
  src: local("ClarityCity Regular"), local("ClarityCity-Regular"), url(fonts/ClarityCity-Regular.woff2);
}

@font-face {
  font-family: ClarityCity;
  font-weight: 400;
  src: local("ClarityCity Regular"), local("ClarityCity-Regular"), url(fonts/ClarityCity-Regular.woff2);
}

@font-face {
  font-family: ClarityCity;
  font-weight: 700;
  src: local("ClarityCity Bold"), local("ClarityCity-Bold"), url(fonts/ClarityCity-Bold.woff2);
}

@font-face {
  font-family: ClarityCity;
  font-style: italic;
  font-weight: 400;
  src: local("ClarityCity RegularItalic"), local("ClarityCity-RegularItalic"), url(fonts/ClarityCity-RegularItalic.woff2);
}

@font-face {
  font-family: Inconsolata;
  font-weight: 400;
  src: local("Inconsolata"), url(fonts/Inconsolata-Regular.woff2);
}

@font-face {
  font-family: Inconsolata;
  font-weight: 700;
  src: local("Inconsolata Bold"), url(fonts/Inconsolata-Bold.woff2);
}

:root {
  --darker-black: #222;
  --black: #333;
  --lighter-black: #444;
  --grey: #f2f2f1;
  --red: #e8403a;
  --white: #fff;
}

body {
  color: var(--black);
  font-family: ClarityCity, sans-serif;
}

.rst-content .toctree-wrapper > p.caption, h1, h2, h3, h4, h5, h6, legend {
  font-family: Inconsolata, monospace;
}

.rst-content h2 {
  margin-top: 1.75em;
}

.rst-content h3 {
  font-size: 1.25em;
}

.rst-content h4 {
  font-size: 1em;
}

.rst-content .linenodiv pre, .rst-content div[class^=highlight] pre, .rst-content pre.literal-block {
  font-family: Inconsolata, monospace;
  font-size: 1em;
}

.rst-content code, .rst-content tt {
  border: none;
  font-family: Inconsolata, monospace;
  font-size: 1em;
  padding: 0;
}

.rst-content .toctree-wrapper ul li > ul, .rst-content .toctree-wrapper ol li > ul, .rst-content .toctree-wrapper ul li > ol, .rst-content .toctree-wrapper ol li > ol {
  margin-bottom: 0.2em;
  margin-top: 0.2em;
}

.rst-content code.literal, .rst-content tt.literal {
  background: transparent;
  color: inherit;
}

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

.wy-side-nav-search .version {
  display: none;
}

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

.wy-nav-content {
  background: var(--white);
}

.wy-nav-content a, .wy-nav-content a:visited {
  color: var(--red);
}

.wy-nav-content a:hover {
  color: var(--red);
  text-decoration: underline;
}

.wy-side-nav-search input[type=text] {
  border: 1px solid var(--grey);
  border-radius: 0;
}

.wy-nav-side {
  background: var(--grey);
}

.wy-menu-vertical a {
  color: inherit;
}

.wy-menu-vertical a:hover {
  background: var(--white);
}

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

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

.wy-nav-top {
  background: var(--red);
}

#versions {
  background: var(--red) !important;
}

@media (prefers-color-scheme: dark) {
  body {
    color: var(--white);
  }

  .admonition {
    color: var(--black);
  }

  .wy-nav-content {
    background: var(--black);
  }

  .wy-nav-content-wrap {
    background: var(--darker-black);
  }

  .wy-nav-side {
    background: var(--darker-black);
  }

  .wy-menu-vertical a:hover {
    background: var(--black);
  }

  .wy-menu-vertical li.current {
    background: var(--black);
  }

  .wy-menu-vertical li.toctree-l2 a {
    border-color: var(--lighter-black);
    color: var(--white);
  }

  .wy-menu-vertical li[class^=toctree].current > a,
  .wy-menu-vertical li[class^=toctree].current li[class^=toctree].current > a {
    background: var(--darker-black);
    border-color: var(--lighter-black);
    color: var(--white);
  }

  .wy-menu-vertical li[class^=toctree].current li[class^=toctree]:not(.current) > a {
    background: transparent;
  }

  .wy-menu-vertical li[class^=toctree] > a:hover,
  .wy-menu-vertical li[class^=toctree].current li[class^=toctree] > a:hover {
    background: var(--lighter-black);
  }

  .wy-menu-vertical li.current > a span.toctree-expand {
    color: inherit;
  }
}
