/*
--------------------------------------
banner -- container
--------------------------------------
*/

.banner-container {
	position: relative;
	font-family: var(--e-global-typography-primary-font-family);
	background: var(--e-global-color-primary, #383838);
	height: 58vh;
	overflow: hidden;
}

.home .banner-container {
	height: 100vh;
}

.page-contact .banner-container {
	height: 58vh;
}

.banner-background-container,
.banner-video-img-container,
.banner-img-container,
.banner-img-container img {
	height: 100%;
}

/*
--------------------------------------
banner -- image or video
--------------------------------------
*/

.banner-container .banner-img-container img {
	/*height: 85vh;*/
	width: 100%;
	max-width: 100%;
}

body:not(.home) .banner-container .banner-img-container img {
	object-position: 100% 70%;
}

.banner-container video {
	height: 70vh;
}

.home .banner-container video {
	height: 100vh;
}

.page-contact .banner-container video {
	height: 40vh;
}

/*
--------------------------------------
banner -- overlay
--------------------------------------
*/

.banner-img-container__default {
	position: relative;
}

.banner-img-container__default .banner-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.15) 100%);
}

.banner-overlay-container {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;

}

.home .banner-overlay-container {
	background: linear-gradient(
			to bottom,
			rgba(1, 16, 48, 0.9) 0%,
			rgba(1, 16, 48, 0.8) 15%,
			rgba(1, 16, 48, 0.4) 40%,
			rgba(1, 16, 48, 0.3) 45%,
			rgba(1, 16, 48, 0.15) 55%,
			rgba(1, 16, 48, 0.3) 65%,
			rgba(1, 16, 48, 0.4) 80%,
			rgba(1, 16, 48, 0.7) 90%,
			rgba(1, 16, 48, 0.9) 100%
	);
}

body:not(.home) .banner-overlay-container {
	background:
			linear-gradient(0deg, rgba(0, 0, 0, 0.00) 68.6%, rgba(0, 0, 0, 0.80) 100%),
			linear-gradient(239deg, rgba(0, 0, 0, 0.20) 42.01%, rgba(0, 0, 0, 0.80) 76.04%);
}

/*
--------------------------------------
banner -- content
--------------------------------------
*/

/*Text*/

.banner-container .banner-text-container {
	position: absolute;
	z-index: 7;
	top: 55%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.banner-container .banner-text-inner {
	display: flex;
	flex-direction: column;
	max-width: 90%;
	margin: auto;
}

/*Subhead*/

.banner-container .banner-subhead-container .banner-subhead {
	font-family: var(--e-global-typography-032f926-font-family), sans-serif;
	font-size: 22px;
	font-weight: 400;
	color: #FFF;
	text-transform: uppercase;
}

/*Title*/

.banner-container .banner-title {
	font-family: var(--e-global-typography-primary-font-family), sans-serif;
	font-weight: 400;
	font-size: calc(48px + (71 - 48) * ((100vw - 320px) / (1920 - 320)));
	color: #fff;
	line-height: 100%;
	letter-spacing: -1.8px;
}

body:not(.home) .banner-container .banner-title {
	color: #fff;
}

.banner-container .banner-title .text-highlighted {
	font-weight: 600;
}

/*Description*/

.banner-container .banner-description-container {
	text-align: center;
	max-width: 60%;
	padding-top: 1.5em;
	margin: auto;
}

.banner-container .banner-description {
	font-family: var(--e-global-typography-secondary-font-family), sans-serif;
	font-size: 18px;
	font-weight: 300;
	color: rgba(255, 255, 255, 0.40);
	line-height: 160%;
	max-width: calc(350px + (600 - 350) * ((100vw - 320px) / (1920 - 320)));
}

.home .banner-container .banner-description {
	max-width: calc(350px + (1000 - 350) * ((100vw - 320px) / (1920 - 320)));
}

/*USP*/

.banner-container .usp-items-container {
	display: flex;
	gap: calc(5px + (50 - 5) * ((100vw - 320px) / (1920 - 320)));
	align-items: center;
}

.banner-container .usp-item {
	display: flex;
	align-items: center;
	gap: 10px;
}

.usp-item-img-container {
	display: flex;
	align-items: center;
	height: 61px;
}

.banner-container .usp-item .usp-item-title-container {
	font-family: var(--e-global-typography-text-font-family), sans-serif;
	font-size: 18px;
	font-weight: 400;
	color: #FFF;
	line-height: 24px;
	text-transform: uppercase;
}

/*btn*/

.banner-btn-container.banner-btns-container {
	display: flex;
	gap: 20px;
}

.banner-btn-container {
	display: flex;
	justify-content: center;
	padding-top: 3em;
}

.banner-btn-container .banner-btn {
	display: inline-flex;
	align-items: center;
	font-family: var(--e-global-typography-text-font-family), sans-serif;
	font-size: 16px;
	font-weight: 400;
	text-align: center;
	line-height: 1;
}

/*
--------------------------------------
banner -- additional img
--------------------------------------
*/

.banner-additional-img-container {
	display: inline-flex;
	justify-content: center;
	margin-bottom: calc(12px + (24 - 12) * ((100vw - 320px) / (1920 - 320)));
}

.banner-additional-img-container img {
	object-fit: contain;
	max-width: 20%;
}

/*
--------------------------------------
watermark
--------------------------------------
*/

.banner-title__watermark {
	position: absolute;
	z-index: 6;
	top: 50%;
	left: 50%;
	font-size: calc(60px + (335 - 60) * ((100vw - 320px) / (1920 - 320)));
	font-weight: 600;
	color: #081920;
	transform: translate(-50%, -50%);
	text-align: center;
	letter-spacing: -10px;
	text-transform: uppercase;
}