/* BASICS */

.CodeMirror {

/* Set height, width, borders, and global font properties here */
font-family: monospace;
height: 300px;
color: black;

}

/* PADDING */

.CodeMirror-lines {

padding: 4px 0; /* Vertical padding around content */

} .CodeMirror pre {

padding: 0 4px; /* Horizontal padding of content */

}

.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {

background-color: white; /* The little square between H and V scrollbars */

}

/* GUTTER */

.CodeMirror-gutters {

border-right: 1px solid #ddd;
background-color: #f7f7f7;
white-space: nowrap;

} .CodeMirror-linenumbers {} .CodeMirror-linenumber {

padding: 0 3px 0 5px;
min-width: 20px;
text-align: right;
color: #999;
white-space: nowrap;

}

.CodeMirror-guttermarker { color: black; } .CodeMirror-guttermarker-subtle { color: #999; }

/* CURSOR */

.CodeMirror-cursor {

border-left: 1px solid black;
border-right: none;
width: 0;

} /* Shown when moving in bi-directional text */ .CodeMirror div.CodeMirror-secondarycursor {

border-left: 1px solid silver;

} .cm-fat-cursor .CodeMirror-cursor {

width: auto;
border: 0 !important;
background: #7e7;

} .cm-fat-cursor div.CodeMirror-cursors {

z-index: 1;

}

.cm-animate-fat-cursor {

width: auto;
border: 0;
-webkit-animation: blink 1.06s steps(1) infinite;
-moz-animation: blink 1.06s steps(1) infinite;
animation: blink 1.06s steps(1) infinite;
background-color: #7e7;

} @-moz-keyframes blink {

0% {}
50% { background-color: transparent; }
100% {}

} @-webkit-keyframes blink {

0% {}
50% { background-color: transparent; }
100% {}

} @keyframes blink {

0% {}
50% { background-color: transparent; }
100% {}

}

/* Can style cursor different in overwrite (non-insert) mode */ .CodeMirror-overwrite .CodeMirror-cursor {}

.cm-tab { display: inline-block; text-decoration: inherit; }

.CodeMirror-rulers {

position: absolute;
left: 0; right: 0; top: -50px; bottom: -20px;
overflow: hidden;

} .CodeMirror-ruler {

border-left: 1px solid #ccc;
top: 0; bottom: 0;
position: absolute;

}

/* DEFAULT THEME */

.cm-s-default .cm-header {color: blue;} .cm-s-default .cm-quote {color: #090;} .cm-negative {color: d44;} .cm-positive {color: #292;} .cm-header, .cm-strong {font-weight: bold;} .cm-em {font-style: italic;} .cm-link {text-decoration: underline;} .cm-strikethrough {text-decoration: line-through;}

.cm-s-default .cm-keyword {color: #708;} .cm-s-default .cm-atom {color: #219;} .cm-s-default .cm-number {color: #164;} .cm-s-default .cm-def {color: #00f;} .cm-s-default .cm-variable, .cm-s-default .cm-punctuation, .cm-s-default .cm-property, .cm-s-default .cm-operator {} .cm-s-default .cm-variable-2 {color: #05a;} .cm-s-default .cm-variable-3 {color: #085;} .cm-s-default .cm-comment {color: a50;} .cm-s-default .cm-string {color: a11;} .cm-s-default .cm-string-2 {color: f50;} .cm-s-default .cm-meta {color: #555;} .cm-s-default .cm-qualifier {color: #555;} .cm-s-default .cm-builtin {color: #30a;} .cm-s-default .cm-bracket {color: #997;} .cm-s-default .cm-tag {color: #170;} .cm-s-default .cm-attribute {color: #00c;} .cm-s-default .cm-hr {color: #999;} .cm-s-default .cm-link {color: #00c;}

.cm-s-default .cm-error {color: f00;} .cm-invalidchar {color: f00;}

.CodeMirror-composing { border-bottom: 2px solid; }

/* Default styles for common addons */

div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;} div.CodeMirror span.CodeMirror-nonmatchingbracket {color: f22;} .CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); } .CodeMirror-activeline-background {background: e8f2ff;}

/* STOP */

/* The rest of this file contains styles related to the mechanics of

the editor. You probably shouldn't touch them. */

.CodeMirror {

position: relative;
overflow: hidden;
background: white;

}

.CodeMirror-scroll {

overflow: scroll !important; /* Things will break if this is overridden */
/* 30px is the magic margin used to hide the element's real scrollbars */
/* See overflow: hidden in .CodeMirror */
margin-bottom: -30px; margin-right: -30px;
padding-bottom: 30px;
height: 100%;
outline: none; /* Prevent dragging from highlighting the element */
position: relative;

} .CodeMirror-sizer {

position: relative;
border-right: 30px solid transparent;

}

/* The fake, visible scrollbars. Used to force redraw during scrolling

before actual scrolling happens, thus preventing shaking and
flickering artifacts. */

.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {

position: absolute;
z-index: 6;
display: none;

} .CodeMirror-vscrollbar {

right: 0; top: 0;
overflow-x: hidden;
overflow-y: scroll;

} .CodeMirror-hscrollbar {

bottom: 0; left: 0;
overflow-y: hidden;
overflow-x: scroll;

} .CodeMirror-scrollbar-filler {

right: 0; bottom: 0;

} .CodeMirror-gutter-filler {

left: 0; bottom: 0;

}

.CodeMirror-gutters {

position: absolute; left: 0; top: 0;
min-height: 100%;
z-index: 3;

} .CodeMirror-gutter {

white-space: normal;
height: 100%;
display: inline-block;
vertical-align: top;
margin-bottom: -30px;

} .CodeMirror-gutter-wrapper {

position: absolute;
z-index: 4;
background: none !important;
border: none !important;

} .CodeMirror-gutter-background {

position: absolute;
top: 0; bottom: 0;
z-index: 4;

} .CodeMirror-gutter-elt {

position: absolute;
cursor: default;
z-index: 4;

} .CodeMirror-gutter-wrapper {

-webkit-user-select: none;
-moz-user-select: none;
user-select: none;

}

.CodeMirror-lines {

cursor: text;
min-height: 1px; /* prevents collapsing before first draw */

} .CodeMirror pre {

/* Reset some styles that the rest of the page might have set */
-moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
border-width: 0;
background: transparent;
font-family: inherit;
font-size: inherit;
margin: 0;
white-space: pre;
word-wrap: normal;
line-height: inherit;
color: inherit;
z-index: 2;
position: relative;
overflow: visible;
-webkit-tap-highlight-color: transparent;
-webkit-font-variant-ligatures: none;
font-variant-ligatures: none;

} .CodeMirror-wrap pre {

word-wrap: break-word;
white-space: pre-wrap;
word-break: normal;

}

.CodeMirror-linebackground {

position: absolute;
left: 0; right: 0; top: 0; bottom: 0;
z-index: 0;

}

.CodeMirror-linewidget {

position: relative;
z-index: 2;
overflow: auto;

}

.CodeMirror-widget {}

.CodeMirror-code {

outline: none;

}

/* Force content-box sizing for the elements where we expect it */ .CodeMirror-scroll, .CodeMirror-sizer, .CodeMirror-gutter, .CodeMirror-gutters, .CodeMirror-linenumber {

-moz-box-sizing: content-box;
box-sizing: content-box;

}

.CodeMirror-measure {

position: absolute;
width: 100%;
height: 0;
overflow: hidden;
visibility: hidden;

}

.CodeMirror-cursor {

position: absolute;
pointer-events: none;

} .CodeMirror-measure pre { position: static; }

div.CodeMirror-cursors {

visibility: hidden;
position: relative;
z-index: 3;

} div.CodeMirror-dragcursors {

visibility: visible;

}

.CodeMirror-focused div.CodeMirror-cursors {

visibility: visible;

}

.CodeMirror-selected { background: d9d9d9; } .CodeMirror-focused .CodeMirror-selected { background: d7d4f0; } .CodeMirror-crosshair { cursor: crosshair; } .CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: d7d4f0; } .CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: d7d4f0; }

.cm-searching {

background: #ffa;
background: rgba(255, 255, 0, .4);

}

/* Used to force a border model for a node */ .cm-force-border { padding-right: .1px; }

@media print {

/* Hide the cursor when printing */
.CodeMirror div.CodeMirror-cursors {
  visibility: hidden;
}

}

/* See issue #2901 */ .cm-tab-wrap-hack:after { content: ''; }

/* Help users use markselection to safely style text background */ span.CodeMirror-selectedtext { background: none; }