/* =========================
  |
  | BASE Slick Slider CSS
  |
============================ */

/* Slider */
.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
		 -moz-user-select: none;
			-ms-user-select: none;
					user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
			touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
}

/* TURNED OFF TO TEST ACCESSIBILITY
/* .slick-list:focus {
	outline: none;
} */

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
		 -moz-transform: translate3d(0, 0, 0);
			-ms-transform: translate3d(0, 0, 0);
			 -o-transform: translate3d(0, 0, 0);
					transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.slick-track:before,
.slick-track:after {
	display: table;
	content: '';
}

.slick-track:after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
    display: none;
	float: left;
	height: 100%;
	min-height: 1px;
}

[dir='rtl'] .slick-slide {
	float: right;
}

.slick-slide img {
	display: block;
}

.slick-slide.slick-loading img {
	display: none;
}

.slick-slide.dragging img {
	pointer-events: none;
}

.slick-initialized .slick-slide {
	display: block;
}

.slick-loading .slick-slide {
	visibility: hidden;
}

.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
	display: none;
}














/* ===================================
  |
  | Main Slider: Homepage
  |
====================================== */
.main-slider .slick-slide, 
.main-slider .slick-slide::before, 
.main-slider .caption {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.main-slider .slick-slide::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main-slider {
  position: relative;
  width: 100%;
  height: 65vw;
  min-height: 10vw;
  opacity: 0;
  visibility: hidden;
  transition: all 1.2s ease;
}
@media screen and (min-width: 640px) {
	.main-slider {
		height: 40vw;
	}
}
.main-slider.slick-initialized {
  opacity: 1;
  visibility: visible;
}

/* this makes it so a link can be applied to the slide */
.main-slider a {
	position:absolute;
	width:100%;
	height:100%;
	z-index: 1;
}

.main-slider .slick-slide {
  position: relative;
  height: 65vw;
}
@media screen and (min-width: 640px) {
	.main-slider .slick-slide {
		height: 40vw;
	}
}
.main-slider .slick-slide::before {
  background-color: #000;
  opacity: 0.2;
  z-index: 1;
}
.main-slider .slick-slide video {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.main-slider .slick-slide iframe {
  /*position: relative;*/
  pointer-events: none;
}
.main-slider .slick-slide figure {
	display: flex;
	align-items: center;
	justify-content:flex-start;
	flex-grow: 1;
  position: relative;
  height: 100%;
}

.main-slider .slick-slide.item {
	display: flex;
	align-items: center;
	justify-content:flex-start
}

.main-slider .slick-slide .slide-image {
  opacity: 0;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: all 0.8s ease;
	flex-grow: 1;
}
.main-slider .slick-slide .slide-image.show {
  opacity: 1;
}
.main-slider .slick-slide .image-entity {
  width: 100%;
  opacity: 0;
  visibility: hidden;
	flex-grow: 1;
	
}
.main-slider .slick-slide .loading {
  position: absolute;
  top: 44%;
  left: 0;
  width: 100%;
}
.main-slider .slick-slide .slide-media {
  -webkit-animation: slideOut 0.4s cubic-bezier(0.4, 0.29, 0.01, 1);
          animation: slideOut 0.4s cubic-bezier(0.4, 0.29, 0.01, 1);
}
.main-slider .slick-slide.slick-active {
  z-index: 1;
}
.main-slider .slick-slide.slick-active .slide-media {
  -webkit-animation: slideIn 2.4s cubic-bezier(0.4, 0.29, 0.01, 1);
          animation: slideIn 2.4s cubic-bezier(0.4, 0.29, 0.01, 1);
}
.main-slider .slick-slide.slick-active .caption {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  transition: all 0.7s cubic-bezier(0.32, 0.34, 0, 1.62) 0.6s;
}

.main-slider .caption {
	position: absolute;
	bottom: auto;
	left:18%;
	width:65%;
	text-align: left;
	/*padding: 5px 10px;*/
	/*background-color:#000;*/
	color: #fff;
	margin: 0;
	opacity: 0;
	z-index: 10;
	transition: all 0.3s ease;
	-webkit-transform: translateY(100px);
					transform: translateY(100px);
}
@media screen and (min-width: 640px) {
	.main-slider .caption {
		position: absolute;
		bottom:auto;
		left:10%;
		width:45%;
		text-align: left;
		padding: 0px;
		background-color:transparent;
		border: none;
		color: #fff;
		margin: 0;
		opacity: 0;
		z-index: 1;
		transition: all 0.3s ease;
		-webkit-transform: translateY(100px);
						transform: translateY(100px);
	}
}


.main-slider .caption a {
	position:relative;
	width:auto;
	height:auto;
	z-index: auto;
}

.main-slider .caption .alignleft {
	display: inline;
	float: left;
	margin-right: 0em;
}

.main-slider .caption .alignright {
	display: inline;
	float: right;
	margin-left: 0em;
}




.main-slider .caption p.headline {
	font-family: 'RFRufo-BlackItalic';
	font-size: 22px;
	color:#fff;
	font-weight: bold;
	font-style:normal;
	line-height: 1;
	text-transform: uppercase;
	margin:.5rem 0;
}
@media screen and (min-width: 480px) {
	.main-slider .caption p.headline {
		font-size: 36px;
		letter-spacing:-1px;
	}
}
@media screen and (min-width: 640px) {
	.main-slider .caption p.headline {
		font-size: 36px;
	}
}
@media screen and (min-width: 767px) {
	.main-slider .caption p.headline {
		font-size: 50px;
	}
}
@media screen and (min-width: 1024px) {
	.main-slider .caption p.headline {
		font-size: 60px;
	}
}
@media screen and (min-width: 1280px) {
	.main-slider .caption p.headline {
		font-size: 70px;
	}
}
@media screen and (min-width: 1400px) {
	.main-slider .caption p.headline {
		font-size: 90px;
	}
}


.main-slider .caption p {
	font-size: 10px;
	line-height: 1.25;
	color:#fff;
}
@media screen and (min-width: 640px) {
	.main-slider .caption p {
		font-size: 15px;
		line-height: 1.25;
	}
}
@media screen and (min-width: 1280px) {
	.main-slider .caption p {
		font-size: 22px;
		line-height: 1.25;
	}
}

.main-slider .caption img {
	height: auto;
	width:auto;
	max-width: 50%;
}




/*.slick-dots {
  text-align: center;
  padding-top: 15px;
}
.slick-dots li {
  display: inline-block;
  vertical-align: top;
  margin: 0 8px;
}
.slick-dots li button {
  width: 16px;
  height: 16px;
  border: none;
  cursor: pointer;
  border-radius: 50%;
  border: 2px solid #fff;
  box-shadow: 0 0 0 0 transparent;
  vertical-align: middle;
  color: #fff;
  background-color: #fff;
  transition: all 0.3s ease;
  opacity: 0.4;
}
.slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover {
  opacity: 1;
}
.slick-dots li.slick-active button {
  border-color: #2d3042;
  box-shadow: 0 0 0 2px #fff;
  opacity: 1;
}*/

/* ORIG CODE conflicts with .container css in main stylesheet */
/*.container {
  background-color: #f2f2f2;
  color: #444;
  line-height: 1.6;
  padding: 40px 0;
}
.container .content {
  width: 90%;
  max-width: 980px;
  margin: 0 auto;
}
.container p {
  margin-bottom: 40px;
}*/

@-webkit-keyframes slideIn {
  from {
    -webkit-filter: blur(15px);
            filter: blur(15px);
  }
  to {
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}

@keyframes slideIn {
  from {
    -webkit-filter: blur(15px);
            filter: blur(15px);
  }
  to {
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@-webkit-keyframes slideOut {
  from {
    -webkit-filter: blur(0);
            filter: blur(0);
  }
  to {
    -webkit-filter: blur(15px);
            filter: blur(15px);
  }
}
@keyframes slideOut {
  from {
    -webkit-filter: blur(0);
            filter: blur(0);
  }
  to {
    -webkit-filter: blur(15px);
            filter: blur(15px);
  }
}

/* 
 * Arrows
*/
.main-slider .slick-next {right:25px;}
.main-slider .slick-prev {left:25px;z-index: 100;}

/* 
 * Dots
*/
.main-slider .slick-dots {
	position: absolute;
	bottom: -35px;
	display: block;
	width: 100%;
	padding: 0;
	padding-top: 0px;
	margin: 0;
	list-style: none;
	text-align: center;
}

.main-slider .slick-dots li {
  display: inline-block;
  vertical-align: top;
  margin: 0 5px;
}

.main-slider .slick-dots li button::before {
	font-family: 'slick';
	font-size: 20px;
	line-height: 20px;
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	content: '';
	text-align: center;
	opacity: .25;
	color: black;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.main-slider .slick-dots li button {
  width: 12px;
  height: 12px;
  /*border: none;*/
  cursor: pointer;
  border-radius: 50%;
  /*border: 2px solid #ccc;*/
  box-shadow: 0 0 0 0 transparent;
  vertical-align: middle;
  color: #fff;
  background-color: #ccc;
  transition: all 0.3s ease;
  opacity: 1;
}

.main-slider .slick-dots li button:focus {
  outline: none;
}

.main-slider .slick-dots li button:hover {
	/*border: 2px solid #bfd22b;*/
  opacity: 1;
	background-color: #bfd22b;
}
.main-slider .slick-dots li.slick-active button {
  /*border-color: #2d3042;
  box-shadow: 0 0 0 2px #fff;*/
	/*border: 2px solid #bfd22b;*/
  opacity: 1;
	background-color: #bfd22b;
}










/* ===================================
  |
  | CUSTOM: End-Use Portfolio Slider
  | Used on: Detail pages
  |
====================================== */
.custom-feature-slider {
  position: relative;
  width: 100%;
  height: 80vw;
  min-height: 30vw;
  /*margin-bottom: 50px;*/
  opacity: 0;
  visibility: hidden;
  transition: all 1.2s ease;
}

.custom-feature-slider .slick-slide {
  position: relative;
  height: 80vw;
}

.custom-feature-slider.slick-initialized {
  opacity: 1;
  visibility: visible;
}

.custom-feature-slider.slick-dotted.slick-slider {
  margin-bottom: 0px;
}

/* this makes it so a link can be applied to the slide */
.custom-feature-slider a {
	position:absolute;
	width:100%;
	height:100%;
	z-index: 1;
}

.custom-feature-slider .slick-slide::before {
  background-color: #000;
  opacity: 0.2;
  z-index: 1;
}
.custom-feature-slider .slick-slide figure {
  position: relative;
  height: 100%;
}
.custom-feature-slider .slick-slide .slide-image {
  opacity: 1;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: all 0.8s ease;
}
.custom-feature-slider .slick-slide .slide-image.show {
  opacity: 1;
}
.custom-feature-slider .slick-slide .image-entity {
  width: 100%;
  opacity: 0;
  visibility: hidden;
}
.custom-feature-slider .slick-slide .loading {
  position: absolute;
  top: 44%;
  left: 0;
  width: 100%;
}

/* 
 * Caption
*/
.custom-feature-slider .caption {
  position: absolute;
  bottom: 0;
  left: 0;
	width:100%;
	background-color: rgba(0,0,0,.5);
  padding: 10px 0px 35px 0px;
  border: none;
  margin: 0;
  opacity: 1;
  z-index: 1;
}

.custom-feature-slider .caption h3 {
	font-family:"RFRufo-SemiBold";
	font-size:32px;
	font-size:3.2rem;
  padding: 0;
  margin: .25em 0;
	color: #fff;
	text-transform: uppercase;
}


.custom-feature-slider a .caption h3 .fa-angle-right::before {
  content: "\f105";
	font-size: 20px;
	padding-bottom: 5px;
	vertical-align: middle;
}


.custom-feature-slider a .caption h3 {
	color: #bfd22b;
}

.custom-feature-slider a .caption h3:hover {
	color: #fff;
}

.custom-feature-slider .caption p {
  display:none;
}

/* 
 * Arrows
*/
.custom-feature-slider .slick-next {right:25px;}
.custom-feature-slider .slick-prev {left:25px;z-index: 100;}


/* 
 * Dots
*/
.custom-feature-slider .slick-dots {
	position: absolute;
	bottom: 0px;
	display: block;
	width: 100%;
	padding: 0;
	padding-top: 0px;
	margin: 0;
	list-style: none;
	text-align: center;
}

.custom-feature-slider .slick-dots li {
  display: inline-block;
  vertical-align: top;
  margin: 0 5px;
	height:27px;
}

.custom-feature-slider .slick-dots li button::before {
	font-family: 'slick';
	font-size: 20px;
	line-height: 20px;
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	content: '';
	text-align: center;
	opacity: .25;
	color: black;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.custom-feature-slider .slick-dots li button {
  width: 12px;
  height: 12px;
  cursor: pointer;
  border-radius: 50%;
  /*border: 2px solid #fff;*/
  box-shadow: 0 0 0 0 transparent;
  vertical-align: middle;
  color: #fff;
  background-color: #fff;
  transition: all 0.3s ease;
  opacity: 1;
}

.custom-feature-slider .slick-dots li button:focus {
  outline: none;
}

.custom-feature-slider .slick-dots li button:hover {
	/*border: 2px solid #bfd22b;*/
  opacity: 1;
	background-color: #bfd22b;
}
.custom-feature-slider .slick-dots li.slick-active button {
  /*border-color: #2d3042;
  box-shadow: 0 0 0 2px #fff;*/
	/*border: 2px solid #bfd22b;*/
  opacity: 1;
	background-color: #bfd22b;
}

@media screen and (min-width: 480px) {
	.custom-feature-slider {
		height: 60vw;
	}
	.custom-feature-slider .slick-slide {
		height: 60vw;
	}
}

@media screen and (min-width: 640px) {
	.custom-feature-slider {
		height: 60vw;
	}
	.custom-feature-slider .slick-slide {
		height: 60vw;
	}
	.custom-feature-slider .caption {
		padding: 20px 20px 55px 20px;
	}
	.custom-feature-slider .caption p {
		display:block;
		padding: 0;
		margin: 0;
		color: #fff;
		letter-spacing: 0.02em;
	}
	.custom-feature-slider .slick-dots {
		bottom: 5px;
	}
}

@media screen and (min-width: 768px) {
	.custom-feature-slider {
		height: 50vw;
	}
	.custom-feature-slider .slick-slide {
		height: 50vw;
	}
}

@media screen and (min-width: 990px) {
	.custom-feature-slider {
		height: 50vw;
	}
	.custom-feature-slider .slick-slide {
		height: 50vw;
	}
}

@media screen and (min-width: 1200px) {
	.custom-feature-slider {
		height: 40vw;
	}
	.custom-feature-slider .slick-slide {
		height: 40vw;
	}
}







/* ===================================
  |
  | CUSTOM: Product Guide App Slider
  | Used on: Product Guide App page
  |
====================================== */
.custom-app-slider .slides.slick-initialized.slick-slider.slick-dotted {
	padding-left:0;
}

.custom-app-slider .slick-prev::before, .custom-app-slider .slick-next::before {
	/* display:none; */
	color:#01698d;
}

@media screen and (min-width: 600px) {
	.custom-app-slider .slick-prev::before, .custom-app-slider .slick-next::before {
		color: 01698d;
	}
}

.custom-app-slider li {
	padding-left:10px;
	padding-right:10px;
}

.custom-app-slider li img {
	border:1px solid #ccc;
}

.custom-app-slider .slick-dotted.slick-slider {
    margin-bottom: 80px;
}
