/* 
	csw-hero-carousel.css
	
	Version: [2018-01-16 18:30]
*/

.heroCarousel .swiper-container {
    width: 100%;
    display: block;
    position: relative;
}

.heroCarousel .swiper-slide {
    position: relative; 
	 /*height: auto;*/		/* makes the slide cover the full height */
	 overflow:hidden;
}

.heroCarousel .swiper-slide.swiper-slide-next {
    position: relative;
}

.heroCarousel .cswPhotoBox {
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
   padding-top: 35%;
}

.heroCarousel .cswSwiperFixedHeight .cswPhotoBox {
    padding: 0;
    height: 450px;
}



/* Pagination */
.heroCarousel .swiper-container-horizontal .swiper-pagination {
	bottom: 20px;
}

/* pagination alignment */
.heroCarousel .swiper-pagination.cswTextAlign-leftcenter {
    display: inline-block;
    left: 25%;
    transform: translateX(-50%);
}
.heroCarousel .swiper-pagination.cswTextAlign-rightcenter {
    display: inline-block;
    left: 75%;
    transform: translateX(-50%);
}

/* pagination bullets */
.heroCarousel .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
    box-shadow: 0 1px 0 rgba(0,0,0,.3);
    background: #ddd;
    opacity: 1;
}

.heroCarousel .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #000;
    box-shadow: 0 1px 0 rgba(255,255,255,.3);
}

/* pagination fraction */
.heroCarousel .swiper-pagination.swiper-pagination-fraction {
	color: white;
   text-shadow: 1px 1px #000;
	padding: 0 10px;
}

/* progress bar */
.heroCarousel .swiper-pagination-progressbar {
	background: rgba(255,255,255,.5);	
}
.heroCarousel .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	background: rgba(0,0,0,.5);
}

/* Title */
.heroCarousel .cswTitle {
	/* border: 1px solid transparent; */
	margin:0;
}

.heroCarousel .cswTitle a {
	display: inline-block;
	font-weight: 400;	
	line-height: 1.4em;
}
.heroCarousel h1.cswTitle a, 
.heroCarousel h2.cswTitle a, 
.heroCarousel h3.cswTitle a, 
.heroCarousel h4.cswTitle a, 
.heroCarousel h5.cswTitle a {
	font-size: inherit;
}


.heroCarousel .cswTitleBox {
	display: inline-block;
	/** border: 1px solid transparent; **/
}

.heroCarousel .cswDescription .cswDesc {

	padding: 20px;
	z-index: 2;	
}


.heroCarousel .cswDescWrapper {
	display: block;
}


/* TOP */
.heroCarousel .cswTextAlignTopLeft {
	top: 20px;
   left: 50px;
	bottom: auto;
	position: absolute;
	max-width: 50%;
	text-align: left;
}

.heroCarousel .cswTextAlignTopCenter {
	position: absolute;
	right: 50%;
	transform: translateX(50%);
	top: 20px;
}

.heroCarousel .cswTextAlignTopRight {
	top: 20px;
	right: 50px;
	position: absolute;
	max-width: 50%;
	text-align: right;
}

/* Bottom */
.heroCarousel .cswTextAlignBottomLeft {
	left: 50px;
	bottom: 40px;
	top: auto;
	position: absolute;
	max-width: 50%;
	text-align: left;
}

.heroCarousel .cswTextAlignBottomCenter {
	bottom: 40px;
	top: auto;
	left: 50%;
	transform: translateX(-50%);
	position: absolute;
	max-width: 50%;
	text-align: center;
}

.heroCarousel .cswTextAlignBottomRight {
	bottom: 40px;
	top: auto;
	right: 50px;
	position: absolute;
	max-width: 50%;
	text-align: right;
}

/* Middle */
.heroCarousel .cswTextAlignMiddleLeft {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%);
	max-width: 50%;
	left: 50px;
	text-align: left;
}

.heroCarousel .cswTextAlignMiddleCenter {
	position: absolute;
	top: 50%;
	left:50%;
	transform: translate(-50%,-50%);
	max-width: 50%;
	text-align: center;
}

.heroCarousel .cswTextAlignMiddleRight {
	position: absolute;
	top: 50%;
	right: 50px;
	transform: translateY(-50%);
	max-width: 50%;
	text-align: right;
}

.heroCarousel .cswHidden a {
	display:none;
}


/* Same Location for Both Title & Desc */
.heroCarousel .cswTextBox.cswTextAlignTopCenter,
.heroCarousel .cswTextBox.cswTextAlignMiddleCenter,
.heroCarousel .cswTextBox.cswTextAlignBottomCenter {
	text-align: center;
}


/* Link/Button */
.heroCarousel .cswLinkButton {
	padding: 10px 0 0 0;
}

/* remove padding around button */
.heroCarousel .cswLinkButton .cswBtnWrapper {
	margin: 0;
}


/* Nav */
.heroCarousel .swiper-button-next, 
.heroCarousel .swiper-button-prev {
    top: calc(50% - 44px);
    color: white; 
	 text-shadow: 0 1px 1px rgba(0,0,0,.5);
    background: none;
    font-size: 5em;
	 width: auto;
	 line-height: 1em;
	 margin: 0;
}

.heroCarousel .swiper-button-next:hover, 
.heroCarousel .swiper-button-prev:hover {
    text-shadow: 0 1px 0 rgba(0,0,0,.5);
}

@media (max-width: 991px) {
    .heroCarousel .cswPhotoBox {
        padding-top: 40%;
    }

    .heroCarousel .cswTitle a {
        font-size: 30px;
    }
}

.heroCarouselThumbs.swiper-thumbs { display: block; }
.heroCarouselThumbs.swiper-thumbs .cswPhotoBox { 
	height: 100px; 
	background-size: cover;
	cursor: pointer;
}

@media (min-width: 750px) {
	.heroCarousel .cswLinkButton {
		background-color: transparent;
	}
}

@media (max-width: 750px) {
   .heroCarousel .swiper-button-next, 
   .heroCarousel .swiper-button-prev {
        top: calc(20vw - 44px);
   }
	 
	.heroCarousel .swiper-thumbs { display: none; }
	 
	.heroCarousel.cswSwiperFixedHeight .swiper-button-next, 
	.heroCarousel.cswSwiperFixedHeight .swiper-button-prev { top:128px; }

   .heroCarousel .cswTextBox,
   .heroCarousel .cswTitleBox, 
   .heroCarousel .cswDescription {
        position: relative; 
        display: block;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto;
        transform: none;
        width: 100%;
        max-width: 100%;
   }

   .heroCarousel .swiper-slide {
        padding: 0;
   }

   .heroCarousel .cswPhotoBox {
        position: relative; 
        top: auto;
        bottom: auto;
        left: auto;
        right: auto;
        padding-top: 40%;
   }

   .heroCarousel.cswSwiperFixedHeight .cswPhotoBox {
        height: 300px;
   }

    .heroCarousel .cswTitleBox a {
        display: block;
   }

	
 	.heroCarousel .cswLinkButton {
		padding: 10px;
	 	position: static;
		max-width: 100%;
		width: 100%;
		transform: initial;		
	}
	
	.heroCarousel .cswLinkButton.cswDotsPadding {
		padding-bottom: 30px;
	}
	
	.heroCarousel .swiper-slide {
		padding-bottom: 35px;
	}
 	.heroCarousel .swiper-pagination.swiper-pagination-bullets,
	.heroCarousel .swiper-pagination.swiper-pagination-fraction {
	 	position: relative;
	 	display: block;
		padding: 10px 10px;
		top: -35px;
	 }	
}

@media (max-width: 568px) {
	.heroCarousel.swiper-container .swiper-slide {
		width: 100%;
	}

	.heroCarousel .cswPhotoBox {
		padding-top: 50%;
	}

	.heroCarousel .cswTitle,
	.heroCarousel .cswDescription {
		position: relative;
		margin: 0;
		top: auto;
		bottom: auto;
		left: auto;
		right: auto;
		width: 100%;
		display: block;
		transform: none;
		box-sizing: border-box;
		padding-left: .25em !important;
		padding-right: .25em !important;
	}

	.heroCarousel .cswTitle a {
		font-size: 28px;
		width: 100%;
		padding: 10px;
	}

	.heroCarousel .cswDescription {
		/*font-size: 18px;*/
		padding: 10px;
	}
	
}

@media (max-width: 476px) {
    .heroCarousel.cswSwiperFixedHeight .cswPhotoBox {
        height: 200px;
    }
	 
	 .heroCarousel.cswSwiperFixedHeight .swiper-button-next, 
	 .heroCarousel.cswSwiperFixedHeight .swiper-button-prev { top:64px; }	 
}

.heroCarousel .swiper-slide {
	background-color: white;
}


.heroCarousel .swiper-slide-active:not(.cswThumb) {
	opacity: 1 !important;
}

.heroCarousel .swiper-slide-next:not(.cswThumb),
.heroCarousel .swiper-slide-duplicate-next:not(.cswThumb), 
.heroCarousel .swiper-slide-prev:not(.cswThumb),
.heroCarousel .swiper-slide-duplicate-prev:not(.cswThumb) {
	opacity: 0 !important;
	transition: all 2s;
} 


