html {
  font-size: 16px;
}

@media only screen and (min-width: 2000px) {
  html {
    font-size: 32px;
  }
}

* {
  user-select: none;
}

html {
  position: relative;
  min-height: 100%;
}

html, body {
  margin: 0;
  padding: 0;
  overflow: hidden;
  touch-action: none; /*Prevent browsers default multi-touch zooming/dragging behavior*/
}

body {
  background-image: url(/img/background.jpg);
  background-size: cover;
  background-position: center;
}

body, input, button {
  font-family: sans-serif;
  color: white;
  font-size: 1.4rem;
}

input {
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid white;
  padding: 0.1rem 0.5rem;
}

  input::placeholder {
    color: rgba(255, 255, 255, 0.5);
  }

  input:focus-visible {
    outline: none;
  }

.progressContainer {
  width: 6rem;
  height: 1rem;
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid white;
  display: inline-block;
  margin-left: 2rem;
}

  .progressContainer .progressBar {
    height: 100%;
    width: 0;
    transition: width 3s linear;
    background-color: white;
  }

  .progressContainer .progressBar.active {
    width: 100%;
  }


#canvas {
  display: block;
  width: 100%;
  height: 100vh;
  z-index: 0;
}

.overlay {
  z-index: 10;
}

#debug {
  position: absolute;
  left: 10px;
  bottom: 10px;
  padding: 4px 10px;
  background: rgba(0, 0, 0, 0.2);
}

  #debug:empty {
    display: none;
  }

button {
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid white;
  padding: 0.5rem 3rem;
  text-transform: uppercase;
  color: white;
}

  button:active {
    background: rgba(255, 255, 255, 0.5);
  }

  button.delete {
    border: none;
    background-image: url(/img/iconClose.svg);
    background-size: contain;
    font-size: 0;
    padding: 0;
    min-width: 1.5rem;
    min-height: 1.5rem;
  }

  button.navigate {
    position: absolute;
    top: 1rem;
    right: 1rem;
  }

#fullScreen {
  font-size: 1.4rem;
  position: absolute;
  right: 10px;
  top: 10px;
  z-index: 1; /* Pop in front of full page UI */
}


.page {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: none;
}


  .page.menu {
    display: block;
  }

    .page.menu .center {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 100vh;
    }

    .page.menu .buttonContainer {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }

      .page.menu .buttonContainer button {
        font-size: 1.8rem;
      }

  .page.calibrate {
  }

    .page.calibrate .row {
      position: relative;
      left: 1rem;
      top: 1rem;
    }

    .page.calibrate .objects {
      left: 1rem;
      top: 5rem;
    }


  .page .row input {
    max-width: 5em;
    margin-left: 2em;
  }

.objects {
  position: absolute;
  left: 1rem;
  top: 1rem;
}

  .objects td {
    padding-left: 1rem;
    padding-right: 1rem;
  }

    .objects td.actions {
      padding: 0;
      max-width: 1.5rem;
      vertical-align: middle;
    }

      .objects td.actions button {
        display: block;
      }

    .objects td button.inline {
      margin-left: 1.5rem;
    }

  .objects .new {
    display: none;
  }

  .objects .placeholder {
    display: table-row;
  }

  .objects tr.present {
    background-color: rgba(240, 255, 240, 0.5);
  }

.calibrate, .play {
  /* Empty on purpose */
}
