/* -- main layout ----------------------------------------------------------- */

div.clearer {
    clear: both;
}

/* -- relbar ---------------------------------------------------------------- */

div.related {
    width: 100%;
    font-size: 90%;
}

div.related h3 {
    display: none;
}

div.related ul {
    margin: 0;
    padding: 0 0 0 10px;
    list-style: none;
}

div.related li {
    display: inline;
}

div.related li.right {
    float: right;
    margin-right: 5px;
}

/* -- sidebar --------------------------------------------------------------- */

div.sphinxsidebarwrapper {
    padding: 10px 5px 0 10px;
}

div.sphinxsidebar {
    float: left;
    width: 230px;
    margin-left: -100%;
    font-size: 90%;
    word-wrap: break-word;
    overflow-wrap : break-word;
}

div.sphinxsidebar ul {
    list-style: none;
}

div.sphinxsidebar ul ul,
div.sphinxsidebar ul.want-points {
    margin-left: 20px;
    list-style: square;
}

div.sphinxsidebar ul ul {
    margin-top: 0;
    margin-bottom: 0;
}

div.sphinxsidebar form {
    margin-top: 10px;
}

div.sphinxsidebar input {
    border: 1px solid #98dbcc;
    font-family: sans-serif;
    font-size: 1em;
}

div.sphinxsidebar #searchbox input[type="text"] {
    float: left;
    width: 80%;
    padding: 0.25em;
    box-sizing: border-box;
}

div.sphinxsidebar #searchbox input[type="submit"] {
    float: left;
    width: 20%;
    border-left: none;
    padding: 0.25em;
    box-sizing: border-box;
}


img {
    border: 0;
    max-width: 100%;
}

/* -- search page ----------------------------------------------------------- */

ul.search {
    margin: 10px 0 0 20px;
    padding: 0;
}

ul.search li {
    padding: 5px 0 5px 20px;
    background-image: url(file.png);
    background-repeat: no-repeat;
    background-position: 0 7px;
}

ul.search li a {
    font-weight: bold;
}

ul.search li div.context {
    color: #888;
    margin: 2px 0 0 30px;
    text-align: left;
}

ul.keywordmatches li.goodmatch a {
    font-weight: bold;
}

/* -- index page ------------------------------------------------------------ */

table.contentstable {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

table.contentstable p.biglink {
    line-height: 150%;
}

a.biglink {
    font-size: 1.3em;
}

span.linkdescr {
    font-style: italic;
    padding-top: 5px;
    font-size: 90%;
}

/* -- general index --------------------------------------------------------- */

table.indextable {
    width: 100%;
}

table.indextable td {
    text-align: left;
    vertical-align: top;
}

table.indextable ul {
    margin-top: 0;
    margin-bottom: 0;
    list-style-type: none;
}

table.indextable > tbody > tr > td > ul {
    padding-left: 0em;
}

table.indextable tr.pcap {
    height: 10px;
}

table.indextable tr.cap {
    margin-top: 10px;
    background-color: #f2f2f2;
}

img.toggler {
    margin-right: 3px;
    margin-top: 3px;
    cursor: pointer;
}

div.modindex-jumpbox {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    margin: 1em 0 1em 0;
    padding: 0.4em;
}

div.genindex-jumpbox {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    margin: 1em 0 1em 0;
    padding: 0.4em;
}

/* -- domain module index --------------------------------------------------- */

table.modindextable td {
    padding: 2px;
    border-collapse: collapse;
}

/* -- general body styles --------------------------------------------------- */

div.body {
    min-width: 450px;
    max-width: 1920px;
}

div.body p, div.body dd, div.body li, div.body blockquote {
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
}

a.headerlink {
    visibility: hidden;
}

h1:hover > a.headerlink,
h2:hover > a.headerlink,
h3:hover > a.headerlink,
h4:hover > a.headerlink,
h5:hover > a.headerlink,
h6:hover > a.headerlink,
dt:hover > a.headerlink,
caption:hover > a.headerlink,
p.caption:hover > a.headerlink,
div.code-block-caption:hover > a.headerlink {
    visibility: visible;
}

div.body p.caption {
    text-align: inherit;
}

div.body td {
    text-align: left;
}

.first {
    margin-top: 0 !important;
}

p.rubric {
    margin-top: 30px;
    font-weight: bold;
}

img.align-left, .figure.align-left, object.align-left {
    clear: left;
    float: left;
    margin-right: 1em;
}

img.align-right, .figure.align-right, object.align-right {
    clear: right;
    float: right;
    margin-left: 1em;
}

img.align-center, .figure.align-center, object.align-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.align-left {
    text-align: left;
}

.align-center {
    text-align: center;
}

.align-right {
    text-align: right;
}

/* -- sidebars -------------------------------------------------------------- */

div.sidebar {
    margin: 0 0 0.5em 1em;
    border: 1px solid #ddb;
    padding: 7px 7px 0 7px;
    background-color: #ffe;
    width: 40%;
    float: right;
}

p.sidebar-title {
    font-weight: bold;
}

/* -- topics ---------------------------------------------------------------- */

div.topic {
    border: 1px solid #ccc;
    padding: 7px 7px 0 7px;
    margin: 10px 0 10px 0;
}

p.topic-title {
    font-size: 1.1em;
    font-weight: bold;
    margin-top: 10px;
}

/* -- admonitions ----------------------------------------------------------- */

div.admonition {
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 7px;
}

div.admonition dt {
    font-weight: bold;
}

div.admonition dl {
    margin-bottom: 0;
}

p.admonition-title {
    margin: 0px 10px 5px 0px;
    font-weight: bold;
}

div.body p.centered {
    text-align: center;
    margin-top: 25px;
}

/* -- code displays --------------------------------------------------------- */

pre {
    overflow: auto;
    overflow-y: hidden;  /* fixes display issues on Chrome browsers */
}

span.pre {
    -moz-hyphens: none;
    -ms-hyphens: none;
    -webkit-hyphens: none;
    hyphens: none;
}

td.linenos pre {
    padding: 5px 0px;
    border: 0;
    background-color: transparent;
    color: #aaa;
}

table.highlighttable {
    margin-left: 0.5em;
}

table.highlighttable td {
    padding: 0 0.5em 0 0.5em;
}

div.code-block-caption {
    padding: 2px 5px;
    font-size: small;
}

div.code-block-caption code {
    background-color: transparent;
}

div.code-block-caption + div > div.highlight > pre {
    margin-top: 0;
}

div.code-block-caption span.caption-number {
    padding: 0.1em 0.3em;
    font-style: italic;
}

div.code-block-caption span.caption-text {
}

div.literal-block-wrapper {
    padding: 1em 1em 0;
}

div.literal-block-wrapper div.highlight {
    margin: 0;
}

code.descname {
    background-color: transparent;
    font-weight: bold;
    font-size: 1.2em;
    border-style: none;
    padding: 0;
}

code.descclassname {
    background-color: transparent;
    border-style: none;
    padding: 0;
}

code.xref, a code {
    background-color: transparent;
    font-weight: bold;
    border-style: none;
    padding: 0;
}

h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
    background-color: transparent;
}

.viewcode-link {
    float: right;
}

.viewcode-back {
    float: right;
    font-family: sans-serif;
}

div.viewcode-block:target {
    margin: -1px -10px;
    padding: 0 10px;
}

/* -- math display ---------------------------------------------------------- */

img.math {
    vertical-align: middle;
}

div.body div.math p {
    text-align: center;
}

span.eqno {
    float: right;
}

span.eqno a.headerlink {
    position: relative;
    left: 0px;
    z-index: 1;
}

div.math:hover a.headerlink {
    visibility: visible;
}

/* -- printout stylesheet --------------------------------------------------- */

@media print {
    div.document,
    div.documentwrapper,
    div.bodywrapper {
        margin: 0 !important;
        width: 100%;
    }

    div.sphinxsidebar,
    div.related,
    div.footer,
    #top-link {
        display: none;
    }
}

/* -- My additions ---------------------------------------------------------- */

div.note {
    color: black;
    border: 2px solid #7a9eec;
    border-right-style: none;
    border-left-style: none;
    padding: 10px 20px 0px 60px;
    background: #e1ecfe url(dialog-note.png) no-repeat 10px 8px;
}

div.danger {
    color: black;
    border: 2px solid #fbc2c4;
    border-right-style: none;
    border-left-style: none;
    padding: 10px 20px 0px 60px;
    background: #fbe3e4 url(dialog-note.png) no-repeat 10px 8px;
}

div.attention {
    color: black;
    border: 2px solid #ffd324;
    border-right-style: none;
    border-left-style: none;
    padding: 10px 20px 0px 60px;
    background: #fff6bf url(dialog-note.png) no-repeat 10px 8px;
}

div.caution {
    color: black;
    border: 2px solid #ffd324;
    border-right-style: none;
    border-left-style: none;
    padding: 10px 20px 0px 60px;
    background: #fff6bf url(dialog-warning.png) no-repeat 10px 8px;
}

div.important {
    color: black;
    background: #fbe3e4 url(dialog-seealso.png) no-repeat 10px 8px;
    border: 2px solid #fbc2c4;
    border-left-style: none;
    border-right-style: none;
    padding: 10px 20px 0px 60px;
}

div.seealso {
    color: black;
    background: #fff6bf url(dialog-seealso.png) no-repeat 10px 8px;
    border: 2px solid #ffd324;
    border-left-style: none;
    border-right-style: none;
    padding: 10px 20px 0px 60px;
}

div.hint, div.tip {
    color: black;
    background: #eeffcc url(dialog-topic.png) no-repeat 10px 8px;
    border: 2px solid #aacc99;
    border-left-style: none;
    border-right-style: none;
    padding: 10px 20px 0px 60px;
}

div.admonition-example {
    color: black;
    background: white url(dialog-topic.png) no-repeat 10px 8px;
    border: 2px solid #aacc99;
    border-left-style: none;
    border-right-style: none;
    padding: 10px 0px 20px 60px;
}
div.warning, div.error {
    color: black;
    background: #fbe3e4 url(dialog-warning.png) no-repeat 10px 8px;
    border: 2px solid #fbc2c4;
    border-right-style: none;
    border-left-style: none;
    padding: 10px 20px 0px 60px;
}

p {
    text-align: justify;
    padding-bottom: 5px;
}

h1 {
    background: #fff6bf;
    border: 2px solid #ffd324;
    border-left-style: none;
    border-right-style: none;
    padding: 10px 10px 10px 10px;
    text-align: center;
}

h2 {
    /* background: #eeffcc; */
    border: 2px solid #aacc99;
    border-left-style: none;
    border-right-style: none;
    border-top-style: none;
    padding: 10px 0px 0px 0px;
    /* text-align: center; */
}

h3 {
    /* background: #eeffcc; */
    border: 1px solid #7a9eec;
    border-left-style: none;
    border-right-style: none;
    border-top-style: none;
    padding: 0;
    /* text-align: center; */
}

h4 {
    background: #eeffcc;
    /* border: 1px solid #aacc99; */
    border-left-style: none;
    border-right-style: none;
    border-top-style: none;
    padding: 5px 5px 5px 5px;
    /* text-align: center; */
}

cite {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    border: 1px solid #e1e1e8;
    background: #f7f7f9;
    margin: 0 0 10px;
    padding: 0 5px 0 5px;
    font-size: 13px;
    font-style: italic;
}

.program {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    border: 1px solid #e1e1e8;
    background: #f7f7f9;
    margin: 0 0 10px;
    padding: 0 5px 0 5px;
    font-size: 13px;
}

/* dt/dd on single line */

dl.field-list {
  display: grid;
  grid-template-columns: max-content auto;
}

dt.field-list {
  grid-column-start: 1;
}

dt.field-odd:after {
  content: ':';
}

dt.field-even:after {
  content: ':';
}

dd.field-list {
  grid-column-start: 2;
}
