body {
  padding-top: 50px;
}

/* 
  Canvas container size is set in JS, these are approximate values here to make
  the reflow once the JS has executed less disturbing.
*/
#canvas-container {
  position: relative;
  width: 80vh;
  height: 80vh;

  margin-bottom: 10px;
  margin-top: 10px;
}

@media (orientation: portrait) {
  #canvas-container {
    width: 90vw;
    height: 90vw;
  }
}

@media (min-height : 500px) {
  #canvas-container
  {
    margin-bottom: 20px;
    margin-top: 20px;
  }
}

#overlay {
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;

  background-color: rgba(128, 128, 128, 0.6);
  color: white;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  
  z-index: 100;
}

@media (min-width : 992px){
  .message {
    font-size: 16px;
    margin-left: 20px;
    margin-right: 20px;
  }
}

.stretch {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/* 
  The Stats module programatically sets several CSS properties that are 
  undesirable.
*/
#stats {
  position: absolute;
  margin-bottom: 5px;
  margin-right: 5px;
  right: 0;
  bottom: 0;
  width: auto !important;
  z-index: 100;
}
#stats #fps {
  background: transparent !important;
  padding: 0px !important;
}
#stats #fpsText {
  color: #fff !important;
}
#stats #fpsGraph {
  display: none;
}

.message {
  text-align: center;
  margin-left: 10px;
  margin-right: 10px;
}


#description {
  font-family: "Merriweather", Georgia, "Times New Roman", Times, serif;
  font-weight: 300;
  font-size: 20px;
}

@media (min-width: 1200px) {
  #description {
    font-size: 22px;
  }
}

@media (max-width: 991px) {
    #title {
        text-align: center;
    }
}

@media (min-width: 500px) and (max-width: 991px) {
    #description {
        text-align: justify;
    }
}