/* *************************************************** */
/* ***** Agouti-inspired RTD theme overrides ********* */

/* ***** Color variables (Agouti Savanna palette) ***** */
:root {
  --ag-base-bg: #fffcfc;
  --ag-base-sb: #f5f0f0;
  --ag-base-cd: #fff3e8;
  --ag-base-tx: #445544;
  --ag-base-sf: #929892;
  --ag-base-bd: #929892;
  --ag-base-ln: #c5c8c5;
  --ag-state-primary: #f7953d;
  --ag-state-primary-hv: #ffaa55;
  --ag-state-primary-tx: #111511;
  --ag-diap-bg: #445544;
  --ag-diap-tx: #fffcfc;
  --ag-blackicon-filter: invert(30%) sepia(15%) saturate(400%) hue-rotate(70deg) brightness(85%) contrast(95%);
  --ag-corner: 0.8rem;
  --ag-shadow: 0 0 0.8rem 0 rgba(0, 0, 0, 0.1);
  --ag-transition: all 0.25s ease-out;
}

/* ***** Base typography ***************************** */
body {
  font-family: 'Source Sans Pro', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
  font-size: 15px;
  color: var(--ag-base-tx);
  background-color: var(--ag-base-bg) !important;
}

/* ***** Side-nav header / sidebar top *************** */
.wy-side-nav-search {
  background-color: var(--ag-base-bg) !important;
}

.wy-nav-top {
  background-color: var(--ag-base-bg) !important;
}

.wy-side-nav-search input[type="text"] {
  border-radius: 5rem;
  border: 1px solid var(--ag-base-bd);
  background: transparent;
}

.wy-side-nav-search input[type="text"]:focus {
  border-color: var(--ag-state-primary);
  box-shadow: var(--ag-shadow);
  outline: 0;
}

/* ***** Logo - override RTD generic img rule ********** */
.wy-side-nav-search > a,
.wy-nav-top > a {
  display: flex !important;
  justify-content: center;
  align-items: center;
}

.wy-side-nav-search img {
  height: auto !important;
  width: auto !important;
  max-height: 48px !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

.wy-side-nav-search > a img.logo,
.wy-nav-top > a img.logo {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: min(12rem, 100%) !important;
  max-height: none !important;
  height: auto !important;
  filter: var(--ag-blackicon-filter);
}

.wy-nav-top img {
  height: auto !important;
  width: auto !important;
  max-height: 36px !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

/* ***** Sidebar container *************************** */
.wy-nav-side {
  background-color: var(--ag-base-bg) !important;
  border-right: 1px solid var(--ag-base-ln);
  box-shadow: var(--ag-shadow);
}

/* ***** Sidebar menu caption headers ***************** */
.wy-menu-vertical header,
.wy-menu-vertical p.caption {
  color: var(--ag-base-tx) !important;
  text-transform: uppercase;
  border-bottom: 1px solid var(--ag-base-ln);
}

/* Explicitly target the caption-text span inside captions */
.wy-menu-vertical p.caption span,
.wy-menu-vertical header span {
  color: var(--ag-base-tx) !important;
}

/* Sidebar nav links */
.wy-menu-vertical a {
  color: var(--ag-base-tx) !important;
}

.wy-menu-vertical a:hover {
  background-color: var(--ag-base-sb) !important;
  color: var(--ag-base-tx) !important;
}

.wy-menu-vertical a:visited,
.wy-menu-vertical a:focus,
.wy-menu-vertical a:active {
  color: var(--ag-base-tx) !important;
}

/* Active/current page highlight */
.wy-menu-vertical li.current > a {
  background-color: var(--ag-base-sb) !important;
  border-left: 0.2rem solid var(--ag-state-primary) !important;
  color: var(--ag-base-tx) !important;
}

.wy-menu-vertical li.current > a:hover {
  background-color: var(--ag-base-sb) !important;
}

/* Subtitle text under nav items */
.wy-menu-vertical small,
.wy-menu-vertical Small {
  color: var(--ag-base-sf) !important;
}

/* ***** Body content ******************************** */
.wy-content {
  max-width: 80rem;
}

.wy-body-for-nav,
.wy-nav-content,
.wy-nav-content-wrap {
  background-color: var(--ag-base-bg) !important;
}

/* ***** Headings ************************************ */
.rst-content h1,
.rst-content h2 {
  font-family: 'Source Sans Pro', system-ui, sans-serif !important;
  font-weight: 700;
  color: var(--ag-base-tx) !important;
  border-bottom: 1px solid var(--ag-base-ln);
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}

.rst-content h3,
.rst-content h4,
.rst-content h5,
.rst-content h6 {
  font-family: 'Source Sans Pro', system-ui, sans-serif !important;
  font-weight: 600;
  color: var(--ag-base-tx) !important;
}

/* ***** Paragraphs and text ************************* */
p, li, td, th {
  color: var(--ag-base-tx);
}

/* ***** Links *************************************** */
a {
  color: var(--ag-state-primary) !important;
  text-decoration: none;
  transition: var(--ag-transition);
}

a:hover,
a:focus,
a:active {
  color: var(--ag-state-primary-hv) !important;
}

/* ***** Code blocks and inline code ***************** */
code,
.rst-content tt,
.rst-content code {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;
  background: var(--ag-base-sb);
  border-radius: 0.4rem;
  color: var(--ag-base-tx) !important;
}

.rst-content div.highlight {
  background: var(--ag-base-sb);
  border: 1px solid var(--ag-base-ln);
  border-radius: var(--ag-corner);
}

/* ***** Tables ************************************** */
.rst-content table.docutils,
.rst-content table.field-list {
  border-color: var(--ag-base-ln);
}

.rst-content table.docutils thead th {
  font-weight: 600;
  background: var(--ag-base-sb);
  color: var(--ag-base-tx);
  border-bottom: 1px solid var(--ag-base-ln);
}

.rst-content table.docutils tbody tr:nth-of-type(odd) {
  background: var(--ag-base-sb);
}

.rst-content table.docutils tbody tr:hover {
  background: rgba(247, 149, 61, 0.08);
}

/* ***** Admonitions / note / warning boxes ********** */
.rst-content .admonition {
  border-radius: var(--ag-corner);
  border-color: var(--ag-base-ln);
}

.rst-content .note,
.rst-content .attention,
.rst-content .caution {
  background: var(--ag-base-cd);
  border-color: var(--ag-state-primary);
}

.rst-content .note .admonition-title,
.rst-content .attention .admonition-title,
.rst-content .caution .admonition-title {
  background: var(--ag-state-primary);
  color: var(--ag-state-primary-tx);
}

.rst-content .warning {
  background: #fff3e8;
  border-color: #e25f45;
}

.rst-content .warning .admonition-title {
  background: #e25f45;
  color: var(--ag-base-bg);
}

/* ***** Footer ************************************** */
#footer,
.footer {
  color: var(--ag-base-sf);
  margin-top: 2rem;
  padding: 1.5rem 0 1rem 0;
  border-top: 1px solid var(--ag-base-ln);
  text-align: center;
  font-size: 0.8rem;
}

/* ***** Breadcrumb ********************************** */
.wy-breadcrumbs li a {
  color: var(--ag-base-tx) !important;
}

.wy-breadcrumbs li a:hover {
  color: var(--ag-state-primary) !important;
}

.wy-breadcrumbs li.wy-breadcrumbs-aside {
  color: var(--ag-base-sf) !important;
}

/* ***** Search ************************************** */
.wy-side-nav-search a.icon,
.wy-side-nav-search .wy-dropdown-toggles a {
  color: var(--ag-state-primary) !important;
}

/* ***** Section toctree (index page cards) *********** */
.rst-content .toctree-wrapper ul {
  padding: 0;
  list-style: none;
  margin: 0;
}

.rst-content .toctree-wrapper ul li {
  display: block;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--ag-base-ln);
  border-radius: 0;
  padding: 0;
  margin-bottom: 0 !important;
  transition: var(--ag-transition);
}

.rst-content .toctree-wrapper ul li.toctree-l1,
.rst-content .toctree-wrapper ul li.toctree-l2,
.rst-content .toctree-wrapper ul li.toctree-l3 {
  margin-bottom: 0 !important;
}

/* Reset RTD's generic list-child spacing for TOC rows */
.rst-content .toctree-wrapper ol li > *,
.rst-content .toctree-wrapper ul li > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.rst-content .toctree-wrapper ul li:hover {
  box-shadow: none;
  border-bottom-color: var(--ag-base-bd);
}

.rst-content .toctree-wrapper ul li a {
  display: block;
  color: var(--ag-base-tx) !important;
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.25;
  padding: 0.55rem 0.75rem;
  border-left: 0.2rem solid transparent;
}

.rst-content .toctree-wrapper ul li a:hover,
.rst-content .toctree-wrapper ul li a:focus,
.rst-content .toctree-wrapper ul li a:active,
.rst-content .toctree-wrapper ul li a:visited {
  color: var(--ag-base-tx) !important;
}

.rst-content .toctree-wrapper ul li a:hover,
.rst-content .toctree-wrapper ul li a:focus {
  background: var(--ag-base-sb);
  border-left-color: var(--ag-base-bd);
}

.rst-content .toctree-wrapper p.caption {
  margin: 0.75rem 0 0.35rem;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ag-base-sf) !important;
}

/* ***** Images ************************************** */
.rst-content img {
  border-radius: var(--ag-corner);
  box-shadow: var(--ag-shadow);
}

/* ***** Scrollbar (Webkit) ************************** */
::-webkit-scrollbar {
  width: 0.7rem;
  height: 0.7rem;
}

::-webkit-scrollbar-track {
  background: #e5e8e5;
  border-radius: 1rem;
}

::-webkit-scrollbar-thumb {
  background: #929892;
  border-radius: 1rem;
}

/* ***** Prev/Next buttons *************************** */
.wy-nav-content-footer a {
  transition: var(--ag-transition);
}