/* BASICS */
.CodeMirror{font-family:monospace;height:100%;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:3px 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap;font-size:0.8em}
.CodeMirror-guttermarker{color:black}
.CodeMirror-guttermarker-subtle{color:#999}

/* CURSOR */
.CodeMirror div.CodeMirror-cursor{border-left:1px solid black}
/* Shown when moving in bi-directional text */
.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}
.CodeMirror.cm-fat-cursor div.CodeMirror-cursor{width:auto;border:0;background:#7e7}
.CodeMirror.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}
@-moz-keyframes blink{
0%{background:#7e7}
50%{background:none}
100%{background:#7e7}
}
@-webkit-keyframes blink{
0%{background:#7e7}
50%{background:none}
100%{background:#7e7}
}
@keyframes blink{
0%{background:#7e7}
50%{background:none}
100%{background:#7e7}
}
/* Can style cursor different in overwrite (non-insert) mode */
div.CodeMirror-overwrite div.CodeMirror-cursor{}
.cm-tab{display:inline-block;text-decoration:inherit}
.CodeMirror-ruler{border-left:1px solid #ccc;position:absolute}

/* DEFAULT THEME */
.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-header{color:blue}
.cm-s-default .cm-quote{color:#090}
.cm-s-default .cm-hr{color:#999}
.cm-s-default .cm-link{color:#00c}

.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-error{color:#f00}
.cm-invalidchar{color:#f00}

/* 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 actuall 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;z-index:3}
.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;margin-bottom:-30px;*zoom:1;*display:inline}
.CodeMirror-gutter-wrapper{position:absolute;z-index:4;height:100%}
.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 */
/* Reset some styles that the rest of the page might have set */
.CodeMirror pre{-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}
.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal;line-height:1.3}
.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-measure pre{position:static}
.CodeMirror div.CodeMirror-cursor{position:absolute;border-right:none;width:0}
div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}
.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}
.CodeMirror-selected{background:#d9d9d9}
.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}
.CodeMirror-crosshair{cursor:crosshair}
.CodeMirror ::selection{background:#d7d4f0}
.CodeMirror ::-moz-selection{background:#d7d4f0}
.cm-searching{background:#ffa;background:rgba(255, 255, 0, .4)}

/* IE7 hack to prevent it from returning funny offsetTops on the spans */
.CodeMirror span{*vertical-align:text-bottom}

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

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

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

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