html{}

body{
	background-color:#0E0E0E;
    font-family: "DM Sans", sans-serif;
}

.site-container{
	margin:0 auto;
	overflow-x: hidden;
}

.desktop-only{
	display:none !important;
}

@media screen and (min-width: 40em){
	
	.desktop-only{
		display:block !important;
	}

}

@media screen and (min-width: 75em){
	

}


/* Typography */

h1{
	color:#405952;
	font-size:2.75rem;
	font-weight: 400;
	line-height:1.3636em;
	margin:0 0 2.5rem 0;
}

h2{
	color:#405952;
	font-size:2.75rem;
	font-weight:600;
	line-height:1.3636em;
	margin:1.25rem 0;
}

h2:first-child{margin-top:0;}

h3{
	color:#0D3A6C;
	font-size:1.25rem;
	font-weight:600;
	line-height:1.3em;
	margin:1.25rem 0;
}

h3:first-child{margin-top:0;}

p{
	color:#405952;
	font-size:1.25rem;
	line-height:1.35em;
	margin:1.75rem 0;
}

p:first-child{margin-top:0;}
p:last-child{margin-bottom:0;}

ul{
	margin:1.25rem 0;
	padding-left:0;
}
ul:first-child{margin-top:0;}
ul:last-child{margin-bottom:0;}

li{
	color:#405952;
	font-size:1rem;
	line-height:1.375em;
	margin:1.25rem 1.75rem;
	padding-left:1rem;
	position:relative;
}
li:first-child{margin-top:0;}
li:last-child{margin-bottom:0;}

a{
	color:#405952;
	text-decoration:none;
}

a:hover{text-decoration:underline;}

span.small{
	font-size:0.875rem;
}

hr{
	appearance:none;
	-webkit-appearance:none;
	border:0;
	background-color:#D9D9D9;
	height:1px;
	margin:0.75rem 0;
	overflow:hidden;
}

@media screen and (min-width: 40em){

	h1{
		font-size:2.75rem;
		line-height:1.3636em;
		margin:1.8125rem 0 3rem 0;
	}

	h2{
		font-size:2.5rem;
		line-height:1.230769em;
		margin:1.8125rem 0;
	}

	h3{
		font-size:2.5rem;
		line-height:1.230769em;
		margin:1.8125rem 0;
	}

	p{
		font-size:1.5rem;
		line-height: 1.375em;
		margin:2rem 0;
	}

	p:first-child{margin-top:0;}
	p:last-child{margin-bottom:0;}

	span.small{
		font-size:1rem;
	}

	li{
		font-size:1.5rem;
		line-height: 1.375em;
		margin:2rem 0;
	}

	hr{
		margin:1.75rem 0;
	}
}

.mobile-hidden-block{display:none !important;}
.mobile-hidden-inline-block{display:none !important;}
.mobile-hidden-flex{display:none !important;}
.desktop-hidden-block{display:block !important;}
.desktop-hidden-inline-block{display:inline-block !important;}
.desktop-hidden-flex{display:flex !important;}

@media screen and (min-width: 56.25em) {
	.mobile-hidden-block{display:block !important;}
	.mobile-hidden-inline-block{display:inline-block !important;}
	.mobile-hidden-flex{display:flex !important;}
	.desktop-hidden-block{display:none !important;}
	.desktop-hidden-inline-block{display:none !important;}
	.desktop-hidden-flex{display:none !important;}
}


/* HEADER */

.site-header{
	padding:1.75rem 0 1.875rem 0;
	position:absolute;
	width:100%;
}

.site-header-inner{
	margin-left:auto;
	margin-right:auto;
	width:81%;
}

.site-header-row{
	align-items:center;
	display:flex;
	justify-content:space-between;
}

.site-header .logo img{
	display:block;
	height:auto;
	max-width:157px;
	width:9.8125rem;
}

.site-header .mobile-nav-button a,
.site-header-nav .mobile-nav-button a{
	height:2.5rem;
	max-height:40px;
	max-width:40px;
	width:2.5rem;
}

.site-header .mobile-nav-button a img,
.site-header-nav .mobile-nav-button a img{
	display:block;
	height:auto;
	margin:0 0 0 auto;
	max-width:29px;
	width:1.8125rem;
}

.nav-block{
	display:none;
}

@media screen and (min-width: 40em){

	.site-header{
		padding:3.5rem 0 3.75rem 0;
	}
	
	.site-header .logo img{
		max-width:314px;
		width:19.625rem;
	}

	.site-header .mobile-nav-button a,
	.site-header-nav .mobile-nav-button a{
		height:5rem;
		max-height:80px;
		max-width:80px;
		width:5rem;
	}
	
	.site-header .mobile-nav-button a img,
	.site-header-nav .mobile-nav-button a img{
		max-width:58px;
		width:3.625rem;
	}

}

@media screen and (min-width: 56.25em){

	.site-header{
		padding:3.375rem 0 1.875rem 0;
	}
	
	.site-header-inner{
		width:89%;
	}
	
	.site-header .logo img{
		display:block;
		height:auto;
		max-width:314px;
		width:19.625rem;
	}
	
	.site-header-row{
		align-items:flex-end;
	}

	.site-header .mobile-nav-button{
		display:none;
	}

	.nav-block{
		display:block;
	}

}

/* NAV */

.nav-mobile{
	background-color:#0E0E0E;
	bottom:0;
	display:none;
	left:0;
	overflow-y:auto;
	position:fixed;
	right:0;
	top:0;
	z-index:1000;
}

.site-header-nav{
	padding:1.75rem 0 1.875rem 0;
	margin-left:auto;
	margin-right:auto;
	width:81%;
}

.site-header-nav-inner{
	align-items:center;
	display:flex;
	justify-content:space-between;
}

.site-header-nav .logo img{
	display:block;
	height:auto;
	max-width:157px;
	width:9.8125rem;
}

.site-mobile-nav nav{
	border-top:1px solid #D9D9D9;
	margin-top:0;
}
.site-mobile-nav nav ul{
	list-style-type:none;
	margin:0;
	padding:0;
}

.site-mobile-nav nav ul li{
	border-bottom:1px solid #D9D9D9;
	display:block;
	margin:0rem 0;
	padding:0 0;
}

.site-mobile-nav nav ul li a{
	color:#D9D9D9;
	display:block;
	font-size:1.25rem;
	font-weight:400;
	line-height:1em;
	padding:1rem 9.5%;
	text-align:left;
	text-decoration:none;
	text-transform:uppercase;
	width:81%;
}

.site-mobile-nav nav ul li.current-page-ancestor a,
.site-mobile-nav nav ul li.current-menu-item a,
.site-mobile-nav nav ul li.on a{
	color:#44AA8F;
}

.nav-mobile .contact-info{
	bottom:2.75rem;
	left:9.5%;
	position:absolute;
	right:9.5%;
}
.nav-mobile .contact-info .contact-info-content{
	display:flex;
	align-items:flex-end;
	gap:40px;
	margin-bottom:1.5rem;
}
.nav-mobile .contact-info .contact-info-content > div p{
	color:#FFFFFF;
	font-size:0.4375rem;
	font-weight:500;
	letter-spacing: 0.1em;
	line-height:normal;
	text-transform:uppercase;
}
.nav-mobile .contact-info .contact-info-content > div p a{
	color:#FFFFFF;
	text-decoration:none;
}

.nav-mobile .contact-info .contact-info-content > div p a:hover{
	color:#44AA8F;
}

.nav-mobile .contact-info .contact-info-content > div p a img{
	/*display:block;*/
	margin-bottom:2px;
}

@media screen and (min-width: 40em){
	
	.site-header-nav{
		padding:3.5rem 0 3.75rem 0;
	}

	.site-header-nav .logo img{
		max-width:314px;
		width:19.625rem;
	}

	.site-mobile-nav nav ul li a{
		font-size:2.5rem;
		padding:2rem 9.5%;
	}

	.nav-mobile .contact-info{
		bottom:5.5rem;
	}
	.nav-mobile .contact-info .contact-info-content{
		gap:80px;
		margin-bottom:3rem;
	}
	.nav-mobile .contact-info .contact-info-content > div p{
		font-size:0.875rem;
	}

}

@media screen and (min-width: 56.25em){

	.site-header-nav{
		width:89%;
	}

	.nav-desktop nav > ul{
		align-items:center;
		display:flex;
		gap:18px;
		justify-content:flex-end;
		list-style-type: none;
		margin:0;
		padding:0;
	}
	
	.nav-desktop nav > ul > li{
		line-height:1em;
		margin:0 0;
		padding:0;
	}
	
	.nav-desktop nav > ul > li a{
		color:#FFFFFF;
		display:block;
		font-size:1.25rem;
		font-weight:500;
		line-height:1em;
		text-decoration:none;
		text-transform: uppercase;
	}

	.nav-desktop nav > ul > li.current-page-ancestor a,
	.nav-desktop nav > ul > li.current-menu-item a,
	.nav-desktop nav > ul > li.on a{
		color:#44AA8F;
	}

	.nav-desktop nav > ul > li a:hover{
		color:#44AA8F;
		text-decoration:none;
	}

}

/* FOOTER */

.site-footer{
	margin:0;
	padding:2.1875rem 0 2.5rem 0;
}

.site-footer-inner{
	margin-left:auto;
	margin-right:auto;
	width:81%;
}

.site-footer-row .site-footer-content{
	align-items:flex-end;
	display:flex;
	gap:40px;
	justify-content:flex-start;

}

.site-footer-content p{
	color:#FFFFFF;
	font-size:0.5625rem;
	font-weight:500;
	letter-spacing: 0.1em;
	line-height:normal;
	text-transform:uppercase;
}
.site-footer-content p a{
	color:#FFFFFF;
	text-decoration:none;
}
.site-footer-content p a:hover{
	color:#44AA8F;
	text-decoration:none;
}

.site-footer-content p a img{
	display:inline-block;
	margin-bottom:2px;
}

.footer-logo a{
	text-decoration:none;
}
.footer-logo a:hover{
	opacity:0.8;
}

.footer-logo img{
	display:block;
	height:1.375rem;
	margin-top:1.5rem;
	width:9.375rem;
}

@media screen and (min-width: 40em) {

	.site-footer{
		padding:4.375rem 0 5rem 0;
	}
	
	.site-footer-row .site-footer-content{
		gap:80px;	
	}
	
	.site-footer-content p{
		font-size:0.875rem;
	}
	
	.footer-logo img{
		height:2.75rem;
		margin-top:3rem;
		width:18.75rem;
	}
	
}

@media screen and (min-width: 56.25em){

	.site-footer{
		padding:5rem 0 4rem 0;
	}

	.site-footer-inner{
		width:89%;
	}

	.site-footer-row{
		align-items:flex-end;
		display:flex;
		justify-content:space-between;
	}

	.site-footer-row .site-footer-content{
		gap:3rem;
	}

	.site-footer-content p{
		font-size:0.75rem;
	}

	.site-footer-content p a img{
		height:21px;
		margin-bottom:4px;
		width:21px;
	}

	.footer-logo img{
		height:2.0625rem;
		width:14.0625rem;
	}


}

/* Global */

a.button{
	background-color:transparent;
	border:1px solid #3F9A82;
	border-radius:3rem;	
	box-sizing:border-box;
	color:#3F9A82;
	display:inline-block;
	font-size:0.625rem;
	font-weight:500;
	letter-spacing:0.1em;
	line-height:1em;
	margin:0.5rem 0;
	width:auto;
	padding:0.5rem 1rem;
	text-align:center;
	text-decoration: none;
	text-transform: uppercase;
}

a.button:hover{
	background-color:#3F9A82;
	color:#FFF;
}

a.button.button-white{
	border:1px solid #FFF;
	background-color:transparent;
	color:#FFF;
}

a.button.button-white:hover{
	background-color:#FFF;
	color:#3F9A82;
}

@media screen and (min-width: 40em){

	a.button{
		font-size:1rem;
		margin:2.5rem 0;
		padding:1.25rem 2.5rem;
	}

}

@media screen and (min-width: 56.25em){

	a.button{
		border-width:2px;
		font-size:0.875rem;
		line-height:1em;
		margin:1.5rem 0;
		padding:1rem 2rem;
	}

}


/* Pages: Homepage */

.homepage-content{
	/*background:url('../image/pages/bg-home-mobile.jpg') bottom left no-repeat;*/
	/*background-size:100% auto;*/
	background-position:bottom left;
	background-repeat:no-repeat;
	background-size:cover;
}

.homepage-content-top{
	border-bottom:1px solid #D9D9D9;
	padding:8.875rem 9.5% 2.25rem 9.5%;
}

.homepage-content-top h1{
	color:#D9D9D9;
	font-size:1.25rem;
	font-weight:400;
	line-height:normal;
	margin:0;
	max-width:270px;
}

.homepage-content-top p{
	color:#D9D9D9;
	font-size:0.8125rem;
	font-weight:400;
	line-height:normal;
	margin:1.1875rem 0 0 0;
	max-width:270px;
}

.homepage-content-bottom{
	background-image:url('../image/pages/bg-deco-green-circle.svg');
	background-position:bottom -58px right -139px;
	background-repeat: no-repeat;
	background-size:268px auto;
	border-bottom:1px solid #D9D9D9;
	padding:2.25rem 9.5% 2.25rem 9.5%;
}

.homepage-content-bottom .homepage-content-left{
	display: none;
}

.homepage-content-bottom h1,
.homepage-content-bottom h2.h1-style{
	background-image:url('../image/global/deco-circle.svg');
	background-position:0 5px;
	background-repeat: no-repeat;
	background-size:auto 12px;
	color:#FFFFFF;
	font-size:1.0625rem;
	font-weight:400;
	line-height:normal;
	margin:0 0 1.625rem 0;
	padding-left:1.5rem;
}

.homepage-services{
	align-items: stretch;
	display:flex;
	flex-wrap:wrap;
	gap:2.5rem 34px;
	justify-content:flex-start;
	margin-bottom:2.8125rem;
}

.homepage-services > div{
	align-items: flex-end;
	display:flex;
	position: relative;
}

.homepage-services > div > p{
	color:#D9D9D9;
	font-size:0.8125rem;
	line-height:1.153846em;
	margin:0;
	max-width:86px;
}

.homepage-services > div > p.abbr{
	color:#EDEDED;
	font-size:0.5rem;
	margin-top:0.625rem;
	opacity:0.5;
	position:absolute;
	top:100%;
}

.homepage-services > div > p a{
	color:#D9D9D9;
}

@media screen and (min-width: 40em){
	
	.homepage-content-top{
		padding:17.75rem 9.5% 4.5rem 9.5%;
	}
	
	.homepage-content-top h1{
		font-size:2.5rem;
		max-width:540px;
	}
	
	.homepage-content-top p{
		font-size:1.625rem;
		margin:2.375rem 0 0 0;
		max-width:540px;
	}
	
	.homepage-content-bottom{
		background-position:bottom -58px right -139px;
		background-size:268px auto;
		padding:4.5rem 9.5% 4.5rem 9.5%;
	}
	
	.homepage-content-bottom h1,
	.homepage-content-bottom h2.h1-style{
		background-position:0 10px;
		background-size:auto 24px;
		font-size:2.125rem;
		margin:0 0 3.25rem 0;
		padding-left:3rem;
	}
	
	.homepage-services{
		gap:5rem 68px;
		margin-bottom:5.625rem;
	}
	
	.homepage-services > div > p{
		font-size:1.625rem;
		max-width:172px;
	}
	
	.homepage-services > div > p.abbr{
		font-size:1rem;
		margin-top:1.25rem;
	}

}	

@media screen and (min-width: 56.25em){

	.homepage-content{
		/*background:url('../image/pages/bg-home-desktop.jpg') bottom left no-repeat;*/
		background-position:bottom left;
		background-repeat:no-repeat;
		background-size:cover;
	}

	.homepage-content-top{
		border-bottom:1px solid #D9D9D9;
		padding:23.5625rem 5.5% 4.5rem 5.5%;
	}

	.homepage-content-top h1{
		font-size:2.75rem;
		max-width:580px;
	}

	.homepage-content-top p{
		display:none;
	}

	.homepage-content-bottom{
		align-items:stretch;
		background-image:none;
		border-bottom:1px solid #D9D9D9;
		display:flex;
		justify-content:space-between;
		min-height:600px;
		padding:0;
	}
	
	.homepage-content-bottom .homepage-content-left{
		background-image:url('../image/pages/bg-deco-green-circle.svg');
		background-position:bottom -278px left -180px;
		background-repeat: no-repeat;
		background-size:540px auto;
		border-right:1px solid #D9D9D9;
		box-sizing:border-box;
		display: block;
		padding:4.5rem 5.5% 4.5rem 5.5%;
		width:calc(50% - 1px);
	}

	.homepage-content-bottom .homepage-content-left p{
		color:#D9D9D9;
		font-size:1.375rem;
		line-height:normal;
		max-width:480px;
	}

	.homepage-content-bottom .homepage-content-right{
		box-sizing:border-box;
		padding:4.5rem 5.5% 4.5rem 5.5%;
		width:50%;
	}

	.homepage-content-bottom h1{
		background-position:0 9px;
		background-size:auto 25px;
		font-size:2.125rem;
		margin:0 0 4.375rem 0;
		padding-left:3.125rem;
	}

	.homepage-services{
		align-items: stretch;
		display:flex;
		flex-wrap:wrap;
		gap:4.875rem 4.875rem;
		justify-content:flex-start;
		margin-bottom:2.8125rem;
	}

	.homepage-services > div{
		align-items: flex-end;
		display:flex;
		position: relative;
	}

	.homepage-services > div > p{
		font-size:1.375rem;
		line-height:normal;
		max-width:144px;
	}

	.homepage-services > div > p.abbr{
		font-size:1rem;
		margin-top:0.625rem;
	}
}

@media screen and (min-width: 75em){
	
	.homepage-content-bottom .homepage-content-left{
		background-position:bottom -420px left -200px;
		background-size:820px auto;
	}

}



/* CTA - Our Team */

.cta-our-team{
	/*background-image:url('../image/pages/bg-home-team-mobile.jpg');*/
	background-position:center right;
	background-repeat: no-repeat;
	background-size:auto 100%;
	padding:1.75rem 9.5% 1.75rem 9.5%;
}

.cta-our-team h1,
.cta-our-team h2.h1-style{
	background-image:url('../image/global/deco-circle.svg');
	background-position:0 5px;
	background-repeat: no-repeat;
	background-size:auto 12px;
	color:#FFFFFF;
	font-size:1.0625rem;
	font-weight:400;
	line-height:normal;
	margin:0 0 1rem 0;
	padding-left:1.5rem;
}

.cta-our-team p{
	color:#FFFFFF;
	font-size:0.75390625rem;
	font-weight:400;
	line-height:normal;
	margin:1rem 0 1.25rem 0;
	max-width:175px;
}

.cta-our-team div{
	text-align:left;
}

.cta-our-team a.button{
	margin:0 0 0 0;
}

@media screen and (min-width: 30em){

	.cta-our-team{
		padding:3.75rem 9.5% 3.75rem 9.5%;
	}

}

@media screen and (min-width: 40em){

	.cta-our-team{
		padding:7.5rem 9.5% 7.5rem 9.5%;
	}
	
	.cta-our-team h1,
	.cta-our-team h2.h1-style{
		background-position:0 10px;
		background-size:auto 24px;
		font-size:2.125rem;
		margin:0 0 2rem 0;
		padding-left:3rem;
	}
	
	.cta-our-team p{
		font-size:1.5078125rem;
		margin:1rem 0 2.5rem 0;
		max-width:350px;
	}
	
}	

@media screen and (min-width: 56.25em){

	.cta-our-team{
		/*background-image:url('../image/pages/bg-home-team-desktop.jpg');*/
		background-position:center center;
		padding:5.625rem 5.5% 5.625rem 5.5%;
	}

	.cta-our-team h1{
		background-position:0 9px;
		background-size:auto 25px;
		font-size:2.125rem;
		margin:0 0 3.25rem 0;
		padding-left:3.125rem;
	}

	.cta-our-team p{
		font-size:1.25rem;
		margin:1rem 0 3.5rem 0;
		max-width:490px;
	}

}

/* CTA - Why Choose */

.cta-why{
	/*background-image:url('../image/pages/bg-home-team-mobile.jpg');*/
	background-position:center right;
	background-repeat: no-repeat;
	background-size:auto 100%;
	padding:1.75rem 9.5% 1.75rem 9.5%;
}

.cta-why h1,
.cta-why h2.h1-style{
	background-image:url('../image/global/deco-circle.svg');
	background-position:0 5px;
	background-repeat: no-repeat;
	background-size:auto 12px;
	color:#FFFFFF;
	font-size:1.0625rem;
	font-weight:400;
	line-height:normal;
	margin:0 0 1rem 0;
	padding-left:1.5rem;
}

.cta-why p{
	color:#FFFFFF;
	font-size:0.75390625rem;
	font-weight:400;
	line-height:normal;
	margin:1rem 0 1.25rem 0;
}

.cta-why p:last-child{
	margin-bottom:0;
}

.cta-why div{
	text-align:left;
}

.cta-why a.button{
	margin:0 0 0 0;
}

@media screen and (min-width: 30em){

	.cta-why{
		padding:3.75rem 9.5% 3.75rem 9.5%;
	}

}

@media screen and (min-width: 40em){

	.cta-why{
		padding:7.5rem 9.5% 7.5rem 9.5%;
	}
	
	.cta-why h1,
	.cta-why h2.h1-style{
		background-position:0 10px;
		background-size:auto 24px;
		font-size:2.125rem;
		margin:0 0 2rem 0;
		padding-left:3rem;
	}
	
	.cta-why p{
		font-size:1.5078125rem;
		margin:1rem 0 2.5rem 0;
	}
	
}	

@media screen and (min-width: 56.25em){

	.cta-why{
		/*background-image:url('../image/pages/bg-home-team-desktop.jpg');*/
		background-position:center center;
		padding:5.625rem 5.5% 5.625rem 5.5%;
	}

	.cta-why h1{
		background-position:0 9px;
		background-size:auto 25px;
		font-size:2.125rem;
		margin:0 0 3.25rem 0;
		padding-left:3.125rem;
	}

	.cta-why p{
		font-size:1.25rem;
		margin:1rem 0 3.5rem 0;
	}

}

/* CTA - Contact Us */

.cta-contact-us{
	background-color:#3F9A82;
	background-image:url('../image/pages/bg-deco-green-circle.svg');
	background-position:center center;
	background-repeat: no-repeat;
	background-size:410px auto;
	padding:2.5rem 9.5% 3.125rem 9.5%;
}

.cta-contact-us h1,
.cta-contact-us h2{
	color:#FFFFFF;
	font-size:1.0625rem;
	font-weight:400;
	line-height:normal;
	margin:0 auto;
	text-align:center;
}

.cta-contact-us p{
	color:#FFFFFF;
	font-size:0.6875rem;
	font-weight:400;
	line-height:normal;
	margin:1.25rem auto 1rem auto;
	max-width:240px;
	text-align:center;
}

.cta-contact-us div{
	text-align:center;
}

.cta-contact-us a.button{
	margin:0 auto 0 auto;
}

@media screen and (min-width: 40em){

	.cta-contact-us{
		background-size:820px auto;
		padding:5rem 9.5% 6.25rem 9.5%;
	}
	
	.cta-contact-us h1,
	.cta-contact-us h2{
		font-size:2.125rem;
	}
	
	.cta-contact-us p{
		font-size:1.375rem;
		margin:2.5rem auto 2rem auto;
		max-width:480px;
	}
	
}

@media screen and (min-width: 56.25em){

	.cta-contact-us{
		background-size:820px auto;
		padding:8.75rem 5rem;
	}
	
	.cta-contact-us h1,
	.cta-contact-us h2{
		font-size:2.125rem;
	}
	
	.cta-contact-us p{
		font-size:1.25rem;
		margin:2.5rem auto 3rem auto;
		max-width:480px;
	}
	
}

/* Pages: Shared */ 

.page-content{

}

.page-content .page-intro{
	background-position:top center;
	background-repeat:no-repeat;
	background-size:cover;
}

.page-content .page-intro-inner{
	background-image:url('../image/pages/bg-deco-green-circle.svg');
	background-position:bottom -160px right -175px;
	background-repeat: no-repeat;
	background-size:321px auto;
	box-sizing:border-box;
	height:24.65625rem;
	padding:7.875rem 9.5% 2.25rem 9.5%;
}

.page-content .page-intro.archive .page-intro-inner{
	background-image:none;
	height:18rem;
	padding:6rem 9.5% 2.25rem 9.5%;
}

.page-content .page-intro h1{
	background-image:url('../image/global/deco-circle.svg');
	background-position:0 5px;
	background-repeat: no-repeat;
	background-size:auto 12px;
	color:#FFFFFF;
	font-size:1.0625rem;
	font-weight:400;
	line-height:normal;
	margin:0 0 0.35rem 0;
	padding-left:1.5rem;
}

.page-content .page-intro h2{
	color:#FFFFFF;
	font-size:0.9375rem;
	font-weight:400;
	line-height:normal;
	margin:0 0 1rem 0;
}

.page-content .page-intro p{
	color:#D9D9D9;
	font-size:0.8125rem;
	font-weight:400;
	line-height:normal;
	margin:1.1875rem 0 0 0;
	max-width:224px;
}


@media screen and (min-width: 40em){
	
	.page-content .page-intro-inner{
		background-position:bottom -320px right -350px;
		background-size:642px auto;
		height:49.3125rem;
		padding:15.75rem 9.5% 4.5rem 9.5%;
	}

	.page-content .page-intro.archive .page-intro-inner{
		background-image:none;
		height:32.3125rem;
		padding:12.75rem 9.5% 4.5rem 9.5%;
	}
	
	.page-content .page-intro h1{
		background-position:0 10px;
		background-size:auto 24px;
		font-size:2.125rem;
		margin:0 0 0.75rem 0;
		padding-left:3rem;
	}

	.page-content .page-intro h2{
		font-size:1.5rem;
		margin:0 0 2rem 0;
	}
	
	.page-content .page-intro p{
		font-size:1.625rem;
		margin:2.375rem 0 0 0;
		max-width:448px;
	}

}

@media screen and (min-width: 56.25em){

	.page-content{
	}

	.page-content .page-intro{
	}

	.page-content .page-intro-inner{
		background-size:56.9% auto;
		background-position:bottom -320px right -170px;
		min-height:49.3125rem;
		padding:19rem 5.5% 2rem 5.5%;
	}

	.page-content .page-intro.archive .page-intro-inner{
		background-image:none;
		min-height:33.3125rem;
		padding:14rem 5.5% 2rem 5.5%;
	}

	.page-content .page-intro h1{
		background-position:0 9px;
		background-size:auto 25px;
		font-size:2.125rem;
		margin:0 0 1.25rem 0;
		max-width:650px;
		padding-left:3.125rem;
	}

	.page-content .page-intro h2{
		font-size:1.75rem;
		margin:0 0 2.75rem 0;
		max-width:650px;
	}

	.page-content .page-intro p{
		font-size:1.875rem;
		margin:1.1875rem 0 0 0;
		max-width:650px;
	}

}

@media screen and (min-width: 87.5em){

	.page-content .page-intro-inner{
		background-size:820px auto;
		background-position:bottom -420px right -170px;
		min-height:49.3125rem;
		padding:19rem 5.5% 2rem 5.5%;
	}

	.page-content .page-intro.archive .page-intro-inner{
		background-image:none;
		min-height:33.3125rem;
		padding:14rem 5.5% 2rem 5.5%;
	}

}

@media screen and (min-width: 121.25em){
	
	.page-content .page-intro {
		background-position: center center;
	}

}



/* Pages: Services */

.content-services{
}

.content-services article{
	border-top:1px solid #D9D9D9;
	padding:2.8125rem 9.5% 2.8125rem 9.5%;
}

.content-services article:nth-child(1){
	border-top:0;
}

.content-services article h2{
	color:#44AA8F;
	font-size:1rem;
	font-weight:400;
	line-height:normal;
	margin:1.5rem 0 0.5rem 0;
}
.content-services article h2:first-child{
	margin:0 0 0.5rem 0;
}

.content-services article h2 a{
	color:#44AA8F;
	text-decoration:none;
}
.content-services article h2 a:hover{
	text-decoration:underline;
}

.content-services article h2 + span{
	color:#D9D9D9;
	display: block;
	font-size:0.5625rem;
	line-height:1em;
	margin:0 0 0.875rem 0;
	opacity:0.5;
}

.content-services article p{
	color:#D9D9D9;
	font-size:0.8125rem;
	line-height:normal;
	margin:0.875rem 0 0 0;
	max-width:336px;
}
.content-services article li{
	color:#D9D9D9;
	font-size:0.8125rem;
	line-height:normal;
	margin:0.875rem 0;
	max-width:336px;
}

@media screen and (min-width: 40em){

	.content-services article{
		padding:5.625rem 9.5% 5.625rem 9.5%;
	}

	.content-services article h2{
		font-size:1.875rem;
		margin:1.5rem 0 1rem 0;
	}
	.content-services article h2:first-child{
		margin:0 0 1rem 0;
	}

	.content-services article h2 + span{
		font-size:1.125rem;
		margin:0 0 1.75rem 0;
	}

	.content-services article p{
		font-size:1.375rem;
		margin:1.75rem 0 0 0;
		max-width:680px;
	}
	.content-services article li{
		font-size:1.375rem;
		margin:1.75rem 0;
		max-width:680px;
	}

}

@media screen and (min-width: 56.25em){

	.content-services{
		align-items:stretch;
		display:flex;
		flex-wrap:wrap;
	}
	
	.content-services article{
		box-sizing:border-box;
		padding:5rem 5.5% 5.5rem 5.5%;
		width:50%;
	}

	.content-services article:nth-child(odd){
		border-right:1px solid #D9D9D9;
		width:calc(50% - 1px);
	}

	.content-services-full article:nth-child(odd){
		border-right:0;
		width:calc(70% - 1px);
	}
	
	.content-services article:nth-child(2){
		border-top:0;
	}
	
	.content-services article h2{
		color:#44AA8F;
		font-size:1.875rem;
		line-height:normal;
		margin:2rem 0 0.5rem 0;
	}
	.content-services article h2:first-child{
		margin:0 0 0.5rem 0;
	}
	
	.content-services article h2 + span{
		color:#D9D9D9;
		display: block;
		font-size:1rem;
		line-height:1em;
		margin:0 0 1.125rem 0;
	}
	
	.content-services article p{
		color:#D9D9D9;
		font-size:1.125rem;
		line-height:normal;
		margin:1.125rem 0 0 0;
		max-width:540px;
	}
	
	.content-services article ul,
	.content-services article ol{
		margin-left: 1.25rem;
	}
	.content-services article li{
		font-size:1.125rem;
		margin:1.125rem 0;
		max-width:540px;
	}

	.content-services-full article p,
	.content-services-full article li{
		max-width:1080px;
	}

}

/* Pages: About */ 

.content-about{
	
}

.content-about .full-col{
	margin:0 auto;
	width:67.6%;
}

.content-about .cols{
	margin:0 auto;
	width:67.6%;
}

.content-about .full-col article{
	margin:3.75rem auto;
}

.content-about .cols article{
	margin:3.75rem auto;
}

.content-about article .img{
	border-radius:100%;
	max-width:162px;
	overflow:hidden;
}

.content-about img{
	display:block;
	height:auto;
	max-width:162px;
	width:100%;
}

.content-about h2{
	color:#44AA8F;
	font-size:1rem;
	line-height:normal;
	margin:0.9375rem 0 0 0;
}

/*
.content-about h2:first-child{
	margin-top:0;
}
*/

.content-about h2 a{
	color:#44AA8F;
}

.content-about h2 + span{
	color:#D9D9D9;
	display:block;
	font-size:0.625rem;
	font-weight:500;
	line-height:normal;
	margin:0.1rem 0 0 0;
	opacity:0.5;
}

.content-about h3{
	color:#D9D9D9;
	font-size:0.875rem;
	font-weight:600;
	line-height:normal;
	margin:0.9375rem 0;
}

.content-about p{
	color:#D9D9D9;
	font-size:0.8125rem;
	line-height:normal;
	margin:0.9375rem 0 0 0;
}

.content-about p a{
	color:#44AA8F;
}

.content-about ol,
.content-about ul{
	color:#D9D9D9;
	margin:0.9375rem 0 0 0;
    padding-left:1.5rem;
}

.content-about li{
	color:#D9D9D9;
	font-size:0.8125rem;
	line-height:normal;
	margin:0.35rem 0 0 0;
}

.content-about .details{
	margin:0.9375rem 0 0 0;
}

.content-about .details p{
	color:#D9D9D9;
	font-size:0.6875rem;
	font-weight:500;
	line-height:normal;
	margin:0;
	opacity:0.5;
}

@media screen and (min-width: 40em){
	
	.content-about .full-col article{
		margin:4.375rem auto;
	}
	
	.content-about .cols article{
		margin:4.375rem auto;
	}

	.content-about article .img{
		max-width:325px;
	}

	.content-about img{
		max-width:325px;
	}	
	
	.content-about h2{
		font-size:1.875rem;
		margin:1.875rem 0 0 0;
	}
	
	.content-about h2 + span{
		font-size:1.375rem;
		margin:0.2rem 0 0 0;
	}

	.content-about h3{
		font-size:1.5rem;
		margin:1.875rem 0;
	}

	.content-about ol,
	.content-about ul{
		color:#D9D9D9;
		margin:1.25rem 0 0 0;
		padding-left:1.5rem;
	}
	
	.content-about li{
		color:#D9D9D9;
		font-size:1.375rem;
		line-height:normal;
		margin:0.35rem 0 0 0;
	}

	.content-about p{
		font-size:1.375rem;
		margin:1.875rem 0 0 0;
	}
	
	.content-about .details{
		margin:1.875rem 0 0 0;
	}

	.content-about .details.mh{
		align-items:flex-start;
		display:flex;
		width:100%;
	}

	
	.content-about .details p{
		font-size:1.375rem;
	}

}

@media screen and (min-width: 56.25em){
	
	.content-about{
		margin:0 auto;
		padding:1.25rem 0 3.75rem 0;
		width:89%;
	}
	
	.content-about h2{
		font-weight:400;
	}
	
	.content-about h2 + span{
		font-size:1.125rem;
	}

	.content-about h3{
		font-size:1.25rem;
	}
	
	.content-about li{
		font-size:1.125rem;
	}
	
	.content-about p{
		font-size:1.125rem;
	}
	
	.content-about .details p{
		font-size:1.125rem;
	}

	.content-about .full-col{
		width:100%;
	}

	.content-about .full-col article{
		align-items:flex-start;
		display:flex;
		justify-content:space-between;
		width:100%;
	}
	
	.content-about .full-col article .img{
		width:29.65%;
	}

	.content-about .full-col article .content{
		width:66.09%;
	}

	/*
	.content-about .full-col article .content  h2{
		margin-top:0;
	}
	*/

	.content-about .cols{
		align-items:stretch;
		display:flex;
		justify-content: space-between;	
		width:100%;
	}
	
	.content-about .full-col article{
		margin:3.125rem 0;
	}
	
	.content-about .cols article{
		margin:3.125rem 0;
		width:29.65%;
	}

	.content-about article .img{
		max-width:380px;
	}

	.content-about img{
		max-width:380px;
	}
	
}

.contact-content{
	border-bottom:1px solid #D9D9D9;
	border-top:1px solid #D9D9D9;
	margin-top:5.1875rem;
	width:100%;
}

.contact-content .contact-content-row{
}

.contact-content .contact-content-row .contact-content-left{
	margin-bottom:2.375rem;
	margin-top:2.375rem;
}
	
.contact-content .contact-content-row h1{
	background-image:url('../image/global/deco-circle.svg');
	background-position:0 5px;
	background-repeat: no-repeat;
	background-size:auto 12px;
	box-sizing:border-box;
	color:#FFFFFF;
	font-size:1.0625rem;
	font-weight:400;
	line-height:normal;
	margin:0 auto 0.25rem auto;
	padding-left:1.5rem;
	/*width:81%;*/
}

.contact-content .contact-content-row .contact-content-left .contact-details{
	margin:0 auto 0 auto;
	width:81%;
}

.contact-content .contact-content-row .contact-content-left .contact-details-left-inner{
	align-items:flex-start;
	display:flex;
	gap:2.25rem;
	/*margin:0 auto 0 auto;
	width:81%;*/
}

.contact-content .contact-content-row p{
	color:#fff;
	font-size:0.6875rem;
	line-height:normal;
	margin:1.125rem 0 0 0;
}

.contact-content .contact-content-row .contact-content-left p span{
	color:#44AA8F;
	display:block;
	margin-bottom:0.125rem;
}

.contact-content .contact-content-row .contact-content-left p a{
	color:#fff;
}
.contact-content .contact-content-row .contact-content-left p a:hover{
	color:#44AA8F;
	text-decoration:none;
}

.contact-content .contact-content-row .contact-content-right{
	border-top:1px solid #D9D9D9;
}

.contact-content .contact-content-row .contact-content-right .contact-content-right-inner{
	margin:2.375rem auto 2.375rem auto;
	width:81%;
}

@media screen and (min-width: 40em){

	.contact-content{
		margin-top:10.375rem;
	}

	.contact-content .contact-content-row .contact-content-left{
		margin-bottom:4.375rem;
		margin-top:4.375rem;
	}
	
	.contact-content .contact-content-row .contact-content-right{
		margin-bottom:4.375rem;
		margin-top:4.375rem;
	}

	.contact-content .contact-content-row .contact-content-left .contact-details{
		align-items:flex-end;
	}
	.contact-content .contact-content-row .contact-content-left .contact-details-left-inner{
		align-items:flex-end;
	}
	
	.contact-content .contact-content-row h1{
		background-position:0 10px;
		background-size:auto 24px;
		font-size:2.125rem;
		margin:0 0 2.5rem 0;
		padding-left:3rem;
	}

	.contact-content .contact-content-row .contact-content-left .contact-details-left-inner{
		gap:4.5rem;
	}

	.contact-content .contact-content-row p{
		font-size:1.375rem;
		margin:1.65rem 0 0 0;
	}
	.contact-content .contact-content-row p:first-child{
		margin-top:0;
	}

	.contact-content .contact-content-row .contact-content-left p span{
		margin-bottom:0.125rem;
	}

	.contact-content .contact-content-row .contact-content-right .contact-content-right-inner{
		margin:4.375rem auto 4.375rem auto;
		width:81%;
	}

	
}

@media screen and (min-width: 56.25em){

	.contact-content{
		margin-top:14.375rem;
	}

	.contact-content .contact-content-row{
		align-items:stretch;
		display:flex;
		justify-content:flex-start;
		margin:0 auto;
		width:89%;
	}

	.contact-content .contact-content-row .contact-content-left{
		border-right:1px solid #D9D9D9;
		box-sizing:border-box;
		margin-bottom:0;
		margin-top:0;
		padding-bottom:10.625rem;
		padding-right:1.25rem;
		padding-top:4.5rem;
		width:24.625%;
	}

	.contact-content .contact-content-row .contact-content-left .contact-details{
		margin:0;
		width:100%;
	}

	.contact-content .contact-content-row p{
		font-size:1rem;
		line-height:1.5em;
		margin:1.65rem 0 0 0;
	}
	
	.contact-content .contact-content-row .contact-content-right{
		border-top:0;
		margin-bottom:0;
		margin-top:0;
		padding-bottom:10.625rem;
		padding-top:4.5rem;
	}

	.contact-content .contact-content-row .contact-content-right .contact-content-right-inner{
		box-sizing:border-box;
		margin:0;
		padding-left:7.25em;
		width:100%;
	}
	
	.contact-content .contact-content-row h1{
		background-position:0 9px;
		background-size:auto 25px;
		font-size:2.125rem;
		margin:0 0 3rem 0;
		padding-left:3.125rem;
	}

	.contact-content .contact-content-row .contact-content-left .contact-details-left-inner{
		display:block;
	}

	.contact-content .contact-content-row .contact-content-left .contact-details-left-inner .contact-details-right p{
		margin:1.65rem 0 0 0;
	}


}



.referral-form .field{
	margin:1.375rem 0;
}
/*
.referral-form .fields .wpcf7-form-control-wrap{
	width:100%;
}
*/
.referral-form .fields{
	display:flex;
	gap:10px;
}

.referral-form .field > p,
.referral-form .fields > p{
	display:block;
	font-size:1rem;
	line-height:1em;
	margin:0;
	padding:0;
	width:100%;
}

.referral-form .fields > p{
	display:flex;
	gap:10px;
}

.referral-form .field br,
.referral-form .fields br{
	display:none;
}

.wpcf7-not-valid-tip{
	display:block;
	font-size:0.6rem;
	margin-top:4px;	
}

.referral-form .field > p span{

}

.referral-form .fields > p span{
}

.referral-form label{
	color:#D9D9D9;
	display:block;
	font-size:0.75rem;
	font-weight:500;
	margin-bottom:0.375rem;
}

.referral-form input[type=text],
.referral-form input[type=tel],
.referral-form input[type=email]{
	appearance:none;
	-webkit-appearance:none;
	background-color:transparent;
	border:1px solid #3A3A3A;
	border-radius:50px;
	box-sizing:border-box;
	color:#D9D9D9;
	display:block;
	font-size:0.75rem;
	padding:0.625rem 1rem;
	width:100%;
}

.referral-form input[type=text]::placeholder,
.referral-form input[type=tel]::placeholder,
.referral-form input[type=email]::placeholder{
	color:#D9D9D9;
}

.referral-form select{
	appearance:none;
	-webkit-appearance:none;
	background-image:url('../image/global/arrow-dropdown.svg');
	background-position:right 7px top 50%;
	background-repeat:no-repeat;
	background-size:7px auto;
	background-color:#0E0E0E;
	border:1px solid #3A3A3A;
	border-radius:50px;
	color:#D9D9D9;
	display:block;
	font-size:0.75rem;
	padding:0.625rem 2rem 0.625rem 1rem;
}

.referral-form select option{
	color:#D9D9D9;
}

.referral-form textarea{
	appearance:none;
	-webkit-appearance:none;
	background-color:transparent;
	border:1px solid #3A3A3A;
	border-radius:50px;
	box-sizing:border-box;
	color:#D9D9D9;
	display:block;
	font-size:0.75rem;
	height:110px;
	padding:0.625rem 1rem;
	width:100%;
}

.referral-form input[type=submit]{
	background-color:transparent;
	border:1px solid #3F9A82;
	border-radius:3rem;	
	box-sizing:border-box;
	color:#3F9A82;
	display:inline-block;
	font-size:0.625rem;
	font-weight:500;
	letter-spacing:0.1em;
	line-height:1em;
	margin:0.5rem 0;
	width:auto;
	padding:0.5rem 1rem;
	text-align:center;
	text-decoration: none;
	text-transform: uppercase;
}

.referral-form input[type=submit]:hover{
	background-color:#3F9A82;
	color:#FFF;
}

.wpcf7 form.invalid .wpcf7-response-output{
	border:0;
	color:#D9D9D9;
    display:block;
    font-size:0.625rem;
    font-weight:500;
}

@media screen and (min-width: 40em){

	.referral-form .field{
		margin:2.625rem 0;
	}
	
	.referral-form .fields{
		gap:10px;
	}

	.wpcf7-not-valid-tip{
		font-size:0.75rem;
	}
	
	.referral-form label{
		font-size:1.25rem;
		margin-bottom:0.925rem;
	}
	
	.referral-form input[type=text],
	.referral-form input[type=tel],
	.referral-form input[type=email]{
		font-size:1.25rem;
		padding:1rem 1.25rem;
	}
	
	.referral-form select{
		background-position:right 14px top 50%;
		background-size:13px auto;
		font-size:1.25rem;
		padding:1rem 2.5rem 1rem 1.25rem;
	}
	
	.referral-form textarea{
		font-size:1.25rem;
		height:220px;
		padding:1rem 1.25rem;
	}

	.referral-form input[type=submit]{
		font-size:1rem;
		margin:2.5rem 0;
		padding:1.25rem 2.5rem;
	}

	.wpcf7 form.invalid .wpcf7-response-output{
		color:#D9D9D9;
		font-size:0.75rem;
		font-weight:500;
	}

}

@media screen and (min-width: 56.25em){
	
	.referral-form{
		margin:2.5rem 0 1rem 0;
	}

	.referral-form form{
		align-items:flex-start;
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
		max-width:770px;
	}	

	.wpcf7-not-valid-tip{
		font-size:0.875rem;
	}

	.referral-form .field.desktop-half{
		width:48.83%;
	}
	.referral-form .field.desktop-full{
		width:100%;
	}

	.referral-form .field{
		margin:1rem 0;
	}
	
	.referral-form .fields{
		gap:2.15%;
	}
	
	.referral-form .fields .wpcf7-form-control-wrap{
		/*width:100%;*/
		width:31.9%;
	}
	
	.referral-form .fields select{
		/*width:31.9%;*/
	}
	
	.referral-form label{
		font-size:1rem;
		margin-bottom:0.5rem;
	}
	
	.referral-form input[type=text],
	.referral-form input[type=tel],
	.referral-form input[type=email]{
		font-size:1rem;
		padding:0.875rem 1.25rem;
	}

	.referral-form select{
		background-position:right 14px top 50%;
		background-size:13px auto;
		box-sizing:border-box;
		font-size:1rem;
		padding:0.875rem 2.5rem 0.875rem 1.25rem;
		width:100%;
	}
	
	.referral-form textarea{
		font-size:1rem;
		height:220px;
		padding:0.875rem 1.25rem;
	}

	.referral-form input[type=submit]{
		border-width:2px;
		font-size:0.875rem;
		line-height:1em;
		margin:1.5rem 0;
		padding:0.875rem 1.25rem;
	}

	.wpcf7 form.invalid .wpcf7-response-output{
		font-size:1rem;
	}

}

.more-btn{
	margin-top:1rem;
}

@media screen and (min-width: 56.25em){

	.more-btn{
		margin-top:1.5rem;
	}

}