/*  ################################### */
/*  !GENERAL */
/*  ################################### */


	/* colours / weights

	black: 		#000000
	dark grey:	#3F3F4E
	beige:		#F7F6F4

	Barlow

	Thin 100
	ExtraLight 200
	Light 300
	Regular 400
	Medium 500
	SemiBold 600
	Bold 700
	ExtraBold 800
	Black 900

*/


	/* *, ::after, ::before {
  	box-sizing: border-box;
  	outline: 1px solid limegreen !important;
	} */

	html {
		overflow-x: hidden;
	}

	body {
		font-family: 'Lato', sans-serif;
		font-size: 16px;
		color: #000000;
		overflow-x: hidden;
		background: rgb(255,255,255);
		background: linear-gradient(180deg, rgba(247,246,244,1) 0%, rgba(255,255,255,1) 100%) no-repeat top;
		background-size: 100% 800px;
	}

	header {
		position: relative;
	}

	main {
		margin: 0 auto;
		margin-top: 0px;
	}

	.container-fluid {
		position: relative;
		margin: 0 auto;
		max-width: 1600px;
	}

	section.fluid,
	.offcanvas-collapse .container-fluid {
		max-width: 100%;
	}

	.text-red {color: #AC2229;}
	.text-grey {color: #8C7D7E;}
	.text-white {color: #fff;}

	.bg-grey {background-color: #FAF4F5;}
	.bg-dark {background-color: #484848 !important;}
	.bg-transparent {background-color: rgba(0, 0, 0, 1.0);}
	.bg-beige {background-color: #F7F6F4;}

	.h-55 {
		height: 55%!important;
	}

	.h-60 {
		height: 60%!important;
	}

	.h-65 {
		height: 65%!important;
	}

	.pt-250 {padding-top: 250px;}
	.pt-220 {padding-top: 220px;}
	.pt-200 {padding-top: 200px;}
	.pt-190 {padding-top: 190px;}
	.pt-170 {padding-top: 170px;}
	.pt-160 {padding-top: 160px;}
	.pt-150 {padding-top: 150px;}
	.pt-140 {padding-top: 140px;}
	.pt-135 {padding-top: 135px;}
	.pt-120 {padding-top: 120px;}
	.pt-110 {padding-top: 110px;}
	.pt-100 {padding-top: 100px;}
	.pt-80 {padding-top: 80px;}
	.pt-70 {padding-top: 70px;}
	.pt-60 {padding-top: 60px;}
	.pt-50 {padding-top: 50px;}
	.pt-40 {padding-top: 40px;}
	.pt-30 {padding-top: 30px;}

	.pb-250 {padding-bottom: 250px;}
	.pb-220 {padding-bottom: 220px;}
	.pb-200 {padding-bottom: 200px;}
	.pb-190 {padding-bottom: 190px;}
	.pb-180 {padding-bottom: 180px;}
	.pb-170 {padding-bottom: 170px;}
	.pb-160 {padding-bottom: 160px;}
	.pb-150 {padding-bottom: 150px;}
	.pb-140 {padding-bottom: 140px;}
	.pb-135 {padding-bottom: 135px;}
	.pb-120 {padding-bottom: 120px;}
	.pb-110 {padding-bottom: 110px;}
	.pb-100 {padding-bottom: 100px;}
	.pb-90 {padding-bottom: 90px;}
	.pb-80 {padding-bottom: 80px;}
	.pb-70 {padding-bottom: 70px;}
	.pb-50 {padding-bottom: 50px;}
	.pb-40 {padding-bottom: 40px;}
	.pb-35 {padding-bottom: 35px;}
	.pb-30 {padding-bottom: 30px;}

	.mt-250 {margin-top: 250px;}
	.mt-200 {margin-top: 200px;}
	.mt-150 {margin-top: 150px;}
	.mt-120 {margin-top: 120px;}
	.mt-100 {margin-top: 100px;}
	.mt-80 {margin-top: 80px;}
	.mt-70 {margin-top: 70px;}
	.mt-50 {margin-top: 50px;}
	.mt-35 {margin-top: 35px;}
	.mt-15 {margin-top: 15px;}

	.mb-250 {margin-bottom: 250px;}
	.mb-200 {margin-bottom: 200px;}
	.mb-150 {margin-bottom: 150px;}
	.mb-120 {margin-bottom: 120px;}
	.mb-100 {margin-bottom: 100px;}
	.mb-80 {margin-bottom: 80px;}
	.mb-50 {margin-bottom: 50px;}
	.mb-35 {margin-bottom: 35px;}

	.pu-250 {margin-top: -250px;}
	.pu-200 {margin-top: -200px;}
	.pu-150 {margin-top: -150px;}
	.pu-120 {margin-top: -120px;}
	.pu-100 {margin-top: -100px;}
	.pu-80 {margin-top: -80px;}
	.pu-50 {margin-top: -50px;}

	.px-50 {padding-left: 50px; padding-right: 50px;}

	.ml-n50, .mx-n50 {margin-left: -50%;}

	.w-100 {width: 100%;}

	.border-grey {
		border: #C8C8C8;
		border-right: #27c3ca;
	}

	@media (max-width: 767px) {
		.pt-sm-160 {padding-top: 160px !important;}
		.pt-sm-80 {padding-top: 80px !important;}
		.pt-sm-60 {padding-top: 60px !important;}
		.pt-sm-40 {padding-top: 40px !important;}

		.pb-sm-80 {padding-bottom: 80px !important;}
		.pb-sm-60 {padding-bottom: 60px !important;}
		.pb-sm-40 {padding-bottom: 40px !important;}
		.pb-sm-00 {padding-bottom: 0px !important;}

		.mt-sm-100 {margin-top: 100px !important;}
		.mt-sm-80 {margin-top: 80px !important;}
		.mt-sm-60 {margin-top: 60px !important;}
		.mt-sm-40 {margin-top: 40px !important;}
		.mt-sm-20 {margin-top: 20px !important;}

	}

	@media (max-width: 991px) {

		.pt-md-00 {padding-top: 0;}
		.pb-md-20 {padding-bottom: 20px;}

		.mt-md-00 {margin-top: 0;}

		.pu-md-00 {margin-top: 0;}

		.w-md-100 {width: 100% !important;}

		.vert-line-white-bottom {
			display: none;
		}

	}

	.img-fill {
		object-fit: cover;
		object-position: left;
		height: 100%;
	}


	/* CROP IMAGES */
	/* up to LG */
	@media only screen and (max-width: 991px) {
		.img-crop {
			object-fit: cover;
			object-position: center;
			/* max-height: 430px; */
			max-height: calc(100vw*0.5)
		}
	}


	@media (max-width: 991px) {

		.crop-md-360 img,
		img.crop-md-360,
		.crop-md-250 img,
		img.crop-md-250 {
		  object-fit: cover; /* Do not scale the image */
		  object-position: center; /* Center the image within the element */
		  width: 100%;
		  max-height: 360px;
		}

		.crop-md-250 img,
		img.crop-md-250 {
		  max-height: 250px;
		}

	}



/*  ################################### */
/*  !TYPOGRAPHY */
/*  ################################### */


	h1 {
		font-family: 'Barlow', sans-serif;
		font-size: 42px;
		line-height: 64px;
		font-weight: 600;
		letter-spacing: -1.37px;
		text-transform: none;
		color: #3F3F4E;
		margin-bottom: 60px;
	}

	h2 {
		font-family: 'Barlow', sans-serif;
		font-size: 62px ;
		line-height: 64px;
		font-weight: 300;
		letter-spacing: -2px;
		color: #3F3F4E;
		margin-bottom: 50px;
	}

	h2 span {
		font-size: 72px;
		font-weight: 600;
		line-height: 64px;
	}

	h3 {
		font-family: 'Barlow', sans-serif;
		font-size: 28px;
		line-height: 28px;
		letter-spacing: -0.91px;
		font-weight: 600;
		text-transform: uppercase;
		margin-bottom: 30px;
	}

	h4 {
		font-family: 'Barlow', sans-serif;
		font-size: 18px;
		line-height: 24px;
		font-weight: 600;
		text-transform: uppercase;
	}

	h5 {
		font-family: 'Barlow', sans-serif;
		font-size: 15px;
		line-height: 18px;
		letter-spacing: 0.83px;
		font-weight: 400;
		text-transform: uppercase;
	}


	h6 {
		font-size: 12px;
		line-height: 19px;
		font-weight: 400;
		text-transform: uppercase;
		color: #A7A7A7;
	}

	p {
		margin-bottom: 20px;
	}

	.lead-in p,
	p.lead-in {
		font-family: 'Lato', sans-serif;
		font-size: 20px;
		line-height: 34px;
		font-weight: 400;
		margin-bottom: 40px;
	}

	.small p,
	p.small {
		font-size: 14px;
		line-height: 24px;
		margin-bottom: 10px;
	}

	hr {
		opacity: 1;
	}



/* Used to remove the tiny space between 2 buttons in Lead-In section */
	.fs-0 {
		font-size: 0;
	}
/*  */



/*  ################################### */
/*  !NAVIGATION — Q */
/*  ################################### */


.navbar {
	/* display: flex; */
	align-items: flex-start;
	padding: 0;
	margin: 40px 40px 0;
}


@media (max-width: 991px) {
	
	.navbar {
		/* display: flex; */
		align-items: flex-start;
		padding: 0;
		margin: 40px 20px 0;
	}
	
}

#header.unpinned .navbar {
	margin-top: 0;
}

.navbar .navbar-col {
	display: flex;
	align-items: center;
	height: 66px;
	z-index: 10;
}

.navbar .hamburger {
	padding: 24px;
}

.navbar .navbar-brand {
	font-size: 0;
	padding: 25px;
	margin: 0;
}

#header .border-dark {
	border-color: #3F3F4E !important;
}

.navbar .navbar-social,
.navbar .navbar-contact {
	padding: 0;
	margin: 0;
	list-style: none;
}

.navbar .navbar-social {
	padding-right: 25px;
}

.navbar .navbar-social a {
	font-size: 20px;
	color: #3F3F4E;
	padding: 15px;
}

.navbar .navbar-contact {
	padding: 0 40px;
}

.navbar .navbar-contact a {
	font-family: 'Barlow', sans-serif;
	font-weight: 700;
	color: #3F3F4E;
	text-transform: uppercase;
}

.navbar .navbar-social a:hover,
.navbar .navbar-contact a:hover {
	opacity: .7;
}

.offcanvas-collapse {
	position: fixed;
	top: 0px; /* Height of navbar */
	bottom: 0;
	left: -100%;
	width: 100%;
	padding-right: 0rem;
	padding-left: 0rem;
	overflow-y: auto;
	visibility: hidden;
	background-color: #ffffff;
	transition: visibility 0.8s ease-in-out, -webkit-transform 0.8s ease-in-out;
	transition: transform 0.8s ease-in-out, visibility 0.8s ease-in-out;
	transition: transform 0.8s ease-in-out, visibility 0.8s ease-in-out,
	-webkit-transform 0.8s ease-in-out;
}

.offcanvas-collapse.open {
	visibility: visible;
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
}

.menu-link {
	text-align: center;
	height: calc(50vh - 62px); /* subtract half the height of the header */
}

.menu-link a {
	display: flex;
	width: 100%;
	height: 100%;
	font-family: "Barlow", sans-serif;
	font-size: 2.75rem;
	line-height: 3rem;
	font-weight: 600;
	color: #3F3F4E;
	text-transform: uppercase;
	align-items: center;
	justify-content: center;
	border-right: 1px solid #e0dddd;
	border-top: 1px solid #e0dddd;
	transition: color 0.5s ease-in-out, background 0.3s ease-in-out,
	border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out,
	opacity 0.3s ease-in-out !important;
}

.menu-link:nth-child(2) a,
.menu-link:nth-child(4) a {
	border-right: none;
}

.menu-link a:hover {
	color: #272727;
	background: #F7F6F4;
}

/* Stack menu items when smaller than MD */
@media only screen and (max-width: 767px) {
	.menu-link {
		height: calc(100vh / 4 - 31px); /* subtract 1/4 the height of the header */
	}

	.menu-link a {
		font-size: 1.75rem;
		line-height: 2rem;
		border-right: none;
	}
}

.hamburger-inner,
.hamburger-inner::after,
.hamburger-inner::before,
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::after,
.hamburger.is-active .hamburger-inner::before {
	width: 30px;
	height: 3px;
	background-color: #3F3F4E;
}

.hamburger-label {
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 500;
	color: #3F3F4E !important;
	text-transform: uppercase;
	margin-right: 10px;
}

.hamburger-box {
	width: 40px;
	height: 11px;
}

.hamburger--arrow-r.is-active .hamburger-inner::before {
	transform: translate3d(9px, 1px, 0) rotate(45deg) scaleX(0.7);
}

.hamburger--arrow-r.is-active .hamburger-inner::after {
	transform: translate3d(9px, -1px, 0) rotate(-45deg) scaleX(0.7);
}

.hamburger-inner::before {
	top: -8px;
}

.hamburger-inner::after {
	bottom: -8px;
}

.navbar,
.navbar a,
.border-dark,
#homepage .hamburger-inner,
#homepage .hamburger-label,
#homepage #logo {
	transition: all 0.5s;
}

#header.unpinned:not(.menu-open) .navbar {
	background-color: #fff;
	/* background-color: rgba(255,255,255,0.5); */
}

#homepage #header:not(.unpinned):not(.menu-open) #logo {
	filter: grayscale(100%) brightness(450%);
}

#homepage #header:not(.unpinned):not(.menu-open) .hamburger-label,
#homepage #header:not(.unpinned):not(.menu-open) a {
	color: #fff !important;
}

#homepage #header:not(.unpinned):not(.menu-open) .border-dark {
	border-color: #fff !important;
}

#homepage #header:not(.unpinned):not(.menu-open) .hamburger-inner,
#homepage #header:not(.unpinned):not(.menu-open) .hamburger-inner::after,
#homepage #header:not(.unpinned):not(.menu-open) .hamburger-inner::before,
#homepage
#header:not(.unpinned):not(.menu-open)
.hamburger.is-active
.hamburger-inner,
#homepage
#header:not(.unpinned):not(.menu-open)
.hamburger.is-active
.hamburger-inner::after,
#homepage
#header:not(.unpinned):not(.menu-open)
.hamburger.is-active
.hamburger-inner::before {
	background-color: #fff;
}


/*  ################################### */
/*  !FOOTER */
/*  ################################### */

footer ul {
	list-style-type: none;
	padding-left: 0px;
}


/* FOOTER-TOP */

.footer-top ul li {
	padding-bottom: 15px;

}

.footer-top ul li a {
	text-transform: none;
	text-decoration: none;
	color: black;
}

.footer-top ul li a:hover {
    color: #A5A7A8;
}

.footer-top ul li:nth-child(1) {
	text-transform: uppercase;
	font-weight: 700;
}

/* FOOTER-MIDDLE */
.footer-middle .city {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;

}

.footer-middle .address {
	font-size: 12px;
}

.footer-middle .phone {
	display: block;
	color: black;
	text-decoration: none;
	padding-bottom: 16px;
}

.footer-middle .email {
	color: black;
	text-decoration: none;
	font-weight: 700;
	font-size: 14px;
}

.footer-middle a:hover {
    color: #A5A7A8;
}

/* FOOTER-BOTTOM */

footer {
	background-color: #F7F6F4;
}

.footer-bottom ul a {
	font-size: 12px;
	font-weight: 400;
	color: #A7A7A7;
	padding-left: 30px;
	text-decoration: none;
	text-transform: uppercase;
}

.footer-bottom ul a:hover {
	text-decoration: underline;
}

.footer-bottom ul a:nth-child(1) {
	padding-left: 0px ;
}




/*  ###################################  */
/*  !CAROUSEL  */
/*  ###################################  */


	#uaCarousel .carousel-item {
		width: 100%;
		height: 600px;
		background-color: #fff;
	}

	#uaCarousel .carousel-item img {
		position: absolute;
		left: 0;
		top: 0;
		width: 65%;
		height: 600px;
		object-fit: cover;
		object-position: center;
	}

	#uaCarousel .carousel-caption {
		width: 30%;
		left: auto;
		right: 0;
		top: 0;
		text-align: left;
	}

	#uaCarousel .carousel-caption h4 {
		font-size: 22px;
	}

	#uaCarousel .carousel-controls {
		position: absolute;
		display: flex;
		width: 100%;
		bottom: 0;
		justify-content: flex-end;
		z-index: 9;
	}

	#uaCarousel .carousel-controls-wrapper {
		position: relative;
		display: flex;
		width: 30%;
		height: 75px;
		justify-content: flex-start;
		align-items: flex-end;
		background: #fff;
	}

	#uaCarousel .carousel-control-link {
		display: block;
		position: relative;
		top: 3px;
		margin-left: 30px;
		padding: 10px 0 10px 30px;
		border-left: 1px solid #000;
		color: #000;
		font-weight: bold;
		text-transform: uppercase;
	}

	#uaCarousel .carousel-control-next,
	#uaCarousel .carousel-control-prev {
		position: relative;
		top: 0;
		bottom: 0;
		z-index: 9;
		display: flex;
		align-items: center;
		justify-content: center;
		width: auto;
		padding: 10px 10px;
		color: #272727;
		text-align: center;
		background: #fff;
		border: 0;
		opacity: 1;
		transition: opacity .15s ease;
	}

	#uaCarousel .carousel-control-next-icon,
	#uaCarousel .carousel-control-prev-icon {
		display: inline-block;
		width: 1rem;
		height: 1rem;
		background-repeat: no-repeat;
		background-position: 50%;
		background-size: 100% 100%;
	}


	/* Stack menu items when smaller than LG */
	@media only screen and (max-width: 1024px) {

		#uaCarousel .carousel-item {
			width: 100%;
			height: auto;
			background-color: #fff;
		}

		#uaCarousel .carousel-item img {
			position: relative;
			left: 0;
			top: 0;
			width: 100%;
			height: auto;
		}

		#uaCarousel .carousel-caption {
			position: relative;
			width: 100%;
			left: auto;
			right: 0;
			top: 0;
			text-align: left;
		}

		#uaCarousel .carousel-controls {
			position: relative;
			display: flex;
			width: 100%;
			bottom: 0;
			justify-content: flex-end;
			z-index: 9;
		}

		#uaCarousel .carousel-controls-wrapper {
			position: relative;
			display: flex;
			width: 100%;
			height: 75px;
			justify-content: center;
			align-items: flex-end;
			background: #fff;
		}

	}

	.bg-beige #uaCarousel .carousel-item,
	.bg-beige #uaCarousel .carousel-controls-wrapper,
	.bg-beige #uaCarousel .carousel-control-next,
	.bg-beige #uaCarousel .carousel-control-prev {
		background: #F7F6F4;
	}

	/* #uaCarousel .carousel-controls .carousel-indicators {
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 2;
		display: block;
		justify-content: center;
		padding: 0;
		margin-right: 0;
		margin-bottom: 0;
		margin-left: 0;
		list-style: none;
		background: #ccc;
	}

	#uaCarousel .carousel-controls .carousel-indicators .carousel-item-index {
		position: relative;
		top: 2px;
		bottom: 0;
		z-index: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		width: auto;
		padding: 0 10px;
		font-size: 13px;
		color: #272727;
		text-align: center;
		background: #fff;
		border: 0;
		opacity: .25;
		transition: opacity .15s ease;
	}

	#uaCarousel .carousel-controls .carousel-indicators .carousel-item-index.active {
		opacity: 1;
	} */

	/* #uaCarousel .carousel-indicators li {
	    background-color: rgba(0,0,0,0.6);
	    border: 14px solid rgba(0,0,0,0);
	}

	#uaCarousel .carousel-indicators .active {
		opacity: 1;
		border: 14px solid rgba(0,0,0,0.15);
	} */




	/*
		######################################################################
		CONTACT
		######################################################################
	*/


	.contact-information p {
		margin-bottom: 40px;
	}


	.contact{
		max-width: 970px;
		margin:50px auto 0;
	}

	input,textarea,button{
		-webkit-transition: all 0.3s;
		-moz-transition: all 0.3s;
		transition: all 0.3s;
	}

	/* REMOVE BRAKES ADDED WITH ERROR MESSAGE */
	#cf-contact-form br {
		display: none;
	}

	#cf-contact-form .wpcf7-not-valid-tip {
	    margin-bottom: 18px;
	    margin-top: -10px;
	}

	#cf-contact-form .wpcf7-response-output {
	    margin: 1em 0.5em 1em;
	    padding: 1em 1em;
	    text-align: center;
	}

	#cf-contact-form .light-form{
/* 		background:#fafafa; */
		border:1px solid #E7E7E7;
	}

	#cf-contact-form input {
		width:100%;
		height: auto;
		padding:15px 15px 12px;
		font-size:18px;
		margin-bottom:18px;
/* 		color:#7f7f7f; */
		letter-spacing: 0.5px;
	}

	#cf-contact-form textarea {
		width:100%;
		height: auto;
		padding:15px 15px 12px;
		font-size:18px;
		margin-bottom:18px;
/* 		color:#7f7f7f; */
		letter-spacing: 0.5px;
		max-width: 100%;
		max-height: 201px;
	}

	#cf-contact-form .contact-form-button:hover{
		color:white;
		background-color: #787878;
	}

	/* Actives, Focuses and Rollovers */

	#cf-contact-form input:active,
	#cf-contact-form input:focus,
	#cf-contact-form textarea:active,
	#cf-contact-form textarea:focus {
		outline: none;
	}

	#cf-contact-form .light-form:hover{
		border-color: #787878;
	}

	section#contact-map .container-fluid {
		padding: 0;
	}

	.map-responsive{
	    overflow:hidden;
	    padding-bottom:50%;
	    position:relative;
	    height:0;
	    margin-top: 100px;
	    margin-bottom: -100px;
	}
	.map-responsive iframe{
	    left:0;
	    top:0;
	    height:100%;
	    width:100%;
	    position:absolute;
	}



