body {
  font-family: arial;
  margin: 0;
  padding: 0;
  background: #fffff9;
}

#topBanner {
  background-color: lightyellow;
}

.emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; }
div.emscripten { text-align: center; }      
div.emscripten_border {
  border: 1px solid lightgrey; padding: 1em; margin: 1em auto;
  border-radius: 4px;
}
/* the canvas *must not* have any border or padding, or mouse coords will be wrong */
canvas.emscripten { border: 0px none; }

/* Avoid interpolation in canvas, per GH-10 */
/* Also avoid it for image, per GH-10 */
canvas.emscripten, #viewer-right img { 
  image-rendering: optimizeSpeed;             /* Older versions of FF          */
  image-rendering: -moz-crisp-edges;          /* FF 6.0+                       */
  image-rendering: -webkit-optimize-contrast; /* Safari                        */
  image-rendering: -o-crisp-edges;            /* OS X & Windows Opera (12.02+) */
  image-rendering: pixelated;                 /* Awesome future-browsers       */
  -ms-interpolation-mode: nearest-neighbor;   /* IE                            */
}

.spinner {
  height: 30px;
  width: 30px;
  margin: 0;
  margin-top: 20px;
  margin-left: 20px;
  display: inline-block;
  vertical-align: middle;

  animation: rotation 0.8s linear infinite;

  border-left: 5px solid rgb(235, 235, 235);
  border-right: 5px solid rgb(235, 235, 235);
  border-bottom: 5px solid rgb(235, 235, 235);
  border-top: 5px solid rgb(120, 120, 120);
  
  border-radius: 100%;
  background-color: rgb(189, 215, 46);
}

@keyframes rotation {
  from {transform: rotate(0deg);}
  to {transform: rotate(360deg);}
}

#status {
  display: inline-block;
  vertical-align: middle;
  margin-left: 20px;
  font-weight: bold;
  color: rgb(60, 60, 60);
  width: 18em;
}

#progress {
  height: 20px;
  width: 30px;
}

#controls {
  padding: 1em;
  display: inline-block;
  vertical-align: middle;
}

#controls input {
  vertical-align: middle;
}

#output {
  width: 100%;
  height: 200px;
  margin: 0 auto;
  border-left: 0px;
  border-right: 0px;
  padding-left: 0px;
  padding-right: 0px;
  display: block;
  background-color: black;
  color: white;
  font-family: 'Lucida Console', Monaco, monospace;
  outline: none;
  display:none;
}

#aboutModal {
  position:absolute;
  left:25%;
  right:25%;
  top:15%;
  display:none;
  padding: 1em 2em;
  background-color: #ffe;
  border: 8px solid #eeb;
  line-height: 1.5em;
}
#aboutModal.visible { display: block }
.closeButton {text-align: right; margin:0;}

#controls .header {padding: 0em; font-weight: bold; font-size: 1.5em; border-right:1px dotted #bbb; padding-right:.5em;}
#controls .header input[type=button] { background: #ddd; border:none; border-radius:.3em;}
#controls .header a {color: #76b45a; text-decoration: none; border-bottom:1px dotted #76b45a}
#controls .header .subdued {color: #999;}
#credits { text-align: center }
#credits a { color: grey }
#controls label { color: grey; padding-bottom: .1em; }

.viewer-parent {
  min-width: 200px;
  min-height: 200px;
}

#viewer {
  position:relative;
  margin: 0 auto;
}

#viewer.unlocked {
  cursor: ew-resize;
}

#viewer-left, #viewer-right {
  overflow:hidden;
}

#viewer-left {
  position:absolute;
  top:0;
  left:0;
  width:50%;
}

#viewer-right {
  position:absolute;
  top:0;
  right:0;
  width:50%;
}

#viewer.unlocked #viewer-right {
  border-left: 1px solid rgba(200, 200, 0, 0.7);
}

#viewer-right .wrapper {
  position:absolute;
  top:0;
  right:0;
}

#left-info, #right-info {
  position: absolute;
  top: 0px;
  /* opacity: 0.7; */
  background: rgba(250, 250, 250, 0.7);
  padding: .3em;
  margin: .3em;
}

#left-info p, #right-info p {
  margin: 0;
}

#left-info p.title, #right-info p.title {
  font-size:1.1em;
  font-weight: bold;
  color: #222;
}

#left-info p.size, #right-info p.size {
  font-size:0.8em;
  color: #222;
  margin-top: .5em;
  line-height: 1.4em;
}

#left-info {
  right: 0px;
  text-align:right;
}

#right-info {
  left: 0px;
  text-align:left;
}

.inputGroup {
  display: inline-block;
  border-right:1px dotted #bbb;
  padding-left:1em;
  padding-right:1em;
}

@media (min-width: 1300px) {

.inputGroup {
  padding-left:2em;
  padding-right:2em;
}

#controls .header {
  padding-right: 1em;
}

#topBanner {
  text-align: center;
}
}

.inputGroup label {
  display: block;
}

#imageSelect {
  font-family: monospace;
}
