/*
 * Rocketgraph Custom css
 * ~~~~~~~~~~~~~~~~~~~~~~
 *
 * Stylesheet settings overriding the agogo theme specific for Rocketgraph.
 *
 */

/* -- override bizstyle.css ------------------------------------------------- */

/* Load the fonts from Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto+Mono:ital,wght@0,100..700;1,100..700&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');

/* Define colors */
:root {
 --color-black-hole:#000000;
 --color-near-black:#111317;
 --color-astral1:#29292D;
 --color-astral2:#4B4C53;
 --color-astral3:#6C6D78;
 --color-astral4:#BFBFCC;
 --color-nebula1:#D9D9E3;
 --color-nebula2:#EAEAEF;
 --color-nebula3:#F8F9F9;
 --color-near-white:#FCFCFF;
 --color-light:#FFFFFF;

 --color-deep-space:#1D253C;
 --color-ultraviolet:#4E44A4;
 --color-celestial:#7E95F4;
 --color-infrared:#8B3C99;

 --color-rocket-red:#E81B34;
 --color-rocket-red-contrast:#E3162f;
 --color-stellar-blue:#424AFB;
 --color-solar-flare:#FCA409;
 --color-solar-flare-30:#FED389;
 --color-solar-flare-40:#FDB63A;
 --color-solar-flare-dark:#794F04;
 --color-orbital:#4338A9;
 --color-velocity:#2651B0;
 --color-velocity-sky:#1A6DE6;
 --color-trajectory:#6F347A;
 --color-colony:#2B8734;
 --color-colony-contrast:#278330;
 --color-solar-max:#FC5E09;
 --color-solar-max-contrast:#C84905;
 --color-earth:#0081a2;
 --color-earth-contrast:#007d9e;
}

div.document {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
}

div.related {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
}

body {
  font-family: 'Rubik', sans-serif;
  color: var(--color-near-black); /* Main paragraph font color */
  /* Turn off LR border for main page section */
  border-right: none;
  border-left: none;
  margin: 0px;
}

html {
  /* Main background color */
  background-color: var(--color-light);
}

div.body {
  padding-left: 30px;
}

div.bodywrapper {
  border-left: none;
}

img[src$="rocketgraph.svg"] {
  max-width: 350px; /* Adjust size */
  height: auto; /* Maintain aspect ratio */
  margin-top: 10px;
}

h1, h2, h3, h4, h5, h6 {
  /* Header font */
  font-family: 'Barlow Semi Condensed', sans-serif;
  color: var(--color-near-black);
}

h2, h3 {
  /* Bottom border color for headers */
  border-bottom: 1px solid var(--color-near-black);
}

/* Uppercase only non-api headers */
h1:not(.autodoc-section h1),
h2:not(.autodoc-section h2),
h3:not(.autodoc-section h3),
h4:not(.autodoc-section h4),
h5:not(.autodoc-section h5),
h6:not(.autodoc-section h6) {
  text-transform: uppercase;
}

pre {
  font-family: 'Roboto Mono', monospace;
  border-right: 5px solid var(--color-rocket-red-contrast);
  border-left: 5px solid var(--color-rocket-red-contrast);
/*
  border-right: 5px solid var(--color-nebula1);
  border-left: 5px solid var(--color-nebula1);
*/
}

code {
  font-family: 'Roboto Mono', monospace;
  background-color: var(--color-nebula2);
  border-bottom: 1px solid var(--color-nebula1);
  color: var(--color-near-black);
}

/* Link colors in body */
a,
a:hover {
  color: var(--color-ultraviolet);
}
a:visited {
  color: var(--color-infrared);
}

/* Search color */
dt:target, span.highlighted {
  background-color: var(--color-solar-flare-30);
}

/* Boxes on main docs page */
nav.contents,
aside.topic,
div.topic {
  background-color: var(--color-nebula3);
  border: 1px solid var(--color-nebula2);
}

/* Breadcrumbs top and bottom page navigation */
div.related ul {
  background-color: var(--color-near-black);
}
div.related ul li,
div.related ul li a,
div.related ul li a:hover {
  color: var(--color-light);
}

/* Footer */
div.footer {
  color: var(--color-near-black);
  border-bottom: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
}
div.footer a {
  color: var(--color-ultraviolet);
}

/* Search highlight color (what does this do?) */
ul.search li p.context {
  color: #656565;
}

/* API link color */
a code,
a:hover code,
a:visited code {
  color: var(--color-solar-max-contrast);
}
div.body a code,
div.body a:hover code,
div.body a:visited code {
  /* Needed to make all link underline color match */
  text-decoration: underline;
  text-decoration-color: var(--color-solar-max-contrast);
}

/* Warning title box */
div.caution p.admonition-title,
div.warning p.admonition-title,
div.attention p.admonition-title {
  color: var(--color-near-black);
  text-transform: uppercase;
/*
  background-color: #bb5a3c;
  border-bottom: 3px solid #f8b862;
*/
  background-color: var(--color-solar-max);
  border-bottom: 1px solid var(--color-astral1);
}

/* Warning body box */
div.warning {
/*
  border: 3px solid #f8b862;
  background-color: #f0cfa0;
*/
  border: 1px solid var(--color-astral1);
  background-color: var(--color-solar-flare-30);
}

/* Warning boxes paragraphs */
div.caution p,
div.warning p,
div.attention p {
  color: var(--color-near-black);
}

/* API link color in warning boxes */
div.caution a code,
div.warning a code,
div.attention a code {
  color: var(--color-velocity);
/*  color: #3c5d8c; */
}

/* Right menu */
div.sphinxsidebar h3, div.sphinxsidebar h4 {
  /* Quick Search text color */
  color: var(--color-deep-space);
  background-color: var(--color-nebula1);
  border: 1px solid var(--color-nebula1);
/*
  color: var(--color-light);
  background-color: var(--color-near-black);
  border: 1px solid var(--color-near-black);
*/
}
div.sphinxsidebar h3 a {
  /* Table of Contents text color */
  color: var(--color-deep-space);
/* color: var(--color-light); */
}
div.sphinxsidebar input {
  border: 1px solid var(--color-deep-space); /* Search box border */
  color: var(--color-deep-space); /* Search box text color */
}

/* What does this do? */
div.section h4 {
  color: var(--color-rocket-red);
}

/* What does this do? */
div p {
  color: var(--color-astral2);
}

/* Button colors */
input:is([type="button"], [type="submit"], [type="reset"]),
input[type="file"]::file-selector-button,
button {
  color: var(--color-deep-space);
  background-color: var(--color-nebula1);
}

/* -- jupyter output cell --------------------------------------------------- */

div.jupyter-output-cell div {
  background-color: var(--color-light);
  border: 1px solid var(--color-nebula1);
}

/* -- table styles ---------------------------------------------------------- */

table {
  border-collapse: collapse;
  margin: 0 -0.5em 0 -0.5em;
  font-family: inherit;
  font-size: inherit;
}

table th p {
  color: var(--color-light);
}

table.docutils {
  margin: 1em 0;
  padding: 0;
  background-color: var(--color-nebula3);
  border: 1px solid var(--color-nebula2);
  width: 100%;
}

table.docutils td,
table.docutils th {
  padding: 1px 8px 1px 5px;
  border-top: 0;
  border-left: 0;
  border-right: 1px solid var(--color-light);
  border-bottom: 1px solid var(--color-light);
}

table.docutils td p {
  margin-top: 0;
  margin-bottom: 0.3em;
  width: 100%;
}

table.field-list td.field-body {
  width: 100%;
}

table.field-list th.field-name {
  min-width: 110px;
}

table.field-list td,
table.field-list th {
  border: 0 !important;
  word-break: break-word;
}

table.footnote td,
table.footnote th {
  border: 0 !important;
}

th {
  color: var(--color-light);
  text-align: left;
  padding-right: 5px;
  background-color: var(--color-rocket-red-contrast);
}

/* WIDE DESKTOP STYLE */
@media only screen and (min-width: 1176px) {
body {
  margin: 0px;
}
}

/* TABLET STYLE */
@media only screen and (min-width: 768px) and (max-width: 991px) {
body {
  margin: 0px;
}
}

/* MOBILE LAYOUT (LANDSCAPE/480px) */
@media only screen and (min-width: 480px) and (max-width: 767px) {
body {
  margin: 0px;
}
}

/* For Python API Docs members add spacing */
dl.field-list > dt {
  padding-top: 4px;
  padding-bottom: 4px;
  background-color: var(--color-astral3);
}

dl.field-list > dd {
  padding-top: 4px;
  padding-bottom: 4px;
  background-color: var(--color-nebula3);
}

/* Color categories for use with pygment */
:root {
 --pygment-comment:var(--color-earth-contrast);
 --pygment-keyword:var(--color-colony-contrast);
 --pygment-literal-num:var(--color-solar-max-contrast);
 --pygment-literal-str:var(--color-velocity);
 --pygment-name:var(--color-stellar-blue);
 --pygment-name-var:var(--color-infrared);
 --pygment-operator:var(--color-astral3);
 --pygment-prompt:var(--color-solar-max-contrast);
}

/* Pygment code highlight colors */
.highlight { background: var(--color-nebula3) }

.highlight .c   { color: var(--pygment-comment) } /* Comment */
.highlight .ch  { color: var(--pygment-comment) } /* Comment.Hashbang */
.highlight .cm  { color: var(--pygment-comment) } /* Comment.Multiline */
.highlight .cpf { color: var(--pygment-comment) } /* Comment.PreprocFile */
.highlight .c1  { color: var(--pygment-comment) } /* Comment.Single */
.highlight .cs  { color: var(--pygment-comment) } /* Comment.Special */

.highlight .gp { color: var(--pygment-prompt) } /* Generic.Prompt */

.highlight .cp { color: var(--pygment-keyword) } /* Comment.Preproc */
.highlight .k  { color: var(--pygment-keyword) } /* Keyword */
.highlight .kc { color: var(--pygment-keyword) } /* Keyword.Constant */
.highlight .kd { color: var(--pygment-keyword) } /* Keyword.Declaration */
.highlight .kn { color: var(--pygment-keyword) } /* Keyword.Namespace */
.highlight .kp { color: var(--pygment-keyword) } /* Keyword.Pseudo */
.highlight .kr { color: var(--pygment-keyword) } /* Keyword.Reserved */
.highlight .nb { color: var(--pygment-keyword) } /* Name.Builtin */
.highlight .bp { color: var(--pygment-keyword) } /* Name.Builtin.Pseudo */
.highlight .ne { color: var(--pygment-keyword) } /* Name.Exception */
.highlight .ow { color: var(--pygment-keyword) } /* Operator.Word */

.highlight .kt { color: var(--color-solar-flare-dark) } /* Keyword.Type */

.highlight .m  { color: var(--pygment-literal-num) } /* Literal.Number */
.highlight .mb { color: var(--pygment-literal-num) } /* Literal.Number.Bin */
.highlight .mf { color: var(--pygment-literal-num) } /* Literal.Number.Float */
.highlight .mh { color: var(--pygment-literal-num) } /* Literal.Number.Hex */
.highlight .mi { color: var(--pygment-literal-num) } /* Literal.Number.Integer */
.highlight .mo { color: var(--pygment-literal-num) } /* Literal.Number.Oct */
.highlight .il { color: var(--pygment-literal-num) } /* Literal.Number.Integer.Long */

.highlight .s  { color: var(--pygment-literal-str) } /* Literal.String */
.highlight .sa { color: var(--pygment-literal-str) } /* Literal.String.Affix */
.highlight .sb { color: var(--pygment-literal-str) } /* Literal.String.Backtick */
.highlight .sc { color: var(--pygment-literal-str) } /* Literal.String.Char */
.highlight .dl { color: var(--pygment-literal-str) } /* Literal.String.Delimiter */
.highlight .sd { color: var(--pygment-literal-str) } /* Literal.String.Doc */
.highlight .s2 { color: var(--pygment-literal-str) } /* Literal.String.Double */
.highlight .se { color: var(--pygment-literal-str) } /* Literal.String.Escape */
.highlight .sh { color: var(--pygment-literal-str) } /* Literal.String.Heredoc */
.highlight .si { color: var(--pygment-literal-str) } /* Literal.String.Interpol */
.highlight .s1 { color: var(--pygment-literal-str) } /* Literal.String.Single */
.highlight .na { color: var(--pygment-literal-str) } /* Name.Attribute */

.highlight .nc { color: var(--pygment-name) } /* Name.Class */
.highlight .nn { color: var(--pygment-name) } /* Name.Namespace */
.highlight .nt { color: var(--pygment-name) } /* Name.Tag */

.highlight .nf { color: var(--color-rocket-red-contrast) } /* Name.Function */

.highlight .nv { color: var(--pygment-name-var) } /* Name.Variable */
.highlight .vc { color: var(--pygment-name-var) } /* Name.Variable.Class */
.highlight .vg { color: var(--pygment-name-var) } /* Name.Variable.Global */
.highlight .vi { color: var(--pygment-name-var) } /* Name.Variable.Instance */
.highlight .vm { color: var(--pygment-name-var) } /* Name.Variable.Magic */

.highlight .o  { color: var(--pygment-operator) } /* Operator */
.highlight .go { color: var(--pygment-operator) } /* Generic.Output */

/* Version added, changed and deprecated markings in Python code API */
div.versionadded,
div.versionchanged,
div.deprecated {
  vertical-align: middle;
  margin: 1.5625em auto;
  padding: 0 0.6rem 0 0.6rem;
  overflow: hidden;
  page-break-inside: avoid;
  border-left: 0.2rem solid;
  border-radius: 0.25rem;
  transition: color 250ms, background-color 250ms, border-color 250ms;
  @include box-shadow();
  position: relative;

  > p {
    margin-bottom: 0.6rem;
    margin-top: 0.6rem;

    @include background-from-color-variable(--color-velocity);
  }
}

div.versionadded {
  border-color: var(--color-colony-contrast);

  p:before {
    background-color: var(--color-colony-contrast);
  }
}
div.versionchanged {
  border-color: var(--color-solar-flare);

  p:before {
    background-color: var(--color-solar-flare);
  }
}
div.deprecated {
  border-color: var(--color-rocket-red-contrast);

  p:before {
    background-color: var(--color-rocket-red-contrast);
  }
}

span.versionmodified {
  font-weight: 600;
}

/* What do these do? */
.skip {
  position: absolute;
  top: -40px;
  left: 0;
  background: #FFF;
  color: #000;
  padding: 8px;
  z-index: 1000;
}
.skip:focus {
  top: 0;
}
