


/*********************************************/
/********** HOMEPAGE BANNER SECTION **********/
/*********************************************/

.hp-banners {
	height:calc(100vh - 193px);
}

.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;
}
.hp-banners .image::before {
	content:"";
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	background-color:var(--black);
	opacity:.5;
	pointer-events:none;
	z-index:2;
}

.hp-banners .image img, .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-banners .image::before {
		mix-blend-mode:multiply;
		opacity:.8;
	}
	
	.hp-banners .image img, .banner .image img {
		width:100%;
		height:100%;
		object-fit:cover;
		position:static;
		transform:none;
	}
}

/********** Description **********/

.hp-banners .description {
	position:absolute;
	left:0;right:0;
	margin:auto;
	top:50%;
	transform:translateY(-50%);
	z-index:2;
}
.hp-banners .description .row {
	margin:0;
}
.hp-banners .description .row > div {
	padding:0;
}

.hp-banners .description h2 {
	font-size:44px;
	font-weight:300;
	color:white;
	line-height:1.5;
	text-transform:uppercase;
	margin-bottom:20px;
}

.hp-banners .description p {
	font-size:16px;
	font-weight:300;
	color:white;
	margin-bottom:30px;
}

/********** Slider Dots **********/

.hp-banners .slider .slick-dots {
	position:absolute;
	right:40px;
	top:50%;bottom:auto;
	transform:translateY(-50%);
	margin:auto;
	width:auto;
}
.hp-banners .slider .slick-dots li {
	display:block;
	margin:8px 0;
}

.hp-banners .slider .slick-dots li button {
	position:relative;
}
.hp-banners .slider .slick-dots li button::before {
	content:"";
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	margin:auto;
	height:5px;
	width:5px;
	background-color:white;
	border-radius:100%;
	opacity:1;
	transition:var(--transition);
}
.hp-banners .slider .slick-dots li button:hover::before, .hp-banners .slider .slick-dots li.slick-active button::before {
	transform:scale(1.5);
}


@media(max-width:991px) {
	.hp-banners {
		height:calc(100vh - 62px);
	}		
	
	/********** Description **********/
	
	.hp-banners .description h2 {
		font-size:36px;
	}
	
	.hp-banners .description p {
		font-size:14px;
	}
	
	/********** Slider Dots **********/

	.hp-banners .slider .slick-dots {
		position:absolute;
		left:40px;
		right:auto;
		top:auto;
		bottom:37px;
		transform:none;
		margin:0 -13px;
	}
	.hp-banners .slider .slick-dots li {
		display:inline-block;
		margin:0 8px;
	}
}

@media(max-width:767px) {
	
	/********** Description **********/
	
	.hp-banners .description h2 {
		font-size:24px;
	}
	
	.hp-banners .description p {
		font-size:13px;
	}
	
	/********** Slider Dots **********/
	
	.hp-banners .slider .slick-dots {
		left:20px;
		margin:0 -9px;
	}
	.hp-banners .slider .slick-dots li {
		margin:0 4px;
	}
}


/******************************************/
/********** HOMEPAGE SCROLL DOWN **********/
/******************************************/

@keyframes scroll {
	0% 		{ transform:translateY(-6px) }
	100% 	{ transform:translateY(16px) }
}
@keyframes scroll-mobile {
	0% 		{ transform:translateY(16px) }
	100% 	{ transform:translateY(-16px) }
}

.scroll-down {
	position:absolute;
	bottom:50px;
	right:40px;
	width:20px;
	height:30px;
	border:2px solid white;
	border-radius:20px;
	padding:5px;
}
.scroll-down > div {
	height:100%;
	width:100%;
	overflow:hidden;
}
.scroll-down span {
	display:block;
	height:6px;
	width:2px;
	background-color:white;
	margin:0 auto;
	border-radius:2px;
	animation:scroll 2s infinite linear;
	animation-delay:-.43s
}


@media(max-width:991px) {
	.scroll-down {
		position:absolute;
		bottom:40px;
		right:40px;
		width:32px;
		height:42px;
		border:none;
		border-radius:0;
		padding:0;
		background-image:url(../img/scroll-mobile.svg);
		background-size:contain;
		background-repeat:no-repeat;
	}
	.scroll-down > div {
		position:absolute;
		top:0;left:0;
		height:16px;
		width:8px;
		overflow:hidden;
	}
	.scroll-down span {
		position:relative;
		display:block;
		height:16px;
		width:2px;
		background-color:white;
		margin:0 auto;
		border-radius:2px;
		animation:scroll-mobile 2s infinite linear;
		animation-delay:-1s
	}
	.scroll-down span::before, .scroll-down span::after {
		content:"";
		position:absolute;
		top:0;left:50%;
		display:block;
		height:2px;
		width:5px;
		background-color:white;
		border-radius:2px;
		transform:rotate(45deg);
		transform-origin:left;
	}
	.scroll-down span::after {
		right:50%;
		left:auto;
		transform:rotate(-45deg);
		transform-origin:right;
	}
}

@media(max-width:767px) {
	.scroll-down {
		bottom:20px;
		right:20px;
	}
}


/**************************************/
/********** ABOUT US SECTION **********/
/**************************************/

.hp-about-us {
	padding:130px 0 100px;
	position:relative;
}

.hp-about-us > img {
	content:"";
	position:absolute;
	top:45px;
	left:0;right:0;
	margin:auto;
	width:240px;
	height:240px;
	background-image:url(/img/logo-sm.svg);
	background-position:center;
	background-size:contain;
	background-repeat:no-repeat;
	opacity:.1;
}

.hp-about-us .row {
	margin:70px -35px;
	justify-content:center;
}
.hp-about-us .row > div {
	padding:0 35px;
}

.hp-about-us h1 {
	font-size:44px;
	font-weight:300;
	color:var(--darkblue);
	margin-bottom:25px;
	text-align:center;
}
.hp-about-us h2 {
	font-size:24px;
	font-weight:300;
	color:var(--blue);
	text-align:center;
	margin:0;
}
.hp-about-us p {
	display:block;
	font-weight:400;
	color:var(--grey);
	margin:0;
}
.hp-about-us p b, .hp-about-us p strong {
	font-weight:500;
	color:black;
}

.hp-about-us .button {
	left:50%;
	transform:translateX(-50%);
}


@media(max-width:991px) {
	.hp-about-us {
		padding:80px 0 40px;
		position:relative;
	}
	
	.hp-about-us .row {
		margin:25px -15px 20px;
	}
	.hp-about-us .row > div {
		padding:15px;
	}
	
	.hp-about-us > img {
		top:10px;
	}
	
	.hp-about-us h1 {
		font-size:36px;
		margin-bottom:15px;
	}
	.hp-about-us h2 {
		font-size:20px;
		line-height:1.75;
	}
	.hp-about-us p {
		font-size:15px;
	}
}

@media(max-width:767px) {
	.hp-about-us > img {
		width:170px;
		height:170px;
	}
	
	.hp-about-us h1 {
		font-size:30px;
		margin-bottom:15px;
	}
	.hp-about-us h2 {
		font-size:18px;
	}
}

/****************************************/
/********** HIGHLIGHTS SECTION **********/
/****************************************/

.hp-highlights {
	padding:100px 0;
	background:linear-gradient(125deg, var(--blue) 0%, var(--green) 100%)
}

.hp-highlights .row {
	margin:0 -50px;
}
.hp-highlights .row > div {
	padding:0 50px;
	display:flex;
	flex-direction:column;
}

.hp-highlights .icon {
	width:100px;
	height:100px;
	margin:0 auto;
	margin-bottom:35px;
	position:relative;
	opacity:.25;
}
.hp-highlights .icon img {
	max-height:100%;
	max-width:100%;
}

.hp-highlights h3 {
	font-size:36px;
	font-weight:300;
	color:white;
	line-height:1.3;
	text-align:center;
	margin-bottom:20px;
}
.hp-highlights p {
	font-size:15px;
	font-weight:300;
	color:white;
	line-height:1.75;
	text-align:center;
	margin-bottom:20px;
}

.hp-highlights .button {
	align-self:center;
	justify-self:flex-end;
	margin-top:auto;
	padding:12px 30px;
	font-size:12px;
}


@supports(mix-blend-mode: multiply) {		
	.hp-highlights .icon {
		opacity:1;
		mix-blend-mode:overlay;
	}
}


@media(max-width:991px) {
	.hp-highlights {
		padding:50px 0;
	}
	
	.hp-highlights .icon {
		margin-bottom:30px;
	}
	
	.hp-highlights .row {
		margin:-15px;
	}
	.hp-highlights .row > div {
		padding:15px;
	}
	
	.hp-highlights h3 {
		font-size:30px;
		margin-bottom:15px;
	}
	.hp-highlights p {
		font-size:15px;
		margin-bottom:15px;
	}
}

@media(max-width:767px) {
	.hp-highlights .row {
		margin:-25px;
	}
	.hp-highlights .row > div {
		padding:25px;
	}
}


/******************************************************/
/********** HOMEPAGE NEWS AND EVENTS SECTION **********/
/******************************************************/

.hp-news {
	padding:100px 0 110px;
}

.hp-news .row {
	margin:0 -34px;
}
.hp-news .row > div {
	padding:0 34px;
}

.hp-news .header, .news-related .header {
	border-bottom:4px solid #f2f3f5;
	padding-bottom:15px;
	position:relative;
}
.hp-news .header h4, .news.news-related .header .h4 {
	font-size:30px;
	font-weight:400;
	color:var(--darkblue);
	margin:0;
}
.hp-news .header .link {
	position:absolute;
	right:0;
	bottom:16px;
}

.hp-news .header + .row, .news-related .header + .row {
	margin:0 -28px;
	margin-top:40px;
}
.hp-news .header + .row > div, .news-related .header + .row > div {
	padding:0 28px
}

/********** NEWS **********/

.hp-news p a {
	color:inherit;
	border-bottom:1px dotted transparent;
}
.hp-news p a:hover, .hp-news p a:focus {
	border-bottom:1px dotted currentColor;
}

/********** EVENTS **********/

.hp-news .events .listing {
	margin-top:20px;
}

.hp-news .events .listing .event {
	padding:20px 0;
}

.hp-news .events .listing .event .description p {
	font-size:18px;
	line-height:1.75;
	top:-.4em;
}


@media(max-width:991px) {
	.hp-news {
		padding:50px 0 55px;
	}
	
	.hp-news .row {
		margin:-34px;
	}
	.hp-news .row > div {
		padding:34px;
	}
	
	.hp-news .header h4, .news.news-related .header .h4 {
		font-size:26px;
	}
	
	.hp-news .header + .row, .news-related .header + .row {
		margin:-20px;
		margin-top:20px;
	}
	.hp-news .header + .row > div, .news-related .header + .row > div {
		padding:20px;
	}
}

@media(max-width:767px) {
	
}