/* reveal */
.reveal {
  position: relative;
  transform: translateY(150px);
  opacity: 0;
  transition: 1.5s all ease;
}


.reveal.active {
  transform: translateY(0);
  opacity: 1;
}


/* fade in out */
.fade-in-out-keynote {
  opacity: 0;
  animation: fade-in-out-keynote 5s linear forwards;
}


@keyframes fade-in-out-keynote {
  30% {
    opacity: 1;
  }


  70% {
    opacity: 1;
  }


  100% {
    opacity: 0;
  }
}


/* shine */
.shine {
  position: relative;
  overflow: hidden;
}


.shine::before {
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.3) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  content: "";
  display: block;
  height: 100%;
  left: -75%;
  position: absolute;
  top: 0;
  transform: skewX(-25deg);
  width: 50%;
  z-index: 2;
  animation: shine 2s ease-in-out infinite;
}


@keyframes shine {
  0% {
    left: -75%;
  }
  100% {
    left: 125%;
  }
}




