#header {
	position: relative;
    
    isolation: isolate;
}

/*----------------------------------------------------------------------------------------------------*/

#header > .background {
    position: absolute; top: 0; left: 0; z-index: -1;
    height: 100%; width: 100%; overflow: hidden;
}
#header > .background > img,
#header > .background > video {
    display: block;
    object-fit: cover;
    object-position: center;
    
    pointer-events: none;
}
#header > .background > img {
    position: absolute; top: 0; left: 0; z-index: 1; transform: scale(1.2);
    height: 100%; width: 100%;
}
.loaded #header > .background > img { animation: scale-up-down 20s ease-out infinite alternate; }
@keyframes scale-up-down {
    000% { transform: scale(1.2); }
    100% { transform: scale(1.0); }
}
#header > .background > video { height: 100%; width: 100%; }
#header > .background:after {
    content: '';
    position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 2;
    display: block;
    
    background-color: #000;
    
    opacity: .3;
}

/*----------------------------------------------------------------------------------------------------*/

#header > .content-wrapper {
    display: flex; min-height: 700px; height: 100vh;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 150px 0;
    
    text-align: center;
    color: #FFF;
}
#header > .content-wrapper > .title {
    margin-bottom: 50px;
    font-weight: 700;
}
@media (min-width: 900px)    { #header > .content-wrapper > .title { font-size: 70px; } }
@media (max-width: 899.99px) {
    @media (min-width: 450px)    { #header > .content-wrapper > .title { font-size: 50px; } }
    @media (max-width: 449.99px) { #header > .content-wrapper > .title { font-size: 40px; } }
}
#header > .content-wrapper > .title > span { font-weight: 100; }
#header > .content-wrapper > .subtitle {
    max-width: 500px;
    margin-bottom: 50px;
    
    font-size: 20px;
    line-height: 28px;
    font-weight: 700;
}
#header > .content-wrapper > .cta-link {
    font-size: 22px;
    color: var(--main-color);
}

/*----------------------------------------------------------------------------------------------------*/

#header > .content-wrapper > .certifications {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: stretch;
	column-gap: 15px;
	row-gap: 10px;
}
#header > .content-wrapper > .certifications > .certification {
	position: relative;
	width: 50px;
}
#header > .content-wrapper > .certifications > .certification:before {
	content: '';
	display: block;
	padding-top: 150%;
}
#header > .content-wrapper > .certifications > .certification > img {
	position: absolute; top: 0; left: 0;
	display: block; height: 100%; width: 100%;
	
	object-fit: contain;
	object-position: center;
}
@media (min-width: 900px) {
	#header > .content-wrapper > .certifications {
		position: absolute; bottom: 50px; left: 50px; right: 50px;
		justify-content: flex-end;
	}
}
@media (max-width: 899.99px) {
	#header > .content-wrapper > .certifications {
		margin-top: 50px;
		justify-content: center;
	}
}

/*----------------------------------------------------------------------------------------------------*/

#header > .scroll {
    position: absolute; bottom: 75px; left: 50%; transform: translateX(-50%);
    display: flex; height: 50px; width: 24px;
    justify-content: center;
    align-items: center;
    
    cursor: pointer;
    
    --base: 5px;
}
#header > .scroll > .chevron {
    position: absolute;
    width: 100%; height: calc(var(--base) * 0.8);
    
    opacity: 0;
}
#header > .scroll > .chevron:nth-child(1) { animation: move-chevron 3s ease-out 0.0s infinite; }
#header > .scroll > .chevron:nth-child(2) { animation: move-chevron 3s ease-out 0.5s infinite; }
#header > .scroll > .chevron:nth-child(3) { animation: move-chevron 3s ease-out 1.0s infinite; }
@keyframes move-chevron {
    025% {
        transform: translateY(-50%) scale(.3);
        opacity: 0;
    }
    040% {
        top: 20%;
        transform: translateY(-50%) scale(.5);
        opacity: 1;
    }
    060% {
        top: 50%;
        transform: translateY(-50%) scale(1);
        opacity: 1;
    }
    100% {
        top: 80%;
        transform: translateY(-50%) scale(.5);
        opacity: 0;
       
    }
}

#header > .scroll > .chevron:before,
#header > .scroll > .chevron:after {
    content: '';
    position: absolute; top: 0;
    display: block; height: 100%; width: 50%;
    
    background-color: #FFF; transition: background-color .4s ease-out;
}
#header > .scroll:hover > .chevron:before,
#header > .scroll:hover > .chevron:after { background-color: var(--main-color); }
#header > .scroll > .chevron:before { left: 0; transform: skewY(30deg); }
#header > .scroll > .chevron:after  { right: 0; transform: skewY(-30deg); }
