@charset "UTF-8";

/*
* Chapter 1 Supplimentary Style
* Chapter 2 Bootstrap Customisation
* Chapter 3 Header Style
* Chapter 4 Search Style
* Chapter 5 Native passenger selection box
* Chapter 6 List Style
* Chapter 7 Slick Slider Style
* Chapter 8 Tempus Dominus Date Time Style
* Chapter 9 New List Page Style
* Chapter 10 Breadcrumb Style
* Chapter 11 Seat Selection Style
* Chapter 12 My Profile Style
* Chapter 13 
* Chapter 14 
* Chapter 15 
* Chapter 16 
*/

/* -------------------------------------------------
Chapter 1 Supplimentary Style
------------------------------------------------- */
/* Google Fonts - Poppins */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
    --color-one: #13313A;
    --color-two: #FFD800;
    --color-three: #D9D9D9;
    --color-four: #919497;
    --color-five: #FF0000;
    --color-six: #F1F2F6;
    --color-seven: #B3B6B8;
    --color-eight: #132968;
    --color-nine: #FA6B6B;
    --search-icon-dimension-sm: 18px;
    /*20*/
    --search-icon-dimension-lg: 22px;
    /*25*/

    --font-femto: 8px;
    --font-pico: 9px;
    --font-nano: 10px;
    --font-micro: 11px;
    --font-uxs: 12px;
    --font-xs: 14px;
    --font-sm: 16px;
    --font-md: 18px;
    --font-lg: 20px;
    --font-xl: 22px;
    --font-2xl: 24px;
    --font-3xl: 26px;
    --font-4xl: 28px;
    --font-5xl: 30px;
    --font-6xl: 32px;
    --mobile-header-height: 90px;
    /* adjust to your header height on mobile */
}

/* MD */
@media (min-width: 768px) {
    :root {
        --font-femto: 9px;
        --font-pico: 10px;
        --font-nano: 11px;
        --font-micro: 12px;
        --font-uxs: 13px;
        --font-xs: 15px;
        --font-sm: 17px;
        --font-md: 19px;
        --font-lg: 21px;
        --font-xl: 23px;
        --font-2xl: 25px;
        --font-3xl: 27px;
        --font-4xl: 29px;
        --font-5xl: 31px;
        --font-6xl: 33px;
    }
}

/* LG */
@media (min-width: 992px) {
    :root {
        --font-femto: 10px;
        --font-pico: 11px;
        --font-nano: 12px;
        --font-micro: 13px;
        --font-uxs: 14px;
        --font-xs: 16px;
        --font-sm: 18px;
        --font-md: 20px;
        --font-lg: 22px;
        --font-xl: 24px;
        --font-2xl: 26px;
        --font-3xl: 28px;
        --font-4xl: 30px;
        --font-5xl: 32px;
        --font-6xl: 34px;
    }
}

/* XL */
@media (min-width: 1200px) {
    :root {
        --font-femto: 11px;
        --font-pico: 12px;
        --font-nano: 13px;
        --font-micro: 14px;
        --font-uxs: 15px;
        --font-xs: 17px;
        --font-sm: 19px;
        --font-md: 21px;
        --font-lg: 23px;
        --font-xl: 25px;
        --font-2xl: 27px;
        --font-3xl: 29px;
        --font-4xl: 31px;
        --font-5xl: 33px;
        --font-6xl: 35px;
    }
}

/* XXL */
@media (min-width: 1400px) {
    :root {
        --font-femto: 12px;
        --font-pico: 13px;
        --font-nano: 14px;
        --font-micro: 15px;
        --font-uxs: 16px;
        --font-xs: 18px;
        --font-sm: 20px;
        --font-md: 22px;
        --font-lg: 24px;
        --font-xl: 26px;
        --font-2xl: 28px;
        --font-3xl: 30px;
        --font-4xl: 32px;
        --font-5xl: 34px;
        --font-6xl: 36px;
    }
}

/* Greater Than XXL */
@media (min-width: 1600px) {
}

body {
    font-family: "Poppins", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    letter-spacing: -0.17px;
    background-color: var(--color-six);
    color: var(--color-one);
}

.color-one {
    color: var(--color-one);
}

.color-two {
    color: var(--color-two);
}

.color-three {
    color: var(--color-three);
}

.bg-body-grey {
    background-color: var(--color-six);
}

/* -------------------------------------------------
Chapter 2 Bootstrap Customisation
------------------------------------------------- */
.form-control:focus,
.form-select:focus {
    box-shadow: none;
}

.form-control::placeholder,
.form-select::placeholder {
    color: var(--color-three);
}

.modal-content {
    border-radius: 22px;
}

.modal-header,
.modal-footer {
    background-color: var(--color-one);
}

.modal-header {
    position: relative;
    padding: var(--font-uxs);
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

.modal-title {
    color: #FFFFFF;
    font-size: var(--font-sm);
    line-height: var(--font-sm);
    text-transform: uppercase;
    font-weight: 500;
}

.modal-footer {
    padding: var(--font-femto);
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

    .modal-footer > * {
        margin: 0;
    }

.modal-header .btn-close {
    color: var(--color-two);
}

.modal-body {
    background-color: var(--color-three);
    padding: unset;
}

.btn.btn-outline-primary {
    border-color: var(--color-eight);
    color: var(--color-eight);
    border-radius: 10px;
    font-size: var(--font-uxs);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    border-color: var(--color-one);
    background-color: var(--color-one);
    color: var(--color-two);
}

/* -------------------------------------------------
Chapter 3 Header Style
------------------------------------------------- */
.sec-header,
.sec-list-header {
    background-color: var(--color-one);
    /* border-bottom-left-radius: 5px; */
    /* border-bottom-right-radius: 5px; */
    padding: 12px 0px;
    /* margin-bottom: 12px; */
}

.notification-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    margin-bottom: 6px;
}

.notification-bell,
.notification-message {
    /* outline: dotted 1px white; */
    display: flex;
    align-items: center;
    justify-content: center;
    height: 20px;
    width: 20px;
    cursor: pointer;
}

    .notification-bell i,
    .notification-bell svg,
    .notification-message i,
    .notification-message svg {
        color: var(--color-two);
        font-size: var(--font-sm);
        /*20*/
    }

.logo-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
}

@media (min-width: 576px) {
}

@media (min-width: 768px) {
    .notification-wrapper {
        margin-bottom: 0px;
    }

    .logo-wrapper {
        justify-content: flex-start;
    }
}

@media (min-width: 992px) {
}

@media (min-width: 1200px) {
}

@media (min-width: 1400px) {
}

@media (min-width: 1600px) {
}


/* Mobile-only fixed header */
@media (max-width: 767.98px) {
    :root {
        --mobile-header-height: 56px;
        /* adjust to your header height on mobile */
    }

    .sec-header-mobile {
        position: fixed;
        top: env(safe-area-inset-top, 0);
        left: 0;
        right: 0;
        width: 100%;
        height: var(--mobile-header-height);
        z-index: 1100;
        display: flex;
        align-items: center;
    }

        .sec-header-mobile .container {
            max-width: 100%;
        }

    .bg-body-grey {
        padding-top: calc(var(--mobile-header-height) + env(safe-area-inset-top, 0));
    }

    .sec-header-mobile .notification-wrapper {
        margin-bottom: 0;
    }
}

/* -------------------------------------------------
Chapter 4 Search Style
------------------------------------------------- */
.sec-slider {
    position: relative;
    z-index: -1;
    /* margin-top: -5px; */
    /* border: solid 2px blue; */
}

.slider-container {
    height: 100px;
}

    .slider-container img,
    .profile-photo img,
    .profile-photo-sm img {
        height: 100%;
        width: 100%;
        object-fit: cover;
        /* contain-width & cover-height */
        object-position: center center;
    }

.sec-search {
    position: relative;
    z-index: 1;
    margin-bottom: 12px;
    margin-top: 12px;
}

.sec-search-list {
    position: relative;
    z-index: 1;
    background-color: var(--color-one);
    padding: var(--font-femto) 0px calc(var(--font-femto) * 2) 0px;
}

.search-wrapper {
    background-color: var(--color-three);
    border: solid 2px var(--color-two);
    border-radius: 20px;
    padding: 12px;
}

.search-title {
    border-radius: 10px;
    background-color: var(--color-one);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--font-femto) * 0.5);
    padding: 10px;
    margin-bottom: 12px;
}

    .search-title span,
    .search-title i,
    .search-title svg {
        color: var(--color-two);
    }

    .search-title span {
        font-size: var(--font-sm);
        /*20*/
        font-weight: 600;
        text-transform: uppercase;
    }

.shadow {
    /* -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25); */
    /* -moz-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25); */
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

.search-box {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.arrival-departure-box,
.search-arrival-date,
.search-departure-date,
.pax-box-primary,
.pax-box-secondary,
.city-selection-box {
    border-radius: 10px;
    background-color: #FFFFFF;
    padding: 6px;
}

.destination-select-box,
.hotel-pax-box {
    border-radius: 10px;
    background-color: #FFFFFF;
    padding: 6px;
}

.hotel-date-box {
    flex: 0 0 23%;
    border-radius: 10px;
    background-color: #FFFFFF;
    /* padding: 6px; */
}

.search-departure-date.newsletter-control {
    background-color: var(--color-six);
    padding: 6px 6px 6px 12px;
}

.arrival-departure-box {
    position: relative;
    display: flex;
    flex-direction: column;
    padding-right: 38px;
    /* border: solid 2px red; */
    flex: 0 0 33%;
}

.destination-select-box {
    position: relative;
    display: flex;
    flex-direction: column;
    /* padding-right: 38px; */
    /* border: solid 2px red; */
    flex: 0 0 33%;
}

.swap-control {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    font-size: var(--search-icon-dimension-lg);
    cursor: pointer;
    color: var(--color-one);
}

.custom-rotate {
    transform: rotate(90deg);
}

.date-box {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 0 0 33%;
    /* border: solid 2px blue; */
}

.search-button {
    flex: 1;
}

.search-button,
.proceed-button,
.supplimentary-action {
    display: grid;
}

    .search-button .btn,
    .proceed-button .btn {
        border-radius: 10px;
        background-color: var(--color-two);
        border-color: var(--color-two);
        display: flex;
        align-items: center;
        justify-content: center;
        gap: calc(var(--font-femto) * 0.5);
        color: var(--color-one);
        font-weight: 600;
        text-transform: uppercase;
        min-width: 100px;
    }

    .search-button .btn,
    .proceed-button .btn {
        padding: 4px 10px;
        font-size: var(--font-xs);
    }

        .search-button .btn.btn-sm,
        .proceed-button .btn.btn-sm {
            padding: 2px 6px;
            font-size: var(--font-nano);
        }


.proceed-button {
    margin-top: 12px;
}

.search-arrival-date,
.search-departure-date {
    /* border: solid 2px red; */
}

.search-arrival-date,
.search-departure-date {
    display: flex;
    align-items: center;
    width: 100%;
    flex: 1;
}

.arrival-departure-box input[type="text"],
.date-control-call input[type="text"] {
    border-radius: 0px;
    background-color: transparent;
    border-color: transparent;
    font-size: var(--font-micro);
    /*15*/
    font-weight: 500;
    padding-left: 0px;
    padding-right: 0px;
    color: var(--color-one);
}

.destination-select-box input[type="text"] {
    border-radius: 0px;
    background-color: transparent;
    border-color: transparent;
    font-size: var(--font-micro);
    /*15*/
    font-weight: 500;
    padding-left: 0px;
    padding-right: 0px;
    color: var(--color-one);
}

.newsletter-control .date-control-call input[type="text"] {
    padding-left: 12px;
}

.newsletter-control .date-control-call input.form-control::placeholder {
    color: var(--color-four);
}

.newsletter-control .date-control-call i {
    color: var(--color-four);
}

.arrival-departure-box .search-departure input[type="text"],
.date-box .date-control-call input[type="text"] {
    padding-left: 6px;
}

.arrival-departure-box .input-group-text {
    padding: 0px 4px;
    font-size: unset;
    font-weight: unset;
    line-height: unset;
    background-color: unset;
    border: unset;
    border-radius: unset;
    color: var(--color-four);
}

.destination-select-box .input-group-text {
    padding: 0px 4px;
    font-size: unset;
    font-weight: unset;
    line-height: unset;
    background-color: unset;
    border: unset;
    border-radius: unset;
    color: var(--color-four);
}

/* .date-box .input-group-text i {
    font-size: var(--search-icon-dimension-lg);
} */

.add-close-action,
.add-return-action {
    cursor: pointer;
}

.search-arrival {
    /* position: relative; */
    border-bottom: solid 1px var(--color-three);
}

.date-control-call {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

    .date-control-call span {
        font-size: var(--font-micro);
        /*15*/
        font-weight: 500;
        color: var(--color-three);
    }

    .date-control-call i,
    .date-control-call svg {
        height: var(--search-icon-dimension-lg);
        width: var(--search-icon-dimension-lg);
        font-size: var(--search-icon-dimension-lg);
        display: flex;
        align-items: center;
        justify-content: center;
    }

.date-control-metadata {
    display: flex;
    flex-direction: column;
}

.date-control-label {
    color: var(--color-one);
    font-size: var(--font-micro);
    /*15*/
    line-height: var(--font-md);
    /*23*/
}

.date-control-date {
    color: var(--color-one);
    font-size: var(--font-md);
    /*22*/
    line-height: var(--font-md);
    font-weight: 600;
}

.date-control-day {
    color: var(--color-three);
    font-size: var(--font-micro);
    /*15*/
    line-height: var(--font-md);
    /*23*/
}

.pax-box-primary {
    flex: 0 0 20%;
    display: flex;
    /* border: solid 2px green; */
}

.hotel-pax-box {
    flex: 0 0 30%;
    display: flex;
    /* border: solid 2px green; */
}

.pax-box {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.guests-box {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.pax-control-metadata {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: calc(var(--font-femto) * 0.5);
}

.pax-icon,
.selected-pax-icon {
    height: var(--search-icon-dimension-lg);
    width: var(--search-icon-dimension-lg);
    display: flex;
    align-items: center;
    justify-content: center;
}

    .pax-icon i,
    .pax-icon svg {
        font-size: var(--search-icon-dimension-lg);
        color: var(--color-one);
    }

    .selected-pax-icon i,
    .selected-pax-icon svg {
        color: #FFFFFF;
    }

.pax-details {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.guests-details {
    display: flex;
    flex-direction: row;
    gap: var(--font-femto);
}

.pax-title {
    font-size: var(--font-micro);
    /*15*/
    line-height: var(--font-micro);
    color: var(--color-one);
    display: flex;
    align-items: center;
    /* gap: 4px; */
}

    .pax-title input[type="text"] {
        width: 20px;
        padding: 0;
        margin: 0;
        border: none;
    }

.pax-subtitle {
    font-size: var(--font-femto);
    /*12*/
    line-height: var(--font-femto);
    color: var(--color-four);
}

.discount-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: calc(var(--font-femto) * 0.5);
}

.discount-details {
    font-size: var(--font-micro);
    /*15*/
    line-height: var(--font-micro);
    color: var(--color-one);
}

.pax-control-count {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 9px;
}

.pax-control-add {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: solid 1px var(--color-one);
    border-radius: 6px;
    padding: 3px;
    cursor: pointer;
}

    .pax-control-add span {
        font-size: var(--font-micro);
        /*15*/
        font-weight: 500;
    }

.pax-plus,
.pax-minus {
    height: var(--search-icon-dimension-sm);
    width: var(--search-icon-dimension-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.pax-control-count i,
.pax-control-count svg,
.pax-control-add i,
.pax-control-add svg {
    font-size: var(--search-icon-dimension-sm);
    color: var(--color-one);
}

.sec-advertisement,
.sec-advertisement2 {
    margin-bottom: 12px;
    background-color: var(--color-six);
    padding: 20px 0px;
}

    .sec-advertisement2 .row > .col-12:last-child {
        margin-bottom: 0 !important;
    }

.advertisement-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px
}

.advertisement-box {
    width: 100px;
}

.advertisement-thumb,
.advertisement-thumb2 {
    border-radius: 20px;
    overflow: hidden;
}

.advertisement-thumb {
    height: 100px;
}

.advertisement-thumb2 {
    height: 150px;
    border: solid 1px var(--color-three);
}

    .advertisement-thumb img,
    .advertisement-thumb2 img {
        height: 100%;
        width: 100%;
        object-fit: cover;
        /* contain-width & cover-height */
        object-position: center center;
    }

.advertisement-title {
    font-size: calc(var(--font-femto) * 2);
    /* --font-micro */
    line-height: calc(var(--font-femto) * 2);
    /* --font-micro */
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    margin-top: 12px;
}

.sw-city-dropdown {
    z-index: 1;
    position: absolute;
    padding: 12px;
    border-radius: 8px;
    background-color: #fff;
    box-shadow: 0px 3px 11px #00000029;
    max-height: 327px;
    overflow: auto;
    /* border: solid 1px blue; */
}

.sw-city-dropdown {
    top: calc(100% + 7px);
    left: 0;
    /* width: 250px; */
    width: calc(150%);
}

.city-selection-wrapper {
    max-height: 390px;
    overflow: auto;
    border-radius: 10px;
}

.city-selection-box {
    /* background-color: #FFFFFF; */
    margin-bottom: 12px;
}

.city-selection {
    font-size: var(--font-micro);
    /*15*/
    /*12*/
    font-weight: 500;
    /* padding-left: 1px; */
    color: var(--color-one);
    margin-bottom: 6px;
    /* border: solid 1px red; */
}

    .city-selection i,
    .city-selection svg {
        color: var(--color-one);
    }

.sw-entity-list ul li {
    font-size: var(--font-pico);
    /*13*/
    /*12*/
}

.sw-entity-list {
    /* margin: 6px 0 0 0; */
    /* border: solid 1px red; */
}

    .sw-entity-list ul {
        padding-left: 0px;
        margin: 0 0 0 0;
        /* border: solid 1px red; */
    }

        .sw-entity-list ul li {
            display: flex;
            align-items: center;
            list-style: none;
            border-bottom: dotted 1px var(--color-four);
            font-weight: 500;
            padding: 6px 0 6px 12px;
            color: var(--color-one);
        }

            .sw-entity-list ul li:last-child {
                border-bottom: none;
            }

            .sw-entity-list ul li:hover,
            .sw-entity-list ul li:focus {
                background-color: var(--color-three);
                cursor: pointer;
            }

            .sw-entity-list ul li::before {
                font-family: 'Font Awesome 6 Pro';
                font-weight: 500;
                color: var(--firstcolor);
                font-size: var(--font-pico);
                /*13*/
                margin-right: 6px;
            }

.train.sw-entity-list ul li::before {
    content: '\f238';
}

.city.sw-entity-list ul li::before {
    content: '\f3c5';
}

.hotel.sw-entity-list ul li::before {
    content: '\f594';
}

.custom-close-btn {
    position: absolute;
    right: 16px;
    background: none;
    border: none;
    padding: 0;
    color: var(--color-two);
    font-size: var(--font-3xl);
}

    .custom-close-btn:hover {
        color: var(--color-five);
    }

.login-action-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 1;
}

.sec-newsletter {
    background-color: #FFFFFF;
    padding: 20px 0px;
}

footer {
    padding: 20px 0px;
    background-color: var(--color-three);
}

.newsletter-title {
    font-size: calc(var(--font-femto) * 3);
    line-height: calc(var(--font-femto) * 3.5);
    font-weight: 700;
    color: var(--color-eight);
}

.newsletter-hr {
    border-top: solid 4px var(--color-four);
    width: 40px;
    margin: var(--font-3xl) auto;
}

.footer-title {
    font-weight: 700;
    font-size: var(--font-xs);
    line-height: var(--font-sm);
    color: var(--color-eight);
    margin-bottom: var(--font-uxs);
}

.footer-menu {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--font-femto);
}

    .footer-menu li {
        list-style: none;
    }

        .footer-menu li a {
            text-decoration: none;
            font-size: var(--font-uxs);
            line-height: var(--font-xs);
            color: var(--color-eight);
            text-transform: capitalize;
            border-radius: 6px;
            padding: 2px 6px;
            background-color: var(--color-three);
            transition: all 0.5s ease, color 0.5s ease;
        }

            .footer-menu li a:hover,
            .footer-menu li a:focus,
            .footer-menu li a.active,
            .footer-menu li a:active {
                color: var(--color-two);
                background-color: var(--color-one);
            }

.footer-social-media {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--font-femto);
}

    .footer-social-media a {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 30px;
        width: 30px;
        border-radius: 50%;
        text-decoration: none;
        color: #FFFFFF;
        background-color: var(--color-nine);
    }

        .footer-social-media a:hover,
        .footer-social-media a:focus {
            color: var(--color-two);
            background-color: var(--color-one);
        }

.copyright {
    font-size: var(--font-xs);
    line-height: var(--font-xs);
    font-weight: 500;
    text-align: center;
}

.address,
.company_metadata,
.company_contacts {
    font-size: var(--font-uxs);
    line-height: var(--font-uxs);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    /* gap: var(--font-uxs); */
    justify-content: center;
}

    .company_contacts a {
        color: var(--color-eight);
    }

.address_title {
    font-weight: 500;
}

.code {
    font-weight: 500;
}

.seperator {
    display: none;
}

.company_links {
}

    .company_links ul {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: var(--font-femto);
    }

        .company_links ul li {
            list-style: none;
        }

            .company_links ul li a {
                text-decoration: none;
                font-size: var(--font-uxs);
                line-height: var(--font-xs);
                color: var(--color-eight);
                text-transform: capitalize;
                border-radius: 6px;
                padding: 2px 6px;
                background-color: var(--color-three);
                transition: all 0.5s ease, color 0.5s ease;
            }

                .company_links ul li a:hover,
                .company_links ul li a:focus,
                .company_links ul li a.active,
                .company_links ul li a:active {
                    color: var(--color-two);
                    background-color: var(--color-one);
                }

@media (min-width: 576px) {
}

@media (min-width: 768px) {
    .slider-container {
        height: 150px;
    }

    .arrival-departure-box {
        flex-direction: row;
        align-items: center;
        padding-right: unset;
    }

    .destination-select-box {
        flex-direction: row;
        align-items: center;
        padding-right: unset;
    }

    .search-arrival {
        order: 0;
        flex: 1;
        border-bottom: none;
    }

    .search-departure {
        order: 2;
        flex: 1;
    }

    .swap-control {
        order: 1;
        position: unset;
    }

    .custom-rotate {
        transform: rotate(0deg);
    }

    .date-box {
        flex-direction: row;
    }

    .advertisement-box {
        width: 150px;
    }

    .advertisement-thumb,
    .advertisement-thumb2 {
        height: 150px;
    }

    .sec-advertisement,
    .sec-advertisement2 {
        padding: 40px 0px;
    }

        .sec-advertisement2 .row > .col-md-6:nth-last-child(-n+2) {
            margin-bottom: 0 !important;
        }

    .sec-newsletter,
    footer {
        padding: 40px 0px;
    }

    .address,
    .company_contacts {
        flex-direction: row;
        gap: 8px;
    }
}

@media (min-width: 992px) {
    .slider-container {
        height: 200px;
    }

    .sw-city-dropdown {
        /* width: calc(50%); */
    }

    .advertisement-box {
        width: 200px;
    }

    .advertisement-thumb,
    .advertisement-thumb2 {
        height: 200px;
    }

    .company_metadata {
        flex-direction: row;
    }

    .seperator {
        display: block;
        color: var(--color-four);
    }
}

@media (min-width: 1200px) {
    .slider-container {
        height: 250px;
    }

    .sec-search {
        margin-top: -40px;
    }

    .search-box {
        flex-direction: row;
    }

    .search-title {
        display: none;
    }

    .sw-city-dropdown {
        /* width: calc(100%); */
    }

    .advertisement-box {
        width: 250px;
    }

    .advertisement-thumb,
    .advertisement-thumb2 {
        height: 250px;
    }

    .sec-advertisement {
        /* margin-top: -49px; */
        padding: 108px 0px 60px;
    }

    .sec-advertisement2 {
        margin-top: -49px;
        padding: 108px 0px 60px;
    }

    .sec-newsletter,
    footer {
        padding: 60px 0px;
    }
}

@media (min-width: 1400px) {
    .slider-container {
        height: 300px;
    }

    .advertisement-box {
        width: 300px;
    }

    .advertisement-thumb,
    .advertisement-thumb2 {
        height: 300px;
    }
}

@media (min-width: 1600px) {
    .slider-container {
        height: 350px;
    }
}

/* -------------------------------------------------
Chapter 5 Native passenger selection box
------------------------------------------------- */
.native-selection-box {
    overflow: hidden;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

.native-header {
    background-color: var(--color-one);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: var(--font-uxs);
    /*16*/
}

.native-header-left {
    font-size: var(--font-micro);
    /*15*/
}

.native-header-left,
.native-header-right {
    font-weight: 500;
    color: var(--color-two);
}

.native-header-right {
    cursor: pointer;
    font-size: 15px;
}

    .native-header-right:hover {
        color: var(--color-five);
    }

.native-body {
    padding: 12px;
    background-color: var(--color-three);
}

.native-body-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/*--------------------------*/
/* updated code for native like behaviour */
.native-selection-box {
    display: none;
    position: absolute;
    z-index: 9999;
    width: 100%;
    max-width: 400px;
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

    .native-selection-box.show {
        display: block;
    }

@media (max-width: 1200px) {
    .native-selection-box {
        position: fixed;
        bottom: 0;
        left: 0;
        top: auto !important;
        width: 100%;
        max-width: 100%;
        border-radius: 16px 16px 0 0;
        transform: translateY(100%);
        opacity: 0;
        overflow: auto;
    }

        .native-selection-box.slide-up {
            transform: translateY(0%);
            opacity: 1;
        }

        .native-selection-box.slide-down {
            transform: translateY(100%);
            opacity: 0;
        }
}


/* -------------------------------------------------
Chapter 6 List Style
------------------------------------------------- */
.page-title-wrapper {
    display: flex;
    align-items: center;
    margin-bottom: 24px;
}

.back-action {
    width: 28px;
}

    .back-action i,
    .back-action svg {
        color: var(--color-two);
        font-size: var(--font-2xl);
        /*28*/
    }

.page-title {
    flex: 1;
    text-align: center;
    color: var(--color-two);
    text-transform: uppercase;
    font-size: var(--font-lg);
    /*24*/
    font-weight: 700;
}

.station-indicator-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    margin-bottom: 24px;
    color: #FFFFFF;
}

.source-indicator,
.destination-indicator {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.destination-indicator {
    text-align: right;
}

.primary-name {
    font-size: var(--font-2xl);
    /*28*/
    line-height: var(--font-3xl);
    /*30*/
    font-weight: 700;
}

.secondary-name {
    font-size: var(--font-xs);
    /*18*/
    line-height: var(--font-sm);
    /*20*/
}

.seperator-icon {
    /* flex: 1; */
}

    .seperator-icon i,
    .seperator-icon svg {
        font-size: var(--font-xl);
        /*26*/
    }

.train-icon {
    /* flex: 1; */
}

    .train-icon i,
    .train-icon svg {
        font-size: var(--font-2xl);
        /*28*/
    }

.selected-pax-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc(var(--font-femto) * 0.5);
}

.selected-pax-details {
    color: #FFFFFF;
    display: flex;
    align-items: center;
    gap: 4px;
}

.sec-horizontal-calendar {
    margin-bottom: 12px;
}

.horizontal-calendar {
    padding: 0px 30px;
}

.calendar-day {
    display: flex;
    flex-direction: column;
    gap: 2px;
    border: solid 1px var(--color-one);
    border-radius: 7px;
    padding: 4px;
    background-color: #FFFFFF;
}

    .calendar-day:hover,
    .calendar-day:focus,
    .calendar-day:active,
    .calendar-day.active {
        background-color: var(--color-one);
    }

.calendar-format {
    display: flex;
    flex-direction: row;
    gap: 4px;
    font-size: var(--font-nano);
    /*14*/
    line-height: var(--font-nano);
    font-weight: 500;
    text-transform: uppercase;
    color: var(--color-one);
}

.calendar-day:hover .calendar-format,
.calendar-day:focus .calendar-format,
.calendar-day:active .calendar-format,
.calendar-day.active .calendar-format {
    color: var(--color-two);
}

.calendar-format .day {
}

.calendar-format .date {
}

.calendar-price-label {
    font-size: var(--font-femto);
    /*12*/
    font-weight: 300;
    text-transform: capitalize;
    color: var(--color-one);
}

.calendar-day:hover .calendar-price-label,
.calendar-day:focus .calendar-price-label,
.calendar-day:active .calendar-price-label,
.calendar-day.active .calendar-price-label {
    color: var(--color-two);
}

.calendar-price {
    font-weight: 500;
    display: flex;
    flex-direction: row;
    align-items: baseline;
    color: var(--color-one);
}

.calendar-day:hover .calendar-price,
.calendar-day:focus .calendar-price,
.calendar-day:active .calendar-price,
.calendar-day.active .calendar-price {
    color: var(--color-two);
}

.calendar-price .unit {
    font-size: var(--font-3xl);
    /*30*/
    line-height: var(--font-3xl);
}

.calendar-price .subunit {
    font-size: var(--font-nano);
    /*14*/
}

.sec-list {
    padding: 0px 12px;
    margin-bottom: 12px;
}

.list-item-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
    /* background-color: lightcoral; */
}

.list-item {
    /*padding: 6px;
    background-color: rgba(217, 217, 217, 0.3);
    border-radius: 10px;
    display: flex;
    flex-direction: row;*/
}

    .list-item:hover,
    .list-item:focus,
    .list-item:active,
    .list-item.active {
        /* background-color: var(--color-one); */
    }

.item-metadata {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}


.service-provider-logo {
    width: 100px;
}

    .service-provider-logo img {
        height: 100%;
        width: 100%;
        object-fit: contain;
        /* contain-width & cover-height */
        object-position: center center;
    }

.train-timings {
    color: var(--color-one);
}

.list-item:hover .train-timings,
.list-item:focus .train-timings,
.list-item:active .train-timings,
.list-item.active .train-timings {
    /* color: var(--color-two); */
}

.journey-timings {
    color: var(--color-four);
}

.list-item:hover .journey-timings,
.list-item:focus .journey-timings,
.list-item:active .journey-timings,
.list-item.active .journey-timings {
    /* color: #FFFFFF; */
}

.train-timings,
.journey-timings {
    display: flex;
    flex-direction: row;
    gap: 4px;
}

.timing-icon,
.journey-icon {
    width: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .timing-icon i,
    .timing-icon svg,
    .journey-icon i,
    .journey-icon svg {
        font-size: var(--font-uxs);
        /*16*/
    }

.train-time {
    font-size: var(--font-xs);
    /*18*/
    font-weight: 500;
}

.journey-time {
    font-style: italic;
}

.item-pricing {
    display: flex;
    flex-direction: column;
    gap: 0px;
}

.ticket-tag {
    font-size: var(--font-nano);
    /*14*/
    font-weight: 300;
    font-style: italic;
    color: var(--color-five);
    text-align: right;
}

.ticket-price {
    font-weight: 500;
    display: flex;
    flex-direction: row;
    align-items: baseline;
    color: var(--color-one);
}

.list-item:hover .ticket-price,
.list-item:focus .ticket-price,
.list-item:active .ticket-price,
.list-item.active .ticket-price {
    /* color: var(--color-two); */
}

.ticket-price .unit {
    font-size: var(--font-3xl);
    /*30*/
}

.ticket-price .subunit {
    font-size: var(--font-nano);
    /*14*/
}

.ticket-category {
    font-size: var(--font-nano);
    /*14*/
    line-height: var(--font-nano);
    font-weight: 300;
    color: #000000;
    text-align: right;
}

.list-item:hover .ticket-category,
.list-item:focus .ticket-category,
.list-item:active .ticket-category,
.list-item.active .ticket-category {
    /* color: var(--color-two); */
}

.load-more-action {
    display: flex;
    justify-content: center;
}

    .load-more-action .btn,
    .supplimentary-action .btn {
        border-radius: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: calc(var(--font-femto) * 0.5);
        /* padding: 4px var(--font-3xl); */
        padding: 4px 10px;
        font-size: var(--font-xs);
        /*--font-sm*/
        /*20*/
        font-weight: 600;
        text-transform: uppercase;
        min-width: 100px;
    }

    .load-more-action .btn,
    .supplimentary-action .btn {
        background-color: var(--color-one);
        border-color: var(--color-one);
        color: #FFFFFF;
    }

        .supplimentary-action .btn.btn-outline-dark {
            background-color: #FFFFFF;
            border-color: var(--color-one);
            color: var(--color-one);
        }

        .load-more-action .btn:hover,
        .load-more-action .btn:focus,
        .supplimentary-action .btn:hover,
        .supplimentary-action .btn:focus {
            background-color: #FFFFFF;
            color: var(--color-one);
        }

        .supplimentary-action .btn.btn-outline-dark:hover,
        .supplimentary-action .btn.btn-outline-dark:focus {
            background-color: var(--color-one);
            border-color: var(--color-one);
            color: #FFFFFF;
        }

        .supplimentary-action .btn.btn-outline-danger {
            background-color: #FFFFFF;
            border-color: var(--bs-danger);
            color: var(--bs-danger);
        }

            .supplimentary-action .btn.btn-outline-danger:hover,
            .supplimentary-action .btn.btn-outline-danger:focus {
                background-color: var(--bs-danger);
                border-color: var(--bs-danger);
                color: #FFFFFF;
            }


/* -------------------------------------------------
Chapter 7 Slick Slider Style
------------------------------------------------- */
.slick-prev:before,
.slick-next:before {
    font-family: 'Font Awesome 6 Pro';
    font-weight: 900;
    z-index: 1;
}

.slick-prev:before {
    content: "\f104";
}

.slick-next:before {
    content: "\f105";
}

.slick-prev {
}

.slick-next {
}

.slick-slide {
}

.slick-center {
    box-shadow: 0 0 10px rgba(0, 123, 255, 0.3);
    z-index: 2;
    background-color: var(--color-one);
}

    .slick-center .day2,
    .slick-center .date2,
    .slick-center .month2 {
        color: #FFFFFF;
    }

/* -------------------------------------------------
Chapter 8 Tempus Dominus Date Time Style
------------------------------------------------- */
.tempus-dominus-widget.light.show {
    top: 6px !important;
}

.tempus-dominus-widget {
    border-radius: var(--font-micro);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
    padding: calc(var(--font-sm) * 0.5);
    font-size: 14px;
    font-weight: 500;
}

    .tempus-dominus-widget.light .date-container-days div.range-end:not(.no-highlight),
    .tempus-dominus-widget.light .date-container-days div.range-in:not(.no-highlight),
    .tempus-dominus-widget.light .date-container-days div.range-start:not(.no-highlight),
    .tempus-dominus-widget.light .date-container-days div:not(.no-highlight).active,
    .tempus-dominus-widget.light .date-container-decades div:not(.no-highlight).active,
    .tempus-dominus-widget.light .date-container-months div:not(.no-highlight).active,
    .tempus-dominus-widget.light .date-container-years div:not(.no-highlight).active,
    .tempus-dominus-widget.light .time-container-clock div:not(.no-highlight).active,
    .tempus-dominus-widget.light .time-container-hour div:not(.no-highlight).active,
    .tempus-dominus-widget.light .time-container-minute div:not(.no-highlight).active,
    .tempus-dominus-widget.light .time-container-second div:not(.no-highlight).active {
        background-color: var(--color-one);
        font-weight: 500;
    }

    .tempus-dominus-widget.light {
        background-color: var(--color-three);
        color: var(--color-one);
    }

    .tempus-dominus-widget .date-container-days,
    .tempus-dominus-widget .time-container-clock {
        border-radius: 10px;
        background-color: #FFFFFF;
        padding: 6px;
    }

    .tempus-dominus-widget .toolbar div {
        background-color: var(--color-two);
        border-radius: 10px;
        font-size: var(--font-xs);
        /* --font-sm */
    }

    .tempus-dominus-widget .toolbar {
        margin-top: 12px;
    }

    .tempus-dominus-widget.light button {
        border-radius: 10px;
        background-color: var(--color-two);
        border-color: var(--color-two);
        display: flex;
        align-items: center;
        justify-content: center;
        gap: calc(var(--font-femto) * 0.5);
        padding: 4px 10px;
        color: var(--color-one);
        font-size: var(--font-sm);
        font-weight: 600;
        text-transform: uppercase;
        width: 60px;
        height: unset;
    }

@media (min-width: 320px) {
    .tempus-dominus-widget {
        /* max-width: 17rem !important; */
        /* width: 100% !important; */
        /* transform: translate3d(25px, 401px, 0px) !important; */
    }
}

@media (min-width: 576px) {
}

@media (min-width: 768px) {
}

@media (min-width: 992px) {
}

@media (min-width: 1200px) {
}

@media (min-width: 1400px) {
}

@media (min-width: 1600px) {
}


/* -------------------------------------------------
Chapter 9 New List Page Style
------------------------------------------------- */
.page-header {
    font-size: calc(var(--font-femto) * 2);
    /*--font-micro*/
    line-height: calc(var(--font-femto) * 2);
    font-weight: 600;
    color: #000000;
    margin-bottom: var(--font-femto);
}

.sorting-wrapper {
    margin-bottom: var(--font-femto);
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: var(--font-uxs);
    align-items: center;
}

/* sorting css starts */
.custom-select-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    /* width: 200px; */
}

.custom-select-no-caret,
.custom-select-with-icon {
    appearance: none;
    background-image: none !important;
    border-radius: 16px;
    height: calc(var(--font-md) * 2);
    /*--font-lg*/
    font-size: var(--font-xs);
    /*--font-sm*/
    font-weight: 300;
    /* border: transparent; */
    border: solid 1px var(--color-three);
}

.custom-select-no-caret {
    padding-left: var(--font-6xl);
}

.custom-select-with-icon {
    padding-right: var(--font-4xl);
}

.sort-icon-static {
    position: absolute;
    left: 10px;
    pointer-events: none;
}

.caret-icon {
    position: absolute;
    right: 10px;
    pointer-events: none;
    transition: transform 0.3s ease;
}

.sort-icon-static,
.caret-icon {
    color: var(--color-one);
    font-size: var(--font-sm);
}

.custom-select-wrapper.with-caret:focus-within .caret-icon {
    transform: rotate(180deg);
}

/* sorting css ends */

.sec-list2 {
    padding: 0px 12px;
    margin-bottom: 12px;
    /* background-color: rgba(217, 217, 217, 0.3); */
}

    .sec-list2 .container {
        padding: 0;
    }

.list-item-wrapper2 {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: var(--font-femto);
}

.list-collapse-wrapper2 {
}

.list-item2 {
    padding: var(--font-femto);
    background-color: #FFFFFF;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
}

.item-metadata2 {
    flex: 1;
    display: flex;
    flex-direction: column;
    /* align-items: center; */
    /* gap: calc(var(--font-femto) * 5); */
}

.train-dp-wrapper2 {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    /* gap: calc(var(--font-femto) * 5); */
}

.item-metadata2 > :nth-child(2) {
    margin-left: auto;
}

.service-provider-wrapper2 {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--font-femto);
    margin-bottom: calc(var(--font-femto) * 0.5);
}

.service-provider-seperator2 {
    color: var(--color-four);
    font-size: var(--font-xs);
    font-weight: 500;
}

.service-provider-wrapper2,
.service-provider-logo2 {
    height: calc(var(--font-femto) * 2);
    /*25*/
}

.service-provider-logo2 {
    /* width: calc(var(--font-sm) * 10); */
    /*200*/
    /* height: 24px; */
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    gap: 6px;
    /* border: solid 1px black; */
}

    .service-provider-logo2 img {
        height: 100%;
        width: 100%;
        object-fit: contain;
        /* contain-width & cover-height */
        object-position: center left;
    }

.train-number2 {
    font-size: 10px;
    /*12*/
    line-height: 10px;
    color: var(--color-seven);
    margin: 4px 0px;
}

.train-timings-wrapper2 {
    display: flex;
    flex-direction: column;
    background-color: #FFFFFF;
}

.payment-box .train-timings-wrapper2 {
    background-color: unset;
}

.train-details-wrapper2 {
}

.train-pricing-wrapper2 {
}

    .train-pricing-wrapper2 [aria-expanded="false"] .collapse-icon2 i {
        transform: rotate(0deg);
        transition: transform 0.3s ease;
    }

    /* Arrow pointing up when expanded */
    .train-pricing-wrapper2 [aria-expanded="true"] .collapse-icon2 i {
        transform: rotate(180deg);
    }

.train-time-box2 {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--font-uxs);
}

.train-departure-time2,
.train-arrival-time2 {
    font-size: 24px;
    line-height: 24px;
    /*16*/
    font-weight: 700;
    color: #000000;
}

.payment-box .train-departure-time2,
.payment-box .train-arrival-time2 {
    color: #FFFFFF;
}

.train-departure-time2 {
    /* width: 110px; */
}

.train-arrival-time2 {
    /* width: 150px; */
    text-align: right;
}

.train-time-box2 {
}

.train-departure-data2,
.train-arrival-data2 {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.journey-timings2 {
    /* width: 385px; */
    z-index: 1;
    flex: 1;
}

.journey-timings3 {
    z-index: 1;
    flex: 1;
    font-size: var(--font-4xl);
    /*--font-6xl*/
    line-height: var(--font-4xl);
    text-align: center;
    color: #000000;
}

.payment-box .journey-timings3 {
    color: #FFFFFF;
}

.line-with-text2 {
    display: flex;
    align-items: center;
    width: 100%;
}

    .line-with-text2::before,
    .line-with-text2::after {
        content: "";
        flex: 1;
        height: 2px;
        background-color: var(--color-seven);
    }

    .line-with-text2 span {
        font-size: 10px;
        /*12*/
        line-height: 10px;
        padding: 0 var(--font-uxs);
        white-space: nowrap;
        color: var(--color-seven);
        font-weight: 600;
    }

.station-name-departure2,
.station-name-departure3,
.station-name-arrival2,
.station-name-arrival3 {
    display: block;
    font-size: 18px;
    /*12*/
    line-height: 20px;
    /*14*/
    font-weight: 500;
    overflow-wrap: break-word;
    word-break: break-word;
    white-space: normal;
    color: #000000;
}

.payment-box .station-name-departure2,
.payment-box .station-name-departure3,
.payment-box .station-name-arrival2,
.payment-box .station-name-arrival3 {
    color: #FFFFFF;
}

.station-name-arrival2,
.station-name-arrival3 {
    text-align: right;
    flex: 1 1 50%;
}

.station-name-box2 {
    display: flex;
    flex-direction: row;
    /* gap: calc(var(--font-uxs) * 2); */
    margin-top: 6px;
}

.station-name-wrap2 {
    /* width: 495px; */
    flex: 1 1 50%;
}

.station-name-wrap3 {
    /* width: 495px; */
    flex: 0 0 50%;
}

.station-name-departure2 {
}

.station-name-departure3 {
    flex: 0 0 50%;
}

.btn.pill {
    border-radius: 50px;
    font-size: 10px;
    /*12*/
    line-height: 10px;
    font-weight: 700;
    text-transform: uppercase;
    padding: var(--font-femto) var(--font-3xl);
    color: var(--color-one);
}

    .btn.pill:hover,
    .btn.pill:focus {
        background-color: var(--color-one);
        color: #FFFFFF;
    }

.train-pricing-action2 {
    display: flex;
    align-items: center;
    /* gap: var(--font-femto); */
    padding: var(--font-femto);
    background-color: var(--color-one);
    color: #FFFFFF;
    border-radius: 10px;
    justify-content: space-between;
    min-width: 140px;
}

.train-price-data2 {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.collapse-icon2 {
    font-size: 20px;
    /*24*/
}

    .collapse-icon2 i {
        transition: transform 0.6s ease;
    }

.train-price-label2 {
    font-size: 10px;
    /*12*/
    line-height: 10px;
    font-weight: 500;
}

.train-price2 {
    font-size: 20px;
    /*24*/
    line-height: 20px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 4px;
}

    .train-price2 i {
        font-size: var(--font-md);
        line-height: var(--font-md);
    }

.search-selection-wrapper2 {
    display: block;
    margin-top: calc(var(--font-femto) * 0.5);
    /*display: flex;
    flex-direction: row;
    gap: var(--font-femto);*/
    font-size: 16px;
    /*10*/
    color: #000000;
}

.payment-box .search-selection-wrapper2 {
    color: #FFFFFF;
}

.passenger-count2 {
    display: flex;
    /* align-items: center; */
    gap: var(--font-nano);
}

.passenger-count2-meta {
    flex: 0 1 100%;
}

    /* --------------------------------------- */
    .passenger-count2-meta.train-number {
        flex: 1 1 auto;
        min-width: 0;
        /* ✅ required for ellipsis in flex */
        position: relative;
        white-space: nowrap;
        /* single line */
        overflow: hidden;
        /* clip overflow */
        text-overflow: ellipsis;
        /* … */
    }

.train-number .view-more-btn {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    display: none;
    /* shown only when truncated */
    align-items: center;
    padding: 0 6px 0 calc(var(--font-lg) * 3);
    /* left pad makes room for fade */
    font-size: var(--font-femto);
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    color: var(--color-two);
    /* accent */
    border: 0;
    background: linear-gradient(to right, rgba(255, 255, 255, 0),
    /* match your chip bg; adjust if needed */
    var(--color-four) 40%, var(--color-four));
    border-radius: 0 4px 4px 0;
}

.train-number.is-truncated .view-more-btn {
    display: flex;
}

.train-number.expanded {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

    .train-number.expanded .view-more-btn {
        position: static;
        height: auto;
        background: none;
        padding: 0 0 0 0;
    }

/* --------------------------------------- */

.passenger-count2 span {
    /* background-color: lightgreen; */
}

.passenger-count2 i,
.passenger-count3 i {
    flex: 0 0 var(--font-xs);
    padding-top: 3px;
}

.passenger-count3 {
    flex: 1;
    display: flex;
    align-items: center;
    gap: var(--font-nano);
}

.train-number {
    text-transform: uppercase;
}

    .train-number span::before {
        content: ', ';
    }

    .train-number span:first-child:before {
        content: none;
    }

.list-collapse2 {
    margin-top: var(--font-femto);
}

.sec-horizontal-calendar2 {
    /* border: solid 2px red; */
    padding: var(--font-sm) 0px;
}

.horizontal-calendar-wrapper2 {
    display: flex;
    flex-direction: row;
    background-color: #FFFFFF;
    border-radius: 10px;
    overflow: hidden;
}

.custom-prev,
.custom-next {
    width: 30px;
    background-color: #FFFFFF;
    border: 1px solid #FFFFFF;
    font-size: var(--font-2xl);
    cursor: pointer;
    transition: 0.3s;
}

.horizontal-calendar2 {
    width: calc(100% - 60px);
}

.calendar-day2 {
    color: #000000;
    /* width: 80px; */
    border-radius: 10px;
    padding: var(--font-femto);
}

.day2,
.month2 {
    font-size: 10px;
    /*12*/
    line-height: 10px;
    font-weight: 500;
    text-align: center;
}

.date2 {
    font-size: 20px;
    /*25*/
    line-height: 20px;
    font-weight: 700;
    text-align: center;
    margin: 4px 0px;
}

.day2 {
    text-transform: capitalize;
}

.month2 {
    text-transform: uppercase;
}

.multiple-matrix-container {
    padding: var(--font-femto);
    border-radius: 10px;
    background-color: #FFFFFF;
}

.matrix-title-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--font-femto) * 0.5);
}

.matrix-title,
.matrix-title2 {
    font-size: var(--font-uxs);
    /*--font-xs*/
    line-height: var(--font-uxs);
    font-weight: 500;
    color: var(--color-one);
    text-transform: uppercase;
    /* margin-bottom: var(--font-femto); */
    display: flex;
    gap: calc(var(--font-femto) * 0.5);
}

.matrix-title {
    border: solid 1px var(--color-three);
    border-radius: 4px;
    padding: 3px;
}

    .matrix-title:nth-child(5n+1) {
        background-color: #fce4ec;
        /* light pink */
    }

    .matrix-title:nth-child(5n+2) {
        background-color: #e3f2fd;
        /* light blue */
    }

    .matrix-title:nth-child(5n+3) {
        background-color: #e8f5e9;
        /* light green */
    }

    .matrix-title:nth-child(5n+4) {
        background-color: #fff3e0;
        /* light orange */
    }

    .matrix-title:nth-child(5n+5) {
        background-color: #f3e5f5;
        /* light purple */
    }

.matrix-wrapper {
    position: relative;
    display: flex;
    flex-direction: row;
    background-color: #FFFFFF;
    margin-top: var(--font-femto);
    margin-bottom: var(--font-femto);
    padding-bottom: var(--font-femto);
    border-bottom: dotted 2px var(--color-six);
}

    .matrix-wrapper form {
        flex: 1;
    }

.multiple-matrix-container .matrix-wrapper:last-child {
    margin-bottom: 0px;
    padding-bottom: 0px;
    border-bottom: none;
}

.left-fare-type {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.right-class-levels {
    display: flex;
    flex-direction: row;
    gap: 8px;
    flex: 1;
    overflow: auto;
}

.class-fare-box {
    border-radius: 6px;
    border: solid 1px var(--color-seven);
    padding: 4px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100px;
}

.fare-type-box {
    padding: 4px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.fare-title {
    text-transform: uppercase;
    font-size: 12px;
    /*16*/
    line-height: 12px;
    font-weight: 500;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
}

.fare-value {
    font-size: 10px;
    /*14*/
    line-height: 10px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border: solid 1px #000000;
    border-radius: 4px;
    padding: 4px 0px;
    cursor: pointer;
}

    .fare-value:hover,
    .fare-value:focus,
    .fare-value.active {
        background-color: var(--color-one);
        color: #FFFFFF;
    }

    .fare-value i {
        font-size: 10px;
        /*12*/
        line-height: 10px;
    }

.fare-type {
    font-size: 10px;
    /*12*/
    line-height: 10px;
    font-weight: 500;
    background-color: var(--color-seven);
    border-radius: 4px;
    padding: 4px 0px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 80px;
}

.fare-type,
.fare-value {
    height: 40px;
}

.detail-action-wrapper,
.detail-action-wrapper2 {
    background-color: var(--color-one);
    border-radius: 10px;
    display: flex;
    align-items: center;
    /* justify-content: flex-end; */
    padding: var(--font-femto);
    gap: 10px;
}

.detail-action-wrapper {
    justify-content: flex-end;
}

.detail-action-wrapper2 {
    justify-content: space-between;
}

.detail-action-wrapper3 {
    background-color: var(--color-one);
    border-radius: 10px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: flex-end;
    padding: var(--font-femto);
    gap: 10px;
}

    .detail-action-wrapper3 .final-price-wrapper {
        flex: 0 0 65%;
    }

    .detail-action-wrapper3 .select-seat-switch {
        flex: 0 0 40%;
    }

    .detail-action-wrapper3 .proceed-button {
        flex: 0 0 40%;
    }


.select-seat-switch {
    display: flex;
    align-items: center;
    gap: var(--font-uxs);
}

    .select-seat-switch span {
        font-size: var(--font-xs);
        /*--font-sm*/
        line-height: var(--font-xs);
        font-weight: 500;
        color: #FFFFFF;
        text-transform: uppercase;
    }

    .select-seat-switch .form-switch .form-check-input {
        width: 4em;
        height: 2em;
    }

        .select-seat-switch .form-switch .form-check-input:checked {
            background-color: var(--color-two);
            border-color: var(--color-two);
        }

.form-check-input:focus {
    border-color: unset;
    outline: 0;
    box-shadow: unset;
}

.train-qr-code-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0px var(--font-femto);
}

.train-qr-code {
    height: calc(var(--font-nano) * 10);
    /*--font-uxs*/
    width: calc(var(--font-nano) * 10);
    background-color: #FFFFFF;
    padding: 4px;
    border-radius: 4px;
}

    .train-qr-code img {
        height: 100%;
        width: 100%;
        object-fit: cover;
        /* contain-width & cover-height */
        object-position: center center;
    }

.download-ticket-wrap {
    padding: var(--font-femto);
}

@media (min-width: 576px) {
}

@media (min-width: 768px) {
    .sec-list2 .container {
        padding: inherit;
    }

    .train-departure-time2,
    .train-arrival-time2 {
        font-size: 24px;
        line-height: 24px;
        /*24*/
    }

    .line-with-text2 span {
        font-size: 12px;
        /*14*/
        line-height: 12px;
    }

    .station-name-departure2,
    .station-name-departure3,
    .station-name-arrival2,
    .station-name-arrival3 {
        font-size: 18px;
        /*14*/
        line-height: 20px;
        /*16*/
        /* width: 220px; */
    }

    .search-selection-wrapper2 {
        font-size: 16px;
        /*11*/
    }

    .btn.pill {
        font-size: 12px;
        /*14*/
        line-height: 12px;
        padding: 10px 30px;
    }

    .train-price-label2 {
        font-size: 12px;
        /*14*/
        line-height: 12px;
    }

    .train-price2 {
        font-size: 23px;
        /*27*/
        line-height: 23px;
    }

    .collapse-icon2 {
        font-size: 23px;
        /*27*/
    }

    .train-pricing-action2 {
        min-width: 160px;
    }

    .train-number2 {
        font-size: 12px;
        /*14*/
        line-height: 12px;
    }

    .day2,
    .month2 {
        font-size: 13px;
        /*15*/
        line-height: 13px;
    }

    .date2 {
        font-size: 25px;
        /*30*/
        line-height: 25px;
        margin: 5px 0px;
    }

    .custom-prev,
    .custom-next {
        width: 32px;
    }

    .horizontal-calendar2 {
        width: calc(100% - 64px);
    }

    .fare-type {
        font-size: 12px;
        /*14*/
        line-height: 12px;
        width: 100px;
    }

    .fare-title {
        font-size: 14px;
        /*18*/
        line-height: 14px;
        height: 70px;
    }

    .fare-value {
        font-size: 13px;
        /*17*/
        line-height: 13px;
    }

        .fare-value i {
            font-size: 12px;
            /*14*/
            line-height: 12px;
        }

    .class-fare-box {
        width: 120px;
    }

    .detail-action-wrapper {
        gap: var(--font-3xl);
    }

    .detail-action-wrapper3 .final-price-wrapper {
        flex: unset;
    }

    .detail-action-wrapper3 .select-seat-switch {
        flex: unset;
    }

    .detail-action-wrapper3 .proceed-button {
        flex: unset;
    }
}

@media (min-width: 992px) {

    .train-departure-time2,
    .train-arrival-time2 {
        font-size: 24px;
        line-height: 24px;
        /*20*/
    }

    .line-with-text2 span {
        font-size: 14px;
        /*16*/
        line-height: 14px;
    }

    .station-name-departure2,
    .station-name-departure3,
    .station-name-arrival2,
    .station-name-arrival3 {
        font-size: 18px;
        /*16*/
        line-height: 20px;
        /*18*/
        /* width: 220px; */
    }

    .search-selection-wrapper2 {
        font-size: 16px;
        /*12*/
    }

    .btn.pill {
        font-size: 14px;
        /*16*/
        line-height: 14px;
        padding: 10px 30px;
    }

    .train-price-label2 {
        font-size: 14px;
        /*16*/
        line-height: 14px;
    }

    .train-price2 {
        font-size: 26px;
        /*30*/
        line-height: 26px;
    }

    .collapse-icon2 {
        font-size: 26px;
        /*30*/
    }

    .train-pricing-action2 {
        min-width: 180px;
    }

    .train-number2 {
        font-size: 14px;
        /*16*/
        line-height: 14px;
    }

    .day2,
    .month2 {
        font-size: 16px;
        /*18*/
        line-height: 16px;
    }

    .date2 {
        font-size: 30px;
        /*35*/
        line-height: 30px;
        margin: 6px 0px;
    }

    .custom-prev,
    .custom-next {
        width: 34px;
    }

    .horizontal-calendar2 {
        width: calc(100% - 68px);
    }

    .fare-type {
        font-size: 14px;
        /*16*/
        line-height: 14px;
        width: 120px;
    }

    .fare-title {
        font-size: 16px;
        /*20*/
        line-height: 16px;
        height: 80px;
    }

    .fare-value {
        font-size: 16px;
        /*20*/
        line-height: 16px;
    }

        .fare-value i {
            font-size: 14px;
            /*16*/
            line-height: 14px;
        }

    .class-fare-box {
        width: 140px;
    }
}

@media (min-width: 1200px) {
    .item-metadata2 {
        flex: 1;
        flex-direction: row;
        align-items: center;
        gap: calc(var(--font-femto) * 3);
    }

    .train-dp-wrapper2 {
        gap: calc(var(--font-femto) * 3);
    }

    .train-departure-time2,
    .train-arrival-time2 {
        font-size: 24px;
        line-height: 24px;
        /*22*/
    }

    .train-arrival-time2 {
        text-align: left;
    }

    .train-departure-time2 {
        width: 75px;
        /*110*/
    }

    .train-arrival-time2 {
        width: 75px;
    }

    .line-with-text2 span {
        font-size: 16px;
        /*18*/
        line-height: 16px;
    }

    .station-name-departure2,
    .station-name-arrival2,
    .station-name-arrival3 {
        font-size: 18px;
        /*20*/
        line-height: 18px;
        width: 220px;
        /* flex: 0 0 50%; */
    }

    .station-name-departure3 {
        font-size: 20px;
        line-height: 22px;
    }

    .station-name-arrival2 {
        text-align: left;
        flex: unset;
    }

    .search-selection-wrapper2 {
        font-size: 16px;
        /*14*/
    }

    .btn.pill {
        font-size: 16px;
        /*18*/
        line-height: 16px;
        padding: 10px 30px;
    }

    .train-price-label2 {
        font-size: 16px;
        /*18*/
        line-height: 16px;
    }

    .train-price2 {
        font-size: 29px;
        /*33*/
        line-height: 29px;
    }

    .collapse-icon2 {
        font-size: 29px;
        /*33*/
    }

    .journey-timings2 {
        width: 350px;
        flex: unset;
    }

    .station-name-wrap2 {
        width: 455px;
        flex: unset;
    }

    .train-pricing-action2 {
        min-width: 190px;
    }

    .train-number2 {
        font-size: 16px;
        /*18*/
        line-height: 16px;
    }

    .day2,
    .month2 {
        font-size: 19px;
        /*21*/
        line-height: 19px;
    }

    .date2 {
        font-size: 35px;
        /*40*/
        line-height: 35px;
        margin: 7px 0px;
    }

    .custom-prev,
    .custom-next {
        width: 36px;
    }

    .horizontal-calendar2 {
        width: calc(100% - 72px);
    }

    .fare-type {
        font-size: 16px;
        /*18*/
        line-height: 16px;
        width: 140px;
    }

    .fare-title {
        font-size: 18px;
        /*22*/
        line-height: 18px;
        height: 90px;
    }

    .fare-value {
        font-size: 19px;
        /*23*/
        line-height: 19px;
    }

        .fare-value i {
            font-size: 16px;
            /*18*/
            line-height: 16px;
        }

    .class-fare-box {
        width: 160px;
    }
}

@media (min-width: 1400px) {

    .train-departure-time2,
    .train-arrival-time2 {
        font-size: 24px;
        line-height: 24px;
    }

    .line-with-text2 span {
        font-size: 18px;
        /*20*/
        line-height: 18px;
    }

    .station-name-departure2,
    .station-name-arrival2 {
        font-size: 20px;
        /*22*/
        line-height: 20px;
        width: 220px;
    }

    .station-name-departure2 {
        font-size: 20px;
        /*22*/
        line-height: 20px;
    }

    .station-name-arrival3 {
        font-size: 20px;
        /*22*/
        line-height: 20px;
    }

    .search-selection-wrapper2 {
        font-size: 16px;
    }

    .btn.pill {
        font-size: 18px;
        /*20*/
        line-height: 18px;
        padding: 10px 30px;
    }

    .train-price-label2 {
        font-size: 18px;
        /*20*/
        line-height: 18px;
    }

    .train-price2 {
        font-size: 32px;
        /*36*/
        line-height: 32px;
    }

    .collapse-icon2 {
        font-size: 32px;
        /*36*/
    }

    .journey-timings2 {
        width: 500px;
    }

    .train-departure-time2 {
        width: 80px;
    }

    .train-arrival-time2 {
        width: 80px;
    }

    .station-name-wrap2 {
        width: 612px;
    }

    .item-metadata2 {
        gap: calc(var(--font-femto) * 2);
    }

    .train-dp-wrapper2 {
        gap: calc(var(--font-femto) * 2);
    }

    .train-pricing-action2 {
        min-width: 210px;
    }

    .train-number2 {
        font-size: 18px;
        /*20*/
        line-height: 18px;
    }

    .day2,
    .month2 {
        font-size: 22px;
        /*24*/
        line-height: 22px;
    }

    .date2 {
        font-size: 40px;
        /*45*/
        line-height: 40px;
        margin: 8px 0px;
    }

    .custom-prev,
    .custom-next {
        width: 38px;
    }

    .horizontal-calendar2 {
        width: calc(100% - 76px);
    }

    .fare-type {
        font-size: 18px;
        /*20*/
        line-height: 18px;
        width: 200px;
    }

    .fare-title {
        font-size: 20px;
        /*24*/
        line-height: 20px;
        height: 100px;
    }

    .fare-value {
        font-size: 22px;
        /*26*/
        line-height: 22px;
    }

        .fare-value i {
            font-size: 18px;
            /*20*/
            line-height: 18px;
        }

    .class-fare-box {
        width: 180px;
    }
}

@media (min-width: 1600px) {
}

/* -------------------------------------------------
Chapter 10 Breadcrumb Style
------------------------------------------------- */
.sec-breadcrumb {
    background-color: var(--color-one);
    padding: var(--font-sm) 0px;
}

.step-container {
    display: flex;
    flex-wrap: wrap;
    min-height: calc(var(--font-femto) * 4);
    /* calc(var(--font-femto) * 5);*/
    background: #fff;
    gap: var(--font-femto);
    border-radius: 20px;
    padding: var(--font-femto);
}

.step-item {
    flex: 1 0 48%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    color: var(--color-one);
    text-decoration: none;
    text-transform: uppercase;
    border: solid 1px var(--color-two);
    border-radius: 40px;
    font-size: var(--font-uxs);
    /*--font-xs */
    line-height: var(--font-uxs);
    /*--font-xs */
    transition: background-color 0.3s ease, color 0.3s ease;
    text-align: center;
    padding: var(--font-femto) 2px;
}

    .step-item.active,
    .step-item:hover {
        background-color: var(--color-two);
    }

@media (min-width: 768px) {
    .step-item {
        flex: 1 0 32%;
    }
}

@media (min-width: 992px) {
    .step-container {
        padding: unset;
        border-radius: 40px;
    }

    .step-item {
        flex: 1;
        border: unset;
        padding: unset;
    }
}

@media (min-width: 1200px) {
    .step-container {
        max-width: 970px;
        margin: auto;
    }
}

@media (min-width: 1400px) {
    .step-container {
        max-width: 1200px;
    }
}

/* -------------------------------------------------
Chapter 11 Seat Selection Style
------------------------------------------------- */
.sec-seat-selection,
.sec-passenger-details {
    padding: 0px 12px;
    /* margin-bottom: 12px; */
    margin: var(--font-3xl) 0px;
    /* background-color: red; */
}

    .sec-seat-selection .container,
    .sec-passenger-details .container {
        padding: 0;
    }

.seat-selection-wrapper,
.passenger-selection-wrapper {
    margin: var(--font-3xl) 0px;
}

.selection-box,
.payment-box {
    border-radius: 8px;
    overflow: hidden;
}

.selection-box {
    background-color: var(--color-three);
}

.payment-box {
    background-color: var(--color-one);
}

.selection-header {
    color: #FFFFFF;
    font-size: var(--font-sm);
    /*--font-lg*/
    font-weight: 500;
    text-transform: uppercase;
    line-height: var(--font-xl);
}

.p-train-timing-wrap,
.selection-header,
.fee-details,
.seat-pax-details {
    padding: var(--font-femto);
}

.selection-header,
.fee-details {
    background-color: var(--color-one);
}

.seat-pax-details {
    background-color: var(--color-three);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.pax-category {
    color: var(--color-one);
    font-size: var(--font-xs);
    /*--font-sm*/
    line-height: var(--font-md);
    /*--font-lg*/
    font-weight: 500;
    display: flex;
    flex-direction: column;
}

.wagon-seat {
    color: var(--color-one);
    display: flex;
    gap: var(--font-6xl);
}

.wagon-number,
.seat-number {
    border: solid 1px var(--color-one);
    border-radius: 10px;
    padding: var(--font-femto) calc(var(--font-femto) * 0.5);
    display: flex;
    align-items: center;
    gap: var(--font-femto);
    background-color: #FFFFFF;
}

    .wagon-number i,
    .seat-number i {
        font-size: var(--font-2xl);
        /*--font-4xl*/
    }

    .wagon-number span,
    .seat-number span {
        font-size: var(--font-xs);
        /*--font-sm*/
        font-weight: 500;
    }

.fee-details {
    color: #FFFFFF;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.fee-details-label {
    font-size: var(--font-sm);
    /*--font-lg*/
    line-height: var(--font-sm);
    font-weight: 500;
    text-transform: uppercase;
}

.fee-value {
    font-size: var(--font-3xl);
    /*--font-5xl*/
    line-height: var(--font-3xl);
    font-weight: 700;
}

.payment-box .fee-value {
    font-size: var(--font-3xl);
    line-height: var(--font-3xl);
    font-weight: 700;
}

.final-price-wrapper {
    color: #FFFFFF;
    display: flex;
    align-items: center;
    gap: 10px;
}

.final-price-label {
    display: flex;
    flex-direction: column;
}

    .final-price-label .primary {
        /* font-size: var(--font-sm); */
        /*--font-lg*/
        /* line-height: var(--font-sm); */
        font-size: calc(var(--font-uxs) * 1.8);
        /*--font-sm*/
        line-height: calc(var(--font-uxs) * 1.8);
    }

    .final-price-label .secondary {
        font-size: var(--font-femto);
        /*--font-uxs*/
        line-height: var(--font-femto);
    }

    .final-price-label .primary,
    .final-price-label .secondary {
        text-transform: capitalize;
    }

.final-price {
    display: flex;
    align-items: flex-end;
    font-weight: 500;
}

    .final-price .integer {
        font-size: calc(var(--font-uxs) * 1.8);
        /*--font-sm*/
        line-height: calc(var(--font-uxs) * 1.8);
    }

    .final-price .fractional {
        font-size: calc(var(--font-femto) * 1.8);
        /*--font-nano*/
        line-height: calc(var(--font-femto) * 1.8);
    }

.payment-box .final-price .integer {
    font-size: calc(var(--font-uxs) * 1.5);
    /*--font-sm*/
    line-height: calc(var(--font-uxs) * 1.5);
    font-weight: 700;
}

.payment-box .final-price .fractional {
    font-size: calc(var(--font-femto) * 1.5);
    /*--font-nano*/
    line-height: calc(var(--font-femto) * 1.5);
    font-weight: 700;
}

.passenger-info {
    color: #FFFFFF;
    font-size: var(--font-sm);
    /*--font-xl*/
    line-height: var(--font-sm);
    text-transform: uppercase;
    font-weight: 500;
}

.form-pax-container {
    padding: calc(var(--font-femto) * 2);
}

.booking-item-container {
    display: flex;
    flex-direction: column;
    gap: var(--font-uxs);
}

.payment-element-wrap {
    margin-bottom: var(--font-femto);
    overflow: hidden;
}

    .payment-element-wrap .form-element-wrap {
        background-color: var(--color-one);
        padding: var(--font-femto);
    }

.form-element-wrap {
    background-color: #FFFFFF;
    border-radius: 10px;
    padding: 6px;
    border: solid 1px var(--color-three);
}

    .form-element-wrap .form-label,
    .payment-box .form-label {
        font-size: var(--font-pico);
        /*--font-micro*/
        font-weight: 700;
        margin-bottom: 0px;
    }

    .form-element-wrap .form-label {
        color: var(--color-four);
    }

.payment-element-wrap .form-element-wrap .form-label,
.payment-box .form-label {
    color: var(--color-two);
}

.payment-box .form-label {
    margin-bottom: 6px;
}

.form-element-wrap .form-control,
.form-indicator,
.form-element-wrap .form-select {
    color: var(--color-four);
    font-size: var(--font-nano);
    /*--font-md*/
    font-weight: 500;
    padding: 0;
    border-radius: 0px;
    border-color: transparent;
}

.form-element-wrap .form-control,
.form-element-wrap .form-select {
    color: var(--color-one);
}

.payment-element-wrap .form-element-wrap .form-control,
.payment-element-wrap .form-element-wrap .form-select {
    color: #FFFFFF;
    background-color: transparent;
}

.passenger-name-wrap {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: calc(var(--font-femto) * 0.5);
}

    .passenger-name-wrap i {
        color: var(--color-four);
    }

.passenger-name,
.passenger-meta {
    color: var(--color-one);
    font-size: var(--font-nano);
    font-weight: 500;
}

@media (min-width: 768px) {

    .sec-seat-selection .container,
    .sec-passenger-details .container {
        padding: inherit;
    }

    .final-price-wrapper {
        gap: var(--font-3xl);
    }

    .final-price-label .primary {
        /* font-size: var(--font-lg); */
        /*--font-2xl*/
        /* line-height: var(--font-lg); */
    }

    .final-price-label .secondary {
        font-size: var(--font-uxs);
        /*--font-sm*/
        line-height: var(--font-uxs);
    }

    .final-price .integer {
        font-size: calc(var(--font-uxs) * 2);
        /*--font-sm*/
        line-height: calc(var(--font-uxs) * 2);
    }

    .final-price .fractional {
        font-size: calc(var(--font-femto) * 2);
        /*--font-nano*/
        line-height: calc(var(--font-femto) * 2);
    }
}

@media (min-width: 992px) {
}

@media (min-width: 1200px) {
}

@media (min-width: 1400px) {
}

@media (min-width: 1600px) {
}

/* -------------------------------------------------
Chapter 12 My Profile Style
------------------------------------------------- */
.profile-photo-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
}

.profile-photo,
.profile-photo-sm {
    border-radius: 50%;
    background-color: greenyellow;
    overflow: hidden;
    position: relative;
}

.profile-photo {
    height: calc(var(--font-femto) * 20);
    width: calc(var(--font-femto) * 20);
}

.profile-photo-sm {
    height: calc(var(--font-femto) * 12);
    width: calc(var(--font-femto) * 12);
    border: solid 3px var(--color-six);
}

.profile-photo input[type="file"] {
    display: none;
}

.upload-overlay {
    position: absolute;
    background-color: rgba(0, 0, 0, 0.6);
    color: var(--color-two);
    border-radius: 50%;
    padding: var(--font-xl);
    font-size: var(--font-xs);
    width: var(--font-6xl);
    height: var(--font-6xl);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.upload-overlay {
    bottom: 12px;
    right: 12px;
}

    .upload-overlay:hover {
        background-color: var(--color-two);
        color: var(--color-one);
    }

.list-group-wrap .list-group {
    border-radius: 10px;
}

    .list-group-wrap .list-group a.list-group-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        background-color: var(--color-three);
        border: none;
        padding: var(--font-femto);
        border-bottom: dotted 1px var(--color-one);
    }

        .list-group-wrap .list-group a.list-group-item:last-child {
            border-bottom: none;
        }

        .list-group-wrap .list-group a.list-group-item:hover,
        .list-group-wrap .list-group a.list-group-item:active,
        .list-group-wrap .list-group a.list-group-item.active,
        .list-group-wrap .list-group a.list-group-item:focus {
            background-color: var(--color-one);
        }

        .list-group-wrap .list-group a.list-group-item .list-group-name {
            color: var(--color-one);
        }

        .list-group-wrap .list-group a.list-group-item:hover .list-group-name,
        .list-group-wrap .list-group a.list-group-item:active .list-group-name,
        .list-group-wrap .list-group a.list-group-item.active .list-group-name,
        .list-group-wrap .list-group a.list-group-item:focus .list-group-name {
            color: #FFFFFF;
        }

.list-group-name {
    font-size: var(--font-sm);
    line-height: var(--font-lg);
    text-transform: uppercase;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: var(--font-femto);
}

    .list-group-name i {
        width: var(--font-2xl);
    }

.list-group-wrap .list-group a.list-group-item:hover .list-group-indicator,
.list-group-wrap .list-group a.list-group-item:active .list-group-indicator,
.list-group-wrap .list-group a.list-group-item.active .list-group-indicator,
.list-group-wrap .list-group a.list-group-item:focus .list-group-indicator {
    color: var(--color-two);
}

.user-name {
    display: flex;
    justify-content: center;
    font-size: var(--font-2xl);
    font-weight: 700;
    color: var(--color-one);
}

.mt-profile-photo {
    margin-top: -40px;
}

.my-account-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.booking-business-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--font-sm);
}

    .booking-business-wrap a {
        text-decoration: none;
        display: block;
        border-radius: 10px;
        background-color: var(--color-three);
        color: var(--color-one);
        padding: var(--font-femto);
    }

        .booking-business-wrap a.active,
        .booking-business-wrap a:active,
        .booking-business-wrap a:hover,
        .booking-business-wrap a:focus {
            background-color: var(--color-one);
            color: #FFFFFF;
        }

.booking-business-action {
}

    .booking-business-action i {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: var(--font-2xl);
        height: var(--font-4xl);
        width: var(--font-4xl);
    }

.my-account-action-wrap {
    /* display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--font-sm); */
}

/* sort code starts */
.cd_t_sort_wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cd_t_sort_label {
    display: flex;
    align-items: center;
    gap: calc(var(--font-femto) * 0.5);
    color: #000;
    font-size: var(--font-nano);
    font-weight: 500;
}

    .cd_t_sort_label i,
    .cd_t_sort_tab i {
        color: var(--color-one);
        font-size: var(--font-sm);
    }

.cd_t_sort_tabs {
    position: relative;
    display: flex;
    gap: 2px;
    padding-bottom: 4px;
}

    .cd_t_sort_tabs::before {
        content: '';
        position: absolute;
        bottom: 4px;
        left: 0;
        height: 3px;
        width: 100%;
        background-color: #d8e8f7;
        border-radius: 2px;
        z-index: 0;
    }

.cd_t_sort_tab {
    position: relative;
    background: none;
    border: none;
    outline: none;
    padding: 8px 12px;
    font-size: var(--font-nano);
    font-weight: 500;
    color: #000;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: calc(var(--font-femto) * 0.5);
    z-index: 1;
}

    .cd_t_sort_tab.active::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        height: 3px;
        width: 100%;
        background-color: var(--color-one);
        border-radius: 2px;
    }

/* sort code ends */

.booking-item-container {
}

.booking-item-wrap {
    position: relative;
    color: var(--color-one);
    padding: var(--font-uxs);
    background-color: #FFFFFF;
    border-radius: 16px;
}

    .booking-item-wrap.success,
    .booking-detail-container.success {
        border: solid 1px var(--bs-success);
    }

    .booking-item-wrap.failed,
    .booking-detail-container.failed {
        border: solid 1px var(--bs-danger);
    }

    .booking-item-wrap.pending,
    .booking-detail-container.pending {
        border: solid 1px var(--bs-warning);
    }

.booking-item-status-icon {
    /*position: absolute;
    top: 0;
    right: 0;*/
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(var(--font-femto) * 3);
    width: calc(var(--font-femto) * 3);
    border-radius: 8px;
    color: #FFFFFF;
    font-size: var(--font-sm);
}

.booking-item-wrap.success .booking-item-status-icon,
.booking-detail-container.success .booking-item-status-icon {
    background-color: var(--bs-success);
}

.booking-item-wrap.failed .booking-item-status-icon,
.booking-detail-container.failed .booking-item-status-icon {
    background-color: var(--bs-danger);
}

.booking-item-wrap.pending .booking-item-status-icon,
.booking-detail-container.pending .booking-item-status-icon {
    background-color: var(--bs-warning);
}

.booking-item-wrap.success .booking-item-status-text {
    color: var(--bs-success);
}

.booking-item-wrap.failed .booking-item-status-text {
    color: var(--bs-danger);
}

.booking-item-wrap.pending .booking-item-status-text {
    color: var(--bs-warning);
}

.booking-item-title {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    /* gap: var(--font-femto); */
}

    .booking-item-title > :nth-child(3) {
        margin-left: auto;
    }

.booking-status {
    order: 0;
    flex: 0 0 100%;
    /* background-color: red; */
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: var(--font-femto);
}

.booking-status-desc {
    padding: var(--font-femto) 0px;
    font-size: var(--font-xs);
    line-height: var(--font-xs);
    font-weight: 500;
    text-transform: uppercase;
}

    .booking-status-desc.success {
        color: var(--bs-success);
    }

    .booking-status-desc.pending {
        color: var(--bs-orange);
    }

    .booking-status-desc.failed {
        color: var(--bs-danger);
    }

.booking-item-date {
    order: 1;
    flex: 1;
    font-size: var(--font-uxs);
    font-weight: 500;
    padding: calc(var(--font-femto) * 0.5) var(--font-femto);
    border: solid 1px var(--color-three);
    border-radius: 8px;
}

.booking-reference {
    order: 2;
    flex: 0 0 50%;
    display: flex;
    align-items: center;
    gap: calc(var(--font-femto) * 0.5);
    text-transform: uppercase;
    font-size: var(--font-uxs);
    font-weight: 600;
    margin-left: var(--font-femto);
}

.booking-item-status-text {
    font-size: var(--font-nano);
    text-transform: uppercase;
    font-weight: 500;
    /* padding: 0px var(--font-femto) 0px 0px; */
}

.booking-meta-wrap {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--font-uxs);
}

.booking-meta-left {
    flex: 1;
}

.booking-meta-right {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    flex: 0 0 25%;
    gap: var(--font-uxs);
    /*uxs*/
}

.booking-meta-controls {
    display: flex;
    gap: var(--font-uxs);
    justify-content: space-between;
    flex-direction: column;
}

.booking-meta-controls-left,
.booking-meta-controls-right {
    display: flex;
    flex-direction: column;
    gap: var(--font-uxs);
}

.booking-meta-controls-right {
    justify-content: flex-end;
}

.booking-pax-amt-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--font-femto) * 0.5);
    /*uxs*/
}

.booking-pax-amt-wrap2 {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: var(--font-uxs);
}

.booking-pax,
.booking-amount,
.booking-item-action {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.booking-pax {
    display: flex;
    align-items: center;
    gap: calc(var(--font-femto) * 0.5);
    font-size: var(--font-xs);
    font-weight: 500;
}

.booking-amount {
    font-size: var(--font-lg);
    line-height: var(--font-lg);
    font-weight: 700;
}

.booking-journey-wrap {
    display: flex;
    align-items: center;
    text-transform: uppercase;
    gap: var(--font-femto);
}

.booking-journey-type {
    flex: 0 0 calc(var(--font-femto) * 8);
    background-color: var(--color-four);
    border-radius: 4px;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2px 3px;
    font-size: var(--font-pico);
    font-weight: 600;
}

.booking-stations-wrap {
    display: flex;
    align-items: center;
    gap: var(--font-sm);
}

.booking-station-seperator {
    flex: 1;
    /* background-color: red; */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-sm);
    color: var(--color-four);
}

.booking-journey-title {
    display: flex;
    align-items: center;
    gap: calc(var(--font-femto) * 0.5);
    font-size: var(--font-xs);
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: var(--font-uxs);
}

.booking-journey-date {
    display: flex;
    align-items: center;
    gap: calc(var(--font-femto) * 0.5);
    font-size: var(--font-uxs);
    font-weight: 500;
}

.booking-journey-single {
    margin-bottom: var(--font-uxs);
    display: flex;
    flex-direction: column;
    gap: calc(var(--font-femto) * 0.5);
    border: solid 1px var(--color-three);
    padding: calc(var(--font-femto) * 0.5);
    border-radius: 8px;
}

.booking-meta-left .booking-journey-single:last-child {
    margin-bottom: 0px;
}

.booking-stations-name {
    flex: 0 0 42%;
    font-size: var(--font-uxs);
    line-height: var(--font-sm);
    display: flex;
    align-items: center;
    gap: calc(var(--font-femto) * 0.5);
}

.booking-detail-container {
    padding: var(--font-uxs);
    background-color: #FFFFFF;
    border-radius: 16px;
}

    .booking-detail-container .row > .col-12:last-child {
        margin-bottom: 0 !important;
    }

.booking-detail-action {
    display: flex;
    justify-content: flex-end;
    gap: var(--font-uxs);
}

.booking-detail-container .form-element-wrap {
    background-color: #FFFFFF;
}

    .booking-detail-container .form-element-wrap .form-control {
        color: var(--color-one);
    }

    .booking-detail-container .form-element-wrap .form-label,
    .booking-detail-container .payment-box .form-label {
        color: var(--color-four);
    }

.booking-detail-container .payment-box {
    background-color: transparent;
    border: solid 1px var(--color-three);
}

    .booking-detail-container .payment-box .train-departure-time2,
    .booking-detail-container .payment-box .train-arrival-time2,
    .booking-detail-container .payment-box .journey-timings3,
    .booking-detail-container .payment-box .station-name-departure3,
    .booking-detail-container .payment-box .station-name-arrival3,
    .booking-detail-container .payment-box .search-selection-wrapper2 {
        color: var(--color-one);
    }

.custom-form-check .form-check-label {
    font-size: var(--font-nano);
    font-weight: 500;
    color: var(--color-four);
}

    .custom-form-check .form-check-label a {
        color: var(--color-one);
    }

@media (min-width: 576px) {
}

@media (min-width: 768px) {
    .upload-overlay {
        bottom: 14px;
        right: 14px;
    }

    .mt-profile-photo {
        margin-top: -44px;
    }

    .booking-item-title {
        gap: var(--font-femto);
    }

    .booking-status {
        order: 2;
        flex: unset;
    }

    .booking-item-date {
        order: 0;
        flex: unset;
    }

    .booking-reference {
        order: 1;
        flex: unset;
        margin-left: unset;
    }

    .booking-meta-wrap {
        flex-direction: row;
        gap: unset;
    }

    .booking-meta-right {
        gap: var(--font-uxs);
        /*uxs*/
    }

    .booking-pax-amt-wrap {
        flex-direction: column;
        align-items: unset;
        gap: var(--font-uxs);
        /*uxs*/
    }

    .booking-stations-name {
        flex: 0 0 45%;
    }

    .booking-detail-container .row > .col-md-6:nth-last-child(-n+2) {
        margin-bottom: 0 !important;
    }

    .booking-meta-controls {
        flex-direction: row;
        align-items: center;
    }

    .booking-meta-controls-left,
    .booking-meta-controls-right {
        flex-direction: row;
    }
}

@media (min-width: 992px) {
    .upload-overlay {
        bottom: 16px;
        right: 16px;
    }

    .mt-profile-photo {
        margin-top: -48px;
    }
}

@media (min-width: 1200px) {
    .upload-overlay {
        bottom: 18px;
        right: 18px;
    }

    .mt-profile-photo {
        margin-top: -52px;
    }
}

@media (min-width: 1400px) {
    .upload-overlay {
        bottom: 20px;
        right: 20px;
    }

    .mt-profile-photo {
        margin-top: -56px;
    }
}

@media (min-width: 1600px) {
    .upload-overlay {
        bottom: 22px;
        right: 22px;
    }

    .mt-profile-photo {
        margin-top: -60px;
    }
}

/* -------------------------------------------------
Chapter 13 
------------------------------------------------- */

/* -------------------------------------------------
Chapter 14 
------------------------------------------------- */

/* ------------------------------------------------- */

@media (min-width: 576px) {
}

@media (min-width: 768px) {
}

@media (min-width: 992px) {
}

@media (min-width: 1200px) {
}

@media (min-width: 1400px) {
}

@media (min-width: 1600px) {
}



/* --------------------------------------------- */

/* -------------------------------------------------
Chapter 6 Guest Dropdown Style
------------------------------------------------- */
.passenger-dropdown {
    /* background-color: #fff; */
    /* position: absolute; */
    /* top: calc(100% + 4px); */
    /* left: 0px; */
    /* padding: 12px; */
    width: calc(100%);
    /*display: none;*/
    /* box-shadow: 0px 3px 11px #00000029; */
    z-index: 1;
    /* border-radius: 8px; */
    /* border: solid 1px blue; */
}

    .passenger-dropdown.active {
        opacity: 1;
        visibility: visible;
    }

    .passenger-dropdown:before {
        /*position: absolute;*/
        content: "";
        /*left: 0;*/
        /*right: 0;*/
        /*top: -14px;*/
        height: 20px;
    }

.camera-box {
    /* border-bottom: solid 1px #DFEFFB;
    margin-bottom: 5px;
    padding-bottom: 10px; */
    border-radius: 10px;
    background-color: #FFFFFF;
    padding: 12px;
    margin-bottom: 12px;
}

.passenger-dropdown .camera-box:last-child {
    margin-bottom: 0px;
}

.passenger-title {
    /* font-weight: 700; */
    font-size: var(--font-micro);
    /*15*/
    /*12*/
    font-weight: 500;
    /* padding-left: 1px; */
    color: var(--color-one);
    margin-bottom: 6px;
    /* border: solid 1px red; */
}

    .passenger-title i,
    .passenger-title svg {
        color: var(--color-one);
    }

.pas-row {
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin-bottom: 8px;
    /* border: solid 1px red; */
}

.pas-lbl {
    color: var(--color-one);
    font-size: 14px;
    font-weight: 600;
}

    .pas-lbl span {
        color: var(--color-seven);
        font-size: 10px;
    }

.qty-control {
    margin-left: auto;
    display: block;
    padding: 0 42px;
    width: 120px;
    height: 36px;
    position: relative;
}

    .qty-control input {
        background-color: transparent;
        font-size: 14px;
        color: var(--color-one);
        height: 36px;
        width: 36px;
        border-radius: 0;
        border: 0 none;
        padding: 0;
        text-align: center;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        font-weight: 600;
    }

.qty-control-down,
.qty-control-up {
    position: absolute;
    top: 0;
    height: 36px;
    width: 36px;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.2s;
}

.qty-control-down {
    background-color: var(--color-four);
    /* border: solid 2px #000; */
    left: 0;
}

.qty-control-up {
    background-color: var(--color-one);
    right: 0;
}

    .qty-control-down:before,
    .qty-control-up:before,
    .qty-control-up:after {
        position: absolute;
        content: "";
        left: 50%;
        top: 50%;
        transition: background-color 0.2s;
    }

.qty-control-down:before {
    background-color: #fff;
}

.qty-control-up:before,
.qty-control-up:after {
    background-color: #fff;
}

.qty-control-down:before {
    height: 1px;
    width: 11px;
    margin-left: -6px;
}

.qty-control-up:before {
    height: 1px;
    width: 11px;
    margin-left: -5px;
}

.qty-control-up:after {
    height: 11px;
    width: 1px;
    margin-top: -5px;
}

.qty-control-down:hover,
.qty-control-down:focus {
    background-color: var(--color-one);
}

.qty-control-up:hover,
.qty-control-up:focus {
    background-color: var(--color-four);
    /* border: solid 2px #000; */
}

.qty-control-down:hover:before {
    background-color: #fff;
}

.qty-control-up:hover:before,
.qty-control-up:hover:after {
    background-color: #fff;
}

.child-age-box {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

.age-control {
    flex: 0 1 49%;
    width: 49%;
    margin-top: 4px;
}

    .age-control label {
        display: block;
        font-size: 11px;
        /* font-weight: 600; */
        color: var(--color-one);
    }

.age-select {
    display: block;
    width: 100%;
    padding: 6px 8px;
    border: 1px solid var(--color-one);
    border-radius: 4px;
    word-wrap: normal;
    font-size: 14px;
    background-color: #fff;
}

    .age-select::after {
        display: block;
        clear: both;
        content: "";
    }

.add-remove-box {
    /* border: solid 1px red; */
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 10px;
    /* text-align: right; */
}

    .add-remove-box a {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 4px;
        /* padding: 0px 0px 3px; */
        /* display: block; */
    }

    .add-remove-box .btn-outline-dark {
        /* color: var(--color-five); */
    }

    .add-remove-box .btn-outline-danger {
        /* color: var(--color-one); */
    }

.link-remove {
    color: maroon;
}

    .link-remove:hover {
        color: maroon;
    }

.link-add {
    color: #000;
}

.confirm-div {
    border: solid 1px blue;
}


/* -------------------------------------------------
Chapter 9 List Style
------------------------------------------------- */
.sec-list-bg {
    position: relative;
    z-index: -1;
    margin-top: -94px;
    height: 140px;
    background: transparent linear-gradient(180deg, #34302F 0%, #FFFFFF00 100%) 0% 0% no-repeat padding-box;
}

.sec-list {
    margin-top: var(--font-md);
}

.listing-title-container,
.list-title,
.list-theme-controls,
.list-controls,
.list-search-criteria,
.list-sort-container,
.list-counter {
    /* outline: dotted 1px red; */
}

.listing-title-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--font-xs);
    gap: var(--font-4xl);
}

    .listing-title-container > :nth-child(2) {
        margin-left: auto;
    }

.list-title {
    font-size: var(--font-lg);
    font-weight: 700;
    line-height: var(--font-2xl);
}

.list-theme-controls {
    display: flex;
    gap: calc(var(--font-nano) * 0.5);
}

.btn-list-theme {
    height: calc(var(--font-sm) * 2);
    width: calc(var(--font-sm) * 2);
    border: transparent;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-one);
    background-color: #fff;
}

    .btn-list-theme.active,
    .btn-list-theme:active,
    .btn-list-theme:hover,
    .btn-list-theme:focus {
        color: #fff;
        background-color: var(--color-one);
    }

.list-search-criteria {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    color: var(--color-four);
    font-size: var(--font-uxs);
    margin-bottom: var(--font-xs);
}

    .list-search-criteria i {
        color: var(--color-seven);
        font-size: var(--font-nano);
    }

.list-controls {
    margin-bottom: var(--font-xs);
    display: flex;
    flex-direction: column;
    /* align-items: center; */
    justify-content: space-between;
    gap: var(--font-uxs);
}

.list-sort-container {
    display: flex;
    align-items: center;
    gap: var(--font-uxs);
}

.list-sort-title {
    font-size: var(--font-xs);
    font-weight: 600;
}

.list-sort-controls {
    display: flex;
    align-items: center;
    gap: var(--font-uxs);
}

    .list-sort-controls .form-select {
        /* min-width: calc(var(--font-md) * 5); */
        font-size: var(--font-uxs);
        border-color: var(--color-six);
    }

    .list-sort-controls .form-select-exp {
        width: unset;
        min-width: unset !important;
    }

.list-counter {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--font-pico);
    font-weight: 600;
    font-size: var(--font-nano);
    text-transform: uppercase;
}

.list-sort-container {
}

.list-counter {
}

.list-item,
.item-thumbnail,
.item-metadata,
.item-description,
.item-star,
.item-name,
.item-address,
.item-facility-box,
.item-facility,
.item-amenities-box,
.item-rating-box,
.item-price-box,
.item-price,
.item-button,
.item-rating-box-clone {
    /* outline: dotted 1px black; */
}

.list-container {
    /* border: solid 1px red; */
}

.item-thumbnail {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    /* border: solid 1px var(--color-four); */
}

.google-map-container {
    height: 400px;
}

    .item-thumbnail img,
    .list-map-container img,
    .google-map-container img {
        height: 100%;
        width: 100%;
        object-fit: cover;
        /* contain-width & cover-height */
        object-position: center center;
    }

.item-star {
    color: var(--color-two);
    /* margin-bottom: calc(var(--font-sm) * 0.5); */
    margin-bottom: calc(var(--font-femto) * 0.5);
    /*17-07-25*/
}

    .item-star.large {
        font-size: var(--font-uxs);
    }

.item-name {
    color: var(--color-one);
    font-weight: 600;
    /* margin-bottom: calc(var(--font-sm) * 0.5); */
    margin-bottom: calc(var(--font-femto) * 0.5);
    /*17-07-25*/
}

.grid-view .item-name-transfer {
    /* background-color: lightsalmon; */
    min-height: calc(var(--font-md)* 5);
}

.item-facility {
    display: flex;
    flex-direction: row;
    align-items: center;
    /* margin-bottom: calc(var(--font-uxs) * 0.5); */
    margin-bottom: calc(var(--font-femto) * 0.5);
    /*17-07-25*/
}

.free-cancel,
.paid-cancel,
.paid-offer {
    font-weight: 600;
}

.free-cancel {
    color: var(--bs-success);
}

.paid-cancel {
    color: var(--bs-danger);
}

.paid-offer {
    color: var(--bs-blue);
}

.timings {
    font-weight: 600;
}

    .timings i,
    .timings svg {
        color: var(--color-one);
    }

.item-amenities-box {
    margin-bottom: var(--font-pico);
}

    .item-amenities-box ul {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }

        .item-amenities-box ul li {
            list-style: none;
            border-right: 1px solid #cccccc;
            color: var(--color-four);
            padding: 0px calc(var(--font-uxs) * 0.5);
            display: flex;
            align-items: center;
            gap: calc(var(--font-sm) * 0.25);
        }

            .item-amenities-box ul li:first-child {
                padding-left: 0px;
            }

            .item-amenities-box ul li:last-child {
                border-right: none;
            }

.item-rating-container-wrapper {
    /* border: solid 1px red; */
    position: relative;
}

.item-rating-container {
    display: flex;
    flex-direction: row;
    gap: calc(var(--font-uxs) * 0.5);
    justify-content: flex-end;
}

.item-rating-meta {
    display: flex;
    flex-direction: column;
}

.item-rating-title {
    font-weight: 600;
    color: var(--color-one);
    text-align: right;
}

.item-rating-box {
    /* background-color: greenyellow; */
    position: relative;
}

    .item-rating-box.small .item-rating-title,
    .item-rating-box-clone.small .item-rating-title {
        font-size: var(--font-pico);
        line-height: var(--font-micro);
    }

    .item-rating-box.large .item-rating-title,
    .item-rating-box-clone.large .item-rating-title {
        font-size: var(--font-uxs);
        line-height: var(--font-sm);
    }

.item-rating-subtitle {
    color: var(--color-four);
    text-align: right;
}

.item-rating-box.small .item-rating-subtitle,
.item-rating-box-clone.small .item-rating-subtitle {
    font-size: calc(var(--font-xs) * 0.5);
}

.item-rating-box.large .item-rating-subtitle,
.item-rating-box-clone.large .item-rating-subtitle {
    font-size: calc(var(--font-lg) * 0.5);
}

.item-rating-digit {
    background-color: var(--color-one);
    border-radius: 10px;
    color: #fff;
    font-weight: 600;
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
}

.item-rating-box.small .item-rating-digit,
.item-rating-box-clone.small .item-rating-digit {
    height: calc(var(--font-uxs) * 2);
    width: calc(var(--font-uxs) * 2);
    font-size: var(--font-pico);
}

.item-rating-box.large .item-rating-digit,
.item-rating-box-clone.large .item-rating-digit {
    height: calc(var(--font-md) * 2);
    width: calc(var(--font-md) * 2);
    font-size: var(--font-uxs);
}

.item-rating-meta-wrapper {
    /* background-color: hotpink; */
    background-color: #FFFFFF;
    box-shadow: 0px 3px 10px #00000029;
    border-radius: 5px;
    border: solid 1px var(--color-four);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.item-rating-meta-wrapper {
    display: none;
    position: absolute;
    top: calc(100% + 3px);
    right: 0;
    width: 283px;
    z-index: 10;
}

.item-rating-container-wrapper:hover .item-rating-meta-wrapper {
    display: block;
    opacity: 1;
    pointer-events: auto;
}

.item-rating-title-wrapper {
    padding: calc(var(--font-xs) * 0.5);
    font-weight: 700;
    font-size: calc(var(--font-sm) * 0.5);
    border-bottom: solid 1px var(--color-four);
    text-align: right;
}

.item-progress-wrapper {
    padding-bottom: calc(var(--font-xs) * 0.5);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.item-element-wrapper {
    padding: calc(var(--font-xs) * 0.5) calc(var(--font-xs) * 0.5) 0px calc(var(--font-xs) * 0.5);
    flex: 0 0 50%;
}

.item-progress-element {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: calc(var(--font-nano) * 0.5);
}

.progress-sm {
    height: 5px;
}

.progress-color {
    background-color: #655B18;
}

.item-progress-element-title,
.item-progress-element-value {
    font-weight: 600;
    font-size: calc(var(--font-sm) * 0.5);
}

.item-price-value {
    font-weight: 700;
    color: var(--color-one);
}

.item-thumbnail-overlay {
    /* border: solid 1px red; */
    position: absolute;
    width: 100%;
    top: 18px;
    left: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.item-offer-text {
    /* border: solid 1px cyan; */
    background-color: var(--color-two);
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    font-size: calc(var(--font-sm) * 0.5);
    font-weight: 500;
    color: var(--color-one);
    display: flex;
    align-items: center;
    padding: 3px 10px 4px;
}

.item-save-box {
    position: absolute;
    top: 14px;
    right: 14px;
    height: var(--font-5xl);
    width: var(--font-5xl);
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fav-hotel-check label {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    cursor: pointer;
    height: 30px;
    margin-bottom: unset;
}

    .fav-hotel-check label span {
        display: block;
    }

.fav-hotel-check input[type="checkbox"],
.fav-hotel-check .checked {
    display: none;
}

    .fav-hotel-check input[type="checkbox"]:checked ~ .checked {
        display: block;
        color: var(--color-five);
    }

    .fav-hotel-check input[type="checkbox"]:checked ~ .unchecked {
        display: none;
        color: var(--color-five);
    }

.load-more-container {
    display: grid;
    margin-top: 2px;
    margin-bottom: var(--font-sm);
}

.list-map-container {
    position: relative;
    border: solid 1px var(--color-three);
    border-radius: 16px;
    margin-bottom: var(--font-sm);
    height: calc(var(--font-xl) * 3);
    cursor: pointer;
    overflow: hidden;
}

    .list-map-container:hover,
    .list-map-container:focus {
        border-color: var(--color-one);
    }

.list-map-show {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    font-size: var(--font-xs);
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-one);
    text-shadow: 2px 2px 4px #FFFFFF;
}

    .list-map-show:hover,
    .list-map-show:focus {
        color: var(--color-one);
    }

.list-filter-wrap {
    /* border: solid 1px red; */
    /* border-radius: 4px; */
    /* padding: var(--font-pico); */

    padding: var(--font-femto);
    background-color: #FFFFFF;
    border-radius: 16px;
}

.list-filter-title {
    display: flex;
    align-items: center;
    gap: var(--font-pico);
    /* text-transform: uppercase; */
    font-weight: 700;
    font-size: var(--font-xs);
    margin-bottom: var(--font-xs);
}

.list-filter-container {
    /* border-right: solid 1px var(--color-six); */
    /* padding-right: calc(var(--bs-gutter-x) * .5); */
}

.mb-filter {
    margin-bottom: var(--font-uxs);
}

.list-filter-component {
    /* padding-right: calc(var(--bs-gutter-x) * .5); */
    /* outline: dotted 1px lime; */
    /* padding: var(--font-nano)  0px; */
    /* border-bottom: solid 1px var(--color-six); */
}

    .list-filter-component .accordion {
        --bs-accordion-bg: transparent;
    }

    .list-filter-component .accordion-item {
        border-left: none;
        border-right: none;
        border-color: #F0F0F0;
    }

        .list-filter-component .accordion-item:first-of-type,
        .list-filter-component .accordion-item:last-of-type {
            border-radius: 0px;
        }

    .list-filter-component .accordion-button {
        padding: var(--font-uxs) 0px var(--font-uxs) 0px;
    }

        .list-filter-component .accordion-button:not(.collapsed) {
            color: var(--color-one);
            background-color: unset;
            box-shadow: none;
        }

        .list-filter-component .accordion-button:focus {
            box-shadow: none;
        }

    .list-filter-component .accordion-body {
        padding: 0px 0px var(--font-uxs) 0px;
    }

.list-filter-item-header {
    font-weight: 600;
    font-size: var(--font-uxs);
    padding-left: 0px;
    color: var(--color-one);
}

.slider-wrapper {
    /* border: solid 1px red; */
    width: 100%;
    /* max-width: 500px; */
    /* margin: 50px auto; */
    text-align: center;
}

.slider-range-indicators {
    /* border: solid 1px blue; */
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    font-weight: 600;
}

.slider.slider-horizontal {
    width: calc(100% - 20px);
}

/* Override default slider handle styles */
.slider .slider-handle {
    background-color: var(--color-one) !important;
    /* Your custom solid color */
    background-image: none !important;
    box-shadow: none !important;
    border: solid 2px var(--color-one) !important;
    /* Optional: handle border */
}

    /* Optional: rounded handles if needed */
    .slider .slider-handle.round {
        border-radius: 50% !important;
    }

    /* Optional: hover effect */
    .slider .slider-handle:hover {
        background-color: #FFFFFF !important;
        border-color: var(--color-one) !important;
    }

.item-star-badge-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--font-pico);
    margin-bottom: calc(var(--font-sm) * 0.5);
}

    .item-star-badge-wrapper .item-star {
        margin-bottom: unset;
    }

    .item-star-badge-wrapper .rounded-pill {
        /* border-color: transparent; */
    }

    .item-star-badge-wrapper .badge.rounded-pill.text-bg-primary,
    .item-star-badge-wrapper .badge.rounded-pill.text-bg-danger {
        font-size: calc(var(--font-sm) * 0.5);
        line-height: calc(var(--font-sm) * 0.5);
        padding: 3px var(--font-nano) 3px;
        font-weight: 600;
        text-transform: uppercase;
    }

    .item-star-badge-wrapper .badge.rounded-pill.text-bg-primary {
        background-color: var(--color-eight) !important;
    }

    .item-star-badge-wrapper .badge.rounded-pill.text-bg-danger {
        background-color: var(--color-eleven) !important;
    }

.item-rate-person-wrapper {
    display: flex;
    /* background-color: turquoise; */
}

.item-rate-date-wrapper {
    display: flex;
    gap: var(--font-uxs);
}

.item-rate-date-wrapper {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 100%;
    margin-top: var(--font-uxs);
}

.item-list-of-person {
    display: flex;
    justify-content: flex-end;
}

.list-of-person-badge {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    font-size: var(--font-nano);
    font-weight: 600;
    border: solid 1px var(--color-one);
    border-radius: 24px;
}

.list-of-person-badge {
    padding: 4px 8px;
}

.item-date-box {
    width: calc(var(--font-nano) * 3);
}

.item-date-day {
    background-color: var(--color-five);
    color: #FFFFFF;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.item-date-num {
    border: solid 1px var(--color-five);
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.item-date-day,
.item-date-num {
    text-align: center;
    font-size: var(--font-nano);
}

.item-meta-experience {
    flex: 0 0 100%;
    display: flex;
    gap: var(--font-uxs);
    margin-top: var(--font-uxs);
}

.item-search-selection-wrap {
    font-weight: bold;
    font-size: var(--font-uxs);
    text-align: center;
}

.experience-rate-date-wrapper {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: var(--font-3xl);
}

.experience-meta-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.list-item {
    padding: var(--font-femto);
    background-color: #FFFFFF;
    border-radius: 16px;
    box-shadow: var(--bs-box-shadow) !important;
}

/* List View Style Starts */
.list-view {
    display: flex;
    flex-direction: column;
    /* align-items: center; */
    /*04-01-26*/
}

    .list-view .list-item {
        /* background-color: lightpink; */
        flex: 0 0 100%;
        display: flex;
        flex-direction: column;
        /* border-bottom: solid 1px var(--color-six); */
        /* padding-bottom: var(--font-sm); */
        margin-bottom: var(--font-sm);
        gap: var(--font-sm);
    }

    .list-view .item-thumbnail {
        flex: 0 0 200px;
        /* height: 200px; */
    }

        .list-view .item-thumbnail.item-thumbnail-experience {
            height: 200px;
        }

    .list-view .item-metadata {
        flex: 1;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .list-view .item-description {
        flex: 1;
    }

    .list-view .item-rating-box {
        flex: 0 0 100px;
    }

    .list-view .item-rate-person-wrapper .item-rating-box {
        flex: unset;
    }

    .list-view .item-rate-person-wrapper {
        flex-direction: column;
        justify-content: flex-start;
        gap: var(--font-lg);
        flex: 0 0 120px;
    }

    .list-view .item-rating-box-wrapper {
        flex-direction: row;
        justify-content: flex-end;
        gap: var(--font-lg);
        flex: 0 0 120px;
    }

    .list-view .item-price-box {
        flex: 0 0 100%;
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }

        .list-view .item-price-box.item-price-box-transfer {
            align-items: center;
        }

    .list-view .item-facility,
    .cart-hotel-address .item-facility {
        gap: var(--font-pico);
    }

        .list-view .item-facility i {
            /* border: solid 1px red; */
            min-width: var(--font-lg);
        }

        .list-view .item-facility i {
            font-size: var(--font-xs);
        }

        .list-view .item-facility span {
            font-size: var(--font-nano);
        }

    .list-view .item-star.small,
    .cart-hotel-stars .item-star.small {
        font-size: calc(var(--font-md) * 0.5);
    }

    .list-view .item-name {
        font-size: var(--font-sm);
        line-height: var(--font-md);
    }

    .list-view .item-address {
    }

    .list-view .item-facility-box {
    }

    .list-view .item-facility {
    }

    .list-view .item-amenities-box {
    }

        .list-view .item-amenities-box ul li {
            font-size: calc(var(--font-md) * 0.5);
        }

    .list-view .item-price {
    }

    .list-view .item-price-title,
    .detailed-view .item-price-title,
    .experience-rate-date-wrapper .item-price-title {
        text-transform: uppercase;
        font-size: var(--font-uxs);
    }

    .list-view .item-price-value,
    .detailed-view .item-price-value {
        font-size: calc(var(--font-uxs) * 2);
    }

    .list-view .item-price-box-transfer > :nth-child(2) {
        margin-left: auto;
    }

    .list-view .item-price-box-transfer {
        gap: var(--font-xl);
    }

        .list-view .item-price-box-transfer .item-price-value {
            line-height: calc(var(--font-uxs) * 2);
        }

    .list-view .item-rating-box-clone {
    }

    .list-view .item-button {
    }

    .list-view .item-rate-date-wrapper .item-date-box {
        order: 1;
    }

    .list-view .item-rate-date-wrapper .item-price {
        order: 0;
    }

    .list-view .item-rate-date-wrapper .item-price-title,
    .experience-rate-date-wrapper .item-price-title {
        font-size: var(--font-uxs);
    }

    .list-view .item-rate-date-wrapper .item-price-value,
    .experience-rate-date-wrapper .item-price-value {
        font-size: calc(var(--font-uxs) * 2);
    }

    .list-view .item-meta-experience {
        flex-direction: column;
        justify-content: space-between;
    }

        .list-view .item-meta-experience .item-button {
            display: grid;
        }

/* List View Style Ends */

/* Grid View Style Starts */

.grid-view {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: calc(var(--font-sm) / 4) var(--font-sm);
}

    .grid-view .list-item {
        /* background-color: lightgreen; */
        flex: 1 0 calc(50% - var(--font-sm));
        display: flex;
        flex-direction: column;
        margin-bottom: var(--font-sm);
        gap: calc(var(--font-sm) * 0.5);
    }

    .grid-view .item-thumbnail {
        height: 200px;
    }

    .grid-view .item-metadata {
        /* border: solid 1px blue; */
    }

        .grid-view .item-metadata > :nth-child(2) {
            /* margin-left: auto; */
        }

    .grid-view .item-description {
    }

    .grid-view .item-rating-box {
        flex: 1;
    }

    .grid-view .item-price-box {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
    }

    .grid-view .item-facility {
        gap: calc(var(--font-sm) * 0.25);
        align-items: unset;
    }

        .grid-view .item-facility i {
            /* border: solid 1px red; */
            min-width: var(--font-sm);
        }

        .grid-view .item-facility i {
            font-size: var(--font-uxs);
        }

        .grid-view .item-facility span {
            font-size: calc(var(--font-lg) * 0.5);
        }

    .grid-view .item-star.small {
        font-size: calc(var(--font-xs) * 0.5);
    }

    .grid-view .item-name,
    .cart-hotel-name .item-name {
        font-size: var(--font-xs);
        line-height: var(--font-md);
    }

    .grid-view .item-address {
        /* min-height: calc(var(--font-6xl) + 1px); */
        /*37px*/
    }

    .grid-view .item-address-hotel {
        /* background-color: lightsalmon; */
        min-height: calc(var(--font-6xl) + 1px);
        /*37px*/
    }

    .grid-view .item-facility {
    }

    .grid-view .item-amenities-box {
    }

        .grid-view .item-amenities-box ul li {
            font-size: calc(var(--font-sm) * 0.5);
        }

    .grid-view .item-price {
        flex: 1 0 42%;
    }

    .grid-view .item-price-title {
        text-transform: uppercase;
        font-size: calc(var(--font-sm) * 0.5);
    }

    .grid-view .item-price-value {
        font-size: var(--font-xs);
    }

        .grid-view .item-price-value.ipv-transfer {
            font-size: var(--font-lg);
        }

    .grid-view .item-rating-box-clone {
        flex: 0 0 50%;
    }

    .grid-view .item-button {
        flex: 0 0 100%;
        display: grid;
        margin-top: var(--font-uxs);
    }

    .grid-view .item-price-box-transfer {
        gap: unset;
        margin-top: calc(var(--font-uxs) * 0.5);
    }

        .grid-view .item-price-box-transfer .room-item-button {
            /* flex: 0 0 100%;
    display: grid;
    margin-top: var(--font-uxs); */
        }

        .grid-view .item-price-box-transfer .item-button {
            flex: 0 0 100%;
            display: grid;
            margin-top: calc(var(--font-uxs) * 0.5);
        }

        .grid-view .item-price-box-transfer .item-button {
            order: 2;
        }

        .grid-view .item-price-box-transfer .item-price {
            order: 0;
            flex: 1;
        }

        .grid-view .item-price-box-transfer .room-item-button {
            order: 1;
        }

    .grid-view .item-rate-person-wrapper {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }

        .grid-view .item-rate-person-wrapper .item-rating-box {
            order: 1;
        }

        .grid-view .item-rate-person-wrapper .item-list-of-person {
            order: 0;
        }

    .grid-view .list-of-person-badge {
        padding: 4px 8px;
    }

    .grid-view .item-rate-date-wrapper .item-date-box {
        order: 1;
    }

    .grid-view .item-rate-date-wrapper .item-price {
        order: 0;
    }

    .grid-view .item-rate-date-wrapper .item-price {
        flex: unset;
    }

    .grid-view .item-rate-date-wrapper .item-price-title {
        font-size: var(--font-uxs);
    }

    .grid-view .item-rate-date-wrapper .item-price-value {
        font-size: calc(var(--font-uxs) * 2);
    }

    .grid-view .item-meta-experience {
        flex-direction: column;
        justify-content: space-between;
    }

        .grid-view .item-meta-experience .item-button {
            display: grid;
            margin-top: 0;
        }

/* Grid View Style Ends */
@media (min-width: 576px) {
}

@media (min-width: 768px) {
    .list-search-criteria {
        font-size: var(--font-xs);
    }

    .list-controls {
        flex-direction: row;
        align-items: center;
    }

    .list-sort-controls .form-select {
        min-width: calc(var(--font-md) * 5);
    }

    .list-view .list-item {
        flex-direction: row;
    }

    .grid-view .list-item {
        flex: 1 0 calc(50% - var(--font-sm));
    }

    .list-view .item-thumbnail {
        flex: 0 0 250px;
        /* height: 250px; */
    }

        .list-view .item-thumbnail.item-thumbnail-experience {
            height: 240px;
        }

    .list-view .item-rating-box {
        flex: 0 0 110px;
    }

    .list-view .item-rate-person-wrapper,
    .list-view .item-rating-box-wrapper {
        flex: 0 0 140px;
    }

    .grid-view .item-price {
        flex: 0 0 50%;
    }

    .item-rating-meta-wrapper {
        /* top: 32px; */
    }

    .grid-view .item-name-transfer {
        min-height: calc(var(--font-md)* 3);
    }
}

@media (min-width: 992px) {
    .list-view .item-rating-box {
        flex: 0 0 120px;
    }

    .list-view .item-rate-person-wrapper,
    .list-view .item-rating-box-wrapper {
        flex: 0 0 200px;
    }

    .item-rating-meta-wrapper {
        /* top: 34px; */
    }

    .grid-view .item-name-transfer {
        min-height: calc(var(--font-md)* 2);
    }

    .list-view .item-rate-date-wrapper {
        flex-direction: column;
        align-items: flex-end;
        justify-content: unset;
        flex: 0 0 200px;
        margin-top: unset;
    }

        .list-view .item-rate-date-wrapper .item-date-box {
            order: 0;
        }

        .list-view .item-rate-date-wrapper .item-price {
            order: 1;
        }

    .list-view .item-meta-experience {
        flex-direction: row;
        align-items: flex-end;
    }

    .list-view .item-thumbnail.item-thumbnail-experience {
        height: 170px;
    }
}

@media (min-width: 1200px) {
    .grid-view .list-item {
        flex: 1 0 calc(33.33333333% - var(--font-sm));
    }

        .grid-view .list-item.transfer-item {
            flex: 1 0 calc(25% - var(--font-sm));
        }

    .list-view .item-thumbnail {
        flex: 0 0 263px;
        /* height: 263px; */
    }

        .list-view .item-thumbnail.item-thumbnail-experience {
            height: 180px;
        }

    .list-view .item-rating-box {
        flex: 0 0 150px;
    }

    .list-view .item-rate-person-wrapper,
    .list-view .item-rating-box-wrapper {
        flex: 0 0 300px;
    }

    .list-of-person-badge {
        padding: calc(var(--font-uxs) * 0.5) var(--font-uxs);
    }

    .item-rating-meta-wrapper {
        /* top: 36px; */
    }

    .grid-view .item-name-transfer {
        min-height: calc(var(--font-md)* 4);
    }
}

@media (min-width: 1400px) {
    .grid-view .item-thumbnail {
        height: 250px;
    }

    .list-view .item-thumbnail {
        flex: 0 0 308px;
        /* height: 308px; */
    }

        .list-view .item-thumbnail.item-thumbnail-experience {
            height: 200px;
        }

    .item-rating-meta-wrapper {
        /* top: 38px; */
    }
}

@media (min-width: 1600px) {
}

/* -------------------------------------------------
Chapter 10 Star Rating Style
------------------------------------------------- */
.star-rating-box {
    /* outline: dotted 1px cyan; */
    display: flex;
    flex-direction: row;
    gap: calc(var(--font-nano) * 0.5);
}

.stella-rating {
    position: relative;
    float: left;
    margin-bottom: 0px;
    color: var(--color-one);
    cursor: pointer;
}

    .stella-rating input[type="checkbox"],
    .stella-rating .checked {
        display: none;
    }

        .stella-rating input[type="checkbox"]:checked ~ .checked {
            display: inline-block;
            color: var(--color-one);
        }

        .stella-rating input[type="checkbox"]:checked ~ .unchecked {
            display: none;
            color: var(--color-one);
        }

    .stella-rating span:before {
        font-family: 'Font Awesome 6 Pro';
        /*font-weight: 400;*/
        font-weight: 900;
        content: '\f006';
    }

    .stella-rating input[type="checkbox"]:checked ~ span:before {
        font-family: 'Font Awesome 6 Pro';
        font-weight: 900;
        content: '\f005';
    }

.stella-number-filter {
    position: absolute;
    top: 9px;
    left: 15px;
    font-size: 11px;
    display: inline-block;
    color: var(--color-seven);
    font-weight: 600;
}

.stella-rating input[type="checkbox"]:checked ~ .checked ~ .stella-number {
    color: #fff;
}

.stella-rating input[type="checkbox"]:checked ~ .checked ~ .stella-number-filter {
    color: #fff;
}


/* -------------------------------------------------
Chapter 11 Detail Page Style
------------------------------------------------- */
.sec-breadcrumb {
    /* outline: dotted 1px blue; */
}

.sec-detail-metadata,
.sec-header-metadata {
    /* outline: dotted 1px blue; */
    margin-top: var(--font-4xl);
}

.item-name.large {
    font-weight: 700;
    font-size: var(--font-2xl);
    line-height: var(--font-4xl);
}

.sec-map-price {
    /* outline: dotted 1px blue; */
    margin-top: var(--font-uxs);
}

.map-price-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
}

    .map-price-container > :nth-child(2) {
        margin-left: auto;
    }

.detailed-map {
    border-radius: 16px;
    border: solid 1px var(--color-three);
    padding: var(--font-pico);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: calc(var(--font-sm) * 0.5);
    margin-bottom: var(--font-uxs);
    flex: 1 0 100%;
}

    .detailed-map > :nth-child(3) {
        margin-left: auto;
    }

.detailed-price {
    /* outline: dotted 1px red; */
    flex: 1 0 50%;
}

.detailed-button {
    display: flex;
    justify-content: flex-end;
    /* outline: dotted 1px red; */
    flex: 1 0 45%;
}

.detailed-map-thumbnail {
    /* border: solid 1px var(--color-six); */
    height: calc(var(--font-xl) * 2);
    width: calc(var(--font-xl) * 2);
    border-radius: 8px;
    overflow: hidden;
}

.detailed-map-add-desc {
    font-weight: 500;
    font-size: var(--font-uxs);
    line-height: var(--font-sm);
}

.detailed-map-add-latitude {
    font-size: var(--font-nano);
    line-height: var(--font-uxs);
    color: var(--color-seven);
}

.detailed-map-link a {
    color: var(--bs-blue);
    font-weight: 500;
    font-size: calc(var(--font-lg) * 0.5);
    text-decoration: none;
}

    .detailed-map-link a:hover {
        color: var(--color-one);
    }

.detailed-breadcrumb {
    margin-bottom: 0px;
}

    .detailed-breadcrumb .breadcrumb-item {
        font-weight: 600;
        font-size: var(--font-nano);
    }

        .detailed-breadcrumb .breadcrumb-item a {
            text-decoration: none;
            color: var(--color-five);
        }

        .detailed-breadcrumb .breadcrumb-item.active {
            color: var(--color-seven);
        }

.sec-gallery {
    margin: var(--font-md) 0px 0px;
}

.gallery-container {
}

    .gallery-container .carousel {
        border-radius: 16px;
        overflow: hidden;
    }

.carousel-item {
    height: calc(var(--font-uxs) * 24);
    /*384px*/
}

    .carousel-item img,
    .gallery-thumbnail img {
        height: 100%;
        width: 100%;
        object-fit: cover;
        /* contain-width & cover-height */
        object-position: center center;
    }

.gallery-thumbnail {
    overflow: hidden;
    border-radius: 8px;
    height: 58px;
    margin-bottom: calc(var(--bs-gutter-x) * 1);
    cursor: pointer;
    border: solid 2px transparent;
}

    .gallery-thumbnail img,
    .gallery-thumbnail.active img {
        transition: filter 0.3s ease;
    }

    .gallery-thumbnail:hover img,
    .gallery-thumbnail.active img {
        filter: grayscale(100%);
    }

    .gallery-thumbnail.active {
        border-color: var(--color-two);
        box-shadow: 0px 3px 6px #00000029;
    }

        .gallery-thumbnail.active img {
            border-color: var(--color-two);
            box-shadow: 0px 3px 6px #00000029;
        }

.sec-room-list {
    /* outline: dotted 1px red; */
    margin-top: var(--font-4xl);
    margin-bottom: var(--font-4xl);
}

.room-list-container {
    display: flex;
    flex-direction: column;
    gap: var(--font-sm);
}


.room-list-item2 {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    /* align-items: stretch; */
    flex-wrap: wrap;
    gap: var(--font-uxs);
    padding: var(--font-uxs) 0px;
    /* border-bottom: solid 1px var(--color-six); */
    border: solid 1px var(--color-three);
    border-radius: 16px;
    padding: var(--font-xs);
    background-color: #FFF;
    box-shadow: var(--bs-box-shadow) !important;
}

.room-list-supplier {
    position: absolute;
    bottom: 6px;
    right: 8px;
    font-size: var(--font-femto);
    font-weight: 600;
    color: var(--bs-blue);
}

.room-item-thumbnail-wrapper {
    position: relative;
    /* flex: 0 0 calc(var(--font-sm) * 5); */
}

.room-item-thumbnail2 {
    height: calc(var(--font-sm) * 5);
    width: calc(var(--font-sm) * 5);
    border-radius: 8px;
    overflow: hidden;
}

    .room-item-thumbnail2 img {
        height: 100%;
        width: 100%;
        object-fit: cover;
        /* contain-width & cover-height */
        object-position: center center;
    }

.room-item-desc-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: calc(var(--font-uxs) * 0.5);
    border: solid 1px var(--color-three);
    border-radius: 8px;
    padding: calc(var(--font-uxs) * 0.5);
}

.book-condition-wrapper {
    flex: 0 0 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: calc(var(--font-femto) * 0.5);
}

.room-features-wrapper .room-item-book-condition i {
    color: var(--color-one);
}

.room-item-metadata {
    flex: 0 0 calc(calc(100% - calc(var(--font-4xl) * 2)) - var(--font-uxs));
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: calc(var(--font-nano) * 0.5);
}

.room-item-desc {
    border-bottom: solid 1px var(--color-three);
    padding-bottom: calc(var(--font-uxs) * 0.5);
    /* flex: 0 0 100%; */
    /* gap: var(--font-md); */
}

.room-item-desc-wrapper .room-item-desc:last-child {
    border-bottom: none;
    padding-bottom: 0px;
}

.badge-info {
    font-family: 'Font Awesome 6 Pro';
    font-weight: 900;
    font-style: normal;
    color: var(--color-seven);
    font-size: var(--font-xs);
}

.room-name-wrapper {
    /* background-color: greenyellow; */
}

.room-item-name {
    --line-clamp: 2;
    /* default lines */
    display: -webkit-box;
    -webkit-line-clamp: var(--line-clamp);
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    position: relative;
    transition: max-height 0.3s ease;
    font-size: var(--font-uxs, 1rem);
    /* fallback if variable not set */
    line-height: var(--font-md, 1.5);
    /* fallback if variable not set */
    font-weight: 500;
}

    /* When expanded */
    .room-item-name.expanded {
        -webkit-line-clamp: unset;
        max-height: none;
        overflow: visible;
    }


.room-item-facility-box {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--font-lg);
    margin-top: 6px;
    font-size: var(--font-pico);
    font-weight: 500;
}

.room-item-facility {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: calc(var(--font-nano) * 0.5);
}

    .room-item-facility.room-features {
        color: var(--bs-success);
        font-weight: 500;
        cursor: pointer;
    }

.room-item-book-condition {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: calc(var(--font-nano) * 0.5);
    font-weight: 600;
    font-size: var(--font-nano);
    justify-content: flex-start;
}

.room-item-supplier {
    flex: 1;
}

.room-item-badge-wrapper {
    position: absolute;
    bottom: -8px;
    z-index: 1;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.room-item-badge {
    font-size: var(--font-femto);
    font-weight: 600;
}

    .room-item-badge .text-bg-danger {
        background-color: var(--color-two) !important;
        color: var(--color-one) !important;
    }

.room-item-book-condition {
}

.room-price-button-box {
    flex: 0 0 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: var(--font-uxs);
}

.room-item-price {
    font-weight: 700;
    font-size: var(--font-lg);
}

.room-item-button {
}

.sec-hotel-description {
    /* outline: dotted 1px blue; */
    margin-bottom: var(--font-4xl);
}

.structure-service {
    border: 1px solid var(--color-three);
    padding: var(--font-md);
    border-radius: 16px;
    background-color: #FFF;
}

.structure-title {
    font-weight: 700;
    font-size: var(--font-xl);
    text-transform: capitalize;
}

.structure-box {
    border-bottom: solid 1px var(--color-three);
}

.structure-service .structure-box:last-child {
    border-bottom: none;
}

.structure-subtitle {
    font-weight: 700;
    font-size: var(--font-xs);
    margin-bottom: var(--font-pico);
    margin-top: var(--font-pico);
}

.structure-service .structure-box:last-child p {
    /* margin-bottom: none; */
}

.structure-list-content {
    font-size: var(--font-nano);
    line-height: var(--font-md);
    color: var(--color-four);
}

.services-list {
    font-size: var(--font-nano);
    line-height: var(--font-md);
}

    .services-list ul {
        margin: 0;
        margin-top: var(--font-pico);
        padding: 0;
    }

        .services-list ul li {
            list-style-position: inside;
        }

.transfer-detail-wrapper {
    background-color: var(--color-ten);
    border-radius: 5px;
    padding: var(--font-uxs);
    margin-top: var(--font-md);
}

.transfer-detail-title {
    font-size: var(--font-xs);
    font-weight: 600;
    margin-bottom: var(--font-xs);
    text-transform: uppercase;
}

.transfer-detail-wrapper p {
    font-size: var(--font-nano);
}

.badge-item-rating-wrapper {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
}

.badge-item-wrapper {
    /* background-color: skyblue; */
}

.item-rating-box-wrapper {
    /* background-color: tan; */
}

.address-facility-wrapper {
    /* background-color: gold; */
}

.address-facility-person-wrapper {
    /* background-color: hotpink; */
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-top: var(--font-md);
}

.price-action-wrapper {
    /* background-color: lawngreen; */
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

    .price-action-wrapper .item-price-value {
        font-size: calc(var(--font-uxs) * 2);
    }

.modal-close-action.transfer {
    position: absolute;
    top: 0px;
    right: 0px;
    font-size: var(--font-md);
    border-bottom-left-radius: 5px;
}

.modal-close-action.hotel {
    top: 0px;
    right: 0px;
    font-size: var(--font-md);
}

.modal-close-action {
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #FFFFFF;
    /* border: solid 1px red; */
}

    .modal-close-action,
    .modal-close-action .btn-close {
        height: var(--font-3xl);
        width: var(--font-3xl);
    }

.exp-list-container {
}

    .exp-list-container .exp-list-item:first-child {
        padding-top: 0;
    }

    .exp-list-container .exp-list-item:last-child {
        padding-bottom: 0;
        border-bottom: none;
    }

.exp-list-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--font-femto);
    padding: var(--font-sm) 0px;
    border-bottom: solid 1px var(--color-six);
}

.exp-list-item-name-wrap .room-item-desc {
    border: none;
    padding: none;
}

.exp-list-item-name-wrap {
    /* background-color: lightblue; */
    flex: 0 1 100%;
}

.exp-list-item-lang {
    /* background-color: lightcoral; */
    flex: 0 1 48%;
}

.exp-list-item .book-condition-wrapper {
    /* background-color: lightgreen; */
    flex: 0 1 48%;
}

.exp-list-item .room-price-button-box {
    /* background-color: lightpink; */
    flex: 0 1 100%;
}

.fa-red {
    color: var(--color-one);
}

@media (min-width: 576px) {
}

@media (min-width: 768px) {
    .map-price-container {
        align-items: flex-end;
        gap: calc(var(--font-4xl) * 2);
    }

    .detailed-map {
        margin-bottom: unset;
        flex: unset;
    }

    .detailed-price {
        flex: unset;
    }

    .detailed-button {
        flex: unset;
    }

    .room-list-supplier {
        /* bottom: 1px; */
    }
}

@media (min-width: 992px) {
    .book-condition-wrapper {
        flex: 0 0 30%;
    }

    .room-price-button-box {
        justify-content: flex-end;
    }

    .exp-list-item-lang {
        flex: 0 1 32%;
    }

    .exp-list-item .book-condition-wrapper {
        flex: 0 1 32%;
    }

    .exp-list-item .room-price-button-box {
        flex: 0 1 32%;
    }
}

@media (min-width: 1200px) {
    .room-item-metadata {
        flex: unset;
        gap: var(--font-uxs);
    }

    .book-condition-wrapper {
        flex: 0 0 20%;
    }

    .room-price-button-box {
        flex: 0 0 28%;
        gap: var(--font-uxs);
    }

    .room-list-item > :nth-child(3) {
        margin-left: auto;
    }

    .room-item-desc {
        flex: unset;
    }

    .room-item-supplier {
        flex: unset;
    }

    .room-item-book-condition {
        flex: unset;
    }

    .room-list-item {
        gap: var(--font-uxs);
    }

    .gallery-thumbnail {
        height: 53px;
    }

    .room-list-supplier {
        /* bottom: -1px; */
        /* right: 4px; */
    }

    .exp-list-item-name-wrap {
        flex: 0 1 32%;
    }

    .exp-list-item-lang {
        flex: 0 1 15%;
    }

    .exp-list-item .book-condition-wrapper {
        flex: 0 1 20%;
    }

    .exp-list-item .room-price-button-box {
        flex: 0 1 30%;
    }
}

@media (min-width: 1400px) {

    .room-item-metadata,
    .room-price-button-box,
    .room-list-item {
        gap: var(--font-md);
    }

    .gallery-thumbnail {
        height: 58px;
    }

    .room-price-button-box {
        flex: 0 0 30%;
    }

    .exp-list-item-name-wrap {
        flex: 0 1 35%;
    }

    .exp-list-item-lang {
        flex: 0 1 15%;
    }

    .exp-list-item .book-condition-wrapper {
        flex: 0 1 20%;
    }

    .exp-list-item .room-price-button-box {
        flex: 0 1 27%;
    }
}

@media (min-width: 1600px) {
}


/* -------------------------------------------------
Chapter 12 Offcanvas Style
------------------------------------------------- */
html,
body {
    overflow-x: hidden;
    /* Prevent scroll on narrow devices */
}

.sidebar-offcanvas {
    /* background-color: var(--color-nine); */
}

@media screen and (max-width: 991px) {
    .row-offcanvas {
        position: relative;
        -webkit-transition: all .25s ease-out;
        -o-transition: all .25s ease-out;
        transition: all .25s ease-out;
    }

    .row-offcanvas-right {
        right: 0;
    }

    .row-offcanvas-left {
        left: 0;
    }

    .row-offcanvas-right .sidebar-offcanvas {
        right: -50%;
        /* 6 columns */
    }

    .row-offcanvas-left .sidebar-offcanvas {
        left: -50%;
        /* 6 columns */
    }

    .row-offcanvas-right.active {
        right: 50%;
        /* 6 columns */
    }

    .row-offcanvas-left.active {
        left: 50%;
        /* 6 columns */
    }

    .sidebar-offcanvas {
        position: absolute;
        top: 0;
        width: 50%;
        /* 6 columns */
    }
}

/* -------------------------------------------------
Chapter 13 Checkbox Style
------------------------------------------------- */
.form-check {
    /* border: solid 1px blue; */
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    min-height: unset;
    margin-bottom: unset;
}

.custom-check {
    margin-bottom: calc(var(--font-uxs) * 0.5);
}

    .custom-check .form-check-label {
        margin-bottom: 0;
    }

    .custom-check:last-child {
        margin-bottom: 0px;
    }

    .custom-check input[type="checkbox"],
    .custom-check input[type="radio"] {
        width: var(--font-lg);
        height: var(--font-lg);
    }

    .custom-check.small input[type="checkbox"],
    .custom-check.small input[type="radio"] {
        width: var(--font-xs);
        height: var(--font-xs);
    }

    .custom-check .form-check-input[type="checkbox"] {
        border-radius: 4px;
    }

    .custom-check .form-check-input {
        margin-top: 0;
    }

        .custom-check .form-check-input:focus {
            box-shadow: none;
        }

        .custom-check .form-check-input:checked {
            background-color: var(--color-one);
            border-color: var(--color-one);
        }

    .custom-check .form-check-label,
    .custom-check .form-check-label-sm {
        color: var(--color-one);
    }

    .custom-check .form-check-label {
        font-size: var(--font-uxs);
    }

    .custom-check .form-check-label-sm {
        font-size: var(--font-nano);
    }

.field-error {
    border: solid 2px #d15f5f;
}
.no-focus-outline:focus {
    outline: 0 !important;
    box-shadow: none !important;
}
.wc-main-station {
    font-weight: 700 !important;
}
.service-provider-logo2 img {
    width: auto !important;
    max-width: 100% !important;
}
