.hmi__overlay {
  transition: all 250ms;
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 999991;
  pointer-events: none;
  background-color: rgba(255, 255, 255, 1);
  opacity: 0;
}

.hmi__overlay.is-visible {
  opacity: 1;
  pointer-events: all;
}

.hmi__overlay.is-translucent {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.975);
  pointer-events: all;
}

.hmi__overlay.is-menu {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.8);
  pointer-events: all;
}

.hmi__overlay.is-menu .spinner {
  display: none;
}

.hmi__overlay .spinner {
  opacity: 0;
  /* position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); */
  animation-name: spin;
  animation-duration: 1500ms;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.hmi__overlay.is-visible .spinner,
.hmi__overlay.is-translucent .spinner {
  opacity: 1;
}

.hmi-menu {
  position: fixed;
  top: 0;
  left: 0;
  transform: translate(-100%);
  transition: all 250ms;
  z-index: 999992;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
