:root {
    --primary-color: #23446A;
    --secondary-color: #4C988A;
    --tertiary-color: #F0F5F4;
    --star-color: #DFD04A;
    --grey-color: #707070;
    --red-color: #CC3E3E;
    --green-color: #008000;
    --secondary-color-style: #4C988A;
    --tertiary-color-style: #F0F5F4;
    --orange-logo-color: #4C988A;
}

.slider-handle, .slider-selection {
    background-color: var(--secondary-color) !important;
}

.search-tabs {
    background-color: rgb(13, 138, 228, 0.9);
}

.loader-body {
    box-shadow: 0px 1px 10px rgb(0 0 0 / 16%);
}

.slider-handle {
    box-shadow: 0 0 30px rgb(0, 0, 0, 0.3);
}

.slider-tick {
    -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
}

.btn-type4:hover {
    background-color: rgb(228, 116, 13, 0.8);
}

.cart-fl-right {
    box-shadow: 0 1px 10px rgb(0, 0, 0, 0.16);
}

.form-cntrl, .frm-dropdown {
    box-shadow: 0px 1px 10px rgb(0 0 0 / 16%);
}

.rate-terms-title {
    color: rgb(13 138 228 / 80%);
}

.from-to-ico {
    box-shadow: 0px 1px 10px rgb(0 0 0 / 16%);
}

/*.btn-select-ancillary {
    position: absolute;
    right: 36px;
    bottom: 28px;
}*/

.position-relative {
    position: relative;
}

.pas-add-service {
    box-shadow: 0 1px 10px rgb(0 0 0 / 16%);
}

.pas-add-detial {
    /*box-shadow: 0px 1px 10px rgb(0 0 0 / 16%);*/
}

.ssr-content {
    display: none;
}

.ssr-row.show .ssr-content {
    display: block;
}

.btn-save-ssr {
    min-width: 110px;
    padding-left: 35px !important;
}

.btn-cancel-ssr {
    min-width: 110px;
    margin-left: 20px;
    padding-left: 24px !important;
}

.swal2-container {
    z-index: 22222 !important;
}

.ssr-info-icon {
    width: 3em;
    height: 3em;
}

    .ssr-info-icon .swal2-icon-content {
        font-size: 2em;
    }

.confirm-ssr-info {
    display: block;
    text-align: left;
    max-height: 380px;
    overflow-y: auto;
    padding-top: 20px;
}

.selected-ssr-info {
    /*padding: 0px 33px 33px;*/
}

.selected-ssr-info-label {
    /*float: right;*/
    /*padding-right: 5px;*/
    /*font-size: 15px;*/
    font-weight: 500;
    color: #3f51b5;
    cursor: pointer;
}

/*.header-btn {
    margin-left: 20px;
}*/

.ml-20 {
    margin-left: 20px;
}

.t-input {
    padding-top: 2px !important;
}

.multicity.fl-date .t-datepicker-day {
    width: 100% !important;
}

.cart-fl-more-rates > div {
    max-width: 98%;
}

.creditcard-title {
    /*flex: 0 0 426px;
    max-width: 45%;*/
}

.form-withdropdown-document {
    /*min-width: 366px;*/
}

.doc-title {
    /*flex: 0 0 343px;*/
    /*max-width: 343px;*/
}

.cart-reserv-error {
    font-size: 15px;
    color: red;
    font-weight: 800;
}

.text-black {
    color: #000 !important;
}

.cart-val-summnery-message {
    text-align: right;
    padding-bottom: 10px;
}

.validate-summory-heading {
    color: #f44336;
    font-weight: 600;
    font-size: 16px;
}

.dedicated-fare-rule {
    display: block;
    margin-top: 20px;
    border: 1px solid #ccc;
}

    .dedicated-fare-rule .hide-more-detail {
        display: none;
    }

.frm-dropdown-doc {
    min-width: 343px;
}

.mb-15 {
    margin-bottom: 15px;
}

.price-change-info-container {
    padding-bottom: 10px;
}

.conf-price-change-btn {
    /*margin: auto;
    max-width: 150px;*/
}

/*.price-change-info {
    padding: 20px;
    background: #f6f6f6;
    box-shadow: 1px 1px 1px 0px #e3e3e3;
    margin: 11px 24px 38px;
}*/

.text-red {
    color: #CC3E3E;
}

.booking-detail-info {
    padding-bottom: 8px !important;
}

.lbl-provider {
    /*padding: 3px 4px;*/
    background: #275189;
    color: #fff;
    /*font-size: 10px;*/
    position: absolute;
    /*top: 14px;*/
    /*right: 24px;*/
    border-radius: 0 9px 0 0;
    font-weight: 600;
}

.lbl-fartype {
    background: #275189;
    color: #fff;
    padding: 0 5px;
}

.lbl-pcode {
    padding: 0 5px;
}

.search-fl-dtl {
    position: relative;
}

.search-fl-row {
    /*padding-bottom: 25px;*/
}

.view-res-link {
    color: #fff;
    text-decoration: underline;
    font-size: 12px;
}
/*.lbl-loginname {
    color: #4b94e6;
    font-size: var(--deltafont);
    font-weight: 600;
}*/
.reg-sec-header {
    display: flex;
    flex: 1 1 100%;
    font-size: var(--deltafont);
    font-weight: 500;
    margin-bottom: 15px;
}

.justify-content-unset {
    justify-content: unset !important;
}

.pr-20 {
    padding-right: 20px !important;
}

.reg-sec-header-bottom-border {
    display: flex;
    flex: 1 1 100%;
    margin-bottom: 15px;
    height: 2px;
    background: #f7f7f7;
}

.reg-link {
    display: block;
    text-decoration: none;
}

    .reg-link:hover {
        text-decoration: none;
    }

.bg-white {
    background: #fff;
}

.btn-close-condition {
    font-size: var(--deltafont);
}

.col-conditions.active i {
    transform: rotate( 180deg);
}

.inner-bgimg {
    background-image: none !important;
}

.m-auto {
    margin: auto !important;
    margin-top: 80px;
}

.reg-conf-header {
    font-size: var(--alphafont) !important;
    font-weight: 500;
    text-align: center;
}

.agnc-verify-form {
    max-width: 424px;
}

.general-msg-container {
    padding: 38px;
    margin-top: 60px;
}

.general-msg-text {
    font-size: var(--deltafont);
}

.mb-20 {
    margin-bottom: 20px;
}

.pt-80 {
    padding-top: 80px;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.upsell-service-text {
    font-size: var(--labelfont);
    line-height: 1.4;
    text-transform: uppercase !important;
}

.hotel-autocomplete {
    top: calc(100% + 10px);
    width: 100%;
}

.tab-menu-link:hover {
    color: var(--primary-color) !important;
    text-decoration: none;
}

.holds-the-iframe {
    background-image: url(images/webloader.svg);
    background-repeat: no-repeat;
    background-position: center center;
}

.train-iframe {
    width: 100%;
}

.rule-not-allowed-msg {
    padding: 10px 20px;
    color: red;
}

label.error {
    color: #ff0000;
    font-weight: 500;
    margin-top: 5px;
}

.d-block {
    display: block;
}

.adm-toprice-info {
    font-size: var(--labelfont);
    font-weight: 600;
    letter-spacing: 1.7px;
}

.accept-terms-form {
    background: linear-gradient(#fafafc, #e6ebef);
    padding: 28px 23px;
    box-shadow: 0px 20px 40px rgb(0 0 0 / 16%);
}

.text-left {
    text-align: left !important;
}

.mb-10 {
    margin-bottom: 10px !important;
}

.cart-mod-fee {
    background-color: transparent;
    line-height: 15px;
    color: #000;
    font-weight: 500;
    border: 1px solid #eee;
    padding: 5px;
    margin: 0;
    max-width: 100%;
    text-align: right;
}

.ifee-info {
    font-size: var(--gammafont);
    bottom: 5px;
    right: 8px;
    position: relative;
    color: #00A8E4;
}

.htl-fee-info .ifee-info {
    right: 0 !important;
}

.wp-pl {
    white-space: pre-line !important;
}

/* Tooltip */
[data-tooltip] {
    cursor: pointer;
    display: inline-block;
    line-height: 0.8;
    position: relative;
}

    [data-tooltip]::after {
        background-color: #fff;
        border-radius: 0.5rem;
        color: #00A8E4;
        content: attr(data-tooltip);
        font-weight: 800;
        line-height: 1.15rem;
        padding: 10px;
        position: absolute;
        text-align: center;
        font-size: 11px;
        text-transform: none;
        transition: opacity 0.2s;
        visibility: hidden;
        white-space: nowrap;
        z-index: 1;
        border: 1px solid #00A8E4;
    }

    [data-tooltip].tooltip-top::before {
        border-style: solid;
        border-width: 0.5rem;
        content: "";
        opacity: 0;
        position: absolute;
        transition: opacity 0.2s;
        visibility: hidden;
        border-color: #00A8E4 transparent transparent transparent;
        top: 0;
        left: 50%;
        margin-left: -1.2rem;
    }

    [data-tooltip].tooltip-top::after {
        bottom: 100%;
        left: 50%;
        transform: translate(-50%);
    }

    [data-tooltip].tooltip-bottom::before {
        border-style: solid;
        border-width: 0.3rem;
        content: "";
        opacity: 0;
        position: absolute;
        transition: opacity 0.2s;
        visibility: hidden;
        border-color: transparent transparent rgba(51, 51, 51, 0.9) transparent;
        bottom: 0;
        left: 50%;
        margin-left: -0.3rem;
    }

    [data-tooltip].tooltip-bottom::after {
        top: 100%;
        left: 50%;
        transform: translate(-50%);
    }

    [data-tooltip].tooltip-left::before {
        border-style: solid;
        border-width: 0.3rem;
        content: "";
        opacity: 0;
        position: absolute;
        transition: opacity 0.2s;
        visibility: hidden;
        border-color: transparent transparent transparent rgba(51, 51, 51, 0.9);
        top: 0.3rem;
        right: calc(110% - 0.3rem);
        margin-top: -0.3rem;
    }

    [data-tooltip].tooltip-left::after {
        top: -0.3rem;
        right: calc(110% + 0.3rem);
    }

    [data-tooltip].tooltip-right::before {
        border-style: solid;
        border-width: 0.3rem;
        content: "";
        opacity: 0;
        position: absolute;
        transition: opacity 0.2s;
        visibility: hidden;
        border-color: transparent rgba(51, 51, 51, 0.9) transparent transparent;
        top: 50%;
        top: 0.3rem;
        left: calc(110% - 0.3rem);
        margin-top: -0.3rem;
    }

    [data-tooltip].tooltip-right::after {
        top: -0.3rem;
        left: calc(110% + 0.3rem);
    }

@media (max-width: 767px) {
    [data-tooltip].tooltip-mobile::before {
        display: none;
    }

    [data-tooltip].tooltip-mobile:after {
        font-size: 1rem;
        max-width: 20rem;
        position: fixed;
        bottom: auto;
        top: 50%;
        left: 50%;
        text-align: left;
        transform: translate(-50%);
        white-space: normal;
    }
}

[data-tooltip]:hover::after, [data-tooltip][class*=tooltip-]:hover::before {
    visibility: visible;
    opacity: 1;
}

.hotel-box-mono {
    border: solid 1px #fff;
    position: relative;
    /*border: solid 1px transparent;*/
    display: flex;
    flex-direction: column;
    background-color: #fff;
    width: 100%;
    max-width: 450px;
    border-radius: 4px;
    box-shadow: 0px 1px 10px #00000029;
}

    .hotel-box-mono .close {
        position: absolute;
        right: 1px;
        top: 1px;
        background-color: #fff;
        cursor: pointer;
    }

        .hotel-box-mono .close i {
            font-size: 18px;
            color: red;
        }

    .hotel-box-mono .pointer {
        position: absolute;
        left: calc(50% - 11px);
        bottom: -16px;
        cursor: pointer;
    }

        .hotel-box-mono .pointer i {
            font-size: 32px;
            color: #0D8AE4;
            display: block;
            height: 26px;
            width: 22px;
        }

    .hotel-box-mono .hotel-ratings {
        position: absolute;
        top: -1px;
        left: -1px;
        background-color: rgba(13, 138, 228, 0.9);
        color: #fff;
        text-align: center;
        padding: 8px;
        border-radius: 4px;
    }

        .hotel-box-mono .hotel-ratings .digit {
            font-weight: 500;
            font-size: 13px;
        }

        .hotel-box-mono .hotel-ratings .text {
            font-weight: 400;
            font-size: 10px;
        }

    .hotel-box-mono .col-hotel-data {
        /*border: solid 1px black;*/
        padding: 8px;
        flex: 1 1 100%;
        display: flex;
        flex-direction: column;
        background-color: #fff;
        border-radius: 4px;
    }

    .hotel-box-mono .hotel-thumbnail {
        flex: 0 0 150px;
        width: 100%;
        height: 150px;
        overflow: hidden;
        border-radius: 4px;
    }

        .hotel-box-mono .hotel-thumbnail img {
            height: 100%;
            width: 100%;
            object-fit: cover; /* contain-width & cover-height */
            object-position: center center;
            border-radius: 4px;
        }

    .hotel-box-mono .hotel-details {
        margin-left: 8px;
        flex: 1 1 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
    }

    .hotel-box-mono .star-ratings {
        margin: 0px 0px 4px;
        color: #DFD04A;
    }

    .hotel-box-mono .no-star-ratings {
        height: 18px;
    }

    .hotel-box-mono .hotel-name {
        font-size: 13px;
        text-transform: uppercase;
        font-weight: bold;
    }

        .hotel-box-mono .hotel-name a {
            color: #005089;
            text-decoration: none;
        }

            .hotel-box-mono .hotel-name a:hover {
                text-decoration: underline;
            }

    .hotel-box-mono .star-ratings,
    .hotel-box-mono .hotel-address {
        font-size: 10px;
    }

    .hotel-box-mono .room-info {
        font-size: 11px;
    }

    .hotel-box-mono .hotel-address {
        color: grey;
        margin-bottom: 8px;
    }

    .hotel-box-mono .hotel-address,
    .hotel-box-mono .room-info {
        font-weight: 600;
        margin-top: 4px;
        display: flex;
        flex-direction: row;
        align-items: center;
    }

        .hotel-box-mono .hotel-address i {
            text-align: center;
            display: block;
            min-width: 16px;
        }

        .hotel-box-mono .hotel-address span {
            padding-left: 4px;
        }

    .hotel-box-mono .room-price {
        font-weight: bold;
        margin-top: 8px;
        font-size: 20px;
        color: #005089;
    }

.htl-search-loading {
    display: block;
    position: absolute;
    top: calc(50% - 8px);
    right: 10px;
}

.li-htl-search {
    padding: 5px 10px 5px 10px !important;
}

.ul-auto-li .li-htl-search:after {
    border-bottom: 1px solid #ececec;
    left: 10px;
    right: 10px;
}

.ul-auto-li {
    padding: 0 !important;
}

    .ul-auto-li .li-htl-search:last-of-type:after {
        border-bottom: 0;
    }
/*.map-before-loaded {
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}*/


.lds-dual-ring {
    display: inline-block;
    width: 64px;
    height: 64px;
    top: 45%;
    position: absolute;
    left: 48%;
}

    .lds-dual-ring:after {
        content: " ";
        display: block;
        width: 46px;
        height: 46px;
        margin: 1px;
        border-radius: 50%;
        border: 5px solid #fff;
        border-color: #243870 transparent #243870 transparent;
        animation: lds-dual-ring 1.2s linear infinite;
    }

@keyframes lds-dual-ring {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.map-loader {
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    z-index: 2;
    left: calc(50% - 15px);
    top: calc(50% - 50px);
}

#map-search-box {
    background-color: #fff;
    border: 2px solid #243870;
    color: #333;
    font-size: 1.3em;
    padding: 0 11px 0 13px;
    text-overflow: ellipsis;
    width: 350px;
    height: 40px;
    margin: 10px;
    display: none;
}

.dd-inc-fare {
    justify-content: flex-end !important;
}

input[disabled] + label::before {
    background: #eee;
    cursor: not-allowed;
}

.btn-icon {
    height: 48px;
    width: 48px;
    flex: 0 0 48px;
    max-width: 48px;
    margin-left: 13px;
    display: block;
    border: 1px solid #0D8AE4;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #0D8AE4;
    font-size: 19px;
    border-radius: 2px;
    margin-right: 13px;
}

    .btn-icon:hover {
        background-color: #0D8AE4;
        height: 48px;
        width: 48px;
        flex: 0 0 48px;
        max-width: 48px;
        display: block;
        border: 1px solid #0D8AE4;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #fff;
        font-size: 19px;
        border-radius: 2px;
        cursor: pointer;
    }

.print-fldtl {
    width: 75px;
    background: #fff;
    position: absolute;
    right: 0;
}

.ul-dedicated {
    border-left: 2px solid #f8f8f8;
    margin-left: 10px !important;
    padding-left: 10px !important;
}

.book-teriff {
    padding-left: 0;
}

.flex-dir-col {
    flex-direction: column;
}

.flexi-fl-item {
    position: absolute;
    width: 100%;
    top: 58px;
    z-index: 1;
    box-shadow: 1px 2px 3px 2px #9e9e9e;
    background: #ececec;
}

    .flexi-fl-item .search-flight-detail {
        background: transparent;
        border: 0;
        box-shadow: none;
    }

    .flexi-fl-item .search-fl-dtl {
    }

.has-fl-item {
    position: relative;
}

    .has-fl-item::after {
        position: absolute;
        right: 40px;
        bottom: 0px;
        width: 0;
        height: 0;
        content: "";
        border-width: 0 10px 10px 10px;
        border-style: solid;
        border-color: #505050 transparent;
        -webkit-transition: all .25s;
        -moz-transition: all .25s;
        -ms-transition: all .25s;
        -o-transition: all .25s;
        transition: all .25s;
    }

.mt-0 {
    margin-top: 0 !important;
}

.no-radius {
    border-radius: 0 !important;
}

.justify-content-end {
    justify-content: end !important;
}

.btn-close-matrixdetl {
    position: absolute;
    right: 8px;
    top: 0px;
    background: #c2c2c2;
    border-radius: 0;
    height: 20px;
    width: 20px;
    line-height: 1;
    color: #fff;
    font-size: 12px;
    text-align: center;
    padding: 0;
}

.eac-card-info {
    max-width: calc(100% - 310px);
    float: right;
    font-size: 12px;
    font-weight: 600;
}

.htl-fee-info .ifee-info {
    right: 0 !important;
}

.htl-fee-info::before {
    margin-left: -1px !important;
}

.highlight-dedicated, .highlight-dedicated.active {
    background: var(--orange-logo-color) !important;
    color: #fff !important;
}

.highlight-labour, .highlight-labour.active {
    background: var(--orange-logo-color) !important;
    color: #fff !important;
}

.ml-auto {
    margin-left: auto;
}

.pr-0 {
    padding-right: 0;
}

.cursor-auto {
    cursor: auto;
}

.dedicated-cond {
    padding-bottom: 20px !important;
}

.dedicated-fare-info {
    padding-bottom: 00px !important;
}

.dedicated-btn-sec {
    margin-top: 0 !important;
}

.dedicated-title {
    padding-top: 15px;
}

.highlight-dedicated-box {
    border: 2px solid var(--orange-logo-color);
}

.highlight-labour-box {
    border: 2px solid var(--orange-logo-color);
}

.fl-seg-dt {
    max-width: 150px;
    font-size: 14px;
    width: 150px;
}

.highlight-arpt-change {
    background: #ffe9209e;
    padding: 3px;
}

.lbl-df {
    padding: 0 15px 0 30px !important;
}

.modal-reslbl-info {
    padding: 25px;
    height: 250px;
    position: relative;
    text-align: left !important;
}

.btn-close-reslblifno {
    position: absolute;
    bottom: 15px;
    left: calc(50% - 20px);
}

.fl-time-info {
    position: absolute;
    left: 100px;
    top: 2px;
    font-size: 14px;
    width: 55px;
    padding-left: 5px;
}

    .fl-time-info:before {
        font-family: 'Font Awesome 5 Pro';
        font-weight: 400;
        content: "\f017";
        font-size: 13px;
        color: var(--primary-color);
        position: relative;
        right: 3px;
    }

.hotel-datepciker .hotel-datepicker-main {
    top: 78px;
    border-radius: 0;
}

.disabled {
    opacity: 0.5;
    cursor: default;
}

.readonly {
    pointer-events: none;
}

.sel-time-icon {
    position: absolute;
    top: 30px;
    right: 18px;
}

.dd-fl-time .frm-dropdown ul li {
    padding: 8px 0px;
    border-bottom: 1px solid #fafafa;
}

    .dd-fl-time .frm-dropdown ul li.selected {
        background-color: transparent;
    }

.dd-fl-time .frm-dropdown-title {
    padding: 0px 0 0px;
}

.frm-dropdown {
    padding: 8px 8px 0px;
    width: 194px;
    min-width: 100%;
}

.tabs {
    background-color: var(--primary-color) !important;
}

.header-btn {
    background-color: var(--primary-color) !important;
    box-shadow: none !important;
}

.lbl-loginname {
    color: var(--primary-color);
}

#one:checked ~ .tabs #one-tab, #two:checked ~ .tabs #two-tab, #three:checked ~ .tabs #three-tab, #four:checked ~ .tabs #four-tab, #eleven:checked ~ .tabs #eleven-tab, .active-tab {
    color: #fff !important;
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.tab {
    cursor: pointer;
    text-transform: uppercase;
    border-top-left-radius: 0.5rem !important;
    border-top-right-radius: 0.5rem !important;
    padding: 1.5rem 1.5rem !important;
    font-weight: 800;
    color: #0006 !important;
    text-decoration: none;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out;
    font-size: 1.3rem !important;
    background: #fff !important;
    border: 1px solid transparent;
    box-shadow: 0 5px 20px #0000001a, 0 0 5px #00000026;
    margin: 0 0.25rem;
}

.tabs {
    background-color: transparent !important;
    box-shadow: none;
    padding-left: 22px;
}

.search-tabs-container {
    background-color: transparent;
    box-shadow: none;
}

.panels .panel {
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0,0,0,.125);
    border-radius: 1.2rem !important;
}

.search-footer {
    background-color: #fff;
    background-clip: border-box;
    border-radius: 1.2rem !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    box-shadow: none;
    border-top: 1px solid #fbfbfb !important;
}

.wel-go {
    opacity: 1;
    background-color: rgba(255, 255, 255) !important;
    border: 0;
    height: 40px;
    padding: 1.2rem 1.5rem !important;
    line-height: initial;
    text-align: center !important;
    border-radius: 0.5rem !important;
    margin-right: 10px;
    list-style: none;
}

    .wel-go img {
        height: 18px;
        margin: auto;
    }

.header-container {
    max-width: 100%;
    background: #fff;
    padding: 8px 0px;
    margin-bottom: 40px;
}

    .header-container .top-header {
        padding: 0;
    }

.header-logo-box {
    height: 40px !important;
    width: auto !important;
    max-width: 200px !important;
    display: flex !important;
    align-items: center !important;
}

.header-logo {
    height: 40px !important;
    width: auto !important;
    max-height: 100% !important;
    object-fit: contain;
}

.btn {
    box-shadow: none !important;
    opacity: .65;
}

.home-bg {
    background-image: url(../images/body-bg.jpg?1=2);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 0 0;
}

.search-box-style {
    flex: 1 1 auto;
    display: block;
    width: 100%;
    padding: 1rem 1rem 1rem 1em;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    /*background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGQ9Ik0wIDBoMTZ2MTZIMHoiLz4KICAgICAgICA8cGF0aCBkPSJtNy40NjggMTAuNzY0LTQuMjYtNC40ODhhLjc1Ni43NTYgMCAxIDEgMS4wOTgtMS4wNGwzLjcxIDMuOTEgMy42NzktMy44NzVhLjc1Ni43NTYgMCAxIDEgMS4wOTcgMS4wNDJsLTQuMjI2IDQuNDUxYS43NTUuNzU1IDAgMCAxLTEuMDk4IDB6IiBmaWxsPSIjMzMzIi8+CiAgICA8L2c+Cjwvc3ZnPgo=);*/
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem 1rem;
    border: 1px solid #ced4da;
    border-radius: 0.5rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    -webkit-appearance: none;
    appearance: none;
}

.htl-checkin-dt {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: 0;
}

.htl-checkout-dt {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-left: 0;
}

.field-error {
    border: 1px solid #fc9797 !important;
    background: #fc979745;
}

.hotel-search-box .field-error {
    border-radius: 0.5rem !important;
}

.highlight-field-error {
    border: 1px solid #fc9797 !important;
}

.main-container {
    padding: 50px 20px !important;
}

.site-footer {
    background-color: var(--primary-color);
}

.login-page .page-wrapper {
    background: linear-gradient(135deg, rgba(35, 68, 106, 0.9) 0%, rgba(76, 152, 138, 0.75) 100%) !important;
}

/* Premium Login Form Styling */
.login-form {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.45) !important;
    border-radius: 12px !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25) !important;
    padding: 30px 25px !important;
}

    .login-form .form-grp input {
        border-radius: 6px !important;
        border: 1px solid #ced4da !important;
        transition: all 0.3s ease !important;
        box-shadow: none !important;
        background-color: #ffffff !important;
    }

        .login-form .form-grp input:focus {
            border-color: var(--secondary-color) !important;
            box-shadow: 0 0 0 3px rgba(76, 152, 138, 0.2) !important;
            outline: none !important;
        }

    .login-form .btn {
        border-radius: 6px !important;
        font-weight: 600 !important;
        letter-spacing: 1px !important;
        transition: all 0.3s ease !important;
    }

    .login-form .btn-type1 {
        background-color: var(--primary-color) !important;
        color: #ffffff !important;
    }

        .login-form .btn-type1:hover {
            background-color: #1a3350 !important;
            opacity: 1 !important;
        }

    .login-form .btn-type2 {
        border: 1px solid var(--secondary-color) !important;
        color: var(--secondary-color) !important;
    }

        .login-form .btn-type2:hover {
            background-color: var(--secondary-color) !important;
            color: #ffffff !important;
            opacity: 1 !important;
        }

.dc-btn-clear-airport-searchbox {
    display: none !important;
}

.dc-flight-search-container .dc-arr-location-text {
    padding-left: 18px !important;
}

.dc-flight-search-container.arrival-loc .search-lables {
    padding-left: 18px !important;
}

.fl-dd-sort-heading {
    position: absolute;
    top: -8px;
    left: 8px;
    font-size: 10px;
    font-weight: 600;
    color: var(--primary-color);
    width: 0;
    z-index: 0;
    height: 0;
}

.fl-sort-container {
    flex: 1;
    max-width: 215px;
    margin-top: 22px;
}

.fl-dd-sort {
    padding-top: 8px !important;
    font-weight: 600 !important;
}

.cc-iframe {
    background-image: url(../images/webloader.svg);
    background-repeat: no-repeat;
    background-position: center center;
    width: 100%;
    height: 310px;
}

.btn-search-fl {
    width: 210px;
}

.reset-button-box .btn-search-fl {
    min-height: 36px;
    line-height: 36px;
}

@media (min-width: 768px) {
    .hotel-box-mono .col-hotel-data {
        flex-direction: row;
    }
}

.dc-ssr-content input[disabled="disabled"], .dc-ssr-content select[disabled="disabled"] {
    background-color: #e5e5e5;
    color: #000;
    border: 1px solid #ccc;
    font-weight: 500;
}

.service-chk-price label:before {
    top: 4px !important;
}

.back-search-fl {
    background: #fff;
    color: #000;
    border: 1px solid #e1e1e1;
    max-width: 95px !important;
    font-weight: 600;
}

    .back-search-fl:hover {
        background-color: var(--primary-color);
        color: #FFFFFF;
    }

.back-i {
    margin-left: 0 !important;
    margin-right: 5px;
}

.label-pax-key, .label-pax-value {
    letter-spacing: normal;
    font-size: 12px;
    line-height: 1.5;
    display: flex;
    align-items: center;
}
/*.label-pax-key::after {
    content: " : ";
}*/
.label-pax-value {
    font-weight: 500;
}

.btn-modify-grid-book {
    justify-content: space-around;
}

.grid-price-right {
    display: flex;
    flex-direction: column;
}

    .grid-price-right .book-icon {
    }

.grid-price-right {
    font-size: 12px;
    flex: 1 1 100%;
    width: 80px;
    max-width: 80px;
    line-height: 22px
}

.hide-chk {
    padding-left: 4px;
    cursor: default !important;
}

    .hide-chk:before {
        content: "" !important;
    }

.chk-select-trip.field-error {
    border: 0 !important;
}

.chk-select-trip::before {
    font-size: 26px !important;
    left: -32px !important;
    background: #fff !important;
    color: #03A9F4 !important;
}

.chk-select-trip::before {
    content: "\f00c";
}

.chk-select-trip.field-error::before {
    color: #F44336 !important;
}

.dp-disabled {
    opacity: 0.5;
    cursor: default;
    pointer-events: none;
}

.lbl-invalid-date-msg {
    position: absolute;
    top: 105%;
    font-size: 11px;
    left: 0px;
    color: red;
    font-weight: 600;
}

.modify-pax-info {
    margin-bottom: 10px !important;
    background: #fbfbfb;
    max-width: 24%;
    flex: 1 1 24%;
    padding: 10px 10px 0;
    box-shadow: 0px 0px 2px 1px #ededed;
    margin-right: 10px;
}

.modify-fl-pas-dtl-pax-row .fl-pas-dtl-pax-cont {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.modify-booking-iframe {
    margin-top: 15px;
}

/* ---------------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------------- */
/* Chapter # login as a agency style start*/
/* ---------------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------------- */
.dropdown-menu.show {
    display: block;
}

.change-login-dropdown {
    width: 455px;
    left: calc(100% - 455px) !important;
    transform: none !important;
    top: 55px !important;
    padding: 0;
    box-shadow: 0px 0px 0px 1px #d4dbe0;
    background: #fafbfd;
    z-index: 10500;
}

.acc-name-info {
    font-weight: 600;
    background: #ccd6e5;
    text-transform: capitalize;
    color: var(--primary-color) !important;
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 8px;
    font-size: 14px;
    cursor: default;
}


.change-login-dropdown .dropdown-item.active, .change-login-dropdown .dropdown-item:active, .lnk-hdr-backoffice .dropdown-item.active, .dropdown-item:active
.change-login-dropdow .dropdown-item:focus, .dropdown-item:hover {
    background-color: transparent !important;
}

.acc-name-info:hover, .acc-name-info.active {
    background-color: #ccd6e5 !important;
}

.agy-search-box {
    padding-left: 40px !important;
    font-weight: 600;
}

.textbox-with-icon i {
    position: absolute;
    right: 12px;
    top: 18px;
    font-size: 18px;
    color: var(--primary-color) !important;
    transition: 0.3s;
}

.i-search-agy {
    left: 12px !important;
    right: auto !important;
    color: #c9c9c9 !important;
    position: absolute;
    top: 18px;
}

.i-change-login {
    margin: auto;
    color: #fff;
    height: 40px;
    width: 40px !important;
    padding: 8px;
    border-radius: 100%;
    line-height: 22px;
    font-size: 20px;
    margin-top: 8px;
    background: var(--primary-color) !important;
    box-shadow: 1px 2px 3px #f2f2f2;
    cursor: pointer;
}

.agency-autocomplete {
    top: calc(100% + 0px) !important;
    display: block;
    width: 100%;
    text-align: left;
    box-shadow: 1px 2px 2px #ccc;
    background: #fff;
    border: 1px solid #ccc;
    padding: 0;
    position: relative !important;
}

.autoserach-complete2 {
    overflow-y: auto;
    max-height: 246px;
}

.agency-li {
    cursor: pointer;
    color: #505050;
    font-size: 13px;
    font-weight: 400;
    line-height: 19px;
    position: relative;
    text-overflow: ellipsis;
    overflow: hidden;
    padding-left: 12px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    font-size: 12px !important;
}

    .agency-li:after {
        left: 0 !important;
        right: 0 !important;
    }

.ul-agency-list {
    max-height: 214px;
    overflow-y: auto;
    margin: 0;
    list-style: none;
    padding: 0;
}

.agency-li .item-a {
    color: #666;
    text-decoration: none;
    font-weight: 500;
}

    .agency-li .item-a i {
        margin-right: 5px;
    }

.btn-close-agency-auto {
    box-shadow: 1px 2px 2px #ccc;
    background: #fff;
    border: 1px solid #ccc;
    padding: 6px 0;
}

.agency-li {
    margin-bottom: 0 !important;
    border-bottom: 1px solid #fafafa !important;
}

.with-agy-autocomplete {
    min-width: 455px;
}

.i-hdr-lgout {
    position: relative;
    top: 0;
}

.lnk-hdr-backoffice {
    position: relative;
    bottom: 4px;
    right: 12px;
    color: #fff !important;
    float: right;
    padding: 2px 15px 0px 0;
    border-bottom: 2px solid var(--primary-color);
    font-size: 12px;
    text-transform: uppercase;
}

    .lnk-hdr-backoffice a {
        padding: 0;
        text-decoration: none;
        color: var(--primary-color) !important;
    }

    .lnk-hdr-backoffice:after {
        content: "\f105";
        font-family: "Font Awesome 5 Pro";
        font-weight: 300;
        position: absolute;
        top: 1px;
        right: 0;
        font-size: 14px;
        color: var(--primary-color);
    }

.item-subjectCode {
    position: relative;
    margin-left: 5px;
    font-weight: 600;
    color: var(--primary-color)
}

    .item-subjectCode:before {
        content: "(";
        position: absolute;
        left: -6px;
        bottom: 0px;
    }

    .item-subjectCode:after {
        content: ")";
        position: absolute;
        right: -6px;
        bottom: 0px;
    }

.hdr-btn-stg {
    font-size: 12px;
    text-transform: capitalize;
    padding-right: 34px;
    margin-left: 20px !important;
}

    .hdr-btn-stg:after {
        content: "\f0d7";
        right: 9px;
        font-size: 26px;
        position: absolute;
        font-family: "Font Awesome 5 Pro";
        font-weight: 900;
    }

.cancel-autologin {
    font-size: var(--betafont);
    padding: 0 5px !important;
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: 2px;
    text-decoration: none;
}

.hdr-dxlgn-msg {
    color: #666;
    font-weight: 600;
}

    .hdr-dxlgn-msg strong {
        color: #000;
        font-weight: 900;
    }

.sep-line {
    height: 1px;
    border-bottom: 1px solid #eee;
}

.flexdatalist-results {
    border-right: 0 !important
}

.change-login-body {
    padding-top: 20px !important;
    padding-bottom: 10px !important;
    text-align: center !important;
    display: block;
    width: 100%;
    clear: both;
    font-weight: 400;
    color: #212529;
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
}

.flexdatalist-box-container {
    padding: 0 15px;
}

    .flexdatalist-box-container .flexsearch-with-icon .flexsearch-input {
        font-weight: 600;
        padding: 8px 35px !important;
        width: 100% !important;
        font-size: 12px;
        margin-bottom: 0px;
    }

.dropdown-divider {
    height: 0;
    margin: 0.5rem 0;
    overflow: hidden;
    border-top: 1px solid #e9ecef;
}

.change-login-footer {
    display: block;
    width: 100%;
    padding: 8px;
    clear: both;
    font-weight: 400;
    color: var(--primary-color);
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
    text-decoration: none;
    font-size: 12px;
}

.dc-back-to-lgn {
    margin-bottom: 10px;
}

.flex-loader, .flex-btn-clear {
    position: relative;
    top: 5px;
    right: -6px;
    display: none;
}

.dc-ssr-content input[disabled="disabled"], .dc-ssr-content select[disabled="disabled"] {
    background-color: #e5e5e5;
    color: #000;
    border: 1px solid #ccc;
    font-weight: 500;
}

.service-chk-price label:before {
    top: 4px !important;
}
/* ---------------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------------- */
/* Chapter # login as a agency style end*/
/* ---------------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------------- */

/*.checkbox-custom input[type=checkbox]:checked + label.chk-select-trip:before{
    content: "\f00c" !important;
}*/
/*captcha css start */
.captcha-box {
    display: inline-flex;
    height: 52px;
    background: #fff;
    align-items: center;
    padding: 10px 0 10px 10px;
    border: 1px solid #ccc;
    max-width: 305px;
}

.txt-captcha {
    background: #eaf7ff;
    height: 50px;
    padding: 4px;
    text-align: center;
    max-width: 150px;
}

.i-refresh-captcha {
    cursor: pointer;
    padding: 0 10px;
    display: block;
    color: var(--primary-color);
    height: 52px;
    line-height: 52px;
}

.captcha-val-msg {
    color: #cf3d3f;
    position: absolute;
    bottom: -27px;
    font-size: 12px !important;
    left: 0;
}
/*captcha css end */
.altfare-rule-terms {
    padding: 4px;
    margin: 8px 0 0 0;
}

.alt-comprehensive-fare {
    padding-top: 8px;
    margin-bottom: 8px;
}

.lnk-alternate-farerule {
    margin-left: 15px;
    color: var(--primary-color) !important;
    text-decoration: underline !important;
}

.hotel-col-search-main {
    display: flex;
}

.lang-container {
    position: relative;
}

.before-select {
    font-size: 16px;
    color: #f3f3f3;
    position: absolute;
    left: 30px;
    top: calc(50% - 8px);
    z-index: 1;
}

.cart-item-price-label {
    display: flex !important;
    width: 100%;
    justify-content: end;
}

.prs-info {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    font-size: 0.9em;
    color: #00569b;
    font-weight: 900;
}

.sw-cart-item-price {
    display: flex !important;
    width: 100%;
    justify-content: end;
}

.tooltipster-ele {
    /* display: none !important;*/
}

.sw-i-tooltipster {
    color: #E4740D;
    cursor: pointer;
}

.sw-tooltipster {
    max-width: 700px;
    width: 100%;
    padding: 0 !important;
}

    .sw-tooltipster .tooltipster-box .tooltipster-content {
        padding: 0 !important;
    }

    .sw-tooltipster.tooltipster-sidetip.tooltipster-top .tooltipster-box {
        margin-bottom: 8px;
        margin-right: 50px;
    }

    .sw-tooltipster.tooltipster-base .tooltipster-box {
        border-radius: 0px;
    }

    .sw-tooltipster.sw-tooltipster .tooltipster-box {
        background-color: #fff !important;
        border: 1px solid #ffffff !important;
        box-shadow: 0px 6px 28.8px 3.2px rgb(61 61 61 / 44%) !important;
    }

    .sw-tooltipster.tooltipster-top .tooltipster-arrow .tooltipster-arrow-uncropped .tooltipster-arrow-border {
        border-top-color: #E4740D !important;
    }

    .sw-tooltipster.tooltipster-bottom .tooltipster-arrow .tooltipster-arrow-uncropped .tooltipster-arrow-border {
        border-bottom-color: #E4740D !important;
    }

    .sw-tooltipster.tooltipster-right .tooltipster-arrow .tooltipster-arrow-uncropped .tooltipster-arrow-border {
        border-right-color: #E4740D !important;
    }

    .sw-tooltipster.tooltipster-left .tooltipster-arrow .tooltipster-arrow-uncropped .tooltipster-arrow-border {
        border-left-color: #E4740D !important;
    }

    .sw-tooltipster.tooltipster-top .tooltipster-arrow .tooltipster-arrow-uncropped .tooltipster-arrow-background {
        border-top-color: #E4740D !important;
    }

    .sw-tooltipster.tooltipster-bottom .tooltipster-arrow .tooltipster-arrow-uncropped .tooltipster-arrow-background {
        border-bottom-color: #E4740D !important;
    }

    .sw-tooltipster.tooltipster-right .tooltipster-arrow .tooltipster-arrow-uncropped .tooltipster-arrow-background {
        border-right-color: #E4740D !important;
    }

    .sw-tooltipster.tooltipster-left .tooltipster-arrow .tooltipster-arrow-uncropped .tooltipster-arrow-background {
        border-left-color: #E4740D !important;
    }

.tooltipster-ele-content {
    padding: 0;
    color: #000;
}

.max-w-430 {
    max-width: 430px;
}

.tooltipster-ele-content-title {
    background: #E4740D;
    color: #fff;
    padding: 8px;
    margin-bottom: 0;
}

.tooltipster-ele-content-footer {
    background: #444;
    color: #fff;
    padding: 8px;
    padding-left: 10px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 0 !important;
}

.tooltipster-ele-content-box {
    padding: 8px;
}

.sw-tooltipster-sep {
    border: 1px solid #f3f3f3;
}

.sw-tooltipster-summury {
    padding: 8px 10px;
    background: #efefef;
}

.hp-with-agyfee {
    color: var(--secondary-color-lite) !important;
}

.search-trvlr-box {
    border-radius: 4px;
    padding: 8px;
    background: #f1f1f1;
    border-radius: 4px !important;
}

    .search-trvlr-box .flex-loader, .search-trvlr-box .flex-btn-clear {
        top: 3px !important;
        right: 0px !important;
    }

.chk-save-pax {
    margin-top: 8px;
    text-transform: uppercase;
    color: var(--secondary-color) !important;
}

    .chk-save-pax label {
        padding-left: 4px;
        font-size: 16px !important;
        font-weight: 600 !important;
        color: var(--secondary-color);
    }

    .chk-save-pax input[type=checkbox]:checked + label {
    }

    .chk-save-pax label:before {
        font-size: 20px !important;
        color: var(--secondary-color);
    }

.acc-main-container {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 110px);
}

.lnk-back-to-login {
    position: absolute;
    right: 0;
    bottom: 0;
}

.col-htl-search .search-box-style {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-right: 0;
}

.col-distance .search-box-style {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.sw-rbtbox-cc-pm {
    display: flex;
    flex-direction: row;
    flex: 1 1 100%;
    margin-bottom: 14px;
}

.sw-cc-pm-main {
    display: flex;
    align-items: center;
    margin-right: 14px;
}

.sw-rbt-cc-pm {
    height: 20px;
    width: 20px !important;
    opacity: 1 !important;
}

.sw-lbl-cc-pm {
    padding-left: 25px;
    color: #000;
}

    .sw-lbl-cc-pm::before {
        content: "" !important;
    }

.profile-cc-select {
    padding-left: 22px;
}

.lbl-login-info {
    display: block;
    margin-bottom: 0;
}

.transfer-disable {
    pointer-events: none;
    opacity: 0.5;
}

.dt-trnsfr .collapse {
    display: none;
}

.dt-trnsfr .collapsing:first-of-type {
    display: none;
}

.dt-trnsfr .collapsing:last-of-type {
    display: block;
}

.dt-trnsfr .collapse.show {
    display: block !important;
}


.sw-cart-trsft-dtl {
    display: block;
    border: solid 1px #eee;
    border-top: 0;
    padding: 14px;
    max-width: 97%;
}

.sw-cart-trsft-dtl-lnk-main {
    background: #f7f7f7;
    max-width: 97%;
}

.sw-cart-trsft-dtl-lnk {
    justify-content: space-between !important;
    padding: 0 8px !important;
    max-width: 100% !important;
    flex: 1 !important;
}

.sw-trnsfr-cart-item {
    border-bottom: 1px solid #f7f7f7;
    padding-bottom: 14px
}

.trnsfr-cart-fl-right {
    align-self: flex-start;
}

.bookign-frm-select-box {
    padding-bottom: inherit;
}

.bookign-frm-select {
    height: auto !important;
    padding: 0 0 !important;
    box-shadow: none !important;
    font-size: var(--textboxfont);
    border: 1px solid #f7ebeb;
    font-weight: 500;
    color: #000;
}

.flexdatalist-results.with-flags .item {
    display: flex;
    align-items: center;
}

.flexdatalist-results.with-flags .item-flag {
    margin-right: 8px;
}

.sw-htlctry-box {
    padding: 0 12px;
}

.sw-htl-search-footer {
    justify-content: space-between;
}

.flexdatalist-results.with-flags {
    border: 1px solid #ebebeb !important;
    margin-top: 6px;
}

.sw-htlctry-box .flex-btn-clear {
    top: -8px;
    right: -6px;
    cursor: pointer;
}

.wc-bkdoctype-container .frm-dropdown ul li:last-child {
    margin-bottom: 14px !important;
}

/* Custom classes for BleisureFly Brand Logo */
.login-page .bleisr-login-logo-container {
    margin-top: 0 !important;
    margin-bottom: 40px !important;
    text-align: center !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

.login-page .bleisr-login-logo {
    max-width: 260px !important;
    height: auto !important;
    display: inline-block !important;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.2)) !important;
}

/* ==========================================================================
   BLEISUREFLY PREMIUM BRANDED UI STYLES
   ========================================================================== */

/* Universal Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');

/* Typography Global Reset for Branded Areas */
body,
.login-page,
.main-container,
.header-container,
footer,
.search-tabs,
.search-fl-row,
.hotel-box-mono,
.cart-fl-right,
.pas-add-service {
    font-family: 'Outfit', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

    /* 1. BACKGROUND & ACCOUNT PAGES (Login, Registration, Passwords) */

    body.login-page {
        background-image: url(../images/body-bg-premium.png) !important;
        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        background-attachment: fixed !important;
        position: relative !important;
    }

        body.login-page::before {
            content: "" !important;
            position: fixed !important;
            top: 0 !important;
            left: 0 !important;
            right: 0 !important;
            bottom: 0 !important;
            background: rgba(15, 23, 42, 0.6) !important;
            backdrop-filter: blur(4px) !important;
            -webkit-backdrop-filter: blur(4px) !important;
            z-index: -1 !important;
        }

    .login-page .page-wrapper {
        background: transparent !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        min-height: 100vh !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 40px 15px !important;
    }

    .login-page .page-wrapper-inner {
        width: 100% !important;
        max-width: 1100px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
    }

    .login-page .acc-main-container {
        background: #ffffff !important;
        border: 1px solid rgba(255, 255, 255, 0.8) !important;
        border-radius: 24px !important;
        box-shadow: 0 30px 80px rgba(15, 23, 42, 0.45) !important;
        width: 100% !important;
        max-width: 480px !important;
        padding: 48px 40px !important;
        margin: 0 auto !important;
        transition: all 0.3s ease !important;
        display: block !important;
        min-height: auto !important;
    }

        /* Wide layout for Agency Register */
        .login-page .acc-main-container:has(#formRegister) {
            max-width: 1100px !important;
            padding: 48px 45px !important;
        }

.login-form {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    max-width: 100% !important;
    margin: 0 auto !important;
}

    .login-form:hover {
        box-shadow: none !important;
        transform: none !important;
    }

.login-title {
    font-family: 'Outfit', sans-serif !important;
    color: var(--primary-color) !important;
    font-weight: 800 !important;
    font-size: 26px !important;
    letter-spacing: -0.03em !important;
    margin-bottom: 6px !important;
    text-align: center !important;
    line-height: 1.25 !important;
}

.login-form .sub-title {
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    color: #64748b !important;
    font-size: 13px !important;
    text-align: center !important;
    margin-bottom: 24px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

.login-form .form-grp {
    position: relative !important;
    margin-bottom: 18px !important;
}

    .login-form .form-grp i.log-ico {
        position: absolute !important;
        left: 16px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        color: #94a3b8 !important;
        font-size: 15px !important;
        transition: color 0.2s ease !important;
        pointer-events: none !important;
    }

    .login-form .form-grp input {
        width: 100% !important;
        height: 48px !important;
        padding: 0 16px 0 46px !important;
        border-radius: 8px !important;
        border: 1px solid #cbd5e1 !important;
        background-color: #f8fafc !important;
        font-size: 14px !important;
        color: #0f172a !important;
        font-weight: 500 !important;
        transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }

        .login-form .form-grp input:focus {
            background-color: #ffffff !important;
            border-color: var(--secondary-color) !important;
            box-shadow: 0 0 0 4px rgba(76, 152, 138, 0.12) !important;
            outline: none !important;
        }

            .login-form .form-grp input:focus ~ i.log-ico {
                color: var(--secondary-color) !important;
            }

.login-form .show-pwd {
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    cursor: pointer !important;
    color: #64748b !important;
}

.login-form .btn-type1 {
    background: var(--primary-color) !important;
    border: none !important;
    color: #ffffff !important;
    padding: 0 24px !important;
    height: 48px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(35, 68, 106, 0.18) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

    .login-form .btn-type1:hover {
        background-color: var(--secondary-color) !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 6px 16px rgba(76, 152, 138, 0.25) !important;
    }

.login-form .btn-type2 {
    background: transparent !important;
    border: 1px solid var(--secondary-color) !important;
    color: var(--secondary-color) !important;
    padding: 0 24px !important;
    height: 48px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

    .login-form .btn-type2:hover {
        background-color: var(--secondary-color) !important;
        color: #ffffff !important;
        box-shadow: 0 4px 12px rgba(76, 152, 138, 0.25) !important;
    }

.login-form .or-sep {
    display: block !important;
    text-align: center !important;
    margin: 22px 0 !important;
    color: #94a3b8 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    position: relative !important;
}

    .login-form .or-sep::before,
    .login-form .or-sep::after {
        content: "" !important;
        position: absolute !important;
        top: 50% !important;
        width: 40% !important;
        height: 1px !important;
        background-color: #e2e8f0 !important;
    }

    .login-form .or-sep::before {
        left: 0 !important;
    }

    .login-form .or-sep::after {
        right: 0 !important;
    }

.login-form .login-text {
    text-align: center !important;
    margin-top: 24px !important;
    font-size: 13px !important;
    color: #64748b !important;
}

    .login-form .login-text a {
        color: var(--secondary-color) !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        transition: color 0.2s ease !important;
    }

        .login-form .login-text a:hover {
            color: var(--primary-color) !important;
            text-decoration: underline !important;
        }

/* Restore Login, Reset Password, and Set Password validation field-error borders and background */
.login-form .form-grp input.field-error,
.login-form input.field-error,
.login-form .field-error {
    border: 1px solid #fc9797 !important;
    background-color: #fc979745 !important;
}

/* Agency Registration Page Overrides */
form#formRegister {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
}

    form#formRegister .lbl-loginname strong {
        font-family: 'Outfit', sans-serif !important;
        font-size: 20px !important;
        color: var(--primary-color) !important;
        font-weight: 800 !important;
        letter-spacing: -0.02em !important;
    }

    /* Restore AgencyRegister validation field-error borders and background */
    form#formRegister .field-error,
    form#formRegister .form-cntrl.field-error,
    form#formRegister .form-withdropdown.field-error {
        border: 1px solid #fc9797 !important;
        background: #fc979745 !important;
    }

    form#formRegister .fl-pas-dtl-row {
        border: 1px solid #e2e8f0 !important;
        border-radius: 12px !important;
        background: #ffffff !important;
        margin-bottom: 25px !important;
        overflow: hidden !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.01) !important;
    }

    form#formRegister .fl-pas-num-head {
        background: var(--primary-color) !important;
        color: #ffffff !important;
        font-weight: 600 !important;
        padding: 16px 24px !important;
        font-size: 16px !important;
    }

    form#formRegister .reg-sec-header {
        font-family: 'Outfit', sans-serif !important;
        color: var(--primary-color) !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.03em !important;
        margin-top: 30px !important;
        margin-bottom: 12px !important;
        border-bottom: 2px solid #f1f5f9 !important;
        padding-bottom: 6px !important;
    }

    form#formRegister .form-cntrl {
        border-radius: 8px !important;
        background: #f8fafc !important;
        border: 1px solid #e2e8f0 !important;
        padding: 8px 16px !important;
        transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
        min-height: 54px !important;
        /*display: flex !important;*/
        /*flex-direction: column !important;*/
        /*justify-content: center !important;*/
    }

        form#formRegister .form-cntrl:focus-within {
            border-color: var(--secondary-color) !important;
            box-shadow: 0 0 0 3px rgba(76, 152, 138, 0.12) !important;
            background: #ffffff !important;
        }

        form#formRegister .form-cntrl label {
            font-size: 10px !important;
            color: #64748b !important;
            font-weight: 600 !important;
            text-transform: uppercase !important;
            letter-spacing: 0.05em !important;
            margin-bottom: 2px !important;
        }

    form#formRegister .form-input {
        border: none !important;
        background: transparent !important;
        padding: 0 !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        color: #0f172a !important;
        box-shadow: none !important;
        height: 24px !important;
    }

        form#formRegister .form-input:focus {
            outline: none !important;
            box-shadow: none !important;
        }

    form#formRegister .form-withdropdown {
        border-radius: 8px !important;
        background: #f8fafc !important;
        border: 1px solid #cbd5e1 !important;
        position: relative !important;
    }

        form#formRegister .form-withdropdown .form-cntrl {
            background: transparent !important;
            border: none !important;
        }

    form#formRegister .frm-dropdown {
        border-radius: 8px !important;
        border: 1px solid #cbd5e1 !important;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
    }

    form#formRegister p {
        font-size: 13px !important;
        color: #64748b !important;
        line-height: 1.6 !important;
    }

/* 2. HEADER & FOOTER ENHANCEMENT */

.header-container {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.8) !important;
    box-shadow: 0 4px 20px rgba(15, 30, 50, 0.04) !important;
    padding: 10px 0 !important;
    margin-bottom: 25px !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
}

header.top-header {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.header-left {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
}

.lbl-login-displayname {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.lbl-login-info {
    font-size: 13px !important;
    color: #475569 !important;
    font-weight: 500 !important;
    margin: 0 !important;
}

    .lbl-login-info span {
        color: var(--primary-color) !important;
        font-weight: 600 !important;
    }

.header-btn {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border: none !important;
    box-shadow: 0 2px 6px rgba(35, 68, 106, 0.15) !important;
    transition: all 0.25s ease !important;
    opacity: 1 !important;
    display: inline-flex;
    align-items: center !important;
    gap: 8px !important;
}

    .header-btn:hover {
        background-color: var(--secondary-color) !important;
        box-shadow: 0 4px 10px rgba(76, 152, 138, 0.25) !important;
        color: #ffffff !important;
        transform: translateY(-1px) !important;
    }

    .header-btn i {
        font-size: 14px !important;
    }

footer, .site-footer {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    padding: 20px 0 20px 0 !important;
    border-top: 4px solid var(--secondary-color) !important;
}

.site-footer-inner {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    display: flex !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 40px !important;
}

.footer-topleft {
    flex: 1 1 350px !important;
}

    .footer-topleft img {
        margin-bottom: 20px !important;
        filter: brightness(0) invert(1) !important;
    }

.footer-txt {
    font-size: 13px !important;
    color: #cbd5e1 !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
}

.footer-contact ul li {
    margin-right: 20px !important;
}

.footer-contact a {
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: color 0.3s ease !important;
}

    .footer-contact a:hover {
        color: var(--secondary-color) !important;
    }

.footer-top-right {
    display: flex !important;
    gap: 40px !important;
    flex-wrap: wrap !important;
}

.footer-links-list {
    min-width: 150px !important;
}

.link-litle {
    font-family: 'Outfit', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: var(--secondary-color) !important;
    margin-bottom: 15px !important;
    letter-spacing: 0.5px !important;
}

.footer-links-list ul li {
    margin-bottom: 10px !important;
}

    .footer-links-list ul li a {
        color: #cbd5e1 !important;
        font-size: 13px !important;
        text-decoration: none !important;
        transition: all 0.3s ease !important;
    }

        .footer-links-list ul li a:hover {
            color: #ffffff !important;
            padding-left: 4px !important;
        }

/* 3. SEARCH PAGE REVAMP (Flights, Hotels, Transfers) */

.search-tabs {
    background-color: rgba(35, 68, 106, 0.95) !important;
    backdrop-filter: blur(8px) !important;
    border-radius: 12px 12px 0 0 !important;
    padding: 10px 15px 0 15px !important;
    border-bottom: 2px solid var(--secondary-color) !important;
}

.tab-menu-link {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 12px 20px !important;
    border-radius: 8px 8px 0 0 !important;
    transition: all 0.3s ease !important;
}


    .active-tab, .tab-menu-link.active {
        color: #ffffff !important;
        background-color: var(--secondary-color) !important;
    }

.home-bg {
    background-image: url(../images/body-bg-premium.png) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-attachment: fixed !important;
}

.search-box-style, .form-cntrl, .frm-dropdown {
    border-radius: 8px !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    transition: all 0.3s ease !important;
}

    .search-box-style:focus, .form-cntrl:focus-within {
        border-color: var(--secondary-color) !important;
        box-shadow: 0 0 0 3px rgba(76, 152, 138, 0.15) !important;
        outline: none !important;
    }

.frm-dropdown {
    background: #ffffff !important;
    border-radius: 8px !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 10px 25px rgba(15, 30, 50, 0.15) !important;
}

    .frm-dropdown ul li {
        padding: 10px 15px !important;
        font-size: 13px !important;
        color: #334155 !important;
        font-weight: 500 !important;
        transition: all 0.2s ease !important;
    }

        .frm-dropdown ul li:hover, .frm-dropdown ul li.selected {
            background-color: var(--tertiary-color) !important;
            color: var(--primary-color) !important;
        }

/* 4. LIST & DETAILS PAGES (Flights / Hotels list & detail) */

.search-fl-row {
    background: #ffffff !important;
    border-radius: 12px !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 8px 20px rgba(15, 30, 50, 0.05) !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
    transition: all 0.3s ease !important;
}

    .search-fl-row:hover {
        box-shadow: 0 12px 28px rgba(15, 30, 50, 0.08) !important;
        transform: translateY(-2px) !important;
    }

.search-fl-dtl {
    border-radius: 8px !important;
}

.hotel-box-mono {
    border: 1px solid #cbd5e1 !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 24px rgba(15, 30, 50, 0.06) !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
}

    .hotel-box-mono:hover {
        box-shadow: 0 16px 36px rgba(15, 30, 50, 0.12) !important;
        transform: translateY(-3px) !important;
    }

    .hotel-box-mono .col-hotel-data {
        padding: 15px !important;
    }

    .hotel-box-mono .hotel-name a {
        font-family: 'Outfit', sans-serif !important;
        color: var(--primary-color) !important;
        font-weight: 700 !important;
        font-size: 15px !important;
        text-transform: uppercase !important;
    }

    .hotel-box-mono .hotel-address {
        font-size: 12px !important;
        color: #64748b !important;
        font-weight: 500 !important;
    }

    .hotel-box-mono .room-price {
        font-family: 'Outfit', sans-serif !important;
        color: var(--primary-color) !important;
        font-weight: 800 !important;
        font-size: 22px !important;
    }

    .hotel-box-mono .hotel-thumbnail {
        border-radius: 8px !important;
    }

/* Global Premium Button Overrides */
.btn-type1 {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 10px rgba(35, 68, 106, 0.2) !important;
    transition: all 0.25s ease !important;
    opacity: 1 !important;
}

    .btn-type1:hover {
        background-color: #1a3350 !important;
        border-color: #1a3350 !important;
        color: #ffffff !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 6px 15px rgba(35, 68, 106, 0.3) !important;
    }

.btn-type2 {
    background-color: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 10px rgba(76, 152, 138, 0.2) !important;
    transition: all 0.25s ease !important;
    opacity: 1 !important;
}

    .btn-type2:hover {
        background-color: #3b7d72 !important;
        border-color: #3b7d72 !important;
        color: #ffffff !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 6px 15px rgba(76, 152, 138, 0.3) !important;
    }

.btn-type3 {
    background-color: #ffffff !important;
    border: 1px solid var(--primary-color) !important;
    color: var(--primary-color) !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    transition: all 0.25s ease !important;
    opacity: 1 !important;
}

    .btn-type3:hover {
        background-color: var(--primary-color) !important;
        color: #ffffff !important;
        transform: translateY(-1px) !important;
    }

.btn-type4 {
    background-color: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 10px rgba(76, 152, 138, 0.2) !important;
    transition: all 0.25s ease !important;
    opacity: 1 !important;
}

    .btn-type4:hover {
        background-color: #3b7d72 !important;
        border-color: #3b7d72 !important;
        color: #ffffff !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 6px 15px rgba(76, 152, 138, 0.3) !important;
    }

/* 5. CART, BOOKING, AND CONFIRMATION PAGES */

.cart-fl-right, .pas-add-service, .dedicated-fare-rule {
    background: #ffffff !important;
    border-radius: 12px !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 8px 24px rgba(15, 30, 50, 0.05) !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
}

.validate-summory-heading, .validation-summory-heading {
    font-family: 'Outfit', sans-serif !important;
    color: var(--red-color) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    margin-bottom: 12px !important;
}

.pas-add-service-title {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    color: var(--primary-color) !important;
    border-bottom: 2px solid var(--secondary-color) !important;
    padding-bottom: 10px !important;
    margin-bottom: 15px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.pas-serv-row {
    border-bottom: 1px solid #f1f5f9 !important;
    padding: 12px 0 !important;
}

.service-name {
    color: var(--primary-color) !important;
    font-weight: 600 !important;
}

.captcha-box {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: #f8fafc !important;
    padding: 10px 15px !important;
    border-radius: 8px !important;
    border: 1px solid #cbd5e1 !important;
    margin-bottom: 15px !important;
}

.captcha-img-box img {
    border-radius: 4px !important;
    border: 1px solid #cbd5e1 !important;
}

.txt-captcha {
    max-width: 120px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    padding: 6px 10px !important;
    font-weight: 600 !important;
}

.reg-conf-header {
    font-family: 'Outfit', sans-serif !important;
    font-size: 26px !important;
    color: var(--secondary-color) !important;
    font-weight: 800 !important;
    text-align: center !important;
}

.general-msg-container {
    background: #ffffff !important;
    border-radius: 16px !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 10px 30px rgba(15, 30, 50, 0.08) !important;
    padding: 40px !important;
    max-width: 600px !important;
    margin: 60px auto !important;
    text-align: center !important;
}

.general-msg-text {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
}

/* ==========================================================================
   PRODUCTION-GRADE UI/UX IMPROVEMENTS & FIXES
   ========================================================================== */

/* 1. Login & Registration Background Overlay Enhancement */
.login-page .page-wrapper {
    background: rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    min-height: 100vh !important;
}

/* 3. DDChangeLoginDropdowm Caret and Text Alignment Fixes */
#DDChangeLoginDropdowm button.hdr-btn-stg {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    vertical-align: middle !important;
    max-width: 190px !important;
    padding-right: 28px !important;
    padding-left: 14px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    position: relative !important;
    height: 38px !important;
    font-size: 13px !important;
    border-radius: 6px !important;
    line-height: normal !important;
}

    #DDChangeLoginDropdowm button.hdr-btn-stg i {
        flex-shrink: 0 !important;
        margin-right: 8px !important;
    }

    #DDChangeLoginDropdowm button.hdr-btn-stg:after {
        content: "\f0d7" !important;
        font-family: "Font Awesome 5 Pro" !important;
        font-weight: 900 !important;
        position: absolute !important;
        right: 10px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        font-size: 14px !important;
        line-height: 1 !important;
        pointer-events: none !important;
        border: none !important;
        margin: 0 !important;
    }

/* 4. dc-flexdatalist-box Vertical Alignment & Spacing Optimization */
.dc-flexdatalist-box {
    position: relative !important;
    display: block !important;
    width: 100% !important;
}

.dc-flex-controls {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    z-index: 5 !important;
    height: 100% !important;
}

    .dc-flex-controls .flex-loader,
    .dc-flex-controls .flex-btn-clear {
        position: static !important;
        display: inline-flex;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        color: #94a3b8 !important;
        transition: color 0.2s ease !important;
        margin: 0 !important;
        padding: 0 !important;
        top: auto !important;
        right: auto !important;
    }

        .dc-flex-controls .flex-btn-clear:hover {
            color: var(--red-color) !important;
        }

.flexsearch-with-icon {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
}

    .flexsearch-with-icon .flexsearch-icon {
        position: absolute !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        left: 14px !important;
        display: inline-flex !important;
        align-items: center !important;
        color: #94a3b8 !important;
        z-index: 4 !important;
        pointer-events: none !important;
        margin: 0 !important;
    }

    .flexsearch-with-icon .flexsearch-input,
    form#formRegister .form-cntrl input.dc-flexdatalist {
        padding-left: 38px !important;
        padding-right: 42px !important;
        width: 100% !important;
    }

/* 5. Protected Pages Subtle Lightweight Background Styling */
.inner-bgimg {
    background-image: url(../images/body-bg-premium.png) !important;
    background-size: cover !important;
    background-position: center 25% !important;
    background-repeat: no-repeat !important;
    height: 280px !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: -2 !important;
}

    .inner-bgimg::after {
        content: "" !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: linear-gradient(to bottom, rgb(197 197 197 / 85%) 0%, rgb(48 94 141 / 70%) 100%) !important;
        z-index: -1 !important;
    }

body:not(.home-bg) .inner-bgimg {
    background-position: 25% !important;
}

body.home-bg .inner-bgimg {
    height: 100% !important;
}

.main-container {
    background: transparent !important;
    position: relative !important;
    z-index: 1 !important;
}

/* 8. Modern Tab Hover Contrast & Readability Enhancements */
.search-tabs .tab-menu-link {
    color: #cbd5e1 !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

    /*.search-tabs .tab-menu-link:hover {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.15) !important;
    text-decoration: none !important;
    box-shadow: inset 0 -3px 0 0 var(--secondary-color) !important;
}*/

    .search-tabs .tab-menu-link.active,
    .search-tabs .active-tab {
        color: #ffffff !important;
        background-color: var(--secondary-color) !important;
        box-shadow: none !important;
    }

.nav-tabs {
    border-bottom: 2px solid #cbd5e1 !important;
    margin-bottom: 20px !important;
    display: flex !important;
    flex-wrap: wrap !important;
}

    .nav-tabs .nav-link {
        font-family: 'Outfit', sans-serif !important;
        font-weight: 600 !important;
        color: var(--primary-color) !important;
        border: none !important;
        border-radius: 6px 6px 0 0 !important;
        padding: 10px 20px !important;
        transition: all 0.25s ease !important;
    }

        .nav-tabs .nav-link:hover {
            color: var(--secondary-color) !important;
            background-color: var(--tertiary-color) !important;
            text-decoration: none !important;
        }

        .nav-tabs .nav-link.active {
            color: #ffffff !important;
            background-color: var(--primary-color) !important;
            border: none !important;
        }

/* 9. Modern Empty Cart UI Visual Overhaul */
.empty-cart-box {
    border-radius: 16px !important;
    max-width: 500px !important;
    margin: 80px auto !important;
    padding: 50px 35px !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.empty-cart-icon {
    font-size: 60px !important;
    color: var(--secondary-color) !important;
    background-color: var(--tertiary-color) !important;
    width: 110px !important;
    height: 110px !important;
    line-height: 110px !important;
    border-radius: 50% !important;
    margin-bottom: 25px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 15px rgba(76, 152, 138, 0.1) !important;
    animation: fdlFloat 3s ease-in-out infinite !important;
}

@keyframes fdlFloat {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}

.no-cart-item-text {
    font-family: 'Outfit', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--primary-color) !important;
    margin-top: 10px !important;
    margin-bottom: 12px !important;
    line-height: 1.2 !important;
}



.empty-cart-box .empty-cart-icon:before {
    font-family: "Font Awesome 5 Pro" !important;
    font-weight: 300 !important;
    content: "\f07a" !important;
}

/* 10. Hide Filter Button when Offcanvas Sidebar is Active / Desktop viewports */
@media (min-width: 992px) {
    .btn-filter, .btn-filter.header-btn {
        display: none !important;
    }
}

@media (max-width: 991px) {
    .offcanvas-container:has(.row-offcanvas.active) .btn-filter {
        display: none !important;
    }
}

/* 11. Restore Remove Cart Button Original Colors */
.dc-remove-crt-item, .btn-type4.dc-remove-crt-item {
    background-color: #E4740D !important;
    border-color: #E4740D !important;
    color: #ffffff !important;
    box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.16) !important;
}

    .dc-remove-crt-item:hover, .btn-type4.dc-remove-crt-item:hover {
        background-color: rgba(228, 116, 13, 0.8) !important;
        border-color: rgba(228, 116, 13, 0.8) !important;
        color: #ffffff !important;
        transform: none !important;
        box-shadow: 0px 2px 12px rgba(0, 0, 0, 0.24) !important;
    }

/* 12. Global Premium Light Placeholder Text Styles */
input::placeholder,
textarea::placeholder,
select::placeholder {
    color: #cbd5e1 !important;
    opacity: 1 !important;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
select::-webkit-input-placeholder {
    color: #cbd5e1 !important;
}

input::-moz-placeholder,
textarea::-moz-placeholder,
select::-moz-placeholder {
    color: #cbd5e1 !important;
    opacity: 1 !important;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder,
select:-ms-input-placeholder {
    color: #cbd5e1 !important;
}

input:-moz-placeholder,
textarea:-moz-placeholder,
select:-moz-placeholder {
    color: #cbd5e1 !important;
    opacity: 1 !important;
}

/* 13. Global Uniform Premium Styles for Checkbox Labels */
.checkbox-custom label {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #444 !important;
    line-height: 18px !important;
    padding-left: 0px !important;
}

/* Checked state text highlight */
.checkbox-custom input[type=checkbox]:checked + label,
.checkbox-custom input[type=radio]:checked + label,
.checkbox-custom.checked-bold input[type=checkbox]:checked + label,
.checkbox-custom.checked-bold input[type=radio]:checked + label {
    color: var(--primary-color) !important;
    font-weight: 600 !important;
}

/* Icon (checkbox square) styling uniformity */
.checkbox-custom label:before {
    font-size: 15px !important;
    color: #94a3b8 !important;
    top: 1px !important;
    transition: color 0.2s ease, font-weight 0.2s ease !important;
}

/* Checked icon styling */
.checkbox-custom input[type=checkbox]:checked + label:before,
.checkbox-custom input[type=radio]:checked + label:before {
    color: var(--secondary-color) !important;
    font-weight: 900 !important;
}

/* ==========================================================================
   14. UNIFIED SEARCH WIDGETS & SEGMENTED BORDERS (FLIGHT, HOTEL, TRANSFER)
   ========================================================================== */

/* Unify Transfer Search Wrap with Hotel Search-Box Style */
.sw-search-wrap {
    border-radius: 8px !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04) !important;
    background-color: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    transition: all 0.3s ease !important;
    padding: 10px 14px !important; /* Premium proportional height padding */
}

    .sw-search-wrap:focus-within {
        border-color: var(--secondary-color) !important;
        box-shadow: 0 0 0 3px rgba(76, 152, 138, 0.15) !important;
        outline: none !important;
    }

    /* Remove default background & borders of inner fields to avoid conflicts */
    .sw-search-wrap input,
    .search-box-style input {
        border: 0 none !important;
        background: transparent !important;
        box-shadow: none !important;
        outline: none !important;
        color: #1e293b !important;
    }

/* Responsive Desktop segment joining (Borders & Radius alignment) */
@media (min-width: 768px) {
    /* Flight search fields joining */
    .flight-search-row .deaprt-loc.search-box-style {
        border-top-right-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
        border-right: 0 !important;
    }

    .flight-search-row .arrival-loc.search-box-style {
        border-top-left-radius: 0 !important;
        border-bottom-left-radius: 0 !important;
    }

    /* Transfer Search Location Columns (remove gap & join borders) */
    .dc-loc-search:first-of-type {
        padding-right: 0 !important;
    }

        .dc-loc-search:first-of-type .sw-search-wrap {
            border-top-right-radius: 0 !important;
            border-bottom-right-radius: 0 !important;
            border-right: 0 !important;
        }

    .dc-loc-search:last-of-type {
        padding-left: 0 !important;
    }

        .dc-loc-search:last-of-type .sw-search-wrap {
            border-top-left-radius: 0 !important;
            border-bottom-left-radius: 0 !important;
        }

    /* Transfer Search Return Locations (remove gap & join borders) */
    .dc-returnbox .disabled:nth-of-type(1) {
        padding-right: 0 !important;
    }

        .dc-returnbox .disabled:nth-of-type(1) .sw-search-wrap {
            border-top-right-radius: 0 !important;
            border-bottom-right-radius: 0 !important;
            border-right: 0 !important;
        }

    .dc-returnbox .disabled:nth-of-type(2) {
        padding-left: 0 !important;
    }

        .dc-returnbox .disabled:nth-of-type(2) .sw-search-wrap {
            border-top-left-radius: 0 !important;
            border-bottom-left-radius: 0 !important;
        }

    /* Transfer Dates & Reference Flight Number Columns (remove gap & join borders) */
    .col-xl-8 .row > .col-md-6:first-of-type {
        padding-right: 0 !important;
    }

        .col-xl-8 .row > .col-md-6:first-of-type .sw-search-wrap {
            border-top-right-radius: 0 !important;
            border-bottom-right-radius: 0 !important;
            border-right: 0 !important;
        }

    .col-xl-8 .row > .col-md-6.dc-arrival-ref-1 {
        padding-left: 0 !important;
    }

        .col-xl-8 .row > .col-md-6.dc-arrival-ref-1 .sw-search-wrap {
            border-top-left-radius: 0 !important;
            border-bottom-left-radius: 0 !important;
        }

    /* Transfer Return Dates & Reference Flight Number Columns (remove gap & join borders) */
    .col-xl-8 .row > .col-md-6.dc-arrival-ref-2 {
        padding-left: 0 !important;
    }

        .col-xl-8 .row > .col-md-6.dc-arrival-ref-2 .sw-search-wrap {
            border-top-left-radius: 0 !important;
            border-bottom-left-radius: 0 !important;
        }
}

/* ==========================================================================
   15. UNIFIED VALIDATION ERROR HIGHLIGHTS
   ========================================================================== */

/* Error styling matching the hotel error layout */
.search-content .field-error,
.search-container .field-error,
#formFlightSearch .field-error,
#frmHotelSearch .field-error,
#searchTransferForm .field-error,
.dc-flight-search-row .field-error,
.sw-search-wrap.field-error,
.search-box-style.field-error,
.sw-search-wrap .field-error,
.search-box-style .field-error,
.search-content .highlight-field-error,
.search-container .highlight-field-error,
#formFlightSearch .highlight-field-error,
#frmHotelSearch .highlight-field-error,
#searchTransferForm .highlight-field-error,
.dc-flight-search-row .highlight-field-error,
.sw-search-wrap.highlight-field-error,
.search-box-style.highlight-field-error {
    border: 1px solid #fc9797 !important;
    background-color: rgba(252, 151, 151, 0.15) !important;
    border-radius: 8px !important;
}

    /* Error styling active focus */
    .search-content .field-error:focus,
    .search-container .field-error:focus,
    .sw-search-wrap.field-error:focus-within,
    .search-box-style.field-error:focus-within,
    .sw-search-wrap.highlight-field-error:focus-within,
    .search-box-style.highlight-field-error:focus-within {
        border-color: #f87171 !important;
        box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.2) !important;
    }

/* ==========================================================================
   16. SENIOR GRAPHIC DESIGNER - LUXURY TAB PANEL & CONTAINER WIDGET
   ========================================================================== */

/* Outer Search Tabs Wrapper */
.search-tabs-container {
    background-color: transparent !important;
    box-shadow: none !important;
    border: 0 none !important;
    padding: 0 !important;
    margin-bottom: 25px !important;
}

/* Luxury Glassmorphic Tabs Bar Container */
.tabs {
    display: inline-flex !important;
    background: rgba(35, 68, 106, 0.95) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-radius: 16px 16px 0 0 !important;
    padding: 0 !important;
    border-bottom: 3px solid var(--secondary-color) !important;
    box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.08) !important;
    margin-bottom: -1px !important; /* Perfect pixel overlay to hide border gap */
    z-index: 2 !important;
    position: relative !important;
    gap: 4px !important;
}

/* Premium Muted Tab Links */
.tab, .tab-menu-link {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.75px !important;
    color: #cbd5e1 !important; /* Premium Slate-300 contrast */
    background: transparent !important;
    border: 0 none !important;
    box-shadow: none !important;
    padding: 14px 24px !important;
    border-radius: 8px 8px 0 0 !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    cursor: pointer !important;
    margin: 0 !important;
}

    /* Tab Icon Micro-transitions */
    .tab i, .tab-menu-link i {
        font-size: 16px !important;
        color: #94a3b8 !important;
        /*transition: all 0.25s ease !important;*/
        transform: translateY(-1px) !important;
    }

    /* Muted state hover glow */
    .tab:hover, .tab-menu-link:hover {
        color: #ffffff !important;
        background-color: rgba(255, 255, 255, 0.08) !important;
        text-decoration: none !important;
    }

        .tab:hover i, .tab-menu-link:hover i {
            color: #ffffff !important;
            transform: translateY(-2px) !important;
        }

    /* Active Highlight Theme Styles via Radio checked pattern & Active states */
    #one:checked ~ .tabs #one-tab,
    #two:checked ~ .tabs #two-tab,
    #three:checked ~ .tabs #three-tab,
    #four:checked ~ .tabs #four-tab,
    #eleven:checked ~ .tabs #eleven-tab,
    .active-tab,
    .tab-menu-link.active,
    .tab.active {
        color: #ffffff !important;
        background-color: var(--secondary-color) !important;
        box-shadow: 0 -4px 12px rgba(76, 152, 138, 0.25) !important;
        border-bottom: 0 none !important;
    }

        #one:checked ~ .tabs #one-tab i,
        #two:checked ~ .tabs #two-tab i,
        #three:checked ~ .tabs #three-tab i,
        #four:checked ~ .tabs #four-tab i,
        #eleven:checked ~ .tabs #eleven-tab i,
        .active-tab i,
        .tab-menu-link.active i,
        .tab.active i {
            color: #ffffff !important;
        }

/* Senior Level Docked Search Panel */
.panels .panel {
    background-color: #ffffff !important;
    border: 1px solid rgba(226, 232, 240, 0.8) !important;
    border-radius: 20px !important; /* Fully rounded by default */
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.08) !important;
    padding: 14px 18px !important;
    position: relative !important;
    z-index: 1 !important;
    overflow: visible !important;
    transition: all 0.4s ease !important;
}

/* If the first tab (Hotel) is checked, seamlessly merge it with the panel (remove top-left radius) */
.panels .panel {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

/* Integrated Edge-to-Edge Search Footer card */
.search-footer {
    background-color: #ffffff !important;
    border-radius: 0 0 20px 20px !important;
    border-top: 1px solid #f1f5f9 !important;
    box-shadow: none !important;
    padding: 20px 30px !important;
    margin: 30px 0px 0px 0px !important; /* Pulls footer flush against panel borders */
}

.cart-head:not(.cart-total-bottom2) .cart-total-box .cart-total, .cart-head:not(.cart-total-bottom2) .cart-total-box .cart-name {
    color: #fff !important;
}

/* Responsive Mobile Layout Adjustments (Vertical Stacking) */
@media (max-width: 767px) {
    .tabs {
        width: 100% !important;
        border-radius: 12px !important;
        padding: 10px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px !important;
    }

    .tab-menu-link {
        width: 100% !important;
        border-radius: 6px !important;
        padding: 12px 16px !important;
        justify-content: center !important;
    }

    .panels .panel {
        border-radius: 20px !important; /* Restore complete rounding when stacked on mobile */
        margin-top: 15px !important;
        padding: 25px 20px !important;
    }

    .search-footer {
        margin: 25px -20px -25px -20px !important;
    }
}
