body {
    background: #242424 !important;
}

a,
a:visited {
    color: #B6ECF3 !important;
}

a:hover {
    color: #DE958E !important;
}

p {
    margin-bottom: 5px;
}

h2 {
    font-size: 120%;
}

.btn,
.btn-neutral,
.btn:visited,
.btn-neutral:visited {
    background: #444444 !important;
    color: #B6ECF3 !important;
    box-shadow: none !important;
    outline: none !important;
}

.btn:hover,
.btn-neutral:hover {
    background: #555555 !important;
    color: #DE958E !important;
    box-shadow: none !important;
    outline: none !important;
}

.viewcode-link {
    color: #EBB483 !important;
}

.viewcode-link:hover {
    color: #F4F4F4 !important;
}

.wy-nav-content-wrap {
    background: #242424 !important;
}

.wy-nav-top {
    background: #343434 !important;
}

.wy-side-nav-search {
    background: #444444 !important;
}

.wy-side-nav-search a,
.wy-side-nav-search a:visited {
    color: #B6ECF3 !important;
}

.wy-side-nav-search .version {
    color: #A4A4A4 !important;
}

.wy-menu-vertical header,
.wy-menu-vertical p.caption {
    color: #A4A4A4 !important;
}

.wy-menu-vertical a:hover,
.wy-side-nav-search a:hover {
    color: #DE958E !important;
    background: #444444 !important;
}

.wy-menu-vertical li a,
.wy-menu-vertical li.on a,
.wy-menu-vertical li.current a {
    background: #343434 !important;
    border: 0px solid #343434 !important;
}

.wy-menu-vertical li.on a span.toctree-expand,
.wy-menu-vertical li.current>a span.toctree-expand {
    color: #DE958E !important;
}

input {
    background: #242424;
    color: #F4F4F4;
    border: none !important;
    box-shadow: none !important;
}

.rst-content pre.literal-block,
.rst-content div[class^='highlight'] {
    border: none !important;
}

pre {
    background: #343434 !important;
}

pre > .gp {
    color: #B6ECF3 !important;
}

pre > span {
    color: #EBB483 !important;
}

.wy-nav-content {
    background: #242424;
    color: #F4F4F4;
    max-width: 1400px !important;
}

.wy-nav-side {
    background: #343434 !important;
}

.reference.internal.current {
    background: #444444 !important;
    color: #B6ECF3 !important;
    border: none !important;
}

.method dt,
.function dt,
.descname {
    background: #343434 !important;
    color: #B6ECF3 !important;
}

.data dt,
.attribute dt {
    background: #343434 !important;
    color: #E9EABE !important;
}

.class dt  {
    background: #343434 !important;
    color: #B6ECF3 !important;
}

.descclassname  {
    background: #343434 !important;
    color: #A0D17B !important;
}

.rst-content dl:not(.docutils) dt {
    background: #343434 !important;
    color: #7EC4CF !important;
    border-top-color: #A4A4A4 !important;
}

.rst-content dl:not(.docutils) dl dt {
    border: none !important;
    color: #7EC4CF !important;
}

code.literal {
    background: #343434 !important;
    color: #EBB483 !important;
    border: none !important;
}

.xref,
.py-meth {
    color: #B6ECF3 !important;
    background: #343434 !important;
    border: none !important;
}

.xref:hover,
.py-meth:hover {
    color: #DE958E !important;
    background: #444444 !important;
}

span[id*='MathJax-Span'] {
    color: #E9EABE !important;
}

/* Markdown Tables */

.rst-content table .row-even td {
    background: #444444 !important;
    color: #F4F4F4 !important;
    border: 0px solid #242424 !important;
}

.rst-content table .row-odd td {
    background: #343434 !important;
    color: #F4F4F4 !important;
    border: 0px solid #242424 !important;
}

.rst-content table.docutils thead th {
    background: #343434 !important;
    color: #B6ECF3 !important;
    border: 0px solid #242424 !important;
    border-bottom: 1px solid #B6ECF3 !important;
}

.rst-content table.docutils {
    border: 0px solid #343434 !important;
}

/* Parameters */
.sig-param {
    color: #A4A4A4 !important;
}

.sig-param > .n {
    color: #DE958E !important;
}

.sig-param > .default_value {
    color: #F4F4F4 !important;
}

.rst-content dl p {
    margin-bottom: 4px;
}

.colon {
    display: none;
}

.field-list.simple,
.field-list.simple .field-odd,
.field-list.simple .field-even {
    background: #242424 !important;
}

.sig.sig-object.py {
    font-size: 100% !important;
}

.MathJax {
    text-align: left !important;
}

.math.notranslate.nohighlight {
    padding-left: 40px !important;
}

.rst-content code.literal,
.rst-content tt.literal {
    white-space: pre-wrap;
}

/* Architecture Diagram */
#architecture object[data="architecture.svg"] {
    max-width: 900px !important;
}

/* Intro Sections */
h1 {
    margin-top: 12px;
    margin-bottom: 12px;
}

/* Logo */
@media screen and (max-width: 717px) {
    #logo {
        max-width: 100% !important;
    }
}

/* Notes */
.admonition {
    color: #A4A4A4 !important;
    background: #343434 !important;
}

.warning > .admonition-title {
    color: #181818 !important;
    background: #DE958E !important;
}

.note > .admonition-title {
    color: #181818 !important;
    background: #EBB483 !important;
}

.admonition-todo > .admonition-title {
    color: #181818 !important;
    background: #A0D17B !important;
}
