.CodeMirror {

  &-vscrollbar {
    display: none !important;
  }

  &-scroll {
    max-width: 100%;
    border-radius: .5rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
    overflow: overlay !important;

    &, * {
      box-sizing: border-box;
    }


    &::-webkit-scrollbar {
      width: 10px;
      height: 10px;
    }

    &::-webkit-scrollbar-thumb {
      background: rgba(90, 90, 90);
    }

    &::-webkit-scrollbar-track {
      background: rgba(0, 0, 0, 0.2);
    }
  }

  &-placeholder {
    color: #777;
  }

}

/* Based on Sublime Text's default theme */

.cm-s-default.CodeMirror {
  background: #272822;
  color: #f8f8f2;
  border-radius: 5px;
}

.cm-s-default div.CodeMirror-selected {
  background: #49483E;
}

.cm-s-default .CodeMirror-line::selection, .cm-s-default .CodeMirror-line > span::selection, .cm-s-default .CodeMirror-line > span > span::selection {
  background: rgba(73, 72, 62, .99);
}

.cm-s-default .CodeMirror-line::-moz-selection, .cm-s-default .CodeMirror-line > span::-moz-selection, .cm-s-default .CodeMirror-line > span > span::-moz-selection {
  background: rgba(73, 72, 62, .99);
}

.cm-s-default .CodeMirror-gutters {
  background: #272822;
  border-right: 0px;
}

.cm-s-default .CodeMirror-guttermarker {
  color: white;
}

.cm-s-default .CodeMirror-guttermarker-subtle {
  color: #d0d0d0;
}

.cm-s-default .CodeMirror-linenumber {
  color: #d0d0d0;
}

.cm-s-default .CodeMirror-cursor {
  border-left: 1px solid #f8f8f0;
}

.cm-s-default span.cm-comment {
  color: #75715e;
}

.cm-s-default span.cm-atom {
  color: #ae81ff;
}

.cm-s-default span.cm-number {
  color: #ae81ff;
}

.cm-s-default span.cm-comment.cm-attribute {
  color: #97b757;
}

.cm-s-default span.cm-comment.cm-def {
  color: #bc9262;
}

.cm-s-default span.cm-comment.cm-qualifier {
  color: #bc9262;
}

.cm-s-default span.cm-comment.cm-tag {
  color: #bc6283;
}

.cm-s-default span.cm-comment.cm-type {
  color: #5998a6;
}

.cm-s-default span.cm-property, .cm-s-default span.cm-attribute {
  color: #a6e22e;
}

.cm-s-default span.cm-keyword {
  color: #f92672;
}

.cm-s-default span.cm-builtin {
  color: #66d9ef;
}

.cm-s-default span.cm-string {
  color: #e6db74;
}

.cm-s-default span.cm-variable {
  color: #f8f8f2;
}

.cm-s-default span.cm-variable-2 {
  color: #9effff;
}

.cm-s-default span.cm-variable-3, .cm-s-default span.cm-type {
  color: #66d9ef;
}

.cm-s-default span.cm-def {
  color: #fd971f;
}

.cm-s-default span.cm-qualifier {
  color: #fd971f;
}

.cm-s-default span.cm-bracket {
  color: #f8f8f2;
}

.cm-s-default span.cm-tag {
  color: #f92672;
}

.cm-s-default span.cm-header {
  color: #ae81ff;
}

.cm-s-default span.cm-link {
  color: #ae81ff;
}

.cm-s-default span.cm-error {
  background: #f92672;
  color: #f8f8f0;
}

.cm-s-default .CodeMirror-activeline-background {
  background: #373831;
}

.cm-s-default .CodeMirror-matchingbracket {
  text-decoration: underline;
  color: white !important;
}