.cm-s-dark.CodeMirror {
    background: #0f0f0f;
    color: #fff;
}
.cm-s-dark div.CodeMirror-selected {
    background: #515151;
}

.cm-s-dark .CodeMirror-line::selection,
.cm-s-dark .CodeMirror-line > span::selection,
.cm-s-dark .CodeMirror-line > span > span::selection {
    background: rgba(56, 56, 56, 0.99);
}

.cm-s-dark .CodeMirror-line::-moz-selection,
.cm-s-dark .CodeMirror-line > span::-moz-selection,
.cm-s-dark .CodeMirror-line > span > span::-moz-selection {
    background: rgba(56, 56, 56, 0.99);
}

.cm-s-dark .CodeMirror-gutters {
    background: #000;
    border-right: 2px #000 solid;
    padding-right: 10px;
}

.cm-s-dark .CodeMirror-guttermarker {
    color: #222;
}

.cm-s-dark .CodeMirror-guttermarker-subtle {
    color: azure;
}

.cm-s-dark .CodeMirror-linenumber {
    color: #636d83;
}

.cm-s-dark .CodeMirror-cursor {
    border-left: 1px solid #00FF00;
}

.cm-s-dark span.cm-keyword {
    color: #c678dd;
}

.cm-s-dark span.cm-atom { color: #77F; }
.cm-s-dark span.cm-number { color: #d19a66; }
.cm-s-dark span.cm-def { color: #fff; }
.cm-s-dark span.cm-variable { color: #dark; }
.cm-s-dark span.cm-variable-2 { color: #cacbcc; }
.cm-s-dark span.cm-variable-3,
    .cm-s-dark span.cm-type { color: #def; }
.cm-s-dark span.cm-property { color: #e06c75; }
.cm-s-dark span.cm-operator { color: #56b6c2; }
.cm-s-dark span.cm-comment { color: #7a7b7c; font-style: italic;}
.cm-s-dark span.cm-string { color: #a6d683; }
.cm-s-dark span.cm-meta { color: #C9F; }
.cm-s-dark span.cm-qualifier { color: #FFF700; }
.cm-s-dark span.cm-builtin { color: #30aabc; }
.cm-s-dark span.cm-tag { color: #e06c75; }
.cm-s-dark span.cm-bracket { color: #fff; }
.cm-s-dark span.cm-attribute { color: #d19a66; }
.cm-s-dark span.cm-error { color: #FF0000; }
.cm-s-dark span.cm-header { color: aquamarine; font-weight: bold; }
.cm-s-dark span.cm-link { color: blueviolet; }

.cm-s-dark .CodeMirror-activeline-background { background: #282c34; }
