/* 
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.18
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{
	--white-color		: var(--e-global-color-ccce5b2);
	--light-bg-color	: var(--e-global-color-ec04dc8);
}

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

figure{
    line-height: 0;
}

p{
	margin-bottom: 1.5em;
}

.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-wrapper,
.elementor-widget-button .elementor-button .elementor-button-content-wrapper .elementor-button-icon{
	line-height: 0;
}

.elementor-widget-button .elementor-button{
	position: relative;
	overflow: hidden;
	transition: all 0.6s ease-in-out;
}

.elementor-widget-button .elementor-button:after{
	content: '';
    display: block;
    position: absolute;
    top: 50%;    
    left: 50%;
    width: 100%;
    height: 100%;
	transform: translate(-50%, -50%) scale(0);
    background: var(--e-global-color-primary);
    border-radius: 100px;
    transition: all 0.5s ease-in-out;
    z-index: 0;
}

.elementor-widget-button .elementor-button:hover:after,
.elementor-widget-button .elementor-button:focus:after{
	transform: translate(-50%, -50%) scale(1.1);
}

.elementor-widget-button .elementor-button .elementor-button-content-wrapper{
	position: relative;
	z-index: 1;
}

.elementor-widget-button .elementor-button .elementor-button-content-wrapper:before,
.elementor-widget-button .elementor-button .elementor-button-content-wrapper:after{
	content: '';
	position: absolute;
	top: -7px;
    left: -28px;
	background-color: currentcolor;
	clip-path: path('M11.9993 0.397217C10.117 1.01336 8.1162 1.98043 6.24708 3.40893C3.70714 5.35011 1.42768 8.13095 0.0195312 12H1.62389C2.9433 8.66829 4.95862 6.28157 7.15792 4.60072C8.73022 3.39907 10.4046 2.55246 11.9993 1.98253V0.397217Z');
	width: 14px;
	height: 14px;
}

.elementor-widget-button .elementor-button .elementor-button-content-wrapper:after{
	top: auto;
	left: auto;
	right: -30px;
    bottom: -9px;
	clip-path: path('M0.0192518 12C1.90157 11.3839 3.90235 10.4168 5.77148 8.98829C8.31141 7.04711 10.5909 4.26626 11.999 0.397168H10.3947C9.07525 3.72893 7.05994 6.11565 4.86063 7.7965C3.28834 8.99815 1.61399 9.84475 0.0192518 10.4147V12Z');
}

.no-bg.elementor-widget-button .elementor-button:after,
.no-bg.elementor-widget-button .elementor-button .elementor-button-content-wrapper:before,
.no-bg.elementor-widget-button .elementor-button .elementor-button-content-wrapper:after{
	display: none;
}

.no-bg.elementor-widget-button .elementor-button .elementor-button-icon svg{
	width: 8.5px;
}

.no-bg.elementor-widget-button .elementor-button .elementor-button-text{
	text-decoration: underline;
}

.page-header-breadcrumbs .elementor-icon-list-items .elementor-icon-list-item:after{
	transform: rotate(15deg);
}

/* 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;
}

.elementor-widget-text-editor p a:hover,
.elementor-widget-icon-box .elementor-icon-box-description a:hover,
.elementor-widget-image-box .elementor-image-box-description a:hover{
    text-decoration: underline;
}

/*  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;
}

/* Video CSS */
.elementor-custom-embed-play i, .elementor-custom-embed-play svg{
	opacity: 1;
	text-shadow: none;
	box-shadow: none;
}

/* Section Title */
.section-title h3.elementor-heading-title{
	position: relative;
	display: inline-block;
	padding-left: 30px;
}

.section-title h3.elementor-heading-title:before,
.section-title h3.elementor-heading-title:after{
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	background-color: currentcolor;
	border-radius: 0 100px 100px 0;
	width: 22px;
	height: 100%;
	transform: translateY(-50%);
	opacity: 0.2;
}

.section-title h3.elementor-heading-title:after{
	width: 11px;
	opacity: 1;
}

/* Border Section CSS */
.border-radius-section{}

.column-2 ul{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.column-2 ul li{
	width: calc(50% - 10px);
}


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

    .border-radius-section{
        width: calc(100% - 100px);
        margin: 0 50px;
    }
}

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

    .border-radius-section{
        width: calc(100% - 40px);
        margin: 0 20px;
    }
}

@media only screen and (max-width: 1024px) {
	
	.br-tablet-none br{
		display: none;
	}
	
	.border-radius-section{
        width: 100%;
        margin: 0;
        border-radius: 0px;
	}
	
	.elementor-widget-button .elementor-button .elementor-button-content-wrapper:before{
		top: -6px;
        left: -20px;
	}
	
	.elementor-widget-button .elementor-button .elementor-button-content-wrapper:after{
		right: -20px;
        bottom: -10px;
	}
	
	.page-header-breadcrumbs .elementor-icon-list-items .elementor-icon-list-item:after{
		height: 20px !important;
	}
}

@media only screen and (max-width: 767px) {
	
	.br-mobile-none br{
		display: none;
	}
	
	.elementor-widget-button .elementor-button .elementor-button-content-wrapper:before {
        top: -6px;
        left: -10px;
    }
	
	.elementor-widget-button .elementor-button .elementor-button-content-wrapper:after {
        right: -12px;
        bottom: -7px;
    }
	
	.page-header-breadcrumbs .elementor-icon-list-items .elementor-icon-list-item:after{
		height: 18px !important;
	}
	
	.column-2 ul{
		gap: 10px;
	}

	.column-2 ul li{
		width: 100%;
	}
}

/* 
 * Header CSS 
 * */

.main-header.elementor-sticky{
	transition: all 0.3s ease-in-out;
	filter: drop-shadow(0px 0px 5px rgba(0, 27, 68, 0.0));
}

.main-header.elementor-sticky.elementor-sticky--effects{
	filter: drop-shadow(0px 0px 5px rgba(0, 27, 68, 0.1));
}

.header-logo img{
	transition: all 0.3s ease-in-out;
}

.header-menu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, 
.header-menu .elementor-nav-menu__container.elementor-nav-menu--dropdown{
	transition: all 0.3s ease-in-out;
}

.main-header.elementor-sticky.elementor-sticky--effects .header-menu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, 
.main-header.elementor-sticky.elementor-sticky--effects .header-menu .elementor-nav-menu__container.elementor-nav-menu--dropdown{
	margin-top: 32px !important;
}


@media only screen and (max-width: 1024px) {
	
	.main-header.elementor-sticky.elementor-sticky--effects .header-menu .elementor-nav-menu__container.elementor-nav-menu--dropdown{
		margin-top: 28px !important;
	}
}

@media only screen and (max-width: 767px) {
	
/* 	.main-header.elementor-sticky.elementor-sticky--effects .header-logo img{
		max-width: 100px;
	} */
	
	
}

/* 
 * Footer CSS 
 * */

@media only screen and (max-width: 1024px){
	
	.footer-menu .elementor-nav-menu{
		margin: 0 auto;
		justify-content: center !important;
	}
}

@media only screen and (max-width: 767px){
	
	.footer-contact-icon-box .elementor-icon-box-title{
		word-break: break-all;
	}
}


/*
 * Home CSS 
 * */

.hero-icon-box-section{
	border: none !important;
	border-top-right-radius: 0;
    border-bottom-left-radius: 0;
	gap: 3.125vw;
}

.hero-icon-box-section:before{
	top: calc(var(--padding-top) / 2);
	left: calc(var(--padding-top) / 2);
	width: calc(100% - calc(var(--padding-top) / 2));
	height: calc(100% - calc(var(--padding-top) / 2));
}

.hero-icon-box-section .elementor-widget-icon{
	margin-top: 3.125vw;
}

.home-about-img:before{
	position: absolute;
	top: 0;
	left: 0;
	mask-image: url("./images/home-about-img.svg");
	mask-position: bottom left;
	mask-repeat: no-repeat;
	mask-size: auto 100%;
	width: 100%;
	height: 100%;
}

.Home-icon-box{
	position: relative;
	overflow: hidden;	
}

.Home-icon-box::after{
    content: '';
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    background-color: var(--light-bg-color);
    height: 100%;
    width: 100%;
    z-index: -1;
    transition: all 0.4s ease-in-out;
}

.Home-icon-box:hover::after{
	top: 0;
}

.concept-img-1 img{
	aspect-ratio: 1 / 1.03;
	object-fit: cover;
}

.concept-img-2 img{
	aspect-ratio: 1 / 0.85;
	object-fit: cover;
}

.why-choose-video .elementor-wrapper svg{
	opacity: 1;
	filter: none;
}

.why-choose-video .elementor-wrapper{
	--video-aspect-ratio: 1 / 1.2 !important;
}

.why-choose-icon-box .elementor-icon-box-content{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.why-choose-icon-box .elementor-icon-box-content h3{
	width: calc(37% - 15px);
}

.why-choose-icon-box .elementor-icon-box-content p{
	width: calc(63% - 15px);
}

.who-we-work-logoes .elementor-widget-container{
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.why-choose-service-icon-box .elementor-widget-container{
	clip-path: polygon(0 0, 100% 30%, 100% 100%, 0% 100%);
}

.maintenance-packages-item .elementor-cta .elementor-ribbon{
	transform: rotate(0deg);
	width: auto ;
	height: auto;
}

.maintenance-packages-item .elementor-cta .elementor-ribbon.elementor-ribbon-left,
.maintenance-packages-item .elementor-cta .elementor-ribbon.elementor-ribbon-right{
	left: 100px;
    right: auto;
    top: 0;
}

.maintenance-packages-item .elementor-cta .elementor-ribbon .elementor-ribbon-inner{
	transform: unset !important;
	width: auto;
	padding: 5px 10px;
	border-radius: 100px;
}

.maintenance-packages-item .elementor-cta__button-wrapper{
	line-height: 0;
}

.maintenance-packages-item .elementor-cta__button,
.maintenance-packages-item .elementor-cta__button:hover{
	background-image: url("./images/right-arrow-icon.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 16px auto;
	height: 40px;
	width: 40px
}

.request-box-img .elementor-widget-container{
	position: relative;
}

.request-box-img .elementor-widget-container:before{
	content: '';
	position: absolute;
	top: auto;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 200px;
	background: linear-gradient(180deg, rgba(244, 244, 244, 0.00) 39.98%, #F4F4F4 89.99%);
}

.call-request-box:before{
	top: -10px;
	left: -10px;
}

.call-request-box .elementor-icon-box-icon .elementor-icon{
	border-color: var( --e-global-color-primary) !important;
}

.dark-bg.call-request-box .elementor-icon-box-icon .elementor-icon{
	border-color: currentcolor !important;
}

.call-request-box .elementor-button-icon svg{
	width: 24px;
}

.dark-bg.call-request-box .elementor-widget-button .elementor-button:after{
	background: var(--e-global-color-accent);
}

/* Google Review CSS */

.google-review-style #sb-reviews-container-1{
	filter: drop-shadow(0px 0px 30px rgba(0, 0, 0, 0.10));
}

.google-review-style .sbr-owl-stage{
	padding: calc( var(--column-gutter) / 2 ) 0 !important;
}

.google-review-style .sbr-owl-item{
	padding: calc( var(--column-gutter) / 2 ) !important;
}

.google-review-style .sb-post-item{
    padding: 30px;
}

.google-review-style .sb-post-item .sb-item-provider-icon{
    display: none;
}

.google-review-style .sb-post-item .sb-item-author-date-ctn{
	padding-right: 0 !important;
}

.google-review-style .sb-post-item .sb-item-author-date-ctn .sb-item-author-ctn{
    align-items: center;
	gap: 10px;
}

.google-review-style .sb-post-item .sb-item-author-date-ctn .sb-item-author-ctn .sb-item-author-img{
	width: 80px;
    min-width: 80px;
    height: 80px;
}

.google-review-style .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;
}

.google-review-style .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-secondary-font-family), Sans-serif;    
    text-transform: none;
}

.google-review-style .sb-post-item .sb-item-rating{
    margin: 30px 0 !important;
}

.google-review-style .sb-post-item .sb-item-rating .sb-relative{
	line-height: 0;
}

.google-review-style .sb-post-item .sb-item-rating .sb-relative .sb-item-rating-ctn .sb-item-rating-icon svg{
    margin: 0 6px;
}

.google-review-style .sb-post-item .sb-item-text{
    color: var(--e-global-color-text) !important;
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
}

.google-review-style .sb-post-item .sb-item-text a{
	color: inherit;
}

.google-review-style .sbr_carousel .sbr-owl-nav > div{
	--google-review-arrow: -100px;
	top: 50%;
    left: var(--google-review-arrow);
	display: flex;
    align-items: center;
    justify-content: center;
    background: var(--e-global-color-accent);
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: 16px auto !important;
	color: var(--e-global-color-4aaecb4);
    padding: 0;
    margin: 0;
	width: 50px;
    height: 50px;
    transform: translateY(-50%) !important;
	transition: all 0.3s ease-in-out;
}

.google-review-style .sbr_carousel .sbr-owl-nav > div svg{
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
}

.google-review-style .sbr_carousel .sbr-owl-nav > .sbr-owl-prev{
	background-image: url("./images/prev-icon.svg") !important;
}

.google-review-style .sbr_carousel .sbr-owl-nav > .sbr-owl-next{
	left: auto;
	right: var(--google-review-arrow);
	background-image: url("./images/next-icon.svg") !important;
}

.google-review-style .sbr_carousel:hover .sbr-owl-nav > div{
	background: 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);
}

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

	.hero-heading .elementor-heading-title{
		font-size: 130px !important;
	}
	
	.hero-content.elementor-widget-text-editor p{
		font-size: 22px;
	}
	
	.google-review-style .sbr_carousel .sbr-owl-nav > div{
		--google-review-arrow: -50px;
	}
}

@media only screen and (max-width: 1510px) {
	
	.hero-container{
		--width: 70%;
	}

	.hero-heading .elementor-heading-title{
		font-size: 130px !important;
	}	
	
}

@media only screen and (max-width: 1440px){
	
	.google-review-style .sbr_carousel{
		padding-bottom: 80px;
	}
	
	.google-review-style .sbr_carousel .sbr-owl-nav > div{
		--google-review-arrow: calc(50% - 60px);
		top: auto;
		bottom: 0;
		transform: translateY(0) !important;
	}
}

@media only screen and (max-width: 1024px) {
	
	.hero-container{
		--width: 100%;
	}
	
	.hero-heading .elementor-heading-title{
		font-size: 100px !important;
	}	
	
	.hero-content.elementor-widget-text-editor p {
        font-size: 20px;
    }
	
	.home-about-img:before{
		mask-size: cover;
	}
	
	.maintenance-packages-item .elementor-cta .elementor-ribbon{
		width: 70px;
	}

	.maintenance-packages-item .elementor-cta .elementor-ribbon.elementor-ribbon-left,
	.maintenance-packages-item .elementor-cta .elementor-ribbon.elementor-ribbon-right{
		left: auto;
		right: 0;
	}
	
	.maintenance-packages-item .elementor-cta .elementor-ribbon .elementor-ribbon-inner{
		border-radius: 10px;
	}
	
	.call-request-box:before{
		top: -5px;
		left: -5px;
	}	
	
	/* Google Review Testimonial CSS */
	
	.google-review-style .sbr_carousel{
		padding-bottom: 60px;
	}
	
	.google-review-style #sb-reviews-container-1{
		--column-gutter: 20px;
	}
	
	.google-review-style .sb-post-item{
		padding: 15px;
	}
	
	.google-review-style .sb-post-item .sb-item-author-date-ctn .sb-item-author-ctn .sb-item-author-img{
		width: 60px;
    	min-width: 60px;
    	height: 60px;
	}
	
	.google-review-style .sb-post-item .sb-item-rating{
		margin: 20px 0 !important;
	}

	.google-review-style .sb-post-item .sb-item-author-date-ctn .sb-item-author-ctn .sb-item-name-date .sb-item-author-name{
        font-size: 18px !important;
    }

    .google-review-style .sb-post-item .sb-item-author-date-ctn .sb-item-author-ctn .sb-item-name-date .sb-item-author-date{
        font-size: 14px !important;
	}	

	.google-review-style .sbr_carousel .sbr-owl-nav > div{
		--google-review-arrow: calc(50% - 60px);
	}
}

@media only screen and (max-width: 767px) {
	
	.hero-heading .elementor-heading-title{
		font-size: 50px !important;
	}	
	
	.hero-content.elementor-widget-text-editor p {
        font-size: 18px;
    }
	
	.hero-icon-box-section .elementor-widget-button .elementor-button .elementor-button-content-wrapper:before{
		left: -7px;
	}
	
	.hero-icon-box-section .elementor-widget-button .elementor-button .elementor-button-content-wrapper:after{
		right: -8px;
	}
	
	.concept-img-1 img{
		aspect-ratio: 1 / 1.15;	
	}
	
	.why-choose-icon-box .elementor-icon-box-content{
		gap: 10px;
	}
	
	.why-choose-icon-box .elementor-icon-box-content h3,
	.why-choose-icon-box .elementor-icon-box-content p{
		width: 100%;
	}
	
	.why-choose-service-icon-box .elementor-widget-container {
		clip-path: polygon(0 0, 100% 25%, 100% 100%, 0% 100%);
	}
	
	.maintenance-packages-item .elementor-cta .elementor-icon-wrapper{
		margin-bottom: 15px !important;
	}
	
	.maintenance-packages-item .elementor-cta .elementor-icon{
		font-size: 60px !important;
	}
	
	.maintenance-packages-item .elementor-cta .elementor-ribbon{
		width: 60px;
	}
	
	.maintenance-packages-item .elementor-cta__button,
	.maintenance-packages-item .elementor-cta__button:hover{
		background-size: 14px auto;
		height: 32px;
		width: 32px;
	}
	
	.request-box-img .elementor-widget-container:before{
		height: 150px;
	}
	
	.call-request-box .elementor-button-icon svg{
		width: 20px;
	}
	
	/* Google Review Testimonial CSS */
	
	.google-review-style .sbr_carousel{
		padding-bottom: 50px;
	}
	
	.google-review-style .sb-post-item .sb-item-author-date-ctn .sb-item-author-ctn .sb-item-author-img{
		width: 50px;
    	min-width: 50px;
    	height: 50px;
	}
	
	.google-review-style .sb-post-item .sb-item-rating{
		margin: 15px 0 !important;
	}	

	.google-review-style .sbr_carousel .sbr-owl-nav > div{
		--google-review-arrow: calc(50% - 50px);
		width: 40px;
    	height: 40px;
		background-size: 14px auto !important;
	}
}


/*
 *  About Us Page CSS
 * */

.about-page-about-img{
	height: 100%;
}

.about-page-about-img img{
	aspect-ratio: 1 / 1.01;
	object-fit: cover;
}

.about-icon-box{
	right: -30px;
	bottom: -30px;
}

.about-icon-box .elementor-icon-box-icon{
	text-align: right;
}

.about-counter-section:before{
	backdrop-filter: blur(2.5px);
}

.about-counter .elementor-counter-title{
	text-align: center;
}

.team-img .elementor-widget-container{
	position: relative;
}

.team-img .elementor-widget-container:after{
	
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: rgb(from var(--e-global-color-primary) r g b / 50%);
	backdrop-filter: blur(2.5px);
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease-in-out;
}

.team-img-box:hover .team-img .elementor-widget-container:after{
	opacity: 1;
	visibility: visible;
}

.team-img img{
	aspect-ratio: 1 / 1.23;
	object-fit: cover;
}

.team-icon-list{
	opacity: 0;
	visibility: hidden;
	transform: translate(-50% , 40px);
	transition: all 0.4s ease-in-out;
	width: 100%;
}

.team-img-box:hover .team-icon-list{
	opacity: 1;
	visibility: visible;
	transform: translate(-50% , 0);
}

.team-icon-box{
	transition: all 0.3s ease-in-out;
}

.team-img-box:hover .team-icon-box{
	filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

.why-choose-us-icon-box .elementor-widget-icon-box .elementor-icon{
	position: relative;
	overflow: hidden;
}

.why-choose-us-icon-box .elementor-widget-icon-box .elementor-icon:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--e-global-color-secondary);
	transform: scale(0);
	height: 100%;
	width: 100%;
	border-radius: 50%;
	transition: all 0.3s ease-in-out;
}

.why-choose-us-icon-box:hover .elementor-widget-icon-box .elementor-icon:before{
	transform: scale(1);
}	

.why-choose-us-icon-box:hover .elementor-widget-icon-box .elementor-icon{
	color: #FFFFFF !important;
	border-color: var(--e-global-color-secondary);
}

.why-choose-us-icon-box .elementor-widget-image img{
	aspect-ratio: 1 / 0.755;
    object-fit: cover;
}

.request-img-box.request-box-img .elementor-widget-container:before{
	background: linear-gradient(180deg, rgba(244, 244, 244, 0.00) 39.98%, #016F85 100%);
}

.about-faq-style .e-n-accordion-item-title{
	transition: all 0.3s ease-in-out;	
}

.about-faq-style .e-n-accordion-item-title-header{
	width: calc(100% - 50px)
}

.about-faq-style .e-n-accordion-item-title-icon{
	justify-content: center;
	background: var(--e-global-color-accent);
	width: 40px;
	height: 40px;
}

.about-faq-style .e-n-accordion-item:hover .e-n-accordion-item-title-icon,
.about-faq-style .e-n-accordion-item[open] .e-n-accordion-item-title-icon{
	background: var(--white-color);
}

/* Our Process*/ 
.process-box{
	counter-reset: section;
}

.process-icon-box:before{
	content: "";
	position: absolute;
	top: -40px;
	left: 0;
	bottom: 0;
	right: 0;
	background: var(--e-global-color-secondary);
	border-radius: 50%;
	width: 20px;
	height: 20px;
	opacity: 1;
}

.process-icon-box:after{
	counter-increment: section;
    content: "STEP 0" counter(section);	
	position: absolute;
	top: -80px;
	left: 0;
	font-family: var(--e-global-typography-text-font-family);
	font-size: var(--e-global-typography-text-font-size);
	font-weight: var(--e-global-typography-secondary-font-weight);
	line-height: var(--e-global-typography-text-line-height);
	letter-spacing: 1.6px;
	color: var(--e-global-color-secondary);
	z-index: 1;
}

.process-icon-box .elementor-icon-box-wrapper{
	position: relative;
}

.process-icon-box .elementor-icon-box-wrapper .elementor-icon{
	position: relative;
	width: 70px;
	height: 70px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.process-icon-box .elementor-icon-box-wrapper .elementor-icon:before{
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--e-global-color-secondary);
    transform: scale(0);
    height: 100%;
    width: 100%;
    border-radius: 50%;
	transition: all 0.4s ease-in-out;
}

.process-icon-box:hover .elementor-icon-box-wrapper .elementor-icon:before,
.process-icon-box.active .elementor-icon-box-wrapper .elementor-icon:before{
	transform: scale(1);
}

.process-icon-box:hover .elementor-icon-box-wrapper .elementor-icon svg,
.process-icon-box.active .elementor-icon-box-wrapper .elementor-icon svg{
	color: #FFFFFF;
}

.process-icon-box .elementor-icon-box-description{
	position: absolute;
    left: 0;
    right: auto;
    top: auto;
    bottom: auto;
    border-left: 2px solid var(--e-global-color-secondary);
	margin-top: 20px;
    padding-left: 15px;
	transition: all 0.4s ease-in-out;
	opacity: 0;
    visibility: hidden;
}

.process-icon-box:hover .elementor-icon-box-description,
.process-icon-box.active .elementor-icon-box-description{
	visibility: visible;
	opacity: 1;
}

@media only screen and (max-width: 1400px){
	
	.about-icon-box{
		right: 10px;
		bottom: 10px;
	}
}

@media only screen and (max-width: 1024px){
	
	.about-page-about-img,
	.about-page-about-img img{
		height: auto;
	}
	
	.team-img img{
		aspect-ratio: 1 / 1.1;
	}
	
	.why-choose-us-icon-box .elementor-widget-image img{
		aspect-ratio: 1 / 0.66;
	}
	
	.process-icon-box:before{
		display: none;	
	}
	
	.process-icon-box:after{
		top: 0;	
	}
	
	.process-icon-box:hover .elementor-icon-box-wrapper .elementor-icon:before,
	.process-icon-box .elementor-icon-box-wrapper .elementor-icon:before{
		transform: scale(1);
	}
	
	.process-icon-box .elementor-icon-box-wrapper .elementor-icon svg,
	.process-icon-box:hover .elementor-icon-box-wrapper .elementor-icon svg{
		color: #FFFFFF;
	}
	
	.process-icon-box .elementor-icon-box-description{
		position: initial;
		opacity: 1;
		visibility: visible;
		border: none;
		padding: 0;
		margin-top: 0;
	}
	
}

@media only screen and (max-width: 767px){
	
	.about-page-about-img img{
		aspect-ratio: 1 / 1.1;
	}
	
	.about-faq-style .e-n-accordion-item-title-header{
		width: calc(100% - 40px)
	}
	
	.about-faq-style .e-n-accordion-item-title-icon{
		width: 30px;
		height: 30px;
	}
	
	.process-icon-box:after{
		font-size: 14px;
		left: 50%;
		transform: translateX(-50%);
	}
	
	.process-icon-box .elementor-icon-box-wrapper .elementor-icon-box-icon{
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	.process-icon-box .elementor-icon-box-wrapper .elementor-icon{
		width: 60px;
    	height: 60px;
	}
}

/* 
 * Our Service Page CSS
 * */

.services-page-about-img img{
	aspect-ratio: 1 / 0.89;
    object-fit: cover;
	clip-path: polygon(70px 0px, 100% 0px, 100% calc(100% - 70px), calc(100% - 70px) 100%, 0px 100%, 0px 70px);
}

.servcies-horizontal-img img{
	aspect-ratio: 1 / 0.385;
    object-fit: cover;
}

.faq-img-1 img{
	object-fit: cover;
	aspect-ratio: 1 / 1.03;
}

.faq-img-2 .elementor-widget-container:before{
	content: '';
	position: absolute;
	top: -20px;
	left: -20px;
	background: #F4F4F4;
	width: calc(100% - 5px);
	height: calc(100% - 5px);
	z-index: -1;
}

.faq-img-2 img{
	object-fit: cover;
	aspect-ratio: 1 / 1.14;
}

.service-faq-style .e-n-accordion-item-title{
	transition: all 0.3s ease-in-out;	
}


@media only screen and (max-width: 1024px){
	
	.servcies-horizontal-img img{
		aspect-ratio: 1 / 0.5;
	}
	
	.faq-img-2 .elementor-widget-container:before{
		top: -15px;
		left: -15px;
	}

}

@media only screen and (max-width: 767px){
	
	.services-page-about-img img{
		aspect-ratio: 1 / 1.1;
		clip-path: polygon(35px 0px, 100% 0px, 100% calc(100% - 35px), calc(100% - 35px) 100%, 0px 100%, 0px 35px);
	}

	.servcies-horizontal-img img{
		aspect-ratio: 1 / 0.66;
	}
	
	.faq-img-1 img {
		aspect-ratio: 1 / 1.1;
	}
	
	.faq-img-2 .elementor-widget-container:before{
		top: -5px;
		left: -5px;
	}
	
	.faq-img-2 img{
		aspect-ratio: 1 / 1.05;
	}
}

/* 
 * Vinyl Pool Installation CSS
 * */

.service1-about-img:before{
	content: '';
    position: absolute;
    top: auto;
    left: 0;
    bottom: 0;
    background-color: rgb(from var(--e-global-color-accent) r g b / 20%);
    width: calc(100% - 120px);
    height: calc(100% - 120px);
    transform: translate(-25px, 25px);
    z-index: -1;
}

.service1-about-img img{
	aspect-ratio: 1 / 0.94;
	object-fit: cover;
}

.service1-about-icon{
	height: var(--container-widget-width);
}

.service1-about-icon .elementor-widget-container{
	display: flex;
	align-items: center;
	justify-content: center;
}

.vinyal-pool-project-tab .e-n-tabs{
	filter: drop-shadow(0px 0px 30px rgba(0, 0, 0, 0.15));
}

.current-projects-img-1 img{
	aspect-ratio: 1 / 0.95;
	object-fit: cover;
}

.vinyal-pool-pricing-tablet .elementor-price-table{
	text-align: left;
}

.vinyal-pool-pricing-tablet .elementor-price-table__header h3{
	margin-bottom: 15px;
}

.vinyal-pool-pricing-tablet .elementor-price-table .elementor-price-table__price{
	border-bottom: 1px solid #D9D9D9;
	justify-content: flex-start;
}

.vinyal-pool-pricing-tablet .elementor-price-table__features-list li .elementor-price-table__feature-inner{
	margin: 0;
}

.vinyal-pool-pricing-tablet .elementor-price-table__features-list li .elementor-price-table__feature-inner i{
	font-size: inherit;
	margin-inline-end: 6px;
}

.vinyal-pool-pricing-tablet .elementor-price-table__footer a{
	position: relative;
	padding: 10px 25px;
}

.vinyal-pool-pricing-tablet .elementor-price-table__footer a:before,
.vinyal-pool-pricing-tablet .elementor-price-table__footer a:after{
	content: '';
    position: absolute;
    top: 5px;
    left: 7px;
    background-color: currentcolor;
    clip-path: path('M11.9993 0.397217C10.117 1.01336 8.1162 1.98043 6.24708 3.40893C3.70714 5.35011 1.42768 8.13095 0.0195312 12H1.62389C2.9433 8.66829 4.95862 6.28157 7.15792 4.60072C8.73022 3.39907 10.4046 2.55246 11.9993 1.98253V0.397217Z');
    width: 14px;
    height: 14px;
}

.vinyal-pool-pricing-tablet .elementor-price-table__footer a:after{
	top: auto;
    left: auto;
    right: 6px;
    bottom: 3px;
    clip-path: path('M0.0192518 12C1.90157 11.3839 3.90235 10.4168 5.77148 8.98829C8.31141 7.04711 10.5909 4.26626 11.999 0.397168H10.3947C9.07525 3.72893 7.05994 6.11565 4.86063 7.7965C3.28834 8.99815 1.61399 9.84475 0.0192518 10.4147V12Z');
}

.vinyal-pool-pricing-tablet .elementor-price-table__ribbon.elementor-ribbon-right,
.vinyal-pool-pricing-tablet .elementor-price-table__ribbon.elementor-ribbon-left{
	left: auto;
    right: 0;
    transform: rotate(0deg);
	width: auto;
    height: auto;
}

.vinyal-pool-pricing-tablet .elementor-price-table__ribbon .elementor-price-table__ribbon-inner{
	margin-top: 0;
	transform: translateY(0) translateX(0) translateX(0) rotate(0deg);
	width: auto;
    height: auto;
	padding: 7px 10px;
}

@media only screen and (max-width: 1366px){
	
	.service1-about-img:before{
		transform: translate(-15px, 15px);
	}
}

@media only screen and (max-width: 1024px){
	
	.service1-about-img:before{
		transform: translate(-15px, 15px);
	}

	.vinyal-pool-pricing-table .elementor-price-table__price{
		margin-bottom: 15px;	
	}
}

@media only screen and (max-width: 767px){
	
	.vinyl-pool-abou-img-2 img {
		aspect-ratio: 1 / 1.35;
	}
	
	.service1-about-img:before {
		width: calc(100% - 60px);
		height: calc(100% - 60px);
	}
	
	.elementor-element.vinyal-pool-project-tab .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ),
	.vinyal-pool-project-tab .e-n-tabs .e-n-tab-title{
		background-color: var( --white-color ) !important;	
	}
	
	.vinyal-pool-pricing-tablet .elementor-price-table__ribbon .elementor-price-table__ribbon-inner{
		padding: 4px 10px;
	}
}	

/*
 * Painting CSS
 * */

.blur-section:before{
	backdrop-filter: blur(10px);
}

.pool-work-plan-icon-box-container{
	counter-reset: section;
}

.pool-work-plan-icon-box .elementor-icon-box-wrapper{
	position: relative;
	counter-increment: section;
}

.pool-work-plan-icon-box:nth-of-type(odd) .elementor-icon-box-wrapper{
	padding-bottom: 80px;
}

.pool-work-plan-icon-box:nth-of-type(even) .elementor-icon-box-wrapper{
	padding-top: 80px;
}

.pool-work-plan-icon-box .elementor-icon-box-wrapper:before{
	content: "0" counter(section) "";
	position: absolute;
	bottom: 0;
	left: 50%;
	font-family: var(--e-global-typography-secondary-font-family);
	font-size: var(--e-global-typography-secondary-font-size);
	font-weight: var(--e-global-typography-secondary-font-weight);
	line-height: 1em;
	color: rgb(from var(--e-global-color-secondary) r g b / 30%);
	z-index: 1;
	transform: translateX(-50%);
}

.pool-work-plan-icon-box:nth-of-type(even) .elementor-icon-box-wrapper:before{
	top: -10px;
	bottom: auto;
}

.pool-work-plan-icon-box .elementor-icon-box-wrapper{
	flex-direction: column-reverse !important;
}

.pool-work-plan-icon-box:nth-of-type(even) .elementor-icon-box-wrapper{
	flex-direction: column !important;
}

.pool-work-plan-icon-box .elementor-icon{
	filter: drop-shadow(0px 0px 30px rgba(0, 0, 0, 0.15));
}

.pool-work-plan-icon-box:nth-of-type(odd) .elementor-icon{
	border-top: 5px solid currentcolor;
	border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

.pool-work-plan-icon-box:nth-of-type(even) .elementor-icon{
	border-bottom: 5px solid currentcolor;
	border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.pool-work-plan-icon-box .elementor-icon-box-icon{
	margin: var(--icon-box-icon-margin,15px) auto 0 !important;
}

.pool-work-plan-icon-box:nth-of-type(even) .elementor-icon-box-icon{
	margin: 0 auto var(--icon-box-icon-margin,15px) !important;
}

@media only screen and (max-width: 1024px) {
	
	.pool-maintenance-about-img-1 img {
		aspect-ratio: 1 / 1.85;
	}
	
	.pool-work-plan-icon-box:nth-of-type(odd) .elementor-icon-box-wrapper{
		padding-bottom: 70px;
	}
	
	.pool-work-plan-icon-box:nth-of-type(even) .elementor-icon-box-wrapper{
		padding-top: 70px;
	}
}

@media only screen and (max-width: 767px){
	
	.pool-maintenance-about-img-1 img {
        aspect-ratio: 1 / 1.89;
    }

	.pool-service-img-1 img{
		aspect-ratio: 1 / 1.82;
	}
	
	.pool-work-plan-icon-box .elementor-icon-box-wrapper{
		flex-direction: column !important;
	}
	
	.pool-work-plan-icon-box:nth-of-type(odd) .elementor-icon-box-wrapper{
		padding-top: 50px;
		padding-bottom: 0;
	}
	
	.pool-work-plan-icon-box:nth-of-type(even) .elementor-icon-box-wrapper{
		padding-top: 50px;
	}
	
	.pool-work-plan-icon-box .elementor-icon-box-wrapper:before,
	.pool-work-plan-icon-box:nth-of-type(even) .elementor-icon-box-wrapper:before{
		top: 0;
		bottom: auto;
	}
	
	.pool-work-plan-icon-box .elementor-icon-box-icon{
		margin: 0 auto var(--icon-box-icon-margin, 15px) !important;
	}
	
	.pool-work-plan-icon-box:nth-of-type(odd) .elementor-icon{
		border-top: none;
    	border-top-left-radius: 50% !important;
    	border-top-right-radius: 50% !important;
	}
	
	.pool-work-plan-icon-box .elementor-icon{
		border-bottom: 5px solid currentcolor;
    	border-bottom-left-radius: 0 !important;
    	border-bottom-right-radius: 0 !important;
	}
}

/*
 * Contact Us CSS
 * */

.contact-cta-box .elementor-cta,
.contact-cta-box .elementor-cta__bg-wrapper,
.contact-cta-box .elementor-cta__bg-wrapper .elementor-cta__bg,
.contact-cta-box .elementor-cta__bg-overlay,
.contact-cta-box .elementor-content-item,
.contact-cta-box .elementor-cta__content,
.contact-cta-box .elementor-cta__content svg{
	transition: all 0.3s ease-in-out;	
}

.contact-cta-box .elementor-cta__bg{
	opacity: 0.05;
	z-index: 2;
}

.contact-cta-box .elementor-cta__bg-overlay{
	z-index: 0;
}

.contact-cta-box:hover .elementor-cta__content svg,
.contact-cta-box:hover .elementor-cta__content .elementor-cta__title,
.contact-cta-box:hover .elementor-cta__content .elementor-cta__description,
.contact-cta-box:hover .elementor-cta__content .elementor-cta__description strong{
	color: var(--white-color);
}

.contact-cta-box .elementor-cta__content .elementor-cta__description{
	word-break: break-all;
}

.contact-cta-box .elementor-cta__content .elementor-cta__description p:last-child{
	margin-bottom: 0;
}

.contact-cta-box .elementor-cta__content .elementor-cta__description strong,
.contact-cta-box .elementor-cta__content .elementor-cta__description b{
	color: var(--e-global-color-secondary);
	transition: all 0.3s ease-in-out;
}

.contact-img{
	height: 100%;
}

.contact-img img{
	aspect-ratio: 1 / 1.14;
	object-fit: cover;
}

@media only screen and (max-width: 1024px) {
	
	.contact-img,
	.contact-img img{
		height: auto;
	}
}

@media only screen and (max-width: 767px){
	
	.contact-cta-box .elementor-cta .elementor-content-item{
		margin-bottom: 15px;
	}
	
	.contact-cta-box .elementor-cta .elementor-icon{
		font-size: 50px !important;
	}
	
	.contact-cta-box .elementor-cta__content .elementor-cta__description{
		word-break: break-all;
	}
}

/*
 * Blog Archive CSS
 * */

.featured-blog-wrap{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: repeat(2, 1fr);
	gap: 30px;
	margin-bottom: 60px;
}

.featured-blog-wrap .featured-blog-box:first-child{
	grid-column: 1 / 2;
	grid-row: 1 / 3;
}

.featured-blog-wrap .featured-blog-box:nth-of-type(2){
	grid-column: 2 / 3;
	grid-row: 1 / 2;
}

.featured-blog-wrap .featured-blog-box:nth-of-type(3){
	grid-column: 2 / 3;
	grid-row: 2 / 3;
}

.featured-blog-wrap .featured-blog-box:not(:first-child){
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 24px;
}

.featured-blog-wrap .featured-blog-box:not(:first-child) .featured-blog-img-wrap,
.featured-blog-wrap .featured-blog-box:not(:first-child) .featured-blog-body{
	width: calc(50% - 12px);
}

.featured-blog-wrap .featured-blog-box .featured-blog-img-wrap{
	position: relative;
	margin-bottom: 30px;
}

.featured-blog-wrap .featured-blog-box:not(:first-child) .featured-blog-img-wrap{
	margin-bottom: 0;
}

.featured-blog-wrap .featured-blog-box:not(:first-child) .featured-blog-img-wrap,
.featured-blog-wrap .featured-blog-box:not(:first-child) .featured-blog-img-wrap .featured-blog-image,
.featured-blog-wrap .featured-blog-box:not(:first-child) .featured-blog-img-wrap .featured-blog-image a,
.featured-blog-wrap .featured-blog-box:not(:first-child) .featured-blog-img-wrap .featured-blog-image figure{
	height: 100%;
}

.featured-blog-box .featured-blog-img-wrap .featured-blog-image  a{
	display: block;
}

.featured-blog-box .featured-blog-img-wrap .featured-blog-image img{
	width: 100%;
	aspect-ratio: 1 / 0.66;
    object-fit: cover;
}

.featured-blog-wrap .featured-blog-box:not(:first-child) .featured-blog-img-wrap img{
	height: 100%;
}

.featured-blog-box .featured-blog-img-wrap .blog-category{
	position: absolute;
	top: 20px;
	left: 20px;
	width: auto;
}

.featured-blog-box .featured-blog-img-wrap .blog-category a{
	display: block;
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-size: 14px;
    font-weight: 500;
    line-height: 1.6em;
    letter-spacing: 1.4px;
	text-transform: uppercase;
    background: var(--e-global-color-accent);
	color: #FFF;
    padding: 5.5px 15px;
	z-index: 1;
}

.featured-blog-box:not(:first-child) .featured-blog-img-wrap .blog-category a{
	font-size: 12px;
}

.featured-blog-body .blog-meta ul{
	list-style: none;
	display: flex;
    align-items: center;
    flex-wrap: wrap;
	gap: 15px;
	padding: 0;
	margin: 0 0 20px;
}

.featured-blog-body .blog-meta ul li{
	position: relative;
	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);
    text-transform: var(--e-global-typography-text-text-transform);
    font-style: var(--e-global-typography-text-font-style);
    line-height: var(--e-global-typography-text-line-height);
}

.featured-blog-box:not(:first-child) .featured-blog-body .blog-meta ul li{
	font-size: 14px;
}

.featured-blog-body .blog-meta ul li:not(:last-child):before{
	content: '';
	position: absolute;
	top: 50%;
	left: auto;
	right: -7.5px;
	background-color: currentcolor;
	width: 1px;
	height: 60%;
	transform: translateY(-50%) rotate(15deg);
}

.featured-blog-body .blog-meta ul li a{
	color: inherit;
}

.featured-blog-body .blog-meta ul li.blog-author a{
	display: flex;
    align-items: center;
	gap: 8px;
}

.featured-blog-body .blog-meta ul li.blog-author a img{
	width: 30px;
	aspect-ratio: 1 / 1;
    object-fit: contain;
	border-radius: 0;
}

.featured-blog-box:not(:first-child) .featured-blog-body .blog-meta ul li.blog-author a img{
	width: 20px;
}

.featured-blog-body .blog-title{
	margin-bottom: 20px;
}

.featured-blog-body .blog-title h1{
	font-size: 26px;
	display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.featured-blog-box:first-child .featured-blog-body .blog-desc{
	display: none;
}

.featured-blog-body .blog-desc{
	margin-bottom: 20px;
}

.featured-blog-body .blog-desc p{
	display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.featured-blog-body .blog-button a{
	position: relative;
	font-family: var(--e-global-typography-accent-font-family), Sans-serif;
    font-size: var(--e-global-typography-accent-font-size);
    font-weight: var(--e-global-typography-accent-font-weight);
    text-transform: var(--e-global-typography-accent-text-transform);
    font-style: var(--e-global-typography-accent-font-style);
    line-height: var(--e-global-typography-accent-line-height);
	color: var(--e-global-color-accent);
	background: url("./images/post-btn-arrow.svg") no-repeat right top 6px;
	background-size: 12px auto;
	padding-right: 20px;
}

/* Loop Grid CSS */

.blog-post-featured-img a{
	display: block;
}

.blog-post-featured-img img{
	aspect-ratio: 1 / 0.98;
    object-fit: cover;
}

.blog-post-category ul li .elementor-post-info__item--type-terms span{	
	font-size: 0 !important;
}

.blog-post-category ul li .elementor-post-info__item--type-terms span a{
	display: none !important;
	font-size: 14px !important;
	font-weight: 500;
	line-height: 1.6em;
	letter-spacing: 1.4px;
	background: var(--e-global-color-accent);
	padding: 5.5px 15px;
}

.blog-post-category ul li .elementor-post-info__item--type-terms span a:first-child{
	display: inline-block !important;
}

.blog-post-loop-author{
	height: var(--container-widget-width);
}

.blog-post-loop-author .author-profile-photo img{
	border-radius: 0;
}

.author-profile-photo img{
	width: 100%;
	aspect-ratio: 1 / 1;
    object-fit: contain;
}

.blog-post-loop-date .elementor-icon-list-items .elementor-icon-list-item:after{
	transform: rotate(15deg);
}

.blog-post-btn.no-bg.elementor-widget-button .elementor-button .elementor-button-text{
	text-decoration: none;
}

.blog-post-btn.no-bg.elementor-widget-button .elementor-button .elementor-button-icon svg{
	width: 12px;
}

.blog-archive-loop .elementor-pagination{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 0;
}

.blog-archive-loop .elementor-pagination .page-numbers{
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #D9D9D9;
	width: 50px;
	height: 50px;
	transition: all 0.3s ease-in-out;
}

.blog-archive-loop .elementor-pagination .page-numbers.current,
.blog-archive-loop .elementor-pagination .page-numbers:hover{
	background-color: var(--e-global-color-accent);
}

.blog-archive-loop .elementor-pagination .page-numbers.prev,
.blog-archive-loop .elementor-pagination .page-numbers.next{
	font-size: 0;
	background-image: url("./images/left-arrow.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 16px auto;
}

.blog-archive-loop .elementor-pagination .page-numbers.next{
	background-image: url("./images/right-arrow.svg");
}

/*
 * Author Archive CSS
 * */

.author-social-media{
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 15px;
}

.author-social-media li{
	line-height: 0;
}

.author-social-media li a{
	font-size: 0;
	position: relative;
}

.author-social-media li a:before{
	content: '\f39e';
	display: flex;
	align-items: center;
	justify-content: center;
    font-family: 'Font Awesome 5 Brands';
    font-size: 20px;
    font-weight: 400;
	line-height: 1em;
	background-color: var(--white-color);
	border-radius: 50%;
	color: var(--e-global-color-primary);
	width: 40px;
	height: 40px;	
}

.author-social-media li a:hover:before{
	color: var(--white-color);
	background-color: var(--e-global-color-accent);
}

.author-social-media li.instagram a:before{
	content: '\f16d';
}

.author-social-media li.linkedin a:before{
	content: '\f0e1';
}

.author-social-media li.youtube a:before{
	content: '\f167';
}

.author-social-media li.twitter a:before{
	content: '\f099';
}

.author-social-media li.tiktok a:before{
	content: '\e07b';
}

@media only screen and (max-width: 1024px){
	
	
	.featured-blog-wrap{
		grid-template-columns: repeat(1, 1fr);
		grid-template-rows:repeat(1, 1fr);
		column-gap: 0;
		margin-bottom: 40px;
	}
	
	.featured-blog-wrap .featured-blog-box:first-child {
		grid-column: 1 / 1;
		grid-row: 1 / 1;
	}
	
	.featured-blog-wrap .featured-blog-box:nth-of-type(2) {
		grid-column: 1 / 3;
    	grid-row: 2 / 2;
	}
	
	.featured-blog-wrap .featured-blog-box:nth-of-type(3) {
		grid-column: 1 / 3;
		grid-row: 3 / 3;
	}
	
	.featured-blog-body .blog-title h1{
		font-size: 24px;
	}
	
}

@media only screen and (max-width: 767px){
	
	
	.featured-blog-wrap{
		margin-bottom: 20px;
	}
	
	.featured-blog-wrap .featured-blog-box:not(:first-child){
		gap: 20px;
	}
	
	.featured-blog-wrap .featured-blog-box:not(:first-child) .featured-blog-img-wrap, 
	.featured-blog-wrap .featured-blog-box:not(:first-child) .featured-blog-body{
		width: 100%;
	}
	
	.featured-blog-wrap .featured-blog-box:not(:first-child) .featured-blog-img-wrap, 
	.featured-blog-wrap .featured-blog-box:not(:first-child) .featured-blog-img-wrap .featured-blog-image, 
	.featured-blog-wrap .featured-blog-box:not(:first-child) .featured-blog-img-wrap .featured-blog-image a, 
	.featured-blog-wrap .featured-blog-box:not(:first-child) .featured-blog-img-wrap .featured-blog-image figure,
	.featured-blog-wrap .featured-blog-box:not(:first-child) .featured-blog-img-wrap img{
		height: auto;
	}
	
	.featured-blog-box .featured-blog-img-wrap .blog-category a{
		font-size: 12px;
	}
	
	.featured-blog-body .blog-meta ul{
		margin: 0 0 15px;
	}
	
	.featured-blog-body .blog-meta ul li{
		font-size: 14px;
	}
	
	.featured-blog-box:not(:first-child) .featured-blog-body .blog-meta ul li.blog-author a img{
		width: 30px;
	}
	
	.featured-blog-body .blog-title,
	.featured-blog-body .blog-desc{
		margin-bottom: 15px;
	}
	
	.featured-blog-box .featured-blog-img-wrap .featured-blog-image img,
	.blog-post-featured-img img {
		aspect-ratio: 1 / 0.8;
	}
	
	.blog-post-category ul li .elementor-post-info__item--type-terms span a{
		font-size: 12px !important;
		padding: 5.5px 10px;
	}
	
	.blog-archive-loop .elementor-pagination .page-numbers{
		width: 40px;
    	height: 40px;
	}
	
	.blog-archive-loop .elementor-pagination .page-numbers.prev, .blog-archive-loop .elementor-pagination .page-numbers.next{
		background-size: 14px auto;
	}
	
	.author-social-media{
		gap: 10px;
	}

	.author-social-media li a:before{
		font-size: 15px;
		width: 30px;
		height: 30px;	
	}
}

/* Blog Single Css */

.post-featured-img img{
	aspect-ratio: 1 / 0.46875;
	object-fit: cover;
}

.post-entry p{
	margin-bottom: 1.5em;
}

.post-entry a,
.post-entry a strong,
.post-entry p strong{
	color: var(--e-global-color-accent);
	transition: all 0.3s ease-in-out;
}

.post-entry a:hover{
	text-decoration: underline;
}

.post-entry h1,
.post-entry h2,
.post-entry h3,
.post-entry h4,
.post-entry h5,
.post-entry h6{
	font-family: var(--e-global-typography-primary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-primary-font-weight);
    text-transform: var(--e-global-typography-primary-text-transform);
    font-style: var(--e-global-typography-primary-font-style);
    line-height: var(--e-global-typography-primary-line-height);
	color: var(--e-global-color-primary);
	margin: 0.4em 0 0.6em;
}

.post-entry h1{
	font-size: 40px;
}

.post-entry h2{
	font-size: 36px;
}

.post-entry h3{
	font-size: 28px;
}

.post-entry h4{
	font-size: 26px;
}

.post-entry h5{
	font-size: 24px;
}

.post-entry h6{
	font-size: 22px;
}

.post-entry ul{
	list-style: none;
}

.post-entry ul,
.post-entry ol{
	padding: 0;
	margin: 20px 0;
}

.post-entry ol{
	padding-left: 20px;
}

.post-entry ul li,
.post-entry ol li{
	position: relative;
	margin-bottom: 15px;
}

.post-entry ul li{
	padding-left: 25px;
}

.post-entry ol li{
	padding-left: 5px;
}

.post-entry ul li:last-child,
.post-entry ol li:last-child{
	margin-bottom: 0;
}
 
.post-entry ul li:before{
	content:'';
	position: absolute;
	top: 7px;
	left: 2px;
	height: 10px;
	width: 10px;
    transform: Rotate(-45deg);
	background-color: var(--e-global-color-accent);
 	background-position: left center;
    background-size: cover;
} 

.post-entry ol li::marker{
	font-size: 18px;
	font-weight: 500;
	color: var(--e-global-color-accent);
}

.post-entry ul li a,
.post-entry ul li a strong,
.post-entry ul li strong,
.post-entry ol li a,
.post-entry ol li a strong,
.post-entry ol li strong{
	color: var(--e-global-color-accent);
	transition: all 0.3s ease-in-out;
}

.post-entry ul li a:hover,
.post-entry ol li a:hover{
	text-decoration: underline;
}

.post-entry ul ul,
.post-entry ul ol,
.post-entry ol ol,
.post-entry ol ul{
	margin: 15px 0;
}

.post-entry ul ul li:before,
.post-entry ul ol li:before,
.post-entry ol ul li:before{
	height: 8px;
	width: 8px;
}

.post-entry ol ol li::marker,
.post-entry ul ol li::marker{
	font-size: 16px;
}

.post-entry blockquote{
	position: relative;
	background-color: var(--e-global-color-accent);
	background-image: url("./images/fabrication-quats-icon.svg");
    background-repeat: no-repeat;
    background-position: center left 30px;
    background-size: 60px auto;
	border-radius: 0;
    padding: 40px 40px 40px 100px;
	margin-left: 0;
	margin-right: 0;
    margin-bottom: 30px;
}

.post-entry blockquote p{
	font-family: var(--e-global-typography-primary-font-family);
	font-size: 22px;
    font-weight: 700;
	line-height: 1.1em;
	color: var(--white-color);
}

.post-entry blockquote cite{
    font-size: 18px;
    color: var(--e-global-color-accent);
}

.post-entry .elementor-post-info__terms-list p{
	background-color: var(--e-global-color-accent);
	padding: 18px 36px 16px 34px; 
}

.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{
	position: relative;
	display: inline-block !important;
	font-size: initial !important;
	background: var(--e-global-color-accent);
	padding: 15px 30px;
	border-radius: 100px;
	transition: all 0.4s ease-in-out;
	margin-right: 20px;
	margin-bottom: 10px;
}

.post-tag ul li .elementor-post-info__item--type-terms span a:before,
.post-tag ul li .elementor-post-info__item--type-terms span a:after{
	content: '';
    position: absolute;
    top: 10px;
    left: 12px;
    background-color: currentcolor;
    clip-path: path('M11.9993 0.397217C10.117 1.01336 8.1162 1.98043 6.24708 3.40893C3.70714 5.35011 1.42768 8.13095 0.0195312 12H1.62389C2.9433 8.66829 4.95862 6.28157 7.15792 4.60072C8.73022 3.39907 10.4046 2.55246 11.9993 1.98253V0.397217Z');
    width: 14px;
    height: 14px;
}

.post-tag ul li .elementor-post-info__item--type-terms span a:after{
	top: auto;
    left: auto;
   	right: 10px;
    bottom: 8px;
    clip-path: path('M0.0192518 12C1.90157 11.3839 3.90235 10.4168 5.77148 8.98829C8.31141 7.04711 10.5909 4.26626 11.999 0.397168H10.3947C9.07525 3.72893 7.05994 6.11565 4.86063 7.7965C3.28834 8.99815 1.61399 9.84475 0.0192518 10.4147V12Z');
}

.post-tag ul li .elementor-post-info__item--type-terms span a:hover{
	background: var(--e-global-color-primary);
}

.blog-single-author-img .author-profile-photo img{
	aspect-ratio: unset;
}

@media only screen and (max-width: 1024px){
	
	.post-featured-img img {
		aspect-ratio: 1 / 0.66;
	}
	
	.post-entry h1{
		font-size: 34px;
	}

	.post-entry h2{
		font-size: 30px;
	}

	.post-entry h3{
		font-size: 24px;
	}

	.post-entry h4{
		font-size: 22px;
	}

	.post-entry h5{
		font-size: 20px;
	}

	.post-entry h6{
		font-size: 18px;
	}
	
	.post-entry blockquote{
		background-position: 20px;
	}
	
	.post-entry blockquote{
		padding: 20px 20px 20px 80px;
		background-position: center left 10px;
	}
	
	.post-entry blockquote p{
		font-weight: 600;	
	}
	
}

@media only screen and (max-width: 767px){
	
	.post-entry h1{
		font-size: 32px;
	}

	.post-entry h2{
		font-size: 28px;
	}

	.post-entry h3{
		font-size: 22px;
	}

	.post-entry h4{
		font-size: 20px;
	}

	.post-entry h5{
		font-size: 18px;
	}

	.post-entry h6{
		font-size: 16px;
	}
	
	.post-entry blockquote{
		background-position: top 10px left 15px;
        background-size: 35px;
        text-indent: 40px;
        padding: 20px;
	}
	
	.post-entry blockquote p{
		font-size: 20px;
	}
	
	.post-entry ul li, .post-entry ol li{
		margin-bottom: 10px;
	}
	
	.post-entry ul li{
		padding-left: 20px;
	}
	
	.post-entry ul li:before{
		top: 8px;
		height: 8px;
   	 	width: 8px;
	}
	
	.post-entry ul ul li:before, .post-entry ul ol li:before, .post-entry ol ul li:before{
		height: 7px;
    	width: 7px;
	}
	
	.post-entry ol li::marker{
		font-size: 16px;
	}
	
	.post-entry ol ol li::marker, .post-entry ul ol li::marker{
		font-size: 14px;
	}
	
	.post-entry ul ul, .post-entry ul ol, .post-entry ol ol, .post-entry ol ul{
		margin: 10px 0;
	}
	
	.post-tag ul li .elementor-post-info__item--type-terms span a{
		padding: 10px 20px;
		margin-right: 10px;
	}
	
	.post-tag ul li .elementor-post-info__item--type-terms span a:before{
		top: 6px;
    	left: 6px;	
	}
	
	.post-tag ul li .elementor-post-info__item--type-terms span a:after{
		right: 4px;
    	bottom: 4px;
	}
}


/* 
 * Form CSS
 * */

.gform_wrapper .gform_heading{
	display: none;
}

.gform_wrapper form .gform-loader{
	display: none !important;
}

.gform_wrapper .gform_fields{
	--gf-field-gap-x: 30px;
	--gf-field-gap-y: 30px;
	column-gap: 30px;
	row-gap: 30px;
}

.gform_wrapper .gform_fields .gfield .ginput_container input,
.gform_wrapper .gform_fields .gfield .ginput_container_select select,
.gform_wrapper .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);
    text-transform: var(--e-global-typography-text-text-transform);
    font-style: var(--e-global-typography-text-font-style);
    line-height: var(--e-global-typography-text-line-height);
	background: #FFF;
	color: var(--e-global-color-text);
    height: 60px;
    padding: 10px 20px;
    border: 0 !important;
    border-radius: 0;
	box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.10);
}

.gform_wrapper .gform_fields .gfield .ginput_container_select select{
	line-height: 40px;
	background-image: url("./images/down-arrow.svg");
	background-position: center right 20px;
	background-repeat: no-repeat;
	background-size: 14px auto;
}

.gform_wrapper .gform_fields .gfield .ginput_container textarea{
	padding: 15px 20px;
}

.gform_wrapper form .gfield .ginput_container input:focus,
.gform_wrapper form .gfield .ginput_container textarea:focus,
.gform_wrapper .gform_fields .gfield .ginput_container_select select:focus,
.gform_wrapper form .gfield .gform-button:focus{
	outline: none !important;
	border: none !important;
}

.gform_wrapper form .gform-footer{
	margin-top: 30px !important;
}

.gform_wrapper form .gform-footer .gform_button{
    font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-accent-font-size) !important;
    font-weight: var(--e-global-typography-accent-font-weight) !important;
    text-transform: var(--e-global-typography-accent-text-transform) !important;
    font-style: var(--e-global-typography-accent-font-style) !important;
    line-height: var(--e-global-typography-accent-line-height) !important;
    background-color: var(--e-global-color-accent) !important;
    border: 0 !important;
    border-radius: 100px !important;
    height: auto;
    padding: 17px 40px !important;
    box-shadow: none !important;
	transition: all 0.3s ease-in-out !important;
}

.gform_wrapper form .gform-footer .gform_button:hover{
	background-color: var(--e-global-color-primary) !important;
}

.gform_wrapper .gform_confirmation_message{
	font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
    font-size: 34px;
    font-weight: var(--e-global-typography-secondary-font-weight);
    text-transform: var(--e-global-typography-secondary-text-transform);
    font-style: var(--e-global-typography-secondary-font-style);
    line-height: var(--e-global-typography-secondary-line-height);
    color: var(--e-global-color-secondary);
}


/* Footer CSS */
.footer-news-form form .gform_fields{
	column-gap: 0;
	row-gap: 0;
}

.footer-news-form .gform_wrapper .gform_fields .gfield .ginput_container input{
	background: rgba(255, 255, 255, 0.10) !important;
	color: #FFF !important;
    height: 60px !important;
    padding: 10px 20px !important;
	box-shadow: none;
}

.footer-news-form form .gfield .gfield_validation_message{
	display: none;
}

.footer-news-form form .gfield .gform-button{
    font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-accent-font-size) !important;
    font-weight: var(--e-global-typography-accent-font-weight) !important;
    text-transform: var(--e-global-typography-accent-text-transform) !important;
    font-style: var(--e-global-typography-accent-font-style) !important;
    line-height: var(--e-global-typography-accent-line-height) !important;
    background-color: var(--e-global-color-accent) !important;
    border: 0 !important;
    border-radius: 0 !important;
    height: auto;
    padding: 18.7px 10px !important;
    box-shadow: none !important;
	transition: all 0.3s ease-in-out !important;
}

.footer-news-form form .gfield .gform-button:hover{
	background-color: var(--e-global-color-4aaecb4) !important;
	color: var(--e-global-color-primary) !important;
}

.footer-news-form form .gfield .ginput_container input:focus,
.footer-news-form form .gfield .gform-button:focus{
	outline: none !important;
	border: none !important;
	box-shadow: none !important;
}

.footer-news-form .gform_validation_errors{
	margin-bottom: 10px !important;
    padding: 10px !important;
	border-color: var(--gf-form-validation-heading-color) !important;
    border-radius: 0 !important;
}

.footer-news-form .gform_validation_errors .gform_submission_error{
	color: #FFF !important;
    font-size: 12px !important;
}

.footer-news-form .gform_validation_errors .gform-icon{
	display: none !important;
}

.footer-news-form .gform_confirmation_message{
	font-family: var(--e-global-typography-primary-font-family), Sans-serif;
    font-size: 24px;
    font-weight: var(--e-global-typography-primary-font-weight);
    text-transform: var(--e-global-typography-primary-text-transform);
    font-style: var(--e-global-typography-primary-font-style);
    line-height: var(--e-global-typography-primary-line-height);
    color: #FFF;
}

@media only screen and (max-width: 1024px){
	
	.gform_wrapper .gform_confirmation_message{
		font-size: 30px;
	}
	
	
	.footer-news-form .gform_confirmation_message{
		font-size: 22px;
	}
}


@media only screen and (max-width: 767px){
	
	.gform_wrapper .gform_fields{
		column-gap: 0;
		--gf-field-gap-y: 20px;
		row-gap: 20px;
	}
	
	.gform_wrapper .gform_fields .gfield .ginput_container input,
	.gform_wrapper .gform_fields .gfield .ginput_container_select select,
	.gform_wrapper .gform_fields .gfield .ginput_container textarea{
		height: 55px;
	}
	
	.gform_wrapper .gform_fields .gfield .ginput_container_select select{
		line-height: 35px;
	}
	
	.gform_wrapper .gform_confirmation_message{
		font-size: 24px;
	}
	
	.footer-news-form .gform_wrapper .gform_fields .gfield .ginput_container input{
		text-align: center;
		height: 50px;
	}
	
	.footer-news-form form .gfield .gform-button{
		padding: 14px 10px !important;
	}
	
	.footer-news-form .gform_confirmation_message{
		font-size: 20px;
	}
}


/* ============================================================================
   Standard Button — "Meet in the Middle" Hover Animation
   ============================================================================
   Ported from the MultiTemp4 canonical submit-button treatment (Gravity Forms
   IDs 1 & 3). Same pattern, same timing. Differences from the canonical:
     • NO scale / translateY lift on hover
     • NO box-shadow glow on hover
     • Default treatment — applies to EVERY Elementor button automatically
     • Light variant is opt-in via the .mt-btn--light widget class

   "Meet in the Middle" — on hover, the contrast colour wipes in from BOTH the
   left and right edges simultaneously, meeting in the middle to fully flood
   the pill. A white border strokes in and the text re-colours. On hover-out
   the two halves retreat back to their respective edges; the border holds
   its hover colour through the 0.55s retraction, then snaps off — so the
   curved pill edge is framed the entire time the rectangular wipes are
   sliding out, hiding the vertical seam where they meet.

   Colour contract
   • (default)        — DARK at rest. Every .elementor-widget-button .elementor-button
       Rest:  bg = accent, border = transparent, text = white
       Hover: two white halves slide in from left + right and meet,
              border fades in = white, text = accent
   • .mt-btn--light   — LIGHT at rest (add this class to the widget's CSS Classes field)
       Rest:  bg = white, border = transparent, text = accent
       Hover: two accent halves slide in from left + right and meet,
              border fades in = white, text = white

   Technique — TWO background-image layers, each a flat solid-colour linear
   gradient acting as a rectangle of the contrast colour:
     Layer 1 (index 0)  →  anchored `left center`,  width 0% → 50% on hover
     Layer 2 (index 1)  →  anchored `right center`, width 0% → 50% on hover
   When both reach 50% they tile the pill exactly and the fill looks solid.
   Background-size is a single transition-able property so both widths animate
   together. Reverses naturally on hover-out.

   Opting out
   ----------
   Buttons inside carriers that already have bespoke hover treatments earlier
   in this sheet (.header-btn, .our-process-contact-btn, .blog-post-btn.no-bg,
   .call-request-box, .btn-white-bg) keep their original treatments — the
   rules below don't disturb those because those carriers supply their own
   higher-specificity overrides. If you ever want to exclude an additional
   button from the default treatment, add the class `mt-btn--none` to its
   widget; the final override block at the bottom restores Elementor defaults.
   ============================================================================ */

/* --- 1 · suppress ONLY the legacy expanding-circle hover ---
   The base rules earlier in this file attach a scaled `::after` to every
   `.elementor-widget-button .elementor-button` that flooded the pill with
   the primary colour on hover (a 0 → 1.1 scale). That conflicts with our
   meet-in-the-middle wipe, so we null it out.

   The decorative wave glyphs on `.elementor-button-content-wrapper:before`
   and `:after` are kept — they're pure flourish at fixed positions using
   `currentcolor`, so they automatically re-colour along with the text when
   our hover runs. `.no-bg` and `.mt-btn--none` opt out. */
.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button::after,
.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:hover::after,
.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:focus::after {
  content: none !important;
  display: none !important;
  background: none !important;
  transform: none !important;
}

/* --- 1b · guarantee the wave glyphs render on top of our wipe ---
   Re-declares the decorative wave glyphs from lines 110–127 with higher
   specificity + z-index so they always sit above the background-image
   layers (the rectangles doing the wipe). Nothing here should change the
   existing shape or position — we're only locking the declarations in
   against any future override and raising their stacking order. */
.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button .elementor-button-content-wrapper {
  position: relative !important;
  z-index: 2 !important;
}
.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button .elementor-button-content-wrapper::before,
.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button .elementor-button-content-wrapper::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  background-color: currentcolor !important;
  width: 14px !important;
  height: 14px !important;
  z-index: 2 !important;
  pointer-events: none;
}
.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button .elementor-button-content-wrapper::before {
  top: -7px !important;
  left: -28px !important;
  clip-path: path('M11.9993 0.397217C10.117 1.01336 8.1162 1.98043 6.24708 3.40893C3.70714 5.35011 1.42768 8.13095 0.0195312 12H1.62389C2.9433 8.66829 4.95862 6.28157 7.15792 4.60072C8.73022 3.39907 10.4046 2.55246 11.9993 1.98253V0.397217Z') !important;
}
.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button .elementor-button-content-wrapper::after {
  top: auto !important;
  left: auto !important;
  right: -30px !important;
  bottom: -9px !important;
  clip-path: path('M0.0192518 12C1.90157 11.3839 3.90235 10.4168 5.77148 8.98829C8.31141 7.04711 10.5909 4.26626 11.999 0.397168H10.3947C9.07525 3.72893 7.05994 6.11565 4.86063 7.7965C3.28834 8.99815 1.61399 9.84475 0.0192518 10.4147V12Z') !important;
}

/* --- 2 · shared pill geometry + motion ---
   Border-colour timing hides the straight vertical seam where the two wipes
   meet at the pill's curved edge. On hover-in the border snaps to its target
   colour instantly (0s, no delay). On hover-out the border HOLDS the hover
   colour for the full 0.55s background-size retraction, then snaps back to
   transparent — so the curved pill edge is framed in the hover border the
   entire time the rectangular wipes are sliding out.

   This works because CSS transitions apply the target state's transition
   rule. The base rule's `border-color 0s 0.55s` is read on hover-out
   (going from hover back to rest), giving the 0.55s delay. The hover rule
   overrides transition with `border-color 0s` (no delay) so the border
   snaps on immediately when hover begins. */
.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button {
  position: relative !important;
  overflow: hidden !important;
  border: 2px solid transparent !important;
  border-radius: 100px !important;
  /* Two layers: [0] pinned to the left edge, [1] pinned to the right edge.
     Both start at 0% width and grow to 50% on hover so they meet at centre. */
  background-repeat: no-repeat, no-repeat !important;
  background-position: left center, right center !important;
  background-size: 0% 100%, 0% 100% !important;
  cursor: pointer;
  transition:
    background-size 0.55s cubic-bezier(0.45, 0.05, 0.3, 1),
    border-color 0s 0.55s,
    color 0.4s ease 0.15s !important;
}

/* --- 3 · Default: DARK variant (every Elementor button, unless opted-out) ---
   Accent pill at rest; two white rectangles slide in from the left and right
   on hover and meet in the middle. Text re-colours to accent; a white border
   strokes in and holds through the retraction. */
.elementor-widget-button:not(.no-bg):not(.mt-btn--light):not(.btn-light):not(.btn-light-border):not(.mt-btn--none) .elementor-button {
  background-color: var(--e-global-color-accent) !important;
  background-image:
    linear-gradient(
      to right,
      var(--white-color, #fff),
      var(--white-color, #fff)
    ),
    linear-gradient(
      to right,
      var(--white-color, #fff),
      var(--white-color, #fff)
    ) !important;
  color: var(--white-color, #fff) !important;
}

.elementor-widget-button:not(.no-bg):not(.mt-btn--light):not(.btn-light):not(.btn-light-border):not(.mt-btn--none) .elementor-button:hover,
.elementor-widget-button:not(.no-bg):not(.mt-btn--light):not(.btn-light):not(.btn-light-border):not(.mt-btn--none) .elementor-button:focus,
.elementor-widget-button:not(.no-bg):not(.mt-btn--light):not(.btn-light):not(.btn-light-border):not(.mt-btn--none) .elementor-button:focus-visible {
  /* 50% each would tile exactly, but sub-pixel rounding can leave a 1-device-
     pixel hairline of the base colour down the middle. Grow each half to
     `calc(50% + 1px)` so the two layers overlap by 2px at centre — invisible
     because both halves are the same colour, but it closes the seam. */
  background-size: calc(50% + 1px) 100%, calc(50% + 1px) 100% !important;
  /* Accent-coloured border on hover — provides crisp contrast against the
     white meet-in-the-middle fill (matches the canonical Form 3 pattern). */
  border-color: var(--e-global-color-accent) !important;
  color: var(--e-global-color-accent) !important;
  /* Override the base border-color transition: snap on instantly. */
  transition:
    background-size 0.55s cubic-bezier(0.45, 0.05, 0.3, 1),
    border-color 0s,
    color 0.4s ease 0.15s !important;
}

/* Keep the text-wrapper's own colour inheriting from the button, in case an
   earlier rule or Elementor control fixed it. */
.elementor-widget-button:not(.no-bg):not(.mt-btn--light):not(.btn-light):not(.btn-light-border):not(.mt-btn--none) .elementor-button:hover .elementor-button-text,
.elementor-widget-button:not(.no-bg):not(.mt-btn--light):not(.btn-light):not(.btn-light-border):not(.mt-btn--none) .elementor-button:focus .elementor-button-text {
  color: inherit !important;
}

/* --- 4 · Modifier: LIGHT variant (.mt-btn--light on the widget) ---
   White pill at rest; two accent rectangles slide in from the left and right
   on hover and meet in the middle. Text re-colours to white; a white border
   strokes in and holds through the retraction (providing crisp contrast
   against the accent hover fill). */
.mt-btn--light.elementor-widget-button .elementor-button {
  background-color: var(--white-color, #fff) !important;
  background-image:
    linear-gradient(
      to right,
      var(--e-global-color-accent),
      var(--e-global-color-accent)
    ),
    linear-gradient(
      to right,
      var(--e-global-color-accent),
      var(--e-global-color-accent)
    ) !important;
  color: var(--e-global-color-accent) !important;
}

.mt-btn--light.elementor-widget-button .elementor-button:hover,
.mt-btn--light.elementor-widget-button .elementor-button:focus,
.mt-btn--light.elementor-widget-button .elementor-button:focus-visible {
  /* 50% each would tile exactly, but sub-pixel rounding can leave a 1-device-
     pixel hairline of the base colour down the middle. Grow each half to
     `calc(50% + 1px)` so the two layers overlap by 2px at centre — invisible
     because both halves are the same colour, but it closes the seam. */
  background-size: calc(50% + 1px) 100%, calc(50% + 1px) 100% !important;
  border-color: var(--white-color, #fff) !important;
  color: var(--white-color, #fff) !important;
  transition:
    background-size 0.55s cubic-bezier(0.45, 0.05, 0.3, 1),
    border-color 0s,
    color 0.4s ease 0.15s !important;
}

.mt-btn--light.elementor-widget-button .elementor-button:hover .elementor-button-text,
.mt-btn--light.elementor-widget-button .elementor-button:focus .elementor-button-text {
  color: inherit !important;
}

/* --- 5 · Modifier: LIGHT WITH PERMANENT ACCENT BORDER (.btn-light) ---
   The inverse colour scheme of the default dark variant, with a permanent
   accent-coloured border.
     Rest:  bg = white, border = accent, text = accent
     Hover: two accent halves slide in from left + right and meet,
            border STAYS accent, text re-colours to white

   Because the border never changes colour, we drop the `border-color` entry
   from the transition — no snap/hold timing trick needed. On hover the
   accent border simply merges visually into the accent wipe fill as they
   arrive at the edges, which reads cleanly without any seam work. */
.btn-light.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button {
  background-color: var(--white-color, #fff) !important;
  background-image:
    linear-gradient(
      to right,
      var(--e-global-color-accent),
      var(--e-global-color-accent)
    ),
    linear-gradient(
      to right,
      var(--e-global-color-accent),
      var(--e-global-color-accent)
    ) !important;
  color: var(--e-global-color-accent) !important;
  border-color: var(--e-global-color-accent) !important;
  transition:
    background-size 0.55s cubic-bezier(0.45, 0.05, 0.3, 1),
    color 0.4s ease 0.15s !important;
}

.btn-light.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:hover,
.btn-light.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:focus,
.btn-light.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:focus-visible {
  /* 50% each would tile exactly, but sub-pixel rounding can leave a 1-device-
     pixel hairline of the base colour down the middle. Grow each half to
     `calc(50% + 1px)` so the two layers overlap by 2px at centre — invisible
     because both halves are the same colour, but it closes the seam. */
  background-size: calc(50% + 1px) 100%, calc(50% + 1px) 100% !important;
  border-color: var(--e-global-color-accent) !important;
  color: var(--white-color, #fff) !important;
  transition:
    background-size 0.55s cubic-bezier(0.45, 0.05, 0.3, 1),
    color 0.4s ease 0.15s !important;
}

.btn-light.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:hover .elementor-button-text,
.btn-light.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:focus .elementor-button-text {
  color: inherit !important;
}

/* --- 6 · Modifier: LIGHT WITH PERMANENT WHITE BORDER (.btn-light-border) ---
   Same meet-in-the-middle wipe as .btn-light, but the border is WHITE at
   ALL times — it does not swap colour on hover. Intended for light buttons
   sitting on dark / coloured / photographic backgrounds where a permanent
   white ring defines the button's shape in both states.
     Rest:  bg = white, border = white (visible on dark/coloured backgrounds),
            text = accent
     Hover: two accent halves slide in and meet, border STAYS white,
            text re-colours to white

   Because the border never changes colour, we don't need the
   snap-on-instantly / hold-through-retraction timing trick. We also strip
   the `border-color` entry from the transition so the base pill rule's
   `border-color 0s 0.55s` can't introduce a stale delay if a later override
   ever re-colours this border. */
.btn-light-border.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button {
  background-color: var(--white-color, #fff) !important;
  background-image:
    linear-gradient(
      to right,
      var(--e-global-color-accent),
      var(--e-global-color-accent)
    ),
    linear-gradient(
      to right,
      var(--e-global-color-accent),
      var(--e-global-color-accent)
    ) !important;
  color: var(--e-global-color-accent) !important;
  border-color: var(--white-color, #fff) !important;
  transition:
    background-size 0.55s cubic-bezier(0.45, 0.05, 0.3, 1),
    color 0.4s ease 0.15s !important;
}

.btn-light-border.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:hover,
.btn-light-border.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:focus,
.btn-light-border.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:focus-visible {
  background-size: calc(50% + 1px) 100%, calc(50% + 1px) 100% !important;
  border-color: var(--white-color, #fff) !important;
  color: var(--white-color, #fff) !important;
  transition:
    background-size 0.55s cubic-bezier(0.45, 0.05, 0.3, 1),
    color 0.4s ease 0.15s !important;
}

.btn-light-border.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:hover .elementor-button-text,
.btn-light-border.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:focus .elementor-button-text {
  color: inherit !important;
}

/* --- 7 · Modifier: DARK WITH PERMANENT WHITE BORDER (.btn-dark-border) ---
   The dark-side counterpart to .btn-light-border. Same meet-in-the-middle
   wipe as the default dark button, but the border is WHITE at ALL times —
   it does not appear/disappear on hover. Intended for dark buttons that
   sit on dark / coloured / photographic backgrounds where a permanent
   white ring defines the button's shape in both states.
     Rest:  bg = accent, border = white, text = white
     Hover: two white halves slide in and meet, border STAYS white,
            text re-colours to accent

   Because the border never changes colour, we can strip the
   `border-color` entry from the transition — no snap-on/hold-through
   timing trick needed — so the base pill rule's `border-color 0s 0.55s`
   can't introduce a stale delay if an override ever re-colours. */
.btn-dark-border.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button,
.fp-services-btn.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button {
  background-color: var(--e-global-color-accent) !important;
  background-image:
    linear-gradient(
      to right,
      var(--white-color, #fff),
      var(--white-color, #fff)
    ),
    linear-gradient(
      to right,
      var(--white-color, #fff),
      var(--white-color, #fff)
    ) !important;
  color: var(--white-color, #fff) !important;
  /* Explicit border longhands — the base rule sets
     `border: 2px solid transparent` but some Elementor widget
     templates or inline controls can zero out border-width. Forcing
     all three longhands guarantees a visible 2px white ring. */
  border-width: 2px !important;
  border-style: solid !important;
  border-color: var(--white-color, #fff) !important;
  transition:
    background-size 0.55s cubic-bezier(0.45, 0.05, 0.3, 1),
    color 0.4s ease 0.15s !important;
}

.btn-dark-border.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:hover,
.btn-dark-border.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:focus,
.btn-dark-border.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:focus-visible,
.fp-services-btn.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:hover,
.fp-services-btn.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:focus,
.fp-services-btn.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:focus-visible {
  background-size: calc(50% + 1px) 100%, calc(50% + 1px) 100% !important;
  border-width: 2px !important;
  border-style: solid !important;
  border-color: var(--white-color, #fff) !important;
  color: var(--e-global-color-accent) !important;
  transition:
    background-size 0.55s cubic-bezier(0.45, 0.05, 0.3, 1),
    color 0.4s ease 0.15s !important;
}

.btn-dark-border.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:hover .elementor-button-text,
.btn-dark-border.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:focus .elementor-button-text,
.fp-services-btn.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:hover .elementor-button-text,
.fp-services-btn.elementor-widget-button:not(.no-bg):not(.mt-btn--none) .elementor-button:focus .elementor-button-text {
  color: inherit !important;
}

/* ============================================================
   ★ GOOGLE REVIEW CARDS — EQUAL HEIGHTS, CARD DESIGN, HOVER ★
   Smash Balloon Google Reviews Feed (widget class
   ".google-review-style", plugin container
   "#sb-reviews-container-1"). This block sits AFTER the legacy
   review rules earlier in this file AND after any plugin inline
   <style> so its higher-specificity selectors win.

   Structure recap (Owl Carousel):
     .sbr-owl-stage-outer
       > .sbr-owl-stage (translate3d-slider track)
         > .sbr-owl-item (fixed width per slide)
           > .sb-post-item-wrap (plugin wrapper, injects border)
             > .sb-post-item (the visible card)
   ============================================================ */

/* --- 1. Equal-height cards ----------------------------------
   Owl Carousel flows slides as floated/inline-block items whose
   natural height matches their content. Convert the stage into a
   flex row and let wrap + card stretch to match the tallest slide.
   Transform-based sliding is unaffected by display:flex. */
.google-review-style .sbr-owl-stage {
  display: flex !important;
  align-items: stretch !important;
}
.google-review-style .sbr-owl-stage .sbr-owl-item {
  display: flex !important;
  float: none !important;
  height: auto !important;
}
.google-review-style .sbr-owl-stage .sbr-owl-item .sb-post-item-wrap {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  /* neutralise the plugin's injected inline bottom border + flush pad */
  margin-bottom: 0 !important;
  border-bottom: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.google-review-style .sbr-owl-stage .sbr-owl-item .sb-post-item {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
}
/* Review body takes up the remaining vertical space so every
   card's footer (if any) sits at the same baseline. */
.google-review-style .sbr-owl-stage .sbr-owl-item .sb-post-item .sb-item-text {
  flex: 1 1 auto !important;
}

/* --- 2. Card visual treatment -------------------------------
   Replace the single outer drop-shadow with per-card box-shadows
   so each review is a distinct elevated tile. Padding (30px) is
   already set by the earlier rule at line ~551 of this file. */
.google-review-style #sb-reviews-container-1 {
  filter: none !important;
}
/* Keep Owl's horizontal clip (so off-screen slides don't bleed
   onto the page) but add vertical padding + matching negative
   margin so card box-shadows have room to breathe without being
   clipped at the top/bottom edges. Owl's stage-outer is normally
   overflow:hidden; we restore that explicitly here in case any
   earlier rule (or plugin version) leaves it visible.

   For the LEFT/RIGHT edges we can't pad-and-reclaim the same way
   (it would either shrink slide widths or re-introduce partial
   neighbors), so we soften the clip with a narrow mask-image
   fade. Each owl-item already inset its card by
   `calc(--column-gutter / 2)` (~15–20px) on each side, so a 14px
   fade stays entirely within that gutter — it feathers only the
   hard shadow edge, never the card content. */
.google-review-style .sbr-owl-stage-outer {
  overflow: hidden !important;
  padding: 30px 0 !important;
  margin: -30px 0 !important;
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 14px,
    #000 calc(100% - 14px),
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 14px,
    #000 calc(100% - 14px),
    transparent 100%
  );
}
.google-review-style .sb-post-item {
  position: relative !important;
  background-color: var(--white-color, #fff) !important;
  border: 1px solid rgba(2, 43, 86, 0.08) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  transition:
    transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1),
    box-shadow 0.45s ease,
    border-color 0.45s ease !important;
}

/* Decorative oversized quote glyph tucked into the top-right
   corner, behind the content, fading+nudging on hover. */
.google-review-style .sb-post-item::before {
  content: '\201C'; /* left double quotation mark */
  position: absolute;
  top: 14px;
  right: 22px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 120px;
  line-height: 1;
  color: var(--e-global-color-accent);
  opacity: 0.07;
  pointer-events: none;
  transition:
    transform 0.45s ease,
    opacity 0.45s ease;
  z-index: 0;
}
/* Thin accent ribbon along the left edge — adds the "unique"
   touch without crowding the existing layout. */
.google-review-style .sb-post-item::after {
  content: '';
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 0;
  width: 3px;
  background-color: var(--e-global-color-accent);
  border-radius: 0 3px 3px 0;
  transform: scaleY(0.25);
  transform-origin: center;
  opacity: 0.55;
  transition:
    transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1),
    opacity 0.45s ease;
  z-index: 1;
}
/* Lift real content above the decorative glyph. */
.google-review-style .sb-post-item > * {
  position: relative;
  z-index: 2;
}

/* --- 3. Palette — force gold stars + accent author name ----
   The plugin injects an inline rule that paints stars red
   (.sb-item-rating-icon svg { color:#ED4944 }). Our deeper
   selector + !important overrides it. */
.google-review-style .sb-post-item .sb-item-rating-ctn .sb-item-rating-icon svg,
.google-review-style .sb-post-item .sb-item-rating-ctn .sb-item-rating-icon svg * {
  color: #f5c518 !important;
  fill: #f5c518 !important;
}
.google-review-style .sb-post-item .sb-item-author-date-ctn
  .sb-item-author-ctn .sb-item-name-date .sb-item-author-name {
  color: var(--e-global-color-accent) !important;
}
.google-review-style .sb-post-item .sb-item-author-date-ctn
  .sb-item-author-ctn .sb-item-name-date .sb-item-author-date {
  color: var(--e-global-color-text) !important;
  opacity: 0.8;
}

/* --- 4. Hover animation ------------------------------------
   Whole card lifts, shadow deepens with an accent tint, border
   saturates toward the accent, left ribbon grows to full height,
   background quote mark brightens and drifts. We listen on both
   the card AND its wrapper + owl-item so hover is forgiving of
   the plugin's internal structure. */
.google-review-style .sb-post-item:hover,
.google-review-style .sb-post-item-wrap:hover .sb-post-item,
.google-review-style .sbr-owl-item:hover .sb-post-item {
  transform: translateY(-6px);
  box-shadow: 0 22px 48px rgba(2, 43, 86, 0.18);
  border-color: rgba(2, 43, 86, 0.35) !important;
}
.google-review-style .sb-post-item:hover::before,
.google-review-style .sb-post-item-wrap:hover .sb-post-item::before,
.google-review-style .sbr-owl-item:hover .sb-post-item::before {
  transform: translateY(-4px) scale(1.05);
  opacity: 0.14;
}
.google-review-style .sb-post-item:hover::after,
.google-review-style .sb-post-item-wrap:hover .sb-post-item::after,
.google-review-style .sbr-owl-item:hover .sb-post-item::after {
  transform: scaleY(1);
  opacity: 1;
}

/* --- 5. Rating-star wave on hover ---------------------------
   "Stadium wave": each star does a quick individual up-and-down
   hop, and the next star doesn't start until the previous one
   has already reached its peak. The stagger is tuned to be
   roughly half of the hop duration so there's just enough
   overlap to read as a continuous wave rather than five isolated
   bounces, but small enough that you clearly see each star rise
   after its neighbour.

   The animation-delay lives on the unhovered selector (it's
   only meaningful while an animation is actually running), so
   the hover rule sets `animation` once and every star picks up
   its own stagger. */
@keyframes review-star-wave {
  0%,
  100% { transform: translateY(0); }
  50%  { transform: translateY(-10px); }
}

/* IMPORTANT: we deliberately use the longhand animation-*
   properties here instead of the `animation` shorthand. The
   shorthand implicitly resets every omitted longhand to its
   initial value — including animation-delay:0s — and because
   this hover rule has higher specificity than the per-index
   delay rules below, the shorthand would silently clobber every
   stagger and make all five stars move simultaneously. */
.google-review-style .sb-post-item:hover
  .sb-item-rating-ctn .sb-item-rating-icon,
.google-review-style .sb-post-item-wrap:hover
  .sb-post-item .sb-item-rating-ctn .sb-item-rating-icon,
.google-review-style .sbr-owl-item:hover
  .sb-post-item .sb-item-rating-ctn .sb-item-rating-icon {
  animation-name: review-star-wave;
  animation-duration: 0.38s;
  animation-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
  animation-fill-mode: both;
  animation-iteration-count: 1;
}

/* Per-star stagger. `nth-of-type` is used instead of nth-child
   in case the plugin injects a non-icon sibling (e.g. a filled-
   rating overlay) inside .sb-item-rating-ctn — nth-of-type
   counts only the star icon elements themselves.

   Stagger = ~25% of duration: each star starts rising when its
   neighbour is only a quarter of the way up, so the peaks travel
   across the row like a continuous ripple rather than five
   discrete bounces. */
.google-review-style .sb-item-rating-ctn .sb-item-rating-icon:nth-of-type(1) { animation-delay: 0s;    }
.google-review-style .sb-item-rating-ctn .sb-item-rating-icon:nth-of-type(2) { animation-delay: 0.09s; }
.google-review-style .sb-item-rating-ctn .sb-item-rating-icon:nth-of-type(3) { animation-delay: 0.18s; }
.google-review-style .sb-item-rating-ctn .sb-item-rating-icon:nth-of-type(4) { animation-delay: 0.27s; }
.google-review-style .sb-item-rating-ctn .sb-item-rating-icon:nth-of-type(5) { animation-delay: 0.36s; }

/* Respect users who've opted out of motion. */
@media (prefers-reduced-motion: reduce) {
  .google-review-style .sb-post-item,
  .google-review-style .sb-post-item::before,
  .google-review-style .sb-post-item::after {
    transition: none !important;
  }
  .google-review-style .sb-post-item:hover,
  .google-review-style .sb-post-item-wrap:hover .sb-post-item,
  .google-review-style .sbr-owl-item:hover .sb-post-item {
    transform: none;
  }
  .google-review-style .sb-post-item:hover
    .sb-item-rating-ctn .sb-item-rating-icon,
  .google-review-style .sb-post-item-wrap:hover
    .sb-post-item .sb-item-rating-ctn .sb-item-rating-icon,
  .google-review-style .sbr-owl-item:hover
    .sb-post-item .sb-item-rating-ctn .sb-item-rating-icon {
    animation: none !important;
  }
}
