    .excerpt {
        margin-bottom: .8rem;
        color: #444;
        text-align: center;
        margin-top: 15px;
    }

    .page_blog_filters {
        justify-content: center;
        display: flex;
    }

    .blog_container_page img {
        width: auto;
        min-height: 200px;
        height: 200px;
        margin: 0 auto;
    }


    @media screen and (min-width: 1200px) {
        .blog_container_page {
            min-height: 380px !important;
        }
    }


    .blog-toc-wrapper {
        position: relative;
    }

    .blog-toc {
        position: sticky;
        top: 20px;
        background: #fdfdfd;
        border: 1px solid #e9ecef;
        border-radius: 2px;
        padding: 20px;
        max-height: auto;
        overflow-y: auto;
    }

    .blog-toc h4 {
        margin: 0 0 15px 0;
        font-size: 16px;
        font-weight: bold;
        color: #333;
    }

    .blog-toc ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .blog-toc li {
        margin: 0;
        padding: 0;
    }

    .blog-toc .toc-link {
        display: block;
        padding: 8px 0;
        color: #666;
        text-decoration: none;
        font-size: 14px;
        line-height: 1.4;
        border-bottom: 1px solid #eee;
        transition: color 0.2s ease;
    }

    .blog-toc .toc-link:hover {
        color: #333;
        text-decoration: none;
    }

    .blog-toc .toc-link.active {
        color: #007bff;
        font-weight: 600;
    }

    .blog-toc .toc-h2 {
        font-weight: 600;
    }

    .blog-toc .toc-h3 .toc-link {
        padding-left: 15px;
        font-size: 13px;
        color: #888;
    }

    .blog-toc .toc-h3:last-child .toc-link {
        border-bottom: none;
    }


    .related-posts-title {
        margin-bottom: 20px;
        font-size: 24px;
        font-weight: bold;
    }

    .related-post {
        margin-bottom: 20px;
    }

    .related-post .img_container {
        margin-bottom: 15px;
    }

    .related-post h3 {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .related-post .excerpt {
        font-size: 14px;
        color: #666;
    }

    .slick-slider {
        position: relative;
    }


    .icon.icon_youtub:before {
        background-size: 3rem;
        width: 3rem;
        height: 3rem;
        background-image: url('https://freepnglogo.com/images/all_img/1701510949youtube-logo-png-white.png');
    }

    .slider_testimonials {
        height: fit-content !important;
    }

    .product>.gallery {
        height: fit-content;
    }

    @media (max-width: 767px) {
        .blog-toc-wrapper {
            display: none;
        }

        .pageItineraryRowInfo {
            display: flex;
            margin-top: 10px;
            justify-content: space-between;
            align-items: baseline;
            max-height: 60px;
        }

    }

    .trains_slide {
        height: fit-content;
    }

    @media screen and (max-width: 480px) {
        .trains_class_types_map img {
            width: 100% !important;
            margin-left: 0% !important;
        }
    }

    @media screen and (min-width: 375px) and (max-width: 480px) {
        #page_listings_text_h {
            top: 13rem !important;
        }
    }

    @media screen and (min-width: 375px) and (max-width: 480px) {
        .banner_promo #page_listings_text_h {
            top: 3rem !important;
        }
    }

    .trains_banner_slide {
        height: fit-content !important;
    }

    @media (max-width: 480px) {
        #trains_tab1 h3 {
            display: flex;
            flex-wrap: wrap;
            gap: 5px 0px;
            justify-content: center;
            margin-bottom: 20px;
        }

        #trains_tab2 h3 {
            display: flex;
            flex-wrap: wrap;
            gap: 5px 0px;
            justify-content: center;
            margin-bottom: 20px;
        }

        #trains_tab3 h3 {
            display: flex;
            flex-wrap: wrap;
            gap: 5px 0px;
            justify-content: center;
            margin-bottom: 20px;
        }
    }

    .pageSearchResultsFiltersSet.open {
        height: 40px !important;
    }


    .trains_bs_top img {
        width: 70vw !important;
    }

    @media (max-width: 480px) {
        .trains_bs_top img {
            width: 115% !important;
            margin-left: -10%;
        }

        .trains_bc {
            margin-top: 15px !important;
        }
    }

    .container.trains_container:first-of-type {
        margin-top: 0% !important;
    }

    /* Blog Last Updated Styling */
    .blog_last_updated {
        margin: 0 0 20px 105px;
        padding: 10px 15px;
        font-size: 14px;
        color: #b1aeae;
        border-radius: 0 4px 4px 0;
    }

    .calendly-overlay .calendly-popup {
        min-width: 100% !important;
        min-height: 100% !important;
        ;
    }

    .bp_content li {
        color: #444444 !important;
        font-size: 1.1rem !important;
        line-height: 1.8rem !important;
    }


    @media screen and (min-width: 375px) and (max-width: 480px) {
        .banner_promo #page_listings_text_h {
            top: 3rem !important;
        }
    }

    /* Mobile Slider Enhancements */
    @media (max-width: 768px) {

        /* Make page_text_carousel more obviously swipeable */
        .page_text_carousel .slider_infinite {
            position: relative;
            overflow: visible;
        }

        /* Add subtle gradient fade on edges to indicate more content */
        .page_text_carousel .slider_infinite:before {
            content: '';
            position: absolute;
            top: 0;
            right: 0;
            width: 30px;
            height: 100%;
            background: linear-gradient(to left, rgba(255, 255, 255, 0.8), transparent);
            z-index: 2;
            pointer-events: none;
        }

        /* Enhanced dots for mobile sliders */
        .page_text_carousel .slick-dots {
            bottom: -40px;
            text-align: center;
        }

        .page_text_carousel .slick-dots li {
            margin: 0 8px;
        }

        .page_text_carousel .slick-dots li button:before {
            font-size: 12px;
            opacity: 0.4;
            color: #007bff;
        }

        .page_text_carousel .slick-dots li.slick-active button:before {
            opacity: 1;
            color: #007bff;
        }

        /* Add swipe hint text */
        .page_text_carousel:after {
            /* content: "? Swipe for more ?"; */
            display: block;
            text-align: center;
            font-size: 12px;
            color: #666;
            margin-top: 10px;
            opacity: 0.7;
        }

        /* Mobile slider hint styling */
        .mobile-slider-hint {
            text-align: center;
            margin-top: 15px;
            padding: 8px;
            background: rgba(0, 123, 255, 0.05);
            border-radius: 4px;
        }

        .mobile-slider-hint small {
            color: #666;
            font-size: 11px;
        }



    }

    @media (max-width: 480px) {

        .slick-initialized .slick-slide,
        .slick-slide img {
            display: block;
            height: fit-content;
            object-fit: cover;
            max-height: 450px;
        }

        .slider.slider_infinite.sl_4 .slick-list {
            margin: 0 2rem;
            height: 350px;
        }

        .trains_slide img {
            max-height: 240px !important;
        }

        .trains_slide {
            padding-bottom: 15px;
        }

        .pageSearchResultsFiltersSet.open {
            height: fit-content !important;
        }

        #btn_clear_labels,
        #btn_reset_filters {
            border: none;
            padding: 0;
            margin: 0;
            text-align: right;
            width: 200px;
        }

        .pageSearchResultsFiltersSet.open {
            height: fit-content !important;
            display: flex;
            align-items: flex-end;
        }

    }

    .page_listings_text {
        left: 5% !important;
        width: 90% !important;
    }


    article.blog_post .bp_content ul li strong {
        margin: 0 !important;
        display: inline !important;
        ;
        margin-right: 5px;
    }

    article.blog_post .bp_content ul {
        margin-top: 0.5rem !important;
    }

    article.blog_post h4 {
        margin-bottom: 15px !important;
        margin-top: 10px !important;
    }

    .bsp_container article.bp_content .bp_content h3 {
        margin-top: 20px !important;
    }

    @media screen and (min-width: 767px) {
        .bsp_container article.bp_content .bp_content h2 {
            font-size: 2.6rem;
        }
    }

    @media screen and (min-width: 1024px) and (max-width: 1200px) {
        .bsp_container article.bp_content .bp_content h2 {
            font-size: 2.6rem !important;
        }
    }

    @media screen and (min-width: 480px) and (max-width: 767px) {
        h2 {
            font-size: 2rem !important;
        }
    }

    @media screen and (min-width: 400px) and (max-width: 480px) {
        h2 {
            font-size: 2rem !important;
        }
    }

    @media screen and (max-width: 320px) {
        h2 {
            font-size: 2em !important;
        }
    }

    article.blog_post .bp_content h1 {
        margin-bottom: 12px;
        margin-top: 20px;
    }


    .page_staff_cta_container .page_staff_cta_container_top {
        position: relative;
        display: flex;
        overflow: hidden;
        flex-direction: column;
        align-content: center;
        align-items: center;
    }

    .page_staff_cta_container .page_staff_cta_container_top p {
        float: left;
        width: 65%;
        text-align: center;
    }

    /* Hide filtered products with fade effect */
    .psri {
        opacity: 1;
        transition: opacity 0.4s ease-in-out, max-height 0.4s ease-in-out 0.1s, margin 0.4s ease-in-out 0.1s, padding 0.4s ease-in-out 0.1s;
        max-height: 1000px;
        overflow: hidden;
    }
    
    .psri.conceal {
        opacity: 0;
        max-height: 0;
        margin: 0;
        padding: 0;
        pointer-events: none;
    }

    .psr_vl .psri_image>a {
        position: relative;
        width: 100%;
        height: 100%;
        display: block;
        max-width: 400px;
    }

    @media screen and (min-width: 1024px) and (max-width: 1200px) {

        .psr_vl .psri_cont,
        .psr_vl .psri_image {
            height: 205px;
            min-height: 160px !important;
        }
    }

    @media screen and (max-width: 740px) {

        .psr_vl .psri_image {
            display: block;
            width: 31%;
            margin-bottom: 0;
            position: relative;
            overflow: hidden;
            float: left;
            height: 260px;
            max-width: 400px;
        }
    }

    /* International Phone Input Styling */
    .iti {
        width: 100%;
        position: relative;
        /* display: block; */
    }

    .iti * {
        box-sizing: border-box;
        -moz-box-sizing: border-box;
    }

    .iti input {
        width: 100%;
        border: .05rem solid #888;
        border-radius: 5px;
        padding: 12px 20px 12px 52px;
        font-size: 16px;
        line-height: 1.4;
        background-color: #fff;
        margin: 0;
    }

    .iti input:focus {
        border-color: #007bff;
        outline: none;
        box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
    }

    .iti__flag-container {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        padding: 1px;
    }

    .iti__selected-flag {
        z-index: 4;
        position: relative;
        display: flex;
        align-items: center;
        height: 100%;
        padding: 0 0 0 8px;
        cursor: pointer;
    }

    .iti__arrow {
        margin-left: 6px;
        width: 0;
        height: 0;
        border-left: 3px solid transparent;
        border-right: 3px solid transparent;
        border-top: 4px solid #555;
    }

    .iti__country-list {
        position: absolute;
        z-index: 1001;
        list-style: none;
        text-align: left;
        padding: 0;
        margin: 0 0 0 -1px;
        box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
        background-color: white;
        border: 1px solid #ccc;
        white-space: nowrap;
        max-height: 200px;
        overflow-y: scroll;
        width: 28.2vw;
        overflow-x: hidden;
    }

    @media (min-width: 1024px) and (max-width: 1200px) {
        .iti__country-list {
            width: 267px;
        }
    }

    @media (min-width: 768px) and (max-width: 990px) {
        .iti__country-list {
            width: 193px;
        }
    }

    @media (max-width: 767px) {
        .iti__country-list {
            width: 60vw;
            max-width: 60vw;
        }
    }

    .iti__country {
        padding: 5px 10px;
        outline: none;
        cursor: pointer;
    }

    .iti__country.iti__highlight {
        background-color: rgba(0, 0, 0, 0.05);
    }

    .iti__country-name {
        margin-left: 6px;
    }

    .iti__dial-code {
        color: #999;
    }

    .iti__flag-box {
        display: inline-block;
        width: 20px;
    }

    /* Form validation styling */
    .phone-error {
        color: #dc3545;
        font-size: 0.875em;
        margin-top: 0.25rem;
        display: block;
    }

    .iti.iti--invalid input {
        border-color: #dc3545;
        box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
    }

    /*   .iti.iti--valid input {
        border-color: #28a745;
        box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
    }*/

.css_slider .txt h2.title {
	color: #fff;
	width: 100%;
	text-align: center;
	padding: 0 1em;
	text-shadow: 0 .125rem .25rem #000;
    font-weight: 500;
    font-size: 1.8rem !important;
	margin: 0
}

/* Remove padding from direct parent of page_listings banner_promo */
:has(> .page_listings.banner_promo) {
    padding: 0 !important;
}

/* Ensure h2 with sectionTitle class gets proper styling */
.lsts h2.sectionTitle, .lsts h3.sectionTitle, .lsts h4.sectionTitle, .lsts h5.sectionTitle {
    font-size: 1.8em !important;
    line-height: normal;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 700;
}

  @media (max-width: 767px) {

.nav_m_dd_nav>li {scrollbar-width: none;}
.nav_m_dd_nav {scrollbar-width: none;}

.product>.gallery {transform: scale(1.1);}
.col-sm-12{
        padding-right: 10px;
        padding-left: 10px;
}
  }
  
