@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;
}
