.page::-webkit-scrollbar {
    display: none
}

.page {
    -ms-overflow-style: none;
    scrollbar-width: none
}

.lock {
    opacity: .5;
    pointer-events: none
}

#mainPanel {
    height: 100%;
    display: flex;
    justify-content: space-between
}

    #mainPanel .search-panel {
        position: relative;
        width: 400px
    }

    #mainPanel .flight-panel {
        height: 100%;
        width: 100%;
        flex: 1
    }

    #mainPanel .filter-panel {
        position: relative;
        width: 400px
    }

.search-box {
    height: 100%;
    width: 400px;
    padding: 30px 30px 50px 30px;
    overflow-y: auto;
    background: #fff;
    box-shadow: 1px 5px 5px rgba(0,0,0,.2);
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    border-left: 1px solid #e0e0e0
}

    .search-box.keep {
        display: block !important
    }

    .search-box h1 {
        margin-top: 0;
        font-size: 1.715rem
    }

    .search-box .form-group {
        margin-bottom: 10px
    }

.flight-box {
    height: 100%;
    overflow-y: auto
}

.filter-box {
    height: 100%;
    width: 400px;
    padding: 30px 30px 50px 30px;
    overflow-y: auto;
    background: #fff;
    box-shadow: -1px 5px 5px rgba(0,0,0,.2);
    z-index: 1;
    position: absolute;
    top: 0;
    right: 0
}

    .filter-box h1 {
        margin-top: 0;
        font-size: 1.715rem
    }

.booking-panel {
    width: 960px;
    margin: auto
}

.hidden-scroll::-webkit-scrollbar {
    width: 6px
}

.hidden-scroll::-webkit-scrollbar-track {
    background: rgba(0,0,0,0)
}

.hidden-scroll::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: rgba(0,0,0,0);
    cursor: pointer
}

.hidden-scroll:hover::-webkit-scrollbar {
    width: 6px
}

.hidden-scroll:hover::-webkit-scrollbar-track {
    background: rgba(0,0,0,.05)
}

.hidden-scroll:hover::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: rgba(0,0,0,.2);
    cursor: pointer
}

.notify-warning {
    padding-bottom: 30px !important
}

.box-title {
    position: relative
}

    .box-title > .box-actions {
        position: absolute;
        top: 0;
        right: 0;
        margin: auto;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }

.leg-title {
    display: none
}

#searchForm {
    position: relative
}

#selectPax .dropdown-menu {
    width: 100%
}

#selectPax .select-pax-menu {
    padding: 15px
}

    #selectPax .select-pax-menu .select-pax-item {
        margin-bottom: 12px;
        overflow: hidden
    }

        #selectPax .select-pax-menu .select-pax-item .select-pax-item-text {
            float: left
        }

        #selectPax .select-pax-menu .select-pax-item .select-pax-item-input {
            float: right;
            width: 150px
        }

            #selectPax .select-pax-menu .select-pax-item .select-pax-item-input input {
                text-align: center;
                height: 35px;
            }

#selectCity {
    padding: 15px 5px;
    box-sizing: border-box;
    width: 100%;
    z-index: 9999
}

    #selectCity .tab-pane {
        width: 100%;
        max-height: 370px;
        overflow-x: auto
    }

    #selectCity ul.airport-list {
        padding-left: 0;
        padding-right: 10px
    }

        #selectCity ul.airport-list li {
            list-style: none;
            padding: 5px 5px;
            cursor: pointer
        }

            #selectCity ul.airport-list li:hover {
                background: #1f2d3d
            }

#toolBar {
    position: relative;
    margin-bottom: 15px;
    padding: 7px 10px;
    background-color: #fff;
    border: 0 solid transparent;
    border-radius: .286rem;
    box-shadow: 0 1px 1px rgba(0,0,0,.05);
    display: flex;
    align-items: center
}

    #toolBar button {
        margin-left: 10px
    }

#continueSelect {
    color: #ff6a00;
    padding-top: 20px
}

    #continueSelect > .icon {
        animation: blinker 1s linear infinite
    }

#sortBar {
    flex: 1
}

    #sortBar ul {
        flex: 1;
        padding-left: 0;
        margin-bottom: 0
    }

        #sortBar ul li {
            list-style: none;
            text-align: center;
            display: inline-block;
            padding: 0 10px
        }

            #sortBar ul li a.active {
                font-weight: 400;
                color: #ff9800
            }

                #sortBar ul li a.active.asc::after {
                    display: inline-block;
                    width: 0;
                    height: 0;
                    margin-left: .2431rem;
                    vertical-align: .2431rem;
                    content: "";
                    border-top: 0;
                    border-right: .286rem solid transparent;
                    border-bottom: .286rem solid;
                    border-left: .286rem solid transparent
                }

                #sortBar ul li a.active.desc::after {
                    display: inline-block;
                    width: 0;
                    height: 0;
                    margin-left: .2431rem;
                    vertical-align: .2431rem;
                    content: "";
                    border-top: .286rem solid;
                    border-right: .286rem solid transparent;
                    border-bottom: 0;
                    border-left: .286rem solid transparent
                }

#btnSortFlight {
    display: none
}

.flight-summary {
    position: relative;
    margin-bottom: 10px;
    padding: 10px;
    background-color: #2196f3;
    border: 0 solid transparent;
    border-radius: .286rem;
    box-shadow: 0 1px 1px rgba(0,0,0,.05);
    color: #fff
}

    .flight-summary h4 {
        margin-top: 0;
        margin-bottom: 0;
        color: #fff
    }

.data-group {
    margin-bottom: 30px
}

    .data-group:last-child {
        margin-bottom: 0
    }

.fare-data {
    position: relative;
    margin-bottom: 10px;
    padding: 10px;
    background-color: #fff;
    border: 0 solid transparent;
    border-radius: .286rem;
    box-shadow: 0 1px 1px rgba(0,0,0,.05)
}

    .fare-data.selected {
        border: 2px solid #4caf50;
        box-shadow: 0 2px 12px 0 rgba(0,0,0,.2)
    }

        .fare-data.selected .ribbon {
            border-radius: 2px 0
        }

    .fare-data.global {
        margin-bottom: 25px;
        padding: 10px 20px
    }

    .fare-data:last-child {
        margin-bottom: 0
    }

    .fare-data .ribbon {
        width: 60px;
        height: 60px;
        border-radius: .286rem 0
    }

    .fare-data .ribbon-corner:before {
        border-width: 20px
    }

    .fare-data .ribbon-corner .ribbon-inner {
        width: 25px;
        height: 25px;
        line-height: 25px
    }

.fare-info {
    display: flex;
    margin-top: 10px
}

    .fare-info .detail-button {
        display: none
    }

    .fare-info .select-option {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        flex: auto
    }

        .fare-info .select-option .btn-select {
            margin-left: 5px
        }

        .fare-info .select-option .dropdown-menu {
            max-height: 300px;
            overflow: auto
        }

    .fare-info .right-button {
        width: 100%;
        text-align: right
    }

    .fare-info .seat-remaining {
        border: 1px solid #dedede;
        border-radius: 4px;
        padding: 5px 5px;
        text-align: center;
        font-size: 12px;
        line-height: 1;
        width: 35px;
        display: flex;
        flex-wrap: wrap;
        align-items: center
    }

        .fare-info .seat-remaining > div {
            flex: 100%
        }

    .fare-info .promo-fare {
        color: #f00;
        text-align: right
    }

        .fare-info .promo-fare > .promo-bound {
            background: #f00;
            color: #fff;
            text-align: center;
            border-radius: 100px;
            display: inline-block;
            padding: 2px 10px;
            margin-bottom: 3px
        }

    .fare-info .btn-more-option {
        background: #fff;
        text-align: right;
        padding: 0;
        margin-right: 5px
    }

        .fare-info .btn-more-option .faretitle {
            display: none
        }

        .fare-info .btn-more-option .price {
            font-size: 16px;
            line-height: 1
        }

    .fare-info .left-button {
        display: flex;
        align-items: center
    }

        .fare-info .left-button > .btn {
            margin-right: 5px
        }

        .fare-info .left-button .policy-panel {
            margin-left: 5px
        }

    .fare-info .fare-option {
        display: flex;
        justify-content: space-between;
        color: #333;
        line-height: 18px
    }

        .fare-info .fare-option .fare-seat {
            padding-left: 40px;
            text-align: right
        }

            .fare-info .fare-option .fare-seat .seat {
                background: #ff6a00;
                font-size: 13px;
                color: #fff;
                padding: 2px 5px;
                border-radius: 3px
            }

        .fare-info .fare-option .price {
            font-weight: 400
        }

        .fare-info .fare-option.hidden {
            display: none !important
        }

    .fare-info .detail-button {
        display: none
    }

.fare-data.domestic .fare-info {
    padding-top: 10px;
    border-top: 1px solid #dedede
}

.flight-group {
    margin-bottom: 10px
}

    .flight-group:last-child {
        margin-bottom: 0
    }

    .flight-group .group-info {
        font-size: 16px;
        font-weight: 300;
        padding: 5px 0;
        display: flex;
        justify-content: space-between
    }

        .flight-group .group-info .btn-more-flights {
            display: inline-block;
            cursor: pointer;
            color: #2196f3 !important;
            font-size: 12px;
            white-space: nowrap
        }

.domestic .flight-group {
    border: none;
    border-radius: 0
}

    .domestic .flight-group .group-info {
        display: none
    }

    .domestic .flight-group .group-list {
        padding: 0
    }

.flight-container {
    border: 1px solid #2196f3;
    padding: 10px;
    border-radius: 4px;
    margin-bottom: 10px
}

    .flight-container.hidden {
        display: none !important
    }

.domestic .flight-container {
    padding: 0;
    border: none;
    border-radius: 0;
    margin-bottom: 0
}

.flight-data {
    display: flex;
    align-items: center;
    justify-content: space-between
}

    .flight-data > * {
        flex: 1
    }

    .flight-data .airline {
        text-align: center;
        padding: 0 10px;
        border-right: 1px solid #dedede
    }

        .flight-data .airline img {
            max-height: 20px;
            max-width: 90%
        }

        .flight-data .airline small.name {
            display: block
        }

        .flight-data .airline div.code {
            display: none
        }

    .flight-data .point {
        text-align: center;
        padding: 0 10px;
        border-right: 1px solid #dedede
    }

        .flight-data .point .time {
            font-size: 16px;
            font-weight: 500;
            color: #000
        }

        .flight-data .point .date {
            display: none
        }

    .flight-data .duration {
        text-align: center;
        font-size: 12px;
        border-right: 1px solid #dedede;
        padding: 0 10px;
        min-width: 180px
    }

        .flight-data .duration .flying-time {
            border-bottom: 2px solid #e0e0e0;
            padding-bottom: 5px;
            margin-bottom: 5px
        }

        .flight-data .duration .airplane {
            border-bottom: 2px solid #e0e0e0;
            padding-bottom: 5px;
            margin-bottom: 5px;
            color: #4169e1;
            text-overflow: ellipsis;
            cursor: pointer;
            overflow: hidden;
            white-space: nowrap
        }

        .flight-data .duration .stop-numb {
            text-overflow: ellipsis;
            cursor: pointer;
            overflow: hidden;
            white-space: nowrap
        }

    .flight-data .info {
        text-align: center;
        padding: 0 10px;
        white-space: nowrap;
        overflow: hidden
    }

        .flight-data .info .flight-numb {
            text-overflow: ellipsis;
            cursor: pointer;
            overflow: hidden;
            white-space: nowrap
        }

    .flight-data .operating {
        padding-left: 10px;
        text-align: right;
        line-height: 17px
    }

        .flight-data .operating img {
            height: 16px;
            display: none
        }

        .flight-data .operating .opera-airline {
            white-space: nowrap
        }

    .flight-data .select {
        text-align: right;
        padding-left: 10px
    }

        .flight-data .select .rdb-select {
            margin: 0;
            padding-left: 0
        }

.domestic .flight-data .select {
    display: none
}

.segment {
    display: flex;
    flex-wrap: wrap;
    padding: 10px;
    background-color: #fff;
    border: 0 solid transparent;
    border-radius: .286rem;
    box-shadow: 0 1px 1px rgba(0,0,0,.05)
}

    .segment .airline {
        flex-basis: 20%;
        text-align: center
    }

        .segment .airline img {
            max-height: 25px;
            max-width: 70px
        }

    .segment .point {
        flex-basis: 22%;
        padding-left: 10px
    }

        .segment .point .city .code {
            color: #333;
            padding-right: 5px;
            border-right: 1px solid #dedede
        }

        .segment .point .airport {
            font-size: 12px;
            color: #007bff
        }

        .segment .point .terminal {
            font-size: 12px
        }

        .segment .point .schedule .time {
            font-weight: 500;
            font-size: 20px
        }

        .segment .point .schedule .date {
            font-size: 12px
        }

    .segment .info {
        flex-basis: 36%;
        font-size: 12px;
        padding-left: 10px
    }

    .segment .operating {
        flex-basis: 100%;
        text-align: center;
        border: 1px solid #ff4500;
        border-radius: 3px;
        padding: 2px 6px;
        margin-top: 6px
    }

        .segment .operating img {
            height: 16px
        }

.stop-info {
    padding: 5px 5px;
    margin: 5px 0;
    text-align: center;
    color: #f00;
    background: #ffffe0;
    border: 0 solid transparent;
    border-radius: .286rem;
    box-shadow: 0 1px 1px rgba(0,0,0,.05)
}

.selected-fare {
    margin-bottom: 15px
}

    .selected-fare .flight-data {
        justify-content: space-between
    }

        .selected-fare .flight-data .point .date {
            display: block;
            font-size: 85%;
            font-weight: 400
        }

        .selected-fare .flight-data .point .time {
            line-height: 1
        }

        .selected-fare .flight-data .info {
            border-right: none
        }

        .selected-fare .flight-data .select {
            display: none
        }

    .selected-fare .flight-container {
        margin-bottom: 10px;
        padding: 10px;
        border: 1px solid #dedede;
        border-radius: 4px
    }

.rules-text {
    white-space: break-spaces;
    font-family: monospace;
    color: #8b0000;
    line-height: 17px
}

.panel-detail {
    margin-top: 10px;
    padding: 15px;
    border-top: 1px solid #dedede;
    background: #f1f4f5;
    border-radius: 0 0 5px 5px
}

    .panel-detail .panel:last-child {
        margin-bottom: 0
    }

    .panel-detail .panel .panel-title {
        padding: 12px 15px !important
    }

    .panel-detail .panel .panel-body h3 {
        font-size: 16px
    }

.nav-tabs-farerule .nav-link {
    padding: 5px 10px 5px 10px
}

.rules-content.text {
    padding: 15px;
    background: #fff
}

    .rules-content.text h3 {
        margin-top: 0;
        margin-bottom: 10px;
        font-size: 15px
    }

.flip {
    -webkit-transform: scaleX(-1);
    -moz-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    transform: scaleX(-1);
    filter: FlipH;
    -ms-filter: "FlipH"
}

.button-list {
    padding: 0;
    justify-content: space-between
}

.row.pax-input {
    margin-left: -5px;
    margin-right: -5px
}

    .row.pax-input .form-group {
        padding-left: 5px;
        padding-right: 5px;
        margin-bottom: 10px
    }

.table-price .table {
    margin-bottom: 0
}

.panel-detail .table-price {
    background: #fff;
    padding: 10px;
    border-radius: 4px
}

.total-price {
    display: flex;
    padding-top: 6px;
    border-top: 1px solid #e0e0e0
}

    .total-price .left-button {
        display: none
    }

    .total-price .grand-total {
        flex: auto;
        text-align: right
    }

    .total-price .price {
        font-size: 22px
    }

    .total-price label {
        margin-bottom: 0
    }

#selectedPricing .total-price {
    display: none
}

#selectedPanel .total-price .left-button {
    display: block
}

#passengerForm .form-control-label {
    margin-bottom: 5px;
    padding: 0
}

.panel-group .panel-title[aria-expanded=true]::before {
    font-weight: 900
}

.panel-group .panel-title[aria-expanded=true]::after {
    font-weight: 900;
    opacity: 1
}

.panel-group .panel-title[aria-expanded=false]::before {
    font-weight: 900;
    opacity: 1
}

.panel-group .panel-title[aria-expanded=false]::after {
    font-weight: 900
}

.panel-group-simple .ancillary-panel {
    border: 1px solid #dedede;
    padding: 0 20px;
    background: #fff;
    margin-bottom: 15px
}

    .panel-group-simple .ancillary-panel:last-child {
        margin-bottom: 0
    }

    .panel-group-simple .ancillary-panel .panel-body {
        padding-bottom: 0
    }

.ancillary-panel .loading-img {
    padding: 5px
}

    .ancillary-panel .loading-img img {
        height: 20px
    }

.ancillary-airline .airline-name {
    display: none
}

.ancillary-airline img {
    max-height: 20px;
    max-width: 50px
}

.service-items {
    display: flex;
    flex-wrap: wrap;
    max-height: 450px;
    overflow: auto
}

    .service-items .checkbox-custom, .service-items .radio-custom {
        flex: 33%
    }

.confirmation {
    background: #fff;
    padding: 20px 30px;
    max-width: 900px
}

    .confirmation .panel-title {
        font-size: 18px
    }

.order-code {
    font-weight: 400;
    color: #e61f20
}

.bag-itinerary {
    display: flex;
    align-items: center
}

    .bag-itinerary .bag-airline {
        width: 70px
    }

        .bag-itinerary .bag-airline img {
            max-width: 70px
        }

.ticket-number {
    font-weight: 500;
    color: #019431
}

.checkbox-filter {
    display: flex;
    align-items: center;
    justify-content: flex-end
}

    .checkbox-filter label.filter-price {
        margin-bottom: 0;
        font-size: 80%;
        font-weight: 300;
        margin-top: 10px
    }

        .checkbox-filter label.filter-price .currency {
            color: #757575
        }

    .checkbox-filter .checkbox-custom, .checkbox-filter .radio-custom {
        margin-bottom: 0;
        margin-right: auto
    }

    .checkbox-filter .checkbox-only {
        cursor: pointer;
        color: #019431;
        margin-left: 5px;
        padding: 2px 10px;
        font-size: 11px;
        margin-top: 10px
    }

        .checkbox-filter .checkbox-only:hover {
            background: #019431;
            color: #fff;
            border-radius: 10px
        }

.irs--round .irs-grid-text {
    font-size: 9px
}

.search-option-airline .input-group-text {
    width: 160px
}

.search-option-airline .checkbox-custom {
    margin-top: 0;
    margin-bottom: 0;
    display: flex;
    align-items: center
}

.search-option-airline .only-this {
    position: absolute;
    right: 10px;
    top: 6px;
    font-size: 18px;
    z-index: 9;
    color: #bebebe
}

    .search-option-airline .only-this.selected {
        color: #2196f3
    }

.flight-around {
    position: relative;
    margin-bottom: 10px;
    background-color: #fff;
    border: 0 solid transparent;
    border-radius: .286rem;
    box-shadow: 0 1px 1px rgba(0,0,0,.05);
    display: flex;
    align-items: center;
    justify-content: space-between
}

    .flight-around .price-date {
        text-align: center;
        cursor: pointer;
        width: 14.28%;
        border-right: 1px solid #dedede;
        padding: 5px 0;
        line-height: 16px;
        flex: 1
    }

        .flight-around .price-date:last-child {
            border-right: none
        }

        .flight-around .price-date > .diw {
            font-size: 12px;
            font-weight: 500
        }

        .flight-around .price-date > .day {
            font-size: 13px
        }

        .flight-around .price-date > .fare .amount {
            color: #ff6a00
        }

        .flight-around .price-date > .fare .loader {
            font-size: 14px
        }

        .flight-around .price-date.disabled {
            cursor: not-allowed;
            color: #757575 !important
        }

        .flight-around .price-date.current {
            border: 2px solid #ff9800;
            font-weight: 500;
            background: #fff8dc
        }

        .flight-around .price-date:hover {
            background: rgba(0,0,0,.05)
        }

.loading-img {
    text-align: center
}

.seat-map {
    margin: auto;
    display: flex;
    justify-content: space-between;
    margin-bottom: 35px
}

    .seat-map .seat-cart {
        flex-basis: 320px
    }

    .seat-map .seat-plane {
        flex: 1
    }

    .seat-map .cabin-table {
        margin: auto
    }

        .seat-map .cabin-table th {
            text-align: center
        }

        .seat-map .cabin-table td {
            width: 36px;
            padding: 2px 0;
            background: #f1f1f1;
            position: relative
        }

            .seat-map .cabin-table td.outsite-left {
                border-right: 2px solid #cacaca;
                background: none
            }

            .seat-map .cabin-table td.outsite-right {
                border-left: 2px solid #cacaca;
                background: none
            }

            .seat-map .cabin-table td.overwing {
                width: 100px;
                padding: 0;
                background-color: #f1f1f1
            }

                .seat-map .cabin-table td.overwing.left.top-wing {
                    background: none;
                    background-color: none
                }

                    .seat-map .cabin-table td.overwing.left.top-wing .wing-bg {
                        border-bottom: 34px solid #f1f1f1;
                        border-left: 100px solid transparent
                    }

                .seat-map .cabin-table td.overwing.right.top-wing {
                    background: none;
                    background-color: none
                }

                    .seat-map .cabin-table td.overwing.right.top-wing .wing-bg {
                        border-bottom: 34px solid #f1f1f1;
                        border-right: 100px solid transparent
                    }

                .seat-map .cabin-table td.overwing.left.end-wing {
                    background: none;
                    background-color: none
                }

                    .seat-map .cabin-table td.overwing.left.end-wing .wing-bg {
                        border-top: 34px solid #f1f1f1;
                        border-right: 100px solid transparent
                    }

                .seat-map .cabin-table td.overwing.right.end-wing {
                    background: none;
                    background-color: none
                }

                    .seat-map .cabin-table td.overwing.right.end-wing .wing-bg {
                        border-top: 34px solid #f1f1f1;
                        border-left: 100px solid transparent
                    }

            .seat-map .cabin-table td.aisle {
                width: 20px
            }

    .seat-map .seat-item {
        border: 1px solid #dedede;
        border-bottom: 3px solid #cacaca;
        border-radius: 3px;
        width: 30px;
        height: 25px;
        margin: auto;
        display: flex;
        text-align: center;
        align-items: center;
        justify-content: center;
        background: #fff;
        cursor: pointer;
        position: relative;
        font-size: 12px
    }

        .seat-map .seat-item.window {
            background: #b4deff
        }

        .seat-map .seat-item.aisleseat {
            background: #fffbdb
        }

        .seat-map .seat-item:hover {
            background: rgba(0,0,0,.05);
            color: #333
        }

        .seat-map .seat-item.selected {
            background: #4caf50;
            color: #fff;
            box-shadow: inset 0 0 4px 0 rgba(0,0,0,.2)
        }

        .seat-map .seat-item.disabled {
            background: #ddd;
            color: #333;
            cursor: not-allowed
        }

        .seat-map .seat-item.not-allowed {
            cursor: not-allowed
        }

        .seat-map .seat-item.exitrowseat {
            border-top: 2px solid #f00
        }

        .seat-map .seat-item small {
            position: absolute;
            top: 0;
            right: 0;
            line-height: 10px;
            padding: 1px;
            background: #f00
        }

.seat-instruction {
    border: 1px solid #e0e0e0;
    padding: 15px;
    border-radius: 4px;
    margin-bottom: 15px
}

    .seat-instruction ul {
        margin-left: 0;
        margin-bottom: 0;
        padding-left: 0
    }

        .seat-instruction ul li {
            list-style: none;
            display: flex;
            align-items: center;
            justify-content: flex-start
        }

    .seat-instruction .seat-item {
        display: block;
        margin: unset;
        margin-right: 10px;
        width: 30px;
        height: 20px
    }

.seat-passenger {
    border: 1px solid #e0e0e0;
    padding: 15px;
    border-radius: 4px
}

    .seat-passenger .seat-pax-table {
        width: 100%
    }

        .seat-passenger .seat-pax-table .seat-pax-select {
            width: 60px
        }

        .seat-passenger .seat-pax-table .seat-pax-price {
            min-block-size: 120px
        }

.seat-popup {
    display: none;
    position: absolute;
    padding: 5px;
    border-radius: 3px;
    background: #fff;
    margin-left: 25px;
    box-shadow: 0 2px 10px -2px rgba(0,0,0,.4);
    color: #333;
    z-index: 999;
    min-width: 300px
}

.btn-close-popup {
    position: absolute;
    right: 10px;
    top: 5px;
    font-size: 24px;
    cursor: pointer
}

    .btn-close-popup:hover .icon {
        color: #ff6a00
    }

.seat-detail {
    padding: 10px
}

    .seat-detail .seat-detail-title {
        font-size: 18px
    }

    .seat-detail .seat-detail-properties {
        margin-top: 10px;
        font-size: 12px
    }

        .seat-detail .seat-detail-properties .properties-title {
            font-size: 16px
        }

    .seat-detail .seat-detail-summary {
        margin-top: 10px;
        border-top: 1px solid #dedede;
        padding-top: 10px
    }

        .seat-detail .seat-detail-summary .select-pax {
            font-size: 12px;
            margin-bottom: 5px
        }

        .seat-detail .seat-detail-summary .price {
            font-size: 16px
        }

        .seat-detail .seat-detail-summary .full-seat {
            color: #f00
        }

#isMobile {
    visibility: hidden
}

.calendar-month .day span {
    font-size: 16px;
    font-weight: 500
}

.calendar-month .opacity {
    opacity: 1 !important
}

.calendar-month .header {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    padding: 10px;
    border-radius: .286rem;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0
}

    .calendar-month .header span.number {
        position: absolute;
        font-size: 20px;
        left: 8px;
        top: 22px;
        text-align: center !important
    }

    .calendar-month .header h4 {
        margin-top: 0;
        margin-bottom: 0;
        color: #fff
    }

.calendar-month table {
    margin-bottom: 30px;
    text-align: center
}

    .calendar-month table thead tr:first-child {
        text-align: left
    }

    .calendar-month table th {
        border: 0;
        width: 14.28%
    }

    .calendar-month table .box {
        position: relative;
        padding: 10px;
        margin: 6px 10px;
        border-radius: 3px;
        background-color: #f9f9f9;
        height: 70px
    }

        .calendar-month table .box.active {
            cursor: pointer;
            border: 1px solid #cacaca;
            background: #fff
        }

            .calendar-month table .box.active:hover {
                background: rgba(0,0,0,.05)
            }

                .calendar-month table .box.active:hover > .calendar-tooltips {
                    opacity: 1
                }

        .calendar-month table .box.select, .calendar-month table .box.select:hover {
            background: #2196f3;
            color: #fff
        }

    .calendar-month table div.select span.price_min {
        color: #fff
    }

    .calendar-month table span.price_min {
        color: #ff4500;
        font-size: 90%
    }

    .calendar-month table .box .min-icon {
        position: absolute;
        right: 5px;
        top: 0;
        font-size: 18px;
        color: #0acd0a
    }

.calendar-tooltips {
    position: absolute;
    pointer-events: none;
    opacity: 0;
    min-width: 450px;
    background-color: #fff;
    border-radius: 5px;
    padding: 5px 0;
    z-index: 9999;
    bottom: -110%;
    left: 122px;
    color: #000;
    transition: opacity .3s;
    box-shadow: 0 4px 15px 0 #bdbdbd;
    webkit-box-shadow: 0 4px 15px 0 rgba(0,0,0,.19);
    -moz-box-shadow: 0 4px 15px 0 rgba(0,0,0,.19)
}

    .calendar-tooltips::before, .calendar-tooltips::after {
        right: 100%;
        top: 50%;
        border: solid transparent;
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none
    }

    .calendar-tooltips::after {
        border-color: rgba(255,255,255,0);
        border-right-color: #fff;
        border-width: 10px;
        margin-top: -10px
    }

    .calendar-tooltips.active {
        z-index: 1000
    }

    .calendar-tooltips ul.element {
        position: relative;
        padding: 10px;
        margin: 0;
        list-style: none;
        display: flex;
        border-bottom: 1px dotted #ccc;
        align-items: center
    }

        .calendar-tooltips ul.element li {
            text-align: center;
            width: 20%
        }

            .calendar-tooltips ul.element li:last-child {
                margin-left: auto
            }

        .calendar-tooltips ul.element .airplane {
            border-bottom: 1px solid #cacaca;
            color: #007bff
        }

        .calendar-tooltips ul.element .price {
            color: #ff4500;
            font-weight: 500
        }

.box-description {
    display: flex;
    align-items: center;
    margin-right: 10px
}

.box-note {
    border: 1px solid #cacaca;
    border-radius: 3px;
    height: 40px;
    margin-right: 10px;
    width: 50px
}

.flight-verify {
    display: flex
}

    .flight-verify .airline {
        text-align: center;
        width: 120px;
        white-space: nowrap
    }

        .flight-verify .airline img {
            max-width: 90px;
            max-height: 22px
        }

        .flight-verify .airline .name {
            display: block
        }

    .flight-verify .flight {
        padding-left: 20px;
        white-space: nowrap
    }

.verify-pricing {
    text-align: right;
    padding-top: 5px;
    border-top: 1px solid #e0e0e0
}

    .verify-pricing .old-price {
        font-size: 90%
    }

    .verify-pricing .new-price {
        font-size: 18px
    }

.flight-changed-message {
    color: #333;
    font-weight: 300
}

.booking-panel.minify .fare-data.domestic {
    padding: 10px 10px
}

    .booking-panel.minify .fare-data.domestic .panel-info {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: nowrap
    }

    .booking-panel.minify .fare-data.domestic .full-info {
        margin-bottom: 5px;
        width: 100%
    }

    .booking-panel.minify .fare-data.domestic .fare-info {
        align-items: center;
        padding-top: 0;
        margin-top: 0;
        border-top: none;
        flex: 1;
        justify-content: space-between
    }

        .booking-panel.minify .fare-data.domestic .fare-info .left-button {
            display: none
        }

        .booking-panel.minify .fare-data.domestic .fare-info .right-button {
            width: unset;
            flex: 1
        }

        .booking-panel.minify .fare-data.domestic .fare-info .detail-button {
            display: block;
            padding-left: 15px;
            width: 100px;
            text-align: center
        }

            .booking-panel.minify .fare-data.domestic .fare-info .detail-button .flight-numb {
                text-overflow: ellipsis;
                cursor: pointer;
                overflow: hidden;
                white-space: nowrap
            }

        .booking-panel.minify .fare-data.domestic .fare-info .btn-more-option {
            background: #f0f0f0;
            text-align: right;
            padding: 4px 10px;
            margin-right: 5px
        }

            .booking-panel.minify .fare-data.domestic .fare-info .btn-more-option .fareclass {
                width: 130px;
                overflow: hidden;
                white-space: nowrap;
                text-overflow: ellipsis;
                margin-left: auto
            }

    .booking-panel.minify .fare-data.domestic .flight-data {
        justify-content: unset
    }

        .booking-panel.minify .fare-data.domestic .flight-data > * {
            flex: unset
        }

        .booking-panel.minify .fare-data.domestic .flight-data .airline {
            width: 140px;
            padding: 0 10px 0 0
        }

        .booking-panel.minify .fare-data.domestic .flight-data .point {
            width: 100px
        }

        .booking-panel.minify .fare-data.domestic .flight-data .info {
            display: none
        }

        .booking-panel.minify .fare-data.domestic .flight-data .duration {
            width: 140px;
            min-width: unset
        }

        .booking-panel.minify .fare-data.domestic .flight-data .operating {
            display: none
        }

.booking-panel.tiny .step-bar {
    display: none
}

.booking-panel.tiny .flight-around {
    font-size: 85%;
    line-height: 1
}

    .booking-panel.tiny .flight-around .price-date {
        padding: 2px 0
    }

        .booking-panel.tiny .flight-around .price-date > .day {
            font-size: 85%
        }

.booking-panel.tiny .fare-data .ribbon {
    width: 40px;
    height: 40px;
    border-radius: 0
}

.booking-panel.tiny .fare-data .ribbon-corner:before {
    border-width: 15px
}

.booking-panel.tiny .fare-data .ribbon-corner .ribbon-inner {
    width: 15px;
    height: 15px;
    line-height: 15px
}

.booking-panel.tiny .fare-data .ribbon-inner .icon {
    font-size: 12px
}

.booking-panel.tiny .fare-data.domestic {
    padding: 5px 10px;
    box-shadow: none;
    border: none;
    border-radius: 0;
    margin-bottom: 0;
    border-bottom: 1px solid #dedede
}

    .booking-panel.tiny .fare-data.domestic:hover {
        background: #f9f9f9
    }

    .booking-panel.tiny .fare-data.domestic .panel-info {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: nowrap
    }

    .booking-panel.tiny .fare-data.domestic .full-info {
        margin-bottom: 5px;
        width: 100%
    }

    .booking-panel.tiny .fare-data.domestic .fare-info {
        align-items: center;
        padding-top: 0;
        margin-top: 0;
        border-top: none;
        flex: 1;
        justify-content: space-between
    }

        .booking-panel.tiny .fare-data.domestic .fare-info .promo-msg {
            display: none
        }

        .booking-panel.tiny .fare-data.domestic .fare-info .left-button {
            display: none
        }

        .booking-panel.tiny .fare-data.domestic .fare-info .right-button {
            width: unset;
            flex: unset
        }

        .booking-panel.tiny .fare-data.domestic .fare-info .detail-button {
            display: flex;
            justify-content: space-evenly;
            flex: 1
        }

            .booking-panel.tiny .fare-data.domestic .fare-info .detail-button .flight-numb {
                text-overflow: ellipsis;
                cursor: pointer;
                overflow: hidden;
                white-space: nowrap
            }

        .booking-panel.tiny .fare-data.domestic .fare-info .btn-more-option {
            background: #f0f0f0;
            text-align: right;
            padding: 4px 10px;
            margin-right: 5px;
            background: none
        }

            .booking-panel.tiny .fare-data.domestic .fare-info .btn-more-option:hover {
                background: rgba(0,0,0,.05)
            }

            .booking-panel.tiny .fare-data.domestic .fare-info .btn-more-option .fareclass {
                width: 130px;
                overflow: hidden;
                white-space: nowrap;
                text-overflow: ellipsis;
                margin-left: auto;
                display: none
            }

        .booking-panel.tiny .fare-data.domestic .fare-info .seat-remaining {
            display: none
        }

    .booking-panel.tiny .fare-data.domestic .flight-data {
        justify-content: unset
    }

        .booking-panel.tiny .fare-data.domestic .flight-data > * {
            flex: unset
        }

        .booking-panel.tiny .fare-data.domestic .flight-data .airline {
            width: 160px;
            padding: 0 10px 0 0
        }

            .booking-panel.tiny .fare-data.domestic .flight-data .airline .name {
                display: none
            }

        .booking-panel.tiny .fare-data.domestic .flight-data .point {
            width: 150px
        }

            .booking-panel.tiny .fare-data.domestic .flight-data .point .airport {
                display: none
            }

        .booking-panel.tiny .fare-data.domestic .flight-data .info {
            display: none
        }

        .booking-panel.tiny .fare-data.domestic .flight-data .duration {
            display: none
        }

        .booking-panel.tiny .fare-data.domestic .flight-data .operating {
            display: none
        }

@keyframes blinker {
    50% {
        opacity: 0
    }
}

@media(max-width:1849.5px) {
    #mainPanel .search-panel {
        width: unset
    }

    .search-box {
        display: none
    }
}

@media(max-width:1449.5px) {
    #mainPanel .filter-panel {
        width: unset
    }

    .filter-box {
        display: none
    }
}

@media(max-width:989.5px) {
    #toolBar {
        padding: 0;
        background-color: none;
        background: none;
        border: none;
        box-shadow: none
    }

    #sortBar {
        flex: none
    }

        #sortBar > ul {
            display: none
        }

    #btnSortFlight {
        display: block
    }

    .booking-panel {
        width: 100%
    }

    .steps {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }

    .booking-panel.minify .fare-data.domestic .flight-data .airline {
        width: 80px;
        padding: 0;
        border-right: none
    }

        .booking-panel.minify .fare-data.domestic .flight-data .airline small.name {
            display: none
        }

    .booking-panel.minify .fare-data.domestic .flight-data .duration {
        display: none
    }

    .booking-panel.minify .fare-data.domestic .flight-data .point {
        width: auto
    }

        .booking-panel.minify .fare-data.domestic .flight-data .point .time {
            white-space: nowrap
        }

    .booking-panel.tiny .fare-data.domestic .flight-data .airline {
        width: 80px;
        padding: 0;
        border-right: none
    }

        .booking-panel.tiny .fare-data.domestic .flight-data .airline small.name {
            display: none
        }

    .booking-panel.tiny .fare-data.domestic .flight-data .duration {
        display: none
    }

    .booking-panel.tiny .fare-data.domestic .flight-data .point {
        width: auto
    }

        .booking-panel.tiny .fare-data.domestic .flight-data .point .time {
            white-space: nowrap
        }
}

@media only screen and (max-width:767px) {
    #isMobile {
        visibility: visible
    }

    .search-box {
        position: fixed;
        width: 100%;
        top: 66px;
        box-shadow: none;
        padding-bottom: 100px;
        border-right: none;
        border-left: none;
        z-index: 1299
    }

    .filter-box {
        position: fixed;
        width: 100%;
        top: 66px;
        box-shadow: none;
        padding-bottom: 100px
    }

    #toolBar > button {
        flex: 1
    }

        #toolBar > button > span {
            display: none
        }

    #sortBar {
        flex: 1
    }

        #sortBar > ul {
            display: none
        }

    .flight-around {
        overflow: auto
    }

    .booking-panel {
        width: 100%
    }

    .fare-info {
        flex-wrap: wrap
    }

        .fare-info .left-button {
            flex-wrap: wrap;
            flex-basis: 100%;
            justify-content: flex-end;
            padding-bottom: 5px
        }

    .flight-data {
        flex-wrap: wrap;
        position: relative;
        align-items: stretch;
        justify-content: space-between
    }

        .flight-data > * {
            flex: unset
        }

        .flight-data .airline {
            display: flex;
            align-items: center;
            text-align: left;
            flex-basis: 100%;
            border-bottom: 1px solid #dedede;
            border-right: none;
            margin-bottom: 10px;
            padding: 0 0 10px 0
        }

            .flight-data .airline img {
                margin-right: 10px;
                max-width: 90px
            }

        .flight-data .point {
            width: 30%
        }

        .flight-data .duration {
            width: 40%;
            min-width: unset;
            border-right: none;
            padding: 0 0 0 10px
        }

    .domestic .flight-data .info {
        border-right: none;
        position: absolute;
        right: 0;
        top: 0;
        display: flex;
        padding: 0
    }

    .global .flight-data .info {
        display: flex;
        margin-top: 7px;
        padding-top: 7px;
        border-top: 1px solid #dedede
    }

    .global .flight-data .airline {
        justify-content: space-between
    }

    .fare-data.global {
        padding: 10px 10px
    }

    .flight-data .operating {
        display: none
    }

    .selected-fare .flight-data {
        align-items: center
    }

        .selected-fare .flight-data .operating {
            display: none
        }

    .selected-fare .gds-system {
        display: none
    }

    .selected-fare .fare-info {
        justify-content: space-between
    }

        .selected-fare .fare-info .left-button {
            flex-basis: unset;
            padding-bottom: 0
        }

        .selected-fare .fare-info .right-button {
            width: auto
        }

    .selected-fare .flight-data .info {
        display: flex;
        position: absolute;
        top: 0;
        right: 0;
        padding: 0
    }

    .domestic .flight-data .operating.hide {
        display: none
    }

    .global .flight-data .select {
        flex: 1;
        margin-top: 7px;
        padding-top: 7px;
        border-top: 1px solid #dedede
    }

    .panel-detail {
        padding: 10px
    }

    .segment {
        flex-wrap: wrap
    }

        .segment .airline {
            flex: 100%;
            display: flex;
            padding-bottom: 5px;
            border-bottom: 1px solid #e0e0e0;
            justify-content: space-between;
            align-items: center
        }

            .segment .airline img {
                max-height: 20px;
                margin-right: 10px
            }

        .segment .point {
            flex: 50%;
            padding: 5px 0;
            border-right: 1px solid #e0e0e0
        }

            .segment .point + .point {
                text-align: right;
                border-right: none
            }

        .segment .info {
            padding: 5px 0 0 0;
            flex: 100%;
            border-top: 1px solid #e0e0e0
        }

    #sortBar {
        margin-bottom: 0
    }

        #sortBar ul {
            flex-wrap: nowrap;
            overflow-x: auto
        }

            #sortBar ul li {
                padding: 0 20px;
                flex: 1 0 auto
            }

    #stepBar .steps {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin-bottom: 10px
    }

        #stepBar .steps .step {
            flex: 1 0 auto
        }

    .site-action {
        right: 10px;
        bottom: 10px
    }

    .confirmation {
        padding: 15px
    }

    .button-list {
        margin-bottom: 15px
    }

    .radio-inline + .radio-inline {
        margin-left: 10px
    }

    .flight-around .price-date {
        width: 33.333%;
        padding: 5px 10px
    }

    .seat-map {
        display: block;
        justify-content: unset
    }

        .seat-map .seat-cart {
            flex-basis: unset;
            margin-bottom: 25px
        }

        .seat-map .seat-plane {
            flex: unset;
            overflow: auto
        }

    .seat-popup {
        position: fixed;
        margin-left: unset;
        top: 50% !important;
        left: 50%;
        transform: translateX(-50%)
    }

    .flight-changed-message {
        max-height: 150px;
        overflow: auto
    }

    .ancillary-airline {
        display: none
    }

    #pnSelectedGroup .panel-body {
        padding-left: 15px;
        padding-right: 15px
    }

    .selected-fare:last-child {
        margin-bottom: 0
    }

    .flight-info {
        width: 100%
    }

    .booking-panel.minify .fare-data.domestic .panel-info {
        flex-wrap: wrap
    }

    .booking-panel.minify .fare-data.domestic .flight-data {
        justify-content: space-between
    }

        .booking-panel.minify .fare-data.domestic .flight-data .airline {
            display: block;
            width: 40%;
            border-bottom: none;
            margin-bottom: 0;
            padding-bottom: 0;
            text-align: center
        }

            .booking-panel.minify .fare-data.domestic .flight-data .airline small.name {
                display: block
            }

        .booking-panel.minify .fare-data.domestic .flight-data .point {
            border-left: 1px solid #dedede;
            border-right: none;
            width: 30%
        }

            .booking-panel.minify .fare-data.domestic .flight-data .point .airport {
                line-height: 1;
                margin-bottom: 5px
            }

            .booking-panel.minify .fare-data.domestic .flight-data .point .time {
                line-height: 1
            }

        .booking-panel.minify .fare-data.domestic .flight-data .duration {
            display: none
        }

    .booking-panel.minify .fare-data.domestic .fare-info {
        flex-wrap: nowrap;
        border-top: 1px solid #dedede;
        padding-top: 5px;
        margin-top: 5px
    }

        .booking-panel.minify .fare-data.domestic .fare-info .detail-button {
            padding-left: 0;
            width: auto;
            text-align: left
        }

            .booking-panel.minify .fare-data.domestic .fare-info .detail-button .flight-numb {
                line-height: 1
            }

        .booking-panel.minify .fare-data.domestic .fare-info .btn-more-option {
            background: #fff;
            padding: 0;
            margin-right: 5px
        }

    .booking-panel.tiny .fare-data.domestic .panel-info {
        flex-wrap: nowrap
    }

    .booking-panel.tiny .fare-data.domestic .ribbon {
        display: none
    }

    .booking-panel.tiny .flight-summary {
        font-size: 12px
    }

        .booking-panel.tiny .flight-summary h4 {
            font-size: 15px
        }

    .booking-panel.tiny .ion-md-calendar {
        padding-right: 12px !important
    }

    .booking-panel.tiny .fare-data.domestic .flight-info {
        width: unset
    }

    .booking-panel.tiny .fare-data.domestic .flight-data {
        justify-content: unset;
        align-items: center;
        flex-wrap: nowrap
    }

        .booking-panel.tiny .fare-data.domestic .flight-data .airline {
            display: block;
            width: 70px;
            border-bottom: none;
            margin-bottom: 0;
            padding-bottom: 0;
            text-align: center;
            border-right: 1px solid #dedede;
            padding-right: 5px
        }

            .booking-panel.tiny .fare-data.domestic .flight-data .airline img {
                margin-right: 0;
                max-width: 60px;
                max-height: 18px
            }

        .booking-panel.tiny .fare-data.domestic .flight-data .point {
            border-right: 1px solid #dedede;
            padding: 0 5px;
            width: auto
        }

            .booking-panel.tiny .fare-data.domestic .flight-data .point .airport {
                line-height: 1;
                margin-bottom: 5px
            }

            .booking-panel.tiny .fare-data.domestic .flight-data .point .time {
                line-height: 1;
                font-weight: 400;
                font-size: inherit
            }

                .booking-panel.tiny .fare-data.domestic .flight-data .point .time .icon {
                    display: none
                }

        .booking-panel.tiny .fare-data.domestic .flight-data .duration {
            display: none
        }

    .booking-panel.tiny .fare-data.domestic .fare-info {
        flex-wrap: nowrap;
        justify-content: flex-end;
        border-top: none;
        padding-top: 0;
        margin-top: 0
    }

        .booking-panel.tiny .fare-data.domestic .fare-info .detail-button {
            padding-left: 0;
            width: auto;
            text-align: left;
            display: block
        }

            .booking-panel.tiny .fare-data.domestic .fare-info .detail-button .flight-numb {
                display: none
            }

            .booking-panel.tiny .fare-data.domestic .fare-info .detail-button .btn-faredata {
                font-size: 80%
            }

        .booking-panel.tiny .fare-data.domestic .fare-info .btn-more-option {
            background: none;
            padding: 0;
            margin-right: 0;
            line-height: 1
        }

            .booking-panel.tiny .fare-data.domestic .fare-info .btn-more-option .currency {
                display: none
            }

            .booking-panel.tiny .fare-data.domestic .fare-info .btn-more-option .price {
                font-size: 14px;
                font-weight: 400
            }

        .booking-panel.tiny .fare-data.domestic .fare-info .select-option .btn-select {
            padding: 2px 10px;
            font-size: 85%
        }

            .booking-panel.tiny .fare-data.domestic .fare-info .select-option .btn-select .icon {
                display: none
            }

    .pax-info .panel-group.bordered > .panel {
        border: 1px solid #2196f3
    }
}

@media only screen and (max-width:376px) {
    .fare-data {
        padding: 10px
    }

    .selected {
        margin-bottom: 10px;
        padding: 10px
    }

    .flight-data .point .time .icon {
        display: none
    }

    .flight-data .airline small.name {
        display: none
    }

    .panel-body, .panel-footer, .panel-title {
        padding: 10px
    }

    .segment .point .city .code {
        display: block;
        border-right: none;
        padding-right: 0
    }

    .segment .point .airport {
        font-size: 80%
    }

    .flight-data .point {
        flex-basis: 30%;
        padding: 0 5px
    }

    .flight-data .duration {
        padding-left: 5px
    }

    .fare-info {
        flex-wrap: nowrap
    }

        .fare-info .left-button {
            flex-wrap: nowrap;
            flex-basis: 100%
        }

    .booking-panel.tiny .fare-data.domestic .fare-info .detail-button {
        display: none
    }

    .booking-panel.tiny .fare-data.domestic .flight-data .airline {
        width: 80px;
        border-right: none
    }

    .booking-panel.tiny .fare-data.domestic .flight-data .point {
        border-right: none;
        border-left: 1px solid #dedede;
        padding: 0 10px
    }
}
