

/* logotypes section */
.section-hero {
	margin-top: 0;
	margin-bottom: 0;
}

.section-hero .hero__title-container {
	max-width: 820px;
}

/**
 * 0.0 - Banner
 */
.hero-container {
	position: relative;
	display: block;
	height: 94vh;
	padding: 0;
	z-index: 1;
	background-color: var(--color-dark);
	overflow: hidden;
}

@media screen and (max-width: 480px) {
	.hero-container {
		height: 90vh;
	}
}

.hero {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}

.hero__image,
.hero__mask,
.hero__preloader {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;	
}

.hero__image {
	z-index: -1;
}

.hero.ready .hero__image {
	animation: image-rotate-in 3s ease both;
}

.hero__image img {
	width: 100%;
	height: 100%;
	display: block;
	overflow: hidden;
	object-fit: cover;
	object-position: center center;
}

.hero__mask {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	background-color: var(--image-mask-50);
}

.hero__mask::before,
.hero__mask::after {
	content: "";
	position: absolute;
	left: 0;
	height: 40%;
	width: 100%;
	display: block;
}

.hero__mask::before {
	top: 0;
	height: 30%;
	background-image: var(--image-mask-top-50);
}

.hero__mask::after {
	bottom: 0;
	background-image: var(--image-mask-bottom-50);
}

.hero__preloader {
	opacity: 1;
	z-index: 3;
	background-color: var(--color-dark);
	transition: all .6s ease;
}

.hero__preloader.complete {
	opacity: 0;
}

.hero__text {
	position: relative;
	height: 100%;
	z-index: 10;
}

.hero__text .container {
	height: 100%;
}

.hero__title-container {
	display: grid;
	align-items: end;
	justify-content: start;
	height: 100%;
	padding-bottom: 6vh;
}

.hero__title {
	position: relative;
	display: block;
	z-index: 1;
	margin-bottom: 10px;
	line-height: 1.1em;
	color: var(--color-white);
}

.hero__title-inner {
	position: relative;
}

.hero__uptitle {
	display: inline-block;
	margin-bottom: 15px;
	color: var(--color-link);
}

.hero .section__subtitle {
	color: var(--color-white);
}

.hero__copy {
	display: grid;
	color: var(--color-white);
	white-space: pre-wrap;
}

@media screen and (max-width: 767px) {
	.hero__copy {
		font-size: 1em;
	}
}

.hero .content-animate {
	position: relative;
	opacity: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateX(0px);
}

.hero.ready .content-animate {
	animation-name: text-animated-from-right;
	animation-duration: 600ms;
	animation-timing-function: ease;
	animation-direction: normal;
	animation-fill-mode: both;
}

.hero.ready .content-animate:nth-child(1) {
	animation-delay: 300ms;
}

.hero.ready .content-animate:nth-child(2) {
	animation-delay: 500ms;
}

.hero.ready .content-animate:nth-child(3) {
	animation-delay: 700ms;
}

.hero.ready .content-animate:nth-child(4) {
	animation-delay: 900ms;
}

.hero__footer {
	position: relative;
}