main {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100dvh;
  overflow: hidden;
}

.container {
  aspect-ratio: 3 / 4;
  height: 100%;
  position: relative;
  background: #fff;
  overflow: hidden;
}

video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  z-index: 2;
}

.user-img,
.carousel {
  width: 50vh;
  height: 50vh;
  position: absolute;
  top: 42%;
  left: 50%;
  object-fit: cover;
  object-position: top center;
  transform: translate(-50%, -50%);
  z-index: 1;
  background: #760902;
}

.carousel {
  z-index: 0;
}

.fullname {
  --color: #dce0b0;

  position: absolute;
  left: 50%;
  bottom: 15vh;
  transform: translateX(-50%);
  z-index: 2;

  width: 100%;
  text-align: center;
  white-space: nowrap;
  text-transform: uppercase;
  font-size: 3.5vh;
  line-height: 2;

  background: linear-gradient(120deg, var(--color) 0%, #fff 50%, var(--color) 100%);
  background-size: 200% auto;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  animation: shine 2s linear infinite, glow 2s ease-in-out infinite alternate;
}

.user-img,
.fullname {
  opacity: 0;
}

.user-img.show,
.fullname.show {
  opacity: 1;
  transition: opacity 1s linear;
}

@keyframes shine {
  0% {
    background-position: -100% 0;
  }
  100% {
    background-position: 100% 0;
  }
}

@keyframes glow {
  0% {
    text-shadow: 0 0 2px #fff, 0 0 4px #dce0b0;
  }
  100% {
    text-shadow: 0 0 10px #fff, 0 0 20px #dce0b0;
  }
}
