@font-face {
	font-family: 'Avenir';
	src: url('../fonts/Avenir-Medium.woff2') format('woff2'),
		url('../fonts/Avenir-Medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Avenir';
	src: url('../fonts/Avenir-Heavy.woff2') format('woff2'),
		url('../fonts/Avenir-Heavy.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/*
@font-face {
	font-family: 'Avenir';
	src: url('assets/fonts/Avenir-Roman.woff2') format('woff2'),
		url('assets/fonts/Avenir-Roman.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
*/


.grecaptcha-badge { visibility: hidden; }
.pb-0{ padding-bottom:0px; }
.footer-widget-1 .widget_media_image{ margin-bottom: 5px !important; }
.footer-widget-1 .widget_media_image::after{ content:''; display: block; clear: both; }
.footer-widget-1 .widget_text{ display: block; }

.text-center{ text-align: center; }
.upperBold{ text-transform: uppercase; font-weight: bold; }
.parent-align{ margin-left:-10px; margin-right:-10px; }
.text-primary{ color:#e78f43; }
.no-margin{ margin:0px; }

.wp-block-social-links .wp-social-link:first-child{ padding-left:0px; }
.wp-block-social-links .wp-social-link:first-child a{ padding-left:0px; }
.wp-block-social-links .wp-social-link a{ padding-top:0px; }

#sticky-navigation .inside-navigation{
	/*box-shadow: 0px 1px 2px rgba(35,31,32,0.35);*/
}

h1.banner{ margin-bottom: 0px; }
hr.banner{ height:5px; margin-bottom:20px; margin-top:20px; background-color:#e78f43; max-width:100px; }
p.banner{ font-size:1.25em; }
.button{
	-webkit-transition: background-color 200ms ease-out; -moz-transition: background-color 200ms ease-out; -ms-transition: background-color 200ms ease-out;
	-o-transition: background-color 200ms ease-out; transition: background-color 200ms ease-out;
}
.btn-home-banner{ padding:1em 3em; font-size:105%; font-weight:bold; }
.btn-home-banner:hover{ color:white !important; }

.main-navigation .main-nav ul li a{
	-webkit-transition: color 200ms ease-out; -moz-transition: color 200ms ease-out; -ms-transition: color 200ms ease-out;
	-o-transition: color 200ms ease-out; transition: color 200ms ease-out;
}


a.cta{ 
	position:relative; font-weight:bold; text-transform:uppercase; color:black; font-size: 105%; 
	-webkit-transition: color 200ms ease-out; -moz-transition: color 200ms ease-out; -ms-transition: color 200ms ease-out;
	-o-transition: color 200ms ease-out; transition: color 200ms ease-out;
}
a.cta:hover{ color: #e78f43; }
a.cta:after{ 
	content: '';
	display: block;
	position: absolute;
	bottom:-10px;
	left:0px;
	background-color: #e78f43;
	width: 100%;
	height:3px; 
}
a.cta.on-dark-bg{ color:white !important; }
a.cta.on-dark-bg:hover{ color:#e78f43 !important; }

.home-services{	background-image: linear-gradient( to bottom, #fff, #fff 50%, #f6f6f6 50%, #f6f6f6); }
.home-services-spacer{ display:block; background-color: #f6f6f6; height:100px; }
.service-cta{ position:relative; padding: 50px 2px; }
.service-cta .inner{ 
	position:absolute;
	
	width: calc(100% - 4px);
	height: 100%;
	top:0px;
	left:2px;
	background-color:white; 
	text-align:center;

	-webkit-transition: all 200ms ease-out; 
	-moz-transition: all 200ms ease-out; 
	-ms-transition: all 200ms ease-out;
	-o-transition: all 200ms ease-out; 
	transition: all 200ms ease-out;
}
.service-cta .inner::after {
  content: '';
  position: absolute;
  left:0;
  top:0;
  z-index: -1;
  width: 100%;
  height: 100%;
  box-shadow: 0px 0px 15px rgba(35,31,32,0.35);
  opacity: 0;
  transition: opacity 0.2s ease-out;
}


.service-cta img,
.service-cta h3,
.service-cta p,
.service-cta a{ position:relative; z-index: 2; }
.service-cta h3{ text-transform: uppercase; }

.service-cta .inner.active{
	z-index: 1;
	left: calc(-5% + 2px);
	top: calc(-5% + 2px);
	width:110%;
	height:110%;
}

.service-cta .inner.active::after {
	opacity: 1;
}


.service-cta p{ padding-left:15px; padding-right:15px; }
.service-cta img{ display:inline-block; max-width:115px; margin-bottom:10px }


.step-container{ position:relative; }
.step-container:after{
	content: '';
	position: absolute;
	left: 0;
    top: -10%;
    z-index: 0;
    width: 102%;
    height: 120%;
	box-shadow: 0px 0px 5px rgba(35,31,32,0.35);
}

.step-number{
	display: inline-block;
	color:#e78f43;
	margin: 0 auto 25px auto;
	font-size: 2em;
    padding: 5px 23px;
	border-radius: 50%;
	border:2px solid #e78f43;;
}


.pre-footer{
	padding:8rem 0rem;
	background: url('../images/pre-footer-background-treated.jpg') #f6f6f6 no-repeat bottom center;
	background-size: cover;
}

.pre-footer img { max-width: 100%; margin:5px 0px; }

.generate-back-to-top, .generate-back-to-top:visited{
	bottom:10px;
	right:10px;
	background-color: rgba(218,177,97,0.7); 
	border-radius:25px;
}
.generate-back-to-top:hover, .generate-back-to-top:focus{ background-color: rgba(218,177,97,1); }


.inside-footer-widgets .widget-title{
	text-transform: uppercase;
	font-weight: bold;
	font-size: 16px;
	position: relative;
	display: inline-block;
	clear: both;
}
.inside-footer-widgets .widget-title:after{
	content:'';
	display: block;
	position: absolute;
	width: 25px;
    height: 3px;
    top: 11px;
    right: -35px;
	background-color:#e78f43;
}

.footer-widget-1 img{ 
	max-width: 215px !important;
  /*padding-top: 40px; */
}

.footer-widget-3 table, .footer-widget-3 td{ border:none; line-height: normal; }
.footer-widget-3 td{ padding:0px 8px 10px 0px; }
.footer-widget-3 img{ max-width: 25px; margin:0px; padding:1px 5px 1px 0px; display: inline-block; }
.footer-widget-3 table{ width: auto; }


.copyright-r{ text-transform: uppercase; font-weight: bold; }
.site-info a, .site-info a:visited{ color: #231f20; }
.copyright-r a:hover{ color:#e78f43; }

.team-member:not(:last-child) { margin-bottom: 3em; }
.team-member{ margin-left:-40px; margin-right:-40px; }
.team-member .grid-50{ padding:0px 40px; }
.team-member h2{ line-height:1; letter-spacing:1px; }
.team-member h2 span{ color:#e78f43; font-size:50%; letter-spacing:1px; }
.team-member img{ display: block; }
.team-member .accreditations{ color:#e78f43; font-weight:700; }
.team-member .details{ background-color:#e78f43; color:white; padding:15px 10px; margin-bottom:25px; }


.c-accordion__title{
	padding:10px;
	background-color: #f8f8f8;
}
.c-accordion__title:after{ right:15px; }
.wp-block-pb-accordion-item{ margin-bottom: 1em !important; }


@media (max-width: 375px) { 
	.inside-page-hero h1{ line-height: 1.25; font-size:35px; }
	p.banner{ line-height: 1.25; font-size:17px; }
	.btn-home-banner{ padding: 0.75em 2.5em; }
}


@media (max-width: 768px) { 
	.site-footer .footer-widgets .footer-widgets-container .inside-footer-widgets{ text-align: center; }
	.wp-block-media-text.is-stacked-on-mobile{ text-align: center; margin-bottom:35px; }
	.wp-block-media-text>figure>img{
		max-width: 80px;
		margin:0px auto 15px auto;
		display: inline-block;
	}
	.order-2-mobile{ order:2; }
	.footer-widget-1 .alignleft{ float:none; text-align: center; }
	.wp-block-social-links.items-justified-left{ justify-content: center!important; }
	.footer-widget-3{ text-align: center; }
	.footer-widget-3 table{ display: inline-block; }
	p.banner{ padding-right: 40px; padding-left: 40px; }
	.wp-block-ub-tabbed-content-tabs-title{ flex-wrap:wrap; }
}


@media (min-width: 700px) and (max-width: 899px){
	.wp-block-ub-tabbed-content-holder.wp-block-ub-tabbed-content-horizontal-holder-tablet>.wp-block-ub-tabbed-content-tabs-content {
    width: auto !important;
	}
}



@media (min-width: 769px) { 
	.wp-block-columns{ margin-left:-20px; margin-right:-20px; }
	.wp-block-column{ padding:0 20px; }
	.entry-content > [class*="wp-block-"]:not(:last-child) { margin-bottom: 7em; }
	.team-member:not(:last-child) { margin-bottom: 7em; }
	.copyright-l{ float: left; }
	.copyright-r{ float:right; clear: right; padding-right:25px; }
	.pre-footer img{ max-width:65%; margin: 0px 0px; }

	.wpml-ls-menu-item a{ 
		box-shadow: 2px 2px #ccc, 2px -2px #ccc,  -2px 2px #ccc, -2px -2px #ccc; 
		margin-left: 20px;
		padding-left: 15px !important; padding-right: 15px !important;
	}

	#sticky-navigation .wpml-ls-menu-item a{ box-shadow: none; margin-left: 0px; }

	.widget_nav_menu .wpml-ls-menu-item a{ display: none; }
}

@media (min-width: 992px) { 
	#primary-menu .current-menu-item:after{
		content: '';
		display: block;
		position: absolute;
		bottom:0px;
		left:20px;
		background-color: #e78f43;
		width: calc(100% - 40px);
		height:3px;
	}
}

@media (min-width: 1200px) { 
	
}




/* CONTACT FORM ---------------------- */

div.wpcf7-response-output{ margin:0px; border-radius:3px; }

div.wpcf7-validation-errors, div.wpcf7-acceptance-missing{ background-color:#fff8ae; }

::placeholder{ color:#333; }

.wpcf7-form { position:relative; }

.wpcf7-form .grid-50,.wpcf7-form .grid-100{ padding-top:1em; padding-bottom:1em; }

.wpcf7-form label{ 
	color: white;
	font-size: 12px;

	-webkit-transition: color 200ms ease-out; -moz-transition: color 200ms ease-out; -ms-transition: color 200ms ease-out;
	-o-transition: color 200ms ease-out; transition: color 200ms ease-out;
}
.wpcf7-form .grid-50:focus-within label, .wpcf7-form .grid-100:focus-within label{ color: #e78f43; }

.wpcf7-form input[type="text"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="date"],
.wpcf7-form select,
.wpcf7-form textarea{
	display: block;
	width: 100%;
	padding:0.75em 0em;
	border-left: 1px solid white;
	border-top: 1px solid white;
	border-right: 1px solid white;
	border-bottom: 1px solid black;
	background: white;
	box-shadow: none !important;
}

.wpcf7-form select{ padding:0.75em 0em 0.9em 0em; }

.wpcf7-form input[type="text"]:focus, 
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="date"]:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus{
	border-left: 1px solid white;
	border-top: 1px solid white;
	border-right: 1px solid white;
	border-bottom: 1px solid #e78f43;
	color:black;
	outline: none;
}

.wpcf7-form input[type="submit"]{
	margin-top:1rem;
	display: block;
	text-transform: uppercase;
	text-decoration: none !important;
	padding:0.75em 1.25em;
	-webkit-transition: opacity 200ms ease-out;
	-moz-transition: opacity 200ms ease-out;
	-ms-transition: opacity 200ms ease-out;
	-o-transition: opacity 200ms ease-out;
	transition: opacity 200ms ease-out;
}
