/* Document styles */

body {
  --mitre-black: #111921;
  --mitre-dark-navy: #0b2338;
  --mitre-navy: #0d2f4f;
  --mitre-blue: #005b94;
  --mitre-light-blue: #87deff;
  --mitre-highlighter: #fff601;
  --mitre-dark-gray: #7e8284;
  --mitre-silver: #d4d4d3;
  --mitre-light-silver: #f1f3f4;
  --me-ext-code: #880132;
  --me-orange-dark: #c94f1f;
  --text-color-inverse: #ffffff;

  color: var(--mitre-black);
  font-family: Arial, Helvetica, sans-serif;
}

/* Bootstrap button styles */
.btn,
.btn:focus,
.btn-primary,
.btn-primary:focus {
  background-color: var(--mitre-blue);
  color: white;
  border-radius: 0;
  border: none;
  text-decoration: none !important;
}

.btn:hover,
.btn-primary:hover {
  background-color: var(--mitre-navy);
  text-decoration: none !important;
}

.btn-secondary,
.btn-secondary:focus {
  background-color: var(--mitre-black);
}

.btn-secondary:hover {
  background-color: var(--mitre-dark-gray);
}

.btn-link,
.btn-link:focus {
  color: var(--mitre-blue);
}

.btn-link:hover {
  color: var(--mitre-navy) !important;
}

figure img {
  border-radius: 0;
  box-shadow: none;
  max-width: 100%;
  max-height: fit-content;
}

table p {
  margin: 0;
}

/* Table of contents styles */
.rst-content .toctree-wrapper a {
  font-weight: normal;
}

.rst-content .toctree-wrapper ul li ul {
  margin-top: 0;
}

/* Admonition styles */

.admonition {
  background-color: var(--mitre-light-silver) !important;
  color: var(--mitre-black);
  border-radius: var(--border-radius);
}

.admonition .admonition-title {
  padding: 0.8em 1em !important;
}

.admonition p,
body.theme-dark .admonition p {
  color: var(--mitre-black);
}

.admonition p:last-child,
body.theme-dark .admonition p:last-child {
  margin-bottom: 0;
}

.admonition a,
.admonition a.reference.external:after {
  color: var(--mitre-black) !important;
}

.admonition.caution .admonition-title,
.admonition.warning .admonition-title  {
  background-color: var(--me-orange-dark);
  color: var(--text-color-inverse);
}

.admonition.danger .admonition-title,
.admonition.error .admonition-title {
  background-color: var(--me-ext-code);
  color: var(--text-color-inverse);
}

.admonition.hint .admonition-title,
.admonition.tip .admonition-title {
  background-color: var(--mitre-blue);
  color: var(--text-color-inverse);
}

.admonition.important .admonition-title,
.admonition.attention .admonition-title {
  background-color: var(--mitre-light-blue);
  color: var(--mitre-black) !important;
}

/* Figure styles */

.rst-content figcaption p span.caption-text {
  font-size: 10pt;
  font-style: initial;
  color: #555;
  /* color: #999; */
}

.page-toc a {
  color: #555 !important;
}

/* Epigraph styles */

blockquote.epigraph {
  background-color: var(--mitre-light-silver);
  margin: 2em 0;
  padding: 1em;
}

body.theme-dark blockquote.epigraph {
  background-color: var(--mitre-navy);
}

blockquote.epigraph p.attribution {
  margin: 0;
  font-style: italic;
}

body.theme-dark {
  background-color: var(--mitre-black);
}

.bg-primary {
  background-color: #0d2f4f !important;
}

/* .theme-dark .bg-primary {
  background-color: #005b94 !important;
} */
body.theme-dark .input-group-text,
body.theme-dark .form-control {
  background-color: var(--mitre-black);
  border-color: var(--mitre-silver);
}

body.theme-dark .input-group-text.bg-white {
  background-color: var(--mitre-black) !important;
}

body.theme-dark .border-top {
  border-color: var(--mitre-dark-navy) !important;
}

a {
  color: #005b94;
  text-decoration-color: #005b94;
  text-decoration-thickness: 1px;
  text-decoration: none;
}

p a {
  text-decoration: underline;
}

a:hover {
  text-decoration: underline;
  color: #005b94;
}

body.theme-dark {

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    color: white;
  }

  p {
    color: rgba(255, 255, 255, 0.9);
  }

  a {
    color: #87deff;
    text-decoration: none;
    /* text-decoration-color: #87deff; */
  }

  p a {
    text-decoration: underline;
  }

  a:hover {
    color: #87deff;
    text-decoration: underline;
  }

  .page-toc a {
    color: var(--mitre-silver) !important;
  }

  .rst-content figcaption p span.caption-text {
    color: var(--mitre-silver);
  }
}

.btn-light {
  background-color: var(--mitre-blue) !important;
}

.btn-light:hover,
.btn-light:focus,
.btn-light:active {
  background-color: var(--mitre-navy) !important;
  color: white !important;
}

.admonition.note .admonition-title,
.admonition.seealso .admonition-title,
.admonition-title {
  background-color: #005b94;
  color: white !important;
}

body.theme-dark .admonition.note p {
  color: var(--mitre-black);
}

.page-toc a:hover {
  color: #005b94;
}

.site-toc .toc ul {
  padding-left: 0;
}

.current.reference.internal {
  color: #000;
}

/* navbar styles */
.navbar {
  padding: 20px 0 !important;
}

.navbar .navbar-brand {
  font-size: 24px;
}

.navbar a,
.nav-link {
  text-transform: uppercase;
  font-family: "Oswald", "Roboto", Helvetica, Arial, sans-serif;
  font-weight: 400;
  letter-spacing: 1px;
  color: var(--mitre-silver);
}

.navbar .version {
  font-size: 16px;
  color: #87DEFF;
}

.navbar .logo-img {
  margin-right: 0;
}

.navbar-toggler {
  background-color: inherit !important;
}

/* footer styles: */
footer p a {
  color: white !important;
  text-decoration: underline !important;
}

footer .row {
  display: flex;
  flex-wrap: wrap;
  padding: 80px 0;
  row-gap: 40px;
}

.footer-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.footer-row .logo {
  margin: auto 0px;
}

.social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.social-links a {
  margin: auto 0px;
}

.social-links i {
  color: var(--mitre-light-blue);
  font-size: 1.5em;
}

.external-links {
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0;
}

.external-links .link {
  text-transform: uppercase;
  font-family: "Oswald", "Roboto", Helvetica, Arial, sans-serif;
  color: white;
}

.external-links .link:not(:last-child) {
  padding-right: 10px;
  margin-right: 10px;
  border-right: 3px solid var(--mitre-light-blue);
}

footer h3,
footer h4 {
  text-transform: uppercase;
  font-family: "Oswald", "Roboto", Helvetica, Arial, sans-serif;
  font-weight: 500;
}

footer p {
  font-size: 15px;
}

/* sidebar styles */
.sidebar-container p.caption,
#page-toc-heading {
  text-transform: uppercase;
  font-family: "Oswald", "Roboto", Helvetica, Arial, sans-serif;
  font-weight: 500;
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 16px;
}

.highlight-bash .highlight pre, pre {
  background-color: var(--mitre-dark-navy);
  border-radius: var(--border-radius);
}

.table .thead-dark th,
table.docutils:not(.field-list) .thead-dark th,
body.theme-dark table.docutils:not(.field-list) thead th {
  color: rgba(255, 255, 255, 0.8);
  background-color: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.3);
}

.table-dark,
body.theme-dark table.docutils:not(.field-list) {
  background-color: var(--mitre-black);
}

.table-dark th,
body.theme-dark table.docutils:not(.field-list) th,
.table-dark td,
body.theme-dark table.docutils:not(.field-list) td,
.table-dark thead th {
  border-color: rgba(255, 255, 255, 0.3);
}

.breadcrumb-item.active {
  color: #555;
}

body.theme-dark .breadcrumb-item.active {
  color: var(--mitre-silver);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Oswald", "Roboto", Helvetica, Arial, sans-serif;
  font-weight: 400;
}

section[id] {
  scroll-margin-top: 6rem;
}

.reference.internal:hover {
  color: var(--mitre-black);
  text-decoration: underline;
}

.reference.internal.active {
  color: var(--mitre-black) !important;
  font-weight: 600;
}

.page-toc {
  word-break: keep-all;
  line-break: strict;
}

body.theme-dark .reference.internal:hover,
body.theme-dark .reference.internal.active {
  color: var(--mitre-light-blue) !important;
}

body.theme-dark hr,
body.theme-dark .border,
body.theme-dark .with-border,
body.theme-dark .border-top,
body.theme-dark .border-right,
body.theme-dark .sidebar-container,
body.theme-dark .border-bottom,
body.theme-dark .border-left,
body.theme-dark .search li {
  border-color: rgba(255, 255, 255, 0.1) !important;
}

#collapseSidebar {
  top: 80px;
}

.sticky-top.toc.page-toc {
  top: 100px;
  padding-top: 0;
}

header .navbar {
  justify-content: space-between;
}

a.navbar-brand {
  float: right;
}

.navbar a h1 {
  color: var(--text-color-inverse);
  font-size: 24px;
  margin-bottom: 0;
}

#main {
  padding: 10px 40px;
}

header.sticky-top {
  z-index: 100;
}

#search-form .input-group-prepend div,
#search-form input {
  border-radius: 0 !important;
}

.toc.page-toc p,
.caption .caption-text {
  color: var(--mitre-black);
  font-weight: 500 !important;
}

code {
  color: var(--me-ext-code) !important;
}

body.theme-dark code {
  color: var(--me-ext-cranberry-highlighter) !important;
}

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

*:focus {
  outline: none !important;
}

@media (min-width: 1400px) {
  .container.container-fluid {
    width: 1370px;
    max-width: 1370px;
  }
}
