/**************Branches CSS******************/
.wpsl-opening-hours{
    margin-bottom: 0;
}
.wpsl-opening-hours tbody tr td {
    font-size: 14px;
    line-height: 18px;
    background: transparent !important;
    padding-bottom: 18px;
    min-width: 142px;
}
.maps .wpsl-gmap-canvas {
    display: block;
    height: 510px;
}

/*****/
/********Utility Classes**********/
.secondary-black-btn a,
.secondary-black-btn button{
    background: transparent;
    border-color: #2B2E31;;
    color: #1F1F1F;
}
.secondary-black-btn button:hover {
    color: #fff;
}
.dual-btn .ekit-wid-con .ekit-double-btn {
    width: auto;
}
/********Home Banners*********/
.home-banners .swiper-slide,
.home-banners .swiper-wrapper{
    background: #fff !important;
}

/*******USP*********/
.usps .usp {
    flex: 1;
}
/*******Services******/
.service-slides .swiper-slide {
    border-radius: 32px;
 
}
.service-slides .service-slide {
    cursor: pointer;
}
.service-slides .service-slide:before{
    content:'';
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FF8000;
    opacity: 0.4;
    border-radius: 32px;
    transition: opacity 0.4s ease;
}
.service-slides .service-slide:hover::before {
    opacity: 0;
}
.tile-description {
    opacity: 0;
    transform: translateY(0px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    pointer-events: none; 
}
.tile-description p {
    margin-bottom: 0 !important;
}
.service-slide:hover .title,
.service-slide:hover .elementor-element-20cdd0a,
.service-slide:hover .tile-description {
    opacity: 1;
    height: auto;
    transform: translateY(-20px);
}
/*.store-loc-toggle-wrapper .hide-on-mobile {*/
/*    display: block !important;*/
/*}*/
/*********Awards***********/
.award-wrapper{
    flex: 1;
}
.award-wrapper ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.award-wrapper ul li{
     position: relative;
    /*padding-left: 10px;*/
}
.award-wrapper ul li::before {
    content: "•";
    margin-right: 5px;
}
.award-wrapper.redditech .elementor-image-box-img img {
    margin: auto;
}
/***********Bespoke TIles**********/
.bespoke-serv-tiles .elementor-image-box-content {
    position: relative;
    padding-right: 160px;
    
}
.services-tile-btn {
    position: absolute;
    right: 0;
    top: 0;
    border: 1px solid #2B2E31;
    border-radius: 24px;
    padding: 8px 24px;
    text-transform: uppercase;
    font-weight: 500;
    color: #1f1f1f;
}
.services-tile-btn:hover {
    border-color:var( --e-global-color-86739d8 );
    background-color: var( --e-global-color-86739d8 );
    color: #fff;
}
.bespoke-serv-tiles .elementor-image-box-title a:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;

}
.service-slides .swiper-button-disabled {
    display: none !important;
}
/*********Store Locator**********/
.store-wrapper .e-loop-item > div {
    position: unset;
}
.store-data-wrapper {
    cursor: pointer;
}
.store-data-wrapper:hover  *{
    color: #fff !important;
}
.store-data-wrapper:hover a {
    border-color: #fff !important;
}

.store-map-wrapper .wpsl-gmap-canvas {
    margin: 0;
    height: 416px !important;
}
/***************Store Locator Tile**************/
.store-data-wrapper {
    cursor: pointer;
}
.store-data-wrapper.active {
    background-color: var( --e-global-color-8f934b8 ) !important;
}
.store-data-wrapper.active  *,
.store-data-wrapper:hover  *{
    color: #fff !important;
}
.store-data-wrapper.active a,
.store-data-wrapper:hover a {
    border-color: #fff !important;
}
.store-data-wrapper:hover a:hover span {
    color: #1f1f1f !important;
}
.store-data-wrapper.active .branch-title::before,
.store-data-wrapper:hover .branch-title::before {
    filter: invert(1) brightness(2);
}
.store-data-wrapper .branch-title::before {
    content:'';
    background: url(/wp-content/uploads/2025/12/map-marker-alt.png) no-repeat left center / 20px;
    width: 20px;
    height: 26px;
    position: absolute;
    left: 0;
    top: 4px;
    
}
.store-data-wrapper::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -22px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 26px solid transparent;
    border-right: 26px solid transparent;
    border-top: 23px solid transparent;
}
.store-data-wrapper:hover:after,
.store-data-wrapper.active::after {
    border-top: 23px solid #2E3192;
}
.store-data-wrapper .wpsl-locations-details {
    margin: 0;
    max-width: 266px;
}
.store-data-wrapper .wpsl-location-address {
    margin-bottom: 20px;
}
.store-data-wrapper .wpsl-location-address span {
    display: inline-block;
    margin-right: 4px;
}
.store-data-wrapper .wpsl-location-address br{
    display: none !important;    
}
.store-data-wrapper .wpsl-contact-details {
    font-size: 0;
    margin: 0;
}
.store-data-wrapper .wpsl-contact-details span,
.store-data-wrapper .wpsl-contact-details a{
    font-size: 16px;
}
.store-data-wrapper::after {
    bottom: -22px;
}

.store-data-wrapper .wpsl-contact-details span,
.store-data-wrapper .wpsl-contact-details a {
    font-size: 16px;
}
.store-map-wrapper {
    display: none;
}
.store-data-wrapper.active + .store-map-wrapper  {
    display: block !important;
}
.store-map-wrapper iframe {
    display: block;
    height: 416px !important;
}
/*************Testimonials CSS*************/
.testimonials-wrapper .elementor-swiper-button:hover {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}
.testimonials-wrapper .elementor-swiper-button-prev{
    left: 30px !important;
}
.testimonials-wrapper .elementor-swiper-button-next {
    right: 30px !important;
}
.testimonials-wrapper .elementor-testimonial__cite {
    margin: 0 !important;
}
/************Responsive CSS************/
@media screen and (max-width: 1600px) and (min-width: 1366px){
    .banner-outer-wrapper {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
    .banner-txt-wrapper {
        padding-left: 0 !important;
    }
    .home-banners .banner-svg img {
        width: 75%;
    }
}
@media screen and (max-width:1100px) {
    /***********Generic*************/
    .flex-d-c .ekit_double_button{
        flex-direction: column;
        gap: 16px;
    }
    .flex-d-c .ekit_double_button .ekit-double-btn {
        width: 100% ;
        flex: 1;
    }
    .flex-d-c.free-exam .ekit_double_button{
        flex-direction: row;
    }
    /*************End***************/
    .bespoke-serv-tiles .elementor-image-box-content {
        padding-right: 0;
    }
    .services-tile-btn {
        position: relative;
        display: block;
        margin-top: 16px;
        /*max-width: 160px;*/
        text-align: center;
    }
    /*****/
    .home-banners .elementor-heading-title,
    .home-banners .elementor-widget-text-editor {
        filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6));
    
    }
    
    
}
@media screen and (max-width: 768px) {
    
    /*******Misc********/
    .hide-on-mobile {
        display: none;
    }
    
    .flex-d-c .ekit-double-btn-one {
        margin-bottom: 8px !important;
    }
    .usp .elementor-icon-box-content {
        display: flex;
        align-items: center;
    }
    .styling-expert.flex-d-c .ekit_double_button{
        display: flex;
        flex-direction: column-reverse;
    }
    /***********Homepage Banners***********/
    .home-banners .banner-svg {
        right: -30px;
        left: unset !important;
    }
    .home-banners .swiper-pagination{
        left: 36px !important;
    }
    .home-banners .swiper-pagination .swiper-pagination-bullet::before {
        background-color: #909090 !important;
    }
    .home-banners .swiper-pagination .swiper-pagination-bullet-active::before {
        background-color: #fff !important;
    }
    
    .home-banners .elementor-heading-title,
    .home-banners .elementor-widget-text-editor {
        filter: none;
    
    }
    
    /********Service CSS********/
    .service-slides .swiper-slide {
        border-radius: 16px;
    }
    .service-slides .service-slide:before {
        border-radius: 16px;    
    }
    .service-slides .ekit-swiper-arrow-button {
        display: none;
    }
    .free-exam-wrapper {
        background: #2E3192 !important;
        border: none !important;
    }
    .free-exam-wrapper .txt-clr-white *{
        color: #fff !important;
    }
    .free-exam-wrapper .flex-d-c .ekit-double-btn-two {
        border-color: #fff !important;
    }
    /***********Award CSS************/
    .award-wrapper .elementor-image-box-content ul {
        font-size: 14px;
        line-height: 1.6;
    }
    /********Testimonials********/
    
    .testimonials-wrapper .elementor-swiper-button {
        top: 108% !important;
        left: calc(50% + 24px) !important;
        transform: translate(-50% , 0%) !important;
        width: 33px;
        height: 33px;
    }
    .testimonials-wrapper .elementor-swiper-button.elementor-swiper-button-prev {
        left: calc(50% - 24px) !important;
    }

    /**********Store Details***********/
    .store-data-wrapper.opened .hide-on-mobile {
        display: block !important;
    }
    .store-data-wrapper .branch-title::after {
        content: '';
        position: absolute;
        right: 0;
        top: 7px;
        background: url(/wp-content/uploads/2025/12/Plus.svg) no-repeat center right / 19px;
        width: 19px;
        height: 19px;
    }
    .store-data-wrapper.active .branch-title::after {
         filter: invert(1) brightness(1.8);
    }
    .store-data-wrapper.opened .branch-title::after {
        background: url(/wp-content/uploads/2025/12/minus.svg) no-repeat center right / 19px;
        filter: unset;
    }
    .store-map-wrapper  {
        position: relative;
        left: unset;
    }
    .store-data-wrapper::after {
        bottom: -12px;
    }
    .store-data-wrapper .wpsl-location-address {
        margin-bottom: 12px;
    }
    .store-data-wrapper .wpsl-contact-details span,
    .store-data-wrapper .wpsl-contact-details a {
        font-size: 14px;
    }
    .store-map-wrapper .wpsl-gmap-canvas {
        height: 400px !important;
    }
    .store-wrapper .e-loop-item > div {
        height: auto !important;
    }
}
@media screen and (max-width: 480px) {
    .service-slide {
        background-size: cover !important;
        
    }
}



