/*------------------------------------------------------------------------------*/
/* Main Banner
/*------------------------------------------------------------------------------*/

.MainBanners {
	-ms-overflow-style: none;
	display: grid;
	grid-auto-columns: 100%;
	grid-auto-flow: column;
	margin-inline: auto;
	max-width: var(--full-width-limit);
	overflow-x: auto;
	scroll-snap-type: inline mandatory;
	scrollbar-width: none;
	width: 100%;
}

.MainBanners-Bottom {
	margin-top: .5rem;
}

.MainBanners-Bottom .MainBanner {
	justify-content: left;
}
.MainBanners-Bottom .MainBanner .BannerText {
	margin-left: 10rem;
}
.MainBanners-Bottom-Second .MainBanner {
	justify-content: right;
}
.MainBanners-Bottom-Second .MainBanner .BannerText {
	margin-right: 10rem;
}

@media screen and (max-width: 900px) {
	.MainBanners-Bottom .MainBanner .BannerText {
		margin-left: 0;
		margin-right: 8rem;
	}
	.MainBanners-Bottom-Second .MainBanner .BannerText {
		margin-left: 8rem;
		margin-right: 0;
	}
}

.MainBanners-Bottom-Second .Title {
	margin-left: 0;
	margin-right: 0;
}

.MainBanners-Bottom .MainBanner img {
	transition: transform 1s;
}

.MainBanners-Bottom .MainBanner:hover > img {
	transform: scale(1.1);
}

.MainBanners-Top .MainBanner.AspectRatio {
	--aspect-ratio: 48%;
}

@media screen and (max-width: 800px) {
	.MainBanners-Top .MainBanner.AspectRatio {
		--aspect-ratio: 43%;
		--default-margin: 1rem;
	}
}

.MainBanners::-webkit-scrollbar {
	display: none;
}

.MainBanner {
	align-items: center;
	background-color: var(--background-color-shade-1);
	display: flex;
	justify-content: center;
	overflow: hidden;
	padding: 2rem;
	position: relative;
	scroll-snap-align: center;
	z-index: 1;
}

.MainBanner.Banner-Dark {
	background-color: var(--color-black-lighter);
}

.MainBanner.AspectRatio {
	--aspect-ratio: 40%;
}


.MainBanner figure img {
	height: inherit;
	position: relative;
	width: inherit;
}

.MainBanners-Bottom figure img {
	max-width: 200px;
}

@media screen and (max-width: 768px) {
	.MainBanners-Bottom figure img {
		max-width: 120px;
	}
}

@media screen and (max-width: 500px) {
	.MainBanner figure {
		text-align: right;
	}
}
 
.MainBanner img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.MainBanner .BannerText .Title,
.MainBanner .BannerText > h1,
.MainBanner .BannerText > h2,
.MainBanner .BannerText > h3 {
	font-style: italic;
	line-height: var(--line-height-heading);
	text-shadow: 0px 1px 3px rgba(0, 0, 0, .2);
	text-transform: uppercase;
}

.MainBanner .BannerText .Title,
.MainBanner .BannerText > h1 {
	font-size: clamp(1.2rem, 5vw, calc(var(--font-size-xxlarge) * 1.5));
	font-weight: bold;
}

.MainBanner .BannerText > h2 {
	font-size: clamp(var(--font-size-regular), 5vw, var(--font-size-xxlarge));
}

.MainBanner .BannerText > h3 {
	font-size: clamp(var(--font-size-regular), 5vw, var(--font-size-xlarge));
}

@media screen and (max-width: 800px) {
	.MainBanner.AspectRatio {
		--aspect-ratio: 100%;
		--default-margin: 1rem;
	}
}

/*------------------------------------------------------------------------------*/
/* Main Banner Animations
/*------------------------------------------------------------------------------*/

.MainBanner:not(:first-child) .MainBannerImage {
	opacity: 0.5;
	transition-duration: 1s;
}

.MainBanner.IsVisible .MainBannerImage {
	opacity: 1;
}

.MainBanner .BannerText {
	filter: blur(5px);
	opacity: 0;
	transition-duration: 2s;
}

.MainBanner.IsVisible .BannerText {
	filter: inherit;
	opacity: 1;
}

/*------------------------------------------------------------------------------*/
/* VideoBanner
/*------------------------------------------------------------------------------*/

.BannerBackgroundVideo {
	background-position: 50%;
	background-size: cover;
	bottom: 0;
	left: 0;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 0;
	transition-duration: .3s;
}

.BannerBackgroundVideo video {
	display: block;
	height: 100%;
	margin: auto;
	object-fit: cover;
	width: 100%;
}

.VideoBanners {
  gap: 2rem;
  display: flex;
  margin-bottom: 2rem;
}


.VideoBanner {
  flex: 1 1 66.66%;
}

.VideoBannerText {
	--aspect-ratio: 100%;
	scroll-snap-align: center;
	align-items: center;
	background: var(--color-accent-1-darker);
	display: flex;
	flex: 1 1 calc(33.33% - 1rem);
	overflow: hidden;
	padding: var(--grid-list-gutter) var(--margin-large);
	position: relative;
}

.VideoBannerText .BannerText {
	color: var(--color-text-lighter);
}

.VideoBannerText :last-child > a {
	--button-height: var(--input-height);
	--color-link: var(--color-text);
	--color-link-hover: var(--color-text);
	--spacing: var(--margin);
	align-items: center;
	background-color: transparent;
	border: 1px solid;
	border-radius: var(--border-radius-buttons);
	color: var(--color-text-lighter);
	display: inline-flex;
	font-size: var(--font-size-regular);
	justify-content: center;
	letter-spacing: 1.5px;
	margin: 0 1rem 0 0;
	min-height: var(--button-height);
	padding: 1rem 2rem;
	position: relative;
	text-decoration: none;
	text-transform: uppercase;
	transition-duration: var(--transition-fast);
}

.VideoBannerText :last-child > a:hover {
	background: var(--color-bg-light);
	color: var(--color-accent-1);
}

@media screen and (max-width: 1320px) {
	.VideoBannerText {
		display: none;
	}
}