.CodeTester {
  display: flex;
  width: 100%;
}

/* LEFT CONTROL PANEL */

.left-control {
  background: #90A4AE;
  height: 100vh;
  overflow: scroll;
  width: 30%;
  min-width: 350px;
  padding: 0 15px;
}

.left-control hr {
  border-top: 1px solid #263238;
}

.left-control .react-tabs__tab--selected {
  color: #455A64;
  background: #90A4AE;
}

.left-control code, .left-control pre {
  border: 0;
  color: #80CBC4;
  background: #263238;
}

.instructions-panel {
  padding-top: 60px;
  height: 100vh;
}

.selection-panels {
  top: 0;
  z-index: 5;  
  width: 100%;
  height: 50px;
  display: flex;
  margin: 0 -15px;
  position: fixed;
  min-width: 350px;
  list-style: none;
  background: #455A64;
  padding: 10px 15px 0 15px;
}

.selection-panel {
  height: 40px;
  cursor: pointer;
  color: #90A4AE;
  font-weight: bold;
  padding: 10px 15px;
  box-sizing: border-box;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.code-tester-instructions ul {
  padding-left: 20px;
}

.test-runner-container {
  height: 100%;
  overflow: hidden;
}

.code-tester-test-runner {
  position: absolute;
  width: calc(30% - 30px);
  height: calc(100% - 60px);
}

.code-tester-instructions, .code-tester-test-runner {
  margin: 0;
  overflow-x: hidden;
}

.code-tester-instructions,
.code-tester-test-runner,
.code-tester-edit-panel {
  height: 0;
}

.react-tabs__tab-panel--selected.code-tester-instructions,
.react-tabs__tab-panel--selected.code-tester-edit-panel {
  height: initial;
}

.react-tabs__tab-panel--selected.code-tester-test-runner {
  height: calc(100% - 60px);  
}

.react-tabs__tab-panel--selected{
  padding-bottom: 60px;
}

.settings-panel {
  bottom: 0;
  width: 30%;
  height: 50px;
  display: flex;
  position: fixed;
  margin: 0 -15px;
  padding: 0 15px;
  min-width: 350px;
  align-items: center;
  background: #455A64;
  justify-content: flex-end;
}

.settings-panel-group-label {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

/* TODO: Fix the height of these switches */
.settings-panel-group .left-panel-switch {
  height: 34px;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

.editor-selection-panels {
  top: 0;
  width: 100%;
  z-index: 10;
  height: 50px;
  display: flex;
  position: fixed;
  min-width: 350px;
  list-style: none;
  background: #455A64;
  padding: 10px 15px 0 15px;
}

.editor-selection-panels .react-tabs__tab--selected {
  color: #90A4AE;  
  background: #263238;
}

.editor-toolbar {
  background: #90A4AE;
  position: relative;
  opacity: 1;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  padding: 0 10px;
  border: none;
  border-radius: 0;
}

.settings-panel > *, .console-panel .btn, .test-panel .btn {
  margin-left: 15px;
}

.right-code {
  width: 70%;
  height: 100vh;
  overflow: scroll;
  background: #263238;
}

.console-panel {
  top: 0;
  right: 0;
  z-index: 15;
  height: 50px;
  display: flex;
  position: fixed;
  align-items: center;
}

.console-button {
  color: #00DE3E;
  background: #263238;
  border: #00DE3E 2px solid;
}

.right-panel-main {
  margin-top: 50px;
}

.test-panel {
  right: 0;
  bottom: 0;
  z-index: 10;
  height: 50px;
  display: flex;
  position: fixed;
  margin: 0 15px 15px 0;
  align-items: center;
}

.syntax-message {
  font-family: monospace;
  color: #dc3545;
}

.outer-flex-container {
  display: flex;
  flex-direction: column;
  /* TODO calculate vh based on offset prop? */
  height: 95vh;
}

.inner-flex-container {
  display: flex;
  flex-direction: row;
  /*border: 1px solid black;*/
  overflow: scroll;
}

.inner-flex-item {
  padding: 5px;
  width: 100%;
  margin-top: 10px;  
  text-align: left;
  align-items: stretch;
  overflow-x: hidden;
}

/* Split CSS */
.gutter {
    background-repeat: no-repeat;
    background-position: 50%;
}

.gutter.gutter-horizontal {
    background-image:  url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==')
}

.gutter.gutter-vertical {
    background-image:  url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFAQMAAABo7865AAAABlBMVEVHcEzMzMzyAv2sAAAAAXRSTlMAQObYZgAAABBJREFUeF5jOAMEEAIEEFwAn3kMwcB6I2AAAAAASUVORK5CYII=')
}

.split {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.outer-split-item {
  overflow-y: auto;
}


/* SimpleMDE CSS adds a border to .CodeMirror class */
.ReactCodeMirror > .CodeMirror {
  border: none;
}

iframe {
  height: 100%;
  width: 100%;
}

#code-tester-editor .CodeMirror-line .cm-string {
  color: #C3E88D !important;
}

.flex {
  display: flex;
}