/*********************************************/
/********** HOMEPAGE BANNER SECTION **********/
/*********************************************/

.hp-banner {
	position: relative;
	padding-top: 132.81%;
	height: 0;
}

/********** IMAGE **********/

.hp-banner .image {
	position: absolute;
	top: 0;bottom: 0;
	left: 0;right: 0;
	height: 100%;
	width: 100%;
	overflow: hidden;
}
.hp-banner .image::after {
	content: "";
	position: absolute;
	top: 0;bottom: 0;
	left: 0;right: 0;
	background: linear-gradient(to top left, rgba(15, 101, 150, 0.7) 0%, rgba(93, 64, 220, 0.7) 100%);
	opacity: 1;
	pointer-events: none;
}

.hp-banner .image img {
	position: relative;
	min-width: 100%;
	min-height: 100%;
	top: 50%;
	left: 50%;
	/* IE */
	transform: translate(-50%, -50%);
	width: auto;
	max-width: none;
}


@supports(mix-blend-mode: multiply) {	
	.hp-banner .image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		position: static;
		transform: none;
	}
}

/********** DESCRIPTION **********/

.hp-banner .container {
    position: absolute;
    bottom: 50px;
    left: 0;right: 0;
	margin: auto;
}

.hp-banner .description p {
    font-size: 1.5rem;
	font-weight: bold;
	color: white;
	line-height: 1.25;
	margin: 0;
}

.hp-banner .description span {
	display: inline-block;
    font-size: 1rem;
	font-weight: 300;
	color: white;
	line-height: 1.25;
	margin-top: 20px;
}


@media(min-width: 768px) {	
	.hp-banner {
		padding-top: 75%;
	}

	.hp-banner .container {
		bottom: 80px;
	}
	.hp-banner .description p {
		font-size: 2.1875rem;
	}
}

@media(min-width: 992px) {
	.hp-banner .container .description {
		max-width: 65%;
	}
}

@media(min-width: 1200px) {
	.hp-banner {
		padding-top: 40.72%;
	}
}


/***********************************************/
/********** HOMEPAGE ABOUT US SECTION **********/
/***********************************************/

.hp-about-us {
	margin: 50px 0;
	text-align: center;
}

.hp-about-us h1 {
	font-size: 3rem;
	font-weight: 300;
	color: var(--black);
	margin: 0;
}
.hp-about-us h2 {
	font-size: 1.125rem;
	font-weight: 800;
	color: var(--black);
	margin-bottom: 15px;
}
.hp-about-us p {
	font-size: 1.125rem;
	font-weight: 300;
	color: var(--darkgrey);
	margin: 0;
	margin-top: 40px;
}

.hp-about-us .button {
	margin-top: 40px;
}


@media(min-width: 768px) {
	.hp-about-us {
		margin: 70px 0;
	}
}

@media(min-width: 992px) {
	.hp-about-us {
		margin: 100px 0;
	}
}

@media(min-width: 1200px) {
	.hp-about-us .container {
		max-width: 890px;
	}
}


/*************************************************/
/********** HOMEPAGE HIGHLIGHTS SECTION **********/
/*************************************************/

.hp-highlights {
	margin: 55px 0 60px;
}


@media(min-width: 768px) {
	.hp-highlights {
		margin: 80px 0 85px;
	}	
}

@media(min-width: 992px) {
	.hp-highlights {
		margin: 110px 0 120px;
	}	
}


/*******************************************/
/********** HOMEPAGE NEWS SECTION **********/
/*******************************************/

.hp-news {
	padding: 50px 0;
	background-color: var(--white);
}

.hp-news h3 {
	font-size: 3rem;
	font-weight: 300;
	color: var(--black);
	line-height: 1;
	margin: 0;
	text-align: center;
}

.hp-news .listing .article {
	padding: 0;
}


.hp-news .tns-nav {
	margin: 40px 0 50px;
	text-align: center;
	font-size: 0;
	z-index: 1;
}

.hp-news .tns-nav button {
	border: none;
	padding: 0;
	width: 8px;
	height: 8px;
	opacity: 0.4;
	background-color: var(--purple);
	border-radius: 100%;
}
.hp-news .tns-nav button + button {
	margin-left: 15px;
}
.hp-news .tns-nav button.tns-nav-active {
	opacity: 1;
}


@media(min-width: 768px) {
	.hp-news {
		padding: 60px 0;
	}
}

@media(min-width: 992px) {
	.hp-news {
		padding: 80px 0;
	}	
}