@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-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;
}

    .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%;
}

.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%;
}

.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);
}

.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);
}

/* .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;
}

.pax-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;
}

.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: 15px;
        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';
}

.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);
        }


@media (min-width: 576px) {
}

@media (min-width: 768px) {
    .slider-container {
        height: 150px;
    }

    .arrival-departure-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;
    }
}

@media (min-width: 992px) {
    .slider-container {
        height: 200px;
    }

    .sw-city-dropdown {
        /* width: calc(50%); */
    }

    .advertisement-box {
        width: 200px;
    }

    .advertisement-thumb,
    .advertisement-thumb2 {
        height: 200px;
    }
}

@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);
    /* #D9D9D9 with 30% opacity */
    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: 15px;
    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);
}

.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*/
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    /* border: dotted 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) {
}

.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;
}
