/*****************************************************************************************************
 /$$      /$$ /$$      /$$       /$$$$$$$   /$$$$$$  /$$   /$$ /$$   /$$ /$$$$$$$$ /$$$$$$$   /$$$$$$
| $$  /$ | $$| $$  /$ | $$      | $$__  $$ /$$__  $$| $$$ | $$| $$$ | $$| $$_____/| $$__  $$ /$$__  $$
| $$ /$$$| $$| $$ /$$$| $$      | $$  \ $$| $$  \ $$| $$$$| $$| $$$$| $$| $$      | $$  \ $$| $$  \__/
| $$/$$ $$ $$| $$/$$ $$ $$      | $$$$$$$ | $$$$$$$$| $$ $$ $$| $$ $$ $$| $$$$$   | $$$$$$$/|  $$$$$$
| $$$$_  $$$$| $$$$_  $$$$      | $$__  $$| $$__  $$| $$  $$$$| $$  $$$$| $$__/   | $$__  $$ \____  $$
| $$$/ \  $$$| $$$/ \  $$$      | $$  \ $$| $$  | $$| $$\  $$$| $$\  $$$| $$      | $$  \ $$ /$$  \ $$
| $$/   \  $$| $$/   \  $$      | $$$$$$$/| $$  | $$| $$ \  $$| $$ \  $$| $$$$$$$$| $$  | $$|  $$$$$$/
|__/     \__/|__/     \__/      |_______/ |__/  |__/|__/  \__/|__/  \__/|________/|__/  |__/ \______/
*****************************************************************************************************/
@keyframes fadein
{
    from
    {
    	opacity: 0;
    }

    to
    {
    	opacity: 1;
    }
}
@media screen and (min-width: 1201px)
{
	.fade-in
	{
		opacity: 0;
		animation: fadein ease-in 1;
		animation-fill-mode: forwards;
		animation-duration: 1s;
	}
}

/*
	Replace the default lazy loading animation
	------------------------------------------
*/
@keyframes skeleton-loading
{
	to
	{
		background-position-x: -200%;
	}
}

.banner-container .swiper-lazy-preloader
{
	top: 0 !important;
	left: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	transform: translateZ(0) !important;
	/* 	NOTE:
		First and last colours are overall background and should be the same, middle colour is the sliding line that goes across the screen,
		it should be a bit lighter than the main background colour
	*/
    background: linear-gradient(to right, #27292b 8%, #343538 18%, #27292b 33%);
    border-radius: 5px !important;
    background-size: 200% 100% !important;
    animation: 2000ms skeleton-loading linear infinite !important;
}

/* Hide the swiper spinner gif */
.banner-container .swiper-lazy-preloader::after
{
	display: none !important;
}
/*
	------------------------------------------
	Replace the default lazy loading animation
*/

.banner-container
{
	overflow: hidden;
	position: relative;
	margin: 0 auto;
	width: 100%;
	transition: padding-top 400ms;
}

/* Optional top gradient */
/* .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);
} */

.banner-container
{
	height: 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.4);
} */

.banner-container .swiper-wrapper
{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	height: 100%;
	width: 100%;
}

/* Image Background */
.banner-container .banner-image > div:first-of-type
{
	background-size: cover;
	background-position: bottom center;
	height: 100%;
}

/* Video Background */
.banner-container video
{
	position: absolute;
	left: 0;
	right: 0;
	z-index: 1;
	margin: 0 auto;
	height: 100%;
}

.banner-media-container
{
	overflow: hidden;
}

/* Banner Pagination */
.banner-container .banner-controls.banner-pagination
{
	position: absolute;
	z-index: 100;
	bottom: 30px;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: flex-start;
	max-width: 1200px;
}

/* Vertically-centered right-aligned nav */
/* .banner-container .banner-controls.banner-pagination
{
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 12px;
	height: 100%;
	right: 0;
	margin: 0 40px 0 auto;
	z-index: 15;
	align-items: flex-end;
} */

.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;
}

.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: #FBAF40;
	opacity: 1;
}

.banner-container .banner-controls.banner-pagination .swiper-pagination-bullet-active:hover
{
	background: #FBAF40;
	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-controls.banner-pagination
	{
		display: none;
	}

	.banner-container .banner-media-container .banner-image > div:first-of-type
	{
		background-size: cover !important;
	}

	.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));
	}
}