.main-banner, .hero-slide {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.hero-slide-container {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.5s ease;
}
.hero-slide {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  padding-left: 150px;
  padding-right: 50px;
  transition: 0.5s ease;
}
.background-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
  background-color: blue;
  transition: 0.5s ease;
}

.slide-content {
  width: 50%;
  position: absolute;
  bottom: 190px;
  left: 150px;
}

.slide-trigger-container {
  position: absolute;
  top: 50%;
  right: 200px;
  transition: right 0.5s ease;
  transition-delay: 0.8s;
}
.slide-trigger {
  padding: 0px;
  transform: translate(50%, -50%);
  border: 1px solid rgba(255, 255, 255, 0);
  border-radius: 5px;
  width: fit-content;
  transition: padding 0.5s ease;
  cursor: pointer;
  -webkit-transition: all 500ms ease-in-out;
  -moz-transition: all 500ms ease-in-out;
  -ms-transition: all 500ms ease-in-out;
  -o-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
}
.slide-trigger:hover {
  padding: 10px 8px;
  border: 1px solid rgba(255, 255, 255, 0.5);
}
.slide-trigger-inner {
  width: 200px;
  height: 240px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border-radius: 5px;
}

.slide-trigger-inner img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 240px !important;
  object-fit: cover;
  transition: height 0.5s ease;
}
.slide-trigger-inner img:hover {
  height: 260px !important;
}

.little-arrow {
 color: #fff;
  z-index: 10;
  font-size: 28px;
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  -ms-transition: all 300ms ease-in-out;
  -o-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}

.slide-trigger:hover .little-arrow {
  -moz-transform: translateX(10px);
  -webkit-transform: translateX(10px);
  -o-transform: translateX(10px);
  -ms-transform: translateX(10px);
  transform: translateX(10px);  
}

{# Light up animation #}
.slide-trigger-inner::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 1;
  transition: opacity 0.2s;
  pointer-events: none;
  z-index: 10;
}
.slide-trigger-inner:hover::before {
  opacity: 0;
}


.banner-bottom-row {
  position: absolute;
  bottom: 100px;
  left: 150px;
  right: 50px;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
}
.slide-cta {
  padding: 0 20px;
  height: 56px;
  width: fit-content;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  font: 500 16px sans-serif;
  border-radius: 0px;
  transition: 0.3s ease;
}

.slide-cta:hover {
  border-radius: 28px;
}
.cta-icon {
  margin-left: 10px;
  width: 15px;
  height: 15px;
  position: relative;
}
.cta-icon span {
  display: flex;
}
.slide-numbers {
  display: flex;
  flex-wrap: nowrap;
  flex: 1;
  justify-content: right;
  font: 500 20px sans-serif;
}
.slide-number {
  position: relative;
  height: 56px;
  width: 56px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  cursor: pointer;
}
.active-number {
  opacity: 1;
}
.inactive-number {
  opacity: 0.6;
}

    
{# Slide/transition animations AND active/inactive slide states #}
.active-slide {
  pointer-events: all;
}
.inactive-slide {
  pointer-events: none;
}
.active-slide .background-video {
  transform: scale(1);
  transition-delay: 0.8s;
}
.inactive-slide .background-video {
  transform: scale(1.1) ;
  transition-delay: 0s;
}
.active-slide .hero-slide {
  opacity: 1;
}
.inactive-slide .hero-slide {
  opacity: 0;
}
.inactive-slide .slide-trigger-container {
  position: absolute;
  right: -240px;
  transition-delay: 0s;
}

.slide-paragraph-con,
.slide-headline-con {overflow: hidden;}

.slide-paragraph-con p,
.slide-headline-con h1 {
 color: #fff; 
}

.slide-paragraph-con p {
 margin-bottom: 0; 
}

.hero-slide-container.active-slide .slide-paragraph-con p {
    transform: translateY(0);
    transition: transform .3s 0.5s ease-in-out
}

.hero-slide-container.active-slide .slide-content p,
.hero-slide-container.active-slide .slide-content h1 {
    transform: translateY(0);
    transition: transform .3s 0.5s ease-in-out;
}

.hero-slide-container:not(.active-slide,.inactive-slide) .slide-content p,
.hero-slide-container:not(.active-slide,.inactive-slide) .slide-content h1 {
    opacity: 0
}

.hero-slide-container.active-slide .slide-content p,
.hero-slide-container.active-slide .slide-content h1 {
    animation: collapse-y-in .3s ease-in-out 0.5s both;
}

.hero-slide-container.inactive-slide .slide-content p,
.hero-slide-container.inactive-slide .slide-content h1 {
    animation: slide-top-out .3s ease-in-out 0.5s both;
}

.banner-bottom-row a {
    clip-path: polygon(0 0,0 0,0 100%,0 100%);
    transform-origin: center left;
    transition-duration: .5s;
}

.hero-slide-container.active-slide .banner-bottom-row a {
  clip-path: polygon(-4px -4px,calc(100% + 4px) -4px,calc(100% + 4px) calc(100% + 4px),-4px calc(100% + 4px));
  transform: translate(0);
  
}

.banner-bottom-row a {
    transition: clip-path .3s 1s,transform .3s 1s
}

.hero-slide-container.active-slide .banner-bottom-row a {
    transform: translateY(0);
    transition: clip-path .3s 1.3s 1s,transform .3s 1.3s 1s
}

@media (max-width: 992px) {
  .slide-trigger-container {display: none;}
  .slide-content {
    position: static;
    width: 100%;
  }
  .banner-bottom-row {
    position: static;
  }
  .slide-numbers {
    position: absolute;
    bottom: 0px;
    width: 100%;
    left: 0;
    justify-content: center;
  }
  .slide-cta {
   margin-top: 25px; 
  }
  .hero-slide {
    padding-left: 25px;
    padding-right: 25px;
  }
}

@keyframes collapse-y-in {
    0% {
        transform: translateY(100%)
    }

    to {
        transform: translateY(0)
    }
}

@keyframes slide-top-out {
    to {
        transform: translateY(-50%);
        opacity: 0;
    }
}
