/*
--------------------------------------
banner -- container
--------------------------------------
*/

.banner-container {
	position: relative;
	font-family: var(--e-global-typography-primary-font-family);
	background: var(--e-global-color-secondary, #383838);
	height: 40vh;
}

.home .banner-container {
	height: 100vh;
}

.page-contact .banner-container {
	height: 40vh;
}

.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 {
	object-fit: cover;
	/*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 -- content
--------------------------------------
*/

/*Text*/

.banner-container .banner-text-container {
	position: absolute;
	top: 65%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.banner-container .banner-text-inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	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 {
	display: flex;
	flex-direction: column;
	font-family: var(--e-global-typography-primary-font-family), sans-serif;
	font-weight: 500;
	font-size: calc(25px + (44 - 25) * ((100vw - 320px) / (1199 - 320)));
	color: #fff;
	line-height: 110%;
	text-shadow: 1px 1px 7px rgba(0, 0, 0, 0.85);
}

/*Description*/

.banner-container .banner-description-container {
	padding-top: 1.5em;
}

.banner-container .banner-description {
	font-family: var(--e-global-typography-secondary-font-family), sans-serif;
	font-size: calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320)));
	font-weight: 400;
	color: #FFF;
	line-height: 160%;
	max-width: calc(350px + (600 - 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 {
	padding-top: 1.25em;
}

.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-height: calc(250px + (320 - 250) * ((100vw - 320px) / (1200 - 320)));
}