/* This is an OPTIMADE adjustment of the minimal CSS for HTML output from Docutils. */

:root {
    --bg-color: white;
    --fg-color: #000000;
    --code-bg-color: #F0F0F0;
    --code-fg-color: #282828;
    --primary: #007bff;
    --secondary: #50fa7b;
    --tertiary: #ff414d;
    --quaternary: #7a2dd0;
    --external-refs: var(--tertiary);
    --inline-refs: var(--primary);
    --monospace-font-family:  monospace;
    --sans-serif-font-family: sans-serif;
}

@media (prefers-color-scheme: dark) {
    :root {
        --bg-color: #161625;
        --fg-color: #dcdcdc;
        --code-fg-color: #f8f8f8;
        --code-bg-color: #3a3d4d;
        --primary: #007bff;
        --secondary: #50fa7b;
        --tertiary: #ff414d;
        --quaternary: #7a2dd0;
        --external-refs: var(--tertiary);
        --inline-refs: var(--primary);
        --monospace-font-family: monospace;
        --sans-serif-font-family: sans-serif;

    }
}

body {
    font-family: var(--sans-serif-font-family);
    font-size: 16px;
    max-width: 60rem;
    margin-left: 10rem;
    margin-right: auto;
    margin-top: 0;
    margin-bottom: 0;
    color: var(--fg-color);
    background-color: var(--bg-color);
    --field-indent: 9em; /* default indent of fields in field lists */
}

/*Banner for development version*/
.banner-container {
    max-width: 60rem;
    min-width: 60rem;
    height: 50px;
    position: fixed;
    top: 0;
    color: var(--code-bg-color);
    background: var(--code-fg-color);
    border: outset 2px var(--tertiary);
    align-items: center;
    display: flex;
    justify-content: center;
}

.banner {
    text-transform: uppercase;
    text-align: center;
    vertical-align: middle;
    font-size: 1.5em;
    display: table-cell;
}

/* "page layout" */
main, footer, header {
  line-height:1.6;
  /* avoid long lines --> better reading */
  /* optimum is 45…75 characters/line <http://webtypography.net/2.1.2> */
  /* OTOH: lines should not be too short because of missing hyphenation, */
  max-width: 60rem;
  padding: 1px 2%; /* 1px on top avoids grey bar above title (mozilla) */
  margin: auto;
}
main {
  counter-reset: table figure;
  background-color: var(--bg-color);
  margin-top: 75px;
}
footer, header {
  font-size: smaller;
  padding: 0.5em 2%;
  border: none;
}

.reference.internal {
    text-decoration: dotted underline;
    text-decoration-thickness: 2px;
    text-decoration-color: var(--inline-refs);
    text-decoration-skip-ink: none;
    text-underline-offset: 2px;
    color: var(--fg-color);
}

.auto-toc .reference.internal {
    text-decoration: none;
}

.auto-toc .reference.internal .sectnum {
    text-decoration: dotted underline;
    text-decoration-thickness: 2px;
    text-decoration-color: var(--inline-refs);
}


.reference.external {
    text-decoration: dotted underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 2px;
    text-decoration-color: var(--external-refs);
    color: var(--fg-color);
}



/* Minimal style sheet for the HTML output of Docutils.                    */
/*                                                                         */
/* :Author: Günter Milde, based on html4css1.css by David Goodger          */
/* :Id: $Id: minimal.css 9079 2022-06-19 14:00:56Z milde $                                                               */
/* :Copyright: © 2015, 2021 Günter Milde.                                  */
/* :License: Released under the terms of the `2-Clause BSD license`_,      */
/*    in short:                                                            */
/*                                                                         */
/*    Copying and distribution of this file, with or without modification, */
/*    are permitted in any medium without royalty provided the copyright   */
/*    notice and this notice are preserved.                                */
/*                                                                         */
/*    This file is offered as-is, without any warranty.                    */
/*                                                                         */
/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause     */

/* This CSS3 stylesheet defines rules for Docutils elements without        */
/* HTML equivalent. It is required to make the document semantics visible. */
/*                                                                         */
/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link        */

/* titles */
p.topic-title,
p.admonition-title,
p.system-message-title {
  font-weight: bold;
}
p.sidebar-title,
p.rubric {
  font-weight: bold;
  font-size: larger;
}
p.rubric {
  color: maroon;
}
p.subtitle,
p.section-subtitle,
p.sidebar-subtitle {
  font-weight: bold;
  margin-top: -0.5em;
}
h1 + p.subtitle {
  font-size: 1.6em;
}
a.toc-backref {
  color: inherit;
  text-decoration: none;
}

/* Warnings, Errors */
.system-messages h2,
.system-message-title,
span.problematic {
  color: red;
}

/* Inline Literals */
.docutils.literal {
  font-family: var(--monospace-font-family);
  white-space: pre-wrap;
  color: var(--code-fg-color);
  background-color: var(--code-bg-color);
  border-radius: 0.2em;
  overflow-wrap: anywhere;
  padding-left: 4px;
  padding-right: 4px;
  padding-top: 2px;
  padding-bottom: 2px;
}
/* do not wrap at hyphens and similar: */
/*.literal > span.pre { white-space: nowrap; }*/

/* Lists */

/* compact and simple lists: no margin between items */
.simple  li, .simple  ul, .simple  ol,
.compact li, .compact ul, .compact ol,
.simple  > li p, dl.simple  > dd,
.compact > li p, dl.compact > dd {
  margin-top: 0;
  margin-bottom: 0;
}
/* Nested Paragraphs */
p:first-child { margin-top: 0; }
p:last-child { margin-bottom: 0; }
details > p:last-child { margin-bottom: 1em; }

/* Table of Contents */
.contents ul.auto-toc { /* section numbers present */
  list-style-type: none;
}

/* Enumerated Lists */
ol.arabic     { list-style: decimal }
ol.loweralpha { list-style: lower-alpha }
ol.upperalpha { list-style: upper-alpha }
ol.lowerroman { list-style: lower-roman }
ol.upperroman { list-style: upper-roman }

/* Definition Lists and Derivatives */
dt .classifier { font-style: italic }
dt .classifier:before {
  font-style: normal;
  margin: 0.5em;
  content: ":";
}
/* Field Lists and similar */
/* bold field name, content starts on the same line */
dl.field-list,
dl.option-list,
dl.docinfo {
  display: flow-root;
}
dl.field-list > dt,
dl.option-list > dt,
dl.docinfo > dt {
  font-weight: bold;
  clear: left;
  float: left;
  margin: 0;
  padding: 0;
  padding-right: 0.2em;
}
/* Offset for field content (corresponds to the --field-name-limit option) */
dl.field-list > dd,
dl.option-list > dd,
dl.docinfo > dd {
  margin-left:  9em; /* ca. 14 chars in the test examples, fit all Docinfo fields */
}
/* start nested lists on new line */
dd > dl:first-child,
dd > ul:first-child,
dd > ol:first-child {
  clear: left;
}
/* start field-body on a new line after long field names */
dl.field-list > dd > *:first-child,
dl.option-list > dd > *:first-child
{
  display: inline-block;
  width: 100%;
  margin: 0;
}

/* Bibliographic Fields (docinfo) */
dl.docinfo pre.address {
  font: inherit;
  margin: 0.5em 0;
}
dl.docinfo > dd.authors > p { margin: 0; }

/* Option Lists */
dl.option-list > dt { font-weight: normal; }
span.option { white-space: nowrap; }

/* Footnotes and Citations  */

.footnote, .citation { margin: 1em 0; } /* default paragraph skip (Firefox) */
/* hanging indent */
.citation { padding-left: 2em; }
.footnote { padding-left: 1.7em; }
.footnote.superscript { padding-left: 1.0em; }
.citation > .label { margin-left: -2em; }
.footnote > .label { margin-left: -1.7em; }
.footnote.superscript > .label { margin-left: -1.0em; }

.footnote > .label + *,
.citation > .label + * {
  display: inline-block;
  margin-top: 0;
  vertical-align: top;
}
.footnote > .backrefs + *,
.citation > .backrefs + * {
  margin-top: 0;
}
.footnote > .label + p, .footnote > .backrefs + p,
.citation > .label + p, .citation > .backrefs + p {
  display: inline;
  vertical-align: inherit;
}

.backrefs { user-select: none; }
.backrefs > a { font-style: italic; }

/* superscript footnotes */
a[role="doc-noteref"].superscript,
.footnote.superscript > .label,
.footnote.superscript > .backrefs {
  vertical-align: super;
  font-size: smaller;
  line-height: 1;
}
a[role="doc-noteref"].superscript > .fn-bracket,
.footnote.superscript > .label > .fn-bracket {
  /* hide brackets in display but leave for copy/paste */
  display: inline-block;
  width: 0;
  overflow: hidden;
}
[role="doc-noteref"].superscript + [role="doc-noteref"].superscript {
  padding-left: 0.15em; /* separate consecutive footnote references */
  /* TODO: unfortunately, "+" also selects with text between the references. */
}

/* Alignment */
.align-left   {
  text-align: left;
  margin-right: auto;
}
.align-center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.align-right  {
  text-align: right;
  margin-left: auto;
}
.align-top    { vertical-align: top; }
.align-middle { vertical-align: middle; }
.align-bottom { vertical-align: bottom; }

/* reset inner alignment in figures and tables */
figure.align-left, figure.align-right,
table.align-left, table.align-center, table.align-right {
  text-align: inherit;
}

/* Text Blocks */
.topic { margin: 1em 2em; }
.sidebar,
.admonition,
.system-message {
  margin: 1em 2em;
  border: thin solid;
  padding: 0.5em 1em;
}
div.line-block { display: block; }
div.line-block div.line-block, pre { margin-left: 2em; }

/* Tables */
table {
  border-collapse: collapse;
}
td, th {
  border: thin solid silver;
  padding: 0 1ex;
}
.borderless td, .borderless th {
  border: 0;
  padding: 0;
  padding-right: 0.5em /* separate table cells */
}

table > caption {
  text-align: left;
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
table.captionbelow {
  caption-side: bottom;
}

/* Document Header and Footer */
header { border-bottom: 1px solid black; }
footer { border-top: 1px solid black; }

/* Images are block-level by default in Docutils */
/* New HTML5 block elements: set display for older browsers */
img, header, footer, main, aside, nav, section, figure, video, details {
  display: block;
}
/* inline images */
p img, p video, figure img, figure video {
  display: inline;
}


/* CSS31_ style sheet for the output of Docutils HTML writers.             */
/* Rules for easy reading and pre-defined style variants.                  */
/*                                                                         */
/* :Author: Günter Milde, based on html4css1.css by David Goodger          */
/* :Id: $Id: plain.css 9338 2023-04-08 21:08:47Z milde $                                                               */
/* :Copyright: © 2015 Günter Milde.                                        */
/* :License: Released under the terms of the `2-Clause BSD license`_,      */
/*    in short:                                                            */
/*                                                                         */
/*    Copying and distribution of this file, with or without modification, */
/*    are permitted in any medium without royalty provided the copyright   */
/*    notice and this notice are preserved.                                */
/*                                                                         */
/*    This file is offered as-is, without any warranty.                    */
/*                                                                         */
/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause     */
/* .. _CSS3: https://www.w3.org/Style/CSS/                                 */


/* Document Structure */
/* ****************** */


/* Table of Contents */
ul.auto-toc > li > p {
  padding-left: 1em;
  text-indent: -1em;
}
nav.contents ul {
  padding-left: 1em;
}
main > nav.contents ul ul ul ul:not(.auto-toc) {
  list-style-type: '\2B29\ ';
}
main > nav.contents ul ul ul ul ul:not(.auto-toc) {
  list-style-type: '\2B1D\ ';
}

/* Transitions */
hr.docutils {
  width: 80%;
  margin-top: 1em;
  margin-bottom: 1em;
  clear: both;
}

/* Paragraphs */

/* vertical space (parskip) */
p, ol, ul, dl, li,
div.line-block,
.footnote, .citation,
div > math,
table {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

h1, h2, h3, h4, h5, h6,
dd, details > p:last-child {
  margin-bottom: 0.5em;
}

/* Lists */
/* ===== */

/* Definition Lists */
/* Indent lists nested in definition lists */
dd > ul:only-child, dd > ol:only-child { padding-left: 1em; }

/* Description Lists */
/* styled like in most dictionaries, encyclopedias etc. */
dl.description {
  display: flow-root;
}
dl.description > dt {
  font-weight: bold;
  clear: left;
  float: left;
  margin: 0;
  padding: 0;
  padding-right: 0.3em;
}
dl.description > dd:after {
  display: table;
  content: "";
  clear: left; /* clearfix for empty descriptions */
}

/* Field Lists */

dl.field-list > dd,
dl.docinfo > dd {
  margin-left: var(--field-indent); /* adapted in media queries or HTML */
}

/* example for custom field-name width */
dl.field-list.narrow > dd {
  --field-indent: 5em;
}
/* run-in: start field-body on same line after long field names */
dl.field-list.run-in > dd p {
  display: block;
}

/* Bibliographic Fields */

/* generally, bibliographic fields use dl.docinfo */
/* but dedication and abstract are placed into divs */
div.abstract p.topic-title {
  text-align: center;
}
div.dedication {
  margin: 2em 5em;
  text-align: center;
  font-style: italic;
}
div.dedication p.topic-title {
  font-style: normal;
}

/* disclosures */
details { padding-left: 1em; }
summary { margin-left: -1em; }

/* Text Blocks */
/* =========== */

/* Literal Blocks */
pre.literal-block, pre.doctest-block,
pre.math, pre.code {
  font-family: var(--monospace-font-family);
  background-color: var(--code-bg-color);
  border: thin solid var(--fg-color);
  color: var(--code-fg-color);
  border-radius: 0.2em;
  padding-left: 0.5em;
overflow: auto;
}

/* Block Quotes and Topics */
blockquote {
  background-color: var(--code-bg-color);
  color: var(--fg-color);
  border: thin solid var(--fg-color);
  border-radius: 0.2em;
  padding: 0.5em 1em;
}
blockquote p.attribution,
.topic p.attribution {
  text-align: right;
  margin-left: 20%;
}

/* Code */
pre.code { padding: 0.7ex }
pre.code, code {
  background-color: var(--code-bg-color);
  font-family: var(--monospace-font-family);
  color: var(--code-fg-color);
}

sup, sub { line-height: 0.8; } /* do not add leading for lines with sup/sub */
/* Hyperlink References */
a { text-decoration: none; }
