
/*-------------------------------------------------------------------------------------
GENERAL-------------------------------------------------------------------------*/
.visually-hidden {
  border: 0 none;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  height: 1px;
  left: 99999px;
  overflow: hidden;
  padding: 0;
  position: fixed;
  white-space: nowrap;
  width: 1px;
}
/*-------------------------------------------------------------------------------------

HERO GENERAL-------------------------------------------------------------------------*/
.hero-outer-wrapper {
   background: #252525;
   min-height: 40vh;
   position: relative;
   display: flex;
}

/*IE + edge*/
.hero-outer-wrapper.ie-edge {
    min-height: 0;
}

/*-------------------------------------------------------------------------------------
HERO IMAGE & VIDEO BACKGROUNDS-------------------------------------------------------*/

.hero-image-wrapper {
  align-items: flex-end;
  flex-direction: row;
  display: flex;
  flex: 1 0 100%;
  overflow: hidden;
}

.hero-video-wrapper {
  position: relative;
  display: flex;
  flex: 1 0 100%;
  align-items: flex-end;
  flex-direction: row;
  overflow: hidden;
}

/*base video style - works in chrome n firefox*/
.hero-video-wrapper video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  object-fit: cover;
}

/*IE + edge*/
.hero-video-wrapper.ie-edge, .hero-image-wrapper.ie-edge {
    height:500px;
}

.hero-video-wrapper.ie-edge video {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

/*-------------------------------------------------------------------------------------
HERO GENERAL-------------------------------------------------------------------------*/
.startPageCarousel .hero-outer-wrapper {
   background: #252525;
   min-height: 52vh;
   position: relative;
   display: flex;
}

/*IE + edge*/
.startPageCarousel .hero-outer-wrapper.ie-edge {
    min-height: 0;
}

/*-------------------------------------------------------------------------------------
HERO IMAGE & VIDEO BACKGROUNDS-------------------------------------------------------*/

.startPageCarousel .hero-image-wrapper {
  align-items: flex-end;
  flex-direction: row;
  display: flex;
  overflow: visible;
}

.startPageCarousel .hero-video-wrapper {
  position: relative;
  display: flex;
  flex: 1 0 100%;
  align-items: flex-end;
  flex-direction: row;
  overflow: hidden;
}

/*base video style - works in chrome n firefox*/
.startPageCarousel .hero-video-wrapper video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  object-fit: cover;
}

/*IE + edge*/
.startPageCarousel .hero-video-wrapper.ie-edge, .startPageCarousel .hero-image-wrapper.ie-edge {
    height: 52vh;
}

.startPageCarousel .hero-video-wrapper.ie-edge video {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

/*-------------------------------------------------------------------------------------
HERO GENERAL - text styles-----------------------------------------------------------*/
.text-outer-wrapper {
 position: relative;
 z-index: 0;
 max-width: 100vw;
 background: rgba(0, 0, 0, 0.4);
 width: 100%;
}

.startPageCarousel .text-outer-wrapper {
    width: auto;
}

.text-inner-wrapper {
  padding: 1.5rem 75px 1.5rem 75px;
  color: #fff;
  position: relative;
  text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.3);
  min-height: 140px;
  width: 80%;
}

.startPageCarousel .text-inner-wrapper {
    padding: 1.5rem 75px 1.5rem 75px;
}

.startPageCarousel .text-inner-wrapper {
    width: auto;
}

.slick-container {
  margin: 0 auto;
  width: 100%;
  max-width: 1170px;
}

.slick-container a:focus {
    outline: 2px solid white;
    outline-offset: 2px;
}

.text-inner-wrapper h3 {
  font-size: 32px;
  font-weight: normal;
  margin: 0;
	font-family: Georgia, sans-serif;
}

.text-inner-wrapper p {
  margin: 1rem 0 .5rem;
  letter-spacing: .2pt;
  font-size: 18px;
  font-family: Verdana, sans-serif;
  display: block;
  max-width: 100%;
}

.text-inner-wrapper a {
  color: #fff;
  letter-spacing: .2pt;
  font-size: 18px;
  font-family: Verdana, sans-serif;

}

/*IE + edge*/
.text-outer-wrapper.ie-edge {
    position:absolute;
    bottom:0px;
}

/*-------------------------------------------------------------------------------------
SLICK OVERRIDES----------------------------------------------------------------------*/
.slick {visibility: hidden;}
.slick.slick-initialized {visibility: visible;}
.slick.slick-slider {bottom: 0;  left: 0;  right: 0;  top: 0;  width: 100%;  z-index: 0;}
.slick .slick-list, .slick .slick-track {height: 100%;}
.slick .slick-track {  display: flex;  flex-direction: row;}
.slick .slick-slide > div > div, .slick .slick-slide > div {display: flex !important;  position: relative;}
.slick.slick-slider, .slick .slick-slide > div { margin: 0;}

/*Slick arrows */
.slick-prev, .slick-next {width:60px; height:60px; border:none;position:absolute; z-index:1; }
.slick-prev {left:10px;} 
.slick-next {right:10px;}
.startPageCarousel .slick-next {right:20px;}
.slick-prev:before, .slick-next:before { opacity:1; background-size: contain; background-repeat: no-repeat; background-position: center center;}
.slick-prev:before {background-image: url('arrow_left.png');}
.slick-next:before {background-image: url('arrow_right.png');}

.slick-prev::before, .slick-next::before {
	font-family: sans-serif;
	color: transparent;
  font-size: 40px;
}


.hide {display:none; }


/*-------------------------------------------------------------------------------------
MEDIA QUERIES----------------------------------------------------------------------*/
@media only screen and (max-width: 768px) {

  .text-inner-wrapper {
    padding: 1rem 55px;
  }

  .text-inner-wrapper .hero-title {
    font-size: 24px;
  }

  .text-inner-wrapper p {
    margin: .5rem 0;
    letter-spacing: 0;
    font-size: 14px;
  }

  .text-inner-wrapper a {
    letter-spacing:0;
    font-size: 14px;
  }

  .slick-prev {left:5px;} .slick-next {right:5px;}
  .slick-prev, .slick-next {width:40px; height:40px;}
  .slick-prev::before, .slick-next::before {font-size: 30px;}

}

@media only screen and (max-width: 480px) {

  .text-inner-wrapper {
    padding: 1rem 55px;
    min-height: 80px;
  }

  .text-inner-wrapper .hero-title {
    font-size: 18px;
    line-height: 26px;
  }

  .text-inner-wrapper p {
    display: none;
  }

}
