/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.3.1748695340
Updated: 2025-05-31 12:42:20

*/


:root{
	--before-after-position: 50%;
}
h2,
h3{
	color: var(--e-global-color-primary);
	font-weight: 700;
}
h3{
	font-size: 28px;	
}

.p-m-0 p{
	margin: 0;
}
.color-blue{
	color: var(--e-global-color-secondary);
}
.left-column-align .e-child:first-child{
	padding-left: calc((100% - var(--content-width)) / 2);
}

/*---- Header ----*/
.site header#masthead{
	background: #fff;
	position: sticky;
	top: 0;
	z-index: 99;
}

/*---- Get quote form ----*/
#page .home-get-quote-form.focus{
	box-shadow: 0px 24px 24px 0px rgb(219 28 28 / 50%);
}

.red-icon-boxes .elementor-widget-html .elementor-widget-container{
	width: 48px;
	height: 48px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.red-icon-boxes svg{
	color: #fff;
}
.blue-icon-boxes .elementor-widget-html .elementor-widget-container{
	width: 64px;
	height: 64px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.blue-icon-boxes svg{
	width: 32px;
	height: 32px;
	color: var(--e-global-color-secondary);
}
.blue-icon-boxes .e-child{
	transition: all ease 0.2s;
}
.blue-icon-boxes .e-child:hover{
	transform: scale(1.05);
}
.blue-icon-boxes .e-child:hover .elementor-widget-html .elementor-widget-container{
	background: var(--e-global-color-10944f8); 
}
.blue-icon-boxes .e-child:hover svg{
	color: #fff;
}
.how-it-works .elementor-widget-html .elementor-widget-container{
	width: 64px;
	height: 64px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.how-it-works svg{
	width: 32px;
	height: 32px;
	color: #fff;
}
.how-it-works .elementor-widget-html span{
	width: 32px;
	height: 32px;
	background: var(--e-global-color-accent);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 14px;
	color: #fff;
	font-weight: 700;
	text-align: center;
	position: absolute;
	top: -5px;
	right: -10px;	
}

/*---- Services ----*/
.our-services > .e-child{
	transform: scale(1);
	transition: all ease 0.2s;
}
.our-services > .e-child:hover{
	box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.15);
	transform: scale(1.06);	
}
.our-services > .e-child:hover .elementor-button{
	background: var(--e-global-color-secondary);
	color: #fff;
}
.our-services .elementor-widget-html svg{
	width: 90px;
	height: 90px;
	color: #fff;
}
.archive-services .e-loop-item:nth-child(2n) .e-con-inner > .elementor-element:first-child{
	order: 2;
}
.ideal-list ul{
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: 1fr 1fr;
	row-gap: 10px;
	column-gap: 20px;
}
.ideal-list li{	
	padding: 0 0 0 30px;
	position: relative;
}
.ideal-list li:before{
	width: 20px;
	height: 20px;
	background: var(--e-global-color-accent);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	content: "\f00c";
	font-family: "Font Awesome 5 Free";
	font-size: 12px;
	color: #fff;
	font-weight: 900;
	text-align: center;
	position: absolute;
	top: 3px;
	left: 0;
}

/*---- Reviews ----*/
.reviews{
	width: 100%;
	max-width: 840px;
	margin: 0 auto;
	padding: 40px;
	background: #fff;
	box-shadow: 0px 17px 24px 0px rgba(0, 0, 0, 0.15);
	border-radius: 10px;
	text-align: center;
	position: relative;
}
.review-item{
	font-size: 20px;	
}
.review-title{
	font-size: 24px;
	color: var(--e-global-color-primary);
	font-weight: 700;
	font-style: italic;
}
.review-item blockquote{	
	font-style: italic;
}
.review-author{
	font-size: 16px;
	color: var(--e-global-color-primary);
	font-weight: 700;
}
.review-location{
	font-size: 16px;
}
.reviews .slick-arrow{
	width: 40px;
	height: 40px;
	padding: 0;
	background: #fff;
	border: 1px solid #e2e8f0;
	box-shadow: 0 0 10px rgb(0,0,0,0.05);
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 40%;
	transform: translateY(-50%);
}
.reviews .slick-arrow:hover{
	background: #fff;
}
.reviews .slick-arrow svg{
	color: var(--e-global-color-primary);
	opacity: 0.8;
}
.reviews .slick-prev{
	left: 0;
	transform: translateX(-50%);
}
.reviews .slick-next{
	right: 0;
	transform: translateX(50%);
}
.reviews .slick-dots{
	margin: auto;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: center;
	column-gap: 8px;
	position: absolute;
	bottom: -90px;
	left: 0;
	right: 0;
	z-index: 9;
}
.reviews .slick-dots button{
	width: 12px;
	height: 12px;
	padding: 0;
	background: #d1d5db;
	border: none;	
	border-radius: 50%;
	font-size: 0;
}
.reviews .slick-dots .slick-active button{
	background: #1e40af;
}

/*--- Accordion ---*/
.e-n-accordion-item{
	box-shadow: 0 0 20px rgb(0,0,0,0.08);
	border-radius: 10px;
}

/*---- Get free quote ----*/
.icon-close{
	cursor: pointer;
}

/*--- Foam team ---*/
.foam-team-list .elementor-widget-html{
	flex: 0 0 auto;
}
.foam-team-list .elementor-widget-html .elementor-widget-container{
	width: 32px;
	height: 32px;	
	display: flex;
	justify-content: center;
	align-items: center;
}
.foam-team-list .elementor-widget-html svg{
	width: calc(100% - 12px);
	color: #16a34a;
}
.foam-team-list p{
	margin: 0;
}

/*--- Foam feature list ---*/
#page .foam-feature-list-label li{
	flex: 1;
}
.foam-feature-list .elementor-icon-list-items{
	width: 100%;
}
#page .foam-feature-list li{
	padding: 12px 20px;
	border-right: 1px solid var(--e-global-color-5ead964);
	flex: 1;
}
.foam-feature-list li:nth-child(2){
	background: var(--e-global-color-primary);
}
#page .foam-feature-list li:nth-child(2) .elementor-icon-list-text{
	color: #fff;
}

#page .foam-feature-list table{
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 16px;
	overflow: hidden;	
}
#page .foam-feature-list table tr{
	background: none;
	border: none;
}
#page .foam-feature-list table tr th,
#page .foam-feature-list table tr td{
	padding: 12px 20px;
	background: var(--e-global-color-f7de48e);
	border: 1px solid var(--e-global-color-5ead964);	
	vertical-align: middle;
	font-size: 16px;
	color: var(--e-global-color-primary);
	font-weight: 600;
	text-align: left;
}
#page .foam-feature-list table tr th{
	background: none;
}
#page .foam-feature-list table td:nth-child(2){
	background: var(--e-global-color-primary);
	color: #fff;
}
.foam-feature-list table td img{
	margin: 0 10px 0 0;
}

/*--- Before after ---*/
.before-after{
	height: 640px;
	position: relative;
}
.before-after .elementor-widget-image{
	position: absolute;
  	width: 100%;
  	height: 100%;
  	overflow: hidden;
}
.before-after .after-image{
  	clip-path: inset(0px 0px 0px 50%);
}
.before-after .elementor-widget-image img{
  	width: 100%;
  	height: 100%;
  	object-fit: cover;
}
.before-after:before,
.before-after:after{
	width: auto;
	height: auto;
	background: var(--e-global-color-ae350b2);
	border-radius: 0;
	display: block;
	content: "";
	font-size: 24px;	
	color: var(--e-global-color-primary);
	font-weight: 600;
	position: absolute;
	top: unset;
	bottom: 40px;
	z-index: 99;
}
.before-after:before{
    padding: 4px 25px 7px 16px;
	content: "Before";
	left: 0;
	border-top-right-radius: 40px;
	border-bottom-right-radius: 40px; 
}
.before-after:after{
    padding: 4px 16px 7px 25px;
	content: "After";
	right: 0;
	border-top-left-radius: 40px;
	border-bottom-left-radius: 40px; 
}
.before-after .elementor-widget-html{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
#line{
	position: absolute;
  	left: 50%;
  	transform: translateX(-50%);
  	width: .2rem;
  	height: 100%;
  	background-color: #FAFAFA;
}
.before-after input{
	appearance: none;
  	-webkit-appearance: none;
  	background-color: transparent;  
  	position: absolute;
  	width: calc(100% + 2.25rem);
  	height: 100%;
  	left: -1.125rem;
}
.before-after input::-webkit-slider-thumb {  
	-webkit-appearance: none;
	appearance: none;  
	height: 2.25rem;
	width: 2.25rem;
	border: .25rem solid #fff;
	border-radius: 50%;
	box-shadow: 0px 0px 8px 2px rgba(0,0,0,0.1);
	background-color: #fff;
	background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns%3D%22http%3A//www.w3.org/2000/svg%22 height%3D%2224px%22 viewBox%3D%220 -960 960 960%22 width%3D%2224px%22 fill%3D%22%23000%22%3E%3Cpath d%3D%22M286.15-293.85 100-479.62l185.77-185.76 42.15 41.76-113 113.62h530.16l-113-113.62 42.15-41.76L860-479.62 674.23-293.85l-42.54-41.77 113.39-114H214.54l113.38 114-41.77 41.77Z%22/%3E%3C/svg%3E');
	background-size: cover;
	cursor: grab;
}

.before-after input::-moz-range-thumb {
  	height: 2.25rem;
  	width: 2.25rem;
	border: .25rem solid #fff;
  	border-radius: 50%;
  	box-shadow: 0px 0px 8px 2px rgba(0,0,0,0.1);
  	background-color: #fff;
  	background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns%3D%22http%3A//www.w3.org/2000/svg%22 height%3D%2224px%22 viewBox%3D%220 -960 960 960%22 width%3D%2224px%22 fill%3D%22%23000%22%3E%3Cpath d%3D%22M286.15-293.85 100-479.62l185.77-185.76 42.15 41.76-113 113.62h530.16l-113-113.62 42.15-41.76L860-479.62 674.23-293.85l-42.54-41.77 113.39-114H214.54l113.38 114-41.77 41.77Z%22/%3E%3C/svg%3E');
  	background-size: cover;
  	cursor: grab;
}
.before-after input:active::-webkit-slider-thumb {
  	cursor: grabbing;
}
.before-after input:active::-moz-slider-thumb {
  	cursor: grabbing;
}

/*--- Form ---*/
/*.wpcf7 br{
	display: none;
}
.wpcf7 p{
	margin: 0;
}
.wpcf7 .wpcf7-form-control-wrap{
	margin: 0 0 15px;
	display: block;
}
.wpcf7 .wpcf7-form-control{
	height: 40px;
	border: 1px solid #e2e8f0;
	border-radius: 4px;
	font-size: 14px;
	color: var(--e-global-color-primary);
}
.wpcf7 .wpcf7-form-control:focus{
	outline: none;
	box-shadow: none;
}
.wpcf7 .wpcf7-not-valid-tip{
	font-size: 12px;
}
.wpcf7 input[type="submit"].wpcf7-submit{
	width: 100%;	
	padding: 0 20px;
	background: var(--e-global-color-accent);
	border: none;
	color: #fff;
	font-weight: 500;
}
.wpcf7 .wpcf7-spinner{
	display: none;
}*/

.get-quote .form-field{
	padding: 0 0 15px;
}
.get-quote .input-field{
	height: 40px;
	border: 1px solid #e2e8f0;
	border-radius: 4px;
	font-size: 14px;
	line-height: 1;
	color: var(--e-global-color-primary);
}
.get-quote .input-submit{
	width: 100%;	
	padding: 0 20px;
	background: var(--e-global-color-accent);
	border: none;
	font-size: 18px;
	line-height: 1;
	color: #fff;
	font-weight: 500;
}
.get-quote input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px white inset;
    box-shadow: 0 0 0 1000px white inset;
    -webkit-text-fill-color: var(--e-global-color-primary);
}

/*---- Calculate savings ----*/
.calculate-savings .form-field{
	padding: 0 0 20px; 
}
.calculate-savings label{
	margin: 0 0 5px;
	font-size: 14px;
	color: var(--e-global-color-text);
	font-weight: 400;
}
.calculate-savings input{
	width: 100%;
	height: 40px;
	padding: 0 15px;
	background: #fff;
	border: 1px solid var(--e-global-color-0c7b6b2);
	border-radius: 4px;
	font-size: 16px;
	color: var(--e-global-color-text);	
}
.calculate-savings input:focus{
	border: 1px solid var(--e-global-color-0c7b6b2);
	outline: none;
	box-shadow: none;
}
.calculate-savings input[type="submit"]{
	width: 100%;
	height: 45px;
	margin: 0;
	padding: 0;
	background: var(--e-global-color-accent);
	border: none;
	border-radius: 4px;
	font-size: 18px;
	color: #fff;
	font-weight: 600;
	text-align: center;
}
.calculate-savings .error-message{
	padding: 10px 0 0;
	font-size: 16px;
	color: var(--e-global-color-accent);
}

/*---- Blogs ----*/
.blog-left-sidebar,
.blog-right-sidebar {
    position: sticky;
    top: 100px;
}
.single-post .elementor-widget-theme-post-content{
	font-size: 18px;
	line-height: 28px;
	color: var(--e-global-color-primary);
}
.single-post .elementor-widget-theme-post-content p{
	margin: 0 0 30px;
}
.single-post .elementor-widget-theme-post-content h3:not(:first-of-type){
	margin-top: 50px;
}
.single-post .post-content-list{
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
}
.single-post .post-content-list li{
	margin: 0 0 20px;
}
.single-post .post-content-list a{
	font-size: 16px;
	color: var(--e-global-color-text);
}
.single-post .post-content-list a.active{
	color: var(--e-global-color-accent);
}

/*---- Footer ----*/
.footer-width-fixer{
	position: sticky;
	bottom: 0;
	z-index: 99;
}

/*---- Header ----*/

@media(max-width: 1280px){

	.before-after{
    	height: 450px;
	}
	
}

@media(max-width: 767px){

	.left-column-align .e-child:first-child {
    	padding-left: 20px;
	}
	header .hfe-nav-menu-icon{
		padding: 0;
	}
	header nav.hfe-nav-menu__layout-horizontal{
    	overflow: hidden;
	}
	.reviews{
		padding: 20px 10px;		
	}
	.review-item{
		font-size: 18px;
	}
	.archive-services .e-loop-item .archive-service-image{
		order: -1;
	}
	.reviews .control-buttons{
		display: none;
	}
	.before-after{
    	height: 350px;
	}
	.before-after:before, 
	.before-after:after{
		font-size: 16px;
	}
	.red-icon-boxes .elementor-widget-html .elementor-widget-container,
	.blue-icon-boxes .elementor-widget-html .elementor-widget-container{
		width: 80px;
		height: 80px;		
	}
	.red-icon-boxes svg,
	.blue-icon-boxes svg{
    	width: 35px;
    	height: 35px;
	}

}

@media(max-width: 640px){

	.foam-feature-list .elementor-widget-html{
		overflow-x: scroll;
	}
	.foam-feature-list table{
		width: 600px;
	}
	
}

@media(max-width: 480px){

	.ideal-list ul{
		grid-template-columns: 1fr;
	}	
	
}