/*
Designed by Joshua Boardman for New World Digital Media - 2024
Theme Name - Durk
Theme Version - 1.0
Business Details
Business Name         	- Helios Roofing &amp; Solar Ltd
Business Name         	- Helios Roofing &amp; Solar Ltd
Business Type         	- Roofing &amp; Solar
Address Line One      	- 15 Regent Street
Address Line Two      	- Nottingham
Address Line Three    	- Nottinghamshire
Primary Work Area     	- Nottinghamshire
City 										- Nottingham
Postal Code          	- NG10 1JX
Date Start          	- 13/03/2025
Domain Name          	- heliosroofingandsolar.co.uk
Company Mobile Number 	- 07526686530
Company Office Number 	- 07411143190
Company Email Address 	- info@heliosroofingandsolar.co.uk
Service1								- Chimney Repair
service2								- Solar Panel Installation &amp; Cleaning
service3								- Leak Detection
service4								- Roof Repairs &amp; Installation
service5								- Gutter Replacements
Facebook URL         	- #facebook
Instagram URL         	- #instagram
Twitter URL         	- #twitter
Dark Colour             - #dfdfdf
Darker Colour           - #acacac
Accent Colour           - #577ec1
*/
.links{
	/*display: none;*/
}
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;700;900&display=swap');
html,body {height:100%;font-family: 'Poppins', sans-serif;}
ul.socials a[href*="#"], .social a[href*="#"], .creds a[href*="#"]{display: none!important;}
*:focus{outline: none;}
a{text-decoration: none;color: inherit;}
ul,ol{list-style: none; margin: 0; padding: 0;}
@media screen and (max-width: 39.9375em) {.noMobi{display: none;}}
.tar{text-align: right;} @media screen and (max-width: 64.9375em) {.tar{text-align: left;}}
.tac{text-align: center!important;}
.noMargin{margin: 0!important;}
.padRight{padding-right: 60px;} @media screen and (max-width: 64.9375em) {.padRight{padding-right: 16px;}}
.padLeft{padding-left: 60px;} @media screen and (max-width: 64.9375em) {.padLeft{padding-left: 16px;}}
.wrapper{
	overflow: hidden;
}
@media screen and (max-width: 39.9375em) {
	.plusOne{
		order: +1
	}
}
/*TopBar*/
.topBar.stuck{
	background-color: rgba(0,0,0,0.6);
	backdrop-filter: blur(20px);
}
.topBar{
	transition: background-color ease 0.5s;
	position: fixed;
	z-index: 10001;
	width: 100%;
	padding: 20px;
}
@media screen and (max-width: 64.9375em) {
	.topBar{
		background-color: rgba(0,0,0,0.6);
		backdrop-filter: blur(10px);
	}
}
@media screen and (max-width: 39.9375em) {
	.topBar{
		padding: 10px;
	}
}
.topBar .logo{
	height: 140px;
}
/*Menu*/
nav ul{
	text-align: left;
	padding: 0 0 0 20px;
	border-left: 2px solid #577ec1;
}
nav ul li{
	display: inline-block;
	position: relative;
}
nav ul li:last-of-type{
	float: right;
}
nav ul li:last-of-type a i{
	margin-right: 10px;
}
nav ul li:last-of-type a:not(.sub-menu li a){
	padding: 0 20px;
	color: white;
	background-color: #577ec1;
	border-radius: 5px 0px 0px 20px;
	transition: border-radius ease 0.5s;
}
.topBar.stuck nav ul li:last-of-type a:not(.sub-menu li a){
	border-radius: 6px 6px 6px 20px
}
nav ul li a.active{
	color: #577ec1;
}
nav ul li a{
	color: #EEEEEE;
	font-weight: 500;
	padding: 0 15px;
	font-size: 12px;
	letter-spacing: 1px;
	text-transform: uppercase;
	display: inline-block;
	line-height: 52px;
}
/*Sub Menu*/
nav ul li > a:after {
	content: '\f078';
	color: #577ec1;
	margin-left: 6px;
	width: 0;
	text-align: center;
	font-family: 'Font Awesome 5 Pro';
	font-weight: 500;
	font-size: 10px;
}
nav ul li > a:only-child:after { display: none;} 
nav ul li:hover .sub-menu{
	display: block;
}
.sub-menu{
	border: none;
	background-color: #acacac;
	text-align: left;
	overflow: hidden;
	display: none;
	border-radius: 22px 4px 4px 4px;
	left: 0px;
	position: absolute;
	box-shadow: 0px 0px 20px rgba(0,0,0,0.1);
	padding: 15px 10px;
	z-index: 100;
}
.sub-menu li a{
	line-height: 30px;
	display: block;
	color: #EEEEEE;
}
.sub-menu li a:hover{
	color: #577ec1;
}
.sub-menu li{
	clear: both;
	width: 100%;
	display: block;
	white-space: nowrap;
}
@media screen and (max-width: 64.9375em) {
	nav ul li:hover .sub-menu{
		display: none;
	}
	.sub-menu li a{
		line-height: 30px;
		font-size: 14px;
	}
	.sub-menu{
		padding: 10px 0;
		background-color: transparent;
		position: relative;
		box-shadow: none;
	}
}
.showMenu{
	display: none;
}
@media screen and (max-width: 64.9375em) {
	.showMenu{
		display: block;
		float: right;
		position: relative;
		background-color: transparent;
		cursor: pointer;
		color: #EEEEEE;
		z-index: 1;
		height: 50px;
		border-radius: 4px 4px 4px 15px;
		border: 1px solid #577ec1;
		width: 50px;
	}
	nav{
		position: absolute;
		width: 300px;
		top: 0;
		box-shadow: 0px 0px 20px rgba(0,0,0,0.2);
		right: -300px;
		height: 110vh;
		background-color: #acacac;
		padding: 100px 40px 20px 20px;
		transition: right 0.5s ease;
	}
	nav.open{
		right: 0;
	}
	nav ul{
		border-left: 0;
	}
	nav ul li{
		width: 100%;
		text-align: right;
	}
	nav ul li a{
		line-height: 40px;
		padding: 0;
		font-size: 16px;
	}
	nav ul li:last-of-type a:not(.sub-menu li a){
		background-color: #577ec1;
		margin-top: 40px;
		color: white;
		padding: 0 20px;
	}
}
/*Headers*/
header.other{
	padding: 150px 20px 100px 20px;
	background-color: #dfdfdf;
}
@media screen and (max-width: 39.9375em) {
	header.other{
		padding: 530px 0px 60px 0px;
	}
	header.other:after{
		display: none;
	}
}
header.other .featuredImage{
	position: absolute;
	width: calc(50% - 100px);
	height: 100%;
	top: 0;
	right: 0;
	overflow: hidden;
	border-radius: 0 0 0 160px;
}
@media screen and (max-width: 39.9375em) {
	header.other .featuredImage{
		position: absolute;
		width: 100%;
		height: 500px;
		top: 0;
		right: 0;
		overflow: hidden;
		border-radius: 0 0 0 160px;
	}
}
header.other .featuredImage img{
	object-fit: cover;
	width: 100%;
	height: 100%;
}

header{
	background-color: #dfdfdf;
	position: relative;
	overflow: hidden;
	padding: 0 20px;
	z-index: 1;
}
@media screen and (max-width: 64.9375em) {
	header{
		padding: 0;
	}
}
header:before{
	top: 0;
	background: -moz-linear-gradient(top,  rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);
	background: -webkit-linear-gradient(top,  rgba(0,0,0,0.8) 0%,rgba(0,0,0,0) 100%);
	background: linear-gradient(to bottom,  rgba(0,0,0,0.8) 0%,rgba(0,0,0,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#acacac', endColorstr='#00#acacac',GradientType=0 );
}
@media screen and (max-width: 39.9375em) {
	header:before{
		display: none;
	}
}
header:after{
	bottom: 0;
	opacity: 0.9;
	background: -moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.6) 100%);
	background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.6) 100%);
	background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.6) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00#acacac', endColorstr='#acacac',GradientType=0 );
}
header:before, header:after{
	content: '';
	position: absolute;
	width: 100%;
	height: 300px;
	left: 0;
	z-index: 3;
}
@media screen and (max-width: 39.9375em) {
	header:after{
		bottom: unset;
		top: 400px;
		height: 100px;
	}
}
@media screen and (max-width: 64.9375em) {
	.carouselContainer{
		order: -1;
	}
}
/*Header Text Elements*/
.headerText{
	padding: 100px 0 60px 0;
	position: relative;
	z-index: 1001;
}
@media screen and (max-width: 64.9375em) {
	.headerText{
		padding: 40px!important;
	}
}
.headerText span{
	text-transform: uppercase;
	color: #577ec1;
	font-weight: bold;
	letter-spacing: 1px;
	display: block;
}
.headerText h1 b{
	color: #577ec1
}
.headerText h1{
	margin: 20px 0;
	font-weight: 500;
	font-size: 42px;
	letter-spacing: -1px;
	color: #000000;
	line-height: 110%;
}
.headerText p{
	font-size: 18px;
	color: #000000;
	opacity: 0.8;
	max-width: 90%;
	line-height: 200%;
}
.headerText a.btn{
	margin-top: 20px;
	font-weight: 600;
}
@media screen and (max-width: 39.9375em) {
	.headerText{
		padding: 50px 30px 20px 30px!important;
	}
	.headerText h1{
		font-size: 32px;
	}
	.headerText p{
		font-size: 16px;
	}
}
/*Carousel*/
.carouselContainer{
	position: relative;
}
.flickerButtons button:hover{
	color: #577ec1;
}
.flickerButtons button{
	cursor: pointer;
	height: 40px;
	width: 40px;
	font-size: 20px;
	color: white;
	text-align: center;
}
.flickerButtons{
	position: absolute;
	z-index: 10;
	color: white;
	bottom: 30px;
	right: 30px;
}
.carousel{
	height: 800px;
	border-radius: 100px 0 0 0;
	box-shadow: 0px 0px 20px rgba(0,0,0,0.7);
	overflow: hidden;
}
@media screen and (max-width: 64.9375em) {
	.carousel{
		height: 600px;
	}
}
@media screen and (max-width: 39.9375em) {
	.carousel{
		height: 500px;
	}
}
.carousel .item{
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.carousel .item p.slideTitle:before{
	content: '';
	position: absolute;
	width: 30px;
	height: 1px;
	background-color: #577ec1;
	left: -30px;
	top: calc(50% - 1px);
}
@media screen and (max-width: 39.9375em) {
	.carousel .item p.slideTitle:before{
		width: 30px;
		left: -40px;
	}
}
.carousel .item p.slideTitle{
	position: absolute;
	border-radius: 3px 3px 15px 3px;
	font-size: 18px;
	background-color: #577ec1;
	padding: 10px;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 1px;
	left: 30px;
	bottom: 70px;
	color: white;
}
@media screen and (max-width: 39.9375em) {
	.carousel .item p.slideTitle{
		font-size: 14px;
		left: 40px;
	}	
}
.carousel .item img{
	object-fit: cover;
	height: 100%;
	width: 100%;
}
.flickity-prev-next-button{
	bottom: -42px;
	display: none;
	top: unset;
	transform: unset;
}
.flickity-page-dots {
  bottom: 30px;
  left: 30px;
  width: auto;
  border-radius: 4px;
  margin: 0!important;
  padding: 0!important;
  z-index: 1000;
}
@media screen and (max-width: 39.9375em) {
	.flickity-page-dots {
		left: 40px;
	}
}
/* dots are lines */
.flickity-page-dots .dot.is-selected{
	background-color: #577ec1;
}
.flickity-page-dots .dot {
	height: 3px;
	width: 60px;
	background-color: rgba(255,255,255,0.8);
	opacity: 1;
	margin: 0;
	position: relative;
	border-radius: 0px;
	counter-increment: step-counter;
}
.flickity-page-dots .dot.is-selected:before{
	color: #577ec1
}
.flickity-page-dots .dot:before{
	color:  rgba(255,255,255,0.8);
	width: 100%;
	text-align: center;
	left: 0;
	line-height: 40px;
	bottom: 0px;
	font-size: 12px;
	display: inline-block;
	content: counter(step-counter);
	margin-right: 10px;
	position: absolute;
}
/*infoBoxes*/
.statistics .columns:first-of-type .infoBox{
	border-top-left-radius: 100px
}
.statistics .columns{
	margin-bottom: 40px;
}
.infoBox i{
	color: #222222;
	font-size: 30px;
	margin-bottom: 60px;
}
.infoBox p{
	font-weight: bold;
	opacity: 1!important;
	color: #222222;
	margin-top: 10px!important;
	margin-bottom: 0!important;
	line-height: 120%!important;
}
.infoBox span.number{
	line-height: 100%;
	letter-spacing: -4px;
	font-size: 80px;
	color: white;
	font-weight: bold;
	display: block;
}
.infoBox{
	box-shadow: 0px 0px 20px rgba(0,0,0,0.7);
	background-color: #577ec1;
	height: 100%;
	border-radius: 6px;
	position: relative;
	padding: 30px;
	text-align: right;
}
@media screen and (max-width: 64.9375em) {
	.infoBox span.number{
		font-size: 60px;
	}
	.infoBox p{
		font-weight: bold;
		opacity: 1!important;
		color: #222222;
		margin-top: 10px!important;
		margin-bottom: 0!important;
		line-height: 120%!important;
	}

}
@media screen and (max-width: 39.9375em) {
	.statistics .columns{
		margin-bottom: 20px;
	}
	.statistics .columns:first-of-type .infoBox{
		border-top-left-radius: 50px
	}
	.infoBox span.number{
		font-size: 60px;
		padding-right: 40px;
	}
	.infoBox i{
		position: absolute;
		right: 30px;
		top: 40px;
	}
}
/*Opening Hours*/
.openingDays p{
	margin: 0!important;
}
p.day b{
	width: 60px;
	display: inline-block;
}
/*Sidebars*/
.sideBox{
	background-color: #acacac;
	margin-bottom: 30px;
	color: white;
	padding: 60px 40px 40px 40px;
	border-radius: 6px 6px 100px 6px;
	box-shadow: 0px 0px 20px rgba(0,0,0,0.7);
}
.sideBox h3:before{
	content: '';
	position: absolute;
	left: 0;
	top: -10px;
	background-color: #577ec1;
	width: 30px;
	height: 1px;
}
/*Accreds*/
.accreds .columns:first-of-type img{
	border-top-left-radius: 40px
}
.accreds .columns:last-of-type img{
	border-bottom-right-radius: 40px
}
@media screen and (max-width: 64.9375em) {
	.accreds .columns:first-of-type img{
	border-top-left-radius: 20px
	}
	.accreds .columns:last-of-type img{
		border-bottom-right-radius: 20px
	}
}
.accreds .columns{
	padding-right: 20px!important;
}
/*Sections*/
section{
	padding: 150px 20px;
	position: relative;
	z-index: 1;
}
section.noPadBot{
	padding-bottom: 0px;
}
@media screen and (max-width: 64.9375em) {
	section{padding: 80px 40px;}
}
section.split:after{
	content: '';
	bottom: 0;
	left: 0;
	width: 100%;
	height: 30%;
	position: absolute;
	background-color: #dfdfdf;
	z-index: -1;
}
section.mid:after{
	content: '';
	height: 100%;
	width: 100%;
	background-color: #000000;
	opacity: 0.5;
	left: 0;
	bottom: 0;
	z-index: -1;
	position: absolute;
}
section.split.topSplit:after{
	bottom: 50%!important;
	height: 50%;
}
section.contents{
	background-image: url(../images/waves.svg);
	background-size: 1920px 1080px;
	background-position: top center;
	background-repeat: no-repeat;
}
@media screen and (max-width: 39.9375em) {section{padding: 60px 10px;}}
section.paleBg{background-color: #acacac!important
	;}
section.darkBg{background-color: #dfdfdf;}
section.darkBg.darker{background-color: #acacac;}
section.map{
	padding: 140px 20px;
}
@media screen and (max-width: 39.9375em) {
	section.map{
		padding: 400px 10px 60px 10px;
	}
}
section.split{
	overflow: hidden;
}
section.splitBg:after{
	content: '';
	height: 50%;
	width: 100%;
	background-color: #dfdfdf;
	left: 0;
	bottom: 0;
	z-index: -1;
	position: absolute;
}
.gradeBottom, .gradeTop{
	position: relative;
	z-index: 1;
}
.gradeBottom:after{
	bottom: 0;
	background: -moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.6) 100%);
	background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.6) 100%);
	background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.6) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00#acacac', endColorstr='#acacac',GradientType=0 );
	content: '';
	position: absolute;
	width: 100%;
	height: 200px;
	left: 0;
	z-index: -1;
}
.gradeTop:before{
	opacity: 0.5;
	top: 0;
	background: -moz-linear-gradient(bottom,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.6) 100%);
	background: -webkit-linear-gradient(bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.6) 100%);
	background: linear-gradient(to top,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.6) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00#acacac', endColorstr='#acacac',GradientType=0 );
	content: '';
	position: absolute;
	width: 100%;
	height: 200px;
	left: 0;
	z-index: -1;
}
@media screen and (max-width: 39.9375em) {
	.row.squeeze{
		margin-top: -30px!important;
		position: relative;
	}
}
section .row ~ .row{margin-top: 100px;} @media screen and (max-width: 39.9375em) {section .row ~ .row{margin-top: 50px;}}
/*Maps*/
.map{
	width: 100%;
	position: relative;
	z-index: 1;
	overflow: hidden;
	background-color: #577ec1;
}
.map iframe{
	position: absolute;
	pointer-events: none;
	width: 140%;
	opacity: 0.8;
	height: calc(100% + 300px);
	z-index: -2;
	left: 0;
	top: -150px;
	filter: grayscale(1) invert(180);
}
.mapCard{
	background-color: #acacac;
	box-shadow: 0px 0px 20px rgba(0,0,0,0.7);
	padding: 60px;
	border-radius: 8px 8px 80px 8px;
}
@media screen and (max-width: 39.9375em) {
	.mapCard{
		padding: 50px 30px;
	}	
}
.text .mapCard p{
	margin-bottom: 0;
}
@media screen and (max-width: 39.9375em) {
	.map iframe{
		position: absolute;
		pointer-events: none;
		left: 0;
		width: 125%;
		height: calc(100% + 600px);
		top: -500px;
	}
}
/*Text Styles*/
.text{color: #dfdfdf;}
.darkBg .text{color: #000000;}
/*Headings*/
.text h1 span, .text h2 span, .text h3 span, .text h4 span, .text h5 span, .text h6{
	color: #577ec1;
}
.text h1 i, .text h2 i, .text h3 i, .text h4 i{
	margin-right: 20px;
}
.text h1, .text h2, .text h3, .text h4, .text h5, .text h6{
	margin: 0 0 30px 0;
	position: relative;
	letter-spacing: -1px;
}
.text h1{
	font-size: 38px;
	line-height: 140%;
}
.text h2{
	font-weight: 500;
	font-size: 34px;
	line-height: 140%;
}
.text h3{
	line-height: 140%;
	font-weight: 500;
	font-size: 26px;
}
.text h4{
	line-height: 140%;
	font-weight: 700;
	font-size: 20px;
	color: #444;
}
.text .subHeading:before{
	content: '';
	width: 20px;
	height: 2px;
	background-color: #577ec1;
	position: absolute;
	left: 0;
	top:calc(50% - 1px);
}
.text .subHeading{
	font-size: 18px;
	opacity: 0.8;
	position: relative;
	padding-left: 30px;
	font-weight: bold;
	letter-spacing: -1px;
}
@media screen and (max-width: 64.9375em) {
	.text h1{
		font-size: 34px;
	}
	.text h2{
		font-size: 30px;
	}
	.text h3{
		font-size: 22px;
	}
	.text h4{
		font-size: 18px;
	}
}
/*SMALL SCREENS AND UNDER */
@media screen and (max-width: 39.9375em) {
	.text h1{
		font-size: 30px;
	}
	.text h2{
		font-size: 26px;
	}
	.text h3{
		font-size: 20px;
	}
	.text h4{
		font-size: 16px;
	}
}
.text h2:before{
	content: '';
	position: absolute;
	left: 0;
	top: -10px;
	background-color: #577ec1;
	width: 30px;
	height: 1px;
}
/*Images*/
.text figure img{
	margin-bottom: 0;
}
.text figure{
	width: 100%;
	z-index: 1;
	margin: 0 0 30px 0!important;
	border-radius: 5px;
	overflow: hidden;
	position: relative;
}
.text figure figcaption{
	pointer-events: none;
	text-align: center;
	padding: 20px;
	position: absolute;
	display: block;
	width: 100%;
	z-index: 10;
	bottom: 0;
	color: white;
	font-weight: bold;
	background: -moz-linear-gradient(bottom,  rgba(0,0,0,0.84) 0%, rgba(0,0,0,0) 100%);
	background: -webkit-linear-gradient(bottom,  rgba(0,0,0,0.84) 0%,rgba(0,0,0,0) 100%);
	background: linear-gradient(to top,  rgba(0,0,0,0.84) 0%,rgba(0,0,0,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 );
	z-index: 1;
}
.text .imageStack{
	position: relative;
	width: 100%;
	margin-top: -40px;
}
.text .imageStack img{
	width: calc(100% - 40px);
	margin: 0;
	box-shadow: 10px 10px 20px rgba(0,0,0,0.2);
}
.text .imageStack img:first-of-type{
	position: absolute;
	right: 0;
	bottom: -40px;
}
/*SMALL SCREENS AND UNDER */
@media screen and (max-width: 64.9375em) {
	.text .imageStack {
		margin-top: 0;
		margin-bottom: 30px;
		border-radius: 5px;
		overflow: hidden;
	}
	.text .imageStack img{
		width: 50%;
		border-radius: 0px;
		bottom: 0!important;
	}
}
.text img{
	margin: 0 0 30px 0;
	border-radius: 5px;
	box-shadow: 0px 0px 20px rgba(0,0,0,0.4)
}

.text .noiceImage{
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 64.9375em) {
	.text .noiceImage{
		width: 80%;
	}
}
@media screen and (max-width: 39.9375em) {
	.text .noiceImage{
		margin-bottom: 50px;
		width: 100%;
	}
	.text .noiceImage img{
		border-radius: 60px 6px 6px 6px!important;
	}
}
.text img.bigOne{border-top-left-radius: 100px;}
.text img.bigTwo{border-top-right-radius: 100px;}
.text img.bigThree{border-bottom-right-radius: 100px;}
.text img.bigFour{border-bottom-left-radius: 100px;}
@media screen and (max-width: 39.9375em) {
	.text img.bigOne{border-top-left-radius: 50px;}
	.text img.bigTwo{border-top-right-radius: 50px;}
	.text img.bigThree{border-bottom-right-radius: 50px;}
	.text img.bigFour{border-bottom-left-radius: 50px;}
}
.text .noiceImage:before{
	content: '';
	height: calc(100% - 30px);
	width: 100%;
	position: absolute;
	z-index: -2;
	left: 30px;
	top: 30px;
	border: 2px solid #577ec1;
	border-radius: 100px 6px 6px 6px;
	opacity: 0.6;
}
.text .noiceImage img{
	border-radius: 120px 6px 6px 6px;
	box-shadow: 0px 0px 20px rgba(0,0,0,0.7);
}
.text img.pullLeft{
	max-width: 30%;
	display: inline-block;
	float: left;
	margin-right: 20px;
	margin-bottom: 20px;
	clear: both;
}
.text img.pullRight{
	max-width: 30%;
	display: inline-block;
	float: right;
	margin-left: 20px;
	margin-bottom: 20px;
	clear: both;
}
.reasonCard{
	color: #000000;
	border-radius: 100px 6px 6px 6px;
	background-color: #dfdfdf;
	padding: 60px 40px 40px 40px;
	box-shadow: 0px 0px 20px rgba(0,0,0,0.5);
	height: 100%;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
@media screen and (max-width: 39.9375em) {
	.reasonCard{
		border-radius: 50px 6px 6px 6px;
	}
}
.reasonCard span.number{
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 1px;
}
.text .reasonCard p{
	margin-bottom: 0;
}
.reasonCard h3{
	font-weight: 500;
	margin-bottom: 20px;
}
.reasonCard i{
	color: #577ec1;
	font-size: 60px;
	margin: 30px 0;
	display: block;
}
.staggeredCards .columns{
	margin-bottom: 30px;
}
/*Generic Cards*/
.cardTrio:after{
	content: '';
	height: 100%;
	width: 100
	background-color: rgba(0,0,0,0);
	top: 0;
	left: 0;
	z-index: -1;
	position: absolute;
	transition: all 0.5s;
}
.cardTrio:hover:after{
	backdrop-filter: blur(10px);
	background-color: rgba(0,0,0,0.5);	
}
.cardTrio{
	position: relative;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	padding: 280px 30px 30px 30px;
	border-radius: 50px 8px 0px 0px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.07), 0 4px 8px rgba(0,0,0,0.07), 0 8px 16px rgba(0,0,0,0.07),0 16px 32px rgba(0,0,0,0.07), 0 32px 64px rgba(0,0,0,0.07);
}
.cardTrio img{
	height: 10px;
	opacity: 0;
}
.cardText{
	bottom: calc(-100% + 120px);
	height: 100%;
	width: 100%;
	left: 0;
	padding: 60px 30px 30px 30px;
	position: absolute;
	z-index: 1;
	transition: bottom ease 0.6s;

}
.cardTrio:hover .cardText{
	bottom:  0;
}
.cardTrio h3:before{
	content: '';
	position: absolute;
	width: 20px;
	height: 1px;
	background-color: #577ec1;
	left: -30px;
	top: calc(50% - 1px);
}
.cardTrio .cardText p{
	color: white;
}
.cardTrio .cardText h3{
	font-weight: 500;
	font-size: 24px;
	color: white;
	line-height: 40px;
	margin-bottom: 20px;
}
@media screen and (max-width: 64.9375em) {
	.firstTwo{
		margin-bottom: 30px;
	}
	.cardTrio{
		padding: 180px 30px 30px 30px;
	}
	.firstTwo .cardTrio{
		padding: 280px 30px 30px 30px;
		border-radius: 50px 8px 8px 8px;
	}
}
@media screen and (max-width: 39.9375em) {
	.cardTrio:after{
		background-color: rgba(0,0,0,0.5);
	}
	.cardText{
		bottom: 0;
	}
	.cardTrio,.firstTwo .cardTrio{
		padding: 200px 30px 30px 30px;
	}
}
/*Generic Callout*/
.callout{
	border: 1px solid #DDDDDD;
	padding: 40px;
	border-radius: 6px;
	margin-bottom: 30px;
}
@media screen and (max-width: 39.9375em) {
	.callout{
		padding: 30px;
	}
}
.callout a.btn{
	margin-bottom: 0!important;
}
/*Horizontal Rules*/
.text hr{
	border-radius: 2px;
	top: -8px;
	border-radius: 2px;
	position: relative;
	display: inline-block;
	height: 4px;
	width: 100px;
	background-color: #577ec1;
	border: 0px!important;
}
.text hr.full{
	border-radius: 2px;
	top: -6px;
	border-radius: 2px;
	position: relative;
	display: inline-block;
	height: 2px;
	width: 100%;
	opacity: 0.2;
	background-color: #577ec1;
	border: 0px!important;
}
.text hr.spacer{
	position: static;
	display: block;
	height: 4px;
	margin: 30px 0;
	background-color: rgba(0,0,0,0);
	width: 100%;
}
/*Paragraphs*/
.text p{
	font-size: 16px;
	line-height: 200%;
	opacity: 0.8;
	margin: 0 0 30px 0;
}
/*.text div:last-child{
	margin-bottom: 0!important;
}*/
.text div p{
	font-size: 14px;
}
.text p.statement{
	font-weight: bold;
	padding-left: 30px;
	border-left: 3px solid #577ec1;
}
/*SMALL SCREENS AND UNDER */
@media screen and (max-width: 39.9375em) {
	.text p{
		font-size: 15px;
	}
}
.text p.smallPrint{
	font-size: 12px;
}
.text p a{
	color: #577ec1;
	text-decoration: underline;
}
.text a{
	overflow: auto
}
.text .icon ~ .icon{
	margin-left: 10px;
}
.darkBg .text .icon{
	color: #dfdfdf;
	background-color: #577ec1;
}
.text .icon{
	display: inline-block;
	color: #577ec1;
	background-color: #dfdfdf;
	box-shadow: 0 1px 1px rgba(0,0,0,0.11), 0 2px 2px rgba(0,0,0,0.11), 0 4px 4px rgba(0,0,0,0.11), 0 6px 8px rgba(0,0,0,0.11),0 8px 16px rgba(0,0,0,0.11);
	font-size: 32px;
	line-height: 80px;
	height: 80px;
	width: 80px;
	text-align: center;
	border-radius: 5px;
	margin-bottom: 30px;
}
.text p i{
	font-size: 22px;
	color: #577ec1;
	width: 30px;
	line-height: 30px;
	margin: 0;
}
/*Address'*/
.text address p{
	font-style: initial;
}
/*Blockquotes*/
.text blockquote{
	border-left: 2px solid #577ec1;
	overflow: hidden;
	margin: 0 0 40px 0;
	position: relative;
	padding: 20px 40px;
	z-index: 1;
	font-style: italic;
}
.text blockquote:after{
	right: -20px;
	top: -40px;
}
.text blockquote:before{
	left: -20px;
	bottom: -40px;
	transform: rotate(180deg);
}
.text blockquote h3{
	color: white;
	margin-bottom: 12px;
}
.text blockquote p:before{
	content: '" ';
}
.text blockquote p:after{
	content: ' "';
}
.text blockquote p{
	/*color: #FFFFFF;*/
}
.text blockquote p:last-of-type:before,
.text blockquote p:last-of-type:after{
	content: '';
}
.text blockquote p:last-of-type{
	margin-bottom: 0;
	opacity: 0.8;
	font-style: initial;
	text-transform: uppercase;
	color: #577ec1;
	font-weight: 700;
}
@media screen and (max-width: 39.9375em) {
	.text blockquote{
		margin-top: 10px;
		margin-bottom: 30px;
	}
	.text blockquote:after{
		left: 20px;
		top: -20px;
	}
}
/*Buttons*/
a.btn i{
	margin-left: 17px;
	color: #577ec1
}

a.btn.bigOne{border-top-left-radius: 22px;}
a.btn.bigTwo{border-top-right-radius: 22px;}
a.btn.bigThree{border-bottom-right-radius: 22px;}
a.btn.bigFour{border-bottom-left-radius: 22px;}
a.btn{
	font-size: 16px;
	background: transparent;
	border: 1.5px solid #577ec1;
	padding: 0 18px;
	top: 0;
	font-weight: 400;
	display: inline-block;
	line-height: 52px;
	margin: 0 0 30px 0;
	-webkit-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
	cursor: pointer;
	color: #000000;
	border-radius: 6px;
	position: relative;
}
a.btn ~ a.btn{
	margin-left: 16px;
	background-color: #577ec1!important;
}
a.btn:hover{
	background-color: rgba(0,0,0,0.7);
}
/*Tables*/
.text table{
	width: 100%;
	text-align: left;
	margin: 0 0 30px 0;
	border-radius: 4px;
	border-collapse: collapse;
	overflow: hidden;
}
.text table tr:first-of-type{
	font-weight: bold;
	color: #577ec1;
	font-size: 18px;
	background-color: #dfdfdf!important;
}
.text table tr:first-of-type{
	font-weight: bold;
	color: #dfdfdf;
	font-size: 18px;
	background-color: #577ec1!important;
}
.text table tr:nth-of-type(even){
	background-color: rgba(0,0,0,0);
}
.text table tr:nth-of-type(odd){
	background-color: rgba(0,0,0,0.05);
}
.darkBg .text table tr:nth-of-type(odd){
	background-color: rgba(0,0,0,0.3);
}
.text table td, table th{
	padding: 10px;
	opacity: 0.8;
}
/*Unordered Lists*/
.text ul{
	font-size: 16px;
	margin-bottom: 30px;
	font-weight: 500;
}
.text ul.twoCols{
	-webkit-columns: 2;
	-moz-columns: 2;
	-o-columns: 2;
	columns: 2;
}
.text ul li{
	line-height: 210%;
	opacity: 0.8;
}
.text ul.noDots li:before{
	content: '';
	margin-right: 0;
}
.text ul li:before{
	color: #577ec1;
	display: inline-block;
	content: '-';
	font-size: 20px;
	font-family: 'Font Awesome 5 Pro';
	font-weight: 500;
	margin-right: 10px;
}
/*Ordered Lists*/
.text ol{
	font-weight: 500;
	font-size: 16px;
	-webkit-columns: 2;
	-moz-columns: 2;
	-o-columns: 2;
	columns: 2;
	margin-bottom: 30px;
}
.text ol li{
	display: inline-block;
	width: 100%;
	opacity: 0.8;
	line-height: 210%;
	counter-increment: step-counter;
}
.text ol li:before{
	color: #577ec1;
	width: 10px;
	display: inline-block;
	content: counter(step-counter)".";
	margin-right: 10px;
}
/*Card style Lists*/
.text ul.cards li:before{
	display: none;
}
.text ul.cards{
	-webkit-columns: 1!important;
	-moz-columns: 1!important;
	-o-columns: 1!important;
	columns: 1!important;
}
.paleBg .text ul.cards li{
	background-color: #FFFFFF;
	border: 1px solid #DDDDDD;

}
.text ul.cards li{
	box-shadow: 0 1px 2px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.07), 0 4px 8px rgba(0,0,0,0.07), 0 8px 16px rgba(0,0,0,0.07),0 16px 32px rgba(0,0,0,0.07), 0 32px 64px rgba(0,0,0,0.07);
	background-color: #EEEEEE;
	width: 100%;
	border-radius: 5px;
	display: inline-block;
	padding: 30px;
	margin-bottom: 24px;
	position: relative;
	z-index: 1;
}
.text ul.cards li i{
	color: #577ec1;
	display: inline-block;
	margin-right: 10px;
}
.text ul.cards li h3{
	font-size: 23px;
	margin-bottom: 10px;
}
.darkBg .text ul.cards li{
	background-color: rgba(0,0,0,0.3);
}
.text ul.cards li p{
	margin-bottom: 0;
	font-size: 15px;
	line-height: 160%;
	opacity: 0.8;
}
/*Social Lists*/
.text ul.socials{
	-webkit-columns: 1;
	-moz-columns: 1;
	-o-columns: 1;
	columns: 1;
	position: relative;
	margin-top: -20px;
}
.text ul.socials li:before{
	display: none!important;
}
.text ul.socials li a i{
	transition: all 0.5s;
}
.text ul.socials li a:hover{
	transform: scale(1.05);
	box-shadow: 0 1px 1px rgba(0,0,0,0.11), 0 2px 2px rgba(0,0,0,0.11), 0 4px 4px rgba(0,0,0,0.11), 0 8px 8px rgba(0,0,0,0.11), 0 16px 16px rgba(0,0,0,0.11), 0 32px 32px rgba(0,0,0,0.11);
}
.text ul.socials li a{
	color: #FFFFFF!important;
	box-shadow: 0 1px 1px rgba(0,0,0,0.15), 0 2px 2px rgba(0,0,0,0.15), 0 4px 4px rgba(0,0,0,0.15), 0 8px 8px rgba(0,0,0,0.15);
	overflow: hidden;
	padding: 0px;
	width: 50px;
	height: 50px;
	font-size: 19px;
	display: inline-block;
	float: left;
	border-radius: 4px;
	line-height: 50px;
	will-change: transform;
	-webkit-perspective: 1000;
	-webkit-backface-visibility: hidden;
	text-align: center;
	transition: box-shadow 0.5s ease, transform 0.5s ease-out;
}
.text ul.socials li{
	opacity: 1!important;
	width: auto;
	float: left!important;
	margin-right: 14px;
}
.text ul.socials li a[href*="facebook"]{background-color: #4B69B0;}
.text ul.socials li a[href*="twitter"]{background-color: #37B1E1;}
.text ul.socials li a[href*="instagram"]{background: #d6249f;background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%);}
.text ul.socials li a[href*="youtube"]{background-color: #E83F3A;}
.text ul.socials li a[href*="wa.me"]{background-color: #2BA63A;}
.text ul.socials li a[href*="linkedin"]{background-color: #0074B2;}
.text ul.socials li a[href*="yell"]{background-color: #FDDB00; color: #222222;}
.text ul.socials li a[href*="checkatrade"]{background-color: #eb1f40;}
.text ul.socials li a[href*="houzz"]{background-color: #4BB714;}
.text ul.socials li a[href*="mybuilder"]{background-color: #478bd8;}
@media screen and (max-width: 39.9375em) {
	.text ul, .text ul.twoCols, .text ol, .text ul.cards{
		-webkit-columns: 1;
		-moz-columns: 1;
		-o-columns: 1;
		columns: 1;
	}
}
/*Definition Lists*/
.text dl {
	font-size: 16px;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-bottom: 30px;
}
.text dl > * {
	padding-top: 10px;
}
.text dt {
	opacity: 0.8;
	width: 25%;
	font-size: 20px;
	padding-right: 10px;
	line-height: 125%;
	font-weight: bold;
}
.text dd {
	width:75%;
	padding-left: 20px;
	opacity: 0.8;
	line-height: 125%;
	margin-left: 0px;
	margin-bottom: 20px;
}
.text dd + dd {
	width: 100%;
	padding-left: calc(25% + 20px);
}
.text dt + dt {
	padding-right: 75%;
}
.text dt + dt + dd {
	margin-top: 20px;
	padding-left: calc(25% + 20px;);
}
/*SMALL SCREENS AND UNDER */
@media screen and (max-width: 39.9375em) {
	.text dl > * {
		padding-top: 10px;
	}
	.text dt {
		width: 100%;
		padding-right: 0px;
	}
	.text dd {
		width: 100%;
		padding-left: 0px;
		margin-left: 0px;
		margin-bottom: 10px;
	}
	.text dd + dd {
		padding-left: 0;
	}
	.text dt + dt {
		padding-right: 75%;
	}
	.text dt + dt + dd {
		margin-top: 10px;
		padding-left: 0;
	}
}
/*Forms*/
.text form ::placeholder {color: #888888;opacity: 1;}
.text form :-ms-input-placeholder {color: #888888;}
.text form ::-ms-input-placeholder {color: #888888;}
.text form{
	color: #606060;
}
.text form{
	margin-bottom: 30px;
}
.text form .btn{
	margin-top: 20px;
}
.darkBg .text form label{
	color: #EEEEEE
}
.text form .checker *{
	line-height: 100%;
	margin: 0;
}
.text form #sum{
	margin-top: 6px!important;
}
.text form label{
	display: block;
	font-size: 14px;
	line-height: 200%;
	color: #577ec1!important;
	margin-top: 10px;
	margin-bottom: 10px;
}
.paleBg .text form input, .paleBg .text form select, .paleBg .text form textarea{
	background-color: #FFFFFF;
	border: 1px solid #DDDDDD;
}
.text form input, .text form select{
	width: 100%;
	height: 52px;
	color: #EEEEEE;
	background-color: rgba(0,0,0,0.5);
	font-size: 14px;
	padding: 0 20px;
	box-shadow: 0px;
	outline: 0;
	border-radius: 5px;
	border: 0px solid #BBBBBB;
	display: block;
}
.text form select{
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
}
.text form select::-ms-expand {
  display: none;
}
.text form textarea{
	border-radius: 5px;
	width: 100%;
	background-color: rgba(0,0,0,0.5);
	color: #EEEEEE;
	resize: none;
	padding: 20px;
	border: 0px solid #BBBBBB;
	height: 180px;
	margin-bottom: 30px;
}
.text form .sendForm.disabled{
	filter: grayscale(1);
}
.text form .sendForm{
	cursor: pointer;
	display: block;
	width: 100%;
	line-height: 52px;
	color: #000000;
	border: 1px solid #577ec1!important;
	background-color: transparent;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 2px;
	transition: all 0.5s;
	border-radius: 6px 6px 6px 20px;
}
@media screen and (max-width: 64.9375em) {
	.text form .sendForm{
		margin-top: 30px;
	}
}
.text form .sendForm:hover{
	background-color: rgba(0,0,0,0.1); 
}
/* G A L L E R Y */
.fancybox-infobar{
	color: #FFFFFF;
	font-size: 20px;
}
.fancybox-content img{
	border-radius: 6px;
	box-shadow: 5px 5px 10px rgba(0,0,0,0.3);
}
.gallery .columns:hover img{
	box-shadow: 0px 0px 20px rgba(0,0,0,0.2);
	transform: scale(1);
	filter: grayscale(0);
}
.gallery .columns img{
	width: 100%!important;
	filter: grayscale(0.7);
	transition: transform 0.4s, box-shadow 0.4s, filter 0.5s;
	margin: 0!important;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
}
.gallery .columns{
	width: 100%!important;
	margin-bottom: 40px;
}
/*Footer*/
.btn.btt{
	margin: 0;
}
.btn.btt i{
	margin-left: 0
}
@media screen and (max-width: 39.9375em) {
	footer .tar{
		text-align: right;
	}
}
footer{
	background-color: #a5a5a5;
	padding: 100px 20px 120px 20px;
}
footer img{
	margin-bottom: 0!important;
	box-shadow: none!important;
	-webkit-filter: drop-shadow(0px 0px 20px rgba(0,0,0,0.3));
}
@media screen and (max-width: 64.9375em) {
	.footerEnquiry{
		margin-top: 30px;
	}	
}
.footerMenu ~ ul li:before{
	display: none;
}
.footerMenu ~ ul li:last-child{
	display: none;
}
footer .slogan{
	color: #577ec1!important;
	font-size: 18px!important;
	margin-left: 20px!important;
}
@media screen and (max-width: 39.9375em) {
	footer .slogan{
		margin-left: 0!important;
		font-size: 14px;
	}
}
footer ul li a:hover{
	color: #577ec1;
}
footer .text ul li, footer .text p{
	opacity: 1;
}
footer .text ul, footer .text p{
	font-size: 13px;
	font-weight: 400;
	color: #000000;!important;
}
footer .text form label{
	color: #577ec1!important;
	font-weight: 400;
}
footer .text form input{
	background-color: rgba(0,0,0,0.5);
	color: #EEEEEE;
	height: 45px;
	line-height: 45px!important;
}
footer .text form textarea{
	background-color: rgba(0,0,0,0.5);
	color: #EEEEEE;
}
footer address p b{
	margin-bottom: 10px!important;
	display: block;
}
footer address p{
	margin-bottom: 0!important
}
footer p.dib{
	display: inline;
}
footer ul li i, .sideBox ul li i:not(ul.socials i){
	color: #577ec1;
	width: 28px;
	text-align: center;
}
footer h3{
	font-size: 22px!important;
	font-weight: 500;
}
footer h3:before{
	content: '';
	position: absolute;
	left: 0;
	top: -10px;
	background-color: #577ec1;
	width: 30px;
	height: 1px;
}
footer .row ~ .row{
	margin-top: 100px;
}
footer .contact, footer .otherLinks{
	margin-top: 30px;
}
/*SMALL SCREENS AND UNDER */
@media screen and (max-width: 39.9375em) {
	footer .contact, footer .otherLinks, footer .addy{
		margin-bottom: 20px;
		margin-top: 0px;
	}
	footer address{
		margin-bottom: 20px
	}
	footer .row ~ .row{
		margin-top: 50px;
	}
	footer{
		padding: 60px 10px;
	}
	.footNav{
		display: none;
	}
}
.copy{
	background-color: #acacac;
	padding: 20px;
}
@media screen and (max-width: 39.9375em) {
	.copy{
		padding: 20px 10px;
	}
}
.copy img{
	margin-bottom: 0;
}
.copy .text p{
	font-size: 12px;
	color: #000000;
	margin: 0;

}
.floatingElement{
	position: absolute;
	z-index: 1;
	border: 3px solid #333333;
}
.floatingElement:before{
	width: calc(100% + 6px);
	height: calc(100% + 6px);
	position: absolute;
	content: '';
	border: 3px solid #577ec1;
	border-radius: 100px;
	top: -3px;
	left: 50px;
}
header .floatingElement{
	opacity: 0.3;
	width: 50%;
	height: 80%;
	top: 10px;
	z-index: -1;
	border-radius: 100px;
	right: -50px;
	transform: rotate(45deg);
}
header.other .floatingElement{
	right: 200px;
	top: 100px;
	width: 40%;
}
@media screen and (max-width: 39.9375em) {
	header .floatingElement{
		opacity: 0.05;
		width: 100%;
	}
}
.floatingElement.one{
	opacity: 0.05!important;
	width: calc(50% + 100px);
	height: 900px;
	bottom: -320px;
	z-index: -1;
	border-radius: 100px;
	right: -100px;
}
.floatingElement.two{
	opacity: 0.1!important;
	width: calc(50% + 103px);
	height: 350px;
	top: -100px;
	z-index: -1;
	border-radius: 100px;
	left: -100px;
}
.floatingElement.three{
	opacity: 0.05!important;
	width: 500px;
	height: 900px;
	bottom: -180px;
	z-index: -1;
	border-radius: 100px;
	right: -300px;
}
.floatingElement.four{
	opacity: 0.1!important;
	width: calc(50% + 103px);
	height: 650px;
	top: 0px;
	z-index: -1;
	border-radius: 100px;
	left: -100px;
}
.quoteForm{
	background-color: #dfdfdf;
	box-shadow: 0px 0px 20px rgba(0,0,0,0.2);
	padding: 0;
	display: none;
	overflow: hidden;
	border-radius: 20px 20px 20px 120px;
}
.formText{
	padding: 100px 60px 60px 60px;
}
@media screen and (max-width: 39.9375em) {
	.formText{
		padding: 60px 30px;
	}
}
.formImage{
	overflow: hidden;
	border-radius: 0 120px 0 0;
}
@media screen and (max-width: 39.9375em) {
	.formImage{
		height: 200px;
	}
}
.formImage img{
	object-fit: cover;
	height: 100%;
	width: 100%;
}
.fancybox-slide--html .fancybox-close-small {
	color: #577ec1;
	padding: 2px;
	top: 20px;
	right: 20px;
}
/*Star Rating*/
.rating {
    float:left;
}
.rating span { float:right; position:relative; }
.rating span input {
    position:absolute;
    top:0px;
    left:0px;
    cursor: pointer;
    opacity:0;
}
.rating span label {
    display: inline-block;
    width: 40px;
    height: 40px;
    text-align: center;
    color: #EEEEEE!important;
    font-size: 36px;
    margin-right: 10px;
    line-height: 40px;
    border-radius: 50%;
}
.rating span:hover ~ span label,
.rating span:hover label,
.rating span.checked label,
.rating span.checked ~ span label {
    color:#577ec1!important;
}