body {
    background-color: #CCC;
    color: black;
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
}

div, p, dl {
    font-size: 13pt;
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
    line-height: 30px;
}

h1, h2, h3, h4, h5, h6 {
    transition: text-shadow 0.5s linear;
    margin-right: 15px;
    color: #354C7B;
    padding-top: 0.5em;
    padding-bottom: 4px;
}

h1 {
    padding-top: 1.5em;
    border-bottom: 2px solid #DADADA;
}

table {
    font-size: 12pt;
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
}

div.contents {
    margin-bottom: 10px;
    padding: 40px;
    margin-left: auto;
    margin-right: auto;
    max-width: 1010px; /* code snippet with 120 line length still fits*/
    background-color: white;
    border-radius: 8px;
}

#titlearea {
    background-color: white;
    align-content: center;
}

#projectlogo {
    padding: 10px;
}

hr.footer {
    display: none;
}

.title {
    text-align: center;
}

.footer {
    background-color: #AAA;
}

/* code snippets */
div.fragment {
    font-size: 12pt;
    line-height: 30px;
    font-family: "Ubuntu Mono", "SFMono-Regular",source-code-pro,Menlo,Monaco,Consolas,"Roboto Mono","Droid Sans Mono","Liberation Mono",Consolas,"Courier New",Courier,monospace;
    padding: 15px;
    border-radius: 8px;
    background-color: #F6F8FA;
    border: 1px solid #F6F8FA;
}

/* inline code */
code {
    font-size: 11pt;
    line-height: 30px;
    font-family: "Ubuntu Mono", "SFMono-Regular",source-code-pro,Menlo,Monaco,Consolas,"Roboto Mono","Droid Sans Mono","Liberation Mono",Consolas,"Courier New",Courier,monospace;
    padding: 1px 0px 1px 0px;
    border-radius: 1px;
    background-color: #F6F8FA;
    border: 1px solid #F6F8FA;
}

dl.section {
    padding: 10px;
    border-radius: 4px;
}

dl.attention {
    background-color: #FFF1F1;
    border-radius: 4px;
}

dl.warning {
    border-color: #E08D12;
    background-color: #FBF0E0;
    border-radius: 4px;
}

dl.note {
    border-color: #E9DF24;
    background-color: #FCFBE6;
    border-radius: 4px;
}

hr {
    border-top: 2px solid #E4E4E4;
    height: 2px;
}

/* markdown tables */
table.doxtable {
    empty-cells: show;
    border: 1px solid #CBCBCB;
}

table.doxtable caption {
    color: #000;
    font: italic 85%/1 arial,sans-serif;
    padding: 1em 0;
    text-align: center;
}

table.doxtable td:first-child, table.doxtable th:first-child {
    border-left-width: 0;
}

table.doxtable thead {
    background-color: #E0E0E0;
    color: #000;
    text-align: left;
    vertical-align: bottom;
}

table.doxtable td {
    background-color: transparent;
    border: 0;
    border-bottom: 2px solid #CBCBCB;
    border-width: 0 1 0 0px;
    font-size: inherit;
    margin: 0;
    overflow: visible;
    padding: .5em 1em;
}

table.doxtable th {
    border: 0;
    border-width: 0 1 0 0px;
    font-size: inherit;
    margin: 0;
    overflow: visible;
    padding: .5em 1em;
    border-bottom: 2px solid #CBCBCB;
    background-color: #EBEDF2;
    color: black;
    font-style: bold;
}

/* automatic TOC */
div.toc {
    max-width: 20em;
    width: auto;
    align-content: center;
}
div.toc li {
    font-size: 10pt;
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
}

div.toc h3 {
    font-size: 12pt;
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
}

/* assignment box */
div.assignemnt {
    padding: 0;
    background-color: #dce2ef;
    border-left: 6px solid #2f436a;
    border-radius: 4px;
}

div.assignemnt h4 {
    padding-top: 0;
    background-repeat: no-repeat;
    background-size: 2em;
    background-image: url(data:image/png;base64,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);
    background-position: 0.8em 0.8em;
    padding: 1em 1em 0em 3.3em;
}

div.assignment_content {
    padding: 0em 2em 1.5em 2em;
}

/* solution box */
div.solution {
    padding: 1em;
    background-color: #d4edce;
    border-left: 6px solid #408000;
    border-radius: 4px;
    color: #354C7B;
}

#nav-tree .item {
    padding-top: 2px;
    padding-bottom: 3px;
    line-height: 18px;
}

#nav-tree .selected {
    color: #1E227D;
    text-shadow: none;
    background-image: none;
    background-color: rgb(193, 201, 225);
}

/* Side nav bar styles: */
#nav-tree .label a { /*default*/
    color: #3D578C;
    font-size: 10pt;
}

/* make all important pages bold */
#nav-tree .label a[class^="modules"][class$="html"],
#nav-tree .label a[class^="group"][class$="html"],
#nav-tree .label a[class^="usergroup"][class$="html"],
#nav-tree .label a[class^="namespace"][class$="html"],
#nav-tree .label a[class="nolink"],
#nav-tree .label a[class="annotated.html"],
#nav-tree .label a[class="hierarchy.html"],
#nav-tree .label a[class="index.html"],
#nav-tree .label a[class="files.html"] {
    color: #3D578C;
    font-weight: bolder;
}

/* add icons */
#nav-tree .label a[class^="group"][class$="html"]::before {
    content: "📁 "; /*Note: first character is a utf8 symbol (U+1F4C1)*/
}

#nav-tree .label a[class^="namespace"][class$="html"]::before {
    content: "📦 "; /*Note: first character is a utf8 symbol (U+1F4E6)*/
}

/* add Concept and Class suffix */
#nav-tree .label a[class^="interface"][class$="html"]::after {
    content: " Concept";
    color: grey;
}

#nav-tree .label a[class^="class"][class$="html"]::after,
#nav-tree .label a[class^="struct"][class$="html"]::after {
    content: " Class";
    color: grey;
}
