/* Header CSS */
.site-header.scrolled {
    box-shadow: 0 4px 16px hsl(270 40% 57% / .12);
}

.site-logo .elementor-image-box-img {
    min-width: 3.5rem;
}

.elementor-location-header .elementor-widget.cta-btn {
    min-width: 116px;
}

.elementor-location-header .mobile-menu-icon-close {
    display: none;
}

.elementor-location-header .elementor-element.e-con.e-flex>.e-con-inner {
    flex-wrap: nowrap;
}

.cta-icon .elementor-button-icon svg,
.cta-btn .elementor-button-icon svg,
.emergency-button .elementor-button-icon svg,
.single-post div.elementor .elementor-button-icon svg {
    width: 16px;
}

.header-location {
    display: flex;
    gap: 4px;
    align-items: center;
    border-left: 1px solid #e6e6e6;
    margin-left: 12px;
    padding-left: 1rem;
}

.header-location .user-location__text {
    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 20px;

}

.header-location svg {
    width: 16px;
}

/* End Header CSS */

/* Footer CSS */
.site-footer .elementor-widget-icon-list .elementor-icon-list-item .elementor-icon-list-text {
    padding: 0;
}

.site-footer .elementor-widget-icon-list .elementor-icon-list-item a .elementor-icon-list-text:hover {
    color: #9165bd;
}

.site-footer .elementor-widget-icon-list .elementor-icon-list-item .elementor-icon-list-icon svg {
    margin: 0;
}

/* End Footer CSS */

.page-content>div.elementor>div.elementor-element[data-element_type="container"]>div.e-con-inner,
div.elementor>div.elementor-section-wrap>div.elementor-element[data-element_type="container"]>div.e-con-inner,
.elementor-location-header>div.elementor-element[data-element_type="container"]>div.e-con-inner,
.elementor-location-footer>div.elementor-element[data-element_type="container"]>div.e-con-inner {
    padding-left: 1rem;
    padding-right: 1rem;
}

/* Home Page CSS */
.home-hero-section,
.about-hero-section,
.contact-hero-section,
.services-hero-section,
.blog-hero-section {
    position: relative;
    overflow: hidden;
}

.home-hero-section.elementor-element::before,
.contact-hero-section.elementor-element::before,
.about-hero-section.elementor-element::before,
.services-hero-section.elementor-element::before,
.single-service-hero-section.elementor-element::before,
.blog-hero-section.elementor-element::before {
    content: "";
    background: linear-gradient(135deg, hsl(270 40% 57% / .95), hsl(270 50% 67% / .85));
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: .1;
}

.services-list .elementor-widget-text-editor p,
.how-it-worrks .elementor-widget-text-editor p,
.steps-to-get-started .elementor-widget-text-editor p,
.why-choose-us .elementor-widget-text-editor p,
.features .elementor-widget-text-editor p,
.testimonials .elementor-widget-text-editor p,
.contact-section .elementor-widget-text-editor p,
.site-footer .elementor-widget-text-editor p,
.about-hero-section .elementor-widget-text-editor p,
.contact-hero-section .elementor-widget-text-editor p,
.our-commitment .elementor-widget-text-editor p,
.our-mission .elementor-widget-text-editor p,
.get-in-touch .elementor-widget-text-editor p,
.faq-section .elementor-widget-text-editor p,
.services-hero-section .elementor-widget-text-editor p,
.services-features .elementor-widget-text-editor p,
.single-service-hero-section .elementor-widget-text-editor p,
.single-services-features .elementor-widget-text-editor p,
.blog-hero-section .elementor-widget-text-editor p {
    margin-top: 0;
}

.steps-to-get-started .step-number .elementor-heading-title,
.step-number .elementor-icon-wrapper .elementor-icon {
    display: inline-flex;
    border-radius: 9999px;
    width: 4rem;
    height: 4rem;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, hsl(270 40% 57%), hsl(270 50% 67%));
}

.features .elementor-widget-icon .elementor-icon-wrapper {
    max-height: 48px;
}

/* End Home Page CSS */

/* About Us Page CSS */
.why-choose-us-about .elementor-icon-box-wrapper .elementor-icon-box-content .elementor-icon-box-title {
    margin: 0;
    margin-bottom: .5rem;
}

.why-choose-us-about .elementor-icon-box-wrapper .elementor-icon-box-icon {
    padding-top: 5px;
}

/* End About Us Page CSS */

/* Contact Us Page CSS */
.contact-details-blocks a:hover {
    text-decoration: underline;
}

.get-in-touch .contact-details-blocks .elementor-icon,
.services-features .elementor-icon,
.services-list .service-item .elementor-icon {
    background: linear-gradient(135deg, var(--e-global-color-secondary) 0%, var(--e-global-color-91d97fd) 100%);
}

.faq-section .elementor-image-box-wrapper .elementor-image-box-title {
    margin-top: 0;
}

.faq-section .elementor-image-box-wrapper .elementor-image-box-content {
    padding: 1.5rem;
    border-radius: .75rem;
    background-color: #fff;
    box-shadow: 0 2px 8px hsl(270 40% 57% / .08);
}

.faq-section .elementor-widget-n-accordion details summary {
    box-shadow: 0 2px 8px hsl(270 40% 57% / .08);
}

.faq-section .elementor-widget-n-accordion details[open] summary {
    box-shadow: none;
    border-radius: .75rem .75rem 0 0;
}

.icon-container {
    min-width: 48px !important;
    max-width: 48px !important;
}

.contact-form iframe {
    min-height: 545px;
    border-radius: 12px;
}

/* End Contact Us Page CSS */

/* Services Page CSS */
.services-list .service-item {
    background-color: #fff;
}

.services-list .service-item .elementor-image-box-title {
    margin-top: 0;
    margin-bottom: 0.5rem;
}

.services-list .service-item .elementor-image-box-content {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.services-list .service-item .elementor-image-box-img {
    display: block;
    overflow: hidden;
    position: relative;
}

.services-list .service-item:hover .elementor-image-box-wrapper>.elementor-image-box-img img,
.blog-item:hover .elementor-widget-image img {
    transform: scale(1.05);
    animation-duration: .3s;
    transition-duration: .3s;
    transition-property: transform;
    transition-timing-function:
        cubic-bezier(.4, 0, .2, 1);
}

.services-list .service-item:hover .elementor-image-box-wrapper>figure.elementor-image-box-img:before {
    width: 100%;
    content: "";
    background-color: #9165bd33;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    z-index: 1;
}

.services-list .service-item .elementor-button-wrapper a:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.services-list .service-item:hover>.elementor-widget-button .elementor-button-wrapper a {
    padding-left: 4px;
}

.services-list .service-item .elementor-icon {
    box-shadow: 0 4px 16px #9165bd1f;
}

/* 
.services-list .service-item:hover {
    box-shadow: 0 4px 16px #9165bd1f;
} */

.single-services-features .elementor-icon-list-items li.elementor-icon-list-item {
    background-color: #f5f5f5;
    padding: 1rem !important;
    border-radius: 0.75rem;
}

.single-services-features .elementor-icon-list-items li.elementor-icon-list-item .elementor-icon-list-text {
    padding: 0;
}

.single-services-features .elementor-icon-list-items li.elementor-icon-list-item .elementor-icon-list-icon svg {
    margin: 0;
}

.single-services-features .elementor-icon-list-items {
    display: grid;
    gap: 1rem;
}

.service-main-icon svg {
    stroke: #9165bd;
}

.single-post .elementor-widget-theme-post-content h2,
.single-post .elementor-widget-theme-post-content h3 {
    margin: 0 0 1rem;
}

.single-post .elementor-widget-theme-post-content h2 {
    font-size: 20px;
}

.single-post .elementor-widget-theme-post-content h3 {
    font-size: 18px;

}

.back-blog svg,
.elementor-widget-post-info svg {
    fill: none !important;
}

.back-blog a:hover svg {
    stroke: #fff;
}

@media (min-width: 768px) {
    .single-services-features .elementor-icon-list-items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* End Services Page CSS */

/* Blog Page CSS */
.quote-btn a {
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1),
        0 4px 6px -4px rgb(0 0 0 / .1) !important;
}

.blog-item:hover .elementor-heading-title {
    color: #9165bd;
}

.blog-item .elementor-button-wrapper a.elementor-button-link:hover .elementor-button-content-wrapper {
    gap: 0.75rem;
}

.blog-item:hover {
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1) !important;
}

/* End Blog Page CSS */

/* Privacy Policy Page CSS */
div.elementor-element.privacy-policy h2 {
    font-size: 1.5rem;
    line-height: 2rem;
    margin-bottom: 1rem;
    margin-top: 0;
}

div.elementor-element.privacy-policy .elementor-widget-container h2:not(:first-child) {
    margin-top: 32px;
}

div.elementor-element.privacy-policy h3 {
    font-size: 1.25rem;
    line-height: 1.75rem;
    font-weight: 600;
    margin-top: 1rem;
    margin-bottom: .75rem;
}

/* End Privacy Policy Page CSS */

/* Mobile CSS */
@media (max-width: 991px) {
    .single-services-features .elementor-icon-list-items {
        column-count: 1;
    }
}

@media (max-width: 767px) {

    /* Header CSS */
    .site-logo .elementor-image-box-img {
        min-width: 3rem;
    }

    .site-logo .elementor-image-box-wrapper {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .elementor-location-header .elementor-menu-toggle,
    .elementor-location-header .mobile-menu-icon .elementor-icon-wrapper,
    .elementor-location-header .mobile-menu-icon-close .elementor-icon-wrapper {
        font-size: unset;
        padding: 8px;
    }

    .elementor-location-header .elementor-menu-toggle svg {
        width: 24px;
    }

    .elementor-location-header .elementor-menu-toggle__icon--open,
    .elementor-location-header .mobile-menu-icon .elementor-icon-wrapper,
    .elementor-location-header .mobile-menu-icon-close .elementor-icon-wrapper {
        display: flex;
    }

    .elementor-location-popup a.elementor-button.elementor-button-link {
        width: 100%;
    }

    .mob-header ul.elementor-nav-menu li.menu-item:first-child a.elementor-item {
        padding-top: 8px;
    }

    .elementor-location-popup .cta-btn a svg {
        width: 16px;
    }

    .header-location {
        margin: 0;
        border: none;
        padding: 0;
    }

    .header-location .user-location__text {
        font-size: 12px;
    }

    .header-location svg {
        width: 12px;
    }

    /* End Header CSS */
}