/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/
/*
    Add your custom styles here
*/
/*********************************************************************************/
/*
 * Global CSS
 * */
body {
    /* ════════════════════════════════════════════════════════════════
       DESIGN TOKENS  —  Edit this block to retheme the entire site.

       The four core colours live in:
         Elementor → Site Settings → Global Colours
         (Primary / Accent / Secondary / Text)
       Change them there and every derived token below updates
       automatically — no other CSS edits required.
    ════════════════════════════════════════════════════════════════

    ── Surface colour ─────────────────────────────────────────────
       Used wherever a white/light background is needed.
       Override with an off-white (e.g. #f8f8f4) per brand. */
    --white-color: #ffffff;

    /* ── Alpha / tint variants ─────────────────────────────────────
       Generated from Global Colours — do not edit directly.
       To change the tint level, update the percentage. */
    --color-primary-5:  rgb(from var(--e-global-color-primary) r g b / 5%);
    --color-primary-10: rgb(from var(--e-global-color-primary) r g b / 10%);
    --color-primary-20: rgb(from var(--e-global-color-primary) r g b / 20%);
    --color-primary-30: rgb(from var(--e-global-color-primary) r g b / 30%);
    --color-primary-90: rgb(from var(--e-global-color-primary) r g b / 90%);

    --color-accent-50:  rgb(from var(--e-global-color-accent)  r g b / 50%);

    --color-text-30:    rgb(from var(--e-global-color-text)    r g b / 30%);

    --color-white-10:   rgb(from var(--white-color) r g b / 10%);

    /* ── Semantic UI tokens ────────────────────────────────────────
       Divider lines: 12% tint of primary over a warm near-white base.
       Override with a fixed hex (e.g. #e0ddd8) for a brand-neutral grey. */
    --divider-color:    color-mix(in srgb, var(--e-global-color-primary) 12%, #f5f4f0);

    /* Input/textarea placeholder text: muted tint of the body text colour. */
    --color-placeholder: color-mix(in srgb, var(--e-global-color-text) 45%, #ffffff);

    /* ── Contrast pairs ────────────────────────────────────────────
       --on-X defines the safe foreground colour to use ON surface X.
       Use these when placing text or icons over a coloured background
       to ensure contrast automatically adapts when colours change. */
    --on-primary:   var(--white-color);
    --on-accent:    var(--e-global-color-primary);
    --on-secondary: var(--white-color);
    --on-surface:   var(--e-global-color-primary);

    /* ══════════════════════════════════════════════════════════════ */

    overflow-x: clip;
}
.br-desktop-none br{
    display: none;
}
figure{
    line-height: 0;
}
ul li p,
.elementor-widget-theme-post-excerpt p:last-child,
.elementor-widget-text-editor p:last-child{
    margin-bottom: 0;
}
.elementor-widget-button .elementor-button{
    transition: all 0.3s ease-in-out;
}
.elementor-widget-icon .elementor-icon-wrapper,
.elementor-widget-icon-box .elementor-icon-box-icon{
    line-height: 0;
}
.icon-height-size.elementor-widget-icon .elementor-icon-wrapper .elementor-icon svg{
	height: auto;
}
.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-image-box .elementor-image-box-title{
    margin-top: 0;
}
.icon-box-icon-center.elementor-widget-icon-box .elementor-icon-box-wrapper{
    align-items: center;
}
/* Button CSS */
.elementor-widget-button .elementor-button .elementor-button-content-wrapper{
	align-items: center;
}
.elementor-widget-button .elementor-button .elementor-button-content-wrapper .elementor-button-icon{
	display: flex;
    align-items: center;
    justify-content: flex-start;
    background-color: currentcolor;
    clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0% 100%);
    line-height: 0;
    width: 66px;
    height: 46px;
    transition: all 0.5s;
    padding-left: 16px;
}
.elementor-widget-button .elementor-button{
	position: relative;
}
.elementor-widget-button .elementor-button:before{
	content: "";
	position: absolute;
	display: block;
	top: 5px;
	left: 5px;
	bottom: 5px;
	background: var(--e-global-color-primary);
	width: 0;
	height: calc(100% - 10px);
	transition: all 0.4s ease-in-out;
	z-index: 0;
}
.elementor-widget-button .elementor-button:hover:before,
.elementor-widget-button .elementor-button:focus:before{
	width: calc(100% - 10px);
}
.elementor-widget-button .elementor-button .elementor-button-content-wrapper .elementor-button-icon{
	line-height: 0;
}
.elementor-widget-button .elementor-button .elementor-button-icon svg{
	width: 20px;
	color: var(--e-global-color-accent);
	transition: all 0.5s ease-in-out;
}
.elementor-widget-button .elementor-button:hover .elementor-button-icon svg,
.elementor-widget-button .elementor-button:focus .elementor-button-icon svg{
	color: var(--white-color);
}
/* .elementor-widget-button .elementor-button .elementor-button-icon svg path{
	transition: all 0.3s ease-in-out;
} */
.elementor-widget-button .elementor-button .elementor-button-text{
	transition: all 0.4s ease-in-out;
	z-index: 1;
}
.elementor-widget-button .elementor-button:hover .elementor-button-text,
.elementor-widget-button .elementor-button:focus .elementor-button-text{
	color: var(--white-color);
}
.no-bg.elementor-widget-button .elementor-button:before{
	display: none;
}
.no-bg.elementor-widget-button .elementor-button:hover .elementor-button-text{
	color: currentcolor;
}
.underline-btn.elementor-widget-button .elementor-button .elementor-button-text{
	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-skip-ink: auto;
	text-decoration-thickness: auto;
	text-underline-offset: auto;
	text-underline-position: from-font;
}
.no-bg.elementor-widget-button .elementor-button .elementor-button-content-wrapper .elementor-button-icon{
	background-color: transparent;
	clip-path: none;
	width: auto;
	height: auto;
	transition: all 0.5s ease-in-out;
	padding: 0;
}
.no-bg.elementor-widget-button .elementor-button:hover .elementor-button-icon svg,
.no-bg.elementor-widget-button .elementor-button:focus .elementor-button-icon svg{
	color: var(--e-global-color-primary);
}
.no-bg.elementor-widget-button .elementor-button .elementor-button-icon svg path{
	transition: all 0.5s ease-in-out;
}
/* Text Editor CSS */
.elementor-widget-text-editor p a,
.elementor-widget-icon-box .elementor-icon-box-description a,
.elementor-widget-image-box .elementor-image-box-description a{
    color: inherit;
    transition: all 0.3s ease-in-out;
}
/*  Tab Widget CSS */
.elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:hover,
.elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:focus{
    border-radius: var(--n-tabs-title-border-radius);
}
.elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title{
    transition: all 0.3s ease-in-out;
}
.elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title .e-n-tab-icon svg path{
    transition: all 0.3s;
}
/* Menu Border CSS */
.elementor-widget-nav-menu ul.elementor-nav-menu--dropdown a,
.elementor-widget-nav-menu ul.elementor-nav-menu--dropdown a:focus,
.elementor-widget-nav-menu ul.elementor-nav-menu--dropdown a:hover{
	border-inline-start: 0 !important;
}

/* Section Title CSS */
.section-title h3.elementor-heading-title {
    display: inline-block;
    position: relative;
    padding-left: 36px;
}
.section-title h3.elementor-heading-title::before{
	content: '';
    position: absolute;
    top: 50%;
    left: 0;
    bottom: 0;
    transform: translateY(-60%);
    background-color: var(--e-global-color-primary);
    mask-image: url("./images/icon-sub-heading.svg");
    mask-size: cover;
    width: 26px;
    height: 24px;
}
.column-2 ul{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	padding: 0 !important;
	margin: 0 !important;
}
.column-2 ul li{
	width: calc(50% - 10px);
}
@media only screen and (max-width: 1024px) {

	.br-tablet-none br{
		display: none;
	}
}
@media only screen and (max-width: 767px) {

	.br-mobile-none br{
		display: none;
	}

	.elementor-widget-button .elementor-button .elementor-button-content-wrapper .elementor-button-icon{
		width: 50px;
    	height: 35px;
		padding-left: 12px;
	}

	.elementor-widget-button .elementor-button .elementor-button-icon svg{
		width: 16px;
	}

	.column-2 ul{
		gap: 10px;
	}

	.column-2 ul li{
		width: 100%;
	}
}
/*********************************************************************************/
/*
 * Header CSS
 * */
.header-main.elementor-sticky,
.header-main .header-section{
	transition: all 0.3s ease-in-out;
}
.header-section{
	backdrop-filter: blur(10px);
}
/* Sticky header tint — uses --color-primary-20 token */
.header-main.elementor-sticky.elementor-sticky--effects .header-section{
	background: var(--color-primary-20);
}
/* Class Name (header-menu) */
.header-menu #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mobile-menu{
	display: none !important;
}
/* menu visiable css */
.header-menu ul li.mega-menu-visiable ul{
/*     opacity: 1 !important;
	visibility: visible !important; */
}
.header-menu .mega-menu-wrap > ul > li > ul{
	margin-top: 28px !important;
}
/* Flyout sub-menu shadow — uses --color-primary-10 token */
.header-menu .mega-menu-wrap > ul > li.mega-menu-flyout > ul{
	box-shadow: 0px 0px 10px 5px var(--color-primary-10) !important;
}
/* Mega-menu container shadow — uses --color-primary-10 token */
.header-menu .mega-menu-wrap > ul > li.mega-menu-megamenu ul .services-menu-container{
	box-shadow: 0px 0px 5px 0px var(--color-primary-10);
}
/* Mega Menu Templated CSS */
.services-menu-tab .e-n-tabs-heading{
	padding: 110px 10px 50px 50px;
}
.services-menu-tab .e-n-tabs-heading .e-n-tab-title .e-n-tab-icon,
.services-menu-tab ul li .elementor-icon-list-icon{
	background-color: var(--n-tabs-icon-color-active);
	width: 70px;
    height: 70px;
    justify-content: center;
	transition: all 0.3s ease-in-out;
}
.services-menu-tab ul li:hover .elementor-icon-list-icon{
	background-color: var(--e-global-color-primary);
}
.services-menu-tab ul li .elementor-icon-list-icon{
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--e-global-color-accent);
	margin: var(--e-icon-list-icon-margin,0 calc(var(--e-icon-list-icon-size, 1em) * .25) 0 0);
}
.services-menu-tab ul li .elementor-icon-list-icon svg{
	margin: 0 !important;
}
.services-menu-tab .e-n-tabs-heading .e-n-tab-title[aria-selected=true] .e-n-tab-icon,
.services-menu-tab .e-n-tabs-heading .e-n-tab-title:hover .e-n-tab-icon{
	background-color: var(--n-tabs-icon-color);
}
.services-menu-tab ul{
	display: flex;
	gap: 30px;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}
.services-menu-tab ul li{
	width: calc(33.33% - 20px);
	padding: 0 !important;
	margin: 0 !important;
}
.services-menu-tab .e-n-tabs-heading .e-n-tab-title .e-n-tab-title-text,
.services-menu-tab ul li .elementor-icon-list-text{
	position: relative;
}
/* .services-menu-tab ul li .elementor-icon-list-text:before, */
.services-menu-tab .e-n-tabs-heading .e-n-tab-title .e-n-tab-title-text:before{
	content: '';
	position: absolute;
	top: 50%;
	left: auto;
	right: -22px;
	background-color: currentcolor;
    mask-image: url("./images/right-arrow.svg");
	mask-position: center center;
	mask-repeat: no-repeat;
    mask-size: cover;
    width: 14px;
	height: 11.647px;
	transform: translateY(-80%);
}

.services-menu-tab ul {
    justify-content: space-between !important;
}

/* Normal state */
.services-menu-tab ul li .elementor-icon-list-icon {
    border: 2px solid transparent !important;
    transition: background-color 0.3s ease, border-color 0.3s ease, border-radius 0.3s ease !important;
}

/* Hover state - square to circle */
.services-menu-tab ul li:hover .elementor-icon-list-icon {
    background-color: transparent !important;
    border-color: var(--e-global-color-accent) !important;
    border-radius: 50% !important;
}

.services-menu-tab ul li:hover .elementor-icon-list-icon svg {
    fill: var(--e-global-color-accent) !important;
    color: var(--e-global-color-accent) !important;
}

.services-tab-vertical-title .elementor-heading-title{
	writing-mode: vertical-lr;
    transform: rotate(180deg);
    width: fit-content;
}
.icon-box-hover .elementor-icon-box-wrapper .elementor-icon,
.icon-box-hover .elementor-icon-wrapper .elementor-icon{
	position: relative;
}
.icon-box-hover .elementor-icon-box-wrapper .elementor-icon:before,
.icon-box-hover .elementor-icon-wrapper .elementor-icon:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: var( --e-global-color-primary );
	width: 100%;
	height: 100%;
	transform: scale(0);
	transition: all 0.4s ease-in-out;
}
.icon-box-hover:hover .elementor-icon-box-wrapper .elementor-icon:before,
.icon-box-hover:hover .elementor-icon-wrapper .elementor-icon:before{
	transform: scale(1);
}
.icon-box-hover .elementor-icon-box-wrapper .elementor-icon svg,
.icon-box-hover .elementor-icon svg{
	position: relative;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}
.icon-box-hover:hover .elementor-icon-box-wrapper .elementor-icon svg,
.icon-box-hover:hover .elementor-icon-wrapper .elementor-icon svg{
	fill: var( --e-global-color-secondary ) !important;
}

/* ShortCode For Services List CSS */
.services-menu-icon-list ul li a{
	gap: 10px;
	width: 100%;
}
.services-menu-icon-list ul li .elementor-icon-list-icon{
	margin-right: 0;
}
/* Default icon colour — white so icons read on dark dropdown backgrounds */
.services-menu-icon-list ul li .elementor-icon-list-icon svg{
	width: 35px;
    height: auto;
	fill: var(--white-color);
	color: var(--white-color);
}
/* Hover icon colour — stays white; parent background handles the visual state change */
.services-menu-icon-list ul li:hover .elementor-icon-list-icon svg{
	fill: var(--white-color);
	color: var(--white-color);
}
.services-menu-icon-list ul li .elementor-icon-list-text{
	font-family: var( --e-global-typography-primary-font-family ), Sans-serif;
    font-size: 26px;
    font-weight: 400;
    text-transform: none;
    font-style: normal;
    line-height: var( --e-global-typography-primary-line-height );
	color: var(--e-global-color-primary);
	width: calc(100% - 80px);
}
@media only screen and (max-width: 1024px) {

	.header-menu #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mobile-menu{
		display: block !important;
	}

	.header-menu #mega-menu-wrap-menu-1 .mega-menu-toggle,
	.header-menu .mega-menu-wrap .mega-menu-toggle{
		align-items: center;
		justify-content: center;
		width: 38px;
		height: 32px;
	}

	.header-menu .mega-menu-wrap .mega-menu-toggle .mega-toggle-block:only-child{
		margin-left: 8px !important;
	}

	.header-menu .mega-menu-wrap .mega-menu-toggle .mega-toggle-animated-box .mega-toggle-animated-inner,
	.header-menu .mega-menu-wrap .mega-menu-toggle .mega-toggle-animated-box .mega-toggle-animated-inner:before,
	.header-menu .mega-menu-wrap .mega-menu-toggle .mega-toggle-animated-box .mega-toggle-animated-inner:after{
		width: 30px !important;
	}

	.header-menu .mega-menu-wrap .mega-menu-toggle .mega-toggle-animated-box .mega-toggle-animated-inner:before{
		left: 7px;
	}

	.header-menu .mega-menu-wrap .mega-menu-toggle.mega-menu-open .mega-toggle-block:only-child{
		margin-left: 14px !important;
	}

	/* Mobile mega-menu drop shadow — uses --color-text-30 token */
	.header-menu ul.mega-menu{
		margin-top: 20px !important;
		margin-left: 10px !important;
        width: calc(100vw - 20px) !important;
		max-height: calc(100vh - 81.39px) !important;
		overflow: auto !important;
		filter: drop-shadow(0px 0px 30px var(--color-text-30));
	}

	.header-menu .mega-menu-wrap > ul > li > ul{
		margin-top: 0 !important;
	}

	#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu{
		padding: 0 !important;
	}

	.header-menu .mega-menu-wrap > ul > li.mega-menu-flyout > ul,
	.header-menu .mega-menu-wrap > ul > li.mega-menu-megamenu ul .services-menu-container{
		box-shadow: none !important;
		filter: none;
	}
	.header-menu #mega-menu-wrap-menu-1 #mega-menu-menu-1>li.mega-menu-item>a.mega-menu-link{
		display: flex;
		padding: 0 20px;
	}

	.header-menu #mega-menu-wrap-menu-1 #mega-menu-menu-1>li.mega-menu-item> ul li a.mega-menu-link{
		padding: 0 30px !important;
	}

	/* Template CSS */
	.services-menu-tab-title{
		position: initial !important;
	}

	.services-menu-tab .e-n-tabs-heading{
		padding: 0;
	}

	.services-menu-tab ul{
		gap: 20px;
	}
	
	.services-menu-tab .e-n-tabs-heading .e-n-tab-title .e-n-tab-icon,
	.services-menu-tab ul li .elementor-icon-list-icon{
		width: 60px;
    	height: 60px;
	}

	.services-menu-tab ul li{
		width: 100%;
	}

	/* ShortCode For Services List CSS */
	.services-menu-icon-list ul li .elementor-icon-list-text{
		font-size: 22px;
		width: calc(100% - 70px);
	}
}
@media only screen and (max-width: 767px) {

	.header-menu ul.mega-menu{
		margin-top: 15px !important;
		max-height: calc(100vh - 85px) !important;
	}

	.services-tab-vertical-title .elementor-heading-title{
		writing-mode: initial;
		transform: rotate(0deg);
	}

	.services-menu-tab ul{
		gap: 20px;
	}
	
	.services-menu-tab .e-n-tabs-heading .e-n-tab-title .e-n-tab-icon,
	.services-menu-tab ul li .elementor-icon-list-icon{
		width: 50px;
		height: 50px;
	}

	.services-menu-tab ul li .elementor-icon-list-text:before{
		display: none;
	}

	.services-menu-tab .e-n-tabs-heading .e-n-tab-title .e-n-tab-title-text:before{
		display: none;
	}

	/* ShortCode For Services List CSS */
	.services-menu-icon-list ul li .elementor-icon-list-icon svg{
		width: 30px;
	}

	.services-menu-icon-list ul li .elementor-icon-list-text{
		font-size: 20px;
		width: calc(100% - 60px);
	}

}
/*********************************************************************************/
/*
 * Footer CSS
 * */
.footer-list ul li span strong{
	font-weight: 500;
}
.footer-service-menu nav ul li{
	padding-left: 20px;
}
.footer-service-menu nav ul li a{
	position: relative;
}
.footer-service-menu nav ul li a:before{
	content: '';
	position: absolute;
	top: 5px;
	left: -20px;
	mask-image: url("./images/footer-right.svg");
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
	background-color: currentcolor !important;
	transition: all 0.3s ease-in-out;
	opacity: 1 !important;
	width: 14px;
    height: 14px;
	transform: translateY(0) !important;
}
@media only screen and (max-width: 1024px) {

	.footer-privacy .elementor-nav-menu--main{
		align-self: center;
	}
}
@media only screen and (max-width: 767px) {
	
	.footer-menu ul li{
		padding-left: 20px;
		width: 100%;
		margin-bottom: 10px !important;
	}
	
	.footer-menu ul li:last-child{
		margin-bottom: 0 !important;
	}
	
	.footer-menu ul li a{
		position: relative;
	}
	
	.footer-menu ul li a:before{
		content: '';
		position: absolute;
		top: 5px;
		left: -20px;
		mask-image: url("./images/footer-right.svg");
		mask-position: center center;
		mask-repeat: no-repeat;
		mask-size: contain;
		background-color: currentcolor !important;
		transition: all 0.3s ease-in-out;
		opacity: 1 !important;
		width: 14px;
		height: 14px;
		transform: translateY(0) !important;
	}

	.footer-privacy .elementor-nav-menu{
		justify-content: center;
	}
}
/*********************************************************************************/
/*
 * Home Page CSS
 * */
/* Hero client box — uses --color-white-10 token for frosted glass tint */
.hero-client-box{
	background-color: var(--color-white-10);
	backdrop-filter: blur(5px);
}
.home-about-section:before{
	clip-path: polygon(0 0, 50% 0, calc(50% - 600px) 100%, 0% 100%);
	z-index: 0;
}
.home-about-img img{
	aspect-ratio: 1 / 1.02;
	object-fit: cover;
}
.learnmore-circle .elementor-widget-text-path{
	animation: infiniterotate 25s infinite linear;
}
@keyframes infiniterotate{
	from{
		transform: rotate(0deg);
	}
	to{
		transform: rotate(360deg);
	}
}
.learnmore-circle .elementor-widget-icon{
	height: var(--container-widget-width);
}
.learnmore-circle .elementor-widget-icon .elementor-widget-container{
	display: flex;
	justify-content: center;
	align-items: center;
}
.home-service-carousel .home-services-slider-container img{
	aspect-ratio: 1 / 0.667;
    object-fit: cover;
}
/* Services CPT CSS Start */
.service-post-carousel-wrap{
	cursor: grab;
}
.service-post-carousel .slick-list{
	margin: 0 -15px;
}
.service-post-carousel .slick-slide{
	margin: 0 15px;
}
.service-post-carousel .slick-track{
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	align-items: stretch;
}
.service-post-carousel .slick-slide{
	height: auto;
}
.service-boxes{
	display: flex;
    flex-wrap: wrap;
    flex-direction: column;
	background-color: var(--white-color);
 	height: 100%;
}
.service-boxes .services-image img{
	width: 100%;
	aspect-ratio: 1 / 0.667;
    object-fit: cover;
}
.service-boxes .services-box-content{
	display: flex;
    flex-wrap: wrap;
	flex-direction: column;
    gap: 20px;
	padding: 20px;
}
.service-boxes .services-box-content .services-header{
	display: flex;
    flex-wrap: wrap;
	flex-direction: row;
	gap: 10px;
}
.service-boxes .services-box-content .services-title h3{
	font-size: 30px;
}
.service-boxes .services-box-content .services-header .services-title{
	width: calc(100% - 110px);
}
.service-boxes .services-box-content .services-header .services-box-icon{
	position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--e-global-color-accent);
    color: var(--e-global-color-primary);
    border-bottom: 5px solid currentColor;
    width: 100px;
    height: 100px;
    transition: all 0.3s ease-in-out;
    overflow: hidden;
	margin-top: -60px;
	z-index: 1;
}
.service-boxes .services-box-content .services-header:not(:has(.services-box-icon)) .services-title{
	width: 100%;
}
.service-boxes:hover .services-box-content .services-header .services-box-icon{
	color: var(--e-global-color-accent);
}
.service-boxes .services-box-content .services-header .services-box-icon:before{
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--e-global-color-primary);
    width: 100%;
    height: 100%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
	z-index: -1;
}
.service-boxes:hover .services-box-content .services-header .services-box-icon:before{
	transform: scale(1);
}
.service-boxes .services-box-content .services-header .services-box-icon .icon-wrapper,
.service-boxes .services-box-content .services-header .services-box-icon .icon-wrapper svg{
	width: 50px;
	height: 50px;
	transition: all 0.3s ease-in-out;
}
/* Service Box Slick Slider Arrow */
.service-post-carousel .slick-arrow{
	position: absolute;
    top: -100px;
    left: auto;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    padding: 0;
    width: 66px;
    height: 46px;
    transition: all 0.3s ease-in-out;
    z-index: 10;
}

.service-post-carousel .slick-arrow.prev-arrow{
	justify-content: flex-start;
    padding-left: 16px;
    clip-path: polygon(0 0, 100% 0, calc(100% - 23px) 100%, 0% 100%);
}

.service-post-carousel .slick-arrow.next-arrow{
	right: 56px;
	justify-content: flex-end;
	background-color: var(--e-global-color-primary);
	color: var(--e-global-color-accent);
	padding-right: 16px;
	clip-path: polygon(calc(50% - 10px) 0, 100% 0%, 100% 100%, 0% 100%);
}

.service-post-carousel .slick-arrow:hover{
	background-color: var( --e-global-color-primary );
	color: var( --e-global-color-accent );
}

.service-post-carousel .slick-arrow svg{
	width: 20px;
	height: 20px;
}
/* Service Box Disable Slider CSS */
.service-post-disable-carousel .service-post-carousel-wrap{
	cursor: auto;
}
.service-post-disable-carousel .service-post-carousel{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 30px;
}
.service-post-disable-carousel .service-post-carousel .slick-slide{
	display: block !important;
	margin: 0;
	width: calc(33.33% - 20px);
}
/* Disabled-carousel card shadow — uses --color-primary-10 token */
.service-post-disable-carousel .service-boxes{
	box-shadow: 0px 0px 15px 0px var(--color-primary-10);
}
/* Services CPT CSS End */
.service-boxes .services-footer {
	display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 20px;
}
.home-why-choose-img img{
	aspect-ratio: 1 / 0.43;
	object-fit: cover;
}
.why-choose-icon-box{
	background: var( --e-global-color-secondary);
}
.why-choose-icon-box:after{
	content: "";
	position: absolute;
	top: auto;
	right: auto;
	left: auto;
	bottom: 0;
	background: var( --e-global-color-accent );
	width: 100%;
	height: 0;
	transition: all 0.4s ease-in-out;
	z-index: 0;
}
.why-choose-icon-box:hover:after,
.why-choose-icon-box.active:after{
	top: 0;
	bottom: auto;
	height: 100%;
}
.why-choose-icon-box > *{
	position: relative;
	z-index: 1;
}
/* Hover OR Active text/icon colors (match the overlay state) */
.why-choose-icon-box:hover .elementor-icon-box-title,
.why-choose-icon-box.active .elementor-icon-box-title,
.why-choose-icon-box:hover .elementor-icon-box-description,
.why-choose-icon-box.active .elementor-icon-box-description{
  color: var(--white-color);
}
.why-choose-icon-box:hover .elementor-icon,
.why-choose-icon-box.active .elementor-icon,
.why-choose-icon-box:hover svg,
.why-choose-icon-box.active svg{
  fill: var(--e-global-color-secondary);
  color: var(--e-global-color-secondary);
}
.home-logo-carousel .elementor-image-carousel-wrapper{
	width: 100% !important;
}
.home-logo-carousel .swiper-slide .swiper-slide-inner{
/* 	background: var(--white-color); */
	height: 120px;
	display: flex;
	justify-content: center;
	align-items: center;
/* 	box-shadow: 0px 0px 10px 0px var(--color-primary-5); */
}
.home-logo-carousel .swiper-slide .swiper-slide-inner img{
	width: 100%;
	max-width: 200px;
}
.home-logo-carousel .elementor-swiper-button,
.home-service-carousel .elementor-swiper-button{
	top: -90px !important;
	left: auto !important;
  	right: 0 !important;
	display: flex;
    align-items: center;
    justify-content: flex-start;
    line-height: 0;
    width: 66px;
    height: 46px;
    transition: all 0.5s ease-in-out;
}
.home-logo-carousel .elementor-swiper-button-prev,
.home-service-carousel .elementor-swiper-button-prev{
	right: 55px !important;
	background-color: var( --e-global-color-accent );
	clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0% 100%);
	padding-left: 16px;
}
.home-logo-carousel .elementor-swiper-button-prev:hover,
.home-service-carousel .elementor-swiper-button-prev:hover{
	background: var( --e-global-color-secondary );
}
.home-logo-carousel .elementor-swiper-button-prev svg,
.home-service-carousel .elementor-swiper-button-prev svg{

	fill: var( --e-global-color-secondary ) !important;
}
.home-logo-carousel .elementor-swiper-button-next svg,
.home-service-carousel .elementor-swiper-button-next svg{

	fill: var( --e-global-color-secondary ) !important;
}
.home-logo-carousel .elementor-swiper-button-prev:hover svg,
.home-service-carousel .elementor-swiper-button-prev:hover svg{
	fill: var(--e-global-color-accent) !important;
}
.home-logo-carousel .elementor-swiper-button-next,
.home-service-carousel .elementor-swiper-button-next{
	background: var( --e-global-color-accent );
	clip-path: polygon(calc(50% - 15px) 0, 100% 0%, 100% 100%, 0% 100%);
	padding-right: 16px;
	justify-content: flex-end;
}
.home-logo-carousel .elementor-swiper-button-next:hover,
.home-service-carousel .elementor-swiper-button-next:hover{
	background: var( --e-global-color-secondary );
}
.home-logo-carousel .elementor-swiper-button-next svg,
.home-service-carousel .elementor-swiper-button-next svg{

}
.home-logo-carousel .elementor-swiper-button-next:hover svg,
.home-service-carousel .elementor-swiper-button-next:hover svg{
	fill: var( --e-global-color-accent ) !important;
}
.home-logo-carousel .swiper-wrapper {
  will-change: transform;
}
.home-page-faq .e-n-accordion-item{
	overflow: hidden;
	border-bottom: 1px solid var(--divider-color);
}
.home-page-faq .e-n-accordion-item:last-child{
	border-bottom: none;
}
.home-page-faq .e-n-accordion-item .e-n-accordion-item-title{
	gap: 10px;
}
.home-page-faq .e-n-accordion-item .e-n-accordion-item-title-header{
	width: calc(100% - 60px);
}
.home-page-faq .e-n-accordion .e-n-accordion-item-title-icon{
	background: var( --e-global-color-accent );
	display: flex;
	justify-content: flex-end;
	align-items: center;
	clip-path: polygon(calc(50% - 12px) 0, 100% 0%, 100% 100%, 0% 100%);
	width: 50px;
	height: 36px;
	padding-right: 12px;
}
.home-map .e-hotspot__button:before{
	background: url("./images/map-icon.svg") no-repeat;
	background-position: center center;
	background-size: contain;
	padding: 0;
}
/* Hotspot tooltip shadow — uses --color-primary-20 token */
.home-map .e-hotspot .e-hotspot__tooltip{
	filter: drop-shadow(0px 0px 30px var(--color-primary-20));
}
.home-map .e-hotspot .e-hotspot__tooltip:before{
	content: '';
    position: absolute;
    top: -9px;
    left: 50%;
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-bottom: 12px solid var(--tooltip-color);
	transform: translate(-50%, 0);
}
.what-we-do-img-1 img{
	aspect-ratio: 1/ 1.15;
	object-fit: cover;
}
.what-we-do-img-2 img{
	aspect-ratio: 1 / 0.77;
	object-fit: cover;
}
.what-we-do-icon-box-container{}
.what-we-do-icon-box{
	writing-mode: vertical-rl;
    transform: rotate(180deg);
    width: fit-content;
	display: flex;
	justify-content: center;
	align-items: center;
	height: calc(100% - 250px);
}
.what-we-do-icon-box .elementor-icon-box-wrapper .elementor-icon-box-icon{
	margin-bottom: var(--icon-box-icon-margin,15px);
	margin-right: 0;
}
.what-we-do-icon-box .elementor-icon-box-wrapper .elementor-icon-box-icon svg{
	transform: rotate(90deg);
}
.what-we-do-icon-box .elementor-icon-box-content .elementor-icon-box-title{
	margin: 0;
	padding-left: 5px;
}
/* FAQ section accordion shadow — uses --color-primary-10 token.
   NOTE: original selector was malformed. Fixed to :not(.no-shadow) so
   shadow is suppressed when the helper class is present. */
.faq-section:not(.no-shadow) .e-n-accordion-item .e-n-accordion-item-title{
	box-shadow: 0px 0px 30px 0px var(--color-primary-10);
}
.faq-section .e-n-accordion-item[open] > .e-n-accordion-item-title{
	box-shadow: none;
}
.faq-section .e-n-accordion-item .e-n-accordion-item-title .e-n-accordion-item-title-header{
	width: calc(100% - 50px);
}
.faq-section .e-n-accordion-item .e-n-accordion-item-title .e-n-accordion-item-title-icon{
	background: var( --e-global-color-accent );
	width: 20px;
	height: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.faq-section .e-n-accordion-item:hover .e-n-accordion-item-title .e-n-accordion-item-title-icon,
.faq-section .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon{
	background: var( --e-global-color-primary );
}
.faq-img-box:before{
	content: "";
	position: absolute;
	top: 10px;
	left: auto;
	right: 10px;
	bottom: auto;
	background: var( --e-global-color-accent );
	width: 310px;
	height: 310px;
}
.faq-img img{
	aspect-ratio: 1 / 1.02;
	object-fit: cover;
}
.cta-section:before{
	left: auto;
	right: 0;
	width: 60%;
	clip-path: polygon(20% 0%, 100% 0, 100% 100%, 0% 100%);
}
/* CTA overlay — uses --color-primary-90 token for semi-transparent brand tint */
.cta-section:after{
	content: '';
	position: absolute;
	top: 0;
	left: auto;
	right: 0;
	bottom: 0;
	background-color: var(--color-primary-90);
	clip-path: polygon(20% 0%, 100% 0, 100% 100%, 0% 100%);
	width: 60%;
	height: 100%;
	z-index: 0;
}
.cta-section > *{
	z-index: 1;
}
@media only screen and (max-width: 1024px) {

	.home-about-section:before{
		clip-path: unset;
        height: calc(50% + 20px);
	}

	/* Services CPT CSS Start */
	.service-boxes .services-box-content .services-title h3{
		font-size: 26px;
	}

	/* Service Box Slick Slider Arrow */
	.service-post-carousel{
		padding-bottom: 100px;
	}

	.service-post-carousel .slick-arrow{
		--left-right-arrow: calc(50% - 58px);
		top: auto;
		bottom: 0;
		left: auto;
		right: var(--left-right-arrow);
	}

	.service-post-carousel .slick-arrow.next-arrow{
		right: var(--left-right-arrow);
	}

	.service-post-carousel .slick-arrow.prev-arrow{
		right: auto;
		left: var(--left-right-arrow);
	}

	/* Service Box Disable Slider CSS */
	.service-post-disable-carousel .service-post-carousel{
		gap: 20px;
		padding-bottom: 0px;
	}
	.service-post-disable-carousel .service-post-carousel .slick-slide{
		width: calc(50% - 10px);
	}

	/* Services CPT CSS End */

	.home-about-img img{
		aspect-ratio: 1 / 0.85;
	}

	.home-logo-carousel .elementor-swiper-button,
	.home-service-carousel .elementor-swiper-button{
		top: -59px !important;
	}

	.cta-section:before,
	.cta-section:after{
		top: auto;
		bottom: 0;
		width: 100%;
		height: calc(50% - 20px);
		clip-path: unset;
	}
}
@media only screen and (max-width: 991px) {

	.service-boxes .services-box-content .services-header .services-title {
		width: calc(100% - 90px);
	}

	.service-boxes .services-box-content .services-title h3{
		font-size: 24px;
	}

	.service-boxes .services-box-content .services-header .services-box-icon{
		width: 80px;
    	height: 80px;
	}

	.service-boxes .services-box-content .services-header .services-box-icon .icon-wrapper,
	.service-boxes .services-box-content .services-header .services-box-icon .icon-wrapper svg{
		width: 40px;
    	height: 40px;
	}

}
@media only screen and (max-width: 767px) {
	.home-about-section:before{
		height: 250px;
	}

	.home-logo-carousel .elementor-swiper-button,
	.home-service-carousel .elementor-swiper-button{
		top: auto !important;
		bottom:  -95px;
 		right: calc(50% - 45px) !important;
		left: auto;
		width: 50px;
    	height: 35px;
	}

	.home-logo-carousel .elementor-swiper-button-prev,
	.home-service-carousel .elementor-swiper-button-prev{
		right: auto;
		left: calc(50% - 45px) !important;
		clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0% 100%);
		padding-left: 12px;
	}

	.home-logo-carousel .elementor-swiper-button-next,
	.home-service-carousel .elementor-swiper-button-next{
		clip-path: polygon(calc(50% - 10px) 0, 100% 0%, 100% 100%, 0% 100%);
		padding-left: 21px;
	}

	/* Services CPT CSS Start */
	.service-boxes .services-image img{
		aspect-ratio: 1 / 0.8;
	}

	.service-boxes .services-box-content .services-header .services-title {
		width: calc(100% - 70px);
	}

	.service-boxes .services-box-content .services-header .services-box-icon{
		width: 60px;
    	height: 60px;
		border-bottom-width: 3px;
		margin-top: -40px;
	}

	.service-boxes .services-box-content .services-header .services-box-icon .icon-wrapper,
	.service-boxes .services-box-content .services-header .services-box-icon .icon-wrapper svg{
		width: 30px;
    	height: 30px;
	}

	/* Service Box Slick Slider Arrow */
	.service-post-carousel{
		padding-bottom: 70px;
	}

	.service-post-carousel .slick-arrow{
		--left-right-arrow: calc(50% - 50px);
		width: 56px;
		height: 36px;
	}

	.service-post-carousel .slick-arrow svg{
		height: 16px;
		width: 16px;
	}

	/* Service Box Disable Slider CSS */
	.service-post-disable-carousel .service-post-carousel .slick-slide{
		width: 100%;
	}

	/* Services CPT CSS End */

	.home-page-faq .e-n-accordion-item .e-n-accordion-item-title-header {
		width: calc(100% - 40px);
	}

	.home-page-faq .e-n-accordion .e-n-accordion-item-title-icon{
		width: 40px;
		height: 26px;
		padding-right: 10px;
	}

	.what-we-do-icon-box{
		right: auto;
		left: 10px;
		bottom: 10px;
        top: auto !important;
		writing-mode: unset;
		transform: rotate(0deg);
		height: auto;
	}

	.what-we-do-img-1 img {
		aspect-ratio: 1 / 1.3;
	}

	.what-we-do-icon-box .elementor-icon-box-wrapper .elementor-icon-box-icon svg{
		transform: rotate(0deg);
	}

	.what-we-do-icon-box .elementor-icon-box-content .elementor-icon-box-title{
		padding-left: 0;
	}

	.faq-img-box:before{
		top: 5px;
    	right: 5px;
		width: 150px;
		height: 150px;
	}

	.cta-section:before, .cta-section:after {
        height: calc(70% - 20px);
    }
}
/*********************************************************************************/
/*
 * About Page CSS
 * */
.page-header ul li:after{
	transform: rotate(15deg);
}
.about-img-1 img{
	aspect-ratio: 1 / 0.9;
	object-fit: cover;
}
.about-img-2 img{
	aspect-ratio: 1 / 0.85;
	object-fit: cover;
}
.about-client-box:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: var( --e-global-color-accent );
	clip-path: polygon(0 calc(100% - 60%), 100% 0, 100% 100%, 0% 100%);
	width: 100%;
	height: 100%;
	z-index: -1;
}
.about-why-choose-section:before{
	clip-path: polygon(50% 0, 100% 0%, 100% 100%, 60% 100%);
}
.why-choose-box{
	counter-reset: section;
}
/* .why-choose-box:before{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	background: var(--divider-color);
	width: 100%;
	height: 1px;
	transform: translate(0, -50%);
} */
.about-why-choose-icon-box{
	counter-increment: section;
}
.about-why-choose-icon-box:after{
	content: "";
	position: absolute;
	top: auto;
	left: 0;
	right: 0;
	bottom: -30px;
	background: var(--divider-color);
	width: calc(100% + 30px);
	height: 1px;
}
.about-why-choose-icon-box:nth-child(2n + 2)::after{
	width: 100%;
}
.why-choose-box .about-why-choose-icon-box:nth-last-child(-n + 2):after{
	display: none !important;
}
/* Large decorative counter number — uses --color-accent-50 token */
.about-why-choose-icon-box:before{
	content: "0" counter(section) " ";
	position: absolute;
	top: 0;
	right: 0;
	left: auto;
	bottom: auto;
	color: var(--color-accent-50);
	font-size: 70px;
	font-family: var(--e-global-typography-primary-font-family);
	font-weight: var(--e-global-typography-primary-font-weight);
	line-height: var(--e-global-typography-primary-line-height);
}
.service-proccess-box{
	counter-reset: section;
}
.service-proccess-icon-box{
	counter-increment: section;
}
.service-proccess-icon-box:before{
	content: counter(section) " ";
	position: absolute;
	top: 35px;
	right: auto;
	left: 85px;
	bottom: auto;
	color: var(--e-global-color-accent);
	background: var(--e-global-color-primary);
	font-size: var(--e-global-typography-text-font-size);
	font-family: var(--e-global-typography-text-font-family);
	font-weight: var(--e-global-typography-text-font-weight);
	line-height: var(--e-global-typography-text-line-height);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
	transition: all 0.3s ease-in-out;
	z-index: 2;
}
.service-proccess-icon-box:hover:before{
	color: var(--e-global-color-primary);
	background: var(--e-global-color-accent);
}
.team-img img{
	aspect-ratio: 1 / 1.07;
	object-fit: contain;
}
.team-content-box:before{
	content: "";
	position: absolute;
	top: auto;
	bottom: 0;
	background: var(--e-global-color-accent);
	width: 100%;
	height: 0;
	transition: all 0.4s ease-in-out;
}
.team-box:hover .team-content-box:before{
	height: 100%;
}
.team-box .team-content-box .elementor-icon-box-description{
	transition: all 0.4s ease-in-out;
}
.team-box:hover .team-content-box .elementor-icon-box-description{
	color: var(--e-global-color-primary);
}
@media only screen and (max-width: 1024px) {

	.about-why-choose-icon-box:before{
		font-size: 55px;
	}

	.about-why-choose-section:before{
		clip-path: none;
		opacity: 0;
	}

	.service-proccess-icon-box:before{
		top: 25px;
		left: 65px;
	}
}
@media only screen and (max-width: 767px) {

	.about-img-1 img{
		aspect-ratio: 1 / 1.15;
	}

	.why-choose-box:before{
		display: none;
	}

	.about-why-choose-icon-box:before{
		font-size: 40px;
	}

	.about-why-choose-icon-box:after{
		display: none;
	}

	.service-proccess-icon-box:before{
		top: 18px;
		left: 50px;
		width: 25px;
		height: 25px;
		font-size: 14px;
	}
}
/*********************************************************************************/
/*
 * Residential Services Page CSS
 * */
.residential-img-1 img{
	aspect-ratio: 1 / 1.19;
	object-fit: cover;
	clip-path: polygon(85% 0, 100% 13%, 100% 100%, 0 100%, 0 0);
}
.residential-img-1:before{
	content: "";
	position: absolute;
	top: 28px;
	right: -13px;
	left: auto;
	bottom: auto;
	background: var(--e-global-color-accent);
	width: 90px;
	height: 10px;
	transform: rotate(45deg);
}
.residential-img-1 .elementor-widget-container{
	position: relative;
}
.residential-img-1 .elementor-widget-container:before,
.residential-img-1 .elementor-widget-container:after,
.residential-img-2 .elementor-widget-container:before,
.residential-img-2 .elementor-widget-container:after{
	content: "";
	position: absolute;
	top: 10px;
	left: 10px;
	right: auto;
	bottom: auto;
	background: var(--e-global-color-accent);
	clip-path: polygon(100% 0, 0 0, 0 100%);
	width: 80px;
	height: 80px;
	z-index: 1;
}
.residential-img-1 .elementor-widget-container:after,
.residential-img-2 .elementor-widget-container:after{
	top: auto;
	left: auto;
	bottom: 10px;
	right: 90px;
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
}
.residential-img-2 img{
	aspect-ratio: 1 / 1.3;
	object-fit: cover;
	clip-path: polygon(85% 0, 100% 13%, 100% 100%, 0 100%, 0 0);
}
.residential-img-2 .elementor-widget-container:before,
.residential-img-2 .elementor-widget-container:after{
	width: 35px;
	height: 35px;
}
.residential-img-2 .elementor-widget-container:after{
	bottom: 5px;
	right: 5px;
}
/* Service tab content shadow — uses --color-primary-10 token */
.service-tab .e-n-tabs-content{
	box-shadow: 0px 0px 30px 0px var(--color-primary-10);
}
.service-tab-img img{
	aspect-ratio: 1 / 1.16;
	object-fit: cover;
}
@media only screen and (max-width: 1024px) {

	.service-tab-img img{
		aspect-ratio: 1 / 1.2;
	}
}
@media only screen and (max-width: 767px) {

	.residential-img-1:before{
		display: none;
	}
	.residential-img-1 .elementor-widget-container:before,
	.residential-img-1 .elementor-widget-container:after{
		width: 45px;
		height: 45px;
	}

	.residential-img-1 .elementor-widget-container:after{
		width: 0;
		height: 0;
	}

	.residential-img-2 .elementor-widget-container:before,
	.residential-img-2 .elementor-widget-container:after{
		top: 5px;
		left: 5px;
		width: 25px;
    	height: 25px;
	}

	.residential-img-2 .elementor-widget-container:after{
		top: auto;
		left: auto;
		right: 5px;
		bottom: 5px;
	}
}
/*********************************************************************************/
/*
 * Commercial Services Page CSS
 * */
.commercial-img img{
	aspect-ratio: 1 / 1.15;
	object-fit: cover;
}
.commercial-img-box:before{
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background: var(--e-global-color-accent);
	clip-path: polygon(45% 0%, 100% 0%, 55% 100%, 0% 100%);
	width: 100%;
	height: 100%;
	z-index: -1;
}
.commercial-service-counter{
	width: 150px;
	height: 150px;
}
.commercial-service-counter .elementor-widget-container{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}
.commercial-service-counter .elementor-widget-container:before{
	content: "";
	position: absolute;
	top: 5px;
	right: 5px;
	left: 5px;
	bottom: 5px;
	border: 2px solid var(--e-global-color-accent);
	border-radius: 50%;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
}

.commercial-service-counter .elementor-counter {
    text-align: center;
}

.commercial-icon-box .elementor-widget-container{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}
.commercial-icon-box .elementor-widget-container:before,
.commercial-icon-box .elementor-widget-container:after{
	content: "";
	position: absolute;
	top: -4px;
	right: -1px;
	left: auto;
	bottom: auto;
	background: var(--e-global-color-accent);
	width: 40%;
	height: 4px;
}
.commercial-icon-box .elementor-widget-container:after{
	top: auto;
	right: auto;
	bottom: -4px;
	left: -1px;
}
.service-work-process-box .elementor-icon-box-wrapper{
	display: flex !important;
	flex-direction: column-reverse !important;
}
.service-work-process-box .elementor-icon-box-wrapper .elementor-icon-box-icon{
	margin-top: var(--icon-box-icon-margin, 15px);
	margin-right: 0;
}
.service-faq-img{
	clip-path: polygon(0px 0px, calc(100% - 180px) 0px, 100% 190px, 100% 100%, 180px 100%, 0px calc(100% - 190px));
}
.service-faq-img:before,
.service-faq-img:after{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
    bottom: auto;
    background: var(--e-global-color-accent);
    width: 260px;
    height: 2px;
    transform: translate(40px, 96px) rotate(46.5deg);
    z-index: -1;
}
.service-faq-img:after{
	top: auto;
	right: auto;
	left: 0;
	bottom: 0;
	transform: translate(-40px, -92px) rotate(46.5deg);
    width: 265px;
}
.service-faq-img img{
	aspect-ratio: 1 / 1.07;
	object-fit: cover;
}
/* Service page FAQ accordion shadow — uses --color-primary-10 token */
.service-page-faq .e-n-accordion-item-title{
	box-shadow: 0px 0px 30px 0px var(--color-primary-10);
	transition: all 0.3s ease-in-out;
}
.service-page-faq .e-n-accordion{
	counter-reset: section;
}
.service-page-faq .e-n-accordion-item{
	counter-increment: section;
}
.service-page-faq .e-n-accordion-item .e-n-accordion-item-title:before{
	content: "Step 0" counter(section) "";
	position: absolute;
	right: 60px;
	top: auto;
	bottom: auto;
	font-family: var(--e-global-typography-accent-font-family);
	font-size: 14px;
	font-weight: 500;
	color: var(--e-global-color-primary);
	background-color: var(--e-global-color-accent);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 70px;
	height: 30px;
	transition: all 0.4s ease-in-out;
}
.service-page-faq .e-n-accordion-item:hover .e-n-accordion-item-title:before,
.service-page-faq .e-n-accordion-item[open] .e-n-accordion-item-title:before{
	background-color: var(--e-global-color-primary);
	color: var(--white-color);
}
.service-page-faq .e-n-accordion-item .e-n-accordion-item-title-header{
 		width: calc(100% - 120px);
}
.service-page-faq .e-n-accordion-item .e-n-accordion-item-title .e-n-accordion-item-title-icon{
	background: currentcolor;
	max-width: 30px;
	width: 100%;
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.3s ease-in-out;
}
.service-page-faq .faq-img-2 img{
	aspect-ratio: 1 / 0.68;
	object-fit: cover;
}
@media only screen and (max-width: 1024px) {

	.service-faq-img img{

	}

}
@media only screen and (max-width: 767px) {

	.commercial-service-counter{
		width: 100px;
		height: 100px;
	}

	.service-work-process-box .elementor-icon-box-wrapper{
		flex-direction: column !important;
	}

	.service-work-process-box .elementor-icon-box-wrapper .elementor-icon-box-icon{
		margin-bottom: var(--icon-box-icon-margin, 15px);
    	margin-top: 0;
	}

	.service-faq-img {
		clip-path: polygon(0px 0px, calc(100% - 60px) 0px, 100% 60px, 100% 100%, 60px 100%, 0px calc(100% - 60px));
	}

	.service-faq-img:before, .service-faq-img:after{
		width: 80px;
		transform: translate(10px, 30px) rotate(45deg);
	}

	.service-faq-img:after{
		transform: translate(-12px, -30px) rotate(45deg);
		width: 85px;
	}

	.service-page-faq .e-n-accordion-item .e-n-accordion-item-title:before{
		right: 45px;
		font-size: 12px;
		width: 50px;
	}

	.service-page-faq .e-n-accordion-item .e-n-accordion-item-title-header{
		width: calc(100% - 80px);
	}

	.service-page-faq .e-n-accordion-item .e-n-accordion-item-title .e-n-accordion-item-title-icon{
		max-width: 25px;
	}
}
/*********************************************************************************/
/*
 * Infrastructure Services Page CSS
 * */
.infrastructure-about-img img{
	aspect-ratio: 1 / 0.98;
	object-fit: cover;
}
.service-features-box .elementor-widget-container{
	position: relative;
}
.service-features-box .elementor-widget-container:before{
	content: "";
	position: absolute;
	top: 0;
	bottom: auto;
	left: 0;
	right: 0;
	background: var(--e-global-color-accent);
	width: 100%;
	height: 0;
	transition: all 0.4s ease-in-out;
	z-index: 0;
}
.service-features-box:hover .elementor-widget-container:before,
.service-features-box.active .elementor-widget-container:before{
	top: auto;
	bottom: 0;
	height: 100%;
}
.service-features-box .elementor-widget-container > *{
	position: relative;
	z-index: 1;
}
.service-features-box .elementor-icon-box-wrapper .elementor-icon svg,
.service-features-box .elementor-icon-box-content .elementor-icon-box-title,
.service-features-box .elementor-icon-box-content .elementor-icon-box-description{
	transition: all 0.4s ease-in-out;
}
.service-features-box:hover .elementor-icon-box-wrapper .elementor-icon svg,
.service-features-box:hover .elementor-icon-box-content .elementor-icon-box-title,
.service-features-box:hover .elementor-icon-box-content .elementor-icon-box-description,
.service-features-box.active .elementor-icon-box-wrapper .elementor-icon svg,
.service-features-box.active .elementor-icon-box-content .elementor-icon-box-title,
.service-features-box.active .elementor-icon-box-content .elementor-icon-box-description{
	color: var(--white-color);
}
.infrastructure-service-process .elementor-icon-box-content{
	border-top: 1px solid var(--divider-color);
	padding-top: 30px;
}
@media only screen and (max-width: 767px){

	.services-counter .elementor-counter{
		text-align: center;
	}
}
/*********************************************************************************/
/*
 * Location Page CSS
 * */
.location-customer-counter .elementor-widget-container{
	width: 50px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.location-list .elementor-widget-container{
	overflow: visible !important;
}
.location-list ul{
	gap: 30px;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
/* Location list card shadow — uses --color-primary-10 token */
.location-list ul li{
	position: relative;
	width: calc(33.33% - 20px);
	padding: 15px 20px !important;
	background: var(--white-color);
	box-shadow: 0px 0px 30px 0px var(--color-primary-10);
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.location-list ul li:before{
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background: var(--e-global-color-accent);
	width: 100%;
	height: 100%;
	transform: scale(0);
	transition: all 0.4s ease-in-out;
	z-index: 0;
}
.location-list ul li > *{
	position: relative;
	z-index: 1;
}
.location-list ul li:hover:before{
	transform: scale(1);
}
.location-step-box{
	counter-reset: section;
}
.location-step-box .elementor-icon-box-icon{
	position: relative;
}
.location-step-icon-box:after{
	content: "";
	position: absolute;
	top: 45px;
	left: 0;
	right: 0;
	bottom: auto;
	background: var(--divider-color);
	width: calc(100% + 30px);
	height: 1px;
	z-index: -1;
}
.location-step-icon-box:nth-of-type(-n + 4):after{
	width: calc(100% + 30px);
}
.location-step-box .location-step-icon-box:nth-of-type(4n + 4):after{
	width: 100%;
}
.location-step-icon-box{
	counter-increment: section;
}
.location-step-icon-box:before{
	content: "STEP 0" counter(section) " ";
 	position: absolute;
	top: 0;
	left: 0;
	right: auto;
	bottom: auto;
	font-family: var(--e-global-typography-text-font-family);
	font-size: var(--e-global-typography-text-font-size);
	font-weight: var(--e-global-typography-text-font-weight);
	line-height: var(--e-global-typography-text-line-height);
}
@media only screen and (max-width: 1024px) {

	.location-step-box:before{
		display: none;
	}

	.infrastructure-service-process .elementor-icon-box-content{
		padding-top: 20px;
	}
}
@media only screen and (max-width: 767px) {

	.location-list ul{
		gap: 15px;
	}

	.location-list ul li{
		width: 100%;
	}

	.location-step-icon-box:after,
	.location-step-icon-box:nth-of-type(-n + 4):after{
		width: 100%;
	}

}
/*********************************************************************************/
/*
 * Blog List CSS
 * */
.blog-loop-featured-img a{
	display: block;
}
.blog-loop-featured-img img{
	aspect-ratio: 1 / 0.81;
	object-fit: cover;
}
.blog-loop-container .blog-loop-category .elementor-icon-list-text{
	display: inherit !important;
	line-height: 0;
}
.blog-loop-container .blog-loop-category .elementor-post-info__terms-list{
	font-size: 0;
	color: transparent;
}
.blog-loop-container .blog-loop-category .elementor-post-info__terms-list a{
	display: none !important;
	font-size: 14px;
    background: var(--e-global-color-accent);
    padding: 10px;
    margin-right: 0;
    transition: all 0.4s ease-in-out;
    line-height: initial;
}
.blog-loop-container .blog-loop-category .elementor-post-info__terms-list a:first-child{
	display: block !important;
}
.blog-loop-grid .elementor-pagination{
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 10px;
}
.blog-loop-grid .elementor-pagination .page-numbers.prev,
.blog-loop-grid .elementor-pagination .page-numbers.next{
	text-indent: -9999px;
}
.blog-loop-grid .elementor-pagination .page-numbers{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 0px;
	background-color: var(--e-global-color-accent);
	transition: all 0.3s ease-in-out;
}
.blog-loop-grid .elementor-pagination .page-numbers:hover,
.blog-loop-grid .elementor-pagination .page-numbers:focus,
.blog-loop-grid .elementor-pagination .page-numbers.current{
	background-color: var( --e-global-color-primary);
	color: var(--e-global-color-accent) !important;
}
.blog-loop-grid .elementor-pagination .page-numbers.prev,
.blog-loop-grid .elementor-pagination .page-numbers.next{
	background-image: url("images/left-arrow.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 18px auto;
	transition:all 0.3s ease-in-out;
}
.blog-loop-grid .elementor-pagination .page-numbers.prev:hover,
.blog-loop-grid .elementor-pagination .page-numbers.prev:focus,
.blog-loop-grid .elementor-pagination .page-numbers.prev.current{
	background-image: url("images/left-arrow-2.svg");
}
.blog-loop-grid .elementor-pagination .page-numbers.next{
	background-image: url("images/right-arrow.svg");
}
.blog-loop-grid .elementor-pagination .page-numbers.next:hover,
.blog-loop-grid .elementor-pagination .page-numbers.next:focus,
.blog-loop-grid .elementor-pagination .page-numbers.next.current{
	background-image: url("images/right-arrow-2.svg");
}
.blog-loop-grid .elementor-pagination span.page-numbers.prev,
.blog-loop-grid .elementor-pagination span.page-numbers.next{
	display: none;
}
@media only screen and (max-width: 1024px) {

}
/*********************************************************************************/
/*
 * Blog Single CSS
 * */
.feature-img img{
	aspect-ratio: 1 / 0.4231;
	object-fit: cover;
}
.post-entry .blockquote-text{
	background-color: var(--e-global-color-accent);
	background-image: url("./images/quote.svg");
    background-repeat: no-repeat;
    background-position: top 50px left 50px;
    background-size: 60px auto;
	border-radius: 0;
    padding: 40px 40px 40px 140px;
}
.post-tag ul li .elementor-post-info__item--type-terms span{
	font-size: 0 !important;
}
.post-tag ul li .elementor-post-info__item--type-terms span a{
	display: inline-block !important;
	font-size: initial !important;
	background: var(--e-global-color-accent);
	padding: 12px 30px;
	margin-right: 10px;
	transition: all 0.4s ease-in-out;
}
.post-tag ul li .elementor-post-info__item--type-terms span a:last-child{
	margin-right: 0;
}
.post-tag ul li .elementor-post-info__item--type-terms span a:hover{
	background: var(--e-global-color-primary);
	color: var(--white-color) !important;
}
/* Recent blog post card shadow — uses --color-primary-5 token */
.recent-blog-post .elementor-loop-container .e-loop-item > .elementor-element{
	padding: 15px;
}
.recent-blog-post .elementor-loop-container .e-loop-item .blog-loop-container .loop-content {
	box-shadow: 0px 0px 10px 0px var(--color-primary-5) !important;
}
.recent-blog-post .elementor-swiper-button{
	display: flex;
    align-items: center;
    justify-content: center;
	width: 66px;
	height: 46px;
}
.recent-blog-post .elementor-swiper-button-prev{
	clip-path: polygon(calc(50% - 15px) 0, 100% 0%, 100% 100%, 0% 100%);
	padding-left: 16px;
}
.recent-blog-post .elementor-swiper-button-next{
	background-color: var( --e-global-color-primary ) !important;
	clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0% 100%);
	padding-right: 16px;
}
.recent-blog-post .elementor-swiper-button-next svg{
	fill: var( --e-global-color-accent ) !important;
}
.recent-blog-post .elementor-swiper-button-next:hover{
	background-color: var( --e-global-color-accent ) !important;
}
.recent-blog-post .elementor-swiper-button-next:hover svg{
	fill: var( --e-global-color-primary ) !important;
}
@media only screen and (max-width: 1024px) {
	.feature-img img{
		aspect-ratio: 1 / 0.68;
	}

	.post-entry .blockquote-text{
        background-position: top 20px left 20px;
        background-size: 35px auto;
        padding: 20px;
        text-indent: 40px;
	}
}

@media only screen and (max-width: 767px) {

	.feature-img img{
		aspect-ratio: 1 / 1.05;
	}

	.blog-single-info ul{
		flex-direction: column;
		gap: 10px;
	}

	.post-entry .blockquote-text{
        background-size: 30px auto;
	}

	.post-tag ul li .elementor-post-info__item--type-terms span a{
		padding: 10px 15px;
		margin-bottom: 10px;
	}

	.recent-blog-post .elementor-swiper-button{
		width: 50px;
    	height: 35px;
	}

	.recent-blog-post .elementor-swiper-button-next {
		padding-right: 10px;
	}

	.recent-blog-post .elementor-swiper-button-prev {
    	clip-path: polygon(calc(50% - 7px) 0, 100% 0%, 100% 100%, 0% 100%);
		padding-left: 14px;
	}
}
/*********************************************************************************/
/* Gravity Form CSS */
form .gform-loader{
	display: none !important;
}
.gform_wrapper .gform_heading{
	display: none;
}
.gform_wrapper form .gform-body .gform_fields{
	row-gap: 30px;
	column-gap: 30px;
}
.gform_wrapper form .gform-body .gform_fields .gfield{
	border-radius: 0;
    box-shadow: none;
}
.gform_wrapper form .gform-body .gform_fields .gfield .gform-field-label{
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-size: var(--e-global-typography-text-font-size);
	font-weight: var(--e-global-typography-text-font-weight);
	line-height: var(--e-global-typography-text-line-height);
	text-transform: capitalize;
	color: var(--e-global-color-text);
	margin-bottom: 10px;
}
.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container input,
.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container select,
.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container textarea{
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);
	background-color: var( --e-global-color-secondary );
	color: var(--e-global-color-text);
	border-radius: 0px;
	border: none;
    box-shadow: none;
	height: auto;
	padding: 18px 20px;
}
/* Placeholder text — uses --color-placeholder token (derived from body text colour) */
.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container input::placeholder,
.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container select::placeholder,
.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container textarea::placeholder{
	color: var(--color-placeholder);
}
.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container input:focus,
.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container input:hover,
.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container select:focus,
.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container select:hover,
.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container textarea:focus,
.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container textarea:hover,
.gform_wrapper form .gform_footer .gform_button:focus,
.gform_wrapper form .gform_footer .gform_button:hover,
.gform_wrapper form .gform-button:focus,
.gform_wrapper form .gform-button:hover{
	outline: none !important;
	box-shadow: none;
}
.gform-theme--foundation .gfield textarea.large{
	min-block-size: auto;
}
.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container textarea{
	height: 140px;
}
.gform_wrapper form .gform_footer{
	margin-top: 40px !important;
}
/*********************************************************************************/
/* Gform Submit Button Animation */
/* Base: dark button */
.gform_wrapper form .gform_footer .gform_button,
.gform_wrapper form .gform-button{
  border: 2px solid var(--e-global-color-accent) !important;
  color: var(--white-color) !important;
  /* Keep the base dark ALWAYS */
  background-color: var(--e-global-color-accent) !important;
  /* Two light "doors" that will close inward */
  background-image:
    linear-gradient(var(--white-color), var(--white-color)),
    linear-gradient(var(--white-color), var(--white-color)) !important;
  background-repeat: no-repeat !important;
  background-position: left center, right center !important;
  /* Start closed (invisible) */
  background-size: 0% 100%, 0% 100% !important;
  transition:
    background-size 0.45s ease,
    color 0.25s ease !important;
}
/* Hover: keep base dark, animate doors inward */
.gform_wrapper form .gform_footer .gform_button:hover,
.gform_wrapper form .gform-button:hover{
  /* Prevent other CSS from flipping the base to white */
  background-color: var(--e-global-color-accent) !important;
  /* Doors close in from BOTH sides */
  background-size: 50% 100%, 50% 100% !important;
  /* Text becomes dark once the light fills in */
  color: var(--e-global-color-accent) !important;
}

/* Form #1 (Get Your Free Estimate): eliminate the red seam where the two white
   "doors" meet at the center on hover. Each door extends 1px past the midpoint
   so they overlap instead of butting edge-to-edge (which leaves a sub-pixel
   gap showing the red base color). */
#gform_wrapper_1 .gform_footer .gform_button:hover,
#gform_submit_button_1:hover{
  background-size: calc(50% + 1px) 100%, calc(50% + 1px) 100% !important;
}
.gform_confirmation_wrapper .gform_confirmation_message{
	font-family: var(--e-global-typography-primary-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-secondary-font-size);
    font-weight: var(--e-global-typography-secondary-font-weight);
    text-transform: var(--e-global-typography-secondary-text-transform);
    line-height: 1.2em;
    background: var(--e-global-color-primary);
    color: var(--e-global-color-accent);
    border-radius: 0px;
    padding: 15px;
}
/* Services Form CSS */
.service-form .gform_wrapper form .gform-body .gform_fields .gfield .ginput_container input,
.service-form .gform_wrapper form .gform-body .gform_fields .gfield .ginput_container select,
.service-form .gform_wrapper form .gform-body .gform_fields .gfield .ginput_container textarea{
	background-color: var(--white-color);
}
.service-form .gform_wrapper form .gform-footer .gform_button{
	width: 100% !important;
}
@media only screen and (max-width: 991px) {
	.gform_wrapper form .gform-body .gform_fields .gfield .gform-field-label{
		margin-bottom: 10px;
	}
	.gform_wrapper form .gform-body .gform_fields {
		row-gap: 30px;
		column-gap: 30px;
	}

	.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container input,
	.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container select,
	.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container textarea{
		padding: 13px 16px;
	}
	.gform_wrapper form .gform_footer {
		margin-top: 30px !important;
	}

	.gform_wrapper form .gform_footer .gform_button{
		padding: 12px 20px !important;
	}
}
@media only screen and (max-width: 767px) {

		.gform_wrapper form .gform-body .gform_fields {
		row-gap: 20px;
		column-gap: 0px;
	}

	.gform_wrapper form .gform_footer{
		margin-top: 20px !important;
	}
}
.newsletter-form form{
	background: var(--e-global-color-primary);
	border: 1px solid var(--e-global-color-accent);
	padding: 5px;
	display: flex !important;
	align-items: center;
}
.newsletter-form form .gform-body{
	width: calc(100% - 46px) !important;
}
.newsletter-form form .gform-body .gform_fields{
	row-gap: 0;
    column-gap: 0;
}
.newsletter-form form .gform-body .gform_fields .gfield .ginput_container input{
	color: var(--white-color);
	padding: 11px 20px !important;
	background: var(--e-global-color-primary);
}
.newsletter-form form .gform-body .gform_fields .gfield .ginput_container input::placeholder{
	color: var(--white-color);
}
.newsletter-form form .gform_footer{
	margin-top: 0 !important;
	width: 46px !important;
}
.newsletter-form form .gform-button{
	position: absolute;
	width: 46px;
	height: 46px;
	background: var(--e-global-color-accent);
}
/* Newsletter button overrides — must use !important on ALL background
   properties to beat the door-sweep animation's !important rules above */
.newsletter-form .gform_wrapper form .gform_footer .gform_button{
	background-image: url('./images/arrow-2.svg') !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: 18px auto !important;
	border: none !important;
	padding: 0 !important;
	color: transparent !important;
	height: 46px !important;
	width: 46px !important;
	transition: background-color 0.3s ease !important;
}
.newsletter-form .gform_wrapper form .gform_footer .gform_button:hover{
	background-image: url('./images/arrow-2.svg') !important;
	background-color: var(--white-color) !important;
	background-size: 18px auto !important;
	color: transparent !important;
}
.newsletter-form .gfield_description,
.newsletter-form .gform_validation_errors{
	display: none !important;
}
.newsletter-form .gform_confirmation_wrapper .gform_confirmation_message{
	color: var(--e-global-color-primary);
    background: var(--e-global-color-accent);
	font-size: 16px;
	padding: 10px;
}
/*********************************************************************************/
/*
 * Google Review CSS
 * */
.sb-post-item {
	padding: 30px;
}
.sb-post-item .sb-item-provider-icon {
	display: none;
}
.sb-post-item .sb-item-author-date-ctn {
	padding-right: 0 !important;
}
.sb-post-item .sb-item-author-date-ctn .sb-item-author-ctn {
	align-items: center;
	gap: 10px;
}
.sb-post-item .sb-item-author-date-ctn .sb-item-author-ctn .sb-item-author-img {
	width: 80px;
	min-width: 80px;
	height: 80px;
}
.sb-post-item .sb-item-author-date-ctn .sb-item-author-ctn .sb-item-name-date .sb-item-author-name {
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
	letter-spacing: 0px;
	text-transform: uppercase;
	margin: 0px 0px 4px 0px !important;
}
.sb-post-item .sb-item-author-date-ctn .sb-item-author-ctn .sb-item-name-date .sb-item-author-date {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	text-transform: none;
}
.sb-post-item .sb-item-rating {
	margin: 30px 0 !important;
}
.sb-post-item .sb-item-rating .sb-relative {
	line-height: 0;
}
.sb-post-item .sb-item-rating .sb-relative .sb-item-rating-ctn .sb-item-rating-icon svg {
	margin: 0 4px;
}
.sb-post-item .sb-item-text {
	color: var(--e-global-color-text) !important;
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
}
.sb-post-item .sb-item-text a {
	color: inherit;
}
.sbr_carousel .sbr-owl-nav>div {
	--google-review-arrow: -90px;
	top: var(--google-review-arrow);
	left: auto;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--e-global-color-accent) !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: 20px auto !important;
	border-radius: 0;
	color: var(--white-color);
	padding: 0;
	margin: 0;
	width: 66px;
    height: 46px;
	clip-path: polygon(calc(50% - 15px) 0, 100% 0%, 100% 100%, 0% 100%);
	transition: all 0.3s ease-in-out;
}
.sbr_carousel:hover .sbr-owl-nav>div {
	background-color: var(--e-global-color-accent);
	box-shadow: none;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
}
.sbr_carousel .sbr-owl-nav>div:hover{
	background-color: var(--e-global-color-primary) !important;
}
.sbr_carousel .sbr-owl-nav>div svg {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
}
@media only screen and (max-width: 1024px) {
	/* Google Review Testimonial CSS */
	.sbr_carousel {
		padding-bottom: 0;
	}
	#sb-reviews-container-1 {
		--column-gutter: 20px;
	}
	.sb-post-item {
		padding: 15px;
	}
	.sb-post-item .sb-item-author-date-ctn .sb-item-author-ctn .sb-item-author-img {
		width: 60px;
		min-width: 60px;
		height: 60px;
	}
	.sb-post-item .sb-item-rating {
		margin: 20px 0 !important;
	}
	.sb-post-item .sb-item-author-date-ctn .sb-item-author-ctn .sb-item-name-date .sb-item-author-name {
		font-size: 22px !important;
	}
	.sb-post-item .sb-item-author-date-ctn .sb-item-author-ctn .sb-item-name-date .sb-item-author-date {
		font-size: 14px !important;
	}
	.sbr_carousel .sbr-owl-nav>div {
		--google-review-arrow: -82px;
	}
}
@media only screen and (max-width: 767px) {
	/* Google Review Testimonial CSS */
	.sbr_carousel {
		padding-bottom: 50px;
	}
	.sb-post-item .sb-item-author-date-ctn .sb-item-author-ctn .sb-item-author-img {
		width: 50px;
		min-width: 50px;
		height: 50px;
	}
	.sb-post-item .sb-item-rating {
		margin: 15px 0 !important;
	}
	.sbr_carousel .sbr-owl-nav>div {
		top: auto;
		bottom: 0;
		width: 50px;
        height: 35px;
		background-size: 16px auto !important;
	}

	.sbr_carousel .sbr-owl-nav>.sbr-owl-prev {
		left: calc(50% - 45px);
		right: auto;
		background-position: center left 12px !important;
		clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0% 100%) !important;
		background-size: 16px auto !important;
		padding-left: 10px !important;
	}

	.sbr_carousel .sbr-owl-nav>.sbr-owl-next{
		right: calc(50% - 45px) !important;
		left: auto;
		background-position: center right 12px !important;
		clip-path: polygon(calc(50% - 10px) 0, 100% 0%, 100% 100%, 0% 100%) !important;
		padding-right: 10px !important;
	}

}
/*********************************************************************************/
/*Override Settings*/
/* Default */
.why-choose-icon-box.elementor-widget-icon-box .elementor-icon-box-title,
.why-choose-icon-box.elementor-widget-icon-box .elementor-icon-box-description{
  color: var(--e-global-color-primary) !important;
}
.why-choose-icon-box.elementor-widget-icon-box .elementor-icon,
.why-choose-icon-box.elementor-widget-icon-box svg{
  color: var(--e-global-color-primary) !important;
  fill: var(--e-global-color-primary) !important;
}
.why-choose-icon-box.elementor-widget-icon-box:hover .elementor-icon-box-title,
.why-choose-icon-box.elementor-widget-icon-box.active .elementor-icon-box-title,
.why-choose-icon-box.elementor-widget-icon-box:hover .elementor-icon-box-description,
.why-choose-icon-box.elementor-widget-icon-box.active .elementor-icon-box-description{
  color: var(--white-color) !important;
}
.why-choose-icon-box.elementor-widget-icon-box:hover .elementor-icon,
.why-choose-icon-box.elementor-widget-icon-box.active .elementor-icon,
.why-choose-icon-box.elementor-widget-icon-box:hover svg,
.why-choose-icon-box.elementor-widget-icon-box.active svg{
  color: var(--e-global-color-secondary) !important;
  fill: var(--e-global-color-secondary) !important;
}
/*********************************************************************************/
/* Button Variants: dark-btn / light-btn (class on widget wrapper)    */
/*********************************************************************************/
/* -------------------------------------------------------------- */
/* DARK BUTTON                                                    */
/* -------------------------------------------------------------- */
.elementor-widget-button.dark-btn .elementor-button{
  background-color: var(--e-global-color-accent) !important;
  color: var(--white-color) !important;
}
/* Rollout bar = WHITE */
.elementor-widget-button.dark-btn .elementor-button:before{
  background: var(--white-color) !important;
}
/* Wedge background stays WHITE */
.elementor-widget-button.dark-btn .elementor-button .elementor-button-icon{
  background-color: var(--white-color) !important;
}
/* Icon always ACCENT */
.elementor-widget-button.dark-btn .elementor-button .elementor-button-icon svg,
.elementor-widget-button.dark-btn .elementor-button:hover .elementor-button-icon svg,
.elementor-widget-button.dark-btn .elementor-button:focus .elementor-button-icon svg{
  color: var(--e-global-color-accent) !important;
  fill: var(--e-global-color-accent) !important;
}
/* Hover text = ACCENT */
.elementor-widget-button.dark-btn .elementor-button:hover .elementor-button-text,
.elementor-widget-button.dark-btn .elementor-button:focus .elementor-button-text{
  color: var(--e-global-color-accent) !important;
}
/* -------------------------------------------------------------- */
/* LIGHT BUTTON                                                   */
/* -------------------------------------------------------------- */
.elementor-widget-button.light-btn .elementor-button{
  background-color: var(--white-color) !important;
}
/* Rollout bar = ACCENT */
.elementor-widget-button.light-btn .elementor-button:before{
  background: var(--e-global-color-accent) !important;
}
/* Wedge background stays ACCENT */
.elementor-widget-button.light-btn .elementor-button .elementor-button-icon{
  background-color: var(--e-global-color-accent) !important;
}
/* Icon always WHITE */
.elementor-widget-button.light-btn .elementor-button .elementor-button-icon svg,
.elementor-widget-button.light-btn .elementor-button:hover .elementor-button-icon svg,
.elementor-widget-button.light-btn .elementor-button:focus .elementor-button-icon svg{
  color: var(--white-color) !important;
  fill: var(--white-color) !important;
}
/* Text normal = ACCENT */
.elementor-widget-button.light-btn .elementor-button .elementor-button-text{
  color: var(--e-global-color-accent) !important;
}
/* Text hover/focus = WHITE */
.elementor-widget-button.light-btn .elementor-button:hover .elementor-button-text,
.elementor-widget-button.light-btn .elementor-button:focus .elementor-button-text{
  color: var(--white-color) !important;
}
/* -------------------------------------------------------------- */
/* LIGHT BUTTON Blue - for light backgrounds                      */
/* -------------------------------------------------------------- */
.elementor-widget-button.light-btn-blue .elementor-button{
  background-color: var(--e-global-color-secondary) !important;
  color: var(--white-color) !important;
}
/* Rollout bar = ACCENT */
.elementor-widget-button.light-btn-blue .elementor-button:before{
  background: var(--e-global-color-accent) !important;
}
/* Wedge background stays ACCENT */
.elementor-widget-button.light-btn-blue .elementor-button .elementor-button-icon{
  background-color: var(--e-global-color-accent) !important;
}
/* Icon always SECONDARY */
.elementor-widget-button.light-btn-blue .elementor-button .elementor-button-icon svg,
.elementor-widget-button.light-btn-blue .elementor-button:hover .elementor-button-icon svg,
.elementor-widget-button.light-btn-blue .elementor-button:focus .elementor-button-icon svg{
  color: var(--e-global-color-secondary) !important;
  fill: var(--e-global-color-secondary) !important;
}
/* Hover text = WHITE */
.elementor-widget-button.light-btn-blue .elementor-button:hover .elementor-button-text,
.elementor-widget-button.light-btn-blue .elementor-button:focus .elementor-button-text{
  color: var(--white-color) !important;
/* 	color: var(--e-global-color-accent) !important; */
}
.elementor-widget-button.light-btn-blue .elementor-button .elementor-button-text,
.elementor-widget-button.light-btn-blue .elementor-button .elementor-button-text{
	color: var(--e-global-color-accent) !important;
}
/* Footer service menu arrows — force color */
.footer-service-menu .menu-item > a::before,
.footer-service-menu .menu-item > a.elementor-item::before,
.footer-service-menu .menu-item::before{
/*   background-color: var(--e-global-color-secondary) !important; */
}
/* ==============================================================
   SBR Carousel Arrows
   ============================================================== */
/* remove old image arrows */
.sbr_carousel .sbr-owl-nav > .sbr-owl-prev,
.sbr_carousel .sbr-owl-nav > .sbr-owl-next{
  background-image: none !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}
/* PREV (left button) */
.sbr_carousel .sbr-owl-nav > .sbr-owl-prev{
  right: 54px;
  background-color: var(--e-global-color-accent) !important;
  clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0% 100%);
  padding-left: 16px;
  padding-right: 0;
  justify-content: flex-start;
}
/* NEXT (right button) */
.sbr_carousel .sbr-owl-nav > .sbr-owl-next{
  right: 0;
  background-color: var(--e-global-color-accent) !important;
  clip-path: polygon(calc(50% - 15px) 0, 100% 0%, 100% 100%, 0% 100%);
  padding-right: 16px;
  padding-left: 0;
  justify-content: flex-end;
}
/* arrow glyph (mask) */
.sbr_carousel .sbr-owl-nav > .sbr-owl-prev::before,
.sbr_carousel .sbr-owl-nav > .sbr-owl-next::before{
  content: "";
  width: 20px;
  height: 20px;
  display: block;
  background-color: var(--white-color);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
/* match your desired screenshot:
   left button shows RIGHT arrow, right button shows LEFT arrow */
.sbr_carousel .sbr-owl-nav > .sbr-owl-prev::before{
  -webkit-mask-image: url("./images/right-arrow-2.svg");
  mask-image: url("./images/right-arrow-2.svg");
}
.sbr_carousel .sbr-owl-nav > .sbr-owl-next::before{
  -webkit-mask-image: url("./images/left-arrow-1.svg");
  mask-image: url("./images/left-arrow-1.svg");
}
/* Button backgrounds go WHITE on hover */
.sbr_carousel .sbr-owl-nav > .sbr-owl-prev:hover,
.sbr_carousel .sbr-owl-nav > .sbr-owl-next:hover{
  background-color: var(--e-global-color-primary) !important;
}
/* Arrow turns ACCENT on hover (so it contrasts on white) */
.sbr_carousel .sbr-owl-nav > .sbr-owl-prev:hover::before,
.sbr_carousel .sbr-owl-nav > .sbr-owl-next:hover::before{
  background-color: var(--e-global-color-secondary) !important;
}
/*********************************************************************************/
/* Overwrite Rules */
.service-proccess-icon-box:before {
    color: var(--white-color) !important;
    background: var(--e-global-color-accent) !important;
}
.service-proccess-icon-box:hover:before {
    color: var(--e-global-color-accent) !important;
    background: var(--white-color) !important;
}

/* Normal state */
.icon-contact .elementor-icon {
    background-color: var(--e-global-color-accent) !important;
    border: 2px solid transparent !important;
    transition: background-color 0.3s ease, border-color 0.3s ease, border-radius 0.3s ease !important;
}

.icon-contact .elementor-icon svg,
.icon-contact .elementor-icon svg path {
    fill: #fff !important;
    transition: fill 0.3s ease !important;
}

/* Hover state - triggered by parent card hover */
.icon-box-hover:hover .icon-contact .elementor-icon {
    background-color: transparent !important;
    border-color: var(--e-global-color-accent) !important;
    border-radius: 50% !important;
}

.icon-box-hover:hover .icon-contact .elementor-icon svg,
.icon-box-hover:hover .icon-contact .elementor-icon svg path {
    fill: var(--e-global-color-accent) !important;
}

/* Suppress icon-box-hover's ::before overlay on this icon */
.icon-contact .elementor-icon:before {
    display: none !important;
}

.home-logo-carousel .swiper-slide img {
    -webkit-user-drag: none;
    user-drag: none;
    pointer-events: none;
    draggable: false;
}


.sbr_carousel .sbr-owl-stage {
    display: flex;
    align-items: stretch;
}

.sbr_carousel .sbr-owl-item {
    display: flex;
    height: auto !important;
}

.sbr_carousel .sbr-owl-item .sb-post-item-wrap {
    display: flex;
    flex-direction: column;
    height: 100% !important;
    width: 100%;
}

.sbr_carousel .sbr-owl-item .sb-post-item {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.sbr_carousel .sbr-owl-item .sb-item-text {
    flex: 1;
}

/************************************************************************************/
/* Review Card Redesign */
.sbr_carousel .sbr-owl-item .sb-post-item-wrap {
    background: var(--e-global-color-secondary) !important;
    padding: 30px !important;
    position: relative;
    overflow: hidden;
}

/* Accent corner bar */
.sbr_carousel .sbr-owl-item .sb-post-item-wrap::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: var(--e-global-color-accent);
}

/* Large decorative quote mark */
.sbr_carousel .sbr-owl-item .sb-post-item-wrap::after {
    content: '\201C';
    position: absolute;
    top: -10px;
    right: 20px;
    font-size: 120px;
    line-height: 1;
    color: var(--e-global-color-accent);
    opacity: 0.15;
    font-family: Georgia, serif;
    pointer-events: none;
	padding-top: 20px;
}

/* Author name */
.sbr_carousel .sbr-owl-item .sb-item-author-name {
    color: var(--e-global-color-accent) !important;
    font-size: 18px !important;
    font-family: var(--e-global-typography-primary-font-family), sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px;
}

/* Stars */
.sbr_carousel .sbr-owl-item .sb-item-rating {
    margin: 12px 0 16px !important;
}

.sbr_carousel .sbr-owl-item .sb-item-rating-icon svg {
    fill: var(--e-global-color-accent) !important;
    width: 16px;
    height: 16px;
}

/* Review text */
.sbr_carousel .sbr-owl-item .sb-item-text {
    color: var(--e-global-color-accent) !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

/* Read more link */
.sbr_carousel .sbr-owl-item .sb-expand a {
    color: var(--e-global-color-accent) !important;
}

/* Hide the Google provider icon */
.sbr_carousel .sbr-owl-item .sb-item-provider-icon {
    display: none !important;
}

/* Avatar if present */
.sbr_carousel .sbr-owl-item .sb-item-author-img img {
    border-radius: 50% !important;
    border: 2px solid var(--e-global-color-accent) !important;
}

/* Nav arrow overrides to match */
.sbr_carousel .sbr-owl-nav > .sbr-owl-prev,
.sbr_carousel .sbr-owl-nav > .sbr-owl-next {
    background-color: var(--e-global-color-accent) !important;
}

.sbr_carousel .sbr-owl-nav > .sbr-owl-prev:hover,
.sbr_carousel .sbr-owl-nav > .sbr-owl-next:hover {
    background-color: var(--e-global-color-primary) !important;
}





/* Reset nav to flow naturally below the carousel */
.client-reviews .sbr_carousel .sbr-owl-nav {
    position: relative !important;
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 20px !important;
}

.client-reviews .sbr_carousel .sbr-owl-nav > div {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    width: 66px !important;
    height: 46px !important;
    display: flex !important;
    align-items: center !important;
    background-color: var(--e-global-color-accent) !important;
    transition: background-color 0.3s ease-in-out !important;
}

.client-reviews .sbr_carousel .sbr-owl-nav > .sbr-owl-prev {
    clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0% 100%) !important;
    justify-content: flex-start !important;
    padding-left: 16px !important;
    padding-right: 0 !important;
}

.client-reviews .sbr_carousel .sbr-owl-nav > .sbr-owl-next {
    clip-path: polygon(calc(50% - 15px) 0, 100% 0%, 100% 100%, 0% 100%) !important;
    justify-content: flex-end !important;
    padding-right: 16px !important;
    padding-left: 0 !important;
}

.client-reviews .sbr_carousel .sbr-owl-nav > div:hover {
    background-color: var(--e-global-color-primary) !important;
}

.client-reviews .sbr_carousel .sbr-owl-nav > div:hover::before {
    background-color: var(--white-color) !important;
}

.client-reviews .sbr_carousel .sbr-owl-nav {
    position: relative !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    margin-top: 20px !important;
}

.client-reviews .sbr_carousel .sbr-owl-nav > div {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    width: 66px !important;
    height: 46px !important;
    display: flex !important;
    align-items: center !important;
    background-color: var(--e-global-color-accent) !important;
    transition: background-color 0.3s ease-in-out !important;
}

.client-reviews .sbr_carousel .sbr-owl-nav > .sbr-owl-prev {
    clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0% 100%) !important;
    justify-content: flex-start !important;
    padding-left: 16px !important;
    padding-right: 0 !important;
}

.client-reviews .sbr_carousel .sbr-owl-nav > .sbr-owl-next {
    clip-path: polygon(calc(50% - 15px) 0, 100% 0%, 100% 100%, 0% 100%) !important;
    justify-content: flex-end !important;
    padding-right: 16px !important;
    padding-left: 0 !important;
}

.client-reviews .sbr_carousel .sbr-owl-nav > div:hover {
    background-color: var(--e-global-color-primary) !important;
}

.client-reviews .sbr_carousel .sbr-owl-nav > div:hover::before {
    background-color: var(--white-color) !important;
}

.client-reviews .sbr_carousel .sbr-owl-nav > .sbr-owl-prev {
    clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0% 100%) !important;
    justify-content: flex-start !important;
    padding-left: 16px !important;
    padding-right: 0 !important;
    margin-right: -10px !important;
}
.client-reviews .sbr_carousel .sbr-owl-nav {
    position: relative !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    margin-top: 20px !important;
    padding-right: 20px !important;
}

.client-reviews .sbr_carousel .sbr-owl-nav > div:hover {
    background-color: var(--white-color) !important;
}

.client-reviews .sbr_carousel .sbr-owl-nav > div:hover::before {
    background-color: var(--e-global-color-accent) !important;
}

@media only screen and (max-width: 1024px) {
    .client-reviews .sbr_carousel .sbr-owl-nav {
        justify-content: center !important;
        gap: 4px !important;
        padding-right: 0 !important;
    }
}

/************************************************************************************************/
.light-form-labels #gform_1 .gform-field-label {
    color: var(--white-color) !important;
}

.light-form-labels #gform_1 .gfield_required {
    color: var(--white-color) !important;
}

.light-form-labels input#gform_submit_button_1 {
    background-color: var(--e-global-color-secondary) !important;
    border: 2px solid var(--white-color) !important;
    color: var(--e-global-color-accent) !important;
    background-image:
        linear-gradient(var(--e-global-color-accent), var(--e-global-color-accent)),
        linear-gradient(var(--e-global-color-accent), var(--e-global-color-accent)) !important;
    background-size: 0% 100%, 0% 100% !important;
}

.light-form-labels input#gform_submit_button_1:hover {
    background-color: var(--white-color) !important;
    background-size: 50% 100%, 50% 100% !important;
    color: var(--white-color) !important;
}

html body .sbr_carousel .sbr-owl-nav > .sbr-owl-prev::before {
    -webkit-mask-image: url("./images/left-arrow-1.svg") !important;
    mask-image: url("./images/left-arrow-1.svg") !important;
}

html body .sbr_carousel .sbr-owl-nav > .sbr-owl-next::before {
    -webkit-mask-image: url("./images/right-arrow-2.svg") !important;
    mask-image: url("./images/right-arrow-2.svg") !important;
}


/***********************************************************************************************/
/* Services Carousel Arrows Fix */
/* Service post carousel arrows — match swiper button style */
.service-post-carousel .slick-arrow.next-arrow {
    background-color: var(--e-global-color-accent) !important;
    color: var(--e-global-color-secondary) !important;
    clip-path: polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0% 100%) !important;
    justify-content: flex-start !important;
    padding-left: 16px !important;
    padding-right: 0 !important;
}

.service-post-carousel .slick-arrow.next-arrow:hover {
    background: var(--e-global-color-primary) !important;
}

.service-post-carousel .slick-arrow.next-arrow svg {
    fill: var(--e-global-color-secondary) !important;
    transform: scaleX(-1);
}

.service-post-carousel .slick-arrow.next-arrow:hover svg {
    fill: var(--e-global-color-secondary) !important;
}

.service-post-carousel .slick-arrow.prev-arrow {
    background: var(--e-global-color-accent) !important;
    color: var(--e-global-color-secondary) !important;
    clip-path: polygon(calc(50% - 15px) 0, 100% 0%, 100% 100%, 0% 100%) !important;
    justify-content: flex-end !important;
    padding-right: 16px !important;
    padding-left: 0 !important;
}

.service-post-carousel .slick-arrow.prev-arrow:hover {
    background: var(--e-global-color-primary) !important;
}

.service-post-carousel .slick-arrow.prev-arrow svg {
    fill: var(--e-global-color-secondary) !important;
    transform: scaleX(-1);
}

.service-post-carousel .slick-arrow.prev-arrow:hover svg {
    fill: var(--e-global-color-secondary) !important;
}

@media only screen and (max-width: 1024px) {
    .service-post-carousel .slick-arrow.prev-arrow {
        right: var(--left-right-arrow) !important;
        left: auto !important;
		clip-path: polygon(calc(50% - 12px) 0, 100% 0%, 100% 100%, 0% 100%) !important;
    }

    .service-post-carousel .slick-arrow.next-arrow {
        right: auto !important;
        left: var(--left-right-arrow) !important;
		clip-path: polygon(0 0, 100% 0, calc(100% - 16px) 100%, 0% 100%) !important;
    }
}

/***********************************************************************************************/
/* Service Cards Button Placement All the Same */
/* Equal height service cards — pin button to bottom */
.service-boxes .services-box-content {
    flex: 1;
}

.service-boxes .services-box-content .services-footer {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.service-boxes .services-box-content .services-footer .services-btn {
    margin-top: auto;
}

