body {
  font-family: arial;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

#content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

#header {
  min-height: 40px;

  flex-grow: 0;
  flex-shrink: 0;

  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 10px;
  background: #eee;
  border-bottom: 1px solid #ddd;
}

#header > div {
  margin-left: 20px;
}

#title {
  font-weight: bold;
  color: #333;
  font-size: 150%;
}

#spinner {
  height: 30px;
  width: 30px;

  -webkit-animation: rotation 0.8s linear infinite;
  -moz-animation: rotation 0.8s linear infinite;
  -o-animation: rotation 0.8s linear infinite;
  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);
}

@-webkit-keyframes rotation {
  from {
    -webkit-transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
  }
}

@-moz-keyframes rotation {
  from {
    -moz-transform: rotate(0deg);
  }
  to {
    -moz-transform: rotate(360deg);
  }
}

@-o-keyframes rotation {
  from {
    -o-transform: rotate(0deg);
  }
  to {
    -o-transform: rotate(360deg);
  }
}

@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

#status {
  font-weight: bold;
  color: rgb(120, 120, 120);
}

#progress {
  height: 20px;
  width: 300px;
}

#canvas-container {
  flex-grow: 0;
  flex-shrink: 0;
  text-align: center;
  margin-top: 10px;
}

/* the canvas *must not* have any border or padding, or mouse coords will be wrong */
#canvas {
  margin: 0;
  border: none;
  padding: 0;
}

#output {
  flex-grow: 1;
  flex-shrink: 1;
  margin-top: 10px;
}

#footer {
  flex-grow: 0;
  flex-shrink: 0;
  text-align: center;
  background: #eee;
  border-top: 1px solid #ddd;
  padding: 10px;
  display: flex;
  justify-content: space-between;
}

#footer > a:nth-child(3) {
  color: #999;
}