.black {
    color: black;
}

.purple {
    color: #5f32aa;
    font-weight: bold;
}

.green {
    color: rgb(155, 231, 185);
    font-weight: bold;
}

.aqua {
    color: rgb(174, 220, 240);
    font-weight: bold;
}

a:link {
    color: rgb(174, 220, 240);
}

a:visited {
    color: rgb(155, 231, 185);
}

.wy-side-nav-search, .wy-nav-top {
    background: #5f32aa;
}

.wy-nav-content {
    background: #3b3643;
    color: white;
}

.wy-body-for-nav {
    background-color: #634499;
}

footer {
    color: #ad96d5;
}

.highlight {
    background-color: #343131;
}

.highlight .o {
    color: rgb(155, 231, 185);
}

.highlight .nb {
    color: rgb(174, 220, 240);
}

/* c++ include color */
.highlight .cp {
    color: #ffe8be;
}

.highlight .cpf {
    color: #fbca71;
    font-style: italic
}

/* c++ type color */
.highlight .k {
    color: rgb(155 231 185);
    font-weight: bold
}

/* c++ string color */
.highlight .s {
    color: #c191ff;
}

/* c++ number color */
.highlight .mi {
    color: #ffffff;
}

/* c++ namespace color */
.highlight .nn {
    color: rgb(174 220 240);
    font-weight: bold
}

/* C++ type color */
.highlight .kt {
    color: #d663b6
}

/* C++ comment color */
.highlight .c1 {
    color: #949494
}

/* c++ template color*/
.highlight .nc {
    color: rgb(174 220 240);
}

/* c++ type initialization color */
.highlight .kr {
    color: #9BE7B9;
}

/* c++ variable name initialization color */
.highlight .nf {
    color: #AEDCF0;
}

/* documentation function color */
html.writer-html4 .rst-content dl:not(.docutils) .descclassname, html.writer-html4 .rst-content dl:not(.docutils) .descname, html.writer-html4 .rst-content dl:not(.docutils) .sig-name, html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descclassname, html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descname, html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .sig-name {
    color: #9be7b9;
}

.rst-content code {
    background: #6c6666;
    border: none;
}

/* Code block border */
.rst-content div[class^=highlight], .rst-content pre.literal-block {
    border: none;
}

.rst-content code.literal {
    color: #fff;
}

.rst-content .note {
    background: #343131;
}

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

/*Table caption*/
.rst-content table.docutils caption, .rst-content table.field-list caption, .wy-table caption {
    color: white;
}

/*Table header*/
.rst-content table.docutils thead {
    color: white;
}

/*Table odd rows*/
.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td, .wy-table-backed, .wy-table-odd td, .wy-table-striped tr:nth-child(2n-1) td {
    background-color: #343131
}

/* Selected top menu */
.wy-menu-vertical li.current > a, .wy-menu-vertical li.on a {
    color: #ffffff;
    background: #5f32aa;
}

/* Sub menu */
.wy-menu-vertical li.current {
    background: #452f6a;
}

/* Nav bar text in sub menu */
.wy-menu-vertical li.toctree-l2 a, .wy-menu-vertical li.toctree-l3 a, .wy-menu-vertical li.toctree-l4 a, .wy-menu-vertical li.toctree-l5 a, .wy-menu-vertical li.toctree-l6 a, .wy-menu-vertical li.toctree-l7 a, .wy-menu-vertical li.toctree-l8 a, .wy-menu-vertical li.toctree-l9 a, .wy-menu-vertical li.toctree-l10 a {
    color: white;
}

/*  Nav bar text in sub-sub menu */
.wy-menu-vertical li.toctree-l3.current > a, .wy-menu-vertical li.toctree-l3.current li.toctree-l4 > a {
    background: #473a51;
}

/* Borders nav bar top menu */
.wy-menu-vertical li.toctree-l1.current > a {
    border-bottom: none;
    border-top: none;
}

/* Toc tree expand button */
.wy-menu-vertical li.current > a button.toctree-expand, .wy-menu-vertical li.on a button.toctree-expand {
    color: white;
}

.wy-menu-vertical li.current a {
    border-right: none;
}

/* Toc tree sub sub menu item */
.wy-menu-vertical li.toctree-l2.current > a, .wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a {
    background: #4c415f;
}

/* C++ Class */
html.writer-html4 .rst-content dl:not(.docutils) > dt, html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) > dt {
    background: #343131;
    color: #9be7b9;
    border-top: 3px solid #5f32aa;
}

html.writer-html4 .rst-content dl:not(.docutils) > dt:before, html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) > dt:before {
    color: rgb(174 220 240);
}

html.writer-html4 .rst-content dl:not(.docutils) .descclassname, html.writer-html4 .rst-content dl:not(.docutils) .descname, html.writer-html4 .rst-content dl:not(.docutils) .sig-name, html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descclassname, html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descname, html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .sig-name {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, Courier, monospace;
    color: #fff;
}

html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) > dt, html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) > dt {
    background: #343131;
    color: #fff;
}

/* Hover over nav bar*/
.wy-menu-vertical li.current > a:hover, .wy-menu-vertical li.on a:hover {
    background: #72a485;
}

.wy-menu-vertical li.current a:hover {
    background: #5e7065;
}