/* HOLOFOTES */
.spotlight {
  position: absolute;
  top: 8%;
  left: 14%;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, rgba(255,255,255,0.24) 0%, rgba(255,255,255,0.05) 30%, rgba(255,255,255,0) 60%),
              rgba(255,255,255,0.12) url("/assets/images/holoforte.jpg") center/cover no-repeat;
  background-blend-mode: screen;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: 0 0 140px rgba(255,255,255,0.35), inset 0 0 80px rgba(255,255,255,0.18);
  filter: blur(20px);
  opacity: 0.7;
  animation: spotlightPath 10s linear infinite;
  transition: opacity 1.5s ease, transform 1.5s ease;
  z-index: 101;
}

.spotlight.second {
  top: 8%;
  right: 14%;
  left: auto;
  animation: spotlightPathReverse 10s linear infinite;
}

.open .spotlight {
  opacity: 0;
}

@keyframes spotlightPath {
  0% { transform: translate(0, 0); }
  10% { transform: translate(41vw, 37vh); }
  22% { transform: translate(60vw, 70vh); }
  33% { transform: translate(68vw, 40vh); }
  44% { transform: translate(54vw, 10vh); }
  55% { transform: translate(41vw, 37vh); }
  66% { transform: translate(-22vw, 68vh); }
  77% { transform: translate(-18vw, 35vh); }
  88% { transform: translate(-5vw, 10vh); }
  100% { transform: translate(0, 0); }
}

@keyframes spotlightPathReverse {
  0% { transform: translate(0, 0); }
  10% { transform: translate(-41vw, 37vh); }
  22% { transform: translate(-60vw, 70vh); }
  33% { transform: translate(-68vw, 40vh); }
  44% { transform: translate(-54vw, 10vh); }
  55% { transform: translate(-41vw, 37vh); }
  66% { transform: translate(22vw, 68vh); }
  77% { transform: translate(18vw, 35vh); }
  88% { transform: translate(5vw, 10vh); }
  100% { transform: translate(0, 0); }
}
