/*
--------------------------------------
banner -- container
--------------------------------------
*/

.banner__container {
	position: relative;
	font-family: var(--e-global-typography-primary-font-family);
	background: var(--e-global-color-secondary, #383838);
	height: 70vh;
}

.banner__container.has-no-img-or-video {
	height: 50vh;
}

.home .banner__container {
	height: 100vh;
}

.banner__container:has(.banner__img-container) {
	height: 60vh;
}

/*
--------------------------------------
banner -- image or video
--------------------------------------
*/

.banner__container .banner__img-container img {
	object-fit: cover;
	height: 60vh;
	width: 100%;
	max-width: 100%;
}

.banner__container video {
	height: 70vh;
}

.home .banner__container video {
	height: 100vh;
}

/*
--------------------------------------
banner -- overlay
--------------------------------------
*/

.banner__container .banner__overlay-container {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.37) 0%, rgba(0, 0, 0, 0.37) 100%);
}

/*
--------------------------------------
banner -- content
--------------------------------------
*/

/*Text*/

.banner__container .banner__text-container {
	position: absolute;
	bottom: 20%;
	width: 100%;
}

/*.banner__container.has-no-img-or-video .banner__text-container {*/
/*	bottom: 30%;*/
/*}*/

.banner__container .banner__text-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 70%;
	margin: auto;
}

/*Subhead*/

.banner__container .banner__subhead-container {
	padding-bottom: 1em;
}

.banner__container .banner__subhead-container .banner__subhead {
	font-family: var(--e-global-typography-032f926-font-family), sans-serif;
	font-size: calc(17px + (22 - 17) * ((100vw - 320px) / (1920 - 320)));
	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: 400;
	font-size: calc(30px + (44 - 30) * ((100vw - 320px) / (1199 - 320)));
	color: #fff;
	line-height: 1.15;
	text-align: center;
	text-transform: uppercase;
}

/*Subtitle*/

.banner__container .banner__subtitle {
	display: flex;
	justify-content: center;
	font-family: "Times New Roman", serif;
	font-size: 34px;
	font-style: italic;
	font-weight: 400;
	color: #fff;
	text-align: center;
}

/*Description*/

.banner__container .banner__description-container p {
	font-size: calc(17px + (18 - 17) * ((100vw - 320px) / (1920 - 320)));
	font-weight: 400;
	color: #FFF;
	line-height: 160%;
	text-align: center;
	max-width: calc(300px + (600 - 300) * ((100vw - 320px) / (1920 - 320)));
}

/*USP*/

.banner__container .banner__usp-items-container {
	display: flex;
	gap: calc(5px + (50 - 5) * ((100vw - 320px) / (1920 - 320)));
	align-items: center;
}

.banner__container .banner__usp-item {
	display: flex;
	align-items: center;
	gap: 10px;
}

.banner__usp-item-img-container {
	display: flex;
	align-items: center;
	height: 61px;
}

.banner__container .banner__usp-item .banner__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: 1em;
}

.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;
	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: 80px;
}

/*
--------------------------------------
banner -- icon (home)
--------------------------------------
*/

.banner__icon-container {
	position: absolute;
	bottom: -8px;
	left: 47%;
}