.CodeMirror {
	line-height: 1em;
	font-family: monospace;
}

.CodeMirror-scroll {
	overflow: auto;
	height: 300px;
	/* This is needed to prevent an IE[67] bug where the scrolled content
		 is visible outside of the scrolling box. */
	position: relative;
}

.CodeMirror-gutter {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 10;
	background-color: #f7f7f7;
	border-right: 1px solid #eeeeee;
	min-width: 2em;
	height: 100%;
}

.CodeMirror-gutter-text {
	color: #aaaaaa;
	text-align: right;
	padding: .4em .2em .4em .4em;
	white-space: pre !important;
}

.CodeMirror-lines {
	padding: .4em;
}

.CodeMirror pre {
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	-o-border-radius: 0;
	border-radius: 0;
	border-width: 0;
	margin: 0;
	padding: 0;
	background: transparent;
	font-family: inherit;
	font-size: inherit;
	padding: 0;
	margin: 0;
	white-space: pre;
	word-wrap: normal;
}

.CodeMirror-wrap pre {
	word-wrap: break-word;
	white-space: pre-wrap;
}

.CodeMirror-wrap .CodeMirror-scroll {
	overflow-x: hidden;
}

.CodeMirror textarea {
	outline: none !important;
}

.CodeMirror pre.CodeMirror-cursor {
	z-index: 10;
	position: absolute;
	visibility: hidden;
	border-left: 1px solid black;
}

.CodeMirror-focused pre.CodeMirror-cursor {
	visibility: visible;
}

div.CodeMirror-selected {
	background: #d9d9d9;
}

.CodeMirror-focused div.CodeMirror-selected {
	background: #d7d4f0;
}

.CodeMirror-searching {
	background: #ffffaa;
	background: rgba(255, 255, 0, .4);
}

/* Default theme */

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

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

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

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

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

.cm-s-default span.cm-variable-2 {
	color: #0055aa;
}

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

.cm-s-default span.cm-property {
	color: black;
}

.cm-s-default span.cm-operator {
	color: black;
}

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

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

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

.cm-s-default span.cm-meta {
	color: #555555;
}

.cm-s-default span.cm-error {
	color: #ff0000;
}

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

.cm-s-default span.cm-builtin {
	color: #3300aa;
}

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

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

.cm-s-default span.cm-attribute {
	color: #0000cc;
}

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

.cm-s-default span.cm-quote {
	color: #009900;
}

.cm-s-default span.cm-hr {
	color: #999999;
}

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

span.cm-header, span.cm-strong {
	font-weight: bold;
}

span.cm-em {
	font-style: italic;
}

span.cm-emstrong {
	font-style: italic;
	font-weight: bold;
}

span.cm-link {
	text-decoration: underline;
}

div.CodeMirror span.CodeMirror-matchingbracket {
	color: #00ff00;
}

div.CodeMirror span.CodeMirror-nonmatchingbracket {
	color: #ff2222;
}
