
.width-1-1{ width: 100%; }
.width-1-2{ width: 50%; }
.width-1-3{ width: 33.33333%; }
.width-1-4{ width: 25%; }
.width-1-5{ width: 20%; }
.width-1-6{ width: 16.66666%; }
@media screen and (max-width: 767px){
	.full-width-767{ width: 100%; }
}

.margin-v-30{ margin-top: 30px; margin-bottom: 30px; }
.margin-v-50{ margin-top: 50px; margin-bottom: 50px; }
@media screen and (max-width: 1020px){
	.margin-v-0-1020{ margin-top: 0; margin-bottom: 0; }
}

.mobile-menu{ position: relative; overflow: hidden; width: 100%; height:0; transition: all 0.5s; }
.mobile-menu-wrapper{ position: relative; float: left; width: 100%; }
.mobile-menu div{ position: relative; float: left; width: 100%; }
.mobile-menu ul{ position: relative; float: left; width: 100%; }
.mobile-menu .menu-item{ position: relative; float: left; width: 100%; display: block; font-size: 0.9rem; }
.mobile-menu .menu-item a{ width: 100%; padding: 8px 5%; margin: 0; display: block; border-bottom: 1px solid #000; border-left: none; border-right: none; color: #fff; }
.mobile-menu .menu-item.current_page_item a,
.mobile-menu .menu-item.current-page-ancestor a,
.mobile-menu .menu-item.current_page_parent a,
.mobile-menu .menu-item.active a { background: 0; }
.mobile-menu .menu-item:first-child a { border-top: none; }

.service-header-wrapper{ position: relative; overflow: hidden; min-height:80vh; }
.service-header-wrapper.news-page{ min-height:60vh; }
.hero-bg-container{ position: absolute; min-height: 100%; width: 100%; z-index: 1; }
.dark-hero-overlay{ position: absolute; width: 100%; height: 100%; opacity: 0.5; background: #000000; z-index: 2; transition: all 0.3s; }
.desktop-hero-bg{ position: absolute; width: 100%; height: 100%; z-index: 1; }
.mobile-hero-bg{ display: none; position: absolute; width: 100%; height: 100%; z-index: 1; }

.service-header-wrapper .header-container{ height: 150px; position: relative; padding: 50px; z-index: 2; display: flex; justify-content: space-between; } 
.service-header-wrapper .logo-container{ position: relative; height: 100%; }
.service-header-wrapper .logo-container img{ position: relative; height: 100%; }

.service-header-wrapper .menu-container div{ position: relative; float: left; }
.service-header-wrapper .menu-item{ position: relative; float: left; width: auto; }
.service-header-wrapper .menu-item a{ position: relative; float: left; color: #ffffff; font-weight: 700; text-transform: uppercase; padding: 14px 30px; margin: -14px 12px 0; }
.service-header-wrapper .menu-item.current-page a::after,
.service-header-wrapper .menu-item.current-page-ancestor a::after{ content:""; position: absolute; width: 50px; height: 2px; bottom: 0; left:calc(50% - 25px); background-color: #ffffff; }
.service-header-wrapper .bordered-menu-item{ transition: all 0.3s; }
.service-header-wrapper .bordered-menu-item a{ padding: 12px 30px; border: 2px solid #ffffff; transition: all 0.3s; }
.service-header-wrapper .bordered-menu-item:hover{  }
.service-header-wrapper .bordered-menu-item:hover a{ background-color: #ffffff; color: #141414; }
.mobile-menu-trigger { width: 40px; height: 50px; padding: 0 5% 0 0; margin: 0; display: none; float: right; text-decoration: none; outline: none; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-tap-highlight-color: transparent; }
.mobile-menu-trigger em { width: 36px; height: 4px; margin: 4px 8% 0 0; padding: 0 0 3px 0; float: left; background: #ffffff; transition: all 0.3s; }
.mobile-menu-trigger.menu-active em { width: 0; }
.mobile-menu-trigger.menu-active em:first-of-type { width: 36px; transform: rotate(45deg); }
.mobile-menu-trigger.menu-active em:last-of-type { width: 36px; transform: rotate(-45deg); margin-top: -4px; }
.service-header-wrapper .phone-container a{ position: relative; float: left; color: #ffffff; font-weight: 700; text-transform: uppercase; font-size: 1.4rem; padding: 9px 0 9px 30px; margin: -14px 0 0 12px; }
@media screen and (max-width: 1540px){
	.service-header-wrapper .menu-item a{ padding: 14px 14px; }
	.service-header-wrapper .phone-container a{ padding: 9px 0 9px 14px; }
}
@media screen and (max-width: 1360px){
	.service-header-wrapper .phone-container{ display: none; }
}
@media screen and (max-width: 1190px){
	.service-header-wrapper .header-container{ padding: 30px; height: 100px; }
	.service-header-wrapper .menu-item a { padding: 7px 14px; margin-top: -7px; }
}
@media screen and (max-width: 940px){
	.mobile-menu-trigger{ display: inline; }
	.service-header-wrapper .menu-container { display: none; }
}
@media screen and (max-width: 856px){
	.mobile-menu-trigger.menu-active em:last-of-type { margin-top: -11px; }
}
	
.hero-content-container{ position: relative; overflow: hidden; z-index: 2; margin: 4rem auto 8rem; width: 100%; max-width: 1400px; }
.hero-content-wrapper{ position: relative; float: left; }
h1.hero-title{ float: left; color: #ffffff; font-size: 3.5rem; font-weight: 700; text-align: left; padding: 0; border-left: none; margin-bottom: 30px; line-height: 1.2; }
.hero-content-text{ max-width: 600px; float: left; clear: left; }
.hero-content-text p{ font-size: 1rem; line-height: 1.6875; }
.hero-content-text ul{ list-style: none; }
.hero-content-text li{ overflow: visible; position: relative; font-size: 1rem; margin: 12px 0 12px 30px; font-weight: 600; }
.hero-content-text li::before{ content: ""; position: absolute; left: -31px; top: 5px; height: 12px; width: 12px; background-color: #ffffff; border-radius: 12px; }
@media screen and (max-width: 1480px){
	.hero-content-container{ padding: 0 50px; }
}
@media screen and (max-width: 600px){
	.hero-content-container{ padding: 0 30px; }
}

.cta-wrapper{ position: relative; float: left; clear: left; margin-top: 30px; min-width: 350px; height: 50px; border: 2px solid #ffffff; }
.cta-wrapper-inline{ clear: none; margin-left: 50px; }
.cta-wrapper p{ position: relative; display: flex; width: calc(100% - 50px); height: 100%; margin: 0; text-align: center; align-items: center; justify-content: center; text-transform: uppercase; font-weight: 700; font-size: 1.2rem; z-index: 2; transition: all 0.3s; }
.cta-bg{ position: absolute; height: 100%; width: 50px; background: #ffffff; right: 0; z-index: 1; transition: all 0.3s; }
.play-triangle{ width: 0; height: 0; border-top: 9px solid transparent; border-bottom: 9px solid transparent; border-left: 16px solid #5d5d5d; position: absolute; right: 16px; top: 30%; z-index: 2; }
a.cta-wrapper:hover{  }
a.cta-wrapper:hover .cta-bg{ width: 100%; }
a.cta-wrapper:hover p{ color: #5d5d5d; }
@media screen and (max-width: 800px){
	.cta-wrapper-inline{ clear: left; margin-left: 0; }
}
@media screen and (max-width: 480px){
	.cta-wrapper{ min-width: 0; width: 100%; }
}



.full-width-container{ position: relative; float: left; width: 100%; }
.white-bg{ background-color: #ffffff; color: #141414; }
.content-container{ position: relative; overflow: hidden; max-width: 1400px; width: 100%; margin: 0 auto; }
.content-half-container{ position: relative; float: left; width: 50%; }
.right-side-content-half{ float: right; }
.content-half-wrapper{position: relative; float: left; width: 100%; max-width: 700px; }
.left-side-content-wrapper{ float: right; margin: 50px 0 100px; padding-right: 50px;}
.right-side-content-wrapper{ float: left; margin: 50px 0 100px; padding-left: 50px; }
.image-half-container{ position: absolute; right: 0; width: 50%; height: 100%; overflow: hidden; }
.content-section-image{ position: absolute; right: 0; width: 100%; height: 100%; }
.left-sided-image{ left:0; right: auto; }
.right-sided-image{ left:auto; right: 0; }
.image-half-container img{ position: relative; float: left; width: 100%; min-height: 100%;}
@media screen and (max-width: 1480px){
	.content-container{ padding: 0 50px; }
	.left-side-content-wrapper{ padding-left: 50px;}
	.right-side-content-wrapper{ padding-right: 50px;}
}
@media screen and (max-width: 1020px){
	.content-half-container{ width: 100%; }
	.content-half-container{ float: left; }
	.image-half-container{ position: relative; float: left; width: 100%; height: 350px; }
	.left-side-content-wrapper{ padding-right: 50px; float: left;   }
	.right-side-content-wrapper{ padding-left: 50px; float: left;  }
}
@media screen and (max-width: 600px){
	.content-container{ padding: 0 30px; }
	.left-side-content-wrapper,
	.right-side-content-wrapper{ padding-right: 30px; padding-left: 30px; }
}

.awards-content-container{ display: flex; align-items: center; padding: 40px 0 60px; flex-wrap: wrap; }
.award-content-wrapper{ position: relative; float: left; color: #141414; width: 50%; display: flex; align-items: center; padding-right: 2rem; }
.award-content-wrapper h2{ font-weight: 700; width: 40%; position: relative; float: left; margin: 0; color: #141414; }
.award-content-wrapper p{ margin: 0; line-height: 1.7; color: #141414; padding-left: 20px; }
.awards-wrapper{ position: relative; float: left; display: flex; justify-content: space-between; width: 50%; padding-left: 2rem; }
.award-logo{ position: relative; float: left; max-width: 33%; padding-right: 0.5rem;}
.awards-2 .award-logo{ max-width: 50%; }
.awards-1 .award-logo{ max-width: 50%; }
@media screen and (max-width: 1480px){
	.awards-content-container{ padding: 40px 50px 60px; }
}
@media screen and (max-width: 1020px){
	.award-content-wrapper{ width: 100%; }
	.awards-wrapper{ width: 100%; padding: 40px 0 0 0;}
}

.content-section-title{ font-size: 3rem; font-weight: 700; color: #141414; line-height: 1.2; }
.content-section-text p{ line-height: 1.7; font-size: 1rem; margin-bottom: 30px; }
.content-section-text ul{ list-style: none; }
.content-section-text li{ overflow: visible; position: relative; font-size: 1rem; margin: 12px 0 24px 30px; font-weight: 600; }
.content-section-text li::before{ content: ""; position: absolute; left: -31px; top: 7px; height: 7px; width: 7px; background-color: #141414; border-radius: 7px; }

.video-background { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.video-foreground,
.video-background iframe { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; }
.play-image-container{ z-index: -99; opacity: 0; position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; }
.play-image-container.video-paused{ z-index: 3; opacity: 1; }
.play-button{ position: absolute; background-color: #00000080; z-index: 2; top: calc(50% - 50px); left: calc(50% - 50px); width: 100px; height: 100px; border: 2px solid #ffffff; border-radius: 100px; }
.play-button .play-triangle{ border-left: 35px solid #ffffff; border-top: 20px solid transparent; border-bottom: 20px solid transparent; right: 27%; }
.play-image-wrapper,
.play-image{ position: relative; float: left; width: 100%; height: 100%; z-index: 1; }

.brands-container{ margin: 150px auto; }
.brands-title{ text-align: center; font-size: 2.5rem; font-weight: 700; line-height: 1.2; }
.brands-text{ text-align: center; line-height: 1.7; max-width: 1000px; width: 100%; margin: 0 auto; }
.brands_carousel{ position: relative; max-width: 1000px; width: 100%; margin: 0 auto; }


.accordions-content-wrapper{ margin: 100px 0; }
.accordions-content-wrapper .content-section-text{ margin-bottom: 2rem; }
.accordion-trigger{ margin-bottom: 1rem; display: flex; align-items: center; }
.accordion-button{ position: relative; float: left; margin-right: 2rem; height: 24px; width: 24px; border: 2px solid #ffffff; border-radius: 4px; }
.accordion-trigger.active .accordion-button{  }
.accordion-line{ position: absolute; background: #ffffff; width: 12px; height: 2px; top: 9px; left: 4px; }
.accordion-line.vertical-line{ transform: rotate(90deg); transition: all 0.1s; }
.accordion-trigger.active .accordion-line.vertical-line{ transform: none;  }
.accordion-title{ margin: 0; font-weight: 700; font-size: 1rem; letter-spacing: normal; line-height: 1.2; }
.accordion-content{ position: relative; height: 0; overflow: hidden; margin-left: 64px; left: -12px; top: -12px; opacity: 0; transition: all 0.5s; }
.accordion-content.active { height: auto; opacity: 1; top: 0; left: 0; }
.accordion-images-container { position: relative; overflow: hidden; width: 100%; height: 100%; }
.accordion-image-wrapper { position: absolute; left: 0; top: 0; height: 100%; width: 100%; opacity: 0; transition: all 0.5s; }
.accordion-image-wrapper.active { opacity: 1; }
@media screen and (max-width: 1480px){
	.accordions-content-wrapper{ padding: 0 50px; }
}
@media screen and (max-width: 1020px){
	.accordions-content-wrapper{ margin: 100px auto; }
}
@media screen and (max-width: 620px){
	.accordions-content-wrapper{ margin: 100px auto 50px; }
	.accordions-content-wrapper{ padding: 0 30px; }
}

.services-container{ padding: 100px 0; }
.services-wrapper{ position: relative; float: left; width: 100%; }
.service-wrapper{ position: relative; float: left; height: 350px; overflow: hidden; }
.service-wrapper:hover .service-image{ transform: scale(1.15); }
.service-wrapper:hover .dark-hero-overlay{ opacity: 0.65; }
.service-image{ position: absolute; top: 0; left: 0; height: 100%; width: 100%; transition: all 0.3s; }
.service-title{ position: relative; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #ffffff; font-size: 2rem; font-weight: 700; z-index: 2; text-align: center; padding: 20px; line-height: 1.2; }
@media screen and (max-width: 1480px){
	.services-container{ padding: 100px 50px; }
}
@media screen and (max-width: 600px){
	.services-container{ padding: 100px 30px; }
}

.icons-wrapper{ position: relative; float: left; width: 100%; }
.icons-title{ position: relative; overflow: hidden; width: auto; margin: 100px auto; text-align: center; font-size: 3rem; font-weight: 700; line-height: 1.2; }
.icon-wrapper{ position: relative; float: left; margin: 0 0 100px; padding: 0 10px; }
.icon-image{ margin: 0 auto 50px; }
.icon-title{ text-align: center; font-weight: 700; font-size: 2rem; letter-spacing: normal; line-height: 1.2; }
.icon-content{ text-align: center; max-width: 270px; margin: 0 auto; font-weight: 500; line-height: 1.7; }

.contact-container{ margin: 50px auto; }
.contact-content-half{ position: relative; float: left; width: 50%; padding: 50px 100px 0 50px; }
.contact-content-container{ position: relative; float: left; width: 100%; max-width: 600px; }
.contact-title{ font-size: 3rem; font-weight: 700; margin-bottom: 50px; line-height: 1.2; }
.contact-text{ margin-bottom: 2rem; }
.contact-form-half{ position: relative; float: left; width: 50%; }
.contact-form-container{ position: relative; float: left; width: calc(100% - 100px); margin: 50px; box-shadow: 1px 6px 20px 0px #bbbbbb; padding: 50px; }
.contact-form-container h3{ text-align: center; font-size: 2rem; font-weight: 700; }
.contact-form-container input,
.contact-form-container textarea{ background-color: #f0f0f0; color: #141414; width: 100%; padding: 12px; font-weight: 700; border: none; font-size: 1rem; }
.contact-form-container input::placeholder,
.contact-form-container textarea::placeholder { color: #141414; font-style: italic; font-weight: 700; /* Chrome, Firefox, Opera, Safari 10.1+ */ opacity: 1; /* Firefox */ }
.contact-form-container input:-ms-input-placeholder,
.contact-form-container textarea:-ms-input-placeholder { color: #141414; font-style: italic; font-weight: 700; /* Internet Explorer 10-11 */  }
.contact-form-container input::-ms-input-placeholder,
.contact-form-container textarea::-ms-input-placeholder { color: #141414; font-style: italic; font-weight: 700; /* Microsoft Edge */ }
.houzz-logo{ position: relative; float: left; width: 180px; left: -32px; }
.contact-form-container gform_footer{ osition: relative; float: right; width: calc(100% - 180px); }
.contact-form-container button[type="submit"].form_button i{ display: none; }
.contact-form-container button[type="submit"].form_button { position: relative; float: right; border: 2px solid #141414; color: #141414; padding: 10px 30px; min-width: 200px; text-align: center; transition: all 0.3s; }
.contact-form-container button[type="submit"].form_button:hover { background-color: #141414; color: #ffffff; }

div.sticky { position: -webkit-sticky; position: sticky; top: 0; }

@media screen and (max-width: 1020px){
	.contact-content-half{ width: 100%; }
	.contact-form-half{ width: 100%; }
}
@media screen and (max-width: 620px){
	.contact-content-half{ padding: 50px 0 0; }
	.contact-form-container{ margin: 50px 0; width: 100%; }
}


/* COLOURS */

.color-dark-grey,
.color-dark-grey p{ color: #141414; }
.color-dark-grey li::before{ background-color: #141414; }
.color-grey{ color: #6f6f6f; }
.color-light-grey{ color: #f0f0f0; }
.color-white{ color: #ffffff; }

.bg-color-white{ background-color: #ffffff; color: #141414; }
.bg-color-dark-grey{ background-color: #141414; color: #ffffff; }
.bg-color-grey{ background-color: #6f6f6f; color: #ffffff; }
.bg-color-light-grey{ background-color: #f0f0f0; color: #141414; }

.dark-grey-cta{ border-color: #141414; }
.dark-grey-cta .cta-bg{ background-color: #141414; }
.dark-grey-cta p{ color: #141414; }
.dark-grey-cta .play-triangle{ border-left-color: #ffffff; }
a.dark-grey-cta:hover p{ color: #ffffff; }


#breadcrumbs{ text-transform: uppercase; }
#breadcrumbs a{ color: white; }

.news-mid{ padding: 0 3em;}
.news-mid h3.title{ color: black; font-weight: 600; text-transform: uppercase; margin: 0; }
.news-mid .date{ color: black; font-weight: 300; font-size: 0.7em; line-height: 2.3; margin-bottom: 1em; display: block; }
.news-mid h3.title, .news-mid h2{ margin-bottom: 1em; font-weight: 600; color: black; }
.news-mid h2{ font-size: 1.8em; font-weight: 600; color: black; line-height: 1;}
.news-mid h3{ font-size: 1.4em; line-height: 1; font-weight: 600; color: black;}
.news-mid h4{ line-height: 1; font-weight: 600; color: black;}
.news-mid h2.date{ margin-bottom: 0.5em; }
.news-mid p{ font-size: 0.8rem; }

.toc .ez-toc-widget-container{ text-align: left; max-width: 80%; }
.toc .ez-toc-title{ color: black; text-transform: uppercase; font-weight: 600; }
.ez-toc-widget-container ul{ margin:0; padding: 0 !important;}
.ez-toc-widget-container li.active>a{ font-weight: 600; }
.ez-toc-widget-container ul.ez-toc-list li.active::before{ background-color: white; }
.ez-toc-widget-container li::marker, .ez-toc-widget-container li a{ color: black; font-size: 0.8rem; }
div.ez-toc-widget-container li{ line-height: 1.1; margin: 1.5em 0; }

.share ul{
	margin: 0;
	padding: 0;
	list-style: none;
	display: inline-block;
	width: 100%;
}

.share ul li{
	margin: 0;
	padding: 0;
	list-style: none;
}

.share ul.horizontal li{
	margin: 0 0.8em;
	display: inline-block;
}

.share ul.vertical{
	width: 40px;
}

.share ul.vertical li{
	margin: 0 0 1em 0;
	display: inline-block;
}

.share ul.horizontal li:first-child{
	margin-left: 0;
}

.share ul.horizontal li:last-child{
	margin-right: 0;
}

.share ul li{
	border-radius: 50%;
	background-color: #000000;
	text-align: center;
}

.share ul li:hover{
	background-color: #9D9D9B;
}

.share ul li a{
	min-width: 40px;
    min-height: 40px;
    vertical-align: middle;
    display: inline-block;
}

.share ul li a i{
	font-size: 2em;
	color: white;
	display: inline-block;
  vertical-align: middle;
  line-height: 40px;
}

.share h4{
	text-align: center;
	color: black;
	margin-top: 2em;
	font-weight: 400;
}

.saboxplugin-wrap .saboxplugin-authorname{
	display: none !important;
}

.saboxplugin-wrap .saboxplugin-gravatar{
	float: none !important;
}

.saboxplugin-wrap, .news-item{
	border: none !important;
	-webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.30);
	-moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.30);
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.30);
}

.news-item .newscontentholder{
	background: white;
}

#newsandmediacontainer .cbp, #newsandmediacontainer .cbp .cbp-wrapper{
	overflow: visible;
}

.news-item h2, .news-item h3, .news-item h2 a {
	color: black;
	font-weight: 600;
}

.news-item h3{
	font-size: 0.8em;
	line-height: 1.2;
	margin-bottom: 0.5em;
}

.news-item h2{
	font-size: 1.3em;
	line-height: 1.2;
	margin-bottom: 0;
}

.newscontentholder{
	min-height: 121px;
}

@media screen and (max-width: 768px){
	.news-mid{
		padding: 0;
	}
	.toc div.ez-toc-widget-container ul{
		display: none;
	}
	.ez-toc-title{
		font-size: 1.6em;
	}
	.ez-toc-title, .ez-toc-title:after{
		cursor: pointer;
	}
	.ez-toc-title:after{
		font: normal normal normal 30px/1 FontAwesome;
		content: '\f0d7';
		font-weight: bold;
		margin-left: 10px;
	}
	.ez-toc-title.open:after{
		content: '\f0d8';
	}
	.toc .ez-toc-widget-container{
		border: 1px solid #000000;
		padding: 7px !important;
		margin-bottom: 2em;
		max-width: 100%;
	}
	.toc.sticky{
		position: -webkit-static;
		position: static;
		margin-top: 0;
	}
	.share ul.vertical{
		display: none;
	}
}

@media screen and (min-width: 769px){
	.toc div.ez-toc-widget-container ul{
		display: block !important;
	}
}