
/* ============================================
   HERO BANNER SECTION
   ============================================ */
.main-banner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 379px;
    background: linear-gradient(180deg, rgba(1, 1, 1, 0.93) 0%, rgba(2, 2, 2, 0) 100%);
    pointer-events: none;
    z-index: 2;
}

/* ============================================
   SERVICES CAROUSEL SECTION
   ============================================ */
.services-carousel {
    max-width: calc(100vw - ((100vw - 1720px) / 2)) !important;
    margin: 0 0 0 auto !important;
}

.services-carousel .elementor-swiper-button svg {
    font-size: 15px !important;
}

/* ============================================
   BRANDS LOGO SECTION
   ============================================ */
.brand-logos::-webkit-scrollbar {
    display: none;
}

.brand-logos > div {
    flex-shrink: 0;
}

.brand-logos {
    overflow-x: auto !important;
}

/* ============================================
   FRAMES CAROUSEL SECTION
   ============================================ */
.frame-main-container {
    max-width: calc(100vw - ((100vw - 1760px) / 2)) !important;
    margin: 0 0 0 auto !important;
}



/* ============================================
   MAP SECTION
   ============================================ */
.loc-map iframe {
    height: 400px;
}

.timings-container {
    width: 288px;
}

.timings-container * {
    border: none;
    background: unset;
    padding: unset;
}

.timings-container ul > li:not(:last-child) > span {
    padding-bottom: 18px;
}

.timings-container ul > li {
    display: flex;
    justify-content: space-between;
}

/* ============================================
   RESPONSIVE STYLES
   ============================================ */

/* Tablet Portrait (769px and up) */
@media (min-width: 769px) {
    .loc-map, 
    .loc-map iframe {
        height: 100% !important;
    }
}

/* Laptop (1201px and up) */
@media (min-width: 1201px) {
    .services-carousel .elementor-widget-n-carousel .e-n-carousel.offset-both, 
    .elementor-widget-n-carousel .e-n-carousel.offset-right {
        padding-inline-end: 21.814% !important;   
    }  
}

/* Tablet Landscape (1024px and down) */
@media (max-width: 1024px) {
    .main-banner::before {
        height: 260px;
    }
}

/* Tablet Portrait (768px and down) */
@media (max-width: 768px) {
    .services-carousel .elementor-swiper-button {
        display: none !important;
        font-size: 11px !important;
    } 
    
    .services-carousel .elementor-swiper-button svg {
        font-size: 11px !important;
    }
}

/* Mobile (540px and down) */
@media (max-width: 540px) {
    .main-banner::before {
        height: 109px;
    }
    
    .loc-map iframe {
        height: 260px;
    }
}