#map {
    /* height: 800px;
    width: 100%; */
    border-radius: 4px;
    aspect-ratio: 1 / 1;
}

.category-container .accordion-item {
    border: 0;
    background-color: transparent;
}

/* .neighborhood-map-container button[type=button] {
    background-color: initial !important;
    color: initial !important;
} */

.category-container .accordion-header {
    padding: 15px 0;
    cursor: pointer;
    border-bottom: 1px solid #ccc;
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
}

.category-container .accordion-header .header-icon-text {
    flex: 1;
    font-family: var(--body_typography-font-family);
}

.category-container .accordion-header .toggle-icon {
    font-weight: bold;
    font-size: 18px;
}

.category-container .accordion-header .plus-icon::before {
    content: "+";
}

.category-container .accordion-header .minus-icon::before {
    content: "-";
}

.category-container .accordion-content {
    display: none;
    padding: 20px 0;
    /*max-height: 275px;
  overflow: auto;*/
}

.category-container .accordion-content ul {
    margin: 0;
    padding: 0;
}

.category-container .accordion-content ul li {
    list-style: none;
}

.category-container .accordion-content ul li a {
    color: #fff;
    padding: 8px 15px;
    min-height: auto;
    display: block;
    font-family: var(--body_typography-font-family);
    font-size: 15px;
}

.category-container .accordion-content ul li a:hover,
.category-container .accordion-content ul li a.active {
    background-color: #0000001f;
}

.map-container {
    flex-basis: 50%;
    padding: 60px 0;
}

.category-container {
    flex-basis: 34%;
    background-color: var(--awb-color4);
    padding: 40px;
}

.category-container h2 {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 1.5rem !important;
    margin-bottom: 20px;
}

.category-container .accordion-header svg {
    margin-right: 15px;
    width: 25px;
}

.category-container .accordion-header svg path {
    fill: #fff;
}

.gm-style .gm-style-iw-tc::after {
    background: var(--awb-color4) !important;
}

.gm-style .gm-style-iw-tc {
    filter: none !important;
}

button.gm-ui-hover-effect {
    width: auto !important;
    height: auto !important;
    position: absolute !important;
    top: 22px;
    z-index: 1;
    right: 5px;
    opacity: 1;
}

button.gm-ui-hover-effect span {
    margin: 0 !important;
    background-color: #fff;
}

.gm-style-iw-d {
    position: relative;
    background: var(--awb-color4);
    color: white;
    padding: 15px 50px 15px 15px;
    font-size: 13px;
    border-radius: 6px;
    font-family: Arial;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    font-family: var(--body_typography-font-family);
}

.gm-style-iw-d .marker-title {
    color: #fff;
    margin: 0 0 10px;
    text-transform: uppercase;
    font-size: 1.2rem;
    letter-spacing: 2px;
}

.gm-style-iw-d p {
    margin: 0;
}

.gm-style .gm-style-iw-c {
    width: 250px;
}

.neighborhood-map {
    padding: 0;
}

.gm-style-iw-d p a {
    color: #fff;
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 3px;
}

#map-key {
    overflow: auto;
    height: 100%;
}

/* ---------------New Map Routes CSS---------------- */
.map-route-container {
    flex-basis: 42%;
    background-color: #fff;
    padding: 40px 12px;
}

.map-route-container .map-route-wrapper {
    margin: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;

}

.map-route-container .route-header {
    margin-bottom: 20px;
}

.map-route-container .route-title {
    letter-spacing: -2.1px;
    margin-bottom: 12px;
}

.neighborhood-map-container .route-subtitle {
    /* font-size: 15px;
    color: #666;
    margin: 0; */
    font-family: var(--e-global-typography-primary-font-family);
    font-weight: 600;
    font-size: 15px;
    line-height: 1.2em;
    text-transform: uppercase;
    letter-spacing: 0.9px;
    color: var(--e-global-color-accent);
    margin-bottom: 10px;
}

.map-route-container .route-locations-list {
    overflow-x: hidden;
    max-height: 500px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.map-route-container .route-location-item {
    cursor: pointer;
}

.map-route-container .route-location-header {
    display: flex;
    padding: 10px 0;
    gap: 10px;
}

.map-route-container .route-location-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.map-route-container .route-location-icon svg {
    width: 18px;
    height: 18px;
    stroke: #888;
}

.map-route-container .route-location-info {
    flex: 1;
    line-height: 24px;
}

.map-route-container .route-location-name {
    font-family: var(--e-global-typography-primary-font-family);
    font-size: 0.95rem;
    font-weight: 400;
    color: #333;
}

.map-route-container .route-location-item.active .route-location-name {
    color: #333;
    font-weight: 700;
}

.map-route-container .route-location-item.active .route-location-icon svg {
    stroke: var(--button_gradient_top_color);
}

.map-route-container .route-location-distance {
    font-size: 0.8rem;
    color: #333;
    font-weight: 500;
}

.map-route-container .route-location-toggle {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

.map-route-container .route-location-toggle svg {
    stroke: #ccc;
}

.map-route-container .route-location-item.active .route-location-toggle {
    transform: none;
}

.map-route-container .route-location-item.active .route-location-toggle svg {
    stroke: #000;
}

.map-route-container .route-location-details {
    display: none;
    padding: 0 0 15px 36px;
}

.map-route-container .route-location-item.active .route-location-details {
    display: block;
}

.map-route-container .route-location-details p {
    margin: 0 0 5px 0;
    font-size: 0.85rem;
    color: #666;
}

.map-route-container .route-directions-btn-wrapper {
    margin-top: 36px;
}

.map-route-container .route-directions-btn {
    color: #fff;
    border: none;
    padding: 10px 28px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1px;
    border-radius: 4px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.3s ease;
    background: var(--awb-color4);
}

/* Map Route Accordion Styles */
.map-route-container .accordion-item {
    border: 0;
    background-color: transparent;
}

.map-route-container .accordion-header {
    display: flex;
    gap: 10px;
    cursor: pointer;
    color: #333;
    font-size: 1rem;
    border-bottom: none;
}

.map-route-container .accordion-header .route-location-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.map-route-container .accordion-header .route-location-icon svg {
    width: 18px;
    height: 18px;
    stroke: #888;
}

.map-route-container .accordion-item.active .accordion-header .route-location-icon svg {
    stroke: var(--awb-color4);
}

.map-route-container .accordion-header .toggle-icon {
    font-weight: bold;
    font-size: 18px;
    color: #ccc;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.map-route-container .accordion-header .plus-icon::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23AFAFAF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.map-route-container .accordion-header .minus-icon::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.map-route-container .accordion-item.active .accordion-header .toggle-icon {
    color: #000;
}

.map-route-container .accordion-item.active .route-location-name {
    font-weight: 700;
}

/* Smooth expand/collapse via max-height + opacity (display can't be animated).
   display:flex !important so any stray inline display:none from other scripts
   (e.g. custom.js's unscoped .slideUp) can't make the panel snap shut.
   Flex with a 24px ::before spacer + 10px gap mirrors the header's
   icon-width + gap, so content text aligns exactly under the heading text. */
.map-route-container .accordion-content {
    display: flex !important;
    gap: 10px;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    padding: 0;
    transition: max-height 0.35s ease, opacity 0.25s ease;
}

.map-route-container .accordion-content::before {
    content: "";
    width: 24px;
    flex-shrink: 0;
}

.map-route-container .accordion-item.active>.accordion-content,
.map-route-container .accordion-content.open {
    max-height: 120px;
    opacity: 1;
}

.map-route-container .accordion-content p {
    margin: 0;
    font-size: 12px;
    font-weight: 500;
    color: #333;
}

.map-header {
    display: none;
}

.poi-left-label {
    position: absolute;
    top: 10px;
    transform: translate(28px, -4px);
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    pointer-events: none !important;
    touch-action: none !important;
    user-select: none;
    z-index: 99999;
}

.poi-pill-button {
    position: absolute;
    transform: translate(-50%, -50%);
    background-color: #8B1E1E;
    color: #fff;
    padding: 8px 18px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    z-index: 1000;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    pointer-events: auto;
    user-select: none;
}

.neighborhood-map-container.flex-layout {
    display: flex;
    justify-content: space-between;
}

/* =============== Shuttle Timetable + Map Two-Column Layout =============== */
.shuttle-timetable-layout {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.shuttle-timetable-side {
    flex: 0 0 45%;
    min-width: 0;
}

.shuttle-map-side {
    flex: 1;
    min-width: 0;
    position: sticky;
    top: 20px;
}

.shuttle-map-side .shuttle-map-container {
    padding: 0 !important;
}

.shuttle-map-side #shuttle-route-map {
    width: 100%;
    height: 500px;
}
.shuttle-map-side #shuttle-route-map.timetable-map {
    height: 700px;
    aspect-ratio: auto;
}

@media (max-width: 1024px) {
    .shuttle-timetable-layout {
        flex-direction: column;
        gap: 30px;
    }

    .shuttle-timetable-side,
    .shuttle-map-side {
        flex: 0 0 100%;
        width: 100%;
        position: static;
    }

    .shuttle-map-side #shuttle-route-map {
        height: 400px;
    }
}

/* =============== Shuttle Map Styles =============== */
#shuttle-route-map {
    /* height: 800px;
        width: 100%; */
    aspect-ratio: 1 / 1;
}

.shuttle-get-directions {
    display: none;
    text-align: center;
    padding: 20px;
    max-width: 500px;
    margin: 0 auto;
}

.shuttle-get-directions-btn {
    display: inline-block;
    /* background: var(--e-global-color-primary); */
    background: var(--awb-color4);
    color: #fff !important;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 10px 28px;
    border: none;
    cursor: pointer;
    border-radius: 4px;
}

.shuttle-get-directions-btn:hover {
    background: var(--e-global-color-primary);
    color: #fff !important;
}

.shuttle-map-container {
    flex-basis: 100% !important;
    padding: 0 !important;
}

/* .shuttle-map-container #shuttle-route-map {
    height: 800px;
    width: 100%;
} */

/* Route Marker Labels (custom overlays) */
.shuttle-route-marker-label {
    pointer-events: none;
    user-select: none;
    padding: 5px 19px 5px 19px !important;
}

/* University Marker Labels */
.university-marker-label {
    pointer-events: none;
    user-select: none;
}

/* Stop Point Pill Labels */
.stop-point-label {
    pointer-events: none;
    user-select: none;
}

/* Mobile Filter Buttons */
.shuttle-filter-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    padding: 16px;
    padding-top: 32px;
    background: #fff;
}

.shuttle-filter-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 0 !important;
    border: 1px solid #333 !important;
    border-radius: 50px !important;
    background: transparent !important;
    color: #333 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    flex: 0 1 calc(50% - 5px) !important;
    box-sizing: border-box !important;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    font-family: var(--e-global-typography-primary-font-family, Arial, sans-serif);
    text-transform: none !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    height: 46px;
    white-space: nowrap;
    max-width: 155px;
}

.shuttle-filter-btn.active {
    background: #333 !important;
    color: #fff !important;
    border-color: #333 !important;
}

@media (max-width:1024px) {
    #map-key {
        padding: 0 20px;
    }

    .neighborhood-map-container {
        /* flex-wrap: wrap; */
        background-color: #fff;
    }

    .category-container {
        flex-basis: 100%;
        /*max-height: 40vh;*/
        /*overflow: auto;*/
        /*padding: 20px;*/
        padding: 20px 0;
    }

    .category-container h2 {
        text-align: center;
        font-size: 1.2rem !important;
        margin-bottom: 10px;
        padding: 0 20px;
    }

    .category-container .accordion-header {
        padding: 12px 0;
        /*font-size: .8rem;*/
    }

    .category-container .accordion-header svg {
        width: 20px;
    }

    .category-container .accordion-content {
        padding: 10px 0;
    }

    .category-container .accordion-content ul li a,
    .category-container .accordion-content ul li a.active {
        font-size: 14px;
    }

    .map-header {
        display: block;
        /* padding: 30px 20px 0; */
    }

    .route-header {
        display: none;
    }

    .map-route-container .route-title {
        font-size: 1.2rem;
    }
}

@media (max-width: 767px) {

    .shuttle-get-directions {
        display: block !important;
    }

    .shuttle-filter-btn.active {
        background: #1a1a1a !important;
        color: #fff !important;
        border-color: #1a1a1a !important;
    }

    .shuttle-filter-btn.active svg {
        fill: #fff !important;
    }

    /* 
    .shuttle-map-container {
        height: 360px !important;
    } */
}

@media (max-width: 400px) {
    .shuttle-filter-btn {
        padding: 8px 8px !important;
        gap: 4px !important;
    }

    .shuttle-filter-btn svg {
        width: 16px !important;
        height: 16px !important;
    }
}

@media (max-width:767px) {

    /* Map Route Container Responsive */
    #map {
        /* height: 100%;
        width: 100%; */
        border-radius: 4px;
    }

    .map-header {
        display: block;
        /* padding: 30px 20px 0; */
        padding: 30px 0 20px;
    }

    .route-header {
        display: none;
    }

    .map-container {
        flex-basis: 100%;
        padding: 0 0 16px 0;
    }

    .map-route-container .route-subtitle {
        margin-bottom: 0;
    }

    .post-content p {
        font-size: 15px;
    }

    .map-route-container {
        flex-basis: 100%;
        /* padding: 0 20px 30px 20px; */
        padding: 0;
        order: 1;
    }

    .map-route-container .map-route-wrapper {
        max-width: 100%;
    }

    .map-route-container .route-title {
        font-size: 1.2rem;
    }

    .map-route-container .route-locations-list {
        display: flex;
        margin-top: 9px;
    }

    .map-route-container .route-directions-btn-wrapper {
        text-align: center;
        margin-bottom: 50px;
    }

    .neighborhood-map-container.flex-layout {
        flex-direction: column;
    }
}

@media (max-width:1279px) and (min-width: 768px) {
    /* .shuttle-map-container #shuttle-route-map {
        height: 600px;
    } */

    .map-container {
        padding: 0 24px;
    }

    .map-route-container {
        padding: 30px 20px;
    }

    .map-route-container .map-route-wrapper {
        max-width: none;
    }

    .neighborhood-map-container.flex-layout {
        flex-direction: column;
    }

    .neighborhood-map-container.flex-layout .map-header {
        order: 1;
        display: block;
        padding: 30px 20px 20px;
    }

    .neighborhood-map-container.flex-layout .map-container {
        order: 2;
    }

    .neighborhood-map-container.flex-layout .map-route-container {
        order: 3;
    }

    .route-header {
        display: none;
    }

    .map-route-container .route-locations-list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 18px;
        max-height: none;
    }
}

/* =========================================================
   SHUTTLE TIMETABLE (ACCORDION)
   Markup lives in shuttle-map-shortcode.php, inside the
   `$shortcode_view === 'timetable'` block.

   Class names are deliberately prefixed with .shuttle-timetable-
   instead of reusing .accordion-header / .accordion-item, because
   the unscoped .slideUp handler in custom.js binds to those names
   and would snap these panels shut on click.
   ========================================================= */

/* Full-width white band the timetable sits on. */
.shuttle-timetable-wrapper {
    background: #fff;
    padding: 60px 20px;
}

/* Narrow, centred reading column for heading + stop list. */
.shuttle-timetable-container {
    margin: 0 auto;
}

/* "COMMUTING TO CLASS / MADE EASY" — heavy uppercase display type.
   Line break comes from the <br> in the markup, not from wrapping. */
.shuttle-timetable-container .shuttle-timetable-heading {
    font-family: var(--h2_typography-font-family);
    font-size: 28px;
}

/* Grey intro paragraph above the stop list — loose leading, light grey. */
.shuttle-timetable-container .shuttle-timetable-intro {
    margin: 0 0 30px;
    font-family: var(--body_typography-font-family, Arial, sans-serif);
    font-size: 14px;
    line-height: 1.75;
    font-weight: 400;
}


/* ---------------------------------------------------------
   ACCORDION ROWS
   --------------------------------------------------------- */

/* Plain block wrapper — rows stack, no flex/grid needed. */
.shuttle-timetable-accordion {
    display: block;
}

/* One stop. Strips any card border/background a theme may add. */
.shuttle-timetable-item {
    border: 0;
    background-color: transparent;
    margin-bottom: 10px;
}

/* The clickable row: [clock icon] [stop name .......] [chevron]
   This is a real <button>, so every declaration is flagged !important
   to beat the theme's global button styling (pill shape, fill colour,
   uppercase text) without having to out-specify it selector by selector. */
.shuttle-timetable-item .shuttle-timetable-header {
    display: flex;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 16px 4px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: var(--body_typography-font-family, Arial, sans-serif);
    text-align: left !important;
    text-transform: none !important;
    cursor: pointer;
}

/* Open row: hide its divider so the grey table reads as attached
   to the header rather than sitting below a stray line. */
.shuttle-timetable-item.active .shuttle-timetable-header {
    border-bottom-color: transparent !important;
}

/* Fixed 20px box for the clock icon so every stop name starts on
   the same x-position, however long the label is. */
.shuttle-timetable-item .shuttle-stop-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    color: #1a1a1a;
}

/* display:block kills the inline-SVG baseline gap that would
   otherwise push the icon a couple of pixels off-centre. */
.shuttle-timetable-item .shuttle-stop-icon svg {
    width: 18px;
    height: 18px;
    display: block;
}

/* This clock is a solid (filled) icon, not a stroked outline, so it
   takes its colour from fill — inheriting the `color` set on
   .shuttle-stop-icon above. Declared explicitly because themes often
   ship a blanket `svg path { fill: ... }` rule. */
.shuttle-timetable-item .shuttle-stop-icon svg path {
    fill: currentColor;
    stroke: none;
}

/* Stop name takes the leftover width, pinning the chevron right. */
.shuttle-timetable-item .shuttle-stop-name {
    flex: 1;
    font-weight: 500;
    font-size: 16px;
}

/* Chevron, drawn as an inline SVG data-URI (same technique as the
   .map-route-container accordion above, so no extra HTTP request).
   Closed = grey chevron pointing right. */
.shuttle-timetable-item .shuttle-toggle-icon {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A8A8A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Open = darker chevron pointing down. Swapping the image (rather
   than rotating) keeps the stroke colour change in the same rule. */
.shuttle-timetable-item.active .shuttle-toggle-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}


/* ---------------------------------------------------------
   EXPANDING PANEL
   display:none can't be transitioned, so the panel is always in
   the layout and collapsed with max-height + opacity instead.
   --------------------------------------------------------- */

/* Collapsed state. */
.shuttle-timetable-item .shuttle-timetable-panel {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.35s ease, opacity 0.25s ease;
    box-shadow: 0px 0px 20px 0px #0000001A;
}

/* Open state. 800px is an arbitrary ceiling that just has to exceed
   the tallest table — raise it if a stop ever gets many more rows,
   since anything past this value would be clipped. */
.shuttle-timetable-item.active>.shuttle-timetable-panel {
    max-height: 800px;
    opacity: 1;
}


/* ---------------------------------------------------------
   TIMES TABLE
   --------------------------------------------------------- */

/* Grey base layer; the striping below paints over it row by row. */
.shuttle-timetable-container .shuttle-timetable-table {
    width: 100%;
    border: 0;
    border-collapse: collapse;
    background: #f4f4f4;
    font-family: var(--body_typography-font-family, Arial, sans-serif);
    font-size: 13.5px;
}

.shuttle-timetable-container .shuttle-timetable-table th,
.shuttle-timetable-container .shuttle-timetable-table td {
    width: 50%;
    padding: 11px 16px;
    border: 0;
    text-align: left;
    vertical-align: middle;
}

.shuttle-timetable-container .shuttle-timetable-table th {
    background: #ebebeb;
    color: #6b6b6b;
    font-size: 12.5px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
}

.shuttle-timetable-container .shuttle-timetable-table td {
    background: #fff;
    color: #2b2b2b;
    font-weight: 400;
}

.shuttle-timetable-container .shuttle-timetable-table tbody tr:nth-child(even) td {
    background: #f4f4f4;
}


/* ---------------------------------------------------------
   MOBILE
   Tighten the band and step the display type down; the column
   is already narrower than most phones, so widths need no change.
   --------------------------------------------------------- */
@media (max-width: 767px) {
    .shuttle-timetable-wrapper {
        padding: 40px 20px;
    }

    .shuttle-timetable-container .shuttle-timetable-heading {
        font-size: 26px;
    }

    .shuttle-timetable-container .shuttle-timetable-intro {
        font-size: 13.5px;
    }
}