body {
    background: #111111;
    color: #dddddd;
}

#footer {
    background: #111111;
}

.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #191919;
}

.table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th {
    border-top: 1px solid #444444;
    background: #111111;
}

.table > thead > tr > th {
    border-bottom: 2px solid #444444;
}

code {
    color: #08427B;
    background: #85BBF0;
}

.thumbnail {
    border: solid 1px #444444;
}
.img-thumbnail, .thumbnail {
    background: #111111;
}

.icon-xs {
    filter: invert(1.0);
}

.icon-sm {
    filter: invert(1.0);
}

.icon-md {
    filter: invert(1.0);
}

.icon-lg {
    filter: invert(1.0);
}

.icon-xl {
    filter: invert(1.0);
}

.icon-xxl {
    filter: invert(1.0);
}

.icon-h1 {
    filter: invert(1.0);
}

.icon-h2 {
    filter: invert(1.0);
}

.form-control {
    background: #222222;
    color: #eeeeee;
    border: 1px solid #999999;
}

.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
    cursor: not-allowed;
    background-color: #111111;
    color: #555555;
    opacity: 1;
}

.modal-content {
    background: #111111;
    border: #dddddd 1px solid;
    color: #dddddd;
}

.modal-header {
    border-bottom: 1px solid #111111;
}

.modal-header .close {
    color: #eeeeee;
}

.modal-footer {
    border-top: 1px solid #111111;
}

#diagramViewport {
    background: #333333;
}

.btn-default {
    background-image: linear-gradient(to bottom, #ccc 0, #ddd 100%);
}

.btn-default.disabled, .btn-default:disabled, .btn-default[disabled] {
    background-color: #777777;
    background-image: none;
}

hr {
    border-top: 1px solid #444444;
}

.img-light {
    display: none;
}
.img-dark {
    display: block;
}

#exploreGraphPanel, #exploreTreePanel {
    background: #111111;
}

#exploreGraph text, #exploreTree text {
    fill: #eeeeee;
    stroke: #111111;
    paint-order: stroke;
}

#exploreGraph .nodeName {
    fill: #eeeeee;
}

#exploreGraph .nodeMetadata {
    fill: #aaaaaa;
}

#topNavigation {
    background: #111111;
    border-bottom: solid 1px #000000;
    box-shadow: 0px 0px 3px #000000;
    text-shadow: none;
}

#workspaceSummaryControls, #editorControls, #diagramControls, #explorationControls, #documentationControls, #decisionLogControls, #healthControls {
    background: #111111;
    border-bottom: solid 1px #000000;
    box-shadow: 0px 0px 3px #000000;
}

#diagramNavigationPanel {
    background: #111111;
    border-right: solid 1px #000000;
}

.structurizrDiagramViewport {
    background: #333333;
}

.diagramThumbnailActive {
    background: #333333;
    color: #ffffff;
    border: solid 1px #333333;
}

.diagramLevel {
    background: #444444;
}
.diagramLevel1 {
    background: #08427B;
}
.diagramLevel2 {
    background: #3066B7;
}
.diagramLevel3 {
    background: #85BBF0;
}
.diagramLevel4 {
    background: #BFDBF7;
}

#filterModal .tagOn {
    background: #aaaaaa;
    color: #ffffff;
    border: solid 1px #aaaaaa;
}
#filterModal .tagOff {
    background: #111111;
    color: #aaaaaa;
    border: solid 1px #aaaaaa;
}

#documentationContent table th, #decisionLogContent table th {
    background: #333333;
}

.decisionLogSummary table td {
    border-top: 1px solid #333333 !important;
}

.btn-default, .btn-default:hover {
    background: #333333;
    border: solid 1px #333333;
}
.btn-default:disabled {
    background: #111111;
    border: solid 1px #222222;
}
.icon-btn {
    filter: invert(1.0);
}

.ace_editor {
    border: solid 1px #444444;
}
.ace_content {
    background: #111111;
}
.ace-tm .ace_gutter {
    background: #444444;
    color: white;
}
.ace-tm .ace_gutter-active-line {
    background: #777777;
}
.ace_structurizr_variable {
    color: #aa2222;
}
.ace_structurizr_string {
    color: #aaaaaa;
}

pre {
    border: 1px solid #777777;
    color: #aaa;
}

pre code.hljs {
    display: block;
    overflow-x: auto;
    padding: 1em
}
code.hljs {
    padding: 3px 5px
}
.hljs {
    color: #c9d1d9;
    background: #0d1117
}
.hljs-doctag,
.hljs-keyword,
.hljs-meta .hljs-keyword,
.hljs-template-tag,
.hljs-template-variable,
.hljs-type,
.hljs-variable.language_ {
    /* prettylights-syntax-keyword */
    color: #ff7b72
}
.hljs-title,
.hljs-title.class_,
.hljs-title.class_.inherited__,
.hljs-title.function_ {
    /* prettylights-syntax-entity */
    color: #d2a8ff
}
.hljs-attr,
.hljs-attribute,
.hljs-literal,
.hljs-meta,
.hljs-number,
.hljs-operator,
.hljs-variable,
.hljs-selector-attr,
.hljs-selector-class,
.hljs-selector-id {
    /* prettylights-syntax-constant */
    color: #79c0ff
}
.hljs-regexp,
.hljs-string,
.hljs-meta .hljs-string {
    /* prettylights-syntax-string */
    color: #a5d6ff
}
.hljs-built_in,
.hljs-symbol {
    /* prettylights-syntax-variable */
    color: #ffa657
}
.hljs-comment,
.hljs-code,
.hljs-formula {
    /* prettylights-syntax-comment */
    color: #8b949e
}
.hljs-name,
.hljs-quote,
.hljs-selector-tag,
.hljs-selector-pseudo {
    /* prettylights-syntax-entity-tag */
    color: #7ee787
}
.hljs-subst {
    /* prettylights-syntax-storage-modifier-import */
    color: #c9d1d9
}
.hljs-section {
    /* prettylights-syntax-markup-heading */
    color: #1f6feb;
    font-weight: bold
}
.hljs-bullet {
    /* prettylights-syntax-markup-list */
    color: #f2cc60
}
.hljs-emphasis {
    /* prettylights-syntax-markup-italic */
    color: #c9d1d9;
    font-style: italic
}
.hljs-strong {
    /* prettylights-syntax-markup-bold */
    color: #c9d1d9;
    font-weight: bold
}
.hljs-addition {
    /* prettylights-syntax-markup-inserted */
    color: #aff5b4;
    background-color: #033a16
}
.hljs-deletion {
    /* prettylights-syntax-markup-deleted */
    color: #ffdcd7;
    background-color: #67060c
}
.hljs-char.escape_,
.hljs-link,
.hljs-params,
.hljs-property,
.hljs-punctuation,
.hljs-tag {
    /* purposely ignored */
}