.hero-container { visibility: hidden;  }
.slick-initialized { visibility: visible; }

.ctas-wrapper .hs-cta-wrapper { 
  display: inline-block; }
.ctas-wrapper .hs-cta-wrapper:not(:first-of-type) { 
  margin-left: 15px; }
@media (max-width: 600px) {
  .ctas-wrapper .hs-cta-wrapper {
    width: 100%;
    margin-left: 0 !important;
  }
}

/* .banner-image:after, .banner-video:after {
  content: '';
  display: block;
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  background: rgba(93,93,93,.76);
} */
/* changed banner-content max-width from 675px - 20210128 MEI */
.banner-content {
  /* max-width: 950px; */
  margin: 0 auto;
  text-align: center;
}

.banner-content.text-left {
  margin-left: 0;
}

.banner-video {
  position: relative;
  overflow: hidden;
}

.banner-video .page-center {
  position: relative;
  z-index: 2;
}

.banner-video video {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  object-fit: cover;
}

/* Optional - If client just wants image on mobile */
@media (max-width: 768px) {
  .banner-video video {
    display: none !important;
    .homepage .hero-1 h1 {
      font-size: 2rem;
    }
    .homepage .hero-1 h2 {
      font-size: 1rem;
    }
  }
}

/* IE Fix */
@supports (object-fit: cover) {
  .banner-video video {
    height:100%;
    display: block !important;
  }
}

/* Edge Fix, need for display: none video depends on height of video */
@supports (object-fit: cover) and (-ms-ime-align:auto) {
  .banner-video video {
    height:auto;
  }

  @media (max-width: 1150px) {
    .banner-video video {
      display: none !important;
    }
  }
}

/* Directional Arrow */
.dir-arrow {
  margin-top: 75px;
}
.dir-arrow a {
  -webkit-animation-name: bounce;
  -moz-animation-name: bounce;
  -o-animation-name: bounce;
  animation-name: bounce;
  -webkit-animation-fill-mode:both;
  -moz-animation-fill-mode:both;
  -ms-animation-fill-mode:both;
  -o-animation-fill-mode:both;
  animation-iteration-count: 4;
  -moz-animation-iteration-count: 4;
  -webkit-animation-iteration-count: 4;
  animation-fill-mode:both;
  -webkit-animation-duration:2s;
  -moz-animation-duration:2s;
  -ms-animation-duration:2s;
  -o-animation-duration:2s;
  animation-duration:2s;
}

@-webkit-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {-webkit-transform: translateY(0);}	40% {-webkit-transform: translateY(-30px);}
  60% {-webkit-transform: translateY(-15px);}
}
@-moz-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {-moz-transform: translateY(0);}
  40% {-moz-transform: translateY(-30px);}
  60% {-moz-transform: translateY(-15px);}
}
@-o-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {-o-transform: translateY(0);}
  40% {-o-transform: translateY(-30px);}
  60% {-o-transform: translateY(-15px);}
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
  40% {transform: translateY(-30px);}
  60% {transform: translateY(-15px);}
}

.hero-1.banner {
  padding: 170px 0 85px;
}

.hero-1 .lightbox-video {
  margin-bottom: 25px;
}

.hero-container.slick-initialized.slick-slider.slick-dotted {
    margin: 0;
}

.hero-container .slick-dots {
  bottom: 2rem; 
}



@media (min-width: 768px) {
  .homepage .hero-1 h1 {
    font-size: 4rem;
  }
  .homepage .hero-1 h2 {
    font-size: 2rem;
  }
}

.page-vertical-center {
  margin: 0;
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}