html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  background: black;
}

body {
  opacity: 0;
  transition: opacity 0.8s ease;
  overflow: hidden;
}

body.visible {
  opacity: 1;
}

body.fade-out {
  opacity: 0;
}

.scene {
  position: relative;
  width: 100%;
  height: 100%;
  background-size: 80%;
  background-repeat: no-repeat;
  background-position: center;
}

/* clickable areas */
.hotspot {
  position: absolute;
  display: block;
}

/* example hotspot positions */
.door {
  left: 70%;
  top: 40%;
  width: 15%;
  height: 30%;
  background: rgba(255, 0, 0, 0.2);
}

.window {
  left: 10%;
  top: 20%;
  width: 20%;
  height: 25%;
  background: rgba(255, 0, 0, 0.2);
}

.back {
  right: 25;
  bottom: 0;
  width: 100%;
  height: 9%;
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  pointer-events: auto; /* important */
}


/* popup hotspot */
.note {
  left: 27%;
  top: 0%;
  width: 50%;
  height: 80%;
  cursor: pointer;
}

.popup {
  position: absolute;
  left: 50%;
  top: 90%;
  transform: translate(-50%, -50%);

  background: rgba(0, 0, 0, 0.85);
  color: #eaeaea;
  padding: 24px 28px;

  width: 40%;
  max-width: 600px;
  
  text-align: center;
  font-size: 16px;
  line-height: 1.4;

  pointer-events: auto;
}

.hidden {
  display: none;
}

