.site-header{display:flex;flex-wrap:wrap;justify-content:space-between;padding-block-end:1rem;padding-block-start:1rem;position:relative}.site-header .site-title{font-size:2.5rem;font-weight:500;line-height:1.2}.site-header .site-branding{display:flex;flex-direction:column;gap:.5rem;justify-content:center}.site-header .header-inner{display:flex;flex-wrap:wrap;justify-content:space-between}.site-header .header-inner .custom-logo-link{display:block}.site-header .header-inner .site-branding .site-description,.site-header .header-inner .site-branding .site-title{margin:0}.site-header .header-inner .site-branding .site-logo img{display:block}.site-header .header-inner .site-branding.show-logo .site-title,.site-header .header-inner .site-branding.show-title .site-logo{display:none!important}.site-header.header-inverted .header-inner{flex-direction:row-reverse}.site-header.header-inverted .header-inner .site-branding{text-align:end}.site-header.header-stacked .header-inner{align-items:center;flex-direction:column;text-align:center}.site-footer{padding-block-end:1rem;padding-block-start:1rem;position:relative}.site-footer .site-title{font-size:1.5rem;font-weight:500;line-height:1.2}.site-footer .site-branding{display:flex;flex-direction:column;gap:.5rem;justify-content:center}.site-footer .footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between}.site-footer .footer-inner .custom-logo-link{display:block}.site-footer .footer-inner .site-branding .site-description,.site-footer .footer-inner .site-branding .site-title{margin:0}.site-footer .footer-inner .site-branding .site-logo img{display:block}.site-footer .footer-inner .site-branding.show-logo .site-title,.site-footer .footer-inner .site-branding.show-title .site-logo{display:none!important}.site-footer .footer-inner .copyright{align-items:center;display:flex;justify-content:flex-end}.site-footer .footer-inner .copyright p{margin:0}.site-footer.footer-inverted .footer-inner{flex-direction:row-reverse}.site-footer.footer-inverted .footer-inner .site-branding{text-align:end}.site-footer.footer-stacked .footer-inner{align-items:center;flex-direction:column;text-align:center}.site-footer.footer-stacked .footer-inner .site-branding .site-title{text-align:center}.site-footer.footer-stacked .footer-inner .site-navigation .menu{padding:0}@media(max-width:576px){.site-footer:not(.footer-stacked) .footer-inner .copyright,.site-footer:not(.footer-stacked) .footer-inner .site-branding,.site-footer:not(.footer-stacked) .footer-inner .site-navigation{display:block;max-width:none;text-align:center;width:100%}.site-footer .footer-inner .site-navigation ul.menu{justify-content:center}.site-footer .footer-inner .site-navigation ul.menu li{display:inline-block}}.site-header.header-stacked .site-navigation-toggle-holder{justify-content:center;max-width:100%}.site-header.menu-layout-dropdown .site-navigation{display:none}.site-navigation-toggle-holder{align-items:center;display:flex;padding:8px 15px}.site-navigation-toggle-holder .site-navigation-toggle{align-items:center;background-color:rgba(0,0,0,.05);border:0 solid;border-radius:3px;color:#494c4f;cursor:pointer;display:flex;justify-content:center;padding:.5rem}.site-navigation-toggle-holder .site-navigation-toggle-icon{display:block;width:1.25rem}.site-navigation-toggle-holder .site-navigation-toggle-icon:after,.site-navigation-toggle-holder .site-navigation-toggle-icon:before{background-color:currentColor;border-radius:3px;content:"";display:block;height:3px;transition:all .2s ease-in-out}.site-navigation-toggle-holder .site-navigation-toggle-icon:before{box-shadow:0 .35rem 0 currentColor;margin-block-end:.5rem}.site-navigation-toggle-holder .site-navigation-toggle[aria-expanded=true] .site-navigation-toggle-icon:before{box-shadow:none;transform:translateY(.35rem) rotate(45deg)}.site-navigation-toggle-holder .site-navigation-toggle[aria-expanded=true] .site-navigation-toggle-icon:after{transform:translateY(-.35rem) rotate(-45deg)}.site-navigation{align-items:center;display:flex}.site-navigation ul.menu,.site-navigation ul.menu ul{list-style-type:none;padding:0}.site-navigation ul.menu{display:flex;flex-wrap:wrap}.site-navigation ul.menu li{display:flex;position:relative}.site-navigation ul.menu li a{display:block;padding:8px 15px}.site-navigation ul.menu li.menu-item-has-children{padding-inline-end:15px}.site-navigation ul.menu li.menu-item-has-children:after{align-items:center;color:#666;content:"▾";display:flex;font-size:1.5em;justify-content:center;text-decoration:none}.site-navigation ul.menu li.menu-item-has-children:focus-within>ul{display:block}.site-navigation ul.menu li ul{background:#fff;display:none;left:0;min-width:150px;position:absolute;top:100%;z-index:2}.site-navigation ul.menu li ul li{border-block-end:1px solid #eee}.site-navigation ul.menu li ul li:last-child{border-block-end:none}.site-navigation ul.menu li ul li.menu-item-has-children a{flex-grow:1}.site-navigation ul.menu li ul li.menu-item-has-children:after{transform:translateY(-50%) rotate(-90deg)}.site-navigation ul.menu li ul ul{left:100%;top:0}.site-navigation ul.menu li:hover>ul{display:block}footer .site-navigation ul.menu li ul{bottom:100%;top:auto}footer .site-navigation ul.menu li ul ul{bottom:0}footer .site-navigation ul.menu a{padding:5px 15px}.site-navigation-dropdown{bottom:0;left:0;margin-block-start:10px;position:absolute;transform-origin:top;transition:max-height .3s,transform .3s;width:100%;z-index:10000}.site-navigation-toggle-holder:not(.elementor-active)+.site-navigation-dropdown{max-height:0;transform:scaleY(0)}.site-navigation-toggle-holder.elementor-active+.site-navigation-dropdown{max-height:100vh;transform:scaleY(1)}.site-navigation-dropdown ul{padding:0}.site-navigation-dropdown ul.menu{background:#fff;margin:0;padding:0;position:absolute;width:100%}.site-navigation-dropdown ul.menu li{display:block;position:relative;width:100%}.site-navigation-dropdown ul.menu li a{background:#fff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.102);color:#55595c;display:block;padding:20px}.site-navigation-dropdown ul.menu li.current-menu-item a{background:#55595c;color:#fff}.site-navigation-dropdown ul.menu>li li{max-height:0;transform:scaleY(0);transform-origin:top;transition:max-height .3s,transform .3s}.site-navigation-dropdown ul.menu li.elementor-active>ul>li{max-height:100vh;transform:scaleY(1)}@media(max-width:576px){.site-header.menu-dropdown-mobile:not(.menu-layout-dropdown) .site-navigation{display:none!important}}@media(min-width:768px){.site-header.menu-dropdown-mobile:not(.menu-layout-dropdown) .site-navigation-toggle-holder{display:none!important}}@media(min-width:576px)and (max-width:767px){.site-header.menu-dropdown-mobile:not(.menu-layout-dropdown) .site-navigation{display:none!important}}@media(min-width:992px){.site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation-toggle-holder{display:none!important}}@media(max-width:992px){.site-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation{display:none!important}}.site-header.menu-dropdown-none:not(.menu-layout-dropdown) .site-navigation-toggle-holder{display:none!important}
/* ==========================================
   GOOGLE REVIEWS SLIDER
========================================== */

.google-reviews-slider {
    position: relative;
    width: 100%;
    padding: 0px 25px !important;
    overflow: hidden;
    font-family: "Poppins", sans-serif;
}


/* ==========================================
   VIEWPORT
========================================== */

.reviews-viewport {
    width: 100%;
    overflow: hidden;
}

.review-user img {
    border-radius: 50px !important;
}


/* ==========================================
   SLIDER TRACK
========================================== */

.reviews-track {
    display: flex;
    gap: 20px;
    width: 100%;
    padding: 10px 0;
    transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);

    will-change: transform;
}


/* ==========================================
   REVIEW CARD
========================================== */

.review-card {
    position: relative;

    flex: 0 0 calc((100% - 40px) / 3);

    min-width: 0;

    height: 250px;

    padding: 25px 25px 22px;

    background: #ffffff;

    border-radius: 15px;

    box-shadow:
        0 2px 5px rgba(0, 0, 0, 0.04),
        0 5px 16px rgba(0, 0, 0, 0.07);

    overflow: hidden;
}


/* ==========================================
   HEADER
========================================== */

.review-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}


.review-user {
    display: flex;
    align-items: center;

    min-width: 0;
}


/* ==========================================
   AVATAR
========================================== */

.review-avatar {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;

    border-radius: 50%;

    object-fit: cover;

    background: #ddd;
}


.initials-avatar {
    display: flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    font-size: 24px;
    font-weight: 400;
}


.initials-avatar.purple {
    background: #8054c7;
}


.initials-avatar.green {
    background: #67a62d;
}


.initials-avatar.pink {
    background: #c65b87;
}


/* ==========================================
   USER INFORMATION
========================================== */

.review-user-info {
    margin-left: 18px;

    min-width: 0;
}


.review-name {
    color: #111111;

    font-size: 14px;
    line-height: 1.2;

    font-weight: 600;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.review-date {
    margin-top: 4px;

    color: #929292;

    font-size: 12px;
    line-height: 1.2;

    font-weight: 400;
}


/* ==========================================
   GOOGLE LOGO
========================================== */

.google-logo {
    width: 25px;
    height: 25px;

    flex: 0 0 25px;
}


.google-logo svg {
    display: block;

    width: 100%;
    height: 100%;
}


/* ==========================================
   RATING
========================================== */

.review-rating {
    display: flex;
    align-items: center;

    margin-top: 18px;
}


.review-rating > span:not(.verified-badge) {
    color: #fbb900;

    font-family: Arial, sans-serif;

    font-size: 25px;

    line-height: 1;

    margin-right: 1px;
}


/* ==========================================
   VERIFIED BADGE
========================================== */

.verified-badge {
    width: 19px;
    height: 19px;

    margin-left: 9px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #4285f4;

    color: #ffffff;

    font-family: Arial, sans-serif;

    font-size: 12px;
    font-weight: 700;

    line-height: 1;
}


/* ==========================================
   REVIEW TEXT
========================================== */

.review-content {
    margin-top: 13px;

    color: #171717;

    font-size: 16px;
    line-height: 1.48;

    font-weight: 400;

    letter-spacing: -0.15px;
}


/* ==========================================
   NAVIGATION BUTTONS
========================================== */

.review-nav {
    position: absolute;

    top: 50%;

    width: 40px;
    height: 40px;

    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    z-index: 10;

    border: 1px solid #d8d8d8;

    border-radius: 50%;

    background: #ffffff;

    cursor: pointer;

    transform: translateY(-50%);

    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);

    transition:
        background 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}


.review-prev {
    left: 5px;
}


.review-next {
    right: 5px;
}


.review-nav:hover {
    background: #fafafa;

    box-shadow:
        0 3px 10px rgba(0, 0, 0, 0.10);
}


.review-nav:active {
    transform: translateY(-50%) scale(0.94);
}


.review-nav svg {
    width: 20px;
    height: 20px;

    fill: none;

    stroke: #555555;

    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* ==========================================
   TABLET
========================================== */

@media (max-width: 1000px) {

    .review-card {
        flex-basis: calc((100% - 20px) / 2);
    }

    .review-prev {
        left: 3px;
    }

    .review-next {
        right: 3px;
    }
}


/* ==========================================
   MOBILE
========================================== */

@media (max-width: 650px) {

    .google-reviews-slider {
        padding: 10px 18px;
    }

    .review-card {
        flex-basis: 100%;

        height: auto;
        min-height: 270px;

        padding: 22px;
    }

    .review-name {
        font-size: 17px;
    }

    .review-date {
        font-size: 14px;
    }

    .review-content {
        font-size: 17px;
    }

    .review-nav {
        width: 36px;
        height: 36px;
    }

    .review-prev {
        left: 0;
    }

    .review-next {
        right: 0;
    }
}

/* ==========================================
   GOOGLE REVIEWS SUMMARY BAR
========================================== */

.google-reviews-summary {
    width: calc(100% - 30px);
    margin: 0 auto 20px;

    min-height: 70px;
    padding: 0 15px;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;

    background: #ffffff;

    border-radius: 16px;

    box-shadow:
        0 2px 5px rgba(0, 0, 0, 0.05),
        0 5px 15px rgba(0, 0, 0, 0.08);

    font-family: "Poppins", sans-serif;
}

.elementor-element-ee90fa4 .e-con-inner {
    gap: 10px !important;
}


/* ==========================================
   LEFT SIDE
========================================== */

.google-reviews-summary-left {
    display: flex;
    align-items: center;

    gap: 0;
}


/* ==========================================
   GOOGLE LOGO
========================================== */

.summary-google-logo {
    width: 102px;
    height: auto;

    display: flex;
    align-items: center;
}

.summary-google-logo svg {
    display: block;

    width: 100%;
    height: auto;
}


/* ==========================================
   STARS
========================================== */

.summary-stars {
    display: flex;
    align-items: center;

    margin-left: 11px;

    gap: 1px;
}

.summary-stars span {
    display: block;

    color: #fbbc05;

    font-family: Arial, sans-serif;

    font-size: 25px;
    line-height: 1;
}

.summary-google-logo {
    width: 190px !important;
}

/* ==========================================
   REVIEW COUNT
========================================== */

.summary-review-count {
    margin-top: 5px;
    margin-left: 13px;
    color: #111111;
    font-size: 16px;
    line-height: 1;
    font-weight: 600;
    white-space: nowrap;
}


/* ==========================================
   WRITE A REVIEW BUTTON
========================================== */

.write-review-button {
    min-width: 177px;
    height: 44px;

    padding: 0 23px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 24px;

    background: #95c11f;

    color: #ffffff !important;

    font-size: 14px;
    line-height: 1;

    font-weight: 600;

    text-decoration: none;

    white-space: nowrap;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}


.write-review-button:hover {
    background: #86ad18;

    color: #ffffff;

    transform: translateY(-1px);
}


/* ==========================================
   TABLET
========================================== */

@media (max-width: 800px) {

    .google-reviews-summary {
        width: calc(100% - 30px);

        padding: 0 20px;
    }

    .summary-google-logo {
        width: 90px;
    }

    .summary-stars span {
        font-size: 22px;
    }

    .summary-review-count {
        font-size: 16px;

        margin-left: 10px;
    }

    .write-review-button {
        min-width: 150px;

        height: 42px;

        font-size: 15px;
    }
}


/* ==========================================
   MOBILE
========================================== */

@media (max-width: 600px) {

    .google-reviews-summary {
        min-height: 70px;

        padding: 0 15px;

        margin-bottom: 15px;
    }

    .summary-google-logo {
        width: 72px;
    }

    .summary-stars {
        margin-left: 7px;
    }

    .summary-stars span {
        font-size: 17px;
    }

    .summary-review-count {
        margin-left: 7px;

        font-size: 13px;
    }

    .write-review-button {
        min-width: auto;

        height: 36px;

        padding: 0 14px;

        font-size: 12px;
    }
}


@media (max-width: 420px) {

    .google-reviews-summary {
        padding: 0 12px;
    }

    .summary-google-logo {
        width: 65px;
    }

    .summary-stars {
        margin-left: 5px;
    }

    .summary-stars span {
        font-size: 15px;
    }

    .summary-review-count {
        font-size: 11px;
        margin-left: 5px;
    }

    .write-review-button {
        padding: 0 11px;

        font-size: 11px;
    }
}
/* End custom CSS */