body {
 background-color : white;
 color            : black;
 font-family      : sans-serif;
 margin           : 2em;
}

body.dark {
 background-color : #222;
 color            : #cccccc;
}

pre {
 padding          : 4px;
 background-color : #f5f5f5;

 margin-left      : 20px;
 margin-right     : 0em;
 overflow         : auto;
}

.dark pre {
 background-color : #111;
}

pre.asciidiag {
 border-style     : none;
 padding          : 10px;
 background-color : white;
 color            : black;
}

span.math, span.cmath {
 font-family : cmr, Times, sans-serif;
 color       : inherit;
 white-space : nowrap;
}

span.cmath {
 display    : block;
 text-align : center;
 font-size  : larger;
}

p {
 text-align : justify;
}

h1.title {
 font-family : sans-serif;
 color       : darkblue;
 text-align  : center;
}

.dark h1.title {
 color       : white;
}

div.section h1, h2, h3 {
 font-family  : sans-serif;
 color        : darkblue;

 margin-top   : 1em;
 border-bottom-style : solid;
 border-bottom-color : lightgray;
 border-bottom-width : 1px;
 padding   : 4px;
}

.dark div.section h1 {
 color: white;
}

.dark div.section h2 {
 color: white;
}

.dark div.section h3 {
 color: white;
}

a {
 color: darkblue;
}

.dark a {
 color: orange;
}

img.align-center {
 display   : block;
 margin-left  : auto;
 margin-right : auto;
 text-align  : center;
 border   : none;
}

table.docutils {
 border-style  : solid;
 border-color  : black;
 border-width  : 1px;
 padding       : 0px;
 margin        : 1em auto 1em auto;
}

table.no-border {
 border: none !important;
}

table.no-border td {
 border: none !important;
}

.dark table.docutils {
 border-color  : gray;
}

table.docutils td, table.docutils th {
 border-style : solid;
 border-color : black;
 border-width : 1px;
 padding  : 0.5ex;
 margin  : 0.5ex;
}

.dark table.docutils td, .dark table.docutils th {
 border-color : gray;
}

table.docutils {
 border-collapse: collapse;
}

table.docutils th {
 background : rgb(230,230,255);
}

.dark table.docutils th {
 background : black;
}

table.footnote, table.option-list {
 border  : none;
 margin  : 0 0 auto 0;
}

table.footnote td {
 border  : none;
}

th.docinfo-name {
 text-align : right;
}

blockquote.epigraph {
 text-align : right;
 font-style : italic;
}

p.attribution {
 font-style : normal;
}

dt {
 margin-top : 1ex;
 font-size : larger;
}

dd p.first {
 margin-top : 0pt
}

p.topic-title > a {
 color  : black;
 font-size : larger;
 font-weight : bold;
}

/* tables */
table.col1center td:nth-of-type(1) {
 text-align: center;
}

table.col2center td:nth-of-type(2) {
 text-align: center;
}

table.col3center td:nth-of-type(3) {
 text-align: center;
}

table.col4center td:nth-of-type(4) {
 text-align: center;
}

table.col5center td:nth-of-type(5) {
 text-align: center;
}

table.col6center td:nth-of-type(6) {
 text-align: center;
}

table.col7center td:nth-of-type(7) {
 text-align: center;
}

table.col8center td:nth-of-type(8) {
 text-align: center;
}

table.col9center td:nth-of-type(9) {
 text-align: center;
}

table.col1right td:nth-of-type(1) {
 text-align: right;
}

table.col2right td:nth-of-type(2) {
 text-align: right;
}

table.col3right td:nth-of-type(3) {
 text-align: right;
}

table.col4right td:nth-of-type(4) {
 text-align: right;
}

table.col5right td:nth-of-type(5) {
 text-align: right;
}

table.col6right td:nth-of-type(6) {
 text-align: right;
}

table.col7right td:nth-of-type(7) {
 text-align: right;
}

table.col8right td:nth-of-type(8) {
 text-align: right;
}

table.col9right td:nth-of-type(9) {
 text-align: right;
}

table.allcolsright td {
 text-align: right;
}

table.highlight-row1 tr:nth-of-type(1) {
 background-color: #aaf;
}

table.highlight-row2 tr:nth-of-type(2) {
 background-color: #aaf;
}

table.highlight-row3 tr:nth-of-type(3) {
 background-color: #aaf;
}

table.highlight-row4 tr:nth-of-type(4) {
 background-color: #aaf;
}

table.highlight-row5 tr:nth-of-type(5) {
 background-color: #aaf;
}

table.highlight-row6 tr:nth-of-type(6) {
 background-color: #aaf;
}

table.highlight-row7 tr:nth-of-type(7) {
 background-color: #aaf;
}

table.highlight-row8 tr:nth-of-type(8) {
 background-color: #aaf;
}

table.highlight-row9 tr:nth-of-type(9) {
 background-color: #aaf;
}

.dark table.highlight-row1 tr:nth-of-type(1) {
 background-color: #447;
}

.dark table.highlight-row2 tr:nth-of-type(2) {
 background-color: #447;
}

.dark table.highlight-row3 tr:nth-of-type(3) {
 background-color: #447;
}

.dark table.highlight-row4 tr:nth-of-type(4) {
 background-color: #447;
}

.dark table.highlight-row5 tr:nth-of-type(5) {
 background-color: #447;
}

.dark table.highlight-row6 tr:nth-of-type(6) {
 background-color: #447;
}

.dark table.highlight-row7 tr:nth-of-type(7) {
 background-color: #447;
}

.dark table.highlight-row8 tr:nth-of-type(8) {
 background-color: #447;
}

.dark table.highlight-row9 tr:nth-of-type(9) {
 background-color: #447;
}

/* code */

.code .k, .code .kr, .code .kn, .code .kd {
    font-weight: bold;
}

.code .kt {
    color: darkblue;
    font-weight: bold;
}

.code .mh {
    color: blue;
}

.code .mo {
    color: green;
}

.code .mi {
    color: magenta;
}

.code .c1 {
    color: #777;
    font-style: italic;
}

.code .cm {
    color: #777;
}

.code .cp {
    color: magenta;
}

.code .sc, .code .s, .code .s1 {
    color: red;
}

.nasm .nb {
    color: blue;
}

.nasm .nf {
    font-weight: bold;
}
