/*
 * Sphinx doesn't have support for section dividers like we do in
 * MkDocs, this styles the section titles in the nav
 *
 * https://github.com/mkdocs/mkdocs/issues/175
 */
.wy-menu-vertical span {
    line-height: 18px;
    /* padding: 0.4045em 1.618em; */
    display: block;
    position: relative;
    /* font-size: 90%; */
    color: #fcfcfc;
}

.wy-menu-vertical .subnav a {
    padding: 0.4045em 2.427em;
}

/*
 * Long navigations run off the bottom of the screen as the nav
 * area doesn't scroll.
 *
 * https://github.com/mkdocs/mkdocs/pull/202
 *
 * Builds upon pull 202 https://github.com/mkdocs/mkdocs/pull/202
 * to make toc scrollbar end before navigations buttons to not be overlapping.
 */

.wy-nav-side {
    height: 100%;
    overflow-y: auto;
    min-height: 0;
    width: 310px;
    background: none;
}

.wy-nav-content {
    max-width: 1040px;
    padding: 2em 5em;
    box-shadow: 0.3px 0.3px 0.6px rgba(0, 0, 0, 0.003),
                0.7px 0.7px 1.3px rgba(0, 0, 0, 0.004),
                1.3px 1.3px 2.5px rgba(0, 0, 0, 0.005),
                2.2px 2.2px 4.5px rgba(0, 0, 0, 0.006),
                4.2px 4.2px 8.4px rgba(0, 0, 0, 0.007),
                10px 10px 20px rgba(0, 0, 0, 0.01);
}

.rst-versions{
    border-top: 0;
    height: 45px;
}

.rst-versions{
    border-top: 0;
    height: 45px;
}

/*
 * Additions specific to the search functionality provided by MkDocs
 */

 .search-results article {
    margin-top: 23px;
    border-top: 1px solid #E1E4E5;
    padding-top: 24px;
}

.search-results article:first-child {
    border-top: none;
}

form .search-query {
    width: 100%;
    border-radius: 50px;
    padding: 6px 12px;  /* csslint allow: box-model */
    border-color: #D1D4D5;
}

.wy-menu-vertical li ul {
    display: inherit;
    background: #343131;
}

.wy-menu-vertical li ul.subnav ul.subnav{
    padding-left: 1em;
}

.wy-menu-vertical .subnav li.current > a {
    padding-left: 2.42em;
}
.wy-menu-vertical .subnav li.current > ul li a {
    padding-left: 3.23em;
}

.wy-menu-vertical .caption-text-l1 {
    padding: 0.4045em 0;
    padding-left: 1.7em;
    background: #343131;
}

.wy-menu-vertical li a {
    padding-left: 1em;
}

.wy-menu-vertical li.toctree-l1 a {
    color: #fcfcfc;
    padding-left: 3em;
}

.wy-menu-vertical li.toctree-l1 > a {
    padding-left: 1.7em;
}

.wy-menu-vertical li.current.toctree-l1 > ul {
    border-left: .5em solid #5f7a93;
}

.wy-menu-vertical li.current.toctree-l1 > ul > li > a {
    padding-left: 2.5em;
}

.wy-menu-vertical li.current.toctree-l1 > ul > li:not(.current) > a {
    border-right: 1px solid #343131;
}

.wy-menu-vertical li.current.toctree-l1 a {
    color: #343131;
}

.wy-menu-vertical li.toctree-l1.current>a {
    border: none;
}

.wy-menu-vertical li.toctree-l1.current a {
    background: #484545;
    color: #fcfcfc;
}

.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a {
    background: #e2e2e2;
    color: #343131;
    border-right: 1px solid #5f7a93;
}

.wy-menu-vertical li.toctree-l2.current li.toctree-l3:first-child>a {
    border-top: 1px solid #5f7a93;
}

.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a {
    background: #c9c9c9;
    color: #343131;
    border-right: 1px solid #484545;
}

.wy-menu-vertical li.toctree-l2.current > a.reference.internal:first-child {
    background: #fcfcfc;
    color: #343131;
}

.wy-menu-vertical li.toctree-l1.current > a.reference.internal:first-child {
    background: #fcfcfc;
    color: #343131;
}

.wy-menu-vertical ul.current > li.toctree-l1.current ul.is-page > li.toctree-l2.current >
 a.reference.internal:first-child {
    /*color:#9B59B6;*/
    background: #e2e2e2;
    border-right: 1px solid #5f7a93;
    border-top: 1px solid #5f7a93;
}

.wy-menu-vertical ul.current > li.toctree-l1.current ul.is-page > li.toctree-l2.current >
 ul > li.toctree-l3 > a {
    border: none;
    border-right: 1px solid #5f7a93;
    background: #c9c9c9;
}

.wy-menu-vertical a:hover {
    background-color: #5f7a93 !important;
}

.wy-menu-vertical li.current a:hover {
    background-color: #5f7a93b7 !important;
}

.wy-menu-vertical p.caption {
    padding-left: 1em;
    background: #343131;
    margin: 0px;
    padding-top: 1em;
    padding-bottom: 2em;
}

/* Default readthedocs hides the menu scrollbar. We want to add it back with
 * some minor styling. */
.wy-side-scroll {
    width: auto;
    overflow:hidden;
    width: 310px;
}

.wy-menu-vertical {
    width: 300px;
    background: #343131;
    padding-bottom: 2em;
    padding-top: 1em;
}

.wy-side-scroll:hover{
	overflow-y: scroll;
}

@media screen {

    div#header, div#footer {
        display: none;
    }

    /*
     * Allows for creation of collapsable sections.
     */
    .rst-content dl dt.collapsable-param {
        cursor: pointer;
        min-width: 15em;
        width: 100%;
        margin-bottom: 1.5em;
        position: relative;
        z-index: 1;
    }
    .rst-content dl dt.collapsable-param:after {
        content: '\25BC';
        float: right;
        font-weight: bold;
    }

    .rst-content dl dt.collapsable-param:hover {
        background: #b4d0e4 !important;
    }

    .rst-content dl dt.collapsable-param-active:after {
        content: "\25B2";
    }

    .rst-content dl dd.hideable-param {
        margin: 0;
        overflow: hidden;
        max-height: 0;
        padding-left: calc(2em - 5px);
        padding-right: 2em;
        padding-bottom: .5em;
        border: 1px solid #5c768e;
        border-left: 6px solid #5c768e;
        border-top: none;
        margin-top: calc(-1.5em - 0px);
        margin-bottom: 1.5em;
        position: relative;
        z-index: 2;
        background: #f9fafa;
    }

    .rst-content dl dd.hideable-param dl {
        border-top: 1px solid #f0f0f0;
    }

    .rst-content dl dd.hidden-param {
        max-height: 0;
        padding-bottom: 0;
        margin-bottom: 1.5em;
        margin-top: calc(-1.5em - 1px);
        box-shadow: none;
        z-index: 0;
    }

    /*
     * Use to create a styling that should emulate the look of the cli when used
     * from a terminal window.
     */
    .cli-example {
    margin: 0;
    margin-bottom: 24px;
    white-space: pre-wrap;
    padding: .75em .5em;
    line-height: 1.2em;
    border: 1px solid #292d30;
    color: #fff;
    background: #53575a;
    font-size: 13px;
    font-family: DejaVu Sans Mono, SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace !important;
    margin-top: 0 !important;
    }

    .cli-example-header {
        background: #e3e8ec;
        color: #484545;
        padding: .2em .5em .2em .5em;
        font-weight: 600;
        margin-bottom: 0;
        border: 1px solid #5f7a93;
        font-size: 14px;
        height: 2.5em;
        border-bottom: none;
        margin-bottom: 0 !important;
    }

    pre.cli-example-header {
        align-items: center;
        display: flex;
    }

    .cli-example-header span {
        padding-left: 1em;
    }

    .cli-example-header i {
        color:#5f7a93;
    }

    .cli-example-header i.copy_content {
        margin-left: auto;
        padding: .5em;
        cursor: pointer;
    }

    .rst-content .section div.related-documentation-links {
        background: #f9fafa;
        border: 1px solid #5f7a93;
        border-left: 6px solid #5f7a93;
        padding: 1em;
        margin-bottom: 24px;
    }

    .rst-content .section div.related-documentation-links p {
        font-size: 16px;
        font-weight: 700;
        margin-bottom: 1em;
    }

    .rst-content .section div.related-documentation-links ul {
        margin-bottom: 0;
    }

    .rst-content .section div.related-documentation-links ul li {
        list-style: none;
        margin-left: 0;
        margin-top: .5em;
    }

    i {
        font-family: FontAwesome;
        display: inline-block;
        font-style: normal;
        font-weight: 400;
        line-height: 1;
        text-decoration: inherit;
    }

    [icon-title] {
        position: relative;
    }

    [icon-title]:hover:after {
        opacity: 1;
        transition: all 0.1s ease 0.5s;
        visibility: visible;
    }
    [icon-title]:after {
        content: attr(icon-title);
        background-color: #2a2a2a;
        color: #fbfbfb;
        font-size: 70%;
        position: absolute;
        padding: .5em .5em .5em .5em;
        border-radius: .5em;
        bottom: -2em;
        white-space: nowrap;
        box-shadow: 1px 1px 3px #222222;
        opacity: 0;
        border: 1px solid #111111;
        z-index: 99999;
        visibility: hidden;
        left: 50%;
        transform: translate(-50%, 0);
        position: absolute;
        font-family: SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;
    }



    /*
     * Use to create borders for cli header style.
     */
    .cli-header {
	background: #fcfcfc;
	color: #343131;
    display: inline-block;
    height: 1.2em;
    }

    /* In firefox the padding is not the same as in chrome, the top part will
     * have less padding in firefox, so we compensate. */
     @-moz-document url-prefix() {
        .cli-header {
            padding-top: 0px;
        }
    }

    .cli-subheader {
	background: #aaaaaa;
	color: #343131;
    display: inline-block;
    height: 1.2em;
    }

    .cli-header-title {
	color: #fcfcfc;
	font-weight: bold;
	border-top: 1px solid #fcfcfc;
    line-height: 1.4;
    padding-top: 2px;
    }

    /* Override styling of code in dl/dt foldouts */
    .rst-content code {
	font-size: 90%;
	padding: 0;
	background: transparent;
	color: #404040;
	border: none; /* dashed 1px #bab9b9; */
    white-space: inherit;
    }

    /* Override styling of code in the regular text sections */
    .rst-content p code {
    background: #e3e8ec;
    padding: 2px;
    border-radius: 2px;
    border: #c9c9c9 1px solid;
    font-weight: 700;
    }

    /* In firefox the padding is not the same as in chrome, the top part will
     * have less padding in firefox, so we compensate. */
    @-moz-document url-prefix() {
        .rst-content p code {
            padding-top: 5px;
        }
    }

    /* Override styling of code in the regular bullet list sections */
    .rst-content li code {
        background: #e3e8ec;
        padding: 2px;
        border-radius: 2px;
        border: #c9c9c9 1px solid;
        font-weight: 700;
    }

    *::-moz-focus-inner {
        padding: 0;
        border: 0;
        margin-top:-1px;
        margin-bottom:-1px;
        }

    /*
     * Override default color styling in order to better match with the rest of the
     * document styling.
     */
    .rst-content dl:not(.docutils) dt {
        background: #e3e8ec;
        color: #5f7a93;
        border-top: solid 1px #5f7a93;
        border-bottom: solid 1px #5f7a93;
        border-left: solid 6px #5f7a93;
        border-right: solid 1px #5f7a93;
        padding: .5em;
    }

    .rst-content dl:not(.docutils) dl dt {
        border: 0;
        margin: 0;
        background: none;
        border-bottom: 1px solid #5f7a93;
        padding-top: 10px;
        padding-bottom: 10px;
        grid-column-start: 1;
        height: 100%;
    }

    .rst-content dl:not(.docutils) dl dt code {
        background: #e3e8ec;
        padding: 2px;
        border-radius: 2px;
        border: #c9c9c9 1px solid;
        font-weight: 700;
    }

    /* In firefox the padding is not the same as in chrome, the top part will
     * have less padding in firefox, so we compensate. */
     @-moz-document url-prefix() {
        .rst-content dl:not(.docutils) dl dt code {
            padding-top: 5px;
        }
    }

    .rst-content dl:not(.docutils) dl dd {
    padding: 0;
    margin: 0;
    border-bottom: 1px solid #5f7a93;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
    padding-right: 10px;
    grid-column-start: 2;
    height: 100%;
    overflow-x: auto;
    }

    .rst-content dl:not(.docutils) dl {
        border-left: 1px solid #5f7a93;
        border-right: 1px solid #5f7a93;
        padding-top: 0;
        display: grid;
        grid-template-columns: 30% auto;
    }

    /*
     * Allaw code examples to continue on the next row when present in a CLI
     * description drop-down. Otherwise the text will continue outside the
     * visible field.
     */
    .rst-content dl:not(.docutils) dl dd code {
        white-space: normal;
    }

    /*
     * Custom class that is automatically inserted by js in a created special
     * element above the paramerter list present in the CLI description. Overide
     * the normal parameter list values for the header.
     */
    .rst-content dl:not(.docutils) div.param-option-head  {
    border: 1px solid #5f7a93;
    background: #e3e8ec;
    padding-top: 5px;
    padding-bottom: 5px;
    margin-bottom: 0px;
    }

    .rst-content dl:not(.docutils) a4.param-option-head {
        font-weight: bold;
        font-size: 110%;
        margin-top: 10px;
        margin-bottom: 10px;
        display: inline-block;
        border-bottom: 1px solid #5f7a93;
        width: 100%;
    }

    .rst-content dl:not(.docutils) div.param-option-head span {
        border: none;
        font-weight: bold;
        color: #474747;
        display: inline-block;
        padding-left: 10px;
    }

    .rst-content dl:not(.docutils) div.param-option-head span:first-child {
    width: 30%;
    }


    /*
     * Admonition styling
     */
    .rst-content .admonition-title {
        color: #404040;
        padding-top: 1em;
    }

    .rst-content .admonition {
        border-left: 6px solid #ccc;
        background: #f2f2f2;
        background: transparent;
        border-top: 1px solid #e1e4e5;
        border-bottom: 1px solid #e1e4e5;
        border-right: 1px solid #e1e4e5;
    }

    .rst-content .note {
        border-left: 6px solid #adc1d9;
        border-top: 1px solid #adc1d9;
        border-bottom: 1px solid #adc1d9;
        border-right: 1px solid #adc1d9;
        background: #eef2f7;
    }

    .rst-content .note .admonition-title {
        background: #eef2f7;
    }

    .rst-content .warning {
        border-left: 6px solid #f3d7aa;
        border-top: 1px solid #f3d7aa;
        border-bottom: 1px solid #f3d7aa;
        border-right: 1px solid #f3d7aa;
        background: #fbf3e5;
    }

    .rst-content .warning .admonition-title {
        background: #fbf3e5;
    }

    .rst-content .tip {
        border-left: 6px solid #aaf3aa;
        border-top: 1px solid #aaf3aa;
        border-bottom: 1px solid #aaf3aa;
        border-right: 1px solid #aaf3aa;
        background: #EEFCEE ;
    }

    .rst-content .tip .admonition-title {
        background: #EEFCEE ;
    }

}

@media screen and (max-width: 768px) {
    /* When mobile menu is shown adjust some of the width values that are
     * used to display the scrollbar otherwise. Also always display
     * the scrollbar in this case, not on mouse hover. */
    .wy-nav-side {
        height: 100%;
	width: 300px;
	padding-bottom: 0;
    }

    .wy-side-scroll {
	width: 100%;
	overflow-y: scroll;
    }

}

@media screen and (min-width: 768px) {
    .wy-nav-content [role=navigation] .wy-breadcrumbs {
	height: 50px;
	background-image: url("../logo.png");
	background-position: right;
	background-repeat: no-repeat;
	background-size: 230px 76px;
    }

    /* Only change the scrollbar when we have a full view page (no mobile) */
    .wy-nav-side ::-webkit-scrollbar {
	width: 7px;
	height: 10px;
    }

    .wy-nav-side {
	scrollbar-color: #747474 #d1d1d1;
    }

    .wy-nav-side ::-webkit-scrollbar-thumb {
	background: #747474;
	border-radius: 3px;
    }

    .wy-nav-side ::-webkit-scrollbar-track-piece
    {
	display:none;
    }

    .wy-nav-side ::-webkit-scrollbar-thumb:active {
	background-color: #ACACAC;
    }
}

/*
 * readthedocs theme hides nav items when the window height is
 * too small to contain them.
 *
 * https://github.com/mkdocs/mkdocs/issues/#348
 */
.wy-menu-vertical ul {
    background: #343131;
}

.wy-side-nav-search {
    background-color: #5f7a93;
    margin-bottom: 0;
}

.wy-nav-top {
    background-color: #5f7a93;
}


/*
 * Align text like a newspaper
 */
p {
    text-align: justify;
}

/*
 * Make > qoutes stand out a bit
 */
blockquote {
  width:       90%;
  margin:      1em auto;
  font-style:  italic;
  padding:     1.2em 0em 0.5em 2.5em;
  border-left: 8px solid #ccc;
  line-height: 1.6;
  position:    relative;
}

blockquote::before {
    padding-top: 0.5em;
    content:     "\201C";
    font-size:   3em;
    position:    absolute;
    left:        10px;
    top:        -10px;
}

blockquote::after {
  content: '';
}

/* Use <span>foo</span> inside blockquoute to get signed-off-by */
blockquote span {
  display:     block;
  font-style:  normal;
  font-weight: bold;
  margin-top:  1em;
}

/*
 * Help reader see sub-levels in sidebar
 */
a.toctree-l4:before {
    content: " » "
}

/*
 * Wrap inline code samples otherwise they shoot off the side and
 * can't be read at all.
 *
 * https://github.com/mkdocs/mkdocs/issues/313
 * https://github.com/mkdocs/mkdocs/issues/233
 * https://github.com/mkdocs/mkdocs/issues/834
 */
code {
    white-space: pre-wrap;
    word-wrap: break-word;
}

/**
 * For some reason the way the HTML is constructed by mkdocs can differ so that
 * the code blocks will not be created in the same manner, and will use
 * different html elements. This is simply doing the same thing as the above
 * definition, but as a backup when for some reason (combinations of versions of
 * mkdocs and packages???) the html objects are not generated as we would expect?
 */
pre.codehilite,
div.codehilite {
    background: #f9fafa;
    border: 1px solid #5f7a93;
    margin-bottom: 1.5em;
    background: repeating-linear-gradient(
        45deg, #eff1f3 0, #eff1f3 10%, transparent 0, transparent 50%);
    background-size: 8px 8px;
    background-color: #f9fafa;
    overflow-x: auto;
}

pre.codehilite code,
div.codehilite pre {
    white-space: pre !important;
    word-wrap: normal;
    display: block;
    font-size: 14px;
    line-height: 1em;
    background: transparent;
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
}

pre {
  font-size: 12px;
}

/* Special styling if html is inserted in the markdown for caption text for
 * images, etc... */
p.caption-text {
    text-align: justify;
    margin: 0 auto;
    width: max-content;
    max-width: 100%;
    margin-bottom: 1.5em;
    font-weight: 600;
    padding-left: 2em;
    padding-right: 2em;
    margin-top: -1em;
}

/*
 * For some reason the main theme we use add no themeing to tabbed content from
 * pymdownx.tabbed, add some basic here.
 */
.tabbed-set {
    display: flex;
    position: relative;
    flex-wrap: wrap;
}

.tabbed-set .highlight {
    background: #ddd;
}

.tabbed-set .tabbed-content {
    display: none;
    order: 99;
    width: 100%;
}

.tabbed-set label {
    width: auto;
    padding: .25em 1em .25em 1em;
    color: grey;
    cursor: pointer;
    margin: 0;
    font-weight: bold;
}

.tabbed-set label:hover {
    color: #333333;
}

.tabbed-set input {
    position: absolute;
    opacity: 0;
}

.tabbed-set input:nth-child(n+1) {
    color: #333333;
}

.tabbed-set input:nth-child(n+1):checked + label {
    color: #333333;
    border-bottom: 3px solid #5f7a93;
}

.tabbed-set input:nth-child(n+1):checked + label + .tabbed-content {
    display: block;
    border-top: 1px solid #5f7a93;
    padding-left: 1em;
    padding-right: 1em;
    padding-top: 1em;
}

p:has(+ .tabbed-content-connected) {
    margin: 0;
    padding: 0;
}

.tabbed-content:has(.tabbed-content-connected) {
    margin: 0 !important;
    padding: 0 !important;
}

.tabbed-content-connected pre.cli-example-header {
    margin-top: -1px;
}

.tabbed-content-connected div.codehilite {
    margin-top: -1px;
}

/*
 * Fix link colors when the link text is inline code.
 *
 * https://github.com/mkdocs/mkdocs/issues/718
 */
a code {
    color: #2980B9;
}
a:hover code {
    color: #3091d1;
}
a:visited code {
    color: #9B59B6;
}

/*
 * The CSS classes from highlight.js seem to clash with the
 * ReadTheDocs theme causing some code to be incorrectly made
 * bold and italic.
 *
 * https://github.com/mkdocs/mkdocs/issues/411
 */
pre .cs, pre .c {
    font-weight: inherit;
    font-style: inherit;
}

/*
 * Fix some issues with the theme and non-highlighted code
 * samples. Without and highlighting styles attached the
 * formatting is broken.
 *
 * https://github.com/mkdocs/mkdocs/issues/319
 */
.no-highlight {
  display: block;
  padding: 0.5em;
  color: #333;
}

/*
 * Improve inline code blocks within admonitions.
 *
 * https://github.com/mkdocs/mkdocs/issues/656
 */
.admonition code {
  color: #404040;
  border: 1px solid #c7c9cb;
  border: 1px solid rgba(0, 0, 0, 0.2);
  background: #f8fbfd;
  background: rgba(255, 255, 255, 0.7);
}

/*
 * Account for wide tables which go off the side.
 * Override borders to avoid wierdness on narrow tables.
 *
 * https://github.com/mkdocs/mkdocs/issues/834
 * https://github.com/mkdocs/mkdocs/pull/1034
 */
.rst-content .section .docutils {
    max-width: 100%;
    min-width: 80%;
    overflow: auto;
    border: none;
    margin-left: auto;
    margin-right: auto;
}

td, th {
   /* border: 1px solid #e1e4e5 !important; */ /* csslint allow: important */
   /*  #d9d9d9 */
   border: none !important;
   border-bottom: solid 1px #5f7a93 !important;
   border-collapse: collapse;
}

tr {
    border-left: solid 1px #5f7a93 !important;
    border-right: solid 1px #5f7a93 !important;
}

/* Table styling */
.rst-content table.docutils thead {
    border: 1px solid #5f7a93;
    background: #e3e8ec;
    padding-top: 5px;
    padding-bottom: 5px;
}

/* Ensure table content wraps, so it does not go outside the screen*/
.rst-content table.docutils td {
    white-space: pre-wrap;
}

.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td {
    background: #e3e8ec3b;
}


@media print {
    @page {
	size: A4 portrait;
	margin: 1cm !important;
    }

    div#header {
	display: table-header-group;
	break-inside: avoid;

	font-size: 16px;
	text-align: right;

	/* Somehow doesn't work in print-preview (FF or Chrome) */
	border-bottom: 1px solid black !important;
    }

    div#content {
	display: table-row-group;
    }

    div#footer {
	display: table-footer-group;
	break-inside: avoid;
    }

    .wy-nav-content [role=navigation] {
	display: none !important;
    }

    h1 {
	display: block;
	padding-top: 50px;

	font-size: 3em;
	text-align: center;

	counter-reset: h2;
	page-break-before: avoid;
    }

    h2, h3 {
	-webkit-region-break-inside: avoid;
    	break-after: avoid-page;
    	page-break-after: avoid;
    	-moz-break-after: avoid-page;
    	-moz-page-break-after: avoid;
    }

    h2:before {
	content : counter(h2,decimal) ". ";
	counter-increment : h2;
    }
    h2 {
	page-break-before: auto;
	counter-reset : h3;
    }

    h3:before {
	content : counter(h2,decimal) "." counter(h3,decimal) ". ";
	counter-increment : h3;
    }
    h3 {
	page-break-before: auto;
	counter-reset : h4;
    }

    h4:before {
	content : counter(h2,decimal) "." counter(h3,decimal) "." counter(h4,decimal) ". ";
	counter-increment : h4;
    }
    h4 {
	counter-reset : h5;
    }

    h5:before {
	content: counter(h2,decimal) "." counter(h3,decimal) "." counter(h4,decimal) "." counter(h5,decimal) ". ";
	counter-increment: h5;
    }
    h5 {
	counter-reset: h6;
    }

    h2.nocount:before, h3.nocount:before, h4.nocount:before, h5.nocount:before, h6.nocount:before {
	content: "";
	counter-increment: none;
    }

    /*
     * Use to create a styling that should emulate the look of the cli when used
     * from a terminal window.
     */
     .cli-example {
        background: #404040;
        color: #fcfcfc;
        border: 1px solid #bab9b9;
        border-radius: .5em;
        margin: 0;
        margin-bottom: 24px;
        white-space: pre-wrap;
        padding-top: 0.5em;
        padding-bottom: 0.5em;
        padding-left: 0.5em;
        line-height: 1.4;
    }

    /*
     * Use to create borders for cli header style.
     */
    .cli-header {
	font-style: bold;
    }

    /* Override styling of code in dl/dt foldouts */
    code {
	font-size: 90%;
	padding: 0;
	background: none;
	color: black;
	border: none;
    }

    /*
     * Override default color styling in order to better match with the rest of the
     * document styling.
     */
    .rst-content dl:not(.docutils) dt {
	background: none;
	color: black;
	border-top: none;
	border-bottom: none;
	border-left: none;
	border-right: none;
    }

    /*
     * General @media print cleanup of content, as recommended by most
     * online sources.   E.g., underline links and append their actual
     * URL in the printed text.
     */
    *,
    *:before,
    *:after {
	background: transparent !important;
	color: #000 !important;
	/* Black prints faster */
	box-shadow: none !important;
	text-shadow: none !important;
    }
    a,
    a:visited {
	text-decoration: underline;
    }
    a[href]:after {
	content: " (" attr(href) ")";
    }
    abbr[title]:after {
	content: " (" attr(title) ")";
    }
    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
    a[href^="#"]:after,
    a[href^="javascript:"]:after {
	content: "";
    }
    pre {
	white-space: pre-wrap !important;
    }
    pre,
    blockquote {
	page-break-inside: avoid;
    }
    /*
     * Printing Tables:
     * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
     */
    thead {
	display: table-header-group;
    }
    tr,
    img {
	page-break-inside: avoid;
    }
    p,
    h2,
    h3 {
	orphans: 3;
	widows: 3;
    }
    h2,
    h3 {
	page-break-after: avoid;
    }
}
