/*****************************************************************************************************
 /$$      /$$ /$$      /$$       /$$$$$$$   /$$$$$$  /$$   /$$ /$$   /$$ /$$$$$$$$ /$$$$$$$   /$$$$$$
| $$  /$ | $$| $$  /$ | $$      | $$__  $$ /$$__  $$| $$$ | $$| $$$ | $$| $$_____/| $$__  $$ /$$__  $$
| $$ /$$$| $$| $$ /$$$| $$      | $$  \ $$| $$  \ $$| $$$$| $$| $$$$| $$| $$      | $$  \ $$| $$  \__/
| $$/$$ $$ $$| $$/$$ $$ $$      | $$$$$$$ | $$$$$$$$| $$ $$ $$| $$ $$ $$| $$$$$   | $$$$$$$/|  $$$$$$
| $$$$_  $$$$| $$$$_  $$$$      | $$__  $$| $$__  $$| $$  $$$$| $$  $$$$| $$__/   | $$__  $$ \____  $$
| $$$/ \  $$$| $$$/ \  $$$      | $$  \ $$| $$  | $$| $$\  $$$| $$\  $$$| $$      | $$  \ $$ /$$  \ $$
| $$/   \  $$| $$/   \  $$      | $$$$$$$/| $$  | $$| $$ \  $$| $$ \  $$| $$$$$$$$| $$  | $$|  $$$$$$/
|__/     \__/|__/     \__/      |_______/ |__/  |__/|__/  \__/|__/  \__/|________/|__/  |__/ \______/
*****************************************************************************************************/
.banner-container
{
	overflow: hidden;
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 2000px;
	height: 0;
	padding-top: 41.5%;
	/* 778 41.6 */
}

.banner-container .swiper-wrapper
{
	position: absolute;
	top: 0;
	left: 0;
}

.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.46);
}

.banner-container .banner-image > div:first-of-type
{
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: cover;
	height: 100%;
}

/* Banner Text */
.banner-container .banner-caption-container
{
	position: absolute;
	z-index: 15;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: flex-start;
	text-align: left;
	height: 100%;
	max-height: 607px;
    width: 90%;
    max-width: 1200px;
}

/* 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;
	font-family: prima_sans_bt_roman;
	font-size: 48pt;
	font-weight: normal;
	color: #ffffff;
	text-shadow: 0 0 5px rgba(0,0,0,0.5);
	margin: 0 0 5px 0;
	line-height: 1;
	opacity: 0;
	transition: all 200ms;
	animation: fadein ease-in 1;
	animation-fill-mode: forwards;
	animation-duration: 1s;
	animation-delay: 300ms;
}

.banner-container .banner-caption-container .banner-caption .caption_bold
{
	font-family: prima_sans_bt_bold;
}

.banner-container .banner-caption-container .banner-description
{
	display:  inline-block;
	position: relative;
	z-index: 15;
	font-family: prima_sans_bt_roman;
	font-size: 38pt;
	font-weight: normal;
	color: #ffffff;
	margin: 0;
	line-height: 1;
	opacity: 0;
	transition: all 200ms;
	animation: fadein ease-in 1;
	animation-fill-mode: forwards;
	animation-duration: 1s;
	animation-delay: 600ms;
}

.banner-container .banner-caption-container .banner-description .caption_bold
{
	font-family: prima_sans_bt_bold;
}

.banner-container .banner-caption-container .banner-link a:link,
.banner-container .banner-caption-container .banner-link a:visited
{
	display: inline-block;
	position: relative;
	z-index: 15;
    font-family: 'SourceSans3_semibold', sans-serif;
	font-size: 16pt;
	font-weight: normal;
	color: #ffffff;
	margin: 30px 0 0 0;
	opacity: 0;
	transition: all 200ms;
	background-color: #88211b;
	text-decoration: none;
	transition: all 200ms;
	padding: 5px 15px;
	animation: fadein ease-in 1;
	animation-fill-mode: forwards;
	animation-duration: 1s;
	animation-delay: 900ms;
}

.banner-container .banner-caption-container .banner-link a:link::after,
.banner-container .banner-caption-container .banner-link a:visited::after
{
	content: '\f061';
	position: absolute;
	right: -33px;
	top: 0;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-family: font_awesome;
	font-size: 10pt;
	background-color: #88211b;
	width: 33px;
	height: 40px;
	color: #ffffff;
	border-left: 1px solid #000000;
	transition: all 0.2s;
}

.banner-container .banner-caption-container .banner-link a:hover,
.banner-container .banner-caption-container .banner-link a:hover::after
{
		background-color: #A52821;
}

.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;
}

/* Video Background */
.banner-container video
{
	position: absolute;
	left: 0;
	right: 0;
	z-index: 1;
	margin: 0 auto;
	height: 100%;
	width: 100%;
	object-fit: cover;
}

/* 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: flex-end;
	max-width: 1200px;
}

.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-right: 18px;
	transition: all 200ms;
	border-radius: 0;
}

.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: #88211b;
	opacity: 1;
}

.banner-container .banner-controls.banner-pagination .swiper-pagination-bullet-active:hover
{
	background: #A52821;
	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:991px)
{
	.banner-container .banner-image-container .banner-image > div:first-of-type
	{
		background-size: cover !important;
	}

	.banner-container .banner-caption-container
	{
		align-items: center;
	}

	.banner-container .banner-caption-container .banner-caption
	{
		font-size: 40pt;
	}

	.banner-container .banner-caption-container .banner-description
	{
		font-size: 20pt;
	}

	.banner-container .banner-caption-container .banner-link a:link,
	.banner-container .banner-caption-container .banner-link a:visited,
	.banner-container .banner-caption-container .banner-link a:hover,
	.banner-container .banner-caption-container .banner-link a:active
	{
		font-size: 11pt;
	}
	.banner-container .banner-caption-container .banner-link a:link::after
	{
		height: 30px;
	}

	.banner-container .banner-controls.banner-pagination
	{
		justify-content: center;
	}

	.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 screen and (max-width: 576px)
{
	.banner-container .banner-caption-container
	{
		text-align: center;
	}
	.banner-container .banner-caption-container .banner-caption
	{
		font-size: 25pt;
	}

}