    div   { display: flex; box-sizing: border-box; }

    .fill 	{ flex-grow: 1;  }
    .hfill 	{ width: 100%; }
	  .ct		{ text-align: center; }
    .hc     { margin-left: auto; margin-right: auto; }
	  .cc 	{ justify-content: center; align-items: center; align-self: center; }	
	  .vc     { justify-content: left; align-items: center; align-self: center;  }
    .end 	{ justify-content: flex-end; align-items: center;  }
    .start 	{ justify-content: flex-start; }
    .rows 	{ flex-direction: column; }
    .circle	{ border-radius: 100%; }
    .wrap 	{ flex-wrap: wrap; }
    .right	{ align-items: right; }
    .left	{ align-items: left; }
    .debug  { border: 1px solid #000; }

	body {
		margin: 0px;
    overflow-x: hidden;
    background-color: #000;
	}

  .background {
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100vw;
    height: 100vh;
    background-image: url("/src/img/bg2.jpg");
    background-position: right; /* Center the image */
    background-repeat: no-repeat; /* Do not repeat the image */
    background-size: auto 100vh;
  }

  .logo {
    position: absolute;
    top: 20px;
    left: 20px;
    height: 100px;
    width: 80px;
    background-image: url("/src/img/walter.svg");
    background-position: center; /* Center the image */
    background-repeat: no-repeat; /* Do not repeat the image */
    background-size: cover; /* Resize the background image to cover the entire container */
  }

  .login {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 25vw;
  }

  .focusClass{
    box-shadow: rgba(0, 0, 0, 0.6) 0px 0px 0px 5px;
    text-align: center;
  }

  .wrong{
    box-shadow: rgba(255, 0, 0, 0.6) 0px 0px 0px 5px !important;
    text-align: center;
  }

  .correct {
    box-shadow: rgba(88, 188, 52, 0.6) 0px 0px 0px 5px !important;
    text-align: center;
  }

  .code {
    height: 100px;
    width: 300px;
    max-width: 80vw;
    max-height: 10vh;
    border-radius: 50px;
    background-color:#fff;
    outline: 0px solid transparent;
    padding: 15px;
    padding-top: 13px;
    overflow:hidden;
    white-space: nowrap;
    font-family: "Montserrat";
    font-size: 18pt;
    font-weight: 500;
    transition: box-shadow 0.2s;
    border: 5px solid #000;
    margin-top: 24px;
    text-align: center;
    background-color: rgba(0,0,0,0.5);
    color: #FFF;
  }

  ::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: rgba(255,255,255,0.8);
    opacity: 1; /* Firefox */
  }
  
  :-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: rgba(255,255,255,0.6);
  }
  
  ::-ms-input-placeholder { /* Microsoft Edge */
    color: rgba(255,255,255,0.6);
  }

  .thumb-container {
    background-color: rgba(0,0,0,0.5);
    max-width: 100vw;
    overflow-x: hidden;
  }

  .thumbnails {
    gap: 12px;
    max-width: 800px;
    padding: 24px;
    padding-top: 100px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  }

  .thumbnail {
    width: 100px;
    height: 80px;
    border-radius: 6px;
    background-position: center; /* Center the image */
    background-repeat: no-repeat; /* Do not repeat the image */
    background-size: cover; /* Resize the background image to cover the entire container */
    transition: box-shadow 0.2s;
  }

  .thumbnail:hover {
    cursor: pointer;
    box-shadow: rgba(255, 255, 255, 0.6) 0px 0px 0px 5px;
  }

  /* ZOOMED IN VIEW */
  .obscure {
    width: 150vw;
    height: 150vh;
    background-color: rgba(0,0,0,0.8);
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 999;
    display: none;
    overflow-y: auto;
  }

  .zoom_positioner {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    box-sizing: border-box;
  }

  .zoom_canvas {
    max-width: 80vw;
    max-height: 80vh;
    overflow: hidden;
    border-radius: 3px;
  }

  .zoom_original {
    max-width: 1000px;
    border-radius: 3px;
  }

  .zoom_toolbar {
    margin-top: 24px;
    margin-bottom: 12px;
    max-width: 80vw;
    height: 36px;
  }

  .zoom_button svg {
    width: 24px;
    height: 24px;    
  }

  .zoom_button {
    margin-right: 8px;
    background-color: #fff;
    transition: box-shadow 0.2s;
  }

  .download_button {
    padding: 8px;
    background-color: #f5f5f5;
    border-radius: 36px;
    width: 100%;
    font-family: montserrat;
    max-width: calc(500px);
    margin: 24px;
    transition: 0.2s all;
    position: relative;
  }

  .download_button:hover {
    background-color: #CCC;
    cursor: pointer;
  }

  .download_button a {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
  }

  .zoom_button:hover{
    cursor: pointer;
    box-shadow: rgba(255, 255, 255, 0.6) 0px 0px 0px 5px;
  }

  .zoom_button:last-child{
      margin-right: 0px;
  }

  .zoom_button.round {
    border-radius: 100%;
    width: 36px;
    height: 36px;
  }

  .zoom_button.rounded {
      height: 36px;
      border-radius: 18px;
      padding-left: 10px;
      padding-right: 10px;
  }

  .zoom_reference_container {
      display: none;
      margin-left: 12px;
      transform: translateZ(0);
      -webkit-transform: translateZ(0);
  }

  .zoom_reference select {
    text-align: center;
    padding-left: 10px;
    font-size: 15px;
    border: 0px;
    border-radius: 23px;
    height: 36px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #F2F2F2;
    width: calc(100% - 0px);
    outline: none;
    margin-right: 5px;
    font-family: "Open Sans";
  }

  .zoom_reference:hover select {
    background: #101076;
    color: #fff;
    outline: none;
  }
/*
  video {
    width: 100%    !important;
    height: auto   !important;
  }
*/

   @media screen and (min-width: 950px) {
        /* Desktop */
    }

    @media screen and (max-width: 767px) {
        /* Tablet */
      .login {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 5vw;
        max-width: 30vw;
      }
    }

    @media screen and (max-width: 700px) {
      .thumbnails {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
      }
    }
    
    @media screen and (max-width: 600px) {
      .thumbnails {
        grid-template-columns: 1fr 1fr 1fr 1fr;
      }
    }

    @media screen and (max-width: 500px) {
      .thumbnails {
        grid-template-columns: 1fr 1fr 1fr;
      }
    }

    @media screen and (max-width: 479px) {
        /* Telefoon */
        .login {
          position: fixed;
          top: unset;
          left: 50%;
          transform: translateX(-50%);
          bottom: 60px;
          max-width: 80vw;
        }

        .background {
          background-image: url("/src/img/bg4.jpg");
          background-position: center; /* Center the image */
          background-repeat: no-repeat; /* Do not repeat the image */
          background-size: auto 100vh;
        }
    }