.hidden {
    visibility: hidden;
    display: none;
}

.__webcam, .__webcam > div  {
    max-width: 640px;
    margin: auto;
    padding: 2px;
}

#wait {
    width: 100%;
    font-size: 24px;
    color: forestgreen;
    text-transform: uppercase;
    font-weight: bold;
    line-height: 30px;
    padding: 6px;
    border: forestgreen 2px solid;
    border-radius: 10px;
}


.__webcam > .snapshot_app {
    display: flex;
    width: 100%;
    position: relative;
}

.__webcam > .snapshot_app > .snapshot_app_stage {
    padding: 4px;
    width: 100%;
}

.__webcam > .snapshot_app > .snapshot_app_video,
.__webcam > .snapshot_app > .snapshot_app_layer,
.__webcam > .snapshot_app > .snapshot_app_image  {
    display: block;
    position: absolute;
    width: 100%;
}

.__webcam > .snapshot_app > .snapshot_app_layer {
    display: flex;
    align-items: center;
    justify-content: center;
}
.__webcam > .snapshot_app > .snapshot_app_layer > p {
    margin: 0;
    display: block;
    color: #fff;
    font-size: 120px;
    line-height: 120px;
}

.button.snapshot_click {
    background: #ff0000;
    color: #fff;
    line-height: 1.4em;
    border-radius: 40px;
    outline: 1;
}


/*
 * Loading Dots
 * Can we use pseudo elements here instead :after?
 */
 .loading span {
    display: inline-block;
    vertical-align: middle;
    width: .6em;
    height: .6em;
    margin: .19em;
    background: #007DB6;
    border-radius: .6em;
    animation: loading 1s infinite alternate;
  }

  /*
   * Dots Colors
   * Smarter targeting vs nth-of-type?
   */
  .loading span:nth-of-type(2) {
    background: #008FB2;
    animation-delay: 0.2s;
  }
  .loading span:nth-of-type(3) {
    background: #009B9E;
    animation-delay: 0.4s;
  }
  .loading span:nth-of-type(4) {
    background: #00A77D;
    animation-delay: 0.6s;
  }
  .loading span:nth-of-type(5) {
    background: #00B247;
    animation-delay: 0.8s;
  }
  .loading span:nth-of-type(6) {
    background: #5AB027;
    animation-delay: 1.0s;
  }
  .loading span:nth-of-type(7) {
    background: #A0B61E;
    animation-delay: 1.2s;
  }

  /*
   * Animation keyframes
   * Use transition opacity instead of keyframes?
   */
  @keyframes loading {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }

