/* The following gets added to the <head> if it is detected that the user has a
 * monospace font with inconsistent normal/bold/italic height.  See
 * notebookmain.js.  Such fonts will have keywords vertically offset with
 * respect to the rest of the text.  The user should select a better font.
 * See: https://github.com/ipython/ipython/issues/1503
 *
 * .CodeMirror span {
 *      vertical-align: bottom;
 * }
 */

.CodeMirror {
    line-height: @code_line_height;  /* Changed from 1em to our global default */
	height: auto;     /* Changed to auto to autogrow */
	background: none;  /* Changed from white to allow our bg to show through */
}

.CodeMirror-scroll {
    /*  The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
    /*  We have found that if it is visible, vertical scrollbars appear with font size changes.*/
    overflow-y: hidden;
    overflow-x: auto;
}

@-moz-document url-prefix() {
  /* Firefox does weird and terrible things (#3549) when overflow-x is auto */
  /* It doesn't respect the overflow setting anyway, so we can workaround it with this */
  .CodeMirror-scroll {
    overflow-x: hidden;
  }
}

.CodeMirror-lines {
  /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */
  /* we have set a different line-height and want this to scale with that. */
  padding: 0.4em;
}

.CodeMirror-linenumber {
	// This is needed to fine tune the position of the line numbers because we use the 0.4em
	// spacing in various places. Fine tuned to look right.
  	padding: 0 8px 0 4px;
}

.CodeMirror-gutters {
  // This is needed because our cell has rounded corners, otherwise the gutter area square
  // corner cuts into the rounded cell border.
  border-bottom-left-radius: @corner_radius;
  border-top-left-radius: @corner_radius;
}

.CodeMirror pre {
	/* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */
	/* .CodeMirror-lines */
	padding: 0;
	border: 0;
	.border-radius(0)
}
