
/*****************************************************************************************************
 /$$      /$$ /$$      /$$       /$$$$$$$   /$$$$$$  /$$   /$$ /$$   /$$ /$$$$$$$$ /$$$$$$$   /$$$$$$
| $$  /$ | $$| $$  /$ | $$      | $$__  $$ /$$__  $$| $$$ | $$| $$$ | $$| $$_____/| $$__  $$ /$$__  $$
| $$ /$$$| $$| $$ /$$$| $$      | $$  \ $$| $$  \ $$| $$$$| $$| $$$$| $$| $$      | $$  \ $$| $$  \__/
| $$/$$ $$ $$| $$/$$ $$ $$      | $$$$$$$ | $$$$$$$$| $$ $$ $$| $$ $$ $$| $$$$$   | $$$$$$$/|  $$$$$$
| $$$$_  $$$$| $$$$_  $$$$      | $$__  $$| $$__  $$| $$  $$$$| $$  $$$$| $$__/   | $$__  $$ \____  $$
| $$$/ \  $$$| $$$/ \  $$$      | $$  \ $$| $$  | $$| $$\  $$$| $$\  $$$| $$      | $$  \ $$ /$$  \ $$
| $$/   \  $$| $$/   \  $$      | $$$$$$$/| $$  | $$| $$ \  $$| $$ \  $$| $$$$$$$$| $$  | $$|  $$$$$$/
|__/     \__/|__/     \__/      |_______/ |__/  |__/|__/  \__/|__/  \__/|________/|__/  |__/ \______/
*****************************************************************************************************/
.banner-container
{
	overflow: hidden;
	position: relative;
	/* margin:  -60px auto 0 auto; */
	width: 100%;
	max-width: 2000px;

}

.banner-container::after
{
	content: '';
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	right: 0;
	display: block;
	width: 100%;
	height: 60px;
	background: linear-gradient(rgba(0,0,0,0.70), transparent);
}

@media screen and (max-width:991px)
{
	.banner-container
	{
		min-height: 400px;
		max-height: calc(100vw * 0.7);
	}
}

.banner-container .banner-image
{
	position: relative;
	height: 100%;
}

/* Optional Dark Overlay */
/* .banner-container .banner-image::after
{
	content: '';
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	right: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.4);
} */

.banner-container .banner-image > div:first-of-type
{
	background-position: bottom center;
	height: 100%;
}

/* Banner Text */
.banner-container .banner-caption-container
{
	position: absolute;
	z-index: 15;
	top: 85px;
	left: 0;
	right: 0;
	margin: 0 auto;
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: center;
	text-align: center;
	height: 100%;
}

/* Dark Radial-Gradient behind the caption container to make it easier to read text. */
.banner-container .banner-caption-container::before
{
	content: '';
	position: absolute;
	z-index: 10;
	display: block;
	width: 100%;
	height: 100%;
	background: radial-gradient(rgba(0,0,0,0.2) 0%, transparent 50%);
}

.banner-container .banner-caption-container .banner-caption
{
	display:  inline-block;
	position: relative;
	z-index: 15;
	opacity: 0;
	transition: all 200ms;
	animation: fadein ease-in 1;
	animation-fill-mode: forwards;
	animation-duration: 1s;
	animation-delay: 300ms;

	font-family: 'Montserrat-Bold', Arial, sans-serif;
	font-size: 54pt;
	line-height: 1;
	color: #ffffff;
	font-style: normal !important;
	padding: 0;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6);
	text-align: center;
}

.banner-container .banner-caption-container .banner-description
{
	display:  inline-block;
	position: relative;
	z-index: 15;
	opacity: 0;
	transition: all 200ms;
	animation: fadein ease-in 1;
	animation-fill-mode: forwards;
	animation-duration: 1s;
	animation-delay: 600ms;

	font-family: 'Montserrat-Bold', Arial, sans-serif;
	font-size: 54pt;
	line-height: 1;
	color: #ffffff;
	font-style: normal !important;
	padding: 0;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6);
	text-align: center;
}

.banner-container .banner-caption-container .banner-link a:link,
.banner-container .banner-caption-container .banner-link a:visited
{
	display: inline-block;
	position: relative;
	top: 15px;
	z-index: 15;
	opacity: 0;
	transition: all 200ms;
	animation: fadein ease-in 1;
	animation-fill-mode: forwards;
	animation-duration: 1s;
	animation-delay: 900ms;

	font-family: 'Montserrat', Arial, sans-serif;
	font-size: 11.25pt;
	letter-spacing: 0.04em;
	font-weight: normal;
	font-style: normal !important;
	color: #ffffff !important;
	text-decoration: none !important;
	background-color: #161616;
	text-transform: uppercase;
	padding: 12px 44px;
	cursor: pointer;
	white-space: nowrap;
	-webkit-tap-highlight-color: rgba(255,255,255,0);

}

.banner-container .banner-caption-container .banner-link a:hover
{
	background-color: #343434;
	color: #ffffff !important;
}

.banner-container .banner-caption-container .banner-link a:active
{
	transform: 	translate(0,2px)
				scale(0.99, 0.99);
	box-shadow: inset 0 0 5px rgba(0,0,0,0.5);
}

/* Banner image */
.banner-container .banner-image-container > div:first-of-type
{
	width: 100%;
	height: 100%;
	margin: 0 auto;
	transition: all 200ms;
}

/* Banner Pagination */
.banner-container .banner-controls.banner-pagination
{
	position: absolute;
	z-index: 10;
	bottom: 10px;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: center;
}

.banner-container .banner-controls.banner-pagination .swiper-pagination-bullet
{
	width: 12px;
	height: 12px;
	background: #ffffff;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.8));
	opacity: 0.8;
	margin-left: 9px;
	margin-right: 9px;
	transition: all 200ms;
}

.banner-container .banner-controls.banner-pagination .swiper-pagination-bullet:hover
{
	opacity: 1;
}

.banner-container .banner-controls.banner-pagination .swiper-pagination-bullet:last-of-type
{
	margin-right: 0;
}

.banner-container .banner-controls.banner-pagination .swiper-pagination-bullet-active
{
	background: #00bce4;
	opacity: 1;
}

.banner-container .banner-controls.banner-pagination .swiper-pagination-bullet-active:hover
{
	background: #00ccf4;
	opacity: 1;
}

/* Prevous and Next Buttons */
.banner-container .banner-controls.banner-button
{
	position: absolute;
	z-index: 10;
	top: 0;
	bottom: 0;
	margin-top: auto;
	margin-bottom: auto;
	display: block;
	width: 60px;
	height: 60px;
}

.banner-container .banner-controls.banner-button.previous
{
	left: 15px;
}

.banner-container .banner-controls.banner-button.next
{
	right: 15px;
}

.banner-container .banner-controls.banner-button::before
{
	position: relative;
	width: 60px;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 40px;
	background-color: #ffffff;
	opacity: 0;
	border: 2px solid #E5E5E5;
	border-radius: 50%;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.5));
	transition: all 200ms;
}

.banner-container .banner-controls.swiper-button-disabled
{
	display: none;
}

.banner-container:hover .banner-controls.banner-button::before
{
	opacity: 0.15;
}

.banner-container .banner-controls.banner-button:hover::before
{
	opacity: 0.6;
}

.banner-container .banner-controls.banner-button:active::before
{
	opacity: 0.8;
}

.banner-container .banner-controls.banner-button.previous::before
{
	content: '\276E';
	margin-left: -5px;
}

.banner-container .banner-controls.banner-button.next::before
{
	content: '\276F';
	margin-right: -5px;
}

@media screen and (max-width: 1200px)
{
	.banner-container .banner-caption-container
	{
		top: 0;
	}
}

@media screen and (max-width:991px)
{

	.banner-container .banner-image-container .banner-image > div:first-of-type
	{
		background-size: cover !important;
	}

	.banner-container .banner-caption-container .banner-caption
	{
		font-size: 40pt;
	}

	.banner-container .banner-caption-container .banner-description
	{
		font-size: 40pt;
	}


	.banner-container .banner-controls.banner-button.previous
	{
		left: 0;
	}

	.banner-container .banner-controls.banner-button.next
	{
		right: 0;
	}

	.banner-container .banner-controls.banner-button.previous:hover
	{
		background: linear-gradient(to right, rgba(0,0,0,0.3), transparent);
	}

	.banner-container .banner-controls.banner-button.next:hover
	{
		background: linear-gradient(to left, rgba(0,0,0,0.3), transparent);
	}

	.banner-container .banner-controls.banner-button
	{
		width: 80px;
		height: 100%;
		outline: none;
	}

	.banner-container .banner-controls.banner-button::before
	{
		position: relative;
		width: 80px;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 40px;
		background-color: transparent;
		color: #ffffff;
		opacity: 0;
		border: none;
		border-radius: 0;
		filter: drop-shadow(0 0 5px rgba(0,0,0,0.5));
	}
}

@media only screen and (max-width: 480px)
{
	.banner-container .banner-caption-container .banner-caption
	{
		font-size: 30pt;
	}

	.banner-container .banner-caption-container .banner-description
	{
		font-size: 30pt;
	}

}