.CodeMirror * {
  box-sizing: content-box;
}

.CodeMirror {
  line-height: 1.2em !important;
  background-color: transparent !important;
}

.CodeMirror .source-frame-eval-expression {
  outline: 0px;
  border: 1px solid rgb(163, 41, 34);
  border-left-width: 0px;
  border-right-width: 0px;
}

.CodeMirror .source-frame-eval-expression-end {
  border-right-width: 1px;
  margin-right: -1px;
}

.CodeMirror .source-frame-eval-expression-start {
  border-left-width: 1px;
  margin-left: -1px;
}

.CodeMirror-readonly .CodeMirror-cursor {
    display: none;
}

.CodeMirror .CodeMirror-gutters {
  border-right: 1px solid rgb(187, 187, 187);
  background-color: rgb(240, 240, 240);
}

.CodeMirror .CodeMirror-linenumber {
  color: rgb(128, 128, 128);
}

.CodeMirror-linenumber {
  min-width: 22px !important;
}

.cm-highlight {
  -webkit-animation: "fadeout" 2s 0s;
}
@-webkit-keyframes fadeout {
    from {background-color: rgb(255, 255, 120); }
    to { background-color: white; }
}

.cm-breakpoint .CodeMirror-linenumber {
  color: white;
  border-width: 1px 4px 1px 1px !important;
  -webkit-border-image: url(Images/breakpoint.png) 1 4 1 1;
  margin: 0px 0px 0px 3px !important;
  padding-right: 3px;
  padding-left: 1px;
  height: 11px;
  line-height: 12px !important;
}

.cm-breakpoint.cm-breakpoint-conditional .CodeMirror-linenumber {
  -webkit-border-image: url(Images/breakpointConditional.png) 1 4 1 1;
}

@media (-webkit-min-device-pixel-ratio: 1.5) {
.cm-breakpoint .CodeMirror-linenumber {
  -webkit-border-image: url(Images/breakpoint_2x.png) 2 8 2 2;
}
.cm-breakpoint.cm-breakpoint-conditional .CodeMirror-linenumber {
  -webkit-border-image: url(Images/breakpointConditional_2x.png) 2 8 2 2;
}
} /* media */

.cm-breakpoint-disabled .CodeMirror-linenumber {
  opacity: 0.5;
}

.breakpoints-deactivated .cm-breakpoint .CodeMirror-linenumber {
    opacity: 0.5;
}

.breakpoints-deactivated .cm-breakpoint-disabled .CodeMirror-linenumber {
    opacity: 0.3;
}

.CodeMirror-matchingbracket {
  border-bottom: 1px solid black;
  color: #222 !important;
}

.CodeMirror-nonmatchingbracket {
  color: #222 !important;
}

.cm-whitespace::before {
    position: absolute;
    pointer-events: none;
    color: rgb(175, 175, 175);
}

.cm-tab {
    position: relative;
}

.cm-tab:before {
    display: none;
    content: ".";
    color: transparent;
    border-bottom: 1px solid rgb(175, 175, 175);
    position: absolute;
    width: 90%;
    bottom: 50%;
    left: 5%;
}

.show-whitespaces .CodeMirror .cm-tab:before {
    display: block !important;
}

.cm-execution-line {
    background-color: rgb(171, 191, 254) !important;
    outline: 1px solid rgb(64, 115, 244);
}

.cm-execution-line .CodeMirror-linenumber {
    border-right: 1px solid rgb(64, 115, 244);
}

.cm-token-highlight {
    position: relative;
}

.cm-token-highlight:before {
    position: absolute;
    border: 1px solid gray;
    border-radius: 3px;
    top: 0px;
    bottom: -1px;
    left: 0px;
    right: 0px;
    content: "";
}

.cm-line-with-selection .cm-column-with-selection:before {
    border: none;
}

.cm-search-highlight {
    position: relative;
}

.cm-search-highlight:before {
    position: absolute;
    border-top-style: solid;
    border-bottom-style: solid;
    border-top-color: gray;
    border-bottom-color: gray;
    border-top-width: 1px;
    border-bottom-width: 1px;
    top: -1px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    content: "";
}

.cm-search-highlight-full:before {
    border: 1px solid gray;
    border-radius: 3px;
}

.cm-search-highlight-start:before {
    border-left-width: 1px;
    border-top-left-radius: 2px;
    border-bottom-left-radius: 2px;
    border-left-style: solid;
    border-left-color: gray;
}

.cm-search-highlight-end:before {
    border-right-width: 1px;
    border-top-right-radius: 2px;
    border-bottom-right-radius: 2px;
    border-right-style: solid;
    border-right-color: gray;
}

.cm-line-with-selection .cm-column-with-selection.cm-search-highlight-full:before {
    border-radius: 1px;
}

.cm-line-with-selection .cm-column-with-selection.cm-search-highlight-start:before {
    border-top-left-radius: 1px;
    border-bottom-left-radius: 1px;
}

.cm-line-with-selection .cm-column-with-selection.cm-search-highlight-end:before {
    border-top-right-radius: 1px;
    border-bottom-right-radius: 1px;
}

.cm-line-with-selection .cm-column-with-selection.cm-search-highlight:before {
    margin: -1px -1px -1px -1px;
    background-color: rgb(241, 234, 0);
    z-index: -1;
}

.CodeMirror .webkit-html-message-bubble {
    box-shadow: black 0px 2px 5px;
    border-radius: 9px;
    -webkit-border-fit: lines;
    font-size: 10px;
    font-family: Lucida Grande, sans-serif;
    font-weight: bold;
    margin: 3px 10px;
    padding: 1px 2px 0;
    z-index: 5;
}

.CodeMirror .webkit-html-message-bubble img {
    position: relative;
    top: 1px;
    margin-right: 2px;
}

.CodeMirror .webkit-html-warning-message {
    background-color: rgb(100%, 62%, 42%);
    border: 2px solid rgb(100%, 52%, 21%);
}

.CodeMirror .webkit-html-error-message {
    background-color: rgb(100%, 42%, 42%);
    border: 2px solid rgb(100%, 31%, 31%);
}
