/**********************************/
/**********************************/
/*************** 02 ***************/
/**********************************/
/**********************************/
*::placeholder, *::-webkit-placeholder {
	color:currentColor;
}
*:-ms-input-placeholder {
	color:currentColor;
}


html.lock, body.lock {
	overflow:hidden;
}

.container {
	max-width:1084px;
	width:100%;
	padding:0 20px;
}
.container.container-fullscreen {
	max-width:1400px;
}
	
@media (min-width:1200px) {
	.container.container-sm {
		max-width:880px;
	}
}

.button, .button:hover {
	font-family:"Montserrat", sans-serif;
	font-size:11px;
	font-weight:bold;
	letter-spacing:.05em;
	line-height:1;
	text-transform:uppercase;
	display:inline-block;
	padding:22px 40px;
	color:white;
	position:relative;
	will-change:transform;
}
.button::before {
	content:"";
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	background-color:#ef4845;
	transition:inherit;
	z-index:-1;
	will-change:transform;
}
.button:hover::before {
	transform:scale(1.05);
}
.button.white {
	color:#1d1d1b;
}
.button.white::before {
	background-color:white;
}

.button.button-outline {
	color:#1d1d1b;
}
.button.button-outline::before {
	background-color:transparent;
	border:1px solid #efa7a6;
}
.button.button-outline.white {
	color:white;
}
.button.button-outline.white::before {
	border:1px solid white;
}


/****************************/
/********** HEADER **********/
/****************************/

header {
	position:fixed;
	width:100vw;
	height:126px;
	background-color:transparent;
	padding:25px 40px;
	transition:all .2s ease-in-out;
	z-index:9;
}
header.header-sm {
	height:106px;
	background-color:#1d1d1b;
}
header::before {
	content:"";
	position:absolute;
	height:100vh;
	width:100vw;
	top:0;left:0;
	background-color:rgba(0,0,0,.75);
	pointer-events:none;
	opacity:0;
	transition:all .2s ease-in-out;
}
header.open::before {
	opacity:1;
	pointer-events:auto;
}

header img {
	width:215px;
}
header a {
	display:inline-block;
}


header .toggle {
	width:27px;
	height:18px;
	position:absolute;
	top:0;bottom:0;
	right:40px;
	margin:auto;
	cursor:pointer;
	z-index:11;
	transition:all .2s ease-in-out;
}
header.open .toggle {
	margin-top:54px;
	transform:translate(-12px, 12px);
}
header .toggle span {
	position:absolute;
	left:0;
	width:100%;
	height:2px;
	background-color:white;
	border-radius:1px;
	transition:all .2s ease-in-out;
}
header .toggle span:nth-of-type(1) {
	top:0;
}
header .toggle span:nth-of-type(2) {
	top:8px;
}
header .toggle span:nth-of-type(3) {
	top:16px;
	width:17px;
	transform:translateX(10px);
}
header .toggle:hover span:nth-of-type(3) {
	transform:translateX(0px);
}

header.open .toggle span {
	background-color:#1d1d1b;
}
header.open .toggle span:nth-of-type(1) {
	width:40px;
	transform:rotate(-45deg) translate(-4px, -12px);
	transform-origin:right;
}
header.open .toggle span:nth-of-type(2) {
	opacity:0;
}
header.open .toggle span:nth-of-type(3) {
	width:40px;
	transform:rotate(45deg) translate(-4px, 12px);
	transform-origin:right;
}

/*********************************/
/********** HEADER MENU **********/
/*********************************/

header .menu {
	position:fixed;
	height:100vh;
	width:480px;
	max-width:100%;
	padding:50px;
	background-color:white;
	top:0;
	right:0;
	display:flex;
	flex-direction:column;
	transform:translateX(100%);
	transition:all .2s ease-in-out;
	overflow:auto;
}
header.open .menu {
	transform:translateX(0%);
}

/********** Search Form **********/

header .menu .form {
	margin-right:75px;
	position:relative;
}
header .menu .form input {
	padding:16px 20px;
	padding-right:52px;
	background-color:white;
	border:1px solid rgba(203,203,183,.5);
	width:100%;
	font-size:14px;
	color:#888888;
	line-height:1;
}
header .menu .form a[submit] {
	position:absolute;
	height:52px;
	width:52px;
	top:0;right:0;
	font-size:0;
}
header .menu .form a[submit] img {
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	margin:auto;
	width:15px;
	height:15px;
}

/********** Menu **********/

header .menu ul {
	padding:0;
	margin:0;
	list-style:none;
	margin:-10px 0;
}
header .menu > ul {
	padding-top:55px;
}
header .menu ul li {
	font-size:0;
	padding:10px 0;
}

header .menu ul li.sub > h4 {
	padding-right:25px;
	position:relative;
}
header .menu ul li.sub > h4::after {
	content:"";
	position:absolute;
	top:0;bottom:0;
	right:0;
	margin:auto;
	width:10px;
	height:6px;
	background-image:url(/img/caret.svg);
	transition:all .2s ease-in-out;
}
header .menu ul li.sub.open > h4::after, header .menu ul li.sub.active > h4::after {
	transform:rotate(180deg);
}
header .menu ul li.sub ul {
	margin:0;
	overflow:hidden;
	max-height:0;
	transition:all .2s ease-in-out;
}
header .menu ul li.sub.active ul {
	max-height:none;
}
header .menu ul li.sub ul li {
	padding:2px 0;
}
header .menu ul li.sub ul li:first-of-type {
	margin-top:18px;
}

header .menu ul li h4 {
	font-size:20px;
	font-weight:bold;
	color:#b3b3a9;
	text-transform:uppercase;
	margin:0;
	display:inline-block;
}
header .menu ul li h5 {
	font-size:18px;
	font-weight:bold;
	color:#b3b3a9;
	margin:0;
	display:inline-block;
}

header .menu ul li.sub.open > h4 a, header .menu ul li.active > * > a, header .menu ul li a:hover {
	color:#1d1d1b;
}

/********** Social and Language **********/

header .menu > div:last-of-type {
	justify-self:flex-end;
	margin-top:auto;
	padding-top:40px;
}

header .menu > div:last-of-type span {
	font-family:"Montserrat";
	font-size:14px;
	font-weight:500;
	color:#b3b3a9;
}
header .menu > div:last-of-type span a.active, header .menu > div:last-of-type span a:hover {
	color:#1d1d1b;
}

header .menu > div:last-of-type .social {
	display:inline-block;
	float:right;
	font-size:0;
}
header .menu > div:last-of-type .social a {
	font-size:0;
	padding:0 15px;
}
header .menu > div:last-of-type .social a i {
	font-size:22px;
	color:#b3b3a9;
	transition:all .2s ease-in-out;
}
header .menu > div:last-of-type .social a:hover i {
	color:#1d1d1b;
}

@media(max-width:991px) {
	header .menu ul li.sub > h4 a {
		color:#1d1d1b;
	}
	header .menu ul li.sub > h4::after {
		transform:rotate(180deg);
	}
	
	header .menu ul li.sub ul {
		max-height:none !important;
	}
}


@media(max-width:767px) {
	header, header.header-sm {
		height:auto;
		padding:20px;
	}
	
	header img {
		width:130px;
	}
	
	header .toggle {
		right:20px;
	}
	header.open .toggle {
		margin-top:auto;
		transform:translate(-2px, 2px);
	}
	
	header .menu {
		padding:40px 20px;
		padding-top:80px;
	}
	header .menu .form {
		margin:0;
	}
	
	header .menu > ul {
		padding-top:40px;
	}
	header .menu ul li {
		padding:7px 0;
	}
	header .menu ul li.sub ul li:first-of-type {
		margin-top:12px;
	}
	header .menu ul li h4 {
		font-size:18px;
	}
	header .menu ul li h5 {
		font-size:16px;
	}
}


/*************************************/
/********** HOMEPAGE BANNER **********/
/*************************************/

.hp-banners {
	height:100vh;
}

.hp-banners .slider .slide {
	width:100vw;
	height:100vh;
	position:relative;
}
.hp-banners .slider .slide::after {
	content:"";
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	background-color:#1d1d1b;
	opacity:.75;
	pointer-events:none;
}

.hp-banners .slider .slide img {
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	height:100%;
	width:100%;
}

.hp-banners .slider .description {
	position:relative;
	width:655px;
	max-width:100%;
	padding:0 20px;
	top:50%;
	transform:translateY(-50%);
	margin:auto;
	z-index:2;
	text-align:center;
}
.hp-banners .slider .description h2 {
	font-size:48px;
	font-weight:bold;
	color:white;
	text-transform:uppercase;
	margin:0;
}
.hp-banners .slider .description p {
	font-size:18px;
	color:white;
	margin:0 80px;
	margin-top:30px;
}
.hp-banners .slider .description .play {
	display:block;
	width:30px;
	height:30px;
	background-image:url("/img/play.svg");
	background-size:contain;
	margin:0 auto;
	margin-top:40px;
	border-radius:100%;
	position:relative;
}
.hp-banners .slider .description .play::before {
	content:"";
	position:absolute;
	top:0;bottom:0;
	right:0;left:0;
	border:1px solid white;
	border-radius:100%;
	transition:all .2s ease-in-out;
}
.hp-banners .slider .description .play:hover::before {
	transform:scale(1.05);
}

.hp-banners .slider .slick-dots {
	position:absolute;
	left:34px;
	top:50%;bottom:auto;
	transform:translateY(-50%);
	margin:auto;
	width:auto;
}
.hp-banners .slider .slick-dots li {
	display:block;
	margin:25px 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:8px;
	width:8px;
	border:1px solid white;
	border-radius:100%;
	opacity:1;
	transition:all .2s ease-in-out;
}
.hp-banners .slider .slick-dots li.slick-active button::before {
	background-color:white;
}

@supports(mix-blend-mode: multiply) {
	.hp-banners .slider .slide::after {
		opacity:1;
		background-color:#515151;
		mix-blend-mode:multiply;
	}
	
	.hp-banners .slider .slide img {
		position:static;
		object-fit:cover;
	}
}

/********** HOMEPAGE SCROLL DOWN **********/

@keyframes scroll {
    0% 	{transform:translateY(-19px);opacity:0;}
	50% {transform:translateY(8px);opacity:1;}
	100% {transform:translateY(35px);opacity:0;}
}

.scroll {
	position:absolute;
	bottom:50px;
	left:0;right:0;
	margin:auto;
	width:35px;
	height:35px;
}
.scroll span {
	position:absolute;
	width:100%;
	height:19px;
	animation:scroll 2s infinite linear;
	animation-delay:-.5s;
}
.scroll span:nth-of-type(2) {
	transform:translateY(8px);
	animation:scroll 2s infinite linear;
	animation-delay:.5s;
}
.scroll span::before {
	content:"";
	position:absolute;
	left:0;top:0;
	width:25px;
	height:2px;
	background-color:white;
	transform:rotate(45deg);
	transform-origin:left;
}
.scroll span::after {
	content:"";
	position:absolute;
	right:0;top:0;
	width:25px;
	height:2px;
	background-color:white;
	transform:rotate(-45deg);
	transform-origin:right;
}

/********** VIDEO FULLSCREEN **********/

.video-fullscreen {
	position:fixed;
	top:0;left:0;
	width:100vw;
	height:100vh;
	background-color:rgba(29,29,27,.95);
	padding:100px;
	z-index:9;
	opacity:0;
	pointer-events:none;
	transition:all .2s ease-in-out;
}
.video-fullscreen.open {
	opacity:1;
	pointer-events:auto;
}

.video-fullscreen iframe {
	height:100%;
	width:100%;
}

.video-fullscreen .close {
	position:absolute;
	top:53px;
	right:40px;
	width:27px;
	height:27px;
	opacity:1;
}
.video-fullscreen .close span {
	position:absolute;
	top:0;left:0;
	width:37px;
	height:2px;
	background-color:white;
	transform:rotate(45deg);
	transform-origin:left;
}
.video-fullscreen .close span:nth-of-type(2) {
	right:0;
	left:auto;
	transform:rotate(-45deg);
	transform-origin:right;
}


@media(max-width:767px) {
	.hp-banners .slider .description h2 {
		font-size:25px;
	}
	
	.hp-banners .slider .description p {
		font-size:14px;
		margin:0;
		margin-top:20px;
	}
	
	.hp-banners .slider .description .play {
		margin-top:20px;
	}
	
	.hp-banners .slider .slick-dots {
		top:auto;
		left:50%;
		transform:translateX(-50%);
		bottom:70px;
	}
	.hp-banners .slider .slick-dots li {
		margin:0 10px;
		display:inline-block;
	}
	
	.scroll {
		bottom:10px;
	}
	
	.video-fullscreen {
		padding:75px 20px 20px;
	}
	.video-fullscreen .close {
		top:25px;
		right:20px;
	}
}


/***************************************/
/********** HOMEPAGE ABOUT US **********/
/***************************************/

.hp-about-us {
	padding:80px 0;
	text-align:center;
}

.hp-about-us img {
	max-height:120px;
	margin:0 auto;
	margin-bottom:40px;
	display:block;
}

.hp-about-us h1 {
	font-size:36px;
	font-weight:bold;
	color:#375975;
	text-transform:uppercase;
	margin-bottom:15px;
}
.hp-about-us h2 {
	font-size:30px;
	font-weight:300;
	color:#96b9c9;
	margin:0;
}
.hp-about-us p {
	font-size:20px;
	font-weight:300;
	color:#666666;
	margin-top:40px;
	margin-bottom:0;
}
.hp-about-us p b, .hp-about-us p strong {
	font-weight:bold;
	color:#1d1d1b;
}

.hp-about-us .button {
	margin-top:50px;
}


@media(max-width:767px) {
	.hp-about-us {
		padding:40px 0;
	}
	
	.hp-about-us img {
		max-height:80px;
		margin-bottom:30px;
	}
	
	.hp-about-us h1 {
		font-size:24px;
	}
	.hp-about-us h2 {
		font-size:22px;
	}
	.hp-about-us p {
		font-size:16px;
		margin-top:30px;
	}
	.hp-about-us .button {
		margin-top:30px;
	}
}


/*****************************************/
/********** HOMEPAGE HIGHLIGHTS **********/
/*****************************************/

.hp-highlights {
	padding:80px 0;
	background-color:white;
}
.hp-highlights .container {
	padding:0 150px;
	position:relative;
}

.hp-highlights .slider {
	display:flex;
	margin:0 -30px;
}
.hp-highlights .slider > .slide {
	flex-basis:33.333%;
	max-width:33.333%;
}
.hp-highlights .slider .slide {
	padding:0 30px;
	text-align:center;
}

.hp-highlights .slider .slide .image {
	display:block;
	overflow:hidden;
	margin-bottom:35px;
}
.hp-highlights .slider .slide .image img {
	transition:all .2s ease-in-out;
	will-change:transform;
}
.hp-highlights .slider .slide .image:hover img {
	transform:scale(1.05);
}

.hp-highlights .slider .slide h3 {
	font-family:"Cabin", sans-serif;
	font-size:18px;
	font-weight:bold;
	color:#1d1d1b;
	text-transform:uppercase;
}

.hp-highlights .slider .slide p {
	font-size:18px;
	color:#666666;
	margin-top:20px;
}

.hp-highlights .slider .slide .button {
	margin-bottom:2px;
}

.hp-highlights .slider-arrows a {
	position:absolute;
	top:0;bottom:0;
	margin:auto;
	height:35px;
	width:26px;
	background-image:url("/img/arrow-grey.svg");
	background-size:cover;
	opacity:.4;
}
.hp-highlights .slider-arrows a.slick-disabled {
	opacity:.15;
	pointer-events:none;
}
.hp-highlights .slider-arrows a:hover {
	opacity:1;
}
.hp-highlights .slider-arrows a.prev {
	left:60px;
	transform:rotate(180deg);
}
.hp-highlights .slider-arrows a.next {
	right:60px;
}

@media(max-width:991px) {
	.hp-highlights .container {
		padding:0 120px;
	}
	
	.hp-highlights .slider-arrows a.prev {
		left:30px;
	}
	.hp-highlights .slider-arrows a.next {
		right:30px;
	}
}

@media(max-width:767px) {
	.hp-highlights {
		padding:40px 0;
	}
	.hp-highlights .container {
		padding:0 20px;
	}
	
	.hp-highlights .slider {
		margin:0 -20px;
		padding-bottom:30px;
	}
	.hp-highlights .slider > .slide {
		flex-basis:100%;
		max-width:100%;
	}
	.hp-highlights .slider .slide {
		padding:0 20px;
	}
	
	.hp-highlights .slider .slide p {
		font-size:16px;
	}
	
	.hp-highlights .slider-arrows {
		position:relative;
	}
	.hp-highlights .slider-arrows a.prev {
		left:0;
	}
	.hp-highlights .slider-arrows a.next {
		right:0;
	}
}


/*****************************************/
/********** HOMEPAGE CONTACT US **********/
/*****************************************/

.hp-contact-us {
	padding:160px 0;
	text-align:center;
	background-size:cover;
	background-position:center;
	position:relative;
}
.hp-contact-us::before {
	content:"";
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	background-color:#2c2c29;
	opacity:.75;
}

.hp-contact-us .container {
	position:relative;
}

.hp-contact-us h2 {
	font-size:30px;
	font-weight:bold;
	color:white;
	text-transform:uppercase;
	margin:0;
}
.hp-contact-us h2 i {
	display:block;
	font-size:2em;
	font-weight:300;
	text-transform:none;
	padding-top:20px;
}

.hp-contact-us .button {
	margin-top:70px;
	padding:30px 50px;
}
.hp-contact-us .button.button-outline.white::before {
	border-width:2px;
}

@supports(mix-blend-mode: multiply) {
	.hp-contact-us::before {
		opacity:1;
		mix-blend-mode:multiply;
	}
	
	.hp-banners .slider .slide img {
		position:absolute;
		top:0;bottom:0;
		left:0;right:0;
	}
}


@media(max-width:767px) {
	.hp-contact-us {
		padding:50px 0;
	}
	
	.hp-contact-us h2 {
		font-size:22px;
	}
	
	.hp-contact-us .button {
		margin-top:50px;
	}
}


/************************************/
/********** NEWSLETTER BAR **********/
/************************************/

.newsletter-bar {
	padding:45px 0 30px;
	background-color:#ef4845;
}
.newsletter-bar .container {
	display:flex;
}
.newsletter-bar .container > div:first-of-type {
	flex:1;
}

.newsletter-bar p {
	font-size:24px;
	font-weight:bold;
	color:white;
	text-transform:uppercase;
	margin:0;
	margin-top:8px;
}

.newsletter-remove p {
	font-size:12px;
	font-weight:bold;
	color:black;
	text-transform:uppercase;
	margin:0;
	margin-bottom:12px;
}

.newsletter-bar .form {
	text-align:right;
	font-size:0;
}
.newsletter-bar .form input {
	padding:18px 20px;
	background-color:#9c2725;
	border:none;
	width:450px;
	max-width:100%;
	font-size:12px;
	color:white;
	line-height:1;
	text-transform:uppercase;
	vertical-align:top;
}

.newsletter-bar .form a[submit] {
	padding:20px 50px 20px 20px;
	background-color:white;
	color:#9c2725;
}
.newsletter-bar .form a[submit]::before {
	content:normal;
}
.newsletter-bar .form a[submit] img {
	position:absolute;
	top:0;bottom:0;
	right:20px;
	margin:auto;
	width:13px;
	transition:inherit;
}
.newsletter-bar .form a[submit]:hover img {
	transform:translateX(5px);
}

.newsletter-bar .form .remove {
	display:inline-block;
	float:left;
	font-size:12px;
	font-weight:400;
	color:white !important;
	text-align:left;
	opacity:.5;
	margin-top:5px;
}
.newsletter-bar .form .remove:hover {
	opacity:1;
}

.newsletter-remove {
	position:fixed;
    width:400px;
    height:255px;
	max-width:100%;
    top:0;bottom:0;
    left:0;right:0;
    background:white;
    margin:auto;
    padding:40px 20px;
	z-index:11;
	opacity:0;
	pointer-events:none;
	transition:all .2s ease-in-out;
}
.newsletter-remove.open {
	opacity:1;
	pointer-events:auto;
}
.newsletter-remove img {
	display:block;
    margin:0 auto;
    margin-bottom:30px;
	width:60px;
}

.newsletter-remove .form a[submit] {
	position:absolute;
	right:20px;
	/*bottom:40px;*/
	height:51px;
	width:55px;
	padding-left:0;
}

.newsletter-bar .overlay {
	background-color:#1d1d1b;
	opacity:.8;
	position:fixed;
	top:0;left:0;
	right:0;bottom:0;
	z-index:10;
	opacity:0;
	pointer-events:none;
	transition:all .2s ease-in-out;
}
.newsletter-bar .overlay.open {
	opacity:.8;
	pointer-events:auto;
}

@media(max-width:991px) {
	.newsletter-bar p {
		margin-top:0;
	}
	
	.newsletter-bar .form input {
		padding-right:78px;
	}
	.newsletter-bar .form a[submit] {
		padding:25px 29px;
		height:51px;
		position:absolute;
		right:20px;
	}
}

@media(max-width:767px) {
	.newsletter-bar .container {
		display:block;
	}
	
	.newsletter-bar p {
		font-size:21px;
		margin-bottom:15px;
	}
	
	.newsletter-bar .form {
		text-align:left;
	}
	
	.newsletter-bar .form .remove {
		float:none;
	}
}


/****************************/
/********** FOOTER **********/
/****************************/

footer {
	padding:110px 0 80px;
	background-color:white;
}

footer ul {
	display:block;
	margin:0;
	padding:0;
	margin:-10px -16px;
	list-style:none;
	text-align:center;
	font-size:0;
}
footer ul li {
	padding:10px 16px;
	display:inline-block;
}
footer ul li h4 {
	font-size:16px;
	font-weight:bold;
	letter-spacing:.05em;
	color:#b5b5b5;
	text-transform:uppercase;
	margin:0;
}
footer ul li h4 a:hover {
	color:#ef4845;
}

footer .social {
	font-size:0;
	padding:50px 0;
	text-align:center;
}

footer .social a {
	display:inline-block;
	width:48px;
	height:48px;
	border:1px solid #ef4845;
	border-radius:100%;
	position:relative;
	transition:all .2s ease-in-out;
	margin:0 11px;
}
footer .social a:hover {
	background-color:#ef4845;
}

footer .social a > * {
	font-size:22px;
	color:#ef4845;
	display:block;
	text-align:center;
	position:relative;
	top:50%;
	transform:translateY(-50%);
	transition:inherit;
}
footer .social a:hover > * {
	color:white;
}

footer hr {
	width:85px;
	border-top:1px solid #ef4845;
	margin:0 auto;
}

footer > div > div:last-of-type {
	margin-top:45px;
	margin-bottom:-10px;
	text-align:center;
}
footer > div > div:last-of-type span {
	display:block;
	font-size:14px;
	font-weight:400;
	color:#666666;
	letter-spacing:.025em;
	padding:10px 0;
}
footer > div > div:last-of-type span a {
	color:#1d1d1b;
}
footer > div:last-of-type span a:hover {
	color:inherit;
}


@media(max-width:767px) {
	footer {
		padding:50px 0;
	}
	
	footer .social {
		padding:30px 0;
	}
	
	footer > div > div:last-of-type {
		margin-top:35px;
	}
}


/*************************************/
/********** TEMPLATE BANNER **********/
/*************************************/

.template-banner {
	background-size:cover;
	background-position:top;
	padding:160px 0 60px;
	position:relative;
	text-align:center;
}
.template-banner::before {
	content:"";
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	background-color:#1d1d1b;
	opacity:.8;
}

.template-banner .container {
	position:relative;
}

.template-banner ul {
	list-style:none;
	padding:0;
	margin-bottom:15px;
	font-size:12.5px;
	font-weight:bold;
	color:white;
	letter-spacing:.05em;
	text-transform:uppercase;
}
.template-banner ul li {
	display:inline-block;
}
.template-banner ul li a:hover {
	opacity:.5;
}

.template-banner h1 {
	font-size:48.5px;
	font-weight:400;
	color:white;
	line-height:1.25;
	text-transform:uppercase;
	margin:0;
}

@supports(mix-blend-mode: multiply) {
	.template-banner::before {
		background-color:#515151;
		mix-blend-mode:multiply;
		opacity:.85;
	}
}


/******************************/
/********** GLOSSARY **********/
/******************************/

#template .glossary .glossary-header {
	position:relative;
}

#template .glossary .glossary-header .row {
	margin:0;
	flex-wrap:nowrap;
	margin:0 -20px;
	overflow:auto;
}
#template .glossary .glossary-header .row > div {
	padding:0;
	padding-bottom:15px;
	border-bottom:1px solid #cdcbcb;
	font-size:18px;
	font-weight:bold;
	color:#1d1d1b;
	text-align:center;
	text-transform:uppercase;
	cursor:pointer;
	transition:all .2s ease-in-out;
	min-width:25px;
}
#template .glossary .glossary-header .row > div:first-child {
	margin-left:20px;
}
#template .glossary .glossary-header .row > div:last-child {
	margin-right:20px;
}
#template .glossary .glossary-header .row > div.active {
	color:#ef4845;
}
#template .glossary .glossary-header .row > div.disabled {
	color:rgba(29,29,27,.3);
	pointer-events:none;
}

#template .glossary .glossary-header .line {
	position:absolute;
	left:0;
	bottom:-1px;
	width:3.7%;
	height:4px;
	background-color:#ef4845;
	transition:all .4s ease-in-out;
	min-width:25px;
}

#template .glossary .glossary-tabs {
	margin-top:30px;
}
#template .glossary .glossary-tabs hr {
	margin:0;
	border-top:1px solid #e6e5e5;
}

#template .glossary .glossary-tabs > div {
	transition:all .2s ease-in-out;
}
#template .glossary .glossary-tabs > div.disabled {
	pointer-events:none
}
#template .glossary .glossary-tabs > div:hover, #template .glossary .glossary-tabs > div.open, #template .glossary .glossary-tabs > div.active {
	background-color:#efefef;
}

#template .glossary .glossary-tabs > div > div:first-of-type {
	padding:30px 20px;
	cursor:pointer;
	position:relative;
}

#template .glossary .glossary-tabs > div h2 {
	margin:0;
	padding:0;
	transition:all .2s ease-in-out;
}
#template .glossary .glossary-tabs > div > div:first-of-type h2 {
	font-size:24px;
	font-weight:400;
	color:#1d1d1b;
	line-height:1.25;
	text-transform:uppercase;
}
#template .glossary .glossary-tabs > div:hover > div:first-of-type h2, #template .glossary .glossary-tabs > div.open > div:first-of-type h2, #template .glossary .glossary-tabs > div.active > div:first-of-type h2 {
	color:#ef4845;
}

#template .glossary .glossary-tabs > div .toggle {
	display:block;
	position:absolute;
	top:0;bottom:0;
	right:20px;
	margin:auto;
	width:28px;
	height:28px;
}
#template .glossary .glossary-tabs > div.disabled .toggle {
	display:none;
}
#template .glossary .glossary-tabs > div .toggle::before, #template .glossary .glossary-tabs > div .toggle::after {
	content:"";
	position:absolute;
	top:0;bottom:0;
	left:0;
	margin:auto;
	width:100%;
	height:2px;
	background-color:#ef4845;
	transition:all .2s ease-in-out;
}
#template .glossary .glossary-tabs > div .toggle::after {
	transform:rotate(90deg);
}
#template .glossary .glossary-tabs > div.open .toggle::after, #template .glossary .glossary-tabs > div.active .toggle::after {
	transform:rotate(0deg);
}

#template .glossary .glossary-tabs > div .description {
	padding:0 20px;
	overflow:hidden;
	max-height:0;
	transition:all .2s ease-in-out;
}
#template .glossary .glossary-tabs > div.active .description {
	max-height:none;
}
#template .glossary .glossary-tabs > div .description > *:first-child {
	margin-top:10px;
}
#template .glossary .glossary-tabs > div .description > *:last-child {
	margin-bottom:50px;
}
#template .glossary .glossary-tabs > div .description * {
	font-size:20px;
	line-height:1.4;
	color:#666666;
}


@media(max-width:767px) {
	#template .glossary .glossary-tabs > div > div:first-of-type {
		padding:15px 10px;
		padding-right:40px;
	}
	
	#template .glossary .glossary-tabs > div > div:first-of-type h2 {
		font-size:18px;
	}
	#template .glossary .glossary-tabs > div .description p {
		font-size:16px;
	}
	
	#template .glossary .glossary-tabs > div .description {
		padding:0 10px;
	}
	
	#template .glossary .glossary-tabs > div .toggle {
		width:20px;
		height:20px;
		right:10px;
	}
}


/************************************/
/********** CONTACT US BAR **********/
/************************************/

.contact-us-bar {
	padding:80px 0;
	position:relative;
	background-position:center;
	background-size:cover;
}
.contact-us-bar::before {
	content:"";
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
	background-color:#1d1d1b;
	opacity:.8;
}

.contact-us-bar .container {
	position:relative;
}

.contact-us-bar p {
	font-size:30px;
	font-weight:bold;
	color:white;
	text-transform:uppercase;
	margin:0;
}
.contact-us-bar span {
	display:block;
	font-size:18px;
	color:white;
}

.contact-us-bar .button {
	padding:30px 50px;
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	right:20px;
}
.contact-us-bar .button.button-outline.white::before {
	border-width:2px;
}

@supports(mix-blend-mode: multiply) {
	.contact-us-bar::before {
		background-color:#515151;
		mix-blend-mode:multiply;
		opacity:1;
	}
}


@media(max-width:767px) {
	.contact-us-bar {
		padding:40px 0;
	}
	
	.contact-us-bar p {
		font-size:26px;
	}
	.contact-us-bar span {
		font-size:16px;
	}
	
	.contact-us-bar .button {
		position:static;
		transform:none;
		margin-top:30px;
	}
}