﻿/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
:root {
    --background: #10C6CA;
    --second-background: #FB8D20;
    --third-background: #FFF;
    --fourth-background: #E1E1E1;
    --fifth-background: #ACACAC;
    --text-color: #444;
    --second-text-color: #10C6CA;
    --third-text-color: #FFF;
    --fourth-text-color: #ACACAC;
    --background-hover: #4FD6DA;
    --second-background-hover: #FFA633;
    --breadcrumbs-color: #666;
    --title-text: #AAA;
}

.bx {
    vertical-align: middle;
}

.gohub-hidden {
    display: none;
}

.back {
    color: var(--breadcrumbs-color);
    margin-bottom: 1rem;
}

.timeline {
    /* Used to position the left vertical line */
    position: relative;
}

.timeline__line {
    border-right: 2px solid var(--background);
    left: -15px;
    position: absolute;
    top: 25%;
    height: 50%;
}

.timeline__items {
    /* Reset styles */
    list-style-type: none;
    margin: 0px;
    padding: 0px;
}

.timeline__top {
    /* Center the content horizontally */
    align-items: center;
    display: grid;
}

.timeline__circle {
    /* Rounded border */
    background-color: var(--third-background);
    border: 2px solid var(--background);
    border-radius: 50%;
    /* Size */
    height: 9px;
    width: 9px;
    position: absolute;
    left: -18.6px;
}

#floatingReason {
    height: 150px;
}

.timeline__title {
    /* Take available width */
    flex: 1;
    color: #003F62;
    font-size: 18px;
    font-weight: 500;
}



/*#screen-dimmer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9995;
    display: none;
}
*/
.fs-2 {
    font-size: 2rem;
}

.max-width-fill {
    max-width: -webkit-fill-available;
}

.background-grey-section {
    background-color: #F9F9F9;
    padding: 15px 22px 5px 22px;
    border-radius: 10px;
}
/*--------------------------------------------------------------
# Input
--------------------------------------------------------------*/
textarea {
    resize: none;
}

input::-ms-reveal,
input::-ms-clear {
    display: none;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.form-control {
    height: 58px;
    border-color: #AAA;
    border-radius: 12px;
}

    .form-control[readonly] {
        background-color: var(--fourth-background);
    }

    .form-control:focus {
        border-color: var(--background);
        outline: 0;
        box-shadow: unset;
    }

    .form-control:disabled {
        background: var(--fourth-background);
    }

/*.form-floating > label {
    color: var(--fourth-text-color);
    font-weight: 600;
    font-size: 14px;
}

.form-floating > .form-control-plaintext ~ label, .form-floating > .form-control:focus ~ label {
    color: #ACACAC;
    font-family: Roboto;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-top: 15px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    height: 100%;
    padding: 1rem .75rem;
    overflow: hidden;
    text-align: start;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    border: var(--bs-border-width) solid transparent;
    transform-origin: 0 0;
    transition: opacity .1s ease-in-out, transform .1s ease-in-out;
}

.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) {
    padding-top: 0;
    padding-bottom: 0;
}

.form-floating > .form-control:not(:placeholder-shown) ~ label, .form-floating > .form-select ~ label {
    color: rgba(var(--bs-body-color-rgb), .65);
    transform: scale(.85) translateY(-.5rem) translateX(.15rem);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    height: 100%;
    padding: 1rem .75rem;
    pointer-events: none;
}

    .form-floating > .form-control-plaintext ~ label::after, .form-floating > .form-control:focus ~ label::after, .form-floating > .form-control:not(:placeholder-shown) ~ label::after, .form-floating > .form-select ~ label::after {
        background-color: transparent;
    }
*/
.form-select {
    border: 1px solid #AAA;
    border-radius: 12px;
}

    .form-select:focus {
        border-color: var(--background);
        box-shadow: unset;
    }

    .form-select:disabled {
        background-color: var(--fourth-background);
    }

.half-control {
    border-radius: 0 12px 12px 0;
}

.half-select {
    border-radius: 12px 0 0 12px;
}

.eye-icon {
    position: absolute;
    right: 10px;
    top: 10px;
    cursor: pointer;
}

.hide-password {
    display: none
}

.title {
    font-size: 18px;
    font-weight: 700;
}

/*--------------------------------------------------------------
# Button
--------------------------------------------------------------*/
.btn {
    border: 0;
    height: 45px;
    border-radius: 12px;
}

    .btn:disabled {
        color: var(--third-text-color);
        background: #AAA;
        border-radius: 12px;
        font-weight: 700;
        letter-spacing: .15px;
        font-size: 18px;
        width: 272px;
        opacity: 1;
    }

.btn-save {
    width: 146px;
    background-color: var(--second-background);
    color: var(--third-text-color);
    font-weight: 700;
}

    .btn-save:hover {
        background-color: var(--second-background-hover);
        color: var(--third-text-color);
    }

.btns-group {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: 3rem;
}

.form-check-label {
    color: #777777;
    font-size: 13px;
}


.border12 {
    border-radius: 12px;
}

.btn-genaral {
    background: var(--second-background);
    color: #FFFFFF;
    width: 222px;
    border-radius: 12px;
    height: 42px;
}

    .btn-genaral:hover {
        background: var(--second-background);
        color: #FFFFFF;
    }

    .btn-genaral:disabled, .btn-genaral[disabled] {
        background: #AAA;
        color: #FFF;
        font-weight: 700;
    }

.btn-mainly-blue-color {
    background: var(--background);
    color: #FFF;
    font-weight: 700;
}

    .btn-mainly-blue-color:hover {
        color: #FFF;
        background-color: var(--background);
        border-color: var(--background);
    }

    .btn-mainly-blue-color:focus {
        color: #FFFFFF;
        background-color: var(--background);
        border-color: var(--background);
        outline: 0;
        box-shadow: var(--bs-btn-focus-box-shadow);
    }

.btn-no {
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
}

.wizard {
    position: relative;
}

.wizard-step {
    position: absolute;
    top: 2rem;
}

.wizard-dot {
    /* Center the content */
    align-items: center;
    display: flex;
    margin-left: -.7rem;
    transform: rotate(90deg);
    width: 56px;
}

.wizard-connector {
    flex: 1;
    height: 2px;
    background-color: var(--background);
}

.wizard-step:first-child .wizard-connector:first-child,
.wizard-step:last-child .wizard-connector:last-child {
    background-color: transparent;
}

.wizard-circle {
    align-items: center;
    display: flex;
    background-color: #FFFFFF;
    border: 2px solid var(--background);
    border-radius: 50%;
    height: 10px;
    width: 10px;
}

.ri-pencil-fill {
    color: var(--background);
}

.icon-transfer {
    position: absolute;
    right: .5rem;
    top: 1.3rem;
}

.heading {
    color: #AAAAAA;
    font-weight: 700;
    margin-bottom: 1rem;
}

.depart-sub-item {
    font-size: 14px;
    color: var(--fourth-text-color);
    line-height: 1;
    margin-bottom: .6rem;
}


.payment-category-text {
    font-weight: 500;
    letter-spacing: .15px;
}

.payment-box {
    display: flex;
    border: 1px solid #AAA;
    border-radius: 6px;
    width: 100%;
    align-items: center;
    cursor: pointer;
    background: #FFF;
    transition: all .3s ease;
    margin-bottom: 1rem;
    height: 74px;
    padding: 0 2rem;
}

    .payment-box:hover {
        transform: translateY(-3px);
    }

    .payment-box .icon {
        max-height: 25px;
        margin-right: 1rem;
    }

    .payment-box .surcharge {
        color: #AAA;
        font-size: 11px;
        letter-spacing: .15px;
    }

    .payment-box .sub-content {
        color: #AAAAAA;
        font-size: 12px;
        letter-spacing: .15px;
    }

.payment-btn {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0 1rem;
}

.payment-img-out {
    display: flex;
    padding: 0;
    justify-content: center !important;
}

.payment-img-in {
    max-height: 100%;
}

.trip-detail-header {
    margin-bottom: 1rem;
}

.trip-detail-body {
    display: none;
}

.tnc-text {
    color: var(--fourth-text-color);
    font-size: 14px;
}

.tabs {
    display: flex;
    border-collapse: separate;
    table-layout: auto;
}

.tabs-justify {
    width: 100%;
    table-layout: fixed;
}

a.tab {
    position: relative;
    display: inline-block;
    transition: all ease .3s;
    padding: .8rem 3rem;
    transform: translate3d(0, 0, 0);
    white-space: nowrap;
    cursor: pointer;
    color: var(--text-color);
    text-align: center;
    width: 171px;
}

    a.tab:after {
        transition: all .3s cubic-bezier(1, 0, 0, 1);
        will-change: transform, box-shadow, opacity;
        position: absolute;
        content: '';
        height: 3px;
        bottom: 0px;
        left: 0px;
        right: 0px;
        border-radius: 3px 3px 0px 0px;
        box-shadow: 0px 4px 10px 3px rgba($blue, .15);
        opacity: 0;
        transform: scale(0, 1);
    }

    a.tab.active {
        border-bottom: 6px solid var(--background);
    }

        a.tab .active:after {
            opacity: 1;
            transform: scale(1, 1);
        }

.cus-dropdown {
    border: 1px solid #444444;
    border-radius: 25px;
    padding: 0.4rem;
    position: relative;
    text-align: center;
    width: 149px;
    background: #FFF;
    margin: 3rem auto;
}

.border-bottom {
    border-bottom: 1px solid #DDD !important;
    display: block;
}

.btn-ticket {
    background: #FFFFFF;
    border: 1px solid var(--background);
    border-radius: 12px;
    color: var(--background);
    width: 135px;
}

    .btn-ticket:hover {
        color: var(--background);
        background-color: #FFFFFF;
        border-color: var(--background);
    }

.caleran-input {
    border: 0;
    background-color: transparent;
    cursor: pointer;
}

    .caleran-input:focus {
        outline: 0;
        border: 0;
    }

    .caleran-input[readonly] {
        width: 100%;
        background-color: transparent;
        opacity: 1;
        position: absolute;
        bottom: 3px;
        left: 11px;
    }

.hide-details {
    display: none
}

.modal-footer {
    justify-content: center;
    border-top: unset;
}

.wallet-color {
    font-size: 2.2rem !important;
    color: #12ACDD;
}

.vertical-center {
    display: grid;
    align-items: center;
}

.form-check-input:checked {
    background-color: #10C6CA !important;
    border-color: #10C6CA !important;
}

.text-main-col {
    color: #10C6CA;
}

.text-grey {
    color: grey;
}

.text-grey-fandf {
    color: #AAAAAA;
}

.w-95 {
    width: 95px;
}

pre {
    display: block;
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: unset;
    font-family: "Roboto";
    font-weight: 500;
    font-size: 1rem;
    white-space: break-spaces;
}

.p-0 {
    padding: 0;
}

.p-0-1 {
    padding: 0 1rem;
}

.p-0-2 {
    padding: 0 2rem;
}

.pl-0 {
    padding-left: 0;
}

.pl-8 {
    padding-left: 8px;
}

.pr-0 {
    padding-right: 0;
}

.pr-7 {
    padding-right: 7px;
}

.pb-60 {
    padding: 0 0 60px 0 !important;
}

.pt-15 {
    padding-top: 15px;
}

.mtb-1-5 {
    margin: 1.5rem 0;
}

.mt-0 {
    margin-top: 0;
}

.mt-97 {
    margin-top: 97px;
}

.mt-160 {
    margin-top: 160px;
}

.mt-1r {
    margin-top: 1rem;
}

mb-20 {
    margin-bottom: 20px;
}

.w-100 {
    width: 100%;
}

/*--------------------------------------------------------------
# Pre Loader
--------------------------------------------------------------*/
#pre-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    background-color: rgba(255,255,255,.5);
    z-index: 9999;
}

    #pre-loader img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100px;
        height: 100px;
    }

/*--------------------------------------------------------------
# Select2
--------------------------------------------------------------*/
.select2-container--bootstrap-5 .select2-selection {
    min-height: calc(1.5em + (0.75rem + 22px));
    border: 1px solid #AAA;
    border-radius: 12px 0 0 12px;
}

.select2-container--bootstrap-5 .select2-selection--single {
    padding-top: 1.625rem;
    padding-bottom: .625rem;
}

.select2-container--bootstrap-5.select2-container--focus .select2-selection, .select2-container--bootstrap-5.select2-container--open .select2-selection {
    border-color: var(--background);
    box-shadow: unset;
}

.select2-container--bootstrap-5.select2-container--disabled .select2-selection, .select2-container--bootstrap-5.select2-container--disabled.select2-container--focus .select2-selection {
    border-color: #AAA;
    background-color: var(--fourth-background);
}

/*--------------------------------------------------------------
# Modal
--------------------------------------------------------------*/
.modal-header {
    border-bottom: 0;
}

.modal-content {
    border-radius: 16px;
    background: var(--third-background);
}

.modal-body {
    padding: 3rem 2rem;
}

    .modal-body h6 {
        font-weight: 700;
        text-align: center;
        margin-bottom: 2.5rem;
        white-space: pre-wrap;
    }

        .modal-body h6 .desc {
            font-weight: 100;
        }

.modal-footer {
    border-top: 0;
}

.btn-modal {
    background: var(--second-background);
    width: 222px;
    font-size: 18px;
    font-weight: 700;
    color: #FCFCFC;
}

    .btn-modal:hover {
        background: var(--second-background-hover);
        color: #FCFCFC;
    }



.airportticket .trip-listing .select-filter {
    width: 214px;
    border-radius: 12px;
    float: right;
    position: relative;
    user-select: none;
}

.airportticket .trip-listing .btn-skip {
    font-size: 14px;
    color: var(--second-text-color);
    font-weight: 500;
    text-decoration: underline;
    cursor: pointer;
    margin-left: 1rem;
}

    .airportticket .trip-listing .btn-skip:hover {
        color: var(--background-hover);
        text-decoration: underline;
    }

.airportticket .trip-listing .input-box {
    border: 1px solid #EEE;
    background-color: var(--third-text-color);
    padding: 17px 0 !important;
}

    .airportticket .trip-listing .input-box .filter-title {
        font-weight: 700;
    }

    .airportticket .trip-listing .input-box .bxs-filter-alt {
        position: absolute;
        top: 0;
        right: 0;
        left: 35px;
        width: 0;
    }

    .airportticket .trip-listing .input-box .bx-chevron-down {
        position: absolute;
        top: 0;
        right: 10px;
    }

.airportticket .trip-listing .filter-dropdown {
    display: none;
}

.airportticket .trip-listing .filter-content {
    width: 214px;
    position: absolute;
    top: 4rem;
    z-index: 1;
}

.airportticket .trip-listing .filter-wrapper {
    border-radius: 12px;
    background: var(--third-background);
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25), 0px -1px 4px 0px rgba(0, 0, 0, 0.25);
}

    .airportticket .trip-listing .filter-wrapper .filter-item-dp {
        padding: 1rem;
        text-align: center;
        font-weight: 700;
        cursor: pointer;
        transition: all .3s;
    }

        .airportticket .trip-listing .filter-wrapper .filter-item-dp:hover {
            color: var(--background-hover);
            border-radius: 12px;
        }

.airportticket .caleran-input {
    position: unset;
}

.airportticket .company-wrapper .code {
    color: #ACACAC;
    font-size: 12px;
    margin-top: 1rem;
}

.airportticket .cashback {
    background: #E1FDEE;
    color: #1E8D78;
    font-size: 12px;
    font-weight: 500;
    width: 100%;
    border-radius: 2px;
    padding: .1rem;
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.cashback-icon {
    color: #1E8D78;
}

/*--------------------------------------------------------------
# Origin & Destination Drop Down
--------------------------------------------------------------*/
.select-wrap {
    position: relative;
}

    .select-wrap #input-origin::placeholder,
    .select-wrap #input-dest::placeholder,
    .select-location-wrap #input-location::placeholder,
    .select-ferry-wrap #input-ferry-origin::placeholder,
    .select-ferry-wrap #input-ferry-dest::placeholder {
        /*height: 45px;*/
        color: #000;
    }

    .select-wrap .select-ul {
        position: absolute;
        top: 4rem;
        left: 0;
        width: 390px;
        background: #FAFAFA;
        box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
        border-radius: 12px;
        display: none;
        list-style: none;
        z-index: 2;
        padding: 1.5rem;
        margin-bottom: 0;
        max-height: 360px;
        overflow-y: scroll;
        user-select: none;
    }

        .select-wrap .select-ul li {
            cursor: pointer;
        }

            .select-wrap .select-ul li .departure-items:hover {
                background: var(--background-hover);
            }

                .select-wrap .select-ul li .departure-items:hover .item {
                    color: var(--third-text-color);
                }

        .select-wrap .select-ul .option {
            display: flex;
            align-items: center;
        }

.select-ul .option .icon {
    position: absolute;
    top: 1.3rem;
}

.select-wrap .select-ul .recent-wrapper {
    background: #F5F5F5;
    border-radius: 16px;
    position: relative;
    padding: .8rem;
    width: 100%;
    margin-bottom: 1rem;
    color: var(--text-color);
    font-weight: 400;
}

.select-wrap .select-ul .departure-items {
    padding: .3rem .8rem;
    border-radius: 16px;
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
    width: 100%;
}

    .select-wrap .select-ul .departure-items .circle {
        border-radius: 50%;
        background-color: var(--third-background);
        border: 2px solid var(--background);
        width: 10px;
        height: 10px;
        margin-right: 1rem;
    }

.select-wrap .select-ul::-webkit-scrollbar {
    width: 5px;
}

.select-wrap .select-ul::-webkit-scrollbar-track {
    border-radius: 6px;
}

.select-wrap .select-ul::-webkit-scrollbar-thumb {
    background-color: #CCC;
    border-radius: 6px;
    background-clip: padding-box;
}

.select-wrap.active .select-ul {
    display: block;
}

/*--------------------------------------------------------------
# Index Section
--------------------------------------------------------------*/
#hero {
    background-image: url(../img/hero-bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    height: 50vh;
}

    #hero h1 {
        color: var(--third-text-color);
        text-shadow: 0px 2px 5px rgba(6, 90, 90, 0.75);
        font-weight: 700;
    }

    #hero .category ul.tabs {
        margin: 0;
        padding: 0;
        list-style: none;
    }

        #hero .category ul.tabs li {
            width: 168px;
            height: 48px;
            border-radius: 12px 12px 0px 0px;
            background: #F3F3F3;
            display: flex;
            cursor: pointer;
            transition: .3s ease all;
            align-items: center;
            justify-content: center;
            position: relative;
        }

            #hero .category ul.tabs li div {
                width: 80px;
                color: #888;
                text-align: center;
                font-size: 12px;
                font-weight: 500;
                letter-spacing: .15px;
                margin-left: 1.5rem;
                line-height: normal;
            }

            #hero .category ul.tabs li .icons {
                position: absolute;
                left: 15px;
                top: 12px;
            }

            #hero .category ul.tabs li.current {
                background: var(--third-background);
                transition: .3s ease all;
            }

                #hero .category ul.tabs li.current div {
                    color: var(--text-color);
                    transition: .3s ease all;
                    font-size: 14px;
                    font-weight: 500;
                    letter-spacing: .15px;
                    line-height: normal;
                }

    #hero .tab-content.current {
        transition: .3s ease all;
    }

    #hero .retreat-content {
        display: none;
    }

.origin-loading {
    background: linear-gradient(120deg, #E5E5E5 30%, #F9F9F9 38%, #F9F9F9 40%, #E5E5E5 48%);
    background-size: 200% 100%;
    background-position: 100% 0;
    animation: load89234 2s infinite;
}

.destination-loading {
    background: linear-gradient(120deg, #E5E5E5 30%, #F9F9F9 38%, #F9F9F9 40%, #E5E5E5 48%);
    background-size: 200% 100%;
    background-position: 100% 0;
    animation: load89234 2s infinite;
}

.location-loading {
    background: linear-gradient(120deg, #e5e5e5 30%, #F9F9F9 38%, #F9F9F9 40%, #e5e5e5 48%);
    background-size: 200% 100%;
    background-position: 100% 0;
    animation: load89234 2s infinite;
}


.search-panel .btn-search {
    background: var(--second-background);
    color: var(--third-text-color);
    border-radius: 12px;
    font-weight: 700;
    width: 100%;
}

    .search-panel .btn-search:hover {
        background: var(--second-background-hover);
        color: var(--third-text-color);
    }

.popular h4 {
    font-weight: 700;
    margin-bottom: 1rem;
}

.popular .gopass-bg {
    background: var(--thrid-background);
    padding: 1.5rem;
    border-radius: 12px;
}

.popular .popular-container {
    display: flex;
    flex-flow: row wrap;
    padding: 25px;
}

.popular .camp-bg {
    background-color: #FAF2E0;
    border-radius: 12px;
}

.info .gopass-bg {
    background: var(--third-background);
    padding: 1.5rem;
    border-radius: 12px;
}

.popular .popular-item {
    position: relative;
    flex: 0 1 calc(20% - 27px);
    margin: 8.5px;
}

.popular .img-campsite {
    width: 232px;
    height: 259px;
    border-radius: 12px;
}

.popular .detail-wrapper {
    width: 100%;
    height: 101px;
    border-radius: 0px 0px 12px 12px;
    background: rgba(0, 0, 0, 0.60);
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 1rem;
}

.popular .name {
    color: var(--third-text-color);
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

.popular .branch {
    height: 42px;
    font-size: 18px;
    font-weight: 700;
    line-height: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.popular .state {
    font-size: 14px;
    font-style: italic;
}

.popular .price {
    color: var(--third-text-color);
    font-size: 10px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.popular .fa-dollar-sign {
    color: #0E962C;
}

.popular .operator-bg {
    background: #E0F5FA;
    border-radius: 12px;
}

.popular .border-line {
    border-bottom: 1px solid #AAA;
    margin-top: 3rem;
}

.information {
    padding: 0;
}

    .information h4 {
        font-weight: 700;
        margin-bottom: 1rem;
    }

/*--------------------------------------------------------------
# Login Section
--------------------------------------------------------------*/
.login .login-container {
    background: var(--third-background);
    border: 2px solid #EEE;
    border-radius: 20px;
    position: relative;
}

    .login .login-container img {
        height: 100%;
    }

.login .login-wrapper {
    display: flex;
    flex-direction: column;
    padding: 1.5rem 0;
}

.login .login-half {
    width: 80%;
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin: 0 auto;
}

.login .btn-apps {
    border-radius: 6px;
    height: 50px;
    color: var(--third-text-color);
    font-size: 18px;
    font-weight: 700;
    display: flex;
    align-items: center;
    border: none;
    padding: 0;
    width: 318px;
    margin: 0 auto;
}

.login .btn-fb {
    background: #1877F2;
    margin-bottom: 1rem;
}

.login .btn-google {
    background: #4285F4;
}

.login .separator {
    position: absolute;
    height: 78%;
    left: 61%;
    top: 3%;
}

    .login .separator .line {
        position: absolute;
        left: 49%;
        top: 6%;
        bottom: 0;
        width: 1px;
        height: 100%;
        background: #AAA;
        z-index: 1;
    }

    .login .separator .word-wrapper {
        text-align: center;
        height: 12px;
        position: absolute;
        left: -7px;
        right: 0;
        top: 50%;
        margin-top: 16px;
        z-index: 2;
    }

        .login .separator .word-wrapper > span {
            color: #4E4E4E;
            letter-spacing: .15px;
            padding: 15px 0;
            font-weight: 300;
            background: var(--third-background);
        }

.login .btn-login {
    background: var(--second-background);
    border-radius: 12px;
    font-size: 18px;
    color: var(--third-text-color);
    width: 272px;
    font-weight: 700;
    letter-spacing: .15px;
    margin-bottom: 1.5rem;
}

    .login .btn-login:hover {
        background: var(--second-background-hover);
        color: var(--third-text-color);
    }

.login .account {
    letter-spacing: 0.15px;
    text-decoration-line: underline;
    color: var(--background);
    cursor: pointer;
}

    .login .account:hover {
        text-decoration-line: underline;
        color: var(--background-hover);
    }

/*--------------------------------------------------------------
# Register Section
--------------------------------------------------------------*/
.register .register-container {
    border-radius: 20px;
    border: 2px solid #EEE;
    background: var(--third-background);
    padding: 0.75rem 2rem 0.5rem 2rem;
}

.register hr {
    margin: 10px -33px 20px;
}

.register .btn-save {
    width: 272px;
    background: var(--second-background);
    color: var(--third-text-color);
    border-radius: 12px;
    font-size: 18px;
    font-weight: 700;
}

    .register .btn-save:hover {
        background: var(--second-background-hover);
        color: var(--third-text-color);
    }

/*--------------------------------------------------------------
# Reset Password Section
--------------------------------------------------------------*/
.resetpassword .reset-password {
    background: var(--third-background);
    border: 2px solid #EEE;
    border-radius: 20px;
    padding: 1.5rem;
}

.resetpassword .heading {
    font-size: 18px;
}

.resetpassword .sub-text {
    font-weight: 400;
    font-size: 16px;
    color: var(--text-color);
}

.resetpassword .password-strength {
    background: #CFCAC3;
    /*border: 1px solid #C7C7C7;*/
    border-radius: 12px;
    /*padding: 1.1rem;*/
}

.resetpassword .btn-genaral {
    width: 40%;
}

.progress-bar {
    background-color: var(--background);
    border-radius: 12px;
    padding: 1rem;
    color: var(--third-background);
}

/*--------------------------------------------------------------
# Profile Section
--------------------------------------------------------------*/
.menu-container {
    border-radius: 12px;
    border: 1px solid #AAA;
    background: var(--third-background);
}

    .menu-container .username {
        text-align: center;
        font-size: 18px;
        font-weight: 700;
        margin-top: 1rem;
    }

    .menu-container .user-container {
        padding: 2rem 0;
    }

.menu-item-container .wallet-container {
    padding: 1rem 2rem;
    display: flex;
    align-items: center;
    border-top: 1px solid #C4C4C4;
    border-bottom: 1px solid #C4C4C4;
}

.menu-item-container .menu-icons {
    color: var(--background);
    margin-right: 2rem;
}

.menu-item-container .right {
    margin-right: 2.3rem;
}

.menu-item-container .wallet-container .balance-title {
    font-size: 10px;
    letter-spacing: .15px;
}

.menu-item-container .wallet-container .balance {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .15px;
}

.menu-item-container a.current {
    background: var(--background);
    color: var(--third-background);
}

.menu-item-container .item-container {
    background: var(--third-background);
    padding: 2rem;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #C4C4C4;
}

    .menu-item-container .item-container.active {
        background: var(--background);
        color: var(--third-background);
    }

    .menu-item-container .item-container:last-child {
        border-radius: 0 0 12px 12px;
        border-bottom: unset;
    }

.profile-container {
    border-radius: 16px;
    border: 2px solid #EEE;
    background: var(--third-background);
}

.profile .profile-container .verify-mobile-container {
    background: #FF6224;
    color: var(--third-background);
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    margin-bottom: 1.5rem;
}

.profile .profile-container .btn-verify {
    width: 154.694px;
    height: 28px;
    background: var(--third-background);
    border-radius: 12px;
    color: #FF6224;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.profile .unverify {
    position: absolute;
    right: 9rem;
    top: 1.2rem;
    font-weight: 600;
    font-size: 12px;
    color: #EC2626;
}

.profile .r-1 {
    right: 1rem;
}

.profile .btn-verify-now {
    position: absolute;
    right: 1rem;
    top: .4rem;
    width: 107px;
    border-radius: 17px;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--second-background);
    color: var(--third-text-color);
}

    .profile .btn-verify-now:hover {
        background-color: var(--second-background-hover);
        color: var(--third-text-color);
    }

.profile .btn-change {
    position: absolute;
    right: 1rem;
    top: .4rem;
    width: 107px;
    border-radius: 17px;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--background);
    color: var(--third-text-color);
}

    .profile .btn-change:hover {
        background: var(--background-hover);
        color: var(--third-text-color);
        border: unset;
    }

.profile .processing {
    position: absolute;
    right: 1rem;
    top: 1.2rem;
    font-weight: 600;
    font-size: 12px;
    color: var(--second-background);
    display: flex;
    align-items: center;
}

.profile .verify {
    position: absolute;
    right: 1rem;
    top: 1.2rem;
    font-weight: 600;
    font-size: 12px;
    color: var(--background);
}

.profile .change-verify {
    position: absolute;
    right: 9rem;
    top: 1.2rem;
    font-weight: 600;
    font-size: 12px;
    color: var(--background);
}

.profile #change-password span {
    color: #AAA;
}

.profile #change-password .btn-change-password {
    width: 208px;
    background: var(--second-background);
    color: var(--third-text-color);
    font-weight: 700;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .profile #change-password .btn-change-password:hover {
        background: var(--second-background-hover);
        color: var(--third-text-color);
    }

#verifyIdentityCardModal .bx-id-card {
    font-size: 10rem;
    color: #AAA;
}

#verifyIdentityCardModal .file-img {
    max-width: 100%;
    height: auto;
    margin: 1rem 0;
}


#verifyIdentityCardModal .upload-control {
    padding: 1rem;
    height: 58px;
    border-radius: 12px;
    border: 1px solid #AAA;
}

#verifyIdentityCardModal .upload {
    position: absolute;
    right: 1rem;
    top: 1rem;
    color: #FF6C48;
    letter-spacing: .15px;
    font-weight: 700;
    cursor: pointer;
}

#verifyIdentityCardModal .btn-submit {
    width: 272px;
    background-color: var(--second-background);
    color: var(--third-text-color);
    font-size: 18px;
    font-weight: 700;
    border-radius: 12px;
    margin-top: 1.5rem;
}

#nationality .select2-container--bootstrap-5 .select2-selection {
    border-radius: 12px;
}

#issuer .select2-container--bootstrap-5 .select2-selection {
    border-radius: 12px;
}

#gender .select2-container--bootstrap-5 .select2-selection {
    border-radius: 12px;
}

#nationality .select2-container--bootstrap-5.select2-container--open.select2-container--below .select2-selection {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

#issuer .select2-container--bootstrap-5.select2-container--open.select2-container--below .select2-selection {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

/*--------------------------------------------------------------
# Forgot Password Secttion
--------------------------------------------------------------*/
.forgotpassword .password-container {
    background: var(--third-background);
    border: 2px solid #EEE;
    border-radius: 20px;
    padding: 2rem;
}

.forgotpassword .desc {
    letter-spacing: .15px;
    margin-bottom: 1rem;
}

.forgotpassword .btn-password:disabled {
    color: var(--third-text-color);
    background: #AAA;
    border-radius: 12px;
    font-weight: 700;
    letter-spacing: .15px;
    font-size: 18px;
    width: 272px;
    opacity: 1;
}

.forgotpassword .btn-password {
    background: var(--second-background);
    color: var(--third-text-color);
    width: 272px;
    border-radius: 12px;
    letter-spacing: .15px;
    font-weight: 700;
    font-size: 18px;
}

    .forgotpassword .btn-password:hover {
        background: var(--second-background-hover);
        color: var(--third-text-color);
    }

/*--------------------------------------------------------------
# Verify Mobile No Section
--------------------------------------------------------------*/
.verify-container {
    border-radius: 20px;
    border: 2px solid #EEE;
    background: var(--third-background);
    padding: 2rem;
}

.desc {
    line-height: 20.396px;
    font-size: 14px;
}

.verifymobile .tac {
    position: absolute;
    right: 1rem;
    top: 1.2rem;
    color: #FF6C48;
    letter-spacing: .15px;
    font-weight: 700;
    cursor: pointer;
    user-select: none;
}

.verifymobile .attempt {
    font-size: 14px;
    line-height: 20.396px;
}

.verifymobile .btn-submit:disabled {
    width: 272px;
    background-color: #AAA;
    color: var(--third-text-color);
    font-weight: 700;
    font-size: 18px;
    letter-spacing: .15px;
    border-radius: 12px;
}

.verifymobile .btn-submit {
    width: 272px;
    background-color: var(--second-background);
    color: var(--third-text-color);
    font-weight: 700;
    font-size: 18px;
    letter-spacing: .15px;
    border-radius: 12px;
}

    .verifymobile .btn-submit:hover {
        background-color: var(--second-background-hover);
        color: var(--third-text-color);
    }

.processing {
    position: absolute;
    right: 1rem;
    top: 1.7rem;
    font-weight: 600;
    font-size: 12px;
    color: var(--second-background);
}

.unverify {
    position: absolute;
    right: 1rem;
    top: 1.7rem;
    font-weight: 600;
    font-size: 12px;
    color: #EC2626;
}

.verify {
    position: absolute;
    right: 1rem;
    top: 1.7rem;
    font-weight: 600;
    font-size: 12px;
    color: var(--background);
}

#verifyPasswordModal .btn-submit:disabled {
    width: 272px;
    background-color: #AAA;
    color: var(--third-text-color);
    font-size: 18px;
    font-weight: 700;
    border-radius: 12px;
}

#verifyPasswordModal .btn-submit {
    width: 272px;
    background-color: var(--second-background);
    color: var(--third-text-color);
    font-size: 18px;
    font-weight: 700;
    border-radius: 12px;
}

    #verifyPasswordModal .btn-submit:hover {
        background-color: var(--second-background-hover);
        color: var(--third-text-color);
    }

/*--------------------------------------------------------------
# Go Wallet Section
--------------------------------------------------------------*/
.gowallet .wallet-header-container {
    background: #F9F9F9;
    color: #AAA;
    font-weight: 500;
}

.gowallet .wallet-listing {
    padding: 1.5rem 1rem;
}

.gowallet .cell-padding {
    padding: .6rem;
}

.gowallet .transaction-box {
    border-radius: 12px;
    border: 1px solid #EEE;
    background: #FFF;
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 1.5rem 1rem;
    margin-bottom: 1rem;
    height: 74px;
}

.gowallet .btn-topup {
    width: 191px;
    background-color: var(--second-background);
    font-weight: 700;
    color: #FCFCFC;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .gowallet .btn-topup:hover {
        background-color: var(--second-background-hover);
        color: #FCFCFC;
    }

/*--------------------------------------------------------------
# Top Up Section
--------------------------------------------------------------*/
.wallet-container.active {
    background-color: var(--background);
    color: var(--third-text-color);
}

.topup .topup-container {
    padding: 0 2rem 1rem;
}

.topup .btn-amount {
    background: var(--background);
    border-radius: 12px;
    color: var(--third-text-color);
    font-weight: 700;
    width: 123px;
}

    .topup .btn-amount:hover {
        background: var(--background-hover);
        color: var(--third-text-color);
        border: 0;
    }

    .topup .btn-amount.active {
        background: var(--second-background);
        color: var(--third-text-color);
        font-weight: 700;
        border: 0;
    }

.topup .btn-confirm:disabled {
    background: #AAA;
    width: 110px;
    border: unset;
    color: var(--third-background);
}

.topup .btn-confirm {
    background: var(--background);
    border-radius: 12px;
    color: var(--third-text-color);
    font-weight: 700;
    width: 110px;
    position: absolute;
    right: 10px;
    top: 6px;
    font-size: 16px;
}

    .topup .btn-confirm:hover {
        background: var(--background-hover);
        color: var(--third-text-color);
        border: 0;
    }

.topup .btn-cancel {
    border-radius: 12px;
    background: var(--second-background);
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.25);
    color: var(--third-text-color);
    width: 110px;
    position: absolute;
    right: 10px;
    top: 6px;
    font-size: 16px;
    display: none;
}

    .topup .btn-cancel:hover {
        background: var(--second-background-hover);
        color: var(--third-text-color);
    }

.topup .payment-container {
    padding: 1.5rem;
}

.payment-container .method-title {
    font-weight: 500;
    letter-spacing: .15px;
}

.topUpComplete .btn-ok {
    border-radius: 12px;
    background: var(--background);
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.25);
    width: 191px;
    color: var(--third-text-color);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

    .topUpComplete .btn-ok:hover {
        background: var(--second-background-hover);
        color: var(--third-text-color);
        border: 0;
    }

/*--------------------------------------------------------------
# Friends and Family Section
--------------------------------------------------------------*/
.fandf .item-box {
    border-radius: 12px;
    border: 1px solid #EEE;
    background: #FFF;
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.25);
    padding: .8rem;
    height: 88px;
    position: relative;
    word-break: break-all;
    margin-bottom: 1.5rem;
    transition: all .3s ease-in-out;
}

    .fandf .item-box:hover {
        transform: translateY(-3px);
    }

.fandf .body-main {
    height: 12rem;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 2rem;
}

.fandf .active {
    background: var(--background);
    color: #FFF;
}

.fandf .body-inner {
    text-align: center;
}

.fandf .bx-user {
    color: var(--background);
}

.fandf .slot {
    color: #AAA;
    font-weight: 700;
}

.fandf .btn-add {
    width: 138px;
    font-weight: 700;
    color: var(--third-text-color);
    background-color: var(--second-background);
    border-radius: 12px;
    margin-left: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

    .fandf .btn-add:hover {
        color: var(--third-text-color);
        background-color: var(--second-background-hover);
    }

.fandf .btn-delete {
    width: 112px;
    border-radius: 12px;
    border: 3px solid #AAA;
    background: #FFF;
    color: #AAA;
    font-weight: 700;
}

#deleteModal .btn-yes {
    width: 222px;
    background-color: var(--second-background);
    color: var(--third-text-color);
    font-size: 18px;
    font-weight: 700;
    border-radius: 12px;
}

    #deleteModal .btn-yes:hover {
        background-color: var(--second-background-hover);
        color: var(--third-text-color);
    }

#deleteModal .btn-no {
    cursor: pointer;
}

/*--------------------------------------------------------------
# My Booking Section
--------------------------------------------------------------*/
.tabs-justify {
    width: 100%;
    table-layout: fixed;
}

a.tab {
    position: relative;
    display: inline-block;
    transition: all ease .3s;
    padding: 1rem 3rem;
    transform: translate3d(0, 0, 0);
    white-space: nowrap;
    cursor: pointer;
    color: var(--text-color);
    text-align: center;
    width: 175px;
    font-weight: 500;
}

    a.tab:after {
        transition: all .3s cubic-bezier(1, 0, 0, 1);
        will-change: transform, opacity;
        position: absolute;
        content: '';
        height: 3px;
        bottom: 0px;
        left: 0px;
        right: 0px;
        border-radius: 3px 3px 0px 0px;
        opacity: 0;
        transform: scale(0, 1);
    }

    a.tab.active {
        border-bottom: 6px solid var(--background);
        color: var(--second-text-color);
    }

        a.tab .active:after {
            opacity: 1;
            transform: scale(1, 1);
        }

.bookinghistory .booking-item:hover {
    transform: translateY(-5px);
}

.bookinghistory .booking-item {
    border-radius: 12px;
    border: 1px solid #AAA;
    background: var(--third-background);
    margin-bottom: 1.5rem;
    transition: transform 250ms;
    will-change: transform;
}

.bookinghistory .company-container {
    border-radius: 12px 0px 0px 0px;
    background: #0D7EA1;
    padding: .6rem 1rem;
}

    .bookinghistory .company-container span {
        color: var(--third-text-color);
        font-size: 14px;
        font-weight: 500;
        letter-spacing: .15px;
    }

.bookinghistory .logo {
    margin-top: 1rem;
    margin-bottom: 2rem;
}

.bookinghistory .border-right {
    border-right: 1px solid #AAA;
}

.bookinghistory .border-bottom {
    border-bottom: 1px solid #AAA;
}

.bookinghistory .company-name {
    position: absolute;
    bottom: -40px;
    color: #888;
    font-size: 14px;
    letter-spacing: .15px;
}

.bookinghistory .date {
    font-size: 18px;
    font-weight: 700;
}

.bookinghistory .time {
    color: var(--fourth-text-color);
    font-size: 14px;
}

.bookinghistory .booking-no {
    color: #AAA;
    font-size: 14px;
    line-height: 18.506px;
    letter-spacing: .15px;
}

.bookinghistory .refund-status-box {
    font-weight: 700;
    padding: .6rem 1rem;
    border-radius: 12px 0px 0px 0px;
    font-size: 14px;
}

.bookinghistory .refund-status-label {
    color: var(--third-text-color);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .15px;
}

.bookinghistory .refund-status-pending {
    background: #FFBE2C;
}

.bookinghistory .refund-status-approved {
    background: var(--background);
}

.bookinghistory .refund-status-verifying {
    background: #be73c6;
}

.bookinghistory .refund-status-declined {
    background: #ff3b4e;
}

.bookinghistory .refund-status-refund_fail {
    background: #ff3b4e;
}

.bookinghistory .booking-hist-pagination {
    float: right;
}

    .bookinghistory .booking-hist-pagination a {
        color: var(--text-color);
        font-weight: 500;
    }

.bookinghistory .paginate_button {
    padding: 0 8px;
}

    .bookinghistory .paginate_button.active a {
        color: var(--background);
        font-weight: 500;
    }

.bookinghistory .color-pagination a {
    color: var(--background);
    font-weight: 500;
}

.bookinghistory .disabled a {
    color: #AAA;
}

.found {
    text-align: center;
}

    .found p {
        color: #CCC;
        font-weight: 500;
        text-align: center;
        font-size: 18px;
    }

/*--------------------------------------------------------------
# Ticket Section
--------------------------------------------------------------*/
.ticket .ticket-wrapper {
    background: var(--third-background);
    border: 2px solid #AAA;
    border-radius: 12px;
    box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.25);
    margin-bottom: 2.5rem;
}

.ticket .booking-no {
    color: #AAA;
    font-size: 16px;
    font-weight: 400;
}

.ticket .ticket-container {
    padding: 1.5rem 1.8rem 1rem;
}

.ticket .title {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .15px;
    margin-bottom: 1rem;
}

.ticket .booking {
    color: #AAA;
}

.ticket .btn-ticket:hover {
    background-color: var(--background);
    color: var(--third-text-color);
}

#ticket .btn-refund {
    width: 145px;
}

#ticket .refund-bp-btn {
    width: 145px;
}

#ticket .receipt-dl {
    width: 145px;
    text-align: center;
}

#ticket .ferryreceipt-dl {
    width: 145px;
    text-align: center;
}

.ticket .btn-ticket {
    background: var(--third-background);
    border: 2px solid var(--background);
    border-radius: 6px;
    color: var(--background);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: .15px;
    position: relative;
    transition: all .3s ease-in-out;
}

.ticket .btn-download {
    width: 196px;
}

.ticket .receipt-dl {
    width: 145px;
    text-align: center;
}

.ticket .ferryreceipt-dl {
    width: 145px;
    text-align: center;
}

.ticket .ticket-dl {
    cursor: pointer;
}

.ticket .ferryticket-dl {
    cursor: pointer;
}

.tab-content.current {
    transition: .3s ease all;
}

.ticket .icon {
    position: absolute;
    left: 10px;
    top: 10px;
}

.ticket .qr-container {
    background: var(--third-background);
    border: 1px solid #AAA;
    border-radius: 12px;
    margin-bottom: 1.5rem;
}

.ticket .qr-padding {
    padding: .8rem;
    border-bottom: 1px solid #AAA;
}

.ticket .timeline__line {
    position: absolute;
    left: 3px;
    top: 15px;
}

.ticket .timeline__circle {
    position: relative;
    top: 15px;
    left: -.9px;
}

.ticket .timeline__title {
    font-size: 16px;
    margin-left: .6rem;
}

.ticket .timeline__desc {
    color: #AAA;
    font-size: 12px;
    margin-left: .6rem;
}

.ticket .eb-qr-div {
    margin-top: 15px;
}

.ticket .bp-qr-div {
    margin-top: 15px;
}

.ticket .eb-qr-div img {
    margin: auto;
}

.ticket .bp-qr-div img {
    margin: auto;
}

.ticket .platform-container {
    padding: 1rem 0.8rem 0.5rem;
    border-bottom: 1px solid #AAA;
}

.ticket .time {
    color: var(--fourth-text-color);
    font-size: 14px;
}

.ticket .date-text {
    font-weight: 600;
    font-size: 14px;
    margin-bottom: .8rem;
}

.ticket .passenger-container {
    padding: .6rem .8rem;
    border-bottom: 1px solid #AAA;
}

.ticket .passenger-item-text {
    color: #4E4E4E;
    font-size: 18px;
    width: 143px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    letter-spacing: .15px;
}

.ticket .id-text {
    color: #666;
}

.ticket .seat-box {
    border: 1px solid #05999C;
    width: 71px;
    height: 47px;
}

.ticket .seat-title {
    background: #05999C;
    color: var(--third-text-color);
    height: 18px;
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    letter-spacing: .15px;
}

.ticket .seat-no {
    color: #4E4E4E;
    font-size: 18px;
    letter-spacing: 0.15px;
}

.ticket .info-container {
    padding: .8rem .8rem 1rem;
}

.ticket .ticket-item {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: .15px;
    color: #4E4E4E;
}

.ticket .operator {
    color: var(--text-color);
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
}

.ticket .collect-ferry {
    color: #4E4E4E;
    text-align: center;
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
}

.ticket .camp-wrappper {
    border-radius: 16px;
    border: 2px solid #AAA;
    background: #FFF;
}

.ticket .branch-name {
    color: #444;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
}

.ticket .loc-label {
    color: #ACACAC;
    font-size: 18px;
    font-style: italic;
    font-weight: 400;
}

.ticket .date-label {
    color: #ACACAC;
    font-size: 12px;
    font-weight: 400;
    text-transform: capitalize;
}

.ticket .category-img {
    width: 147px;
    height: 147px;
    border-radius: 8px;
}

.ticket h6 {
    color: #444;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
}
/*--------------------------------------------------------------
# Insurance Section
--------------------------------------------------------------*/
.insurance .insurance-container {
    border-radius: 12px;
    background: var(--third-background);
    padding: 1rem 1rem 2rem;
}

    .insurance .insurance-container .title {
        letter-spacing: .15px;
        margin-bottom: 1rem;
    }

    .insurance .insurance-container .desc {
        color: #777;
        font-size: 14px;
        text-align: justify;
        line-height: 21px;
    }

.insurance .benefit-container {
    display: flex;
    gap: 28px;
    margin-bottom: .8rem;
}

    .insurance .benefit-container .title {
        color: var(--text-color);
        font-weight: 700;
        margin-bottom: 0;
        line-height: normal;
    }

    .insurance .benefit-container .cash-flow {
        color: #888;
        line-height: normal;
    }

.insurance .btn-no {
    margin-right: 3rem;
}

.insurance .btn-addin {
    width: 222px;
    border-radius: 12px;
    color: var(--third-text-color);
    background-color: var(--second-background);
    font-weight: 700;
    font-size: 18px;
}

    .insurance .btn-addin:hover {
        color: var(--third-text-color);
        background-color: var(--second-background-hover);
    }


.insurance .information-container {
    background-color: #F9F9F9;
    padding: 1rem 1.5rem;
    border-radius: 12px;
    margin: 1.5rem 0;
}

    .insurance .information-container p {
        font-size: 14px;
        color: #777;
        line-height: 21px;
        margin-bottom: 0;
        text-align: justify;
    }

    .insurance .information-container .link {
        color: #04549F;
    }

.insurance .transaction-container {
    background-color: unset;
}

.insurance .illustrations-container {
    padding: 1.5rem;
    border: 1px solid #AAA;
    font-size: 14px;
    line-height: 20px;
    color: #777;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 12px;
    position: relative;
}


    .insurance .illustrations-container h3 {
        font-size: 14px;
        font-family: Roboto;
        margin-bottom: 0;
    }

    .insurance .illustrations-container i {
        color: var(--background);
        transition: transform .3s ease-in-out;
    }

.insurance .illustrations-item {
    display: none;
    padding: 1.5rem;
    border-left: 1px solid #AAA;
    border-right: 1px solid #AAA;
    border-bottom: 1px solid #AAA;
    font-size: 14px;
    line-height: 20px;
    border-radius: 0 0 12px 12px;
    position: relative;
    color: #777;
}

.insurance .illustrations-container.active {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

    .insurance .illustrations-container.active .arrow-icon {
        transform: rotate(-180deg);
    }

.insurance .illustrations-item.show {
    display: block;
}

/*--------------------------------------------------------------
# Refund Section
--------------------------------------------------------------*/
#refundModal .modal-title {
    font-weight: 700;
}

#refundModal .modal-header {
    border-bottom: 1px solid #DDD;
    padding: 1.5rem 2rem;
}

#refundModal .modal-body {
    padding: 0;
}

#refundModal .refund-container {
    border-radius: 0px 0px 0px 16px;
    background: #F9F9F9;
    padding: 1.5rem 2rem;
    height: 100%;
    position: relative;
}

    #refundModal .refund-container .title {
        font-size: 14px;
        color: #888;
        line-height: 18.506px;
        letter-spacing: .15px;
        font-weight: 400;
    }

    #refundModal .refund-container .refund-item {
        line-height: 18.506px;
        letter-spacing: .15px;
    }

    #refundModal .refund-container .timeline__line {
        left: 0;
    }

    #refundModal .refund-container .timeline__circle {
        left: -3px;
    }

    #refundModal .refund-container .timeline__title {
        margin-left: 1rem;
        color: var(--text-color);
        font-weight: 400;
        font-size: 16px;
    }

    #refundModal .refund-container .timeline__ellipsis {
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
    }

    #refundModal .refund-container .refund-desc {
        color: #AAA;
        font-size: 14px;
        line-height: 19.136px;
        text-align: center;
        position: absolute;
        left: 0;
        bottom: 25px;
    }

#refund_reason {
    height: 157px;
}

#refundModal input[type="file"] {
    height: 48px;
}

    #refundModal input[type="file"]::-webkit-file-upload-button {
        height: 48px;
    }

#refundModal .refund-method-desc {
    color: #AAA;
}

#refundModal .btn-submit {
    border-radius: 12px;
    background: var(--second-background);
    font-weight: 700;
    color: var(--third-text-color);
    width: 242px;
}

    #refundModal .btn-submit:hover {
        background: var(--second-background-hover);
        color: var(--third-text-color);
    }


/*Refund BP*/
#refundBPModal .modal-title {
    font-weight: 700;
}

#refundBPModal .modal-header {
    border-bottom: 1px solid #DDD;
    padding: 1.5rem 2rem;
}

#refundBPModal .modal-body {
    padding: 0;
}

#refundBPModal .refund-container {
    border-radius: 0px 0px 0px 16px;
    background: #F9F9F9;
    padding: 1.5rem 2rem;
    height: 100%;
    position: relative;
}

    #refundBPModal .refund-container .title {
        font-size: 14px;
        color: #888;
        line-height: 18.506px;
        letter-spacing: .15px;
        font-weight: 400;
    }

    #refundBPModal .refund-container .refund-item {
        line-height: 18.506px;
        letter-spacing: .15px;
    }

    #refundBPModal .refund-container .timeline__line {
        left: 0;
    }

    #refundBPModal .refund-container .timeline__circle {
        left: -3px;
    }

    #refundBPModal .refund-container .timeline__title {
        margin-left: 1rem;
        color: var(--text-color);
        font-weight: 400;
        font-size: 16px;
    }

    #refundBPModal .refund-container .timeline__ellipsis {
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
    }

    #refundBPModal .refund-container .refund-desc {
        color: #AAA;
        font-size: 14px;
        line-height: 19.136px;
        text-align: center;
        position: absolute;
        left: 0;
        bottom: 25px;
    }

#refund_bp_reason {
    height: 157px;
}

#refundBPModal input[type="file"] {
    height: 48px;
}

    #refundBPModal input[type="file"]::-webkit-file-upload-button {
        height: 48px;
    }

#refundBPModal .refund-method-desc {
    color: #AAA;
}

#refundBPModal .btn-submit {
    border-radius: 12px;
    background: var(--second-background);
    font-weight: 700;
    color: var(--third-text-color);
    width: 242px;
}

    #refundBPModal .btn-submit:hover {
        background: var(--second-background-hover);
        color: var(--third-text-color);
    }

/*--------------------------------------------------------------
# FAQ Section
--------------------------------------------------------------*/
.faq .faq-list {
    padding: 0 100px;
}

    .faq .faq-list ul {
        padding: 0;
        list-style: none;
    }

    .faq .faq-list li + li {
        margin-top: 15px;
    }

    .faq .faq-list li {
        padding: 20px;
        background: #fff;
        border-radius: 4px;
        position: relative;
    }

    .faq .faq-list a {
        display: block;
        position: relative;
        line-height: 24px;
        font-weight: 500;
        outline: none;
        cursor: pointer;
    }

    .faq .faq-list .icon-show,
    .faq .faq-list .icon-close {
        font-size: 24px;
        position: absolute;
        right: 0;
        top: 0;
    }

    .faq .faq-list p {
        margin-bottom: 0;
        padding: 10px 0 0 0;
    }

    .faq .faq-list .icon-show {
        display: none;
    }

    .faq .faq-list a.pad-0 {
        padding: 0;
    }

    .faq .faq-list a.collapsed {
        transition: 0.3s;
    }

    .faq .faq-list a.collapse:hover {
        color: var(--background);
    }

    .faq .faq-list a.collapsed .icon-show {
        display: inline-block;
    }

    .faq .faq-list a.collapsed .icon-close {
        display: none;
    }

@media (max-width: 1200px) {
    .faq .faq-list {
        padding: 0;
    }
}

@media (max-width: 425px) {
    .faq .faq-list .icon-show,
    .faq .faq-list .icon-close {
        right: -18px;
    }
}

/*--------------------------------------------------------------
# Terms Of Use Section
--------------------------------------------------------------*/
.tou .tou-wrapper {
    background-color: #F4F1EC;
    border-radius: 12px;
    padding: 1rem;
}

    .tou .tou-wrapper .content {
        color: #777;
    }

/*--------------------------------------------------------------
# Privacy Policy Section
--------------------------------------------------------------*/
.pp .pp-wrapper {
    background-color: #F4F1EC;
    border-radius: 12px;
    padding: 1rem;
}

    .pp .pp-wrapper .content {
        color: #777;
    }

.pp td, th {
    border: 1px solid #DDD;
    text-align: left;
    padding: 8px;
    vertical-align: top;
}

/*--------------------------------------------------------------
# seat-layout-wrapper-wide
--------------------------------------------------------------*/

.airportticket .seat-wrapper .seat-layout-wrapper-wide #main {
    border-radius: 5px;
    background: #E7E7E7;
    height: 9px;
    width: 85%;
    margin: 0 auto 10px;
}

.airportticket .seat-wrapper .seat-layout-wrapper-wide .driver-icon {
    text-align: right;
    margin-bottom: 10px;
}

.airportticket .seat-wrapper .seat-layout-wrapper-wide .seats {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    padding: 0;
}

    .airportticket .seat-wrapper .seat-layout-wrapper-wide .seats .seat {
        /*flex: 1;*/
        position: relative;
        width: 38px;
    }

    .airportticket .seat-wrapper .seat-layout-wrapper-wide .seats .seat-no {
        font-size: 15px;
        width: 29px;
        margin: 0 auto;
        text-align: center;
    }

    .airportticket .seat-wrapper .seat-layout-wrapper-wide .seats .available-icon {
        width: 38px;
        height: 38px;
    }

.seat + .seat {
    margin-left: 5px;
    min-width: 38px;
}

.busticket .seat-wrapper .selected-seat {
    position: relative;
    border-radius: 12px;
    border: 1px solid #DFDFDF;
    background: var(--third-background);
}

.busticket .seat-wrapper #selected-seat {
    display: none;
}

.busticket .seat-wrapper .selected-seat .selected-header {
    border-radius: 12px 12px 0 0;
    background: var(--background);
}

.busticket .seat-wrapper .selected-seat .seat-header {
    font-size: 12px;
    color: var(--third-text-color);
    padding: 10px 10px 5px;
}

.busticket .seat-wrapper .selected-seat .seat-item {
    font-size: 16px;
    color: var(--text-color);
    padding: 0;
    margin-bottom: 10px;
}

.busticket .seat-wrapper .selected-seat .seat-item-wrapper {
    background-color: var(--third-background);
    border-radius: 12px;
    min-height: 144px;
    padding: 1rem;
}

.busticket .seat-wrapper .selected-seat .btn-seat-confirm:disabled {
    background-color: var(--fifth-background);
    color: var(--third-text-color);
    border-radius: 12px;
    font-size: 18px;
    font-weight: 700;
    width: 166px;
}

.busticket .seat-wrapper .selected-seat .btn-seat-confirm {
    background-color: var(--second-background);
    color: var(--third-text-color);
    border-radius: 12px;
    font-size: 18px;
    font-weight: 700;
    width: 166px;
}

    .busticket .seat-wrapper .selected-seat .btn-seat-confirm:hover {
        background-color: var(--second-background-hover);
        color: var(--third-text-color);
    }

.busticket .seat-wrapper .selected-seat .btn-seat-no-trip-confirm:disabled {
    background-color: var(--fifth-background);
    color: var(--third-text-color);
    border-radius: 12px;
    font-size: 18px;
    font-weight: 700;
    width: 166px;
}

.busticket .seat-wrapper .selected-seat .btn-seat-no-trip-confirm {
    background-color: var(--second-background);
    color: var(--third-text-color);
    border-radius: 12px;
    font-size: 18px;
    font-weight: 700;
    width: 166px;
}

    .busticket .seat-wrapper .selected-seat .btn-seat-no-trip-confirm:hover {
        background-color: var(--second-background-hover);
        color: var(--third-text-color);
    }

#returnTripModal .btn-return-confirm {
    width: 200px;
    margin: 0 auto;
    background-color: var(--second-background);
    color: var(--third-text-color);
}

    #returnTripModal .btn-return-confirm:hover {
        background-color: var(--second-background-hover);
        color: var(--third-text-color);
    }

#returnTripModal .modal-content {
    margin: 0 auto;
    background: #F9F9F9;
}

#returnTripModal .modal-header {
    border-bottom: 1px solid #EEE;
    background: #FFF;
    border-radius: 16px 16px 0px 0px;
    justify-content: center;
}

#pickTypeModal .modal-dialog {
    position: fixed;
    right: 0;
    margin: auto;
    width: 417px;
    height: 100%;
    -webkit-transform: translate3d(0%, 0, 0);
    -ms-transform: translate3d(0%, 0, 0);
    -o-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0);
}

#pickTypeModal .modal-content {
    height: 100%;
    border: none;
    border-radius: 0;
    overflow-y: auto;
}

#pickTypeModal .modal-header {
    height: 97px;
    background-color: var(--background);
    border-radius: 0;
    justify-content: center;
    position: relative;
}

#pickTypeModal .modal-title {
    color: var(--third-text-color);
    font-size: 18px;
    font-weight: 700;
}

#pickTypeModal .modal-header .close {
    position: absolute;
    right: 10px;
}

#pickTypeModal .modal-body {
    background-color: var(--third-background);
    padding: 2rem 2rem 4rem;
}

    #pickTypeModal .modal-body .type-wrapper {
        height: 90%;
    }

    #pickTypeModal .modal-body .title {
        color: var(--fourth-text-color);
        font-weight: 700;
        font-size: 16px;
    }


#pickTypeModal .btn-type-confirm {
    width: 200px;
    margin: 0 auto;
    background-color: var(--second-background);
    color: var(--third-text-color);
}

    #pickTypeModal .btn-type-confirm:hover {
        background-color: var(--second-background-hover);
        color: var(--third-text-color);
    }

    #pickTypeModal .btn-type-confirm:disabled {
        background-color: var(--fifth-background);
        color: var(--third-text-color);
    }

#skipModal .modal-header {
    border-radius: 16px 16px 0px 0px;
    border: 1px solid #EEE;
    background: var(--third-background);
    justify-content: center;
}

#skipModal .modal-title {
    font-weight: 700;
}

#skipModal .btn-yes {
    width: 200px;
    margin: 0 auto;
    background-color: var(--second-background);
    color: var(--third-text-color);
}

    #skipModal .btn-yes:hover {
        background-color: var(--second-background-hover);
        color: var(--third-text-color);
    }

/*--------------------------------------------------------------
# Passenger Detail Section
--------------------------------------------------------------*/
.trip-detail {
    background: var(--third-background);
    border: 1px solid #EEE;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.25);
    border-radius: 20px;
}

    .trip-detail .trip-detail-main {
        min-height: 3rem;
        height: 0;
        padding: .8rem 1.5rem 2rem;
    }

        .trip-detail .trip-detail-main .title {
            font-size: 16px;
            margin-bottom: 1.5rem;
        }

    .trip-detail .trip-item {
        position: relative;
    }

        .trip-detail .trip-item img {
            position: absolute;
            left: 0;
            top: 5px;
        }

        .trip-detail .trip-item .trip-detail-info {
            margin-left: 10rem;
        }

    .trip-detail .arrow {
        display: inline-block;
        width: 10px;
        height: 10px;
        margin-left: 5px;
        border: solid #888888;
        border-width: 0 2px 2px 0;
        transform: rotate(45deg);
        transition: transform 0.3s;
        float: right;
        margin-top: 5px;
    }

        .trip-detail .arrow.up {
            transform: rotate(-135deg);
        }

.head-title {
    color: var(--fourth-text-color);
    font-size: 12px;
    line-height: normal;
}

.head-item {
    font-weight: 600;
}

.code {
    color: #888;
    font-size: 14px;
    margin-bottom: .5rem;
}

.trip-detail .service-name {
    color: #444;
    font-size: 16px;
    font-weight: 500;
}

.trip-detail .service-provider-logo .company-img {
    width: 69px;
    height: 69px;
    border-radius: 12px;
}

.route-timeline-item-wrapper {
    padding: 4px 12px;
}

.trip-detail .item {
    display: flex;
    align-items: center;
    position: relative;
}

.trip-detail .icon {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 1rem;
    margin-left: 2px;
    border: 2px solid var(--primary-background);
}

.trip-detail .location-icon {
    margin-right: 1rem;
}

.trip-detail .station {
    font-size: 16px;
    font-weight: 400;
    line-height: 16.9px;
    color: #444;
    width: 100%;
    min-height: 3em;
    overflow: hidden;
    text-overflow: ellipsis;
    display: flex;
    align-items: center;
    text-align: start;
}

.trip-detail .dotted-line {
    height: 30px;
    border-left: 3px dotted var(--primary-background);
    margin: 5px 0 0 5px;
}

.trip-detail .title-date {
    color: #888888;
    font-size: 12px !important;
    font-weight: 400;
}

.trip-detail .dashed-line {
    border: none;
    border-top: 2px dashed #000;
    margin: 20px 0;
}

.passengerdetail .passengerdetail-container {
    border-radius: 12px;
    background: var(--third-background);
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.25);
    padding: .5rem 1.5rem 1.5rem;
    margin-bottom: 2rem;
}

    .passengerdetail .passengerdetail-container .title {
        letter-spacing: .15px;
        margin-bottom: 1.5rem;
    }

    .passengerdetail .passengerdetail-container .passenger-sort {
        font-weight: 700;
        font-size: 18px;
        letter-spacing: .15px;
        margin-bottom: .3rem;
    }

    .passengerdetail .passengerdetail-container .form-check-label {
        color: #777;
        font-size: 14px;
    }

.passengerdetail .confirmation-wrapper {
    background: var(--third-background);
    border-radius: 12px;
    padding: 1rem 2rem 2rem;
}

.passengerdetail .confirmation-text {
    color: #777;
    margin-bottom: 1.5rem;
}

    .passengerdetail .confirmation-text .link {
        color: #04549F;
        text-decoration: underline;
    }

.passengerdetail .confirmation-wrapper .btn-confirm {
    color: var(--third-text-color);
    background-color: var(--second-background);
    border-radius: 12px;
    width: 181px;
}

    .passengerdetail .confirmation-wrapper .btn-confirm:hover {
        color: var(--third-text-color);
        background-color: var(--second-background-hover);
    }

.accordion {
    background-color: #E31C1C;
    color: var(--third-background);
    cursor: pointer;
    padding: 1rem;
    width: 100%;
    border: none;
    text-align: left;
    outline: none;
    transition: 0.4s;
}

    .accordion:after {
        content: '\002B';
        color: var(--third-text-color);
        font-weight: bold;
        float: right;
        margin-left: 5px;
    }

    .accordion.active:after {
        content: "\2212";
    }

    .accordion.active, .accordion:hover {
        background-color: #E31C1C;
    }

.panel {
    padding: 0 1rem;
    background-color: var(--third-background);
    margin-bottom: 2rem;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
    color: #777;
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
}

.break-all-word {
    word-break: break-all;
}



/*--------------------------------------------------------------
# Payment Process Error Pending Booking Section
--------------------------------------------------------------*/
#ProcessBookingLoading {
    background: #FFFFFF;
    padding-top: 2rem;
    padding-bottom: 2rem;
    margin-top: 4rem;
}

    #ProcessBookingLoading .align-content-center {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #ProcessBookingLoading .loading-gif {
        text-align: right;
    }

    #ProcessBookingLoading .loading-width {
        max-width: 5rem;
        padding-right: 20px;
    }

    #ProcessBookingLoading .text-process {
        font-size: 24px;
        font-weight: 700;
        color: #444444;
    }

    #ProcessBookingLoading .text-may {
        font-size: 16px;
        font-weight: 400;
        color: #AAAAAA;
    }

@media screen and (max-width: 380px) {
    #ProcessBookingLoading {
        margin-top: 2rem;
        margin-bottom: 2rem;
    }

        #ProcessBookingLoading .text-process {
            font-size: 19px;
        }

        #ProcessBookingLoading .text-may {
            font-size: 14px;
        }
}

/*--------------------------------------------------------------
# Reset Password
--------------------------------------------------------------*/
#resetpassword .reset-password {
    background: #FFFFFF;
    border: 2px solid #EEEEEE;
    border-radius: 20px;
    padding: 1.5rem;
}

#resetpassword .heading {
    font-size: 18px;
}

#resetpassword .sub-text {
    font-weight: 400;
    font-size: 16px;
    color: #444444;
}

#resetpassword .password-strength {
    background: #CFCAC3;
    /*border: 1px solid #C7C7C7;*/
    border-radius: 12px;
    /*padding: 1.1rem;*/
}

#resetpassword .btn-genaral {
    width: 40%;
}

.progress-bar {
    background-color: #10C6CA;
    border-radius: 12px;
    padding: 1rem;
    color: #FFFFFF;
}

/*--------------------------------------------------------------
# Countdown Timer
--------------------------------------------------------------*/
.countdown-timer {
    height: 41px;
    width: 100%;
    background-color: #FF6224;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .countdown-timer.warning {
        border: 5px solid yellow;
    }

        .countdown-timer.warning.alerting {
            border: 5px solid red;
            animation: blinker 1s linear infinite;
        }

@keyframes blinker {
    50% {
        opacity: 0;
    }
}


.countdown-text {
    color: #9E9E9E;
}

.time1-text {
    color: var(--third-text-color);
    width: auto;
    font-size: 17px;
    font-weight: bold;
}

.time-text {
    font-size: 17px;
    font-weight: bold;
    color: var(--third-text-color);
    width: auto;
}

.timer-icon {
    width: auto;
    padding: 0;
    font-size: 23px !important;
    color: var(--third-text-color);
}

#passengerdetail-timer .timer-width {
    flex: 0 0 auto;
    width: 100%;
}

#paymentdetail-timer .timer-width {
    flex: 0 0 auto;
    width: 100%;
}

#passengerdetailF-timer .timer-width {
    flex: 0 0 auto;
    width: 100%;
}
