

/* set #7BCD34 as css var*/

:root {
	--primary-color: #7BCD34;
	--primary-color2: #97cc46;
	--primary-color3: #2c4500;
	--secondary-color: #293F0D;
	--text-color: #333;
}



body, h1, h2, h3, h4{
	font-family: 'Poppins', sans-serif;
}

body{
	background: rgb(51,51,51);
	color: #eee;
}


@media (max-width: 767px) {
  /*XS*/
  body:before {
    /*content: "XS";*/
  }
}
@media (min-width: 640px) and (max-width: 767px) {
  /*SMLS  SX Labscape*/
  body:before {
   /*content: "XS-LS";*/
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  /*SM*/
  body:before {
    /*content: "SM";*/
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  /*MD*/
  body:before {
    /*content: "MD";*/
  }
}
@media (min-width: 1200px) {
  /*LG*/
  body:before {
    /*content: "LG";*/
  }
}



/*--------------------------------------------*/

.green{
	color: var(--primary-color);
}

.btn-primary{
	border-radius: 40px;
	background-color: var(--primary-color);
	color: var(--secondary-color);
	padding: 10px 30px;
	text-transform: uppercase;
	font-size: 1.1em;
	font-weight: 400;
}

/*--------------------------------------------*/

.flexcontainer{
	overflow: hidden;
	width: 100%;
	/*min-height: 700px;*/
	/*background: #000;*/
	box-shadow: 0 5px 5px rgba(0,0,0,0.2)
}

.overlay_banner{
	position: absolute;
	top: 40%  !important;
	min-width: 50%  !important;
	height: auto  !important;
	left: 0  !important;
	background: rgba(0,0,0,0.9);
	z-index: 1001;
	margin: 0 !important;
	font-family: "Anton", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 90px;
	text-align: center;
	color: var(--primary-color);
	padding: 10px 30px;
}
@media (max-width: 1200px) {
	.overlay_banner{
		font-size: 90px;
	}
}

@media (max-width: 991px) {
	.overlay_banner{
		font-size: 70px;
	}
}
@media (max-width: 767px) {
	.overlay_banner{
		top: 60%  !important;
		font-size: 40px;
	}
}
@media (max-width: 500px) {
	.overlay_banner{
		font-size: 30px;
	}
}
@media (max-width: 375px) {
	.overlay_banner{
		font-size: 20px;
	}
}
.flexslider{
	border: 0;
	margin: 0;
	border-radius: 0;
}

	.flexslider .flex-viewport {
	    max-height: 700px;
	}

	.flexslider .flex-direction-nav a {
		height: 48px;
    	z-index: 1002;
	}

	.flex-control-nav {
	    bottom: 10px;
	}

.flex-caption {
    padding: 15px 25px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin-bottom: 0;
    margin-top: -50px;
    height: 50px;
    background: rgba(0,0,0,0.5);
    color: #fff;
    text-shadow: 0 -1px 0 rgba(0,0,0,.3);
    font-size: 14px;
    text-align: center;
}


@media (min-width: 1200px) {
	.homeslider .flexslider .slides > li > img{
		margin-top: -50px;
	}
}


@media (min-width: 1400px) {
	.homeslider .flexslider .slides > li > img{
		margin-top: -150px;
	}
}

/*--------------------------------------------*/



#nav{
	background: #000;
	height: 70px;
	text-align: right;
	overflow: visible;
}

	#nav .container{
		position: relative;
	}

	#nav #banner30years{
		position: absolute;
		right: 119px;
		top: 88px;
		width: 150px;
		height: auto;
		z-index: 10;
	}

	#nav .logo{
		width: 230px;
		height: auto;
		position: absolute;
		left:0;
		top: 30px;
		z-index: 1001;
	}

		#nav .logo img{
			width: 100%;
			height: auto;
		}


	#nav ul{
		padding: 0;
		margin: 30px 0 0 0;
		list-style: none;
		box-sizing: border-box;
		margin-left: -16px;
		font-size: 0;
		text-transform: uppercase;
	}

		#nav ul li{
			display: inline-block;
			vertical-align: top;
			position: relative;
		}

		#nav ul li a{
			display: block;
			color: #fff;
			height:50px;
			padding: 5px 16px;
			font-weight: 300;
			font-style: normal;
			font-size: 17px;
		}

		#nav ul li a.active,
		#nav ul li a:hover{
			color: var(--primary-color);
			text-decoration: none;
		}

		#nav ul li ul{
			display: none;
			position: absolute;
			top: 0;
			left: 30px;
			background: #333;
			padding: 3px 0;
			box-shadow: 0 2px 7px 3px rgba(0, 0, 0, 0.5);
			z-index: 300;
			border-bottom: 2px solid var(--primary-color);
		}

		#nav ul li:hover ul{
			display: block;
		}

				#nav ul li ul li{
					display: block;
					min-width: 250px;
					text-align: left;
					padding: 0;
					margin: 0;

				}

				#nav ul li ul li a{
					padding: 4px 20px;
					margin: 0;
					font-size: 14px;
					color: #fff;
					font-weight: 300;
					height: auto;
				}

				#nav ul li ul li a.active{
					color: var(--primary-color);
				}

				#nav ul li ul li a:hover{
					color: var(--primary-color);
					text-decoration: none;
					background: #111;
				}

@media (max-width: 1200px) {
	#nav ul li a {
		padding: 5px 14px;
		font-size: 16px;
	}
}

@media (max-width: 991px) {
	#nav ul li a {
		font-size: 13px;
		padding: 5px 5px;
	}

	#nav #banner30years{
		right: 80px;
		top: 88px;
		width: 110px;
	}
}

@media (max-width: 767px) {
	#nav{
		height: 210px;
		text-align: left;
	}

	#nav #banner30years{
		right: 50px;
		top: 225px;
		width: 90px;
	}

	#nav .logo {
	    width: 250px;
	    position: relative;
	    left: initial;
	    right: initial;
	    top: 10px;
	    margin: 0 auto;
	}

	#nav ul{
		margin-top: 10px;
		text-align: center;
	}
}
@media (max-width: 500px) {
	#nav #banner30years{
		right: 30px;
		top: 225px;
		width: 60px;
	}
	#nav ul li ul {
		top: 16px;
		left: 21px;
	}
}

@media (max-width: 350px) {
	#nav .logo {
	    width: 90%;
	}
}

/*--------------------------------------------*/

#topdiag{
	position: relative;
}

	#topdiag img{
		position: absolute;
		top:0;
		right:0;
		z-index: 20;
	}

	/*#pagehome #topdiag img{*/
	/*	z-index: 1000;*/
	/*}*/

/*--------------------------------------------*/

#contents{
	min-height: calc(100vh - 350px);
	font-size: 16px;
	line-height: 1.5;
	position: relative;
	z-index: 1;
	/*padding-bottom: 50px;*/
}

	#contents .title{
		text-align: left;
		margin: 140px 0 30px 0 ;
		margin-right: 250px;
	}

	#contents .title h1{	
		color: var(--primary-color);
		font-weight: 800;
		font-style: normal;
		font-size: 60px;
		padding: 0;
		margin: 0 0 5px 0;
	}	

		#contents .title h1 span{
			color: #fff;
		}

		#contents .title p{
			padding : 0 25% 0 0;
			color: #999999;
			font-weight: 500;
			font-style: normal;
			font-size: 20px;
		}



@media (max-width: 991px) {
	#contents .title{;
		margin-right: 150px;
	}
}

@media (max-width: 767px) {
	#contents .title {;
		margin-right: 0px;
	}
}

.bodycopy{
	color: #eee;
}

 h2,
 h3,
 h4{
	margin: 0 0 10px 0;
	font-weight: 600;
	font-style: normal;
	color: var(--primary-color);
}

	h2{
		font-size: 40px;
	}

.greyback{
	background: #222;
	padding: 70px 0;	
	position: relative;
}

	.greyback:before{
		content: "";
		position:absolute;
		top: -2px;
		height: 4px;
		left: 40%;
		right: 40%;
		background: #555;
	}

	.greyback:after{
		content: "";
		position:absolute;
		bottom: -2px;
		height: 4px;
		left: 35%;
		right: 35%;
		background: #777;
	}


.greenRoundButton{
	background: var(--primary-color);
	color: #293F0D;
	border-radius: 50px;
	padding: 8px 30px;
	text-transform: uppercase;
	font-size: 20px;
	font-weight: 800;
	display: inline-block;
	transition: background 0.3s ease, color 0.3s ease;
}

	.greenRoundButton:hover{
		background: #293F0D;
		color: var(--primary-color);
		text-decoration: none;
	}

.blackRoundButton{
	background: #111;
	color: #fff;
	border-radius: 50px;
	padding: 8px 30px;
	text-transform: uppercase;
	font-size: 1.5rem;
	font-weight: 800;
	display: inline-block;
	transition: background 0.3s ease, color 0.3s ease;
}

	.blackRoundButton:hover{
		background: #000;
		color: var(--primary-color);
		text-decoration: none;
	}

.green_outline_box{
	border: 1px solid var(--primary-color);
	padding: 20px;
	border-radius: 2px;
	background: rgba(0,0,0,0.1);
	margin-bottom: 20px;
}

	.green_outline_box h4{
		font-size: 2em;
		font-weight: 500;
		margin-top: 0;
	}


.hover-green-border{
	border: 2px solid #111;
}

	.hover-green-border:hover{
		border: 2px solid var(--primary-color);
	}



/*------------------- benefits --------------------*/
/*<div class="benefits">*/
/*<cms:show_repeatable 'benefits' >*/
/*<div class="benefit">*/
/*<i class="fa fa-check green"></i>*/
/*<span class="benefit-text">*/
/*<cms:show benefit />*/
/*</span>*/
/*</div>*/
/*</cms:show_repeatable>*/

.benefits{
	margin: 0 auto;
	padding: 10px 0;
}

	.benefits .benefit{
		/*font-size: 18px;*/
	}


	.benefits .benefit{
		display: block;
		position: relative;
		padding-left: 40px;
		line-height: 1.1;
		margin-bottom: 10px;
		font-weight: 300;
	}

		.benefits .benefit .benefit-check{
			position: absolute;
			left: 0px;
			top: 0px;
			display: inline-block;
			color: var(--primary-color);
		}




/*------------------- Home Page --------------------*/

.home_intro{
	background: #000;
	padding: 25px 0;
	font-size: 25px;
	font-weight: 600;
	color: #999999;
	text-align: center;
}

	.home_intro_button{
		position: relative;
		margin-top: 20px;
	}
		.home_intro_button > div{
			position: absolute;
			width: 100%;
			top:1px;
		}



@media (max-width: 991px) {
	.home_intro{
		font-size: 20px;
	}
}

@media (max-width: 767px) {
	.home_intro{
		font-size: 16px;
	}

	.home_intro_text{
		padding: 10px 20px 0 20px;
	}

	.home_intro_button .greenRoundButton{
		max-width: 90%;
		margin-left: auto;
		margin-right: auto;
		font-size: 16px;
	}
}

 .home_customer_types{
	background: var(--primary-color);
	padding: 40px 0;
	font-size: 25px;
	font-weight: 600;
	color: #111;
}

	 .home_customer_types h2{
		color: #111;
		font-size: 45px;
		font-weight: 800;
		margin:0 0 10px 0;
	}

	 .home_customer_types p{
		font-size: 14px;
		font-weight: 300;
	}

	 .home_customer_types a{
		width: 100%;
		text-align: center;
	}

 .home_services{
	padding: 40px 0;
	background: #999999;
	color: #111;
}



@media (max-width: 767px) {
	 .home_customer_types .row >  div{
		margin-bottom: 50px;
	}

	 .home_customer_types h2{
		text-align: center;
	}
}




a.service{
	display: block;
	padding: 30px 0;
	width: 300px;
	margin: 0 auto;
	text-decoration: none;
	height: 500px;
}

	a.service .image {
		margin: 0 auto;
		width: 300px;
		height: 300px;
		border: 2px solid #eee;
		background-color: #111;
		box-shadow: 0 0 20px 10px rgba(0,0,0,0.1);
		overflow: hidden;
	}

	a.service .image img {
		height: 100%;
		width: 100%;
		/*filter: grayscale(1); !* Full grayscale effect by default *!*/
		transition: opacity 0.3s ease; /* Smooth transition for filter changes */
		opacity: 0.9;
	}

	a.service .image img:hover {
		opacity: 1; /* Full opacity on hover */
		/*filter: none; !* Removes grayscale on hover *!*/
	}

	 a.service h2{
		text-transform: none;
		font-size: 40px;
		color: #222;
		font-weight: 800;
		margin: 10px 0 5px 0;
		transition: color 0.3s ease;
	}

		a.service:hover h2{
			color: var(--primary-color3);
		}

	a.service p{
		color: #111;
		font-size: 14px;
		font-weight: 300;
	}

	a.service:hover{
		text-decoration: none;
	}

		a.service:hover .image{
			border-color: var(--primary-color);
		}


@media (max-width: 991px) {
	a.service{
		padding: 20px 0;
		width: 220px;
	}

	a.service .image {
		width: 220px;
		height: 220px;
	}

	a.service h2{
		font-size: 30px;
	}
}

@media (max-width: 767px) {
	a.service{
		padding: 20px 0;
		width: 300px;
	}

		a.service .image {
			width: 300px;
			height: 300px;
		}

	a.service h2{
		font-size: 30px;
	}
}

/*--------------------------------------------*/

.video{
	margin: 0 auto;
	text-align: center;
	width: 70%;
}	

.video-container {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 0; height: 0; overflow: hidden;
	/*margin: 0 0 10px 0 ;*/
}
 
	.video-thumbnail{
	    display:block;	
	    z-index:300;
	    position:absolute;
	    top:0;
	    left:0;
	    width:100%;    
	}

		.video-container:hover .video-thumbnail{
		    display:none;
		}

	.video-container iframe,
	.video-container object,
	.video-container embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	} 

/*--------------------------------------------*/

.ourwork{
	text-align: center;
	color: var(--primary-color);;
	font-weight: 800;
	font-style: normal;
	font-size: 45px;
	padding: 30px 0;
}	

	.ourwork span{
		color: white;
	}

.ourworkimages{
	margin-bottom: 90px;
}

	.ourworkimages .image{
		border: 2px solid #222;
	}

		.ourworkimages a .image > img{
			width: 100%;
			height: auto;
		}

	.ourworkimages a:hover .image{
		border: 2px solid #fff;
	}

	.ourworkimages a:hover{
		text-decoration: none !important;
	}

	.ourworkimages a h3{
		margin-top: 10px;
	}
		.ourworkimages a:hover h3{
			color: #fff;
		}


/*--------------------------------------------*/

.thumbmd{
	position: relative;
	margin-bottom: 40px;
	z-index: 1002;
}

	.thumbmd img{
		width: 100%;
		height: auto;		
		box-shadow: 0 0 20px 10px rgba(0,0,0,0.1);		
		border: 2px #222 solid;
	}

	.thumbmd:hover img{	
		border-color: #fff;
	}


.imagelg{

}

	.imagelg img{
		width: 100%;
		height: auto;		
		box-shadow: 0 0 20px 10px rgba(0,0,0,0.1);		
		border: 2px #222 solid;
	}

/*------------------- Process ---------------------*/

 .steps {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

 .step {
	flex: 1 1 calc(20% - 10px);
	background-color: #999999;
	padding: 1.5rem;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: start;
	align-items: flex-start;
	min-height: 100%;
	color: #000;
}

	 .step h4{
		min-height: 82px;
		color: var(--primary-color);
	}
		 .step h4 strong{
			color: #111;
			font-size: 1.5em;
		 }

	 .step p{
		color: #333;
		font-size: 1.2rem;
		font-weight: 500;
	}

/* Ensure equal height rows */
 .steps > .step {
	display: flex;
}

/* Responsive stacking on mobile */
@media (max-width: 768px) {
	  .step {
		flex: 1 1 100%;
	}
}



/*------------------- Install / Design / Prod page---------------------*/
.gallery{
	margin-bottom: 40px;
}


	.gallery .flexslider.main{
		box-shadow: 0 0 20px 10px rgba(0,0,0,0.1);
		border: 1px solid #222;
		margin: 20px 0;
	}

		.gallery .flexslider.main .galleryimage{
			position: relative;
		}

	.gallery .flexslider.thumbnails{
		background: none;
	}


	.gallery .flexslider.thumbnails img{
		cursor: pointer;
		opacity: 0.5;
	}

	.gallery .flexslider.thumbnails img:hover{
		opacity: 1;
	}

.mainimage{
	height:75%;
	background-color: #202020;
}


.previews{
	font-size: 0;
	text-align: center;
}

	.preview{
		display: inline-block;
		box-sizing: border-box;
		width: 10%;
		margin: 4px;
		border: 1px #222 solid;
		cursor: pointer;
	}

		.preview:hover{
			border-color: var(--primary-color);
		}

		.preview img{
			width: 100%;
			height: auto;
		}





/*------------------- Contact page---------------------*/


#pagecontents label{
	color: var(--primary-color);
	font-weight: normal;
	margin-bottom: 2px;
}

#pagecontents .form-control{
	border-radius: 2px;
}

.google-maps {
        position: relative;
        padding-bottom: 40%; // This is the aspect ratio
        height: 0;
        overflow: hidden;
    }
    .google-maps iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
    }


/*--------------------------------------------*/

#bottomdiag{
	position: relative;
}

	#bottomdiag > div{
		position: absolute;
		bottom: -100px;
		left:0;
		z-index: 0;
		width: 100%;
    	overflow: hidden;
    }
/*--------------------------------------------*/


 .cta{
	margin-top: 100px;
	background: var(--primary-color);
	padding: 20px 0;
	font-size: 25px;
	font-weight: 600;
	color: #111;
}

	 .cta h3{
		color: #111 !important;
		font-size: 35px;
		font-weight: 800;
		margin:0 ;
	}

	 .cta p{
		font-size: 20px;
		font-weight: 400;
		margin:0 ;
	}

	 .cta a{
		margin-top: 10px;
		font-size: 1em;
		width: 100%;
		text-align: center;
	}

/*--------------------------------------------*/

#footer{
	box-sizing: border-box;
	background: #1a1a1a;
	background-image: url("/img/footer_background.jpg");
	background-size: cover;
	color: #fff;
	padding: 20px 0 0 0;
}
	
	#footer .logo{
		width: 300px;
		height: 113px;
		position: absolute;
		left:0;
		top: 30px;
		z-index: 1001;
	}

		#footer .logo img{
			width: 100%;
			height: auto;
		}

	#footer a{
		color: #fff;
	}

	#footer .icon{
		display: block;
		position: absolute;
		left: -22px;
		top: 0px;
		/*font: normal normal normal 14px/1 FontAwesome;*/
		font-size: 14px;
		text-rendering: auto;
		color: var(--primary-color);
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		
	}
		#footer .icon.address {
		    left: -21px;
		    top: 0px;
		}

		/*	#footer .icon.address:before {
			    content: "\f041";
			    font-size: 1.2em;
			}
*/
		#footer .icon.phone {
		    left: -19px;
		    top: 0px;
		}

			/*#footer .icon.phone:before {
			    content: "\f10b";
			    font-size: 1.5em;
			}		

			#footer .icon.email:before {
			    content: "\f0e0";
			    font-size: 0.9em;
			}	*/



	#footer ul{
		list-style: none;
		padding: 0;
	}

		#footer ul li{				
			margin-bottom: 7px;
			position: relative;
		}	

	#footer ul.contact{
		padding-left: 20px;
	}

		#footer ul.contact strong{
			display: block;
		}


	#footer h3{
		color: var(--primary-color);
		font-weight: 800;
		font-size: 20px;
		margin-top: 0;
	}

		#footer h3 span{
			color: #fff;
		}	

	#footer  .row div.sideline{
		min-height: 150px;
		position: relative;
	}

		#footer .row div.sideline:before{
			content: "";
			display: block;
			position: absolute;
			left: -7px;
			top: 0;
			bottom: 0;
			width: 0;
			border-left: 1px solid var(--primary-color);
		}

		#footer  .row div:first-child:before{
			border-left: none;
		}

	#footer .bottombar{
		margin-top: 35px;
		/*border-top: 1px solid #333;*/
		background: rgba(0,0,0,0.5);
		height: 50px;
		color: #777;
		font-size: 11pt;
		padding: 15px;
	}

	#footer .bottombar .row div:nth-child(2n+0) {
		text-align: right;
	}


@media (max-width: 991px) {
	#footer .logo{
		display: none;
	}

	#footer{
		padding-top: 20px;
	}

	#footer .bottombar{
		height: 75px;
	}

	#footer  .row div.sideline{
		min-height: 50px;
		margin-bottom: 30px;
	}

	#footer .bottombar .row div:nth-child(2n+0) {
		text-align: left;
	}
}


