.intro {
  position: relative;
  height: 90vh;
  background-color: #000;
  color: #fff;
  
  .visual {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    &::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: radial-gradient(rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0.5));
    }
  }
  
  .bg-img {
    will-change: transform filter;
    filter: brightness(50%);
  }
}

.title {
  position: relative;
}

.bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

footer {
  height: 50vh;
  background-color: darken(#4ea59f, 30%);
  color: #fff;
}

.slide-container {
  height: 100vh;
  position: relative;
  overflow: hidden;
}

.intro, .slide, footer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.slide {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
  color: #fff;
  will-change: transform;
  
//   &.slide-odd {
//     background-color: hotpink;
//   }

//   &.slide-even {
//     background-color: #4ea59f;
//   }
  
  &::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.25));
  }
  
  .bg-img {
    width: 120%;
    height: 120%;
    left: -10%;
  }
}

.slide-title {
  position: relative;
}

.slide-progress {
  position: absolute;
  top: 20px;
  left: 20px;
  right: 20px;
  height: 4px;
  background-color: rgba(255, 255, 255, 0.25);
}

.progress-thumb {
  display: block;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.5);
  transform: scaleX(0);
  transform-origin: left;
}