html, body {
    height: 100%;
    width: 100%;
    margin: 0px !important;
    padding: 0px !important;
    overflow: auto;
}
#container {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

/*styles for the top options bar*/
#top {
    padding: 0.5em 1em 0em 0.5em;
}
#top div {
    display: inline-block;
}
#options {
    float: right;
    padding-right: 1em;
}
#menu {
    float:left;
    padding-left: 1em;
}
#menu :not(iframe):not(.github-button), #options *{
    margin: 0 0.5em 0 0;
    padding: 0.5em;
}
#top img {
    padding: 0;
    margin: 0;
}
.github-button {
    padding: 0px !important;
    margin: 0px !important;
}

/*styles for the text input/optput areas*/
#data_container {
    width: inherit;
    height: 93%;
    overflow: hidden;
    padding: 0 0 1em 0;
    display: inline-flex;
    justify-content: space-around;
}
#output_outer, #raw_text {
    padding: 1em 2em 0.5em 2em;
    vertical-align: top;
    height: inherit;
    margin: 1em;
    top: 0px;
}
#raw_text {
    width: 47.5%;
}
#output_outer {
    width: 47.5%;
    overflow-x: auto;
}

/*style for prompt div*/
#prompt {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    left: 30%;
    width: 30%;
    padding: 1em;
    max-height: 60%;
    overflow: hidden;
}
#prompt input[type="text"], #prompt_commands, #opp_input {
    padding: 0.2em;
    margin: 0.5em;
    width: 90%;
}
#prompt_commands div {
    display: inline-block;
    padding: 0.5em
}
#fileinput {
    display: none;
}
#fileinput_label {
    padding: 0.75em;
    margin-top: 0.5em;
    margin-left: auto;
    margin-right: auto;
    width: 90%;
    text-align: center;
}
#html_output, #opp_input {
    max-height: 50vh;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.5em;
}
#opp_input {
    min-height: 30vh;
}

/*Read mode = !editMode*/
/*.read class directly applies to #data_container*/
/*BUG: for output of length more than screen height, if the editMode checkbox is
clicked at a non-zero scroll position, the resulting data_container contents
are still scrolled. This is fixed by the restoreContainer function.*/
.read #data_container {
    overflow: auto;
    display: block;
}
.read #output_outer {
    width: 70%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
}

/*COSMETIC EFFECTS*/

/*Day Theme*/
/*.day directly applies to body*/
.day, .day * {
    color: black;
}
.day textarea, .day #opp_input {
    background-color: #F1F1D4;
}
.day #output-inner, .day #output_outer {
    background-color: white;
}
.day #output_outer, .day #prompt {
    box-shadow: 1px 2px 10px 0px rgba(0,0,0,0.75);
}
.day #prompt {
    background-color: rgba(237, 237, 237, 0.9);
}
.day #html_output {
    background-color: rgba(255,255,255,1.0);
}
.day {
    background-color: white;
}

/*Night Theme*/
/*.night directly applies to body*/
/*It also leaves code/text input/pre elements with the default style*/
.night * {
    color: #B8B8B8;
}
.night #output_inner :not(code):not(pre) {
    color: white;
}
#output_inner pre *, #output_inner code, input[type="text"] {
    color: black;
}
.night textarea, .night #opp_input {
    background-color: #202020;
}
.night #output_inner, .night #output_outer {
    background-color: #484848;
}
.night #output_outer, .night #prompt {
    box-shadow: 1px 2px 10px 0px rgba(255,255,255,0.75);
}
.night #prompt {
    background-color: rgba(17, 17, 17, 0.9);
}
.night #html_output {
    background-color: rgba(0,0,0,1.0);
}
.night {
    background-color: #181818;
}

/*Button styles*/
.hvr-border-fade {
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: box-shadow;
  transition-property: box-shadow;
  box-shadow: inset 0 0 0 4px #bfbfbf, 0 0 1px transparent;
  /* Hack to improve aliasing on mobile/tablet devices */
}
.hvr-border-fade:hover, .hvr-border-fade:focus, .hvr-border-fade:active {
  box-shadow: inset 0 0 0 4px #2098D1, 0 0 1px transparent;
  /* Hack to improve aliasing on mobile/tablet devices */
}

/*This sets up the output div for printing*/
/*http://stackoverflow.com/a/2618980/4591810*/

@media print {
  body {
      background-color: white !important;
  }
  body * {
    visibility: hidden !important;
  }
  #output_inner, #output_inner * {
    visibility: visible !important;
    color: black !important;
  }
  #output_inner:not(code):not(pre)  {
    background-color: white !important;
  }
  #output_inner {
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    background-color: white !important;
  }
  #output_inner pre {
      overflow-x: auto !important;
      white-space: normal !important;
  }
}
