/*
--------------------------------------
banner -- container
--------------------------------------
*/

.banner-container {
	position: relative;
	background: var(--e-global-color-primary);
}

body.home .banner-container {
	height: 100vh;

	.banner-background-container,
	.banner-banner-video-img-container,
	.banner-video-container,
	video {
		height: 100vh;
	}
}

body:not(.home) .banner-container {
	height: 60vh;

	.banner-background-container,
	.banner-banner-video-img-container,
	.banner-video-container,
	video {
		height: 60vh;
	}
}

/*
--------------------------------------
banner -- video
--------------------------------------
*/

.banner-container .banner-video-container video {
	display: block;
	max-width: 100%;
}

/*
--------------------------------------
banner -- image
--------------------------------------
*/

.banner-container .banner-img-container img {
	width: 100%;
	max-width: 550px;
}

/*
--------------------------------------
banner -- overlay
--------------------------------------
*/

.banner-container .banner-overlay-container {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.3);
}

/*
--------------------------------------
banner -- content
--------------------------------------
*/

/*Text*/

.banner-container .banner-text-container {
	position: absolute;
	z-index: 2;
	top: 60%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.banner-container .banner-text-inner {
	max-width: 75%;
	margin: auto;
	text-align: center;
}

/*Subhead*/

.banner-container .banner-subhead-container {
	padding-bottom: 15px;
}

.banner-container .banner-subhead-container .banner-subhead {
	font-family: var(--e-global-typography-text-font-family);
	font-size: calc(20px + (24 - 20) * ((100vw - 320px) / (1920 - 320)));
	font-weight: 500;
	color: #FDFDFD;
	text-align: center;
	text-transform: uppercase;
	line-height: calc(25px + (55 - 25) * ((100vw - 320px) / (1920 - 320)));
}

/*Title*/

.banner-container .banner-title {
	display: flex;
	flex-direction: column;
	font-family: var(--e-global-typography-primary-font-family);
	font-size: calc(36px + (80 - 36) * ((100vw - 320px) / (1920 - 320)));
	font-weight: var(--e-global-typography-primary-font-weight);
	color: #fff;
	text-align: center;
	line-height: 1.25;
}

.home .banner-container .banner-title {
	font-size: 26px;
}

/*SVG*/

.banner-container .banner-svg-container {
	padding-top: 2em;
}

.banner-container .banner-svg-container a {
	color: #fff;
}

.banner-container .banner-svg-container a:hover {
	color: var(--e-global-color-secondary);
}

/*Description*/

.banner-container .banner-description-container {
	padding: 1.5em 0 calc(15px + (30 - 15) * ((100vw - 320px) / (1920 - 320)));
}

.banner-container .banner-description {
	font-family: var(--e-global-typography-secondary-font-family), sans-serif;
	font-size: calc(17px + (18 - 17) * ((100vw - 320px) / (1920 - 320)));
	font-weight: 600;
	color: #FFF;
	line-height: 150%;
	max-width: 100%;
}

/*USP*/

.banner-container .usp-items-container {
	display: grid;
	grid-template-columns: 1fr;
	gap: calc(5px + (50 - 5) * ((100vw - 320px) / (1920 - 320)));
	align-items: center;
	padding-top: calc(20px + (36 - 20) * ((100vw - 320px) / (1920 - 320)));
}

.banner-container .usp-item {
	display: flex;
	flex-direction: column;
	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: 700;
	color: #FFF;
	line-height: 24px;
	text-transform: uppercase;
	text-align: center;
}

/*btn*/

.banner-btn-container.banner-btns-container {
	display: flex;
	gap: 20px;
}

.banner-btn-container {
	padding-top: 2em;
}

.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;
	padding: 12px 42px;
}

/*
--------------------------------------
banner -- additional img
--------------------------------------
*/

.banner-additional-img-container {
	position: absolute;
	right: 10%;
	bottom: -25px;
	display: flex;
	justify-content: center;
	background: #fff;
	box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.10);
	width: 165px;
	height: 175px;
}

.banner-additional-img-container img {
	object-fit: contain;
	max-width: 125px;
	height: 100%;
}