body.index {
    margin-top: 0;
}
body.index > section:not(.hp-banners) {
    position: relative;
    background-color: white;
}


@media(min-width: 992px) {
    body.index {
        padding-top: 100vh;
    }
}

/*********************************************/
/********** HOMEPAGE BANNER SECTION **********/
/*********************************************/

.hp-banners {
    height: 100vh;
    position: relative;
	
}

.hp-banners, .hp-banners .slide {
	position: relative;
}

.hp-banners .slider:not(.slick-slider) {
	display: flex;
}
.hp-banners .slider,
.hp-banners .slider .slick-list,
.hp-banners .slider .slick-track,
.hp-banners .slider .slide {
	height: 100%;
}
.hp-banners .slider > .slide {
	flex: 1;
	min-width: 100%;
}


/********** IMAGE **********/

.hp-banners .image {
	position: relative;
	height: 100%;
	overflow: hidden;
	z-index: 0;
}
.hp-banners .image::before {
	content: "";
	position: absolute;
	top: 0;bottom: 0;
	left: 0;right: 0;
	background:rgba(44, 44, 44, .6);
	pointer-events: none;
	z-index: 2;
}

.hp-banners .image img,
.hp-banners .image video {
	position: relative;
	min-width: 100%;
	min-height: 100%;
	top: 50%;
	left: 50%;
	/* IE */
	transform: translate(-50%, -50%);
	width: auto;
	max-width: none;
}
.hp-banners .image video {
    position: absolute;
}

.hp-banners .image .play {
	position: absolute;
	top: 200px;
	left: 0;right: 0;
	margin: auto;
	width: 70px;
	height: 70px;
	border: 2px solid white;
	border-radius: 100%;
    opacity: .75;
    z-index: 2;
}
.hp-banners .image .play:hover {
	opacity: 1;
}
.hp-banners .image .play:before {
	content: "";
	position: absolute;
	top: 0;bottom: 0;
	left: 0;right: 0;
	margin: auto;
	background-image: url(/assets/img/play-white.svg)
}

@supports(mix-blend-mode: multiply) {
	.hp-banners .image::before {
        background: linear-gradient(180deg, #353535 0%, #a7a6a6 100%);
		mix-blend-mode: multiply;
		opacity: .30;
	}
	
    .hp-banners .image img,
    .hp-banners .image video {
		width: 100%;
		height: 100%;
		object-fit: cover;
		position: static;
		transform: none;
    }
    .hp-banners .image video {
        position: absolute;
        top: 0;left: 0;
    }
    
    @media(min-width: 768px) {
        .hp-banners .image::before {
            background: linear-gradient(140deg, #353535 0%, #a7a6a6 100%);
        }
    }
}


@media(min-width: 768px) {
	.template-module .video a {
		width: 90px;
		height: 90px;
	}
}

@media(min-width: 992px) {
    .hp-banners {
        /*position: fixed;*/
        position: absolute;
        top: 0;left: 0;
        width: 100vw;
		height: calc(100% - 114px);
		margin-top: 114px;
	}
}

/********** DESCRIPTION **********/

.hp-banners .container {
    position: absolute;
    left: 0;right: 0;
    bottom: 30px;
	margin: auto;
	font-family: var(--font-family);
	pointer-events: none;
    will-change: transform;
}

.hp-banners .description {
    width: 100%;
    max-width: 525px;
    margin: 0 auto;
}
.hp-banners .description .row {
	margin: 0;
}
.hp-banners .description .row > div {
	padding: 0;
}

.hp-banners .description .h2 {
	font-family: var(--font-family);
    font-size: 2rem;
	font-weight: bold;
    color: white;
    letter-spacing: -0.02em;
    line-height: 1.5;
    text-transform: uppercase;
	margin-bottom: 20px;
}

.hp-banners .description p {
    font-size: 1rem;
	font-weight: 300;
	color: white;
	font-family: var(--font-family);
}

.hp-banners .description .button {
    margin-top: 15px;
	pointer-events: all;
}


@media(min-width: 768px) {
	.hp-banners .container {
        bottom: 10%;
	}

	.hp-banners .description .h2 {
		font-size: 3.25rem;
	}
	
	.hp-banners .description p {
		font-size: 0.9375rem;
	}

    .hp-banners .description .button {
        margin-top: 30px;
	}
}

@media(min-width: 992px) {
	.hp-banners .container {
        top: 40%;
        bottom: auto;
	}

	.hp-banners .description {
        max-width: 50%;
        margin: 0;
	}
}

@media(max-width: 768px) {
	.hp-banners .container {
		top: auto;
		bottom: 80px;
	}

	.hp-banners .description .button {
		/*position: absolute;
		bottom: 0*/
	}
	
}
/********** SLIDER DOTS **********/

.hp-banners .slick-dots {
	position: absolute;
	top: 50%;
	bottom: auto;
	left: 23px;
	font-size: 0;
	transform: translateY(-50%);
}

.hp-banners .slick-dots li + li {
	margin-left: 20px;
}
.hp-banners .slick-dots li button:hover::before,
.hp-banners .slick-dots li.slick-active button::before {
	opacity: 1;
}


@media(min-width: 768px) {
	.hp-banners .slick-dots {
		width: 7px;
	}

	.hp-banners .slick-dots li + li {
		margin-left: 0;
		margin-top: 25px;
	}
}


/******************************************/
/********** HOMEPAGE SCROLL DOWN **********/
/******************************************/

@keyframes scroll {
	0% { 
		top: 0;
		bottom: auto;
		height: 0;
	}
	20% {
		height: 100%;
	}
	40%, 100% {
		top: auto;
		bottom: 0;
		height: 0;
	}
}

@keyframes scrollImg {
	0% { 
		top: 0;
	}
	20% {
		top: 0;
	}
	40%, 100% {
		top: -57px;
	}
}

.scroll-down {
	position: absolute;
	bottom: 65px;
	right: 0;left: 0;
	margin: auto;
	width: 18px;
	height: 57px;
	z-index: 2;
}

.scroll-down img {
	position: absolute;
	top: 0;left: 100%;
	width: 57px;
	transform: rotate(90deg);
	transform-origin: top left;
}
.scroll-down > img {
	opacity: .2;
}

.scroll-down div {
	position: absolute;
	width: 100%;
	height: 100%;
	overflow: hidden;
	animation: scroll 5s ease-in-out infinite;
}
.scroll-down div img {
	animation: scrollImg 5s ease-in-out infinite;
}


/*********************************************/
/********** HOMEPAGE QUOTES SECTION **********/
/*********************************************/

.hp-quotes {
	padding: 50px 0;
	background-image: url(/img/hp-quotes_mobile.jpg);
	background-position: center;
	background-size: cover;
	text-align: center;
	font-size: 0;
}
.hp-quotes::before {
	content: "";
	position: absolute;
	top: 0;bottom: 0;
	left: 0;right: 0;
	background-color: #414141;
	opacity: .75;
}

.hp-quotes .slider {
	padding-top: 65px;
}
.hp-quotes .slider:not(.slick-slide) {
	display: flex;
	flex-wrap: nowrap
}
.hp-quotes .slider::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;right: 0;
	margin: auto;
	width: 36px;
	height: 27px;
	background-image: url(/img/hp-quotes-icon.png);
	background-repeat: no-repeat;
	background-size: cover;
}
.hp-quotes .slider:not(.slick-slide) > .slide {
	min-width: 100%;
}

.hp-quotes p {
	font-size: 1.25rem;
	font-style: italic;
	color: white;
	margin-bottom: 25px;
}

.hp-quotes span {
	display: inline-block;
	font-size: .9375rem;
	font-weight: 500;
	color: var(--gold);
	line-height: 1;
}

/********** SLIDER DOTS **********/

.hp-quotes .slider-dots {
	position: relative;
}

.hp-quotes .slick-dots {
	position: relative;
	width: auto;
	bottom: auto;
	left: 50%;
	transform: translateX(-50%);
	margin-top: 45px;
	text-align: center;
}

.hp-quotes .slick-dots li + li {
	margin-top: 0;
	margin-left: 25px;
}


@supports(mix-blend-mode: multiply) {	
    .hp-quotes::before {
		opacity: 1;
		mix-blend-mode: multiply;
	}
}


@media(min-width: 768px) {
	.hp-quotes {
		padding: 70px 0;	
		background-image: url(/img/hp-quotes.jpg);	
	}

	.hp-quotes .slick-dots {
		margin-top: 60px;
	}

	.hp-quotes p {
		font-size: 1.5rem;
	}
}

@media(min-width: 768px) {
	.hp-quotes {
		padding: 80px 0;		
	}
}




/**********************************/
/********** BLOG LISTING **********/
/**********************************/

.listing.listing-article .items.row {
    margin: -20px
}
.listing .article {
    padding: 20px
}

.content .blog-tags {
    margin: 50px 0 35px;
}

.listing .article img {
	margin-bottom: 20px;
}

.listing .article h2,
.listing .article .h2 {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.5;
    text-transform: none;
    margin-top: 15px;
    margin-bottom: 20px;
}

.listing .article span,
.content .blog-tags span {
    display: block;
    font-size: .75rem;
    font-weight: bold;
    color: var(--lightgrey);
    text-transform: uppercase;
}
.content .blog-tags span {
    font-size: .875rem;
}
.listing .article span + span,
.content .blog-tags span + span {
    margin-top: 5px;
    color: var(--gold);
}
.listing .article span + span a:hover,
.listing .article span + span a:focus,
.content .blog-tags span + span a:hover,
.content .blog-tags span + span a:focus {
    color: var(--lightgrey);
}

.listing .article .button {
    padding: 12px 30px;
}


@media(min-width: 992px) {
    .listing.listing-article .items.row {
        margin: -40px -28px
    }
    .listing .article {
        padding: 40px 28px;
    }
}


.partners .slider-arrows{
	display: block;
	display: flex;
    align-items: center;
    transition: var(--transition);
    margin: auto;
    width: 100%;
	gap: 30px;
	justify-content: center;
}

.partners .slider-arrows div {
    cursor: pointer;
    position: relative;
    width: 25px;
    height: 47px;
    opacity: 0.5;
    pointer-events: auto;
}

.partners .slider-arrows div.prev {
    transform: rotate(180deg);
}

.partners .slider-arrows div::before {
    content: "";
    width: 100%;
    height: 100%;
	display: block;
	-webkit-mask-image: url("/assets/img/caret-slim-white.svg");
    -webkit-mask-repeat: no-repeat;
    mask-image: url("/assets/img/caret-slim-white.svg");
    mask-repeat: no-repeat;
    mask-size: cover;
    -webkit-mask-size: cover;
    background-color: #e8b952;
}

@media(min-width: 768px) {
	.partners .slider-arrows{
		display: none;
	}
}