﻿html {
    font-size: 16px;
}

body {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    margin: 0;
    font-family: "Roboto", "Helvetica", "Arial", sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: left;
    background-color: #fafafa;
}

#wrap {
    min-height: 100vh;
    display: flex;
    display: -webkit-flex;
    flex: 1;
    -webkit-flex: 1;
    flex-direction: column;
}


main {
    display: flex;
    flex-direction: column;
    flex: 1;
}

img {
    width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

    a:hover {
        color: currentColor;
        text-decoration: none;
    }

    a:focus {
        -webkit-appearance: none;
        outline: none;
    }

b, strong {
    font-weight: 600;
}

.fb_dialog_content iframe, #fb-customer-chat iframe {
    min-width: auto !important;
}

.btn, .custom-file-control:before {
    text-transform: none;
    cursor: pointer;
}

    .btn.focus, .btn:focus {
        outline: 0;
        box-shadow: none;
    }

.navbar-light .navbar-toggler {
    color: rgba(0,0,0,.6);
    border: none;
}

.navbar-light .navbar-nav .nav-link, .navbar-item {
    color: rgba(0,0,0,.7);
}

    .navbar-item img {
        opacity: 0.7;
    }

    .navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover, .navbar-item:hover {
        color: rgba(0,0,0,.9);
    }

        .navbar-item:hover img {
            opacity: 0.9;
        }


.container {
    position: relative;
    padding: 0;
}

    .container.paddingBox .title {
        margin: 0 0 10px;
    }

    .container.paddingBox {
        padding-right: 14px !important;
        padding-left: 14px !important;
    }

.container-fluid, .container-lg, .container-md, .container-sm, .container-xl {
    padding-right: 0;
    padding-left: 0;
}

main > .container:first-child {
    /* padding-top: 3rem; */
}

footer .container {
    font-size: 14px;
    padding: 8px 0;
}

    footer .container * {
        color: #4a4a4a;
    }

    footer .container a:hover, footer .container a:hover i {
        color: #000;
    }

header {
    position: relative;
    z-index: 100;
}

    header nav, .optionalHeader {
        max-width: 100%;
        height: 3rem;
    }

.header_img {
    width: 100%;
    -webkit-user-select: none; /* Chrome all / Safari all */
    -moz-user-select: none; /* Firefox all */
    -ms-user-select: none; /* IE 10+ */
    user-select: none; /* Likely future */
}

.navbar-nav .nav-link {
    font-size: 0.938rem;
    font-weight: 600;
    cursor: pointer;
}

.navbar-brand {
    display: inline-block;
    padding-top: .25rem;
    padding-bottom: .25rem;
    margin-left: 1rem;
    font-size: 1rem;
    line-height: inherit;
    white-space: nowrap;
}

.navbar-toggler {
    padding: 0;
    font-size: 1rem;
    line-height: 1;
    border: none;
}

.modal-content .modal-body {
    padding: 1rem;
}

.modal-body img {
    max-width: 100%;
    height: auto;
}

.bg-primary {
    background-color: #009688 !important;
}


.custom-select {
    background: #fff url(../img/icons/unfold_more.svg) no-repeat right .375rem center/18px 18px;
}

.no-decoration {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
    padding-right: 7px;
    padding-left: 7px;
}

.row {
    margin-right: -7px;
    margin-left: -7px;
}

[class*=btn-]:focus {
    outline: none !important;
}

.w12 {
    width: 12px;
}

.w14 {
    width: 14px;
}

.mb-12px {
    margin-bottom: 12px !important;
}

.px-9px {
    padding-left: 9px;
    padding-right: 9px;
}

.py-9px {
    padding-top: 9px !important;
    padding-bottom: 9px !important;
}

.pb-075r {
    padding-bottom: 0.75rem !important;
}

.mh-300-cover {
    min-height: 300px;
    -o-object-fit: cover;
    object-fit: cover;
}


.border-l-w {
    position: relative;
}

    .border-l-w::before {
        content: "";
        display: block;
        position: absolute;
        width: 1px;
        height: 80%;
        top: 10%;
        left: 0;
        background: rgba(255, 255, 255, 0.7);
    }

[class*=btn-] {
    cursor: pointer;
    text-align: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.btn-primary {
    color: #fff;
    background-color: #479ff6;
    border-color: #479ff6;
}

.btn-st-a24 {
    display: inline-block;
    padding: 0 8px !important;
    margin: 0;
    height: 24px;
    border-radius: 0.25rem;
    line-height: 24px;
    border: 1px solid #479FF6;
    color: #479FF6;
    font-size: 0.813rem;
}

.btn-uline-p {
    display: inline-block;
    color: #479FF6;
    font-size: 0.875rem;
    text-decoration: underline;
}

.btn-st-g24 {
    display: inline-block;
    padding: 0 8px !important;
    margin: 0;
    height: 24px;
    border-radius: 0.25rem;
    line-height: 24px;
    background: #e8e8e8;
    color: #656565;
    font-size: 0.813rem;
}

.premium .btn-st-g24 {
    display: inline-block;
    padding: 0 8px !important;
    margin: 0;
    height: 24px;
    border-radius: 0.25rem;
    line-height: 24px;
    background: #4e4e4e;
    color: #e4e4e4;
    font-size: 0.813rem;
}

.btn-st-f30 {
    display: inline-block;
    padding: 0 8px !important;
    margin: 0;
    height: 30px;
    border-radius: 0.25rem;
    line-height: 30px;
    border: 1px solid #479FF6;
    background: #479FF6;
    color: #fff;
    font-size: 0.875rem;
}

.btn-st-f24 {
    display: flex;
    padding: 0 8px !important;
    margin: 0;
    height: 24px;
    border-radius: 0.25rem;
    border: none;
    background: #479FF6;
    color: #fff;
    font-size: 0.813rem !important;
}

.btn-line-g30 {
    display: inline-block;
    padding: 0 8px !important;
    margin: 0;
    height: 30px;
    border-radius: 0.25rem;
    line-height: 30px;
    border: 1px solid #797979 !important;
    color: #797979 !important;
    font-size: 0.875rem;
}

.btn-add {
    border: 1px solid #479FF6 !important;
    color: #479FF6 !important;
    border-radius: 0.25rem;
}

    .btn-add::before {
        content: '\e145';
        font-family: 'Material Icons';
        font-size: 20px;
        height: 21px;
        line-height: 21px;
        margin-right: 2px;
    }

[class*=btn], [class*=Btn] {
    cursor: pointer;
    -webkit-user-select: none; /* Chrome all / Safari all */
    -moz-user-select: none; /* Firefox all */
    -ms-user-select: none; /* IE 10+ */
    user-select: none;
}

[class*=btn-line-p] {
    border: 1px solid #479FF6 !important;
    color: #479FF6 !important;
}

[class*=btn-line-b] {
    border: 1px solid #000 !important;
    color: #000 !important;
    border-radius: 0.25rem;
}

[class*=btn-fill-p] {
    background: #479FF6;
    color: #fff;
    border-radius: 0.25rem;
}

[class*=btn-fill-w] {
    background: #fff;
    border-radius: 0.25rem;
}

[class*=btn-line-w] {
    border: 1px solid #ffffff !important;
    color: #ffffff !important;
    border-radius: 0.25rem;
}

[class*=btn-line-sv] {
    color: #828c9a !important;
    background: #eaedf1 !important;
    border-radius: 0.25rem;
}

[class*=btn-line-g] {
    border: 1px solid #797979 !important;
    color: #797979 !important;
    border-radius: 0.25rem;
}

[class*=btn-line-r] {
    padding: 0 0.25rem;
    padding-top: 1px;
    color: #e90e0e;
    border: 1px solid rgba(233, 14, 14, 0.356);
    border-radius: 0.25rem;
}

[class*=btn-line-gr] {
    padding: 0 0.25rem;
    padding-top: 1px;
    color: #2dbba2;
    border: 1px solid rgb(106 187 148 / 40%);
    border-radius: 0.25rem;
}

.btn-tabBtn {
    color: #479ff6;
    border: 1px solid #479ff6;
    padding: 0.313rem .75rem 0.25rem;
    border-radius: 0.25rem;
    cursor: pointer;
    text-transform: uppercase;
}

    .btn-tabBtn:hover {
        box-shadow: 0 2px 5px -3px rgb(0 0 0 / 60%);
    }

.on > .btn-tabBtn {
    color: #fff;
    background-color: #479ff6;
}

.btn-line-gr {
    color: #2dbba2 !important;
    border: 1px solid rgb(106 187 148 / 40%) !important;
}

.btn-line-p {
    display: inline-block;
    padding: 0;
    margin: 0;
    border-radius: 0.25rem;
    background: #fff !important;
    font-size: 0.75rem;
    text-align: center;
}

.btn-line-p20 {
    display: inline-block;
    padding: 0 8px !important;
    margin: 0;
    height: 20px;
    border-radius: 0.25rem;
    line-height: 19px;
    background: #fff !important;
    font-size: 0.75rem;
    text-align: center;
}

.btn-line-p28 {
    display: inline-block;
    padding: 0 8px !important;
    margin: 0;
    height: 28px;
    border-radius: 0.25rem;
    line-height: 27px;
    background: #fff !important;
    font-size: 0.75rem;
    text-align: center;
}

.btn-line-p30 {
    display: inline-block;
    padding: 0 8px !important;
    margin: 0;
    height: 30px;
    border-radius: 0.25rem;
    line-height: 30px;
    background: #fff !important;
    font-size: 0.875rem;
    text-align: center;
}

.selectAct .btn-line-p30.on {
    border: 1px solid #479FF6 !important;
    color: #fff !important;
    background: #479ff6 !important;
}

.btn-line-p46 {
    display: inline-block;
    padding: 0 8px !important;
    margin: 0;
    height: 46px;
    border-radius: 0.25rem;
    line-height: 46px;
    background: #fff !important;
    font-size: 1rem;
}

.btn-line-r20 {
    display: flex;
    align-items: center;
    height: 1.25rem;
    padding: 0 0.5rem;
    font-size: 0.75rem;
    color: #e90e0e;
    border: 1px solid rgba(233, 14, 14, 0.356);
    border-radius: 0.25rem;
    margin-left: 0.5rem;
}

.btn-fill-auto {
    display: flex;
    flex-wrap: wrap;
    color: #fff;
    background: #479ff6;
    border: 1px solid #479FF6;
    border-radius: 0.25rem;
    padding: 0.375rem 0.75rem;
    align-items: center;
}

.btn-fill-p20 {
    display: inline-block;
    padding: 0 8px !important;
    margin: 0;
    height: 20px;
    border-radius: 0.25rem;
    line-height: 20px;
    border: none;
    font-size: 0.75rem;
}

.btn-fill-p24 {
    display: inline-block;
    padding: 0 8px !important;
    margin: 0;
    height: 24px;
    border-radius: 0.25rem;
    line-height: 25px;
    border: none;
    font-size: 0.875rem;
}

.btn-fill-p30 {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px !important;
    margin: 0;
    height: 30px;
    border-radius: 0.25rem;
    border: none;
    font-size: 0.875rem;
}

.btn-fill-p30s {
    display: inline-block;
    padding: 0 8px !important;
    margin: 0;
    height: 30px;
    border-radius: 0.25rem;
    line-height: 30px;
    border: none;
    background: #7abdff;
    color: #fff;
    font-size: 0.875rem;
}

.btn-fill-p46 {
    display: inline-block;
    padding: 0 8px !important;
    margin: 0;
    height: 46px;
    border-radius: 0.25rem;
    line-height: 46px;
    border: none;
    font-size: 1rem;
}

.btn-fill-s30 {
    display: inline-block;
    padding: 0 8px !important;
    margin: 0 auto;
    height: 30px;
    line-height: 30px;
    border: none;
    background: #d9ecff !important;
    color: #2c96ff;
    font-size: 0.875rem;
}

.btn-st-1 {
    display: inline-flex;
    min-width: 75%;
    padding: 1px 12px 0 16px !important;
    margin: 0;
    height: 34px;
    border-radius: 0.25rem;
    /* line-height: 34px; */
    color: #ffffff;
    font-size: 0.875rem;
    text-align: center;
    align-items: center;
    justify-content: center;
    background: rgb(98,217,249);
    background: linear-gradient(110deg, rgb(71, 196, 255) 0%, rgb(46, 135, 247) 100%);
}

.btn-st-1b {
    display: inline-flex;
    border-radius: 0.25rem;
    color: #ffffff;
    text-align: center;
    align-items: center;
    justify-content: center;
    background: rgb(98,217,249);
    background: linear-gradient(110deg, rgb(71, 196, 255) 0%, rgb(46, 135, 247) 100%);
}

.btn-st-b1 {
    display: inline-flex;
    min-width: 75%;
    margin: 0;
    border-radius: 0.25rem;
    color: #ffffff;
    text-align: center;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.7);
}

    .btn-st-b1:hover {
        color: #fff;
        background: rgba(0,0,0,0.9);
        text-decoration: underline;
    }

.btn-st-b2 {
    display: inline-flex;
    min-width: 75%;
    margin: 0;
    border-radius: 0.5rem;
    color: #ffffff;
    text-align: center;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.7);
}

    .btn-st-b2:hover {
        color: #fff;
        background: rgba(255,255,255,1);
        text-decoration: underline;
    }

.btn-st-2 {
    display: inline-flex;
    padding: 0 8px !important;
    margin: 0;
    height: 24px;
    border-radius: 0.25rem;
    color: #ffffff;
    font-size: 0.813rem;
    text-align: center;
    align-items: center;
    justify-content: center;
    background: rgb(98,217,249);
    background: linear-gradient(110deg, rgb(71, 196, 255) 0%, rgb(46, 135, 247) 100%);
}

.btn-st-2l {
    font-size: 12px !important;
    line-height: 1.2;
    margin-top: -5px;
    margin-bottom: -5px;
    padding: 1px 6px !important;
    color: #fff;
    background: #ef4fa7 !important;
    border: 1px solid #ef4fa7;
    font-weight: 500;
    border-radius: 0.25rem;
}

.btn-st-3 {
    display: block;
    border-radius: 0.25rem;
    color: #2c96ff;
    font-size: 0.875rem;
    font-weight: 500;
    text-align: center;
    align-items: center;
    justify-content: center;
    background: #d9ecff;
    padding: 0.375rem 0.5rem;
}

.btn-st-3s {
    display: block;
    border-radius: 0.25rem;
    color: #2c96ff;
    font-size: 0.875rem;
    font-weight: 500;
    text-align: center;
    align-items: center;
    justify-content: center;
    background: #d9ecff;
    padding: 0.125rem 0.5rem;
}

.box-st-2 {
    background: #dee2e6;
    color: #4a4a4a;
    display: inline-block;
    padding: 0.063rem 0.375rem 0;
    border-radius: 0.25rem;
    font-size: 0.75rem;
}

.btn-st-w1 {
    display: inline-flex;
    min-width: 75%;
    padding: 1px 12px 0 16px !important;
    margin: 0;
    height: 34px;
    border-radius: 0.25rem;
    /* line-height: 34px; */
    color: #479ff6;
    font-size: 0.875rem;
    text-align: center;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.btn-line-b1 {
    text-align: center;
    padding: 0.375rem;
    font-weight: 500;
    font-size: 15px;
}

.simpleLink {
    font-size: 0.813rem;
    font-weight: 500;
    text-decoration: underline;
    color: #479ff6;
    cursor: pointer;
}

.simpleLink-f {
    font-weight: 500;
    text-decoration: underline;
    color: #479ff6;
}

.click-none {
    pointer-events: none;
}

.overlayBtn {
    cursor: pointer;
}

body .scroll_lock {
    display: none;
}

body.onPanel {
    overflow: hidden;
    height: 100vh;
    touch-action: none;
}

    body.onPanel #wrap {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        overflow: hidden;
        touch-action: none;
        padding-right: 0;
    }

    body.onPanel header nav {
        padding-right: 17px;
    }

    body.onPanel .scroll_lock {
        content: "";
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(0, 0, 0, 0.5);
        z-index: 100;
        overflow: auto;
        -ms-scroll-chaining: none;
        overscroll-behavior: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        touch-action: none;
    }

        body.onPanel .scroll_lock::after {
            content: "";
            display: block;
            height: 101vh;
        }

/* text style */

.lh1 {
    line-height: 1;
}

.lh12 {
    line-height: 1.2;
}

.lh15 {
    line-height: 1.5;
}

.txt-12 {
    font-size: 12px !important;
}

.txt-13 {
    font-size: 13px !important;
}

.txt-14 {
    font-size: 14px !important;
}

.txt-15 {
    font-size: 15px !important;
}

.txt-16 {
    font-size: 16px !important;
}

.txt-18 {
    font-size: 18px !important;
}

.txt-20 {
    font-size: 20px !important;
}

.txt-shadow {
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
}

.lh10 {
    line-height: 1;
}

/* [class*=txt-st] {
    font-weight: normal !important;
} */
[class*=txt-st-w], [class*=txt-w] {
    color: #fff !important;
}

[class*=txt-st-a] {
    color: #479FF6 !important;
}

[class*=txt-st-g] {
    color: #888888 !important;
}

[class*=txt-st-b] {
    color: #141A25 !important;
}

[class*=txt-st-r] {
    color: #EB1414 !important;
}

.txt-st-g19 {
    font-size: 19px;
}

.txt-st-g16 {
    font-size: 16px;
}

.txt-st-g14 {
    font-size: 14px;
}

.txt-st-g13 {
    font-size: 13px;
}

.txt-st-g12 {
    font-size: 12px;
}

.txt-st-b12 {
    font-size: 12px;
}

.txt-st-b13 {
    font-size: 13px;
}

.txt-st-b14 {
    font-size: 14px;
}

.txt-st-b16 {
    font-size: 16px;
}

.txt-st-n16 {
    font-size: 16px;
    font-weight: normal;
    color: #ADB5BD;
}

.txt-st-w14 {
    font-size: 14px;
}

.txt-st-w16 {
    font-size: 16px;
}

.txt-st-w18 {
    font-size: 18px;
}

.txt-st-w20 {
    font-size: 20px;
}

.txt-st-w25 {
    font-size: 25px;
}

.txt-st-w28 {
    font-size: 28px;
}

.txt-st-m12 {
    font-size: 12px;
    font-weight: normal;
    color: #2DBB94;
}

.txt-st-r12 {
    font-size: 12px;
    font-weight: normal;
}

.txt-st-a13 {
    font-size: 13px;
}

.txt-st-a14 {
    font-size: 14px;
}

.txt-st-a16 {
    font-size: 16px !important;
}

.txt-st-a18 {
    font-size: 18px;
}

.txt-st-a20 {
    font-size: 20px !important;
    font-weight: 500;
}

.txt-st-a26 {
    font-size: 26px;
    font-weight: 500;
}

.txt-st-n16 {
    font-size: 16px;
    font-weight: normal;
    color: #ADB5BD;
}

.txt-st-w16 {
    font-size: 16px;
}

.txt-st-w18 {
    font-size: 18px;
}

.txt-st-w20 {
    font-size: 20px;
}

.txt-st-m12 {
    font-size: 12px;
    font-weight: normal;
    color: #2DBB94;
}

.txt-st-gr14 {
    font-size: 14px;
    font-weight: normal;
    color: #2DBB94;
}

.txt-st-gr16 {
    font-size: 16px;
    font-weight: normal;
    color: #2DBB94;
}

.txt-st-r12 {
    font-size: 12px;
    font-weight: normal;
    color: #e90e0e;
}

.txt-st-r14 {
    font-size: 14px;
    font-weight: normal;
    color: #e90e0e;
}

.txt-st-r16 {
    font-size: 16px;
    font-weight: normal;
    color: #e90e0e;
}

.txt-st-r18 {
    font-size: 18px !important;
    font-weight: normal;
    color: #e90e0e;
}

.txt-gold {
    color: #fce037 !important;
}

    .txt-gold.txt-shadow {
        text-shadow: 0 1px 2px rgb(136 100 0 / 65%);
    }

.txt-10-14 {
    font-size: clamp(10px, 1.16vw, 14px) !important;
}

.txt-12-14 {
    font-size: clamp(12px, 1.16vw, 14px) !important;
}

.txt-13-15 {
    font-size: clamp(13px, 1.25vw, 15px) !important;
}

.txt-14-16 {
    font-size: clamp(14px, 1.33vw, 16px) !important;
}

.txt-16-18 {
    font-size: clamp(16px, 1.5vw, 18px) !important;
}

.uline {
    text-decoration: underline;
}

.bold {
    font-weight: 500 !important;
}

.strong {
    font-weight: 600 !important;
}

.fw-300 {
    font-weight: 300;
}

.fw-400 {
    font-weight: 400;
}

.text-primary {
    color: #479ff6 !important;
}

.txt-st-sm {
    font-size: 14px;
    font-weight: 400;
}

.mx-2px {
    margin: 0 2px !important;
}

.border-bottom-a {
    border-bottom: 1px solid #d9ecff;
}

.border-bottom-gr {
    border-bottom: 1px solid rgb(106 187 148 / 40%);
}

ol.up_a {
    list-style-type: upper-alpha;
}

/* for Card */
.card-1 {
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
    transition: all 0.3s cubic-bezier(.25,.8,.25,1);
}

    .card-1:hover {
        box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
    }

.card-2 {
    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
}

.card-3 {
    box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
}

.card-4 {
    box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
}

.card-5 {
    box-shadow: 0 19px 38px rgba(0,0,0,0.30), 0 15px 12px rgba(0,0,0,0.22);
}

.card-footer {
    padding: .75rem .875rem;
    background-color: #fff;
    border-top: 1px solid #dee2e6;
}

.swiper-container.card-st-1 {
    padding: 0 0 0.25rem;
}

    .swiper-container.card-st-1 .swiper-slide {
        background-color: #fff;
        background-clip: border-box;
        border: none;
        border-radius: .25rem;
        box-shadow: 0 2px 3px -2px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
    }

    .swiper-container.card-st-1 .prodImg {
        border-radius: 0.25rem 0.25rem 0 0;
    }

    .swiper-container.card-st-1 .swiper-slide .row.mx-0 > div:not(:first-child) {
        padding: 0 0.5rem;
    }

    .swiper-container.card-st-1 .swiper-slide .row.mx-0 .btn-st-a24.overlayBtn {
        margin-left: 0.5rem;
    }

.ab-right {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0, -50%);
}

.ab-left {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
}

.ab-top {
    position: absolute;
    left: 0;
    bottom: 100%;
    transform: translate(0%, 0%);
}

.banner {
    display: block;
    height: 120px;
    background: #ccc;
    line-height: 120px;
    text-align: center;
}

.icon-box > div > div {
    text-align: center;
    padding: 0;
    height: 100%;
    margin: 0;
    padding: 0 0 10px;
    font-size: .75rem;
}

.icon-box_2 .row {
    align-items: flex-end;
    justify-content: space-evenly;
    text-align: center;
}

    .icon-box_2 .row > div {
        margin-bottom: 12px;
    }

        .icon-box_2 .row > div > * > div:nth-child(1) {
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .icon-box_2 .row > div > * > div:nth-child(2) {
            font-size: 15px;
            font-weight: 500;
            color: #47a0d9;
        }

.inactive {
    cursor: not-allowed;
}

.icon-box_2 i {
    font-size: 32px;
    text-align: center;
    color: #214497;
}

.icon-box_2 .material-icons {
    font-size: 40px;
    text-align: center;
    color: #214497;
}

.icon-box_2 img {
    height: 28px;
    width: auto;
}

main > div {
    margin-bottom: 3rem;
}

.icon-div img {
    width: clamp(40px, 5.8vw, 70px)
}

.container .icon-box .card .tit {
    font-size: 0.625rem;
    color: #252525;
}

.flag-icon {
    width: 1.6rem;
    line-height: 1.2rem;
}

.search-bar {
    max-width: 800px;
    margin: 0 auto;
}

.modal-header {
    border-bottom: none;
}

.card-box-1 {
    height: 100% !important;
    overflow-y: auto !important;
    white-space: nowrap !important;
    overflow-x: scroll !important;
    padding-bottom: 30px !important;
    margin-bottom: -30px !important;
}

.swiper-box {
    display: flex !important;
}

.card-box-1 .card {
    width: 85% !important;
    flex: 1 !important;
    padding-right: 6px !important;
    padding-left: 6px !important;
    padding-top: 4px !important;
    padding-bottom: 8px !important;
}

.title {
    font-size: calc(18px + 2 * ((100vw - 360px) / 1560));
    margin-bottom: 15px;
    font-weight: 600;
}

.custom-file-control, .form-control {
    background: no-repeat bottom,50% calc(100% - 1px);
    background-size: 0 100%,100% 100%;
    transition: background 0s ease-out;
    padding-left: 0;
    padding-right: 0;
}

.box-a1 {
    background: #ccc;
    text-align: center;
    max-height: 254px;
    padding: 0;
    margin-bottom: 1px;
    overflow: hidden;
}

.box-c1 {
    background: #ccc;
    text-align: center;
    max-height: 340px;
    padding: 0;
    margin-bottom: 1px;
    overflow: hidden;
    border-radius: 0.5rem;
}

.swiper-slide img {
    max-width: 100%;
    height: auto;
}

.box-b1 {
    padding: 0;
    overflow: hidden;
}

.d-flex .box-b1:not(:last-child)::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-right: 1px solid #fff;
}

.box-d1 {
    position: relative;
}


.countryTitle {
    position: absolute;
    bottom: 4%;
    color: #fff;
    left: 10%;
    font-size: calc(16px + 4 * ((100vw - 360px) / 1560));
    font-weight: 500;
    text-shadow: 0 1px 5px rgba(0,0,0,0.5);
    text-align: left;
    line-height: 1.2;
}

.slide-box {
    widows: 90%;
    height: 10vw;
    background: #ccc;
}

.slide-box-1 {
    white-space: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    margin-top: 0px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    margin-left: -24px !important;
    margin-right: -24px !important;
    -webkit-overflow-scrolling: touch !important;
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
}

.slide-item {
    padding: 0 6px !important;
    display: inline-block !important;
    white-space: normal !important;
    vertical-align: top !important;
    width: 66.66666666666667% !important;
    height: 200px;
    background: #ccc;
}

.swiper-container {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    font-size: 18px;
    /* Center slide text vertically */
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1rem;
    cursor: pointer;
    flex-wrap: wrap;
}

.swiper-container.h-auto .swiper-slide {
    height: auto;
}

.layout-01 .swiper-slide {
    width: clamp(320px, calc(50% - 14px), 390px);
    height: 100%;
    padding-bottom: 1px;
}

.layout-02 .swiper-slide {
    width: 85vw;
    max-width: 524px;
    height: 100%;
}

.layout-03 .swiper-slide {
    width: clamp(110px, calc(44% - 7px), 178px);
    height: 100%;
    overflow: hidden;
    border-radius: 0.25rem;
}

.layout-04 .swiper-slide {
    width: 85vw;
    max-width: 390px;
    height: 100%;
}

.eventBanner .swiper-slide {
    width: 46%;
}

    .eventBanner .swiper-slide > a {
        width: 100%;
    }

.slideTopPhotos .swiper-slide {
    width: 70%;
}

    .slideTopPhotos .swiper-slide.swiper-slide-prev img, .slideTopPhotos .swiper-slide.swiper-slide-next img {
        opacity: 0.7;
    }

.mxw-24 {
    max-width: 24px;
}

.mxw-500 {
    max-width: 500px;
}

.mxw-600 {
    max-width: 600px;
}

.mxw-620 {
    max-width: 620px;
}

.layout-05, .layout-06 {
    margin-bottom: 0.625rem;
}

    .layout-05 > div, .layout-06 > div {
        display: flex;
        overflow-x: auto;
        flex-wrap: nowrap;
    }

.tabBtn > div, .tabBtn-st > div {
    display: flex;
    overflow-x: auto;
    flex-wrap: wrap;
    justify-content: space-between;
    width: auto;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.tabBtn.stopOverflow > div {
    overflow-x: inherit;
}

.classTabBtn.imageTab {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
}

    .classTabBtn.imageTab > div > img:nth-child(2) {
        display: none;
    }

    .classTabBtn.imageTab > div.on > img:nth-child(1) {
        display: none;
    }

    .classTabBtn.imageTab > div.on > img:nth-child(2) {
        display: block;
    }

    .classTabBtn.imageTab > div > img {
        opacity: 1 !important;
    }

.layout-05 > div::-webkit-scrollbar, .layout-06 > div::-webkit-scrollbar {
    display: none;
}

.layout-05 .cardBox {
    padding: 4px 14px 4px 0;
    width: 44vw;
    max-width: 323px;
    flex: 0 0 auto;
    cursor: pointer;
}

.layout-06 .box {
    display: block;
    padding: 0 .375rem 0 0;
    width: auto;
    max-width: 100%;
    flex: 0 0 auto;
    text-align: center;
}

.tabBtn .box {
    display: block;
    padding: 0 0.11rem 0;
    width: auto;
    max-width: 100%;
    flex: 1 1 auto !important;
    text-align: center;
    margin-bottom: 6px;
}

.layout-06 .box:first-child {
    padding-left: 14px;
}

.tabBtn .box:first-child {
    padding-left: 0;
}

.layout-06 .box > span {
    display: block;
    padding: 0.25rem .75rem;
    text-align: center;
    border: 1px solid #9f9f9f;
    border-radius: 1.063rem;
    font-size: 0.875rem;
    font-weight: 400;
    box-sizing: content-box;
}

.layout-06 .box.on > span {
    border: none;
    background: #3d8cdb;
    color: #fff;
}

.layout-06 .tabBtn .box.on > span {
    background: #3d8cdb;
    border: 1px solid #3d8cdb;
    color: #fff;
}

.layout-05 .card .tit {
    font-size: 0.875rem;
    font-weight: 500;
    margin: 8px 0;
    text-align: center;
}

.layout-07 .swiper-slide {
    width: 85vw;
    max-width: 390px;
    height: 100%;
}

.searchItem.emphasis {
    color: #358cf4;
    border-color: #358cf4;
}

/* tab style */
.tabContent > * {
    display: none;
}

.tabContent > .on {
    display: block;
}

.selTabContent .tabChild {
    display: none;
}

    .selTabContent .tabChild.on {
        display: block;
    }

.swiper-button-next, .swiper-button-prev {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

    .swiper-button-next:after, .swiper-button-prev:after {
        font-size: .5rem;
        font-weight: 800;
        color: #999;
    }

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
    display: none;
    right: 0;
    left: auto;
    transform: translate(50%, 0);
    outline: none;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
    display: none;
    left: 0;
    right: auto;
    transform: translate(-50%, 0);
    outline: none;
}

.col-12.text-left {
    font-size: 1rem;
}


.overlayPanel {
    top: 0;
    right: 0;
    /* left: 0; */
    bottom: 0;
    width: 100%;
    height: 100%;
    max-width: 700px;
    display: flex;
    flex-flow: column;
    overflow: hidden;
    position: fixed;
    -webkit-overflow-scrolling: touch;
    z-index: 50;
    transition: transform .3s,visibility 0s .3s;
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    visibility: hidden;
    padding-bottom: var(--evil-window-height-miss,0);
    transform: translate3d(100%,0,0);
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    background: #fff;
    overscroll-behavior-y: none;
}

    .overlayPanel.show {
        transition: transform .3s;
        visibility: visible;
        transform: translateZ(0);
        transition-timing-function: cubic-bezier(.4,0,.2,1);
    }

.overlayHeader {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    justify-content: space-between;
    align-items: center;
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    min-height: 48px;
    background: #479FF6;
    color: #fff !important;
}

    .overlayHeader > * {
        padding: 0;
    }

.overlayFooter {
    z-index: 3005;
    display: flex;
    position: relative;
    justify-content: space-between;
    align-items: center;
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    min-height: 48px;
    background: transparent;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 3px 9px 3px !important;
}

.overlayHeader .header-icon .material-icons {
    width: 3rem;
    height: 3rem;
}

.overlayHeader .overlayClose {
    top: 0;
    left: 0;
    z-index: 1050;
    cursor: pointer;
}

    .overlayHeader .overlayClose .material-icons {
        font-size: 28px;
    }

.overlayHeader .closeRight.overlayClose .material-icons {
    font-size: 24px;
}

.overlayHeader .searchClose .material-icons {
    font-size: 28px;
}

.overlayPanel .container {
    position: relative;
    flex: 1;
    height: 100%;
    padding: 12px;
    overflow-y: auto;
    overflow-x: hidden;
    -ms-scroll-chaining: none;
    overscroll-behavior: none;
}

#searchPanel .container {
    position: relative;
    padding: 12px;
    overflow-y: scroll;
    flex: 1;
    overflow-x: hidden;
}

.overlayFooter > div[class*=col] {
    padding: 0;
}

    .overlayFooter > div[class*=col] > button {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }

.menu-cat {
    margin-bottom: 1.5rem;
}

    .menu-cat .tit {
        font-size: 1rem;
        font-weight: 600;
        margin-bottom: 6px;
    }

    .menu-cat .row > div:not(:last-child)::after {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        border-right: 1px solid #fff;
    }

    .menu-cat.ver2 {
        min-height: 450px;
    }

        .menu-cat.ver2 .box {
            display: flex;
            flex-wrap: wrap;
        }

            .menu-cat.ver2 .box .searchResult .on > div {
                background: #3d8cdb;
                border: none;
                color: #fff;
            }

.dropdown-item {
    font-size: 14px;
}

.navbar-collapse .navbar-nav {
    border-radius: 50vh;
    background: rgba(0,0,0,0.4);
    padding: 0 2px !important;
}

.navbar-collapse .navbar-item {
    border-radius: 50vh;
    background: #fff;
    padding: 8px;
    margin-right: 8px;
    cursor: pointer;
}

    .navbar-collapse .navbar-item .material-icons {
        font-size: 24px;
    }

.navbar-nav .nav-link {
    padding: .375rem 0.125rem;
}

.navbar-nav .nav-item {
    margin-bottom: 0;
}

.navbar-nav .nav-link .material-icons {
    font-size: 28px;
}

.dropdown-toggle::after {
    display: none;
}


.panelTitle {
    flex-grow: 1 !important;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 500;
    flex: 1;
    line-height: 1.2;
}

#menu, .overlayPanel.show {
    z-index: 1100;
}

#menu, .overlayPanel.panel_2nd {
    z-index: 1101;
}

.overlayBtn[data-target=menu] .material-icons, .material-icons.fixIcon {
    font-size: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
}

[class*=price-] {
    color: #e90e0e;
    font-weight: 600;
    font-size: 1.25rem;
}

[class*=pricesm-] {
    color: #e90e0e;
    font-weight: 600;
    font-size: 1rem;
}

.optionBook [class*=price-] {
    color: #e90e0e;
    font-weight: 600;
    font-size: 1rem;
}

.priceBox [class*=price-] {
    color: #e90e0e;
    font-weight: 600;
    font-size: 1rem;
}

.price-usd {
    color: #e90e0e;
    font-weight: 600;
}

    .price-usd::before {
        content: "USD ";
        font-size: 14px;
        font-weight: 400;
    }

.price-from-usd::before {
    content: "From USD ";
    font-size: 14px;
    font-weight: 400;
}

.price-yen::before {
    content: "YEN ";
    font-size: 14px;
    font-weight: 400;
}

.price-from-yen::before {
    content: "From YEN ";
    font-size: 14px;
    font-weight: 400;
}

.price-eur::before {
    content: "EUR ";
    font-size: 14px;
    font-weight: 400;
}

.price-from-eur::before {
    content: "From EUR ";
    font-size: 14px;
    font-weight: 400;
}

.price-from-php::before {
    content: "From PHP ";
    font-size: 14px;
    font-weight: 400;
}

.per-pax::after {
    content: " /PAX";
    font-size: 14px;
    font-weight: 400;
}

.per-person::after {
    content: " /Person";
    font-size: 12px;
    font-weight: 400;
}

.price-php {
    color: #e90e0e;
    font-weight: 600;
}

    .price-php::before {
        content: "PHP ";
        font-size: 14px;
        font-weight: 400;
    }

.price-point {
    color: #e90e0e;
    font-weight: 600;
}

    .price-point::before {
        content: "POINTS ";
        font-size: 14px;
        font-weight: 400;
    }

.perPerson::after {
    /* color: #141A25; */
    content: " /Person";
    font-size: 12px;
    font-weight: 400;
}

.prodTitle {
    margin: 100%;
    font-size: 1rem;
    text-align: left;
    font-weight: 600;
    margin: 0 0 4px;
    display: flex;
}

    .prodTitle > div {
        flex: 1;
        min-width: 0;
    }

.prodCom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 0.75rem;
}

    .prodCom .sub-tit {
        font-size: 0.875rem;
        font-weight: 400 !important;
    }

.themeTitle {
    font-size: 1rem;
    text-align: left;
    font-weight: 600;
    margin-top: 8px;
}

.prodDesc {
    font-size: 14px;
    text-align: left;
    margin-bottom: 4px;
}

.prodDate {
    font-size: 14px;
    text-align: left;
    color: #808080;
    margin-top: 8px;
}

.prodPrice {
    font-size: 1.25rem;
    text-align: left;
}

#searchPanel {
    background: #fff;
    color: #000;
    font-size: 16px;
    flex-direction: column;
}

    #searchPanel .container {
        overflow: auto;
    }

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
}

.floatBox {
    position: absolute;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    flex-direction: row;
}

.searchBox {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.domPage .searchBox {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.intPage .searchBox {
    position: relative;
    /*height: 100vw;*/
    max-height: 600px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    padding-top: 3rem;
}

.cruisePage .searchBox {
    position: relative;
    /*height: 100vw;*/
    max-height: 600px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    flex-direction: row;
}

.logo_cruise img {
    width: auto;
    height: 2.25rem;
}

.logo_cruise2 img {
    width: auto;
    height: 1.125rem;
}

.searchItemCruiseLine {
    margin: 0 8px 16px !important;
}

.tit-lg {
    font-size: 1.125rem;
}

.tourOption .logo {
    align-items: center;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
}

    .tourOption .logo .tit {
        height: auto;
    }

        .tourOption .logo .tit img {
            width: auto;
            opacity: 1;
            max-width: inherit;
        }

#tour.slideBox {
    max-height: 186px;
    overflow: hidden;
    overflow-y: auto;
}

.countryPage .searchBox {
    position: relative;
    height: auto;
    max-height: 600px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    overflow: hidden;
}

.countryPage .swiperFade {
    position: relative;
}

.countryPage .prodHashtag ~ div.float-right {
    display: none;
}

.cityPage .searchBox {
    position: relative;
    height: auto;
    max-height: 600px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    overflow: hidden;
}

.cityPage .swiperFade {
    position: relative;
}

.cityPage .prodHashtag ~ div.float-right {
    display: none;
}

.eventBox .swiper-pagination {
    /* position: relative;
    text-align: center;
    transition: .3s opacity;
    transform: translate3d(0,0,0);
    z-index: 10;
    margin: 4px auto 0; */
}

.eventBox .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 4px;
    display: inline-block;
    border-radius: 100%;
    background: #000;
    opacity: .4;
}

.eventBox .swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--swiper-pagination-color,var(--swiper-theme-color));
}

.eventBox .swiperFade img {
    -o-object-fit: cover;
    object-fit: cover;
}

.eventBox {
    position: absolute;
    bottom: 0;
    padding: 0 0.875rem;
}

.eventBanner .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background: rgba(0,0,0,0.3);
    padding: 4px;
}

    .eventBanner .box > div {
        width: 50%;
    }

    .eventBanner .box .info {
        text-align: left;
        padding: 6px 8px;
        display: flex;
        flex-flow: column;
        justify-content: space-between;
        align-items: flex-start;
    }

    .eventBanner .box .tit {
        font-size: clamp(1rem, 1.4vw, 18px);
        line-height: 1.4;
        font-weight: 400;
        color: #fff;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .eventBanner .box .type {
        display: inline-block;
        font-size: 12px;
        font-weight: 400;
        color: #fff;
        border: 1px solid #fff;
        padding: 0px 6px;
    }

    .eventBanner .box .period {
        font-size: clamp(12px, 1.25vw, 15px);
        line-height: 1.4;
        font-weight: 400;
        color: #fff;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.form-control:focus {
    background-color: inherit;
    box-shadow: none;
}

.search-bar {
    position: absolute;
    padding-top: 0;
    padding: 0;
    color: #fff;
    top: 24%;
    background: rgba(0,0,0,0.25);
    border-radius: 0.25rem;
    padding: 0.25rem 0.5rem 0.375rem 0.5rem;
}

.pageLayout-2 .search-bar {
    top: 30%;
}

.pageLayout-2 .container .desc {
    margin-bottom: 0.5rem;
}

.pageLayout-2 main > .container-fluid > .container:not(.eventBox) {
    background: #fff;
}

.search-bar .search-1 {
    position: relative;
    color: #fff;
    padding-left: 1.5rem;
    border-bottom: 1px solid #fff;
}

    .search-bar .search-1 input {
        position: relative;
        max-width: 600px;
        min-width: 250px;
        padding-top: 0;
        padding: 0 0 0 0.5rem;
        color: #fff;
        z-index: 1;
    }

        .search-bar .search-1 input::-webkit-input-placeholder {
            color: #fff;
            font-size: 16px;
        }

        .search-bar .search-1 input::-moz-placeholder {
            color: #fff;
            font-size: 16px;
        }

        .search-bar .search-1 input:-ms-input-placeholder {
            color: #fff;
            font-size: 16px;
        }

        .search-bar .search-1 input::-ms-input-placeholder {
            color: #fff;
            font-size: 16px;
        }

        .search-bar .search-1 input::placeholder {
            color: #fff;
            font-size: 16px;
        }

    .search-bar .search-1 .form-control:disabled, .form-control[readonly] {
        background-color: rgba(0,0,0,.04);
        opacity: 1;
    }

.search-bar .searchGroup {
    position: relative;
    padding-left: 1rem;
    color: #fff;
    z-index: 1;
    border-bottom: 1px solid #fff;
}

    .search-bar .searchGroup input {
        font-size: calc(14px + 1 * ((100vw - 360px) / 840));
        font-weight: 300;
        width: calc(220px + 30 * ((100vw - 360px) / 840));
        ;
        color: #fff;
        padding: 0 0 0 0.5rem;
        border: none;
        height: calc(1.5em + .5rem);
    }

        .search-bar .searchGroup input::-webkit-input-placeholder {
            color: #fff;
            font-size: calc(14px + 2 * ((100vw - 360px) / 840));
            font-family: "Roboto", "Helvetica", "Arial", sans-serif;
            font-style: normal;
        }

        .search-bar .searchGroup input::-moz-placeholder {
            color: #fff;
            font-size: calc(14px + 2 * ((100vw - 360px) / 840));
            font-family: "Roboto", "Helvetica", "Arial", sans-serif;
            font-style: normal;
        }

        .search-bar .searchGroup input:-ms-input-placeholder {
            color: #fff;
            font-size: calc(14px + 2 * ((100vw - 360px) / 840));
            font-family: "Roboto", "Helvetica", "Arial", sans-serif;
            font-style: normal;
        }

        .search-bar .searchGroup input::-ms-input-placeholder {
            color: #fff;
            font-size: calc(14px + 2 * ((100vw - 360px) / 840));
            font-family: "Roboto", "Helvetica", "Arial", sans-serif;
            font-style: normal;
        }

        .search-bar .searchGroup input::placeholder {
            color: #fff;
            font-size: calc(14px + 2 * ((100vw - 360px) / 840));
            font-family: "Roboto", "Helvetica", "Arial", sans-serif;
            font-style: normal;
        }

    .search-bar .searchGroup .form-control:focus {
        color: #fff;
        font-size: 16px;
    }

.swiperFade {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

    .swiperFade img {
        min-width: 100%;
        min-height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
    }

.slogan {
    font-size: calc(20px + 12 * ((100vw - 360px) / 1006));
    text-align: center;
}

.fixed-menu {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 1000;
}

.logo img {
    width: auto;
    height: calc(18px + 4 * ((100vw - 360px) / 1560));
}

.logo_01 img {
    max-width: 150px;
}

img.email_logo {
    height: 16px;
    width: auto;
    margin-right: 2px;
}

.icon-box {
    padding: 1rem 0.5rem 0.875rem;
    margin-bottom: 1.5rem;
    border-top: 1px solid #c9c9c9;
    border-bottom: 1px solid #c9c9c9;
}

    .icon-box > div {
        display: flex;
        flex-wrap: wrap;
        margin: 0 -3px;
        justify-content: flex-start;
    }

    .icon-box .card {
        cursor: pointer;
    }

    .icon-box .card {
        box-shadow: none;
        background: transparent;
    }

    .icon-box.ver2 .card {
        box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12);
        background: transparent;
        border-radius: 0.25rem;
        padding: 6px 0 0;
    }

    .icon-box.ver2 > div > div {
        margin-bottom: 4px;
        padding: 0 2px;
    }

.page-hd-1 {
    padding-top: 0 !important;
}

    .page-hd-1 .special_tit {
        position: absolute;
        top: 1.25rem;
        padding: 0 14px;
        text-shadow: 0 0 10px rgba(0,0,0,.6);
    }

.move_t-10 {
    position: relative;
    top: -10px;
}

footer {
    border-top: 1px solid #e2e2e2;
    padding-bottom: 3.5rem;
    background: #fff;
    position: relative;
    z-index: 1;
}

.pageLinkBox a {
    font-weight: 800;
    margin: 4px 0;
}

.comInfoBox {
    color: #000;
}


footer .container > .row {
    justify-content: center;
    align-items: center;
    margin: 0;
}

footer .container .row > div {
    text-align: center;
    padding: 8px;
}

.figure-caption {
    text-align: center;
}

.pageLinkBox a {
    margin: 0 4px;
    padding: 4px 4px;
    display: inline-block;
}

.snsBox a {
    font-size: 20px;
    display: inline-block;
    padding: 0 4px;
    margin: 0 6px;
    line-height: 1.5;
}

.comInfoBox {
    text-align: center;
    border-top: 1px solid #dee2e6 !important;
}

    .comInfoBox > div {
        margin: 4px 0;
        text-align: left;
    }

.copyrightBox {
    text-align: center;
    font-size: 0.75rem;
}

.mobileMenu {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    /* margin-right: 1rem; */
    align-items: center;
}

.pageLayout-4 .mobileMenu {
    opacity: 1;
    width: 100%;
    margin-right: 0;
    flex-grow: 1;
    flex-shrink: 0;
    flex-basis: 0;
    min-width: 0;
    max-width: 100%;
}

    .pageLayout-4 .mobileMenu .header-icon .material-icons {
        width: 2.5rem;
        height: 2.5rem;
    }

.fullCover {
    z-index: 100;
}

.is-focused [class*=" bmd-label"], .is-focused [class^=bmd-label] {
    color: #3f51b5;
}

.searchItem {
    border: 1px solid #9f9f9f;
    color: #797979;
    margin: 0 2px 6px 0px;
    padding: 0.313rem .75rem 0.25rem;
    border-radius: 0.25rem;
    font-size: 0.875rem;
    cursor: pointer;
    text-transform: uppercase;
}

    .searchItem:hover {
        box-shadow: 0 2px 5px -3px rgba(0, 0, 0, 0.6);
        color: #000;
    }

.searchResultBox {
    height: 100%;
    overflow: auto;
}

.tabBtn .searchItem {
    color: #479ff6;
    border: 1px solid #479ff6;
}

.tabBtn .style_02 .searchItem {
    color: #ef4fa7;
    border: 1px solid #ef4fa7;
}

.tabBtn .style_03 .searchItem {
    background: #d9ecff;
    color: #2c96ff;
    border: 1px solid #d9ecff;
}

.tabBtn .style_04 .searchItem {
    padding: 0.375rem 0.5rem 0.25rem;
    border: 1px solid rgba(233, 14, 14, 0.356);
    border-radius: 0.25rem;
    color: #e90e0e;
}

.menu-cat .tabBtn .on .searchItem {
    color: #fff;
    background: #479ff6;
    border: 1px solid #479ff6;
}

.menu-cat .tabBtn .on.style_02 .searchItem {
    color: #fff;
    background: #ef4fa7;
    border: 1px solid #ef4fa7;
}

.menu-cat .tabBtn .on.style_04 .searchItem {
    color: #fff;
    background: rgba(233, 14, 14, 0.7);
    border: 1px solid rgba(233, 14, 14, 0.356);
}

.menu-cat .tabContent {
    padding: 8px 8px 2px;
    border: 2px solid #479ff6;
    border-radius: 0.25rem;
}

    .menu-cat .tabContent .menu-cat {
        margin-bottom: 0;
    }

.navigationBar {
    position: fixed;
    bottom: 0;
    left: 0;
    background: #fff;
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    text-align: center;
    z-index: 100;
    border-top: 1px solid #EBEBEB !important;
    transform: translate3d(0,100%,0);
    transition: transform .3s;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
}

    .navigationBar.show {
        transform: translate3d(0,0,0);
        transition: transform .3s;
        transition-timing-function: cubic-bezier(.4,0,.2,1);
    }

.iconBtn {
    font-size: 10px;
    padding: 12px 12px 6px;
}

    .iconBtn img {
        height: 1.5rem;
        width: auto;
        margin: 0 0 4px;
    }

.btn-st-full {
    width: 100%;
    font-size: 1rem;
    font-weight: 500;
    padding: 11px 8px;
    margin: 8px 0;
    box-sizing: border-box;
    position: relative;
}

    .btn-st-full img {
        width: auto;
        height: 20px;
        position: absolute;
        left: 12px;
        top: 50%;
        transform: translate(0, -50%);
    }

.btn-st-fill {
    background: #479FF6;
    color: #fff !important;
    padding: 2px 12px !important;
    border-radius: 0.25rem;
    cursor: pointer;
}

    .btn-st-fill * {
        color: #fff !important;
    }

.btn-st-str {
    border: 1px solid #479FF6;
    color: #479FF6 !important;
    padding: 2px 12px !important;
    border-radius: 0.25rem;
    cursor: pointer;
}

    .btn-st-str * {
        color: #479FF6 !important;
    }

.btnPrice {
    /* padding: 0.375rem 0.5rem 0.25rem; */
    /* border: 1px solid rgba(233, 14, 14, 0.356); */
    border-radius: 0.25rem;
    margin-left: 0.5rem;
}

#logIn *, #manageBooking * {
    font-size: 16px;
    font-weight: 500;
}

#logIn .close span, #manageBooking .close span {
    font-size: 28px;
}

#logIn .modal-title, #manageBooking .modal-title {
    font-size: 1.25rem;
}

#logIn label, #manageBooking label {
    font-size: 12px;
}

#logIn input::-webkit-input-placeholder, #manageBooking input::-webkit-input-placeholder {
    font-size: 16px;
    font-weight: 500;
}

#logIn input::-moz-placeholder, #manageBooking input::-moz-placeholder {
    font-size: 16px;
    font-weight: 500;
}

#logIn input:-ms-input-placeholder, #manageBooking input:-ms-input-placeholder {
    font-size: 16px;
    font-weight: 500;
}

#logIn input::-ms-input-placeholder, #manageBooking input::-ms-input-placeholder {
    font-size: 16px;
    font-weight: 500;
}

#logIn input::placeholder, #manageBooking input::placeholder {
    font-size: 16px;
    font-weight: 500;
}

#logIn .form-group, #manageBooking .form-group {
    margin-bottom: 12px;
}

    #logIn .form-group label, #manageBooking .form-group label {
        top: 0.5rem;
    }

#logIn .textBtn, #manageBooking .textBtn {
    text-align: center;
    font-size: 14px;
}

    #logIn .textBtn a, #manageBooking .textBtn a {
        text-align: center;
        font-size: 14px;
        color: #7c7c7c;
    }

.required {
    color: #000;
}

    .required::after {
        content: "*";
        color: #bd081c;
        margin-left: 0.25rem;
    }

.modal .close span {
    font-size: 28px;
}

.modal .col-form-label {
    font-weight: 300;
}

.custom-control-label {
    font-size: 14px;
}

.custom-control {
    padding-left: 1.625rem !important;
}

.custom-control-label::before {
    top: 0;
    left: -1.625rem;
    width: 1.25rem;
    height: 1.25rem;
}

.custom-control-label::after {
    top: 0;
    left: -1.625rem;
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    content: "";
    background: no-repeat 50%/60% 60%;
}

.textBtn a {
    display: inline-block;
    padding: 8px 12px;
}

.anotherLogin .tit {
    position: relative;
    font-size: 14px;
    font-weight: 500;
    color: #929292;
    text-align: center;
}

    .anotherLogin .tit span {
        position: relative;
        font-size: 14px;
        font-weight: 500;
        color: #929292;
        display: inline-block;
        padding: 4px 8px;
        background: #fff;
        z-index: 1;
    }

    .anotherLogin .tit::after {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        height: 50%;
        border-top: 1px solid #ccc;
        bottom: 0;
    }

.flightBox .card {
    max-width: 1200px;
    margin: 0 auto;
    z-index: 10;
    overflow: visible;
    -webkit-filter: drop-shadow(0px 2px 2px rgba(0,0,0,0.2));
    filter: drop-shadow(0px 2px 2px rgba(0,0,0,0.2));
    margin-bottom: 30px;
}

.flightBox .card-body {
    display: flex;
    flex-wrap: wrap;
    padding: 1rem .5rem 1rem;
}

    .flightBox .card-body > div {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .flightBox .card-body .row {
        margin-top: 0;
        padding: 0;
    }

        .flightBox .card-body > div > div, .flightBox .card-body .row > div {
            cursor: pointer;
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            align-items: stretch;
            justify-content: center;
            text-align: center;
            padding-top: 6px;
            padding-left: 0;
            padding-right: 0;
            padding-bottom: 6px;
        }

#multi_way.on .flightLoc > div {
    padding-bottom: 0;
}

header .navbar {
    background: transparent;
    box-shadow: none;
}

header.scroll .navbar, header.keep_scroll .navbar {
    background: #fff;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12);
}

.pageLayout-4 header.scroll .navbar, .pageLayout-4 header.keep_scroll .navbar {
    background: #479ff6;
    box-shadow: none;
}

.pageLayout-4 header.scroll ~ main .sticky_auto, .pageLayout-4 header.keep_scroll ~ main .sticky_auto {
    box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12);
}

.flightBox {
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    flex: 1;
}

    .flightBox > div {
        display: flex;
        flex-direction: column;
        flex: 1;
    }

        .flightBox > div > div {
            width: 100%;
            flex: 1;
        }

.cityCode {
    font-size: clamp(20px, 2.2vw, 26px);
    font-weight: 600;
    color: #479ff6;
    padding-top: 16px;
}

#multi_way .cityCode {
    font-size: clamp(20px, 2.2vw, 22px);
    font-weight: 500;
}

.city {
    font-size: clamp(14px, 1.5vw, 16px);
    font-weight: normal;
    color: #000;
}

.flightType {
    padding: 0;
    font-size: 16px;
    font-weight: 500;
    color: #888;
}

    .flightType > div {
        padding-bottom: 6px;
        margin: 0 12px;
    }

    .flightType .on {
        color: #479FF6;
        padding-bottom: 3px;
        padding-bottom: 4px;
        border-bottom: 2px solid #479FF6;
    }

.flightLoc {
    padding-top: 12px;
    border-bottom: 1px solid #dee2e6;
}

#multi_way .flightLoc {
    padding-top: 0;
    padding-bottom: 0;
}

.card-body #one_round .flightLoc > div:first-child {
    background: url(../img/airticket/icon-takeoff.png) no-repeat top /18px;
}

.card-body #one_round .flightLoc > div:last-child {
    background: url(../img/airticket/icon-land.png) no-repeat top /18px;
}

.flightDate {
    align-self: stretch;
    align-content: center;
    border-bottom: 1px solid #dee2e6;
    text-transform: uppercase;
}

    .flightDate .txt-st-a20 {
        font-size: clamp(18px, 2.2vw, 22px) !important;
    }

#multi_way .flightDate .txt-st-a20 {
    font-size: clamp(16px, 2vw, 20px) !important;
}

#multi_way .flightClass {
    display: flex;
    align-items: flex-end;
}

    #multi_way .flightClass .txt-st-a20 {
        font-size: clamp(12px, 1.6vw, 16px) !important;
    }

.flightPax {
    background: url(../img/airticket/icon-user.png) no-repeat 20px /16px;
}

#one_round.on ~ div .flightClass {
    margin-top: 0;
    padding-top: 12px;
    padding-left: 20px;
    padding-bottom: 8px;
    border-top: 1px solid #dee2e6;
    background: url(../img/airticket/icon-seat.png) no-repeat 20px /16px;
}

.infoBox > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

    .infoBox > div > div {
        width: 100%;
        max-width: 524px;
        height: 30vw;
        max-height: 270px;
        padding: 0;
        overflow: hidden;
        border-radius: 0.25rem;
        position: relative;
        margin-bottom: 8px;
        cursor: pointer;
    }

        .infoBox > div > div.overlay::after {
            content: "";
            display: block;
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0,0,0,0.3);
            z-index: 0;
        }

.infoBox .tit {
    position: absolute;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    top: 50%;
    left: 50%;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 500;
    text-shadow: 0 1px 3px rgba(0,0,0,0.8);
    transform: translate(-50%, -50%);
    z-index: 1;
}

/* .faqBox {
    background: url(../img/banner/faq.jpg) no-repeat center /cover;
}

.visaBox {
    background: url(../img/banner/visa.jpg) no-repeat center /cover;
}

.insBox {
    background: url(../img/banner/insurance.jpg) no-repeat center /cover;
}

.branchBox {
    background: url(../img/banner/branch.jpg) no-repeat center /cover;
}

.airBox {
    background: url(../img/banner/airModal.jpg) no-repeat center /cover;
} */

.flightEvent .swiper-slide {
    width: 100%;
    max-width: 524px;
    height: 40vw;
    max-height: 340px;
    padding: 0;
    overflow: hidden;
    border-radius: 0.125rem;
    position: relative;
    cursor: pointer;
}

    .flightEvent .swiper-slide .info {
        position: absolute;
        display: block;
    }

.flightEvent .info {
    position: absolute;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    top: 50%;
    left: 10%;
    color: #fff;
    font-size: 1.125rem;
    font-weight: 500;
    text-shadow: 0 1px 4px rgba(0,0,0,0.8);
    transform: translate(0, -50%);
    text-align: left;
    z-index: 1;
}

.flightEvent .info {
    font-size: 1.25rem;
    margin-bottom: 1rem;
}

.flightEvent .period {
    font-size: 0.875rem;
    font-weight: 400;
}

#flightEvent .modal-body {
    padding: 20px 16px 24px;
}

.hdrDes {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
}

.swiperFlight {
    counter-reset: num;
}

    .swiperFlight .swiper-slide {
        position: relative;
        flex-direction: column;
        width: clamp(140px, 16.6vw, 200px);
        border: 1px solid #fff;
        padding: 4px 0;
        border-radius: 0.25rem;
    }

        .swiperFlight .swiper-slide img {
            width: clamp(12px, 1.33vw, 16px);
            margin: 0 4px;
        }

        .swiperFlight .swiper-slide::before {
            content: counter(num);
            counter-increment: num;
            font-size: 13px;
            font-weight: 500;
            color: #479ff6;
            background: #fff;
            position: absolute;
            top: 0;
            left: 0;
            width: 15px;
            border-radius: 0 0 0.25rem 0;
            text-align: center;
        }

.btn-circle-w.panelBtn {
    background: #fff;
    display: flex;
    align-self: center;
    border-radius: 50vh;
    padding: 5px;
    margin-left: 4px;
    margin-right: 6px;
}

.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    border-color: #479FF6;
}

.nav-pills .nav-link, .nav-tabs .nav-link {
    padding: 0.75rem .5rem 0.5rem;
}

.nav-tabs {
    margin-bottom: 8px;
}

.modal.h100.show {
    display: flex !important;
    flex-wrap: wrap;
}

    .modal.h100.show .modal-dialog {
        display: flex;
        flex-wrap: wrap;
        width: auto;
        overflow: auto;
    }

.modal.h100 .modal-header {
    padding: 0.875rem 1rem 0.625rem !important;
}

.modal.h100 .modal-body {
    overflow-y: auto;
    padding-top: 0;
}

.modal.h100 .modal-footer {
    padding: 0;
    font-size: 1rem;
    font-weight: 500;
}

    .modal.h100 .modal-footer > * {
        text-align: center;
        padding: 0.75rem 1rem;
        margin: 0;
        color: #479ff6;
        cursor: pointer;
    }

    .modal.h100 .modal-footer a {
        color: #479ff6;
    }

    .modal.h100 .modal-footer > *:not(:last-child) {
        border-right: 1px solid #dee2e6;
    }

.modal-title {
    font-size: 1.125rem;
    font-weight: 500;
}

.modal .tit {
    font-size: 1rem;
    font-weight: 500;
    margin: 16px 0 12px;
}

.modal .eventDesc, .modal .desc {
    font-size: 16px;
    font-weight: 400;
}

#visaNoticeDesc a {
    color: #007bff;
    text-decoration: underline;
}

.modal-content .modal-header {
    position: relative;
    z-index: 100;
    padding: 18px 18px 10px !important;
}

.modal-header .close {
    padding: 0.75rem;
}

.card .tit {
    font-size: 1.125rem;
    font-weight: 500;
    margin-bottom: 8px;
}

.card .list-st-01 {
    font-size: 1rem;
    list-style: none;
    padding-left: 16px;
    margin: 0;
}

.box-01 {
    text-align: center;
}

    .box-01 .card-title {
        font-size: 1rem;
        font-weight: 500;
    }

    .box-01 .box {
        margin: 12px 0;
    }

.videoWrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    z-index: 0;
}

    .videoWrapper iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

.tit {
    font-weight: 500;
}

.desc {
    font-size: 0.875rem;
}

.branchCat b {
    font-weight: 500;
}

#branchModal .btn {
    display: block;
    font-size: 16px;
    font-weight: 500;
    border-bottom: 1px solid #dee2e6 !important;
}

#branchModal .desc {
    font-size: 14px;
    padding: 8px 0 10px;
    border-bottom: 1px solid #dee2e6 !important;
}

.overlayPanel .infoArticle .titBox {
    padding-bottom: 0.375rem;
}

.overlayPanel .infoArticle b {
    font-weight: 500;
}

.branchCat .btn {
    display: block;
    font-size: 16px;
    font-weight: 500;
    border-bottom: 1px solid #dee2e6 !important;
    text-align: left;
}

.branchCat .desc {
    font-size: 14px;
    padding: 6px 0 10px;
    border-bottom: 1px solid #dee2e6 !important;
}

.dialog-share .modal-dialog-centered {
    /*align-items: flex-end;
    padding-bottom: 10vh;*/
}

/* special modal animation control */
.modal.fade.bottom .modal-dialog {
    transition: transform .3s ease-out;
    transform: translateY(25%);
    position: fixed;
    top: auto;
    right: auto;
    left: auto;
    bottom: 0;
}

.modal.show.bottom .modal-dialog {
    transform: translate(0);
}

.modal.fade.left, .modal.fade.right {
    height: 100%;
    margin: 0;
    width: 100%;
}

    .modal.fade.left .modal-content, .modal.fade.right .modal-content {
        height: 100%;
    }

    .modal.fade.left .modal-dialog {
        height: 100%;
        width: 90%;
        margin: 0;
        transition: transform .3s ease-out;
        transform: translatex(-25%);
    }

    .modal.fade.right .modal-dialog {
        height: 100%;
        width: 90%;
        margin: 0;
        transition: transform .3s ease-out;
        transform: translatex(25%);
        margin-left: auto;
    }

.modal.show.left .modal-dialog, .modal.show.right .modal-dialog {
    transform: translate(0);
}

/* for Country page */

.product > .row {
    min-width: 0;
}

    .product > .row > div {
    }

.product > div:not(:last-child) {
    margin-bottom: 2rem;
}

.product .prodType {
    position: absolute;
    top: 8px;
    left: 8px;
    font-size: .75rem;
    color: #fff;
    background: rgba(0, 0, 0, 0.41);
    padding: 2px 6px;
    border-radius: 0.25rem;
}

.product .prodEvent {
    position: absolute;
    bottom: 8px;
    right: 8px;
    font-size: .75rem;
    font-weight: 600;
}

.product .prodVisa {
    display: inline-block;
}

.product .prodSpecial {
    display: inline-block;
}

.product .prodImg {
    position: relative;
    margin-bottom: 8px;
    border-radius: 0.25rem;
    overflow: hidden;
}

    .product .prodImg .col {
        padding: 0;
    }

    .product .prodImg .d-flex {
        margin-top: 2px;
    }

        .product .prodImg .d-flex > .col:nth-child(1) {
            border-right: 1px solid #fff;
        }

        .product .prodImg .d-flex > .col:nth-child(2) {
            border-left: 1px solid #fff;
            border-right: 1px solid #fff;
        }

        .product .prodImg .d-flex > .col:nth-child(3) {
            border-left: 1px solid #fff;
        }

.product .prodTitle {
    margin-bottom: 2px !important;
    overflow: hidden;
    width: 100%;
}

    .product .prodTitle + .overlayBtn {
        align-self: center;
    }

.prodOption {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-weight: 400;
    margin-bottom: 6px;
}

    .prodOption > div {
        display: flex;
        align-items: center;
        padding: 0;
    }

        .prodOption > div:nth-child(n+2) {
            justify-content: center;
        }

        .prodOption > div > div {
            font-size: 0.813rem;
            padding: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

            .prodOption > div > div[class*=btn-] {
                padding-top: 2px !important;
                margin-right: 0.25rem;
            }

                .prodOption > div > div[class*=btn-]:last-child {
                    margin-right: 0;
                }

            .prodOption > div > div:empty {
                display: none;
            }

    .prodOption .material-icons {
        color: #479FF6;
        font-size: 18px;
        float: left;
    }

    .prodOption .mx-1 {
        margin: 0 0.125rem !important;
    }

    .prodOption .btn-st-f24.bg-primary > .material-icons {
        position: relative;
        left: -2px;
        top: -1px;
    }

    .prodOption > div > div * {
        font-size: inherit;
    }

.product .prodAdd {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
}

.product .prodHashtag {
    min-width: 0;
    display: flex;
    flex: 1;
}

    .product .prodHashtag > div {
        display: inline-block;
        margin-right: 2px;
        font-size: 0.813rem;
        color: #479FF6;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

        .product .prodHashtag > div:empty {
            display: none;
        }

.prodWish {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 2rem;
    height: 2rem;
    cursor: pointer;
}

    .prodWish::after {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        background: rgba(255, 255, 255, 0.78);
        border-radius: 50%;
        z-index: 0;
    }

    .prodWish .aniFlip {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: 1;
    }

        .prodWish .aniFlip div {
            position: absolute;
            width: 100%;
            height: 100%;
        }

        .prodWish .aniFlip img {
            position: absolute;
            width: 60%;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -46%);
        }

.product .prodPrice {
    margin-bottom: 4px;
    margin-right: 8px;
}

#prodInfo .modal-body {
    padding: 0.5rem 1rem 1rem;
}

#prodInfo .modal-title {
    font-size: 1rem;
}

#prodInfo .infoArticle {
    margin-bottom: 1rem;
}

    #prodInfo .infoArticle .desc {
        font-size: 0.875rem;
    }

    #prodInfo .infoArticle .material-icons {
        font-size: 1.25rem;
    }

    #prodInfo .infoArticle .countryList {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }

        #prodInfo .infoArticle .countryList > div {
            display: flex;
            flex-wrap: wrap;
            align-items: flex-end;
            margin-right: 8px;
        }

        #prodInfo .infoArticle .countryList img {
            width: 24px;
            height: 24px;
            margin-right: 6px;
        }

#prodInfo.modal .tit {
    font-size: 0.938rem;
    font-weight: 500;
    margin: 0 0 6px;
}

.optionBox {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

    .optionBox > div > div:last-child {
        text-align: center;
        width: auto;
        line-height: 1.875rem;
        font-size: 1rem;
        font-weight: 600;
        color: #252525;
    }

    .optionBox > div .icon {
        display: flex;
        align-items: center;
        width: 70%;
        background: #479ff6;
        color: #fff;
    }

        .optionBox > div .icon > *:first-child {
            color: #fff;
            font-size: 1.25rem;
            width: 20%;
            margin: 0 0.25rem 0 0.25rem;
        }

    .optionBox > div {
        font-size: 14px;
        font-weight: 400;
        margin-bottom: 4px;
        padding: 0;
        border: 1px solid #479FF6;
        background: #fff;
        border-radius: 0.25rem;
        width: calc(50% - 2px);
        height: 30px;
        display: flex;
    }

    .optionBox.ver2 > div {
        display: inline-flex;
        min-width: 50%;
    }

    .optionBox img {
        width: 24px;
        height: 24px;
    }

    .optionBox .material-icons {
        font-size: 20px;
        color: #479ff6;
    }

.overlayPanel .cat {
    margin-bottom: 1.375rem;
    position: relative;
}

    .overlayPanel .cat .tit {
        margin-bottom: 8px;
    }

    .overlayPanel .cat .sub-tit {
        font-size: 0.938rem;
        margin-bottom: 0.125rem;
    }

.overlayPanel .optionBox .tit {
    margin-bottom: 0;
    background: #479FF6;
    color: #fff;
    border-radius: 0.25rem;
    min-width: 80px;
    text-align: center;
    margin-right: 4px;
}

.overlayPanel .optionBox .desc {
    display: inline-block;
    padding: 0 0.25rem;
    color: #252525;
    font-weight: 400;
}

.optionCity > div {
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 4px;
    padding: 0;
    display: flex;
    align-items: center;
    color: #252525;
    margin-right: 0.375rem;
}

.optionCity .material-icons {
    font-size: 20px;
    color: #479ff6;
}

.availableDate {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #479FF6;
    border-radius: 0.25rem;
    padding: 0;
    margin-bottom: 0.75rem;
    overflow: hidden;
}

    .availableDate > div {
        border-bottom: 1px solid #d9ecff;
        border-top: none;
        padding: 0.75rem 0.5rem 0.5rem;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        margin: 0;
        font-size: 0.875rem;
    }

        .availableDate > div:last-child {
            border-bottom: none
        }

        .availableDate > div .d-inline-block {
            border: 1px solid #c9c9c9;
            border-radius: 0.25rem;
            padding: 2px 0.5rem 1px;
            margin-bottom: 4px;
        }

        .availableDate > div .d-inline {
            margin-right: 0.125rem;
            margin-bottom: 4px;
        }

            .availableDate > div .d-inline:not(:last-child)::after {
                content: "•";
                display: inline-block;
                margin: 0 2px;
                color: #479FF6;
            }

.iconYear {
    text-align: center;
    border: 1px solid #cce5ff;
    background: #cce5ff;
    color: #1e8fff;
    border-radius: 1.063rem;
    font-size: 0.875rem;
    font-weight: 500;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

    .iconYear .material-icons {
        font-size: 1rem;
        margin-right: 2px;
    }

.optionDatePrice {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #479FF6;
    border-radius: 0.25rem;
    padding: 0;
    margin-bottom: 0.75rem;
    overflow: hidden;
}

    .optionDatePrice.infoHotel {
        display: flex;
        flex-wrap: wrap;
        border: 1px solid #479FF6;
        border-radius: 0.25rem;
        padding: 0;
        margin-bottom: 0.75rem;
        overflow: hidden;
    }

.optionPaxPrice {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #479FF6;
    border-radius: 0.25rem;
    padding: 0;
    margin-bottom: 0.75rem;
    overflow: hidden;
}

.optionPrice {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #479FF6;
    border-radius: 0.25rem;
    padding: 0;
    margin-bottom: 0.75rem;
    overflow: hidden;
}

.optionDatePrice.infoHotel .footBtn mt-2 {
    border-radius: 0;
    background: #479FF6 !important;
    color: #fff !important;
}

.optionDatePrice > div {
    padding: 0;
}

.optionPaxPrice > div {
    width: 100%;
}

.optionPaxPrice .optionBook {
    border-bottom: 1px solid #d9ecff;
    border-top: none;
    padding: 0.75rem 0.5rem 0.75rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0;
}

    .optionPaxPrice .optionBook:last-child {
        border-bottom: none;
    }

.optionPaxPrice .slideCont .optionBook {
    border-bottom: 1px solid #d9ecff;
    border-top: none;
    padding: 0.75rem 0.5rem 0.75rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0;
}

.optionPaxPrice .slideCont .slideBox .optionBook {
    background: #f2f8ff;
}

.optionPaxPrice .dataDate {
    border-width: 0;
    border-radius: 0;
    text-align: center;
    padding: 0.5rem 0.25rem;
    display: flex;
    flex-wrap: wrap;
    background: #d9ecff !important;
}

    .optionPaxPrice .dataDate .material-icons {
        color: #479ff6;
    }

.optionDatePrice .option {
    background-color: #009688;
    color: #fff;
}

    .optionDatePrice .option:empty {
        display: none;
    }

.optionDatePrice > div > div > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.25rem;
}

    .optionDatePrice > div > div > div > div:last-child {
        justify-content: flex-end;
    }

.optionDatePrice .material-icons {
    font-size: 16px;
    color: #479FF6;
}

.optionDatePrice [class*=Lns] .material-icons {
    font-size: 24px;
    color: #479FF6;
}

.optionDatePrice .price-usd {
    margin-left: 8px;
}

.optionDatePrice .price-php {
    margin-left: 8px;
}

.optionDatePrice .price-usd::before {
    content: "USD ";
    font-size: 12px;
    font-weight: 400;
}

.optionDatePrice .price-php::before {
    content: "PHP ";
    font-size: 12px;
    font-weight: 400;
}

.prodOption > div:empty {
    display: none;
}

.product .btn {
    box-shadow: none;
}

.addInfo {
    border: 1px solid #c9c9c9;
    color: #797979;
    padding: 0.5rem 0.5rem !important;
    border-radius: 0.25rem;
    font-size: 0.875rem;
}

    .addInfo .tit {
        margin-bottom: 0.25rem !important;
    }

    .addInfo .material-icons {
        font-size: 1rem;
        color: #797979;
        vertical-align: sub;
    }

.extendWidth .addInfo {
    margin: 0 7px;
}

.quotation {
    text-align: center;
}

    .quotation > div {
        display: inline-block;
        position: relative;
        padding: 0.375rem 1.5rem;
        text-align: center;
    }

        .quotation > div::before {
            content: "";
            display: block;
            position: absolute;
            width: 1rem;
            height: 1rem;
            top: 0;
            left: 0;
            background: url(../../Content/img/icons/icon_qoutation_1.png) no-repeat center /contain;
            opacity: 0.3;
        }

        .quotation > div::after {
            content: "";
            display: block;
            position: absolute;
            width: 1rem;
            height: 1rem;
            bottom: 0;
            right: 0;
            background: url(../../Content/img/icons/icon_qoutation_2.png) no-repeat center /contain;
            opacity: 0.3;
        }

/* for Country page end */

/* css animation */

/* flip animation */
.aniFlip {
    transition: transform 1s;
    transform-style: preserve-3d;
}

    .aniFlip > div {
        -webkit-perspective: 0;
        -webkit-backface-visibility: hidden;
        -webkit-transform: translate3d(0,0,0);
        visibility: visible;
        backface-visibility: hidden;
    }

    .aniFlip > *:last-child {
        transform: rotateY(180deg);
    }

    .aniFlip.active {
        transform: rotateY(180deg);
    }
/* flip animation end */

/* slide animation */
.slideCont {
    position: relative;
}

.slideBtn .material-icons {
    font-size: 28px;
    padding: 0.5rem;
    transform: rotate(0deg);
    transition: all 0.4s;
}

.slideBtn.on .material-icons {
    transform: rotate(180deg);
}

.slideBtn.searchItem .material-icons {
    transform: rotate(0deg);
    transition: all 0.4s;
}

.slideBtn.searchItem.on .material-icons {
    transform: rotate(180deg);
}

.slideAllBtn .material-icons {
    font-size: 24px;
    padding: 0;
    transform: rotate(0deg);
    transition: all 0.4s;
}

.slideAllBtn.on .material-icons {
    transform: rotate(180deg);
}

.slideBox {
    display: none;
}

.optionPaxPrice .optionBook.slideBox {
    display: none;
}

.accBox .material-icons {
    font-size: 28px;
    padding: 0;
    transform: rotate(0deg);
    transition: all 0.4s;
}

.accBox.on .material-icons {
    transform: rotate(180deg);
}

.contact .accBox > .desc {
    margin-bottom: 0;
}

/* slide animation end */

/* css animation end*/

/* DOM style */
.domPage .layout-06 .box > span {
    padding: 0.25rem .5rem;
}

.domPage .ver3 {
    min-height: 200px;
}

/* int page added style */
.scrollTab_A .optionBtn {
    display: flex;
    padding: 0 0.875rem;
}

    .scrollTab_A .optionBtn > div {
        border: 1px solid #c9c9c9;
        border-radius: 0.25rem;
        padding: 0.25rem 0.75rem;
        font-size: 0.875rem;
        margin-right: 0.375rem;
        border-radius: 50vw;
    }

        .scrollTab_A .optionBtn > div.on {
            border: 1px solid #479FF6;
            background: #479FF6;
            color: #fff;
        }
/* int page added style end */

/* Detail page style */

header .navbar {
    padding: 0;
}

    header .navbar [class*=col] {
        padding: 0;
    }

        header .navbar [class*=col] > * {
            display: flex;
            align-items: center;
            height: 40px;
        }

.optionalHeader .container div[class*=col] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    height: 40px;
}

header .navbar .navbar-nav .nav-link .material-icons {
    font-size: 30px;
    color: #fff;
}

header.loged .navbar .navbar-nav {
    background: #fff;
}

header.loged #btnLoginM {
    display: none;
}

header .navbar .navbar-nav .nav-link[data-target=menu] .material-icons {
    display: none;
}

header.loged .navbar .navbar-nav .nav-link[data-target=menu] .material-icons {
    display: block;
}

header.loged .navbar .navbar-nav .nav-link .material-icons {
    background: linear-gradient(#0093fa, #0033cc);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

header .navbar .navbar-nav .nav-link[data-target=menu] {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 50vh;
    margin-top: 2px;
    margin-bottom: 2px;
    padding: 0 12px;
    height: 36px;
}

.navbar-expand-lg .navbar-collapse {
    flex: 0 0 auto;
}

header.loged .navbar .navbar-nav .nav-link[data-target=#logIn] {
    display: none;
}

header.loged .navbar .navbar-nav .nav-link[data-target=menu] {
    margin-left: 0;
    padding-left: 0.375rem;
}

.detailPage .header-icon .material-icons {
    width: 2.5rem;
    height: 2.5rem;
}

.detailPage .overlayClose {
    /*position: absolute;*/
    top: 0;
    left: 0;
}

    .detailPage .overlayClose .material-icons {
        font-size: 28px;
    }

.detailPage .searchClose .material-icons {
    font-size: 28px;
}

.pageLayout-4 header > nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    min-height: 48px;
    background: #479FF6;
    color: #fff;
}

.pageLayout-4 main, .pageLayout-4 main > .container-fluid {
    display: flex;
    flex-direction: column;
    flex: 1;
}

    .pageLayout-4 main > .container-fluid > .container.cat {
        background: #fff;
        flex: 1;
    }

.pageLayout-2 main, .pageLayout-2 main > .container-fluid {
    display: flex;
    flex-direction: column;
    flex: 1;
}

    .pageLayout-2 main > .container-fluid > .container:last-child {
        flex: 1;
    }

.detailPage header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
}

    .detailPage header .navbar {
        background: #fff;
        color: #479FF6;
        box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12);
    }

header.scrolled .navbar {
    background: #fff;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12);
}

.detailPage header.scroll .navbar, .detailPage header.keep_scroll .navbar {
    background: #fff;
}

.fixedBar {
    display: flex;
    flex-wrap: wrap;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1070;
    background: #fff;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 3px 9px 3px !important;
}

.detailPage .fixedBar > div {
    padding: 0;
}

    .detailPage .fixedBar > div button {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }

    .detailPage .fixedBar > div:not(:last-child) {
        margin-right: 0.25rem;
    }

.detailPage .fixedBar .material-icons {
    margin-right: 0.25rem;
}

.optionRight {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-left: 4px !important;
    padding-right: 8px !important;
}

    .optionRight > * {
        margin-right: 4px;
    }

    .optionRight img {
        width: auto;
        padding: 4px;
        box-sizing: content-box;
        cursor: pointer;
    }

.overlayHeader .closeRight {
    left: auto;
    padding-right: 0;
    color: #fff;
}

.detailPage .header-icon.optionRight .material-icons {
    width: auto;
    height: auto;
    font-size: 20px;
    padding: 4px;
    cursor: pointer;
}

.galleryBox .swiper-button-next, .galleryBox .swiper-button-prev {
    display: block;
    background: transparent;
    transform: none;
    width: auto;
    height: auto;
    box-shadow: none;
}

.galleryBox .swiper-button-next {
    right: 0;
    padding-right: 0.625rem;
}

.galleryBox .swiper-button-prev {
    left: 0;
    padding-left: 0.625rem;
}

    .galleryBox .swiper-button-next:after, .galleryBox .swiper-button-prev:after {
        font-size: 1.125rem;
        font-weight: 800;
        color: #fff;
    }

.galleryBox .swiper-pagination {
    width: auto;
    left: 50%;
    background: rgba(0,0,0,0.5);
    color: #fff;
    font-size: 0.75rem;
    padding: 2px 10px;
    border-radius: 0.5rem;
    transform: translate(-50%, 0);
}

.galleryBox {
    position: relative;
}

.photoBox .swiper-pagination {
    width: auto;
    left: 50%;
    background: rgba(0,0,0,0.5);
    color: #fff;
    font-size: 0.75rem;
    padding: 1px 8px;
    border-radius: 0.5rem;
    transform: translate(-50%, 0);
}

.swiper-slide .row.mx-0 > div {
    padding: 0;
}

.detailPage header .title {
    text-align: center;
    margin-bottom: 0;
    font-weight: 500;
    color: #252525;
}

.detailPage .cat .tit {
    margin-bottom: 0.375rem;
}

.detailPage .cat .desc .box .tit {
    margin-bottom: 0.125rem;
    font-size: 14px;
}

.detailPage .cat .sub-tit {
    font-weight: 500;
    margin-bottom: 0;
}

.detailPage .cat .box {
    margin-bottom: 1.25rem;
}

    .detailPage .cat .box:last-child {
        margin-bottom: 0;
    }

.detailPage .cat .desc .icon {
    display: inline-block;
    vertical-align: text-bottom;
    margin-left: 0.125rem;
    margin-right: 0.125rem;
}

    .detailPage .cat .desc .icon img {
        width: 1.375rem;
        height: 1.375rem;
        vertical-align: bottom;
    }

.detailPage .cat .content {
    font-size: 0.875rem;
}

    .detailPage .cat .content .box li {
        margin-bottom: 0.25rem;
    }

.detailPage .cat .desc .icon .material-icons {
    font-size: 1.25rem;
    vertical-align: bottom;
}

.detailPage .cat ul, .detailPage .cat ol {
    list-style: none;
    padding-left: 1rem;
    margin: 0;
}

    .detailPage .cat ul li, .detailPage .cat ol li {
        position: relative;
        margin-bottom: 0.25rem;
    }

        .detailPage .cat ul li:last-child, .detailPage .cat ol li:last-child {
            margin-bottom: 0;
        }

.detailPage .cat ul {
    list-style: none;
    padding-left: 1rem;
}

    .detailPage .cat ul li::before {
        content: "";
        display: block;
        position: absolute;
        width: 6px;
        height: 8px;
        left: -0.75rem;
        top: 5px;
        transform: rotate(45deg);
        border-width: 0px 2px 2px 0px;
        border-style: solid;
        border-color: #479ff6;
    }

.overlayPanel .desc ul, .desc ul {
    list-style: none;
    padding-left: 1rem;
}

    .desc ul:last-child {
        margin-bottom: 0;
    }

    .overlayPanel .desc ul > li, .desc ul > li {
        position: relative;
        padding-left: 0;
        margin-bottom: 0.25rem;
    }

    .overlayPanel .desc ul li::before, .desc ul li::before {
        content: "";
        display: block;
        position: absolute;
        width: 6px;
        height: 8px;
        left: -0.75rem;
        top: 0.25rem;
        transform: rotate(45deg);
        border-width: 0px 2px 2px 0px;
        border-style: solid;
        border-color: #479ff6;
    }

.detailPage .cat ul.list-st-02 li {
    margin-bottom: 0;
}

    .detailPage .cat ul.list-st-02 li::before {
        content: "";
        display: block;
        position: absolute;
        width: 4px;
        height: 2px;
        left: -0.5rem;
        top: 0.5rem;
        border-radius: 0;
        transform: translate(-50%, 0%);
        background: #479ff6;
    }

.detailPage .flight {
    background: #fff;
    border: 1px solid #DBE1E8;
    border-radius: 0.25rem;
    padding: 0.625rem;
}

.detailPage .desc .box .content {
    background: #fff;
    border: 1px solid #DBE1E8;
    border-radius: 0.25rem;
    padding: 0.625rem;
}

.detailPage .flight .row {
    margin-left: 0;
    margin-right: 0;
}

    .detailPage .flight .row > div {
        padding: 0;
    }

.detailPage .flight .inbound {
    border-bottom: none;
    padding-bottom: 0;
    margin-top: 0.625rem;
}

.detailCont article > div {
    padding: 0 14px;
}

.detailCont article .prodOption {
    width: auto;
}

.extendWidth {
    margin-left: -14px;
    margin-right: -14px;
}

.detailCont > div .extendWidth {
    margin-left: -14px;
    margin-right: -14px;
}

.detailCont .cat {
    position: relative;
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
    color: #252525;
}

    .detailCont .cat:last-child {
        border-bottom: none;
        color: #252525;
    }

.detailPage .accommodation .optionCity > div {
    border: 1px solid #c9c9c9;
    border-radius: 0.25rem;
    padding: 0.25rem 0.625rem 0.25rem;
}

.itinerary {
    counter-reset: day;
}

    .itinerary .day {
        border-bottom: 1px solid #f0f0f0;
        font-weight: 500;
        padding: 0.75rem 0.875rem 0.688rem 4.375rem;
        position: relative;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }

        .itinerary .day .sub-tit {
            font-weight: 400;
            color: #479ff6;
            font-size: 0.813rem;
        }

    .itinerary.ver2 {
        border-top: 1px solid #f0f0f0;
    }

        .itinerary.ver2 .desc {
            padding: 0rem 0.875rem 0.5rem;
            border-bottom: 1px solid #f0f0f0;
        }

            .itinerary.ver2 .desc ul {
                display: flex;
                flex-wrap: wrap;
                justify-content: space-between;
            }

                .itinerary.ver2 .desc ul li {
                    display: flex;
                    flex-wrap: wrap;
                    padding: 0;
                }

                    .itinerary.ver2 .desc ul li .tit {
                        margin-bottom: 0;
                        margin-right: 0.5rem;
                    }

        .itinerary.ver2 .box {
            margin-bottom: 0;
        }

        .itinerary.ver2 .day {
            padding: 0 0.5rem 0.5rem 3.75rem;
            margin-left: 0.5rem;
            margin-right: 0.5rem;
            border-bottom: none;
        }

            .itinerary.ver2 .day::before {
                left: 0.25rem;
            }

    .itinerary .day > div {
        padding: 0;
    }

    .itinerary .day .material-icons {
        padding: 0;
        font-size: 1.25rem;
        color: #479ff6;
    }

    .itinerary .day::before {
        counter-increment: day;
        content: "Day " counter(day) " ";
        display: block;
        position: absolute;
        font-weight: 400;
        color: #479ff6;
        border: 1px solid #479ff6;
        min-width: 3rem;
        text-align: center;
        padding: 0px 0.25rem;
        border-radius: 0.25rem;
        left: 0.875rem;
        top: 0.75rem;
        font-size: 0.75rem;
    }

.dayDetail {
    border-bottom: 1px solid #f0f0f0;
    padding: 0.875rem 0.75rem;
    background: #fff;
}

    .dayDetail .material-icons {
        color: #479ff6;
        font-size: 1rem;
        position: absolute;
        left: 0;
        top: 0;
    }

    .dayDetail > div {
        position: relative;
        padding-left: 1.25rem;
    }

        .dayDetail > div.schedule::before {
            content: "";
            display: block;
            position: absolute;
            width: 2px;
            height: calc(100% - 0.5rem);
            background: #c9c9c9;
            opacity: 0.25;
            left: 0.5rem;
            bottom: 0;
            transform: translate(-1px, 0);
        }

.place, .port, .airport {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-weight: 500;
    margin-bottom: 0.75rem;
    position: relative;
}

    .place .tit, .port .tit, .airport .tit {
        margin-bottom: 0 !important;
    }

    .place .desc, .port .desc, .airport .desc {
        font-weight: 400;
    }

.point {
    position: relative;
    margin-bottom: 0.75rem;
}

.place::before {
    content: "";
    display: block;
    position: absolute;
    width: 14px;
    height: 14px;
    background: url(../img/icons/icon_location.png) no-repeat center /contain;
    left: -1.188rem;
    top: 0.125rem;
}

.port::before {
    content: "";
    display: block;
    position: absolute;
    width: 14px;
    height: 14px;
    background: url(../img/icons/icon_port.png) no-repeat center /contain;
    left: -1.188rem;
    top: 0.125rem;
}

.airport::before {
    content: "";
    display: block;
    position: absolute;
    width: 14px;
    height: 14px;
    background: url(../img/icons/icon_airport.png) no-repeat center /contain;
    left: -1.188rem;
    top: 0.125rem;
}

.point::before {
    content: "";
    display: block;
    position: absolute;
    width: 6px;
    height: 6px;
    background: #479FF6;
    border-radius: 50%;
    left: -1.125rem;
    transform: translate(+50%, 0);
    top: 0.438rem;
}

.place .tit {
    width: 100%;
    margin-bottom: 0.5rem !important;
}

.point .tit {
    width: 100%;
    margin-bottom: 0.375rem !important;
}

.tour .tit {
    width: 100%;
    margin-bottom: 0.25rem !important;
    padding-left: 1.125rem;
    position: relative;
}

.dayDetail .tour {
    margin-bottom: 0.75rem !important;
}

.place > .desc, .point > .desc, .tour > .desc {
    margin-bottom: 0.75rem;
}

    .place > .desc:last-child, .point > .desc:last-child, .tour > .desc:last-child {
        margin-bottom: 0;
    }

.tour .tit::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background: url(../img/icon_flag.png) no-repeat center /contain;
    margin-right: 0.25rem;
    position: absolute;
    left: 0;
    top: 4px;
}


.optionTour.withIcon .slideBtn .tit::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background: url(../img/icons/icon_flag.png) no-repeat center /contain;
    margin-right: 0.25rem;
}

.optionTour.withIconUser .tit::before {
    content: '\e7ef';
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 1.375rem;
    color: #479FF6;
    display: inline-block;
    vertical-align: middle;
    width: 1.375rem;
    height: 1.375rem;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    margin-right: 6px;
    margin-bottom: 1px;
}

.place .desc {
    font-weight: 400;
}

.place img, .point img, .tour img {
    margin-top: 0.25rem;
    margin-left: 16px;
    width: 93%;
}

.hotel {
    position: relative;
    margin-top: 1.25rem;
    padding-left: 0 !important;
}

.meal {
    margin-top: 1.25rem;
    position: relative;
    padding-left: 0 !important;
}

    .hotel > .tit, .meal > .tit {
        position: relative;
        z-index: 10;
    }

        .hotel > .tit::after, .meal > .tit::after {
            content: "";
            display: block;
            position: absolute;
            width: calc(100% - 80px);
            height: 1px;
            background: #f0f0f0;
            right: 0;
            top: 0.5rem;
            transform: translate(-1px, 0);
            z-index: -1;
        }

    .hotel .tit, .meal .tit {
        display: flex;
        flex-wrap: wrap;
        align-items: end;
    }

    .hotel .material-icons, .meal .material-icons {
        position: relative;
        margin-right: 0.25rem;
    }

    .hotel img, .meal img {
        margin-top: 0.25rem;
    }

.hotelDetail {
    padding: 0 0.875rem;
    margin-bottom: 1rem;
    background: #fff;
}

    .hotelDetail img {
        margin-top: 0.25rem;
    }

    .hotelDetail .cat {
        padding-top: 0;
        padding-bottom: 1.25rem;
    }

        .hotelDetail .cat:last-child {
            padding-bottom: 0;
        }

        .hotelDetail .cat .tit {
            margin-bottom: 0.5rem;
        }

.tabContent .hotelDetail {
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    padding: 0.875rem;
}

li.extendWidth {
    margin-top: 0.25rem;
    margin-left: -1rem !important;
    margin-right: 0 !important;
    margin-bottom: 1rem;
}

    li.extendWidth::before {
        display: none !important;
    }

.dayDetail > div > div:last-child {
    margin-bottom: 0;
}

.optionDatePrice .price-usd {
    font-size: 1rem;
}

.optionDatePrice .price-php {
    font-size: 1rem;
}

.optionPrice > div {
    border-bottom: 1px solid #d9ecff;
    border-top: none;
    padding: 0.25rem 0.5rem 0.25rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0;
}

.optionDatePrice.infoHotel > div > div > div {
    border-bottom: 1px solid #d9ecff;
    border-top: none;
    padding: 0.25rem 0.5rem 0.25rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0;
}

.optionDatePrice > div > div.slideBox > div:first-child {
    border-top: 1px solid #d9ecff;
}

.optionDatePrice > div > div > div {
    border-bottom: 1px solid #d9ecff;
    border-top: none;
    padding: 0.625rem 0.625rem 0.625rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0;
}

    .optionDatePrice > div > div > div:last-child {
        border-bottom: none;
    }

    .optionDatePrice > div > div > div:not([display*=none]):last-child {
        border-bottom: none;
    }

    .optionDatePrice > div > div > div > div {
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        font-size: 0.875rem;
    }

.optionDatePrice .btnBook {
    padding: 0;
    width: auto;
    background: #479FF6;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
}

    .optionDatePrice .btnBook .material-icons {
        margin-right: 2px;
    }

    .optionDatePrice .btnBook .material-icons {
        color: #fff;
    }

    .optionDatePrice .btnBook .btn {
        font-size: 0.875rem;
        padding: 0.25rem 0.5rem;
    }

.optionDatePrice > div > div:first-child > div:last-child > div:last-child::after {
    content: "";
    color: #e90e0e;
}

.optionDatePrice [class*=price-], .option-1 [class*=price-] {
    font-size: 1rem;
}

    .option-1 [class*=price-]::before {
        font-size: 0.75rem;
    }

.optionBook {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
    font-size: 0.875rem;
    position: relative;
}

    .optionBook > div:first-child .material-icons {
        font-size: 1rem;
        opacity: 0.5;
        vertical-align: sub;
    }

    .optionBook > div:first-of-type {
        font-weight: 600;
    }

    .optionBook .price-usd {
        text-align: right;
        color: #e90e0e;
        font-size: 1rem;
        padding: 0 0.5rem 0 0.25rem;
    }

    .optionBook .paxPrice {
        display: flex;
        color: #252525;
        align-items: center;
    }

        .optionBook .paxPrice .material-icons.fixIcon {
            display: flex;
            align-items: center;
            font-size: 1.125rem;
        }

        .optionBook .paxPrice .price-usd::before {
            content: "USD ";
            font-size: 12px;
            font-weight: 400;
        }

        .optionBook .paxPrice .minus, .optionBook .paxPrice .plus {
            color: #479ff6;
            border-radius: 0.25rem;
            border: 1px solid #a8d4ff;
            padding: 0.125rem;
        }

        .optionBook .paxPrice .minus {
            margin-right: 0.5rem;
        }

        .optionBook .paxPrice .plus {
            margin-left: 0.5rem;
        }

    .optionBook.title {
        color: #278ef5 !important;
        border-bottom: 1px solid #d9ecff;
        padding-bottom: 0.25rem;
    }

.custom-select {
    color: #252525;
    font-size: 1rem;
    font-weight: 400;
    padding: 0.375rem 0.75rem;
    border: 1px solid #479ff6;
}

    .custom-select.selectVer3 {
        height: 42px;
    }

.footPrice {
    align-self: flex-end;
    font-size: 1.125rem;
}

    .footPrice .price-usd, .footPrice .price-php {
        font-size: 1.25rem;
    }

.tab_st_01 {
    display: flex;
    overflow-x: auto;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0.375rem;
}

    .tab_st_01 .box {
        display: block;
        padding: 0 0.11rem 0;
        width: auto;
        max-width: 100%;
        flex: 0 1 auto !important;
        text-align: center;
        margin-bottom: 6px !important;
    }

        .tab_st_01 .box > span {
            display: block;
            padding: 0.25rem .75rem;
            text-align: center;
            border: 1px solid #9f9f9f;
            border-radius: 1.063rem;
            font-size: 0.875rem;
            font-weight: 400;
            box-sizing: content-box;
        }

        .tab_st_01 .box.on > span {
            background: #3d8cdb;
            border: 1px solid #3d8cdb;
            color: #fff;
        }

.detailPage .optionCity {
    display: flex;
    padding: 0 0.875rem;
    white-space: nowrap;
}

.overlayPanel .optionCity {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    white-space: nowrap;
}

    .overlayPanel .optionCity > div {
        display: inline-flex;
    }

    .overlayPanel .optionCity > div {
        border-radius: 0.25rem;
        min-width: 60px;
        flex: 0 0 auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        border: 1px solid #c9c9c9;
        margin-right: 4px;
        padding: 0.375rem 0.5rem 0.25rem 0.25rem;
        margin-bottom: 0.25rem;
        align-items: end;
    }

.detailPage .optionCity > div {
    border: 1px solid #c9c9c9;
    border-radius: 0.25rem;
    padding: 0.25rem 0.625rem 0.25rem 0.25rem;
}

    .detailPage .optionCity > div.on {
        border: 1px solid #479ff6;
        color: #fff;
        background: #479ff6;
    }

.detailPage .optionCity div.on .material-icons {
    color: #fff;
}

.detailPage .optionCity div:last-child::after {
    content: "";
    display: block;
    position: absolute;
    right: -0.875rem;
    width: 0.875rem;
}

.detailPage .optionCity .material-icons {
    color: #797979;
}

.specialBox {
    z-index: 1;
    border-bottom: 1px solid #dee2e6;
}

    .specialBox > .scrollAct {
        display: flex;
        flex-wrap: nowrap;
        padding: 0.625rem 0.75rem 0.5rem;
    }

        .specialBox > .scrollAct > * {
            display: flex;
            align-items: center;
            text-align: center;
            border: 1px solid #c9c9c9;
            border-radius: 0.25rem;
            padding: 0.375rem 0.625rem;
            font-size: 0.875rem;
            font-weight: 400;
            color: #252525;
            margin-right: 0.375rem;
        }

            .specialBox > .scrollAct > *.on {
                color: #fff;
                background: #479ff6;
                border: 1px solid #479ff6;
            }

    .specialBox > .tabBtn {
        display: flex;
        flex-wrap: nowrap;
        padding: 0.625rem 0.75rem 0.5rem;
    }

        .specialBox > .tabBtn > * {
            display: flex;
            align-items: center;
            text-align: center;
            border: 1px solid #479ff6;
            border-radius: 0.25rem;
            padding: 0.375rem 0.625rem;
            font-size: 0.875rem;
            font-weight: 400;
            color: #479ff6;
            margin-right: 0.375rem;
        }

            .specialBox > .tabBtn > *.on {
                color: #fff;
                background: #479ff6;
                border: 1px solid #479ff6;
            }

        .specialBox > .tabBtn > .tabAll {
            display: flex;
            align-items: center;
            text-align: center;
            border-radius: 0.25rem;
            padding: 0.375rem 0.625rem;
            font-size: 0.875rem;
            font-weight: 400;
            margin-right: 0.375rem;
            color: #ef4fa7;
            border: 1px solid #ef4fa7;
        }

            .specialBox > .tabBtn > .tabAll.on {
                color: #fff;
                background: #ef4fa7;
                border: 1px solid #ef4fa7;
            }

    .specialBox > .classTabBtn {
        display: flex;
        flex-wrap: nowrap;
        padding: 0.625rem 0.75rem 0.5rem;
    }

        .specialBox > .classTabBtn > * {
            display: flex;
            align-items: center;
            text-align: center;
            border: 1px solid #479ff6;
            border-radius: 0.25rem;
            padding: 0.375rem 0.625rem;
            font-size: 0.875rem;
            font-weight: 400;
            color: #479ff6;
            margin-right: 0.375rem;
        }

            .specialBox > .classTabBtn > *.on {
                color: #fff;
                background: #479ff6;
                border: 1px solid #479ff6;
            }

        .specialBox > .classTabBtn > .tabAll {
            display: flex;
            align-items: center;
            text-align: center;
            border-radius: 0.25rem;
            padding: 0.375rem 0.625rem;
            font-size: 0.875rem;
            font-weight: 400;
            margin-right: 0.375rem;
            color: #ef4fa7;
            border: 1px solid #ef4fa7;
        }

            .specialBox > .classTabBtn > .tabAll.on {
                color: #fff;
                background: #ef4fa7;
                border: 1px solid #ef4fa7;
            }

.detailPage .logo_rpoint {
    width: 70px;
    vertical-align: baseline;
    margin-right: 0.25rem;
}

.dataDate {
    border: 1px solid #479ff6;
    border-radius: 0.25rem;
    text-align: center;
    padding: 0.25rem;
}

    .dataDate .custom-select {
        border: none;
        padding: 0rem 1.75rem 0rem .75rem;
        height: 2rem;
    }

.sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 48px;
    z-index: 20;
}

.sticky-t0 {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 20;
}

.sticky-t48 {
    position: -webkit-sticky;
    position: sticky;
    top: 48px;
    z-index: 20;
}

.sticky-t88 {
    position: -webkit-sticky;
    position: sticky;
    top: 88px;
    z-index: 20;
}

.custom-1.sticky-t0 {
    padding: 12px 0;
    background: #fff;
}

.infoArticle .slideBtn {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

    .infoArticle .slideBtn > div {
        padding: 0;
    }

    .infoArticle .slideBtn .tit {
        margin-bottom: 0;
    }

.infoArticle .titBox {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-bottom: 0.25rem;
}

.infoArticle .slideBtn .material-icons {
    padding: 0;
    font-size: 1.25rem;
}

.infoArticle > div > .box:not(:last-child) {
    border-bottom: 1px solid #dee2e6;
    margin-bottom: 0.75rem !important;
    padding-bottom: 0.375rem;
}

.infoArticle .optionIcon .content {
    margin-bottom: 0.25rem;
}


.h_scroll > div {
    display: flex;
}

.infoCountry .cat {
    background: #cae3ea;
    padding: 1rem 0.875rem 0;
    color: #326b7f;
}

.infoCountry .titBox {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-bottom: 0.25rem;
}

    .infoCountry .titBox .tit {
        font-size: 1.5rem;
        font-weight: 600;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        margin-bottom: 0;
    }

.infoCountry .flag {
    width: 26px;
    margin-right: 0.5rem;
}

.infoCountry .desc .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    color: #326b7f;
}

    .infoCountry .desc .box .tit {
        text-align: right;
        width: 40%;
        padding: 0 0.5rem;
    }

    .infoCountry .desc .box .desc {
        width: 50%;
        padding: 0 0.5rem;
    }

.optionTour .slideArticle {
    border: 1px solid #479FF6 !important;
    background: #fff !important;
    border-radius: 0.25rem;
    margin-top: 0.375rem;
    overflow: hidden;
}

.optionTour .slideBtn {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-weight: 500;
    padding: 0.75rem 0.75rem 0.75rem 0.75rem;
    position: relative;
    display: flex;
    background: #fff;
    justify-content: center;
}

.optionTour .relatedProd {
    border: 1px solid #c9c9c9 !important;
    background: #fff !important;
    border-radius: 0.25rem;
    margin-top: 0.375rem;
    overflow: hidden;
}

    .optionTour .relatedProd:hover .slideBtn {
        background: #d9ecff !important;
    }

    .optionTour .relatedProd .slideBtn {
        padding: 0.625rem 0.75rem 0.625rem 0.75rem;
    }

.optionTour .cardArticle {
    border: none !important;
    background: #fff !important;
    border-radius: 0.25rem;
    overflow: hidden;
    box-shadow: 0 1px 4px -2px rgba(0,0,0,0.7);
    margin-bottom: 0.5rem;
}

.optionTour .slideBtn > .col {
    flex: 1;
    min-width: 0;
}

.optionTour .slideBtn > div {
    padding: 0;
}

.optionTour .slideBox > div > div {
    margin-bottom: 0;
}

.optionTour .slideBtn .material-icons {
    padding: 0;
    font-size: 1.25rem;
    color: #479ff6;
}

.optionTour .slideCont .slideBox {
    border-bottom: 1px solid #dee2e6;
    padding: 0.875rem 0.75rem;
    margin-bottom: 0.5rem;
    background: #fff;
}

    .optionTour .slideCont .slideBox:last-of-type {
        border: none;
    }

.optionTour .priceBox {
    text-align: left;
}

.tourOption {
    padding: 0 0.875rem;
}

    .tourOption .tit {
        padding: 0;
        height: 30px;
    }

        .tourOption .tit .material-icons {
            color: #000;
            font-size: 1.5rem;
            opacity: 0.6;
        }

        .tourOption .tit img {
            height: 28px;
            width: auto;
            opacity: 0.6;
            margin-bottom: 0.125rem;
        }

    .tourOption .desc .material-icons {
        color: #7c7c7c;
        font-size: 0.875rem;
        margin-left: 0.125rem;
    }

    .tourOption > div {
        border-radius: 0.25rem;
        min-width: 60px;
        flex: 1 0 auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        border: 1px solid #c9c9c9;
        margin-right: 4px;
        padding: 0.25rem 0;
    }

        .tourOption > div > div {
            padding: 0;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;
            font-size: 0.75rem;
        }

.overlayPanel .tourOption {
    display: flex;
    flex-wrap: wrap;
}

    .overlayPanel .tourOption > div {
        border-radius: 0.25rem;
        min-width: 60px;
        flex: 0 0 auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        border: 1px solid #c9c9c9;
        margin-right: 4px;
        padding: 0.375rem 0 0.25rem;
        margin-bottom: 0.25rem;
    }

.tipBox {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    border-radius: 0.25rem;
    text-align: center;
    padding: 0.5rem 0.25rem;
    background: rgba(0,0,0,.7);
    z-index: 100;
    font-size: 0.875rem;
    font-weight: 400;
    color: #fff;
}

.myVisa .tipBox {
    width: auto;
    text-align: left;
    padding: 0.5rem 0.75rem;
}

.photoBox {
    position: relative;
}

    .photoBox .swiper-button-next, .photoBox .swiper-button-prev {
        display: block;
        background: transparent;
        transform: none;
        width: auto;
        height: auto;
        box-shadow: none;
    }

    .photoBox .swiper-button-next {
        right: 0.5rem;
    }

    .photoBox .swiper-button-prev {
        left: 0.5rem;
    }

        .photoBox .swiper-button-next:after, .photoBox .swiper-button-prev:after {
            font-size: 1.125rem;
            font-weight: 800;
            color: #fff;
        }

.manager {
    float: left;
    margin-right: 0.875rem;
    text-align: center;
}

.circlePhoto {
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 50%;
    overflow: hidden;
}

    .circlePhoto img {
        -o-object-fit: cover;
        object-fit: cover;
    }

.managerName {
    margin-bottom: 0.375rem;
}

    .managerName .tit {
        font-size: 1rem;
    }

    .managerName .txt-st-sm {
        opacity: 0.6;
    }

.accent {
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.datepicker > div {
    display: inherit;
}

.infoHotel .overlayBtn .col-12 {
    padding: 0;
}

.hotel-star-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    height: 1rem;
}

.hotel-star {
    color: #0498de;
    position: relative;
    bottom: 1px;
    font-size: .75rem;
    margin-right: 0;
}

.infoHotel .recom {
    border: 1px solid #e90e0e !important;
    color: #e90e0e !important;
    padding: 0.188rem 0.188rem 0.188rem 0.25rem !important;
    border-radius: 0.25rem;
    margin-right: 0.25rem;
    font-size: 0.75rem;
}

.infoHotel .area {
    color: #252525;
    font-size: 0.875rem;
    font-weight: 400;
}

.datepicker div {
    display: inherit;
}

.panelTitle {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

    .panelTitle .hotel-star-box {
        margin-right: 0.25rem;
        text-align: center;
        justify-content: center;
    }

    .panelTitle .hotel-star {
        color: #fff;
        margin-right: 1px;
    }

.modal {
    z-index: 1110;
}

.empBox .tit {
    margin-bottom: 0 !important;
    background: #fff;
    position: relative;
    display: inline-block;
    padding-right: 0.5rem;
}

.empBox .desc {
    border: 1px solid #797979;
    border-radius: 0.25rem;
    padding: 1rem 0.375rem 0.5rem;
    margin-top: -0.8rem;
}

.addIconInfo::after {
    content: "i";
    display: inline-block;
    border: 1px solid #c4e1ff;
    border-radius: 50%;
    width: 15px;
    height: 15px;
    color: #479ff6;
    text-align: center;
    line-height: 15px;
    font-size: 0.75rem;
    font-weight: 600;
    margin-left: 4px;
    background: #c4e1ff;
    position: relative;
    bottom: 1px;
}

.addIconInfo {
    display: flex;
    align-items: baseline;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mw-0 {
    min-width: 0;
}

.infoHotel .addIconInfo .text-truncate {
    font-size: 1rem;
}

.custom-checkbox.v1 {
    width: 1.25rem;
    height: 1.25rem;
}

.hotelStar, .box-st-1 {
    background: #d9ecff;
    color: #2c96ff;
    display: inline-block;
    padding: 0.063rem 0.375rem 0;
    border-radius: 0.25rem;
    font-size: 0.75rem !important;
}

    .hotelStar .hotel-star {
        color: #2c96ff;
        position: relative;
        bottom: 1px;
        font-size: .625rem;
        margin-right: 0;
        margin-left: 2px;
    }

.hotelOption {
    display: flex;
    flex-wrap: wrap;
}

    .hotelOption > div {
        text-align: center;
        border: 1px solid #cce5ff;
        background: #cce5ff;
        color: #1e8fff;
        border-radius: 1.063rem;
        font-size: 0.875rem;
        font-weight: 400;
        box-sizing: content-box;
        padding: 0.25rem 0.625rem 0.25rem 0.625rem !important;
        margin-right: 0.25rem;
        margin-bottom: 0.25rem;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }


.input-st-normal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-radius: 0.25rem;
    font-size: 1rem;
    background: #fff;
}

    .input-st-normal .material-icons {
        font-size: 22px;
    }

.input-st-1 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border: 1px solid #479FF6;
    border-radius: 0.25rem;
    margin-bottom: 0.75rem;
    color: #252525;
    font-weight: 500;
    font-size: 1rem;
    min-height: 42px;
    padding: 0.375rem;
}

    .input-st-1 > div {
        padding: 0;
    }

    .input-st-1 .material-icons {
        color: #479ff6;
    }

.input-st-2 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    margin-bottom: 0.75rem;
    color: #252525;
    font-weight: 400;
    font-size: 1rem;
    padding: 0.5rem 0.75rem;
    height: auto;
}

    .input-st-2:focus {
        border: 1px solid #479FF6;
    }

.singleDatePick, .singleDatePick1 {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #479FF6;
    border-radius: 0.25rem;
    padding: 0.375rem;
    margin-bottom: 0.75rem;
}

    .singleDatePick .material-icons, .singleDatePick1 .material-icons {
        color: #479ff6;
    }

.option-1 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    font-weight: 500;
    height: 42px;
    border: 1px solid #479FF6;
    border-radius: 0.25rem;
    padding: 0.375rem;
    margin-bottom: 0.75rem;
}

    .option-1 .material-icons {
        color: #479ff6;
    }

.dateRangePick, .dateRangePick2 {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #479FF6;
    border-radius: 0.25rem;
    padding: 0.375rem;
    margin-bottom: 0.75rem;
}

    .dateRangePick .material-icons, .dateRangePick2 .material-icons {
        color: #479ff6;
    }

.dateVal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 1px;
    color: #252525;
    font-weight: 500;
    margin: 0.125rem;
    font-size: 1rem;
}

    .dateVal > div:not(:last-child) {
        margin-right: 0.25rem;
    }

.overlayCal .daterangepicker:after {
    display: none;
}

/* date picker end */

/* style for card */
.card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: none;
    border-radius: .25rem;
    box-shadow: 0 3px 3px -3px rgba(0,0,0,0.2), 0 1px 4px rgba(0,0,0,0.25);
    overflow: hidden;
}

.card-body {
    flex: 1 1 auto;
    min-height: 1px;
    padding: 0.5rem 0.5rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: baseline;
}

.card-text {
    font-size: 0.875rem;
    font-weight: 400;
}

.card.ver2 {
    color: #fff;
    background: linear-gradient(110deg, rgb(71, 196, 255) 0%, rgb(46, 135, 247) 100%);
}

.cursor-auto .card {
    cursor: auto;
}

/* style for card end */


/* sort & filter */
#modalSort .modal .tit {
    font-size: 1rem;
    font-weight: 500;
    margin: 0 0 0.5rem;
}

.filter .box {
    margin-bottom: 0.875rem;
}

.filterOption {
    display: flex;
    flex-wrap: wrap;
}

    .filterOption > div {
        text-align: center;
        border: 1px solid #9f9f9f;
        border-radius: 1.063rem;
        font-size: 0.75rem;
        font-weight: 400;
        box-sizing: content-box;
        padding: 0.25rem 0.25rem 0.25rem 0.625rem !important;
        margin-right: 0.25rem;
        margin-bottom: 0.25rem;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }

        .filterOption > div.on {
            text-align: center;
            border: 1px solid #cce5ff;
            background: #cce5ff;
            color: #1e8fff;
        }

        .filterOption > div.removeAll {
            text-align: center;
            border: 1px solid #479ff6;
            background: #479ff6;
            color: #fff;
        }

    .filterOption .clear {
        background: #fff;
        padding: 0.125rem;
        border-radius: 50%;
        margin-left: 0.25rem;
    }

        .filterOption .clear .material-icons {
            color: #479ff6;
            font-size: 0.875rem;
            display: block;
            font-weight: 600;
        }

.filterBtn {
    text-align: center;
    padding-top: 1px !important;
}

.sortBtn {
    padding: 0;
}

    .sortBtn .option_2 {
        display: none;
    }

    .sortBtn > div.on .option_1 {
        display: none;
    }

    .sortBtn > div.on .option_2 {
        display: inherit;
    }

.sort .selectAct > *, .filter .selectAct, .sort .radioAct > *, .filter .radioAct {
    display: flex;
    flex-wrap: wrap;
}

    .sort .selectAct > *, .filter .selectAct > *, .sort .radioAct > *, .filter .radioAct > * {
        padding: 0.125rem;
        display: flex;
        justify-content: center;
        cursor: pointer;
    }

        .sort .selectAct > * > div, .filter .selectAct > * > div, .sort .radioAct > * > div, .filter .radioAct > * > div {
            width: 100%;
            font-size: 0.875rem;
            border: 1px solid #ccc;
            padding: 0.313rem 0.125rem 0.25rem;
            border-radius: 0.25rem;
            text-align: center;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .sort .selectAct > *.on > div, .filter .selectAct > *.on > div, .sort .radioAct > *.on > div, .filter .radioAct > *.on > div {
            font-size: 0.875rem;
            border: none;
            border: 1px solid #479ff6;
            background: #d9ecff;
            color: #1e8fff;
            border-radius: 0.25rem;
        }

.sortOption {
    display: flex;
    flex-wrap: wrap;
    flex-flow: row wrap !important;
    justify-content: space-between;
    margin-left: 8px;
    margin-right: 8px;
}

    .sortOption > div {
        text-align: center;
        border: 1px solid #cce5ff;
        background: #cce5ff;
        color: #1e8fff;
        border-radius: 50vh;
        font-size: 0.875rem;
        padding: 0.25rem 0.875rem;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }

.changeArea {
    color: #757575;
    font-weight: 500;
}

.form-control-v1 {
    width: 100%;
    font-size: 0.875rem;
    border: 1px solid #ccc;
    padding: 0.25rem 0.125rem;
    border-radius: 0.25rem;
    text-align: center;
}

.inputVer2 {
    width: 100%;
    font-size: 0.875rem;
    border: 1px solid #ccc;
    padding: 0.25rem 0.125rem;
    border-radius: 0.25rem;
    text-align: center;
}

    .inputVer2::-webkit-input-placeholder {
        font-size: 0.875rem;
        color: #212529;
    }

    .inputVer2::-moz-placeholder {
        font-size: 0.875rem;
        color: #212529;
    }

    .inputVer2:-ms-input-placeholder {
        font-size: 0.875rem;
        color: #212529;
    }

    .inputVer2::-ms-input-placeholder {
        font-size: 0.875rem;
        color: #212529;
    }

    .inputVer2::placeholder {
        font-size: 0.875rem;
        color: #212529;
    }

.selectVer2 {
    width: 100%;
    font-size: 0.875rem;
    border: 1px solid #ccc;
    padding: 0.25rem 0.125rem 0.25rem 1rem;
    border-radius: 0.25rem;
    text-align: center;
    height: auto;
    font-weight: 400;
}

.selectVer3 {
    border: 1px solid #479ff6;
    border-radius: 0.25rem;
    text-align: center;
    padding: 0.25rem 0.25rem 0.25rem 0.75rem;
}

/* sort & filter end */

.overlayHeader input.form-control, .mobileMenu input.form-control {
    border-radius: 0;
    border: solid #fff;
    border-width: 0 0 1px;
}

    .overlayHeader input.form-control::-webkit-input-placeholder, .mobileMenu input.form-control::-webkit-input-placeholder {
        color: #fff;
        font-family: sans-serif;
        font-size: 16px;
        font-style: normal;
    }

    .overlayHeader input.form-control::-moz-placeholder, .mobileMenu input.form-control::-moz-placeholder {
        color: #fff;
        font-family: sans-serif;
        font-size: 16px;
        font-style: normal;
    }

    .overlayHeader input.form-control:-ms-input-placeholder, .mobileMenu input.form-control:-ms-input-placeholder {
        color: #fff;
        font-family: sans-serif;
        font-size: 16px;
        font-style: normal;
    }

    .overlayHeader input.form-control::-ms-input-placeholder, .mobileMenu input.form-control::-ms-input-placeholder {
        color: #fff;
        font-family: sans-serif;
        font-size: 16px;
        font-style: normal;
    }

    .overlayHeader input.form-control::placeholder, .mobileMenu input.form-control::placeholder {
        color: #fff;
        font-family: sans-serif;
        font-size: 16px;
        font-style: normal;
    }

    .overlayHeader input.form-control:focus::-webkit-input-placeholder, .mobileMenu input.form-control:focus::-webkit-input-placeholder {
        -webkit-transition: opacity 0.5s ease;
        transition: opacity 0.5s ease;
        opacity: 0;
    }

    .overlayHeader input.form-control:focus::-moz-placeholder, .mobileMenu input.form-control:focus::-moz-placeholder {
        -moz-transition: opacity 0.5s ease;
        transition: opacity 0.5s ease;
        opacity: 0;
    }

    .overlayHeader input.form-control:focus:-ms-input-placeholder, .mobileMenu input.form-control:focus:-ms-input-placeholder {
        -ms-transition: opacity 0.5s ease;
        transition: opacity 0.5s ease;
        opacity: 0;
    }

    .overlayHeader input.form-control:focus::-ms-input-placeholder, .mobileMenu input.form-control:focus::-ms-input-placeholder {
        -ms-transition: opacity 0.5s ease;
        transition: opacity 0.5s ease;
        opacity: 0;
    }

    .overlayHeader input.form-control:focus::placeholder, .mobileMenu input.form-control:focus::placeholder {
        transition: opacity 0.5s ease;
        opacity: 0;
    }

.footBtn .slideBtn > div {
    display: flex;
    justify-content: center;
    align-items: initial;
}

.footBtn .slideBtn .material-icons {
    padding: 0;
    font-size: 24px;
}

.outLine {
    position: relative;
    display: block;
}

    .outLine::after {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        border: 1px solid rgba(0,0,0,0.15);
    }

.btn-st-ban.outLine::after {
    border-radius: 0.25rem;
}

.sampleImage {
    width: 100%;
    height: 100vw;
    background: #f1f1f1;
    line-height: 70vw;
    text-align: center;
}

.h_scroll {
    display: flex;
    overflow-x: auto;
    cursor: pointer;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

    .h_scroll > *:last-child::after {
        content: "";
        padding-right: 0.875rem;
    }

    .h_scroll::-webkit-scrollbar {
        display: none;
    }

.bg-gray {
    background: #f4f4f4 !important;
}

.active {
    display: block;
}

.tooltip {
    z-index: 10000 !important;
}

.brandBox {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-evenly;
}

    .brandBox > div {
        text-align: center;
        margin: 0 0.125rem 0.75rem;
    }

    .brandBox img {
        max-height: 40px;
        max-width: 140px;
        width: auto;
    }

.btnBox {
    padding-left: 0 !important;
    margin-top: 0.5rem;
}

.container.special {
    border-bottom: 1px solid #dee2e6;
    padding-bottom: 1rem;
}

    .container.special .title {
        position: relative;
    }

        .container.special .title > span {
            position: relative;
            display: inline-block;
            background: #fafafa;
            border-radius: 1rem;
        }

/* domestic tab style */

.tab-st-1 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 0.5rem;
    text-align: center;
    padding: 0 0.5rem;
    position: relative;
}

    .tab-st-1::after {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        height: 1px;
        background: #479ff6;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 0;
    }

    .tab-st-1 > [class*=col] {
        font-size: 0.875rem;
        font-weight: 400;
        background: #d9ecff;
        color: #2c96ff;
        justify-content: center;
        padding: 0.375rem 0.5rem 0.25rem;
        border-width: 0 0 1px;
        border-style: solid;
        border-color: #479ff6;
        border-radius: 0.25rem 0.25rem 0 0;
        z-index: 1;
    }

        .tab-st-1 > [class*=col].on {
            font-size: 0.875rem;
            font-weight: 500;
            color: #479ff6;
            border-width: 1px 1px 0;
            background: #fff;
        }

.pageLayout-2 .tab-st-1 > [class*=col].on {
    background: #fff;
}

.overlayPanel .tab-st-1 > [class*=col].on {
    background: #fff;
}

.tab-st-2 {
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    position: relative;
    overflow: hidden;
}

    .tab-st-2 > div {
        position: relative;
        font-size: 0.875rem;
        font-weight: 400;
        background: #fff;
        color: #707070;
        justify-content: center;
        padding: 0.375rem 0 0.25rem;
        z-index: 1;
        border: solid #ccc;
    }

        .tab-st-2 > div:nth-child(1) {
            border-width: 1px 0 1px 1px;
            border-radius: .25rem 0 0 .25rem;
        }

        .tab-st-2 > div:nth-child(2) {
            border-width: 1px 1px 1px 0;
            border-radius: 0 .25rem .25rem 0;
        }

        .tab-st-2 > div.on {
            font-size: 0.875rem;
            font-weight: 500;
            color: #fff;
            background: #0076b2 !important;
            border-color: #0076b2;
        }

            .tab-st-2 > div.on > div::before {
                content: "\e5ca";
                font-family: "Material icons round";
                font-size: 16px;
                color: #fff;
                height: 16px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                vertical-align: middle;
                margin-right: 3px;
                padding-bottom: 3px;
            }

.pageLayout-2 .tab-st-2 > div.on {
    background: #fff;
}

.overlayPanel .tab-st-2 > div.on {
    background: #fff;
}

.showMore .material-icons {
    font-size: 24px;
}

/* domestic tab style end */

/* event page style */
.event-list-01 .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background: rgba(0,0,0,0.3);
    padding: 4px;
    margin-bottom: 0.5rem;
}

    .event-list-01 .box > div {
        width: 50%;
    }

    .event-list-01 .box.ver2:hover {
        background: #808080;
    }

    .event-list-01 .box.ver2 > div {
        width: 100%;
    }

    .event-list-01 .box.ver2 .eventImg {
        position: relative;
        margin-top: 0.25rem;
    }

.event-list-01 .expired .eventImg::before {
    content: "This event has expired.";
    display: block;
    position: absolute;
    font-size: 1rem;
    font-weight: 500;
    color: #fff;
    text-align: center;
    width: 100%;
    top: 50%;
    transform: translate(0, -50%);
    z-index: 1;
}

.event-list-01 .expired .eventImg::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.6);
}

.invalid.card::before {
    content: "This product is invalid.";
    display: block;
    position: absolute;
    font-size: 1rem;
    font-weight: 500;
    color: #fff;
    text-align: center;
    width: 100%;
    top: 50%;
    transform: translate(0, -50%);
    z-index: 2;
}

.invalid.card::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.6);
    z-index: 1;
}

.event-list-01 .box .info {
    text-align: left;
    padding: 0 2px;
}

.event-list-01 .box .tit {
    font-size: 0.875rem;
    font-weight: 400;
    color: #fff;
    line-height: 1.2;
    margin: 0.25rem 0;
    padding-top: 2px;
}

.event-list-01 .box .type {
    display: inline-block;
    font-size: 12px;
    font-weight: 400;
    color: #fff;
    border: 1px solid #fff;
    padding: 0px 4px;
    margin-right: 0.125rem;
    position: relative;
    top: -1px;
}

.event-list-01 .box .period {
    font-size: 12px;
    font-weight: 400;
    color: #fff;
}

.eventDetail .titBox {
    border-bottom: 1px solid #dee2e6;
    margin-bottom: 1rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

    .eventDetail .titBox .title {
        margin-bottom: 0;
        padding: 0.25rem 0;
    }

    .eventDetail .titBox .type {
        display: inline-block;
        font-size: 12px;
        font-weight: 400;
        border: 1px solid #479ff6;
        color: #479ff6;
        padding: 0px 4px;
        margin-right: 0.125rem;
        position: relative;
        top: -1px;
    }

    .eventDetail .titBox .period {
        font-size: 13px;
        font-weight: 400;
        padding: 4px 0;
        border-top: 1px solid #f1f1f1;
        color: #757575;
    }

    .eventDetail .titBox .material-icons {
        color: #479FF6;
    }

.pageLayout-overlay header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    min-height: 48px;
    background: #479FF6;
    color: #fff !important;
}

#eventContent h1, #eventContent h2, #eventContent h3 {
    font-size: 1.125rem;
}

.eventTemplate > div {
    margin-bottom: 24px;
}

    .eventTemplate > div.headerContent {
        margin-bottom: 34px;
    }

.eventTemplate .productList .row {
    justify-content: center;
}

.eventTemplate .perks {
    position: relative;
}

    .eventTemplate .perks::after {
        content: "Add-on Benefits";
        display: block;
        position: absolute;
        font-size: 14px;
        background: #004085;
        color: #fff;
        padding: 0 8px;
        border-radius: 0.25rem;
        top: 0;
        left: 12px;
        transform: translate(0, -50%);
    }

    .eventTemplate .perks > .box {
        color: #004085;
        background-color: #e6f2ff;
        border: 1px solid #b8daff;
        padding: 16px 14px 8px;
        border-radius: 0.25rem;
    }

/* event page style end */

/* R-point page style */
.specialTab > .h_scroll {
    z-index: 2;
    background: #fff;
    border-bottom: 1px solid #dee2e6;
}

.specialTab .tabCont {
    padding: 1.25rem 0 0.75rem;
    border-bottom: 1px solid #dee2e6;
}

    .specialTab .tabCont:last-child {
        padding-bottom: 1rem;
        border-bottom: none;
    }

    .specialTab .tabCont > div {
        margin-bottom: .5rem;
    }

        .specialTab .tabCont > div:last-child {
            margin-bottom: .5rem;
        }

.tit-st-1 {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: .875rem;
}

.tit-st-2 {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 0.5rem !important;
}

.specialTab .tabCont .sub-tit {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.specialTab .scrollAct {
    display: flex;
    flex-wrap: nowrap;
    padding: 0 0.75rem;
    text-align: center;
}

    .specialTab .scrollAct > * {
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 0.75rem 1rem 0.5rem;
        font-size: 0.938rem;
        font-size: calc(15px + 1 * ((100vw - 360px) / 840));
        font-weight: 500;
        color: #797979;
        margin-right: 0.375rem;
    }

        .specialTab .scrollAct > *.on {
            color: #479ff6;
            border-bottom: 2px solid #479ff6;
        }

.container ul:not(.destination-list-style) li, .container ol li {
    position: relative;
    margin-bottom: 0.25rem;
}

    .container ul li:last-child, .container ol li:last-child {
        margin-bottom: 0;
    }

.container .desc:not(:last-child) {
    margin-bottom: 0.75rem;
}

.container .card, .overlayPanel .card {
    margin-bottom: 0.5rem;
}

    .container .card.trainCard {
        height: 100%;
    }

.pageLayout-3 .product.train > div {
    margin-bottom: 1rem;
}

.container .card .tit, .overlayPanel .card .tit {
    font-size: 1rem;
}

.container ul, .container ol {
    margin: 0;
}

.container .desc > ul:not(:last-child), .container .desc > ol:not(:last-child) {
    margin-bottom: 0.5rem;
}

.container ul:not(.destination-list-style) {
    list-style: none;
    padding-left: 1rem;
}

.container ol {
    padding-left: 1rem;
}

.container ul:not(.destination-list-style) > li::before {
    content: "";
    display: block;
    position: absolute;
    width: 6px;
    height: 8px;
    left: -0.75rem;
    top: 0.25rem;
    transform: rotate(45deg);
    border-width: 0px 2px 2px 0px;
    border-style: solid;
    border-color: #479ff6;
}

.container ul.list-st-02 li::before {
    content: "";
    display: block;
    position: absolute;
    width: 4px;
    height: 2px;
    left: -0.5rem;
    top: 0.5rem;
    border-radius: 0;
    transform: translate(-50%, 0%);
    background: #479ff6;
}

.container p {
    margin-top: 0.25rem;
    margin-bottom: 0.75rem;
}

    .container p:first-child {
        margin-top: 0;
    }

    .container p:last-child {
        margin-bottom: 0;
    }

.prodBox {
    display: flex;
    margin-bottom: 0.75rem;
    background-color: #fff;
    background-clip: border-box;
    border: none;
    border-radius: .25rem;
    box-shadow: 0 3px 4px -3px rgba(0,0,0,0.2), 0 1px 5px rgba(0,0,0,0.15);
    overflow: hidden;
}

    .prodBox > div {
        padding: 0;
    }

    .prodBox .prodInfo {
        display: flex;
        height: 100%;
        flex-direction: column;
        justify-content: space-between;
        padding: 0.75rem 1rem 0.5rem 1rem;
    }

    .prodBox .prodTit {
        font-size: 0.938rem;
        font-weight: 500;
        flex: 1;
        display: flex;
        align-items: center;
    }

.cat-faq {
    font-size: 0.875rem;
}

    .cat-faq .titBox {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        padding: 0.625rem 0.625rem 0.625rem 0.375rem;
        border-radius: 0.25rem 0.25rem 0 0;
        border: 1px solid transparent;
        overflow: hidden;
    }

        .cat-faq .titBox .tit {
            position: relative;
            padding-left: 1.625rem;
        }

            .cat-faq .titBox .tit::before {
                content: "Q";
                display: block;
                position: absolute;
                left: 0;
                top: 0;
                background: #479ff6;
                border-radius: 50%;
                color: #fff;
                line-height: 1.375rem;
                width: 1.25rem;
                height: 1.25rem;
                text-align: center;
            }

    .cat-faq .content.slideBox {
        position: relative;
        padding-left: 2rem;
    }

        .cat-faq .content.slideBox::before {
            content: "A";
            display: block;
            position: absolute;
            left: 6px;
            top: 10px;
            border-radius: 50%;
            line-height: 1.25rem;
            width: 1.25rem;
            height: 1.25rem;
            text-align: center;
            color: #fff;
            background: #ef4fa7;
            border: 1px solid #ef4fa7;
        }

    .cat-faq .slideBtn {
        border-top: 1px solid #f1f1f1;
    }

        .cat-faq .slideBtn.on {
            border-top: none;
        }

        .cat-faq .slideBtn.on {
            background: #d9ecff;
            border: 1px solid #a1cffd;
            border-radius: 0.25rem 0.25rem 0 0;
        }

    .cat-faq .slideBox {
        border: 1px solid transparent;
        border-top: none;
        padding: 0.625rem 0.625rem 0.625rem;
        margin-bottom: 0.5rem;
        border-radius: 0 0 0.25rem 0.25rem;
        overflow: hidden;
    }

    .cat-faq .slideBtn.on ~ .slideBox {
        border-color: #a1cffd;
    }

    .cat-faq .box:first-child .slideBtn {
        border-top: 1px solid transparent;
    }

        .cat-faq .box:first-child .slideBtn.on {
            border-top: 1px solid #a1cffd;
        }

    .cat-faq .titBox > div {
        padding: 0;
    }

    .cat-faq .titBox .material-icons {
        padding: 0;
        font-size: 1.25rem;
        color: #479ff6;
    }

.accCont.acc-st-1 {
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    background: #fff;
}

.acc-st-1 .accBox:not(:last-child) {
    border: solid #dee2e6;
    border-width: 0 0 1px;
}

.acc-st-1 .accBtn {
    padding: 0.75rem;
}

.acc-st-1 .desc {
    padding: 0.75rem;
    border: solid #e3edf7;
    border-width: 1px 0 0;
    background: #f2f8ff;
}

    .acc-st-1 .desc ul {
        padding-left: 1.5rem;
    }

.acc-st-1.branch .desc ul {
    padding-left: 1rem;
}

.acc-st-1 .desc li a {
    text-transform: uppercase;
    display: block;
    padding: 0.25rem 0 0.25rem 0.125rem;
    font-weight: 400;
}

.acc-st-1 .desc ul li::before {
    top: 0.5rem;
}

.acc-st-1.branch .desc ul li::before {
    top: 0.25rem;
}

.acc-st-1 .tit {
    text-transform: uppercase;
    font-size: 0.938rem;
    font-weight: 500;
}

.acc-st-1 .accBtn .material-icons {
    font-size: 1.25rem;
    color: #479ff6;
}

.input-st-3 {
    position: relative;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    background: #fff;
    padding: 0 0.5rem;
    padding-left: 2rem;
}

    .input-st-3 input {
        outline: none;
        border: none;
        padding: 0.625rem 0.75rem;
    }

.special_tit {
}

    .special_tit .tit-xl {
        font-size: 2rem;
        font-weight: 600;
    }

    .special_tit .tit-lg {
        font-size: 1.5rem;
        font-weight: 600;
    }

    .special_tit .tit-md {
        font-size: 1.25rem;
        font-weight: 600;
    }

    .special_tit .tit-sm {
        font-size: 1rem;
        font-weight: 500;
        color: #479ff6;
    }

    .special_tit .tit-xsm {
        font-size: 0.875rem;
        font-weight: 400;
        color: #479ff6;
    }

    .special_tit .sub-tit {
        font-size: 1.125rem;
        color: #479ff6;
    }

    .special_tit .tit-xsm {
        font-size: 0.875rem;
        font-weight: 400;
        color: #479ff6;
    }

.hashBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
/* R-point page style end */

/* insurance style */
.option-tit {
    font-size: 0.875rem;
    margin-bottom: 0.25rem;
}

.select-st-1 {
    border: 1px solid #479ff6;
    border-radius: 0.25rem;
    text-align: center;
    padding: 1px 4px;
}

    .select-st-1 .custom-select {
        border: none;
        padding: 0rem 1.75rem 0rem .75rem;
        height: 2rem;
        font-size: 1rem;
    }

    .select-st-1 .select2-container--bootstrap4 .select2-selection--single {
        border: none;
        box-shadow: none;
    }

.overlayPanel .list-group-item {
    padding: 0.5rem 0;
}

    .overlayPanel .list-group-item:last-child {
        padding: 0.5rem 0 0;
    }

    .overlayPanel .list-group-item .tit {
        margin: 0;
    }

.card .sub-tit {
    font-size: 0.875rem;
    margin-bottom: 0.125rem;
}

.boxBtn {
    display: flex;
    flex-flow: wrap;
}

    .boxBtn > * {
        padding: 0;
        margin-right: 0.25rem;
    }

        .boxBtn > *:last-child {
            margin: 0;
        }

.payLogo {
    position: relative;
}

    .payLogo::after {
        content: "";
        display: block;
        position: absolute;
        width: 20%;
        min-width: 90px;
        height: 100%;
        background: url(../img/logo/logo_visa_master.png) no-repeat right 1% center /auto 90%;
        top: 0;
        right: 0;
    }

.payLogo-2 {
    position: relative;
}

    .payLogo-2::after {
        content: "";
        display: block;
        position: absolute;
        width: 15%;
        min-width: 90px;
        height: 100%;
        background: url(../img/logo/logo_visa_master.png) no-repeat right center /auto 35%;
        top: 0;
        right: 4%;
    }

/* insurance style end */
/* clamp css */
.clamp-2 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
/* clamp css end */

/* VISA style */
.listNotice .tabChild {
    border-bottom: 1px solid #f1f1f1;
    margin-top: 0.5rem;
}

#visaNotices .box {
    cursor: pointer;
}

.listNotice.simpleLns {
    border: none;
}

    .listNotice.simpleLns .lns_con {
        border-bottom: none;
    }

        .listNotice.simpleLns .lns_con > * {
            margin: 0.375rem 0;
        }

        .listNotice.simpleLns .lns_con.on {
            border-bottom: 1px solid #f1f1f1;
        }

.listNotice .tabChild:last-child {
    border-bottom: none;
}

.listNotice .tabChild > .box {
    display: flex;
    padding: 0;
    font-size: 0.875rem;
}

.listNotice.simpleLns .lns_con:last-child {
    border-bottom: none;
}

.listNotice.simpleLns .lns_con > .box {
    display: flex;
    padding: 0;
    font-size: 0.875rem;
}

.listNotice .tabChild .num, .listNotice .tabChild .date, .listNotice .lns_con .date {
    color: #797979;
}

.countryFlag {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 75%;
    box-sizing: content-box;
    line-height: initial;
}

.flex-center {
    display: flex;
    flex-wrap: wrap;
    justify-content: center !important;
    align-items: center !important;
}

.cflex-center {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.tit-20b {
    font-size: 1.25rem;
    font-weight: 600;
}

.simpleInfo {
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
}

    .simpleInfo > div {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        border-bottom: 1px solid #f1f1f1;
        padding: 0.5rem 0.5rem;
    }

        .simpleInfo > div:last-child {
            border-bottom: none;
        }

        .simpleInfo > div .desc {
            margin-bottom: 0 !important;
        }

.searchResult > div.custom-1 {
    border: 1px solid #ef4fa7;
    border-radius: 0.25rem;
    margin: 0 2px 6px 0;
    vertical-align: bottom;
}

    .searchResult > div.custom-1 > div {
        color: #ef4fa7;
        margin: 0;
        padding-right: 0.5rem;
        border: none;
    }

    .searchResult > div.custom-1 .material-icons {
        padding: 0;
        font-size: 1.25rem;
    }

    .searchResult > div.custom-1 > .slideBtn.on {
        color: #fff;
        background: #ef4fa7;
        margin: 0;
        padding-right: 0.5rem;
        border-radius: 0;
        border-bottom: 1px solid #ef4fa7;
    }

    .searchResult > div.custom-1 .slideBox {
        padding: 0.5rem 0.5rem 0.125rem;
        background: #fff4fa;
        border-radius: 0 0 0.25rem 0.25rem;
    }

        .searchResult > div.custom-1 .slideBox .searchItem {
            border-color: #f1a6cf;
            background: #ffffff;
            color: #e05fa6;
        }

.custom-2 .searchItem {
    display: inline-block;
    border-color: #21c1b2;
    color: #009688 !important;
    background: #d1fbf7;
}

.addInfo .custom-2 .searchItem {
    font-size: 0.75rem;
    padding: 0.125rem 0.5rem 0;
    display: inline-block;
}

.overlayPanel ol {
    padding-left: 1.25rem;
}

.overlayPanel .desc .box .content {
    background: #fff;
    border: 1px solid #479ff6;
    border-radius: 0.25rem;
    padding: 0.625rem;
}

.overlayPanel .cat ul, .overlayPanel .cat ol, .overlayPanel .cat li {
    list-style: none;
    position: relative;
    margin: 0;
}

    .overlayPanel .cat ul li:last-child, .overlayPanel .cat ol li:last-child {
        margin-bottom: 0;
    }

.counter-1 {
    counter-reset: num;
}

    .counter-1 ol > li::before {
        counter-increment: num;
        content: "."counter(num);
        display: block;
        position: absolute;
        font-weight: 400;
        color: #479ff6;
        border-radius: 0.25rem;
        left: -1.125rem;
        top: 0;
        font-size: 0.875rem;
        text-align: right;
        direction: rtl;
        width: 1rem;
    }

.counter-1d {
    counter-reset: num_d;
}

ol.counter-1d > li::before {
    counter-increment: num_d;
    content: "."counter(num_d);
    display: block;
    position: absolute;
    font-weight: 400;
    color: #479ff6;
    border-radius: 0.25rem;
    left: -1.125rem;
    top: 0;
    font-size: 0.875rem;
    text-align: right;
    direction: rtl;
    width: 1rem;
}

#counter-1d {
    counter-reset: num_d;
}

ol#counter-1d > li::before {
    counter-increment: num_d;
    content: "."counter(num_d);
    display: block;
    position: absolute;
    font-weight: 400;
    color: #479ff6;
    border-radius: 0.25rem;
    left: -1.125rem;
    top: 0;
    font-size: 0.875rem;
    text-align: right;
    direction: rtl;
    width: 1rem;
    border: none;
    transform: none;
}

.counter-2 {
    counter-reset: num-2;
    list-style: none;
}

ol.counter-2 > li::before {
    counter-increment: num-2;
    content: "."counter(num-2);
    display: block;
    position: absolute;
    font-weight: 400;
    color: #479ff6;
    border-radius: 0.25rem;
    left: -1.125rem;
    top: 0;
    font-size: inherit;
    text-align: right;
    direction: rtl;
    width: 1rem;
}

.counter-a {
    counter-reset: alpha;
}

ol.counter-a > li::before {
    counter-increment: alpha;
    content: "."counter(alpha, lower-alpha);
    display: block;
    position: absolute;
    font-weight: 400;
    color: #479ff6;
    border-radius: 0.25rem;
    left: -1.125rem;
    top: 0;
    font-size: 0.875rem;
    text-align: right;
    direction: rtl;
    width: 1rem;
}

.slideCat-st-1 {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #479FF6;
    border-radius: 0.25rem;
    padding: 0;
    margin-bottom: 0.75rem;
    overflow: hidden;
}

    .slideCat-st-1 > div:first-child {
        padding: 0.625rem 0.5rem !important;
    }

.slideGroup-1 {
    border: 1px solid #479FF6;
    border-radius: 0.25rem;
    margin-bottom: 0.75rem;
    overflow: hidden;
}

.infoArticle .slideGroup-1 > .box {
    margin-bottom: 0 !important;
}

    .infoArticle .slideGroup-1 > .box > .slideBtn {
        padding: 0.625rem 0.625rem 0.5rem;
        margin: 0 !important;
    }

        .infoArticle .slideGroup-1 > .box > .slideBtn.on {
            background: #d9ecff;
        }

    .infoArticle .slideGroup-1 > .box:not(:last-child) {
        border-bottom: none;
        margin-bottom: 0 !important;
        padding: 0;
    }

        .infoArticle .slideGroup-1 > .box:not(:last-child) > .slideBtn {
            border-bottom: 1px solid #dee2e6;
            padding: 0.625rem 0.625rem 0.5rem;
            margin: 0 !important;
        }

            .infoArticle .slideGroup-1 > .box:not(:last-child) > .slideBtn.on {
                border-bottom: 1px solid transparent;
            }

.infoArticle .slideGroup-1 .box .content {
    background: #fff;
    border-width: 0;
    border-radius: 0;
    padding: 0.625rem;
    border-bottom: 1px solid #479ff6;
}

.infoArticle .slideGroup-1 .box:last-child .content {
    border-bottom: none;
}

.desc-st-1 > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #dee2e6;
}

.desc-st-1 [class*='col'] {
    padding: 0;
}

.slide-st-1 .slideBtn {
    position: relative;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    font-size: 0.875rem;
    overflow: hidden;
    margin-bottom: 0.25rem;
}

.slide-st-1 .searchItem {
    color: #212529;
}

.slide-st-1 .slideBtn > .d-flex {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-weight: 500;
    padding: 0.5rem 0.75rem 0.5rem 0.75rem;
}

.slide-st-1 .slideBtn.on {
    border-color: #479ff6;
}

    .slide-st-1 .slideBtn.on > .d-flex {
        background: #d9ecff;
    }

.slide-st-1 .slideBtn > .d-flex > div {
    padding: 0;
}

.slide-st-1 .slideBtn > .d-flex .material-icons {
    padding: 0;
    font-size: 1.25rem;
    color: #479ff6;
}

.slide-st-1 .slideBox {
    /* border-top: 1px solid #479ff6; */
    padding: 0.5rem 0.5rem 0.125rem;
}
/* VISA style end */

.linkBack .material-icons {
    font-size: 28px;
    width: 2.5rem;
    height: 2.5rem;
}

.sample-area1 {
    padding: 2rem 1rem;
    background: #f1f1f1;
    border: 1px solid #dee2e6;
    margin-bottom: 0.875rem;
    text-align: center;
}

/* MICE Style */
.row.custom-gt-1 {
    margin-right: -4px;
    margin-left: -4px;
}

    .row.custom-gt-1 > [class*=col] {
        padding-right: 4px;
        padding-left: 4px;
        margin-bottom: 8px;
    }

.img-btn-1 {
    position: relative;
    overflow: hidden;
}

    .img-btn-1 * {
        color: #fff;
    }

.custom-gt-1 .img-btn-1 * {
    font-size: 0.75rem;
}

.img-btn-1::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.2);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.card-img-overlay {
    padding: 0 0.625rem;
    z-index: 1;
}

.el-ab-rb {
    position: absolute;
    bottom: 0.5rem;
    right: 0.5rem;
}

.overlayPanel.custom-1 .container {
    position: relative;
    padding: 12px 0;
}

.overlayPanel.custom-1 .d-flex {
    display: flex;
    flex-wrap: wrap;
}

    .overlayPanel.custom-1 .d-flex > div {
        padding: 0 14px;
        padding-bottom: 1rem;
        margin-bottom: 1.125rem;
    }

        .overlayPanel.custom-1 .d-flex > div:last-child {
            margin-bottom: 0;
        }

    .overlayPanel.custom-1 .d-flex > .cat:not(:last-child) {
        border-bottom: 1px solid #dee2e6;
    }

.overlayPanel.custom-1 .tit .material-icons {
    font-size: 1rem;
    color: #479ff6;
    position: relative;
    top: 2px;
}

.overlayPanel.custom-1 .cat > .desc:not(:last-child) {
    margin-bottom: 0.875rem;
}

.overlayPanel.custom-1 .desc .desc {
    margin-bottom: 0.5rem;
}

.overlayPanel.custom-1 .scrollTab_A .optionBtn > div {
    border-radius: 0.25rem;
    text-align: center;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.custom-1.scrollTab_A .optionBtn > div[class*=col] {
    border-radius: 0.25rem;
    text-align: center;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding-top: 0.5rem;
    padding-bottom: 0.375rem;
}

.custom-3.scrollTab_A .optionBtn > div[class*=col] {
    border-radius: 50vh;
    padding-top: 2px;
    padding-bottom: 2px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4px 10px 4px 4px;
    background: #cecece;
    color: #ffffff;
    border-color: #cecece;
}

.custom-3.scrollTab_A .optionBtn > div.on {
    background: #479ff6;
    color: #ffffff;
    border-color: #479ff6;
}

.custom-3.scrollTab_A .optionBtn > div .checkBox {
    position: relative;
    display: inline-block;
    border-radius: 50vh;
    width: 1.375rem;
    height: 1.375rem;
    background: linear-gradient(130deg, #fff 40%, #d3d3d3);
    box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.25);
    margin-right: 0.375rem;
}

    .custom-3.scrollTab_A .optionBtn > div .checkBox::after {
        content: "";
        display: block;
        position: absolute;
        width: 35%;
        height: 50%;
        border: solid #479ff6;
        transform: rotate(45deg);
        border-width: 0 3px 3px 0;
        top: 20%;
        left: 32%;
        opacity: 0;
        transition: 0.3s cubic-bezier(0.18, 0.89, 0.35, 1.15) all;
    }

.custom-3.scrollTab_A .optionBtn > div.on .checkBox::after {
    opacity: 1;
}

.pt-1px {
    padding-top: 1px;
}

.showCase .slideArticle {
    border: 1px solid #479FF6 !important;
    background: #fff !important;
    border-radius: 0.25rem;
    margin-top: 0.375rem;
    overflow: hidden;
}

.showCase .slideBtn {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-weight: 500;
    padding: 0.75rem 0.5rem 0.75rem 0.5rem;
    position: relative;
    display: flex;
    background: #fff;
    justify-content: center;
}

    .showCase .slideBtn > .col {
        flex: 1;
        min-width: 0;
    }

    .showCase .slideBtn > div {
        padding: 0;
    }

    .showCase .slideBtn .tit {
        padding-top: 1px;
    }

    .showCase .slideBtn .date {
        min-width: 80px;
        text-align: center;
        background: #cce5ff;
        color: #1e8fff;
        border-radius: 0.25rem;
        font-size: 0.875rem;
        font-weight: 500;
        margin-right: 0.375rem;
        padding-top: 1px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }

.showCase .box .desc {
    margin-bottom: 0;
}

    .showCase .box .desc > div {
        margin-bottom: 0.5rem;
    }

        .showCase .box .desc > div:last-child {
            margin-bottom: 0;
        }

.showCase .slideCont .slideBox {
    padding: 0.875rem 0.75rem;
    margin-bottom: 0.5rem;
}

.showCase .slideBtn .material-icons {
    padding: 0;
    font-size: 1.25rem;
    color: #479ff6;
}

.showCase .slideBox .material-icons {
    padding: 0;
    font-size: 1.125rem;
    color: #479ff6;
    vertical-align: sub;
}

.brandBox.custom-1 > div {
    margin: 0;
    margin-bottom: 1rem;
}

.img-box-2c {
    display: flex;
    flex-wrap: wrap;
}

    .img-box-2c img {
        width: 50%;
    }

.article-st-1 > .row > [class*=col] {
    margin-bottom: 1.25rem;
}

    .article-st-1 > .row > [class*=col]:last-child {
        margin-bottom: 0;
    }

.article-st-1 .box:not(:last-child) {
    margin-bottom: 1.5rem;
}

.article-st-1 .box .tit {
    font-size: 1rem;
    margin-bottom: 0;
    padding: 0;
}

.article-st-1 .row .box > div.tit {
    margin-bottom: 0.5rem;
}

.article-st-1 .row .box > div {
    margin-bottom: 0.75rem;
}

.overlayPanel .article-st-1 .box {
    padding: 0 14px;
}

    .overlayPanel .article-st-1 .box .custom-gt-1 {
        margin-bottom: 0;
    }

.exDoc .article-st-1 .box {
    padding: 0 14px;
}

    .exDoc .article-st-1 .box .custom-gt-1 {
        margin-bottom: 0;
    }

.special .title {
    position: relative;
    font-size: 1.125rem;
    display: flex;
    align-items: center;
    margin: 0 0 10px;
}

    .special .title > span {
        position: relative;
        display: inline-block;
        padding-right: 0.5rem;
    }

    .special .title::after {
        content: "";
        display: block;
        position: relative;
        width: auto;
        height: 1px;
        background: #dee2e6;
        flex: 1;
    }

.exDoc .special .title, .overlayPanel .special .title {
    margin: 0 14px 10px;
}

.article-st-2 .card {
    margin-bottom: 0.875rem;
}

.option-st-1 {
    display: flex;
    flex-wrap: wrap;
}

    .option-st-1 > div {
        text-align: center;
        border: 1px solid #cce5ff;
        background: #cce5ff;
        color: #1e8fff;
        border-radius: 1.063rem;
        font-size: 0.875rem;
        font-weight: 400;
        box-sizing: content-box;
        padding: 0.25rem 0.625rem 0.25rem 0.625rem !important;
        margin-right: 0.25rem;
        margin-bottom: 0.25rem;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }

.scrollTab_A.custom-1 .h_scroll {
    margin-bottom: 12px;
}

.scrollTab_A.custom-1 .optionBtn > div {
    padding: 0.25rem 0.75rem 0.125rem;
}

.swiperBtn {
    padding: 10px 0;
    background: #fff;
}

    .swiperBtn .tabBtn > div, .swiperBtn .tabBtn-st > div {
        height: auto;
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        justify-content: center;
        border: 1px solid #c9c9c9;
        border-radius: 0.25rem;
        padding: 0.25rem 0.75rem;
    }

        .swiperBtn .tabBtn > div.on, .swiperBtn .tabBtn-st > div.on {
            border: 1px solid #479FF6;
            background: #479FF6;
            color: #fff;
        }

.icon_mice {
    display: block;
    max-width: 22% !important;
    height: auto !important;
}

iframe {
    width: 1px;
    min-width: 100%;
}

body.exDoc {
    background: #fff;
}

    body.exDoc .container {
        max-width: 1200px;
    }

.btn-st-ban {
    position: relative;
    border-radius: 0.25rem;
    overflow: hidden;
    display: block;
}

    .btn-st-ban .tit-overlay .icon {
        display: block;
        max-width: 10%;
        height: auto;
    }

    .btn-st-ban .tit-overlay {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        display: flex;
        /* flex-direction: column; */
        align-items: center;
        justify-content: center;
        font-size: 1.25rem;
        font-weight: 500;
        color: #fff;
        z-index: 1;
    }

    .btn-st-ban::after {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 0;
    }

[class*=swiperCard] .swiper-slide {
    width: 85%;
    padding-bottom: 0.5rem;
    align-self: stretch;
}

[class*=swiperCard] .card-text {
    font-size: 1rem;
}

.swiperCard-2-sp1 .swiper-slide {
    flex-direction: column;
    padding-bottom: 0 !important;
}

.overlayPanel .topBtn > div {
    position: fixed;
    right: 10px;
    bottom: 10px;
    background: rgba(0,0,0,0.6);
    color: #fff;
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.border-r8 .card {
    border-radius: 8px !important;
}

.figure-caption {
    font-size: 80%;
    color: #6c757d;
    margin-top: 6px;
}


/* MICE Style end */
/* main menu style */
.panel-1 .overlayHeader {
    background: #479ff6;
    background: linear-gradient(110deg, rgb(71, 196, 255) 0%, rgb(46, 135, 247) 100%);
}

.panel-1 .cat {
    margin-bottom: 0.75rem;
    padding: 0 0.875rem;
    padding-top: 0.75rem;
}

.headerBox {
    padding: 0 0.875rem 0.75rem;
    font-size: 0.875rem;
    justify-content: space-evenly;
}

.imgIcon {
    width: 20px;
    vertical-align: sub;
}

.panel-1 .snsBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: center;
}

    .panel-1 .snsBox a {
        font-size: 1.25rem;
        display: block;
        margin: 0;
    }
/* main menu style end */
/* Social Media Logo */
.fa-facebook {
    color: #1877f2;
}

.fa-instagram {
    color: #e4405f;
}

.fa-youtube {
    color: #ff0000;
}

.fa-pinterest {
    color: #bd081c;
}

.fa-twitter {
    color: #1da1f2;
}

.fa-blogger-b {
    color: #ff5722;
}

.fa-viber {
    color: #665cac;
}

.fa-google {
    color: #4285f4;
}
/* Social Media Logo end */
/* Eurail style */
.tabContent .tabBtn .on .searchItem {
    color: #fff;
    background: #479ff6;
    border: 1px solid #479ff6;
}

.tempHide {
    display: none;
}

.pageLayout-3 .product .card-body {
    padding: 0.625rem 0.75rem 0.25rem;
}

.pageLayout-3 .product > div {
    margin-bottom: 0.5rem;
}

.pageLayout-3 .article-st-1 .box:not(:last-child) {
    margin-bottom: 1rem;
}

.pageLayout-3 .overlayPanel.custom-3 .article-st-1 .box:not(:last-child) {
    margin-bottom: 1.5rem;
}

.pageLayout-3 .article-st-1 .card .tit {
    margin-bottom: 0.25rem;
}

.pageLayout-3 .specialTab > .h_scroll {
    z-index: 2;
    /* background: #fafafa; */
    border-bottom: 1px solid #dee2e6;
}

.pageLayout-3:not(.premium) main > .tabContent > div {
    background: #fff;
}

.overlayPanel.custom-2 .box:not(:last-child) {
    margin-bottom: 1rem;
}

.overlayPanel.custom-2 .optionBook {
    justify-content: center;
}

    .overlayPanel.custom-2 .optionBook > div:first-child .material-icons {
        opacity: 1;
    }

.overlayPanel.custom-1 .addInfo .tit .material-icons {
    top: -1px;
}

.table {
    border: 1px solid #479FF6;
    border-radius: 0.25rem;
}

.simpleLns {
    border: 1px solid #479FF6;
    border-radius: 0.25rem;
}

.optionDatePrice .simpleLns {
    border: none;
    border-radius: 0;
}

.simpleLns .table {
    border: none;
}

.simpleLns .moreLns, .simpleLns .lessLns {
    border-radius: 0 0 0.25rem 0.25rem;
    overflow: hidden;
}

    .simpleLns .moreLns.st-1, .simpleLns .lessLns.st-1 {
        border-radius: 0.25rem;
        overflow: hidden;
        margin: 10px 0 24px;
    }

.table-st-1 .table {
    overflow: hidden;
}

    .table-st-1 .table.striped {
        margin-bottom: .5rem;
    }

        .table-st-1 .table.striped ~ .info {
            color: #888888;
            padding-left: 0.5rem;
        }

    .table-st-1 .table .cell {
        padding: 0.125rem 0;
        min-height: 32px;
    }

    .table-st-1 .table .row {
        margin-left: 0;
        margin-right: 0;
    }

    .table-st-1 .table [class*=col] {
        display: flex;
        flex-wrap: wrap;
        padding-left: 0;
        padding-right: 0;
        font-size: 14px;
        align-items: center;
    }

    .table-st-1 .table [class*=price-] {
        padding-right: 0.5rem;
    }

        .table-st-1 .table [class*=price-]::before {
            font-size: 0.75rem;
        }

.table-st-1 .t-hd {
    background: #7abdff;
    color: #fff;
    padding: 0.375rem 0.5rem 0.25rem;
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.table-st-1 .t-ft {
    border-top: 1px solid #7abdff;
    padding: 0.25rem 0.5rem;
    margin-top: 0.25rem;
}

.table-st-1 .cell * {
    width: 100%;
    text-align: center;
}

.table-st-1 .table.striped [class*=col] > .cell:nth-child(even) {
    background-color: #e8e8e8;
}

.table-st-1c .row {
    width: 100%;
    margin: 0;
    padding: 0;
    align-items: center;
    border-bottom: 1px solid #d9ecff;
}

    .table-st-1c .row:last-child {
        border-bottom: none;
    }

    .table-st-1c .row.r-hd {
        z-index: 1;
        border-bottom: none;
    }

    .table-st-1c .row:not(.r-hd) {
        padding: 0.375rem 0;
    }

    .table-st-1c .row.r-hd .cell {
        background: #7abdff;
        color: #fff;
        padding: 0.25rem 0.5rem 0.25rem;
        font-weight: 500;
        text-align: center;
    }

.table-st-1c .cell {
    font-size: 0.875rem;
    font-weight: 400;
    padding: 0 0.375rem;
}

.table-st-1b .row {
    width: 100%;
    margin: 0;
    align-items: center;
    border-radius: 0.25rem;
}

.table-st-1b > .row {
    position: relative;
    border: 1px solid rgb(71 159 246 / 50%);
    margin: 14px 0 0;
}

.table-st-1b .row:not(.r-hd) {
    padding: 0.625rem 0 0.375rem;
}

.table-st-1b .row.r-hd .cell {
    background: #7abdff;
    color: #fff;
    padding: 0.25rem 0.5rem 0.25rem;
    font-weight: 500;
    text-align: center;
}

.table-st-1b .cell {
    font-size: 0.875rem;
    font-weight: 400;
    padding: 0 0.375rem;
}

.table-st-1b .visa > div, .table-st-1b .visa .row > div {
    padding: 4px 4px;
}

.table-st-1b .visa .row {
    margin-bottom: 0;
}

.table-st-1b .visa > div:last-child {
    border: none;
}

.table-st-1b > *::before {
    display: block;
    position: absolute;
    top: -10px;
    left: 4px;
    background: #479FF6;
    color: #fff;
    font-size: 11px;
    padding: 1px 8px 0;
    border-radius: 0.25rem;
}

.table-st-1b > *[href^='../Flight']::before {
    content: 'FLIGHT';
}

.table-st-1b > *[href^='../Product']::before {
    content: 'INTERNATIONAL';
}

.table-st-1b > *[href^='../Cruise']::before {
    content: 'CRUISE';
}

.table-st-1b > *[href^='../Domestic']::before {
    content: 'DOMESTIC';
}

.table-st-1b > *[href^='../Eurail']::before {
    content: 'EURAIL/JR';
}

.table-st-1b > *.visa::before {
    content: 'VISA';
}

.table-st-1b > *[href^='../Insurance']::before {
    content: 'INSURANCE';
}


/* new table style */
.rTable {
    display: block;
    width: 100%;
    height: auto;
    font-size: 15px;
}

    .rTable [class*=price-] {
        font-size: 15px;
    }

    .rTable .rT_th {
        background: #dee2e6;
    }

        .rTable .rT_th > .td {
            text-align: center;
            border-color: #fff !important;
            justify-content: center;
            align-items: center;
        }

    .rTable > [class*=rT_] {
        display: flex;
        flex-wrap: wrap;
    }

        .rTable > [class*=rT_] > .td {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            align-content: flex-start;
            padding: 7px;
            border-right: 1px solid #dee2e6;
        }

        .rTable > [class*=rT_]:not(:last-child) > .td {
            border-bottom: 1px solid #c5c5c5;
        }

            .rTable > [class*=rT_]:not(:last-child) > .td:first-child {
                border-bottom: 1px solid #fff;
            }

        .rTable > [class*=rT_] > .td:first-child {
            background: #A7D3FF;
            border-right: none;
        }

        .rTable > [class*=rT_] > .td:last-child {
            border-right: none;
        }

/* new table style end */

.bb-a {
    display: inline-block;
    border-bottom: 1px solid #d9ecff;
    margin-bottom: 0.125rem;
}

.va-txtb {
    vertical-align: text-bottom;
}

.px-12p {
    padding-left: 12px !important;
    padding-right: 12px !important;
}

.classTabBtn.d-flex {
    display: flex;
    flex-wrap: wrap;
    margin-left: -4px;
    margin-right: -4px;
}

    .classTabBtn.d-flex > div {
        padding: 0 4px;
        margin-bottom: 0.375rem;
    }

        .classTabBtn.d-flex > div:not(.on) img {
            opacity: 0.6;
        }

/* Eurail style end */

/* my account style */
.sticky_auto {
    padding: 0 0 10px;
    background: #479ff6;
    color: #fff;
    z-index: 99;
}

.container.scrollFixed .tabContent {
    padding: 0 0 10px;
}

.overlayPanel .container.scrollFixed .tabContent {
    padding: 0;
}

.scrollTab_A.custom-2 .optionBtn > *.on {
    border: 1px solid #fff;
    background: #fff;
    color: #479ff6;
}

.scrollTab_A.custom-2 .optionBtn > * {
    display: block;
    border: 1px solid #fff;
    border-radius: 0.25rem;
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
    margin-right: 0.375rem;
    border-radius: 1.125rem;
    color: #fff;
}

.pageLayout-4 main > div {
    margin-bottom: 0;
}

    .pageLayout-4 main > div:last-child {
        margin-bottom: 0;
    }

.form-group .radioAct > * > div {
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    height: calc(1.5em + .75rem + 2px);
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    text-align: center;
}

.form-group .radioAct *.on > div {
    border: none;
    border: 1px solid #479ff6;
    background: #d9ecff;
    color: #1e8fff;
}

input.form-control {
    text-indent: 0.5rem;
}

.form-group > * {
    margin: 0 0 0.5rem;
}

.form-group label {
    margin: 0;
}

.pageLayout-4 .form-group.row {
    align-items: center;
}

.svg-g-12 {
    width: 12px;
    fill: #888888;
}

.w-12p {
    width: 12px;
    height: auto;
}

.h-16p {
    width: auto;
    height: 16px !important;
}

.h-18p {
    width: auto;
    height: 18px !important;
}

.pageLayout-4 .panelTitle {
    flex-grow: 1 !important;
    text-align: center;
    font-size: 1rem;
    font-weight: 400;
}

.pageLayout-4 .tab-cat-1 > div {
    padding-top: 10px;
}

.add_header {
    background: #479ff6;
    color: #fff;
    text-align: center;
    margin-bottom: 10px;
    padding: 0 0 6px;
    font-size: 0.875rem;
}

.fixed-t-48 {
    position: fixed;
    top: 48px;
    left: 0;
    right: 0;
}

.pt-30px {
    padding-top: 30px !important;
}

.pt-40px {
    padding-top: 40px !important;
}

.pageLayout-4 .product > div:not(:last-child) {
    margin-bottom: 0.875rem;
}

.pageLayout-4 .product .card .card-body > div {
    padding: 0;
}

.special-1 {
    position: -webkit-sticky;
    position: sticky;
    top: 87px;
    background: rgb(71 159 246 / 65%);
    color: #fff;
    z-index: 2;
    padding: 8px 0;
}

    .special-1 .title {
        font-size: 1rem;
        font-weight: 500;
        margin: 0 14px 0 !important;
    }

.alert-primary {
    background-color: #e6f2ff;
}

.card-st-2 > .row {
    margin-bottom: 0.75rem;
}

.card-st-2 .card {
    border: 1px solid #dee2e6;
}

.card-st-2 .card-body {
    display: block;
    font-size: 0.875rem;
    font-weight: 400;
    padding: 0.5rem 0.75rem;
}

    .card-st-2 .card-body .row {
        align-items: center;
        margin-bottom: 0.375rem;
    }

        .card-st-2 .card-body .row > [class*=col] {
            margin-bottom: 0.125rem;
        }

.card-st-3 > .row {
    margin-bottom: 0.75rem;
}

.card-st-3 {
    align-self: stretch;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
}

    .card-st-3 > [class*=col] {
        display: flex;
        flex-wrap: wrap;
    }

#tab-a3 .card-st-3 > [class*=col]:only-of-type {
}

.card-st-3 .card-header {
    font-size: 1rem;
}

.card-st-3 .card-body {
    flex-wrap: wrap;
    flex-direction: column;
    align-items: stretch;
    padding: 0.625rem 0.75rem 0.25rem;
}

    .card-st-3 .card-body .desc {
        font-size: 0.875rem !important;
    }

    .card-st-3 .card-body > *:nth-child(2) {
        flex: 1;
    }

    .card-st-3 .card-body > .card-text:nth-last-child(n+2) {
        margin-bottom: 10px;
    }

.progressStep {
    counter-set: step;
    margin: 0.25rem 0 0;
}

    .progressStep ol {
        display: flex;
        flex-wrap: wrap;
        padding: 0;
        list-style: none;
    }

    .progressStep li {
        position: relative;
        font-size: 11px;
        text-align: center;
        flex: 1 1 auto !important;
    }

.redc.progressStep li.on {
    color: #ec4444 !important;
    font-weight: 500;
}

    .redc.progressStep li.on:before {
        background-color: #ec4444 !important;
        border-color: #ec4444 !important;
        color: #fff;
    }

    .redc.progressStep li.on:after {
        background-color: #ec4444 !important;
    }

.progressStep li.on {
    color: #2DBB94;
    font-weight: 500;
}

.progressStep li:before {
    position: relative;
    width: 26px;
    height: 26px;
    content: counter(step);
    counter-increment: step;
    line-height: 26px;
    border: 1px solid #ccc;
    display: block;
    text-align: center;
    margin: 0 auto 6px auto;
    border-radius: 50vw;
    background-color: #fff;
    z-index: 1;
    font-size: 11px;
    font-weight: 500;
}

.progressStep li.on:before {
    background-color: #2DBB94;
    border-color: #2DBB94;
    color: #fff;
}

.progressStep li:not(:last-child):after {
    width: 100%;
    height: 2px;
    content: '';
    position: absolute;
    background-color: #ccc;
    top: 12px;
    left: 50%;
    z-index: 0;
}

.progressStep li.on:after {
    background-color: #2DBB94;
}

.myVisa .table .row:not(:last-child) {
    border-bottom: 1px solid #479ff6;
}

.myVisa .table .row > div {
    padding: 4px 4px;
}

    .myVisa .table .row > div:last-child {
        border: none;
    }

.form-control {
    color: #252525;
    font-weight: 400;
}

.boxStep {
    margin-bottom: 1.25rem !important;
}

.filterMypage {
    background: #479ff6;
    border-radius: 0.25rem;
    margin-bottom: 16px;
    padding: 6px;
    justify-content: center;
}

    .filterMypage > div {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        width: 100%;
        justify-content: center;
        font-size: 14px;
    }

    .filterMypage .input-st-normal {
        width: 100%;
        padding: 0.375rem 0.75rem;
    }

        .filterMypage .custom-select, .filterMypage .input-st-normal * {
            height: auto;
            line-height: 1;
            font-size: 16px;
            font-weight: 500;
            text-align: center;
            -moz-text-align-last: center;
            text-align-last: center;
            justify-content: center;
        }

.filter .dateVal > div {
    font-size: 0.875rem;
    font-weight: normal;
}

/* my account style end */

/* General search result page style */

.pageLayout-4 .scrollTab_A.custom-1.sticky-t48 {
    padding: 10px 0 8px;
    background: #fff;
    margin-bottom: 4px;
}

.pageLayout-4 .prodHashtag ~ div.float-right {
    display: none;
}

.classTabCont > * {
    display: block;
}

.classTabCont .tabChild {
    display: none;
}

    .classTabCont .tabChild.on {
        display: block;
    }

.scrollTab_A.custom-1 .badge {
    font-size: 12px;
    font-weight: 400;
    padding: 3px 4px 2px;
    background: #d9ecff;
    color: #187fe4;
    margin-left: 2px;
}

.scrollTab_A.custom-1 .optionBtn > div.on a {
    color: #fff;
}
/* General search result page style end */

/* awards page style */
.awards {
    padding: 8px;
    font-size: 14px;
    margin: 8px 0 0;
    border: 1px solid #c9c9c9;
    border-radius: 0.25rem;
}

    .awards ul li {
        display: flex;
        flex-wrap: wrap;
    }

        .awards ul li > div:nth-child(1) {
            margin-right: 4px;
            font-weight: 500;
        }

        .awards ul li > div:nth-child(2) {
            color: #479ff6;
        }

ul.list-2col li {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
}

    ul.list-2col li > div:nth-child(1) {
        margin-right: 4px;
        font-weight: 500;
        align-items: baseline;
    }

    ul.list-2col li > div:nth-child(2) {
        color: #479ff6;
        display: inline-flex;
        align-items: baseline;
    }

.tab_awards .swiper-slide {
    flex: 1;
    border: 1px solid #c9c9c9;
    border-radius: 0.25rem;
    padding: 0.375rem 1.125rem;
}

    .tab_awards .swiper-slide.on {
        border: 1px solid #479FF6;
        background: #479FF6;
        color: #fff;
    }
/* awards page style end */

/* Premium page style */
.premium {
    background: #000;
    color: #fff;
}

header.header-st-1 > .navbar {
    background: linear-gradient(180deg, rgba(0,0,0,0.2), transparent 90%);
}

header.header-st-1.scroll > .navbar, header.header-st-1.keep_scroll > .navbar {
    background: #fff
}

.nav_container.container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

    .nav_container.container ul > li::before {
        display: none;
    }

header.header-st-1.scroll .navbar-brand.logo img:first-child, header.header-st-1.keep_scroll .navbar-brand.logo img:first-child {
    display: none;
}

header.header-st-1 .navbar-brand.logo img:nth-child(2) {
    display: none;
}

header.header-st-1.scroll .navbar-brand.logo img:nth-child(2), header.header-st-1.keep_scroll .navbar-brand.logo img:nth-child(2) {
    display: block;
}

.premium header.header-st-1.scroll .navbar-brand.logo img:first-child, header.header-st-1.keep_scroll .navbar-brand.logo img:first-child {
    display: block;
}

.premium header.header-st-1.scroll .navbar-brand.logo img:nth-child(2), header.header-st-1.keep_scroll .navbar-brand.logo img:nth-child(2) {
    display: none;
}

header.header-st-1 .mobileMenu .material-icons {
    color: #fff;
}

header.header-st-1.scroll .mobileMenu .material-icons, header.header-st-1.keep_scroll .mobileMenu .material-icons {
    color: #666;
}

.premium .tab-st-1 > div.on {
    font-size: 0.875rem;
    font-weight: 500;
    color: #000000;
    border-width: 1px 1px 0;
    background: #ffffff;
}

.premium .tab-st-1 > div {
    border-color: #fff;
}

.premium .tab-st-1 > div {
    background: rgba(255,255,255,.3);
    color: #ffffff;
    border: none;
}

.premium .tab-st-1::after {
    background: #fff;
}

.premium .scrollTab_A.custom-3 {
    background: rgba(0,0,0,.35);
}

.premium header.scroll .navbar {
    background: #000;
}

.premium .custom-3.scrollTab_A .optionBtn > div[class*=col] {
    opacity: 0.75;
    background: #292929;
    color: #b5b5b5;
    border-color: #b5b5b5;
}

.premium .custom-3.scrollTab_A .optionBtn > div.on {
    opacity: 1;
    background: #4d4d4d;
    color: #ffffff;
    border-color: #4d4d4d;
}

.premium .custom-3.scrollTab_A .optionBtn > div .checkBox::after {
    border-color: #f7b41e;
}

.premium .prodOption .material-icons {
    color: #f7b41e;
}

.premium .btn-st-f24 {
    background: #f7b41e;
}

.premium .btn-st-a24 {
    border: 1px solid #f7b41e;
    color: #f7b41e;
}

.premium .product .prodHashtag > div {
    color: #f7b41e;
}
/* Premium page style end */

/*--------------------------custom css by jerald----------------------------------*/

#modalForgotPassword *, #modalChangePassword * {
    font-size: 16px;
    font-weight: 500;
}

#modalForgotPassword .close span, #modalChangePassword .close span {
    font-size: 28px;
}

#modalForgotPassword .modal-title, #modalChangePassword .modal-title {
    font-size: 1.25rem;
}

#modalForgotPassword label, #modalChangePassword label {
    font-size: 12px;
    line-height: 21px;
}


#modalForgotPassword .form-group, #modalChangePassword .form-group {
    margin-bottom: 8px;
    padding-top: 1.25rem;
}

    #modalForgotPassword .form-group label, #modalChangePassword .form-group label {
        top: 0.5rem;
    }

.chgPasswordReset {
    background: #dfefff;
    color: #525252;
    font-weight: 400;
    padding: 14px;
    text-align: center;
}

.cptl {
    text-transform: capitalize;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.loadingList {
    height: 141px;
    background: #e2e2e2 url(../img/gif/loader.gif) no-repeat;
    background-position: center;
    background-size: 110px;
    width: 100%;
    display: block;
}

.loadingDiv {
    background: url(../img/gif/loader.gif) no-repeat;
    background-position: center;
    background-size: 110px;
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
}

.noresult {
    height: 40vw;
    background: url(../img/images/no-result.png) no-repeat;
    background-position: center;
    background-size: auto 77%;
}

#productList {
    margin-bottom: 15px;
}

.ind {
    margin-left: 15px;
}

.tour-sub .desc::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background: url(../img/icons/icon_flag.png) no-repeat center /contain;
    margin-right: 0.25rem;
}

.tourspot-sub .desc::before {
    content: "\e55f";
    display: inline-block;
    font-family: 'Material Icons';
    margin-right: 0.25rem;
    color: #c1c1c1;
    vertical-align: bottom;
    font-weight: normal;
    font-size: 16px;
}

.airport-sub .desc::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background: url(../img/icons/icon_airport.png) no-repeat center /contain;
    margin-right: 0.25rem;
}

/*.meal-sub .desc::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background: url(../img/icons/icon_meal.png) no-repeat center /contain;
    margin-right: 0.25rem;
}*/

/*.hotel-sub .desc::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background: url(../img/icons/icon_hotel1.png) no-repeat center /contain;
    margin-right: 0.25rem;
}*/

.transpo-sub .desc::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background: url(../img/icons/icon_transpo.png) no-repeat center /contain;
    margin-right: 0.25rem;
}

.no-data {
    font-style: italic;
    color: #ccc;
    text-align: center;
    display: block !important;
}

.no-avail {
    font-style: italic;
    color: #ce2b2b;
    text-align: center;
    display: block !important;
    width: 100%;
}

.event-dis {
    pointer-events: none;
}

#facebookLogin img, #googleLogin img {
    float: left;
    position: absolute;
    margin-top: 11px;
    top: auto;
    margin-left: 17px;
}

.pax-cnt {
    min-width: 24px;
    text-align: center;
}

.page-preloader {
    position: fixed;
    height: 100%;
    width: 100%;
    background: url(../img/gif/loader.gif) no-repeat center;
    background-size: 118px;
    z-index: 1101;
    background-color: rgba(0, 0, 0, 0.6);
}

    .page-preloader span {
        text-align: center;
        display: block;
        font-size: 22px;
        color: #fff;
        margin-top: 54vw;
    }

.blur {
    -webkit-filter: blur(3px);
    filter: blur(3px);
}

#nomap {
    display: none;
    width: 100%;
    border: none;
    height: 100%;
    background: url(../../Content/img/images/no-map.jpg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #d2d2d2;
}

#mapHotelAddress {
    width: 100%;
    border: none;
    height: 100%;
    min-height: 75vh;
    min-width: 36vw;
}

#modalChangePassword .form-control, #modalForgotPassword .form-control, .custContactDiv .form-control {
    outline: none;
    border: 1px solid #ccc;
    border-radius: 0;
}

.custContactDiv {
    margin-bottom: 0 !important;
    height: 100%;
    padding-top: 19px !important;
}


.mod-cont {
    flex-wrap: wrap;
    align-items: center;
    font-weight: 500;
    padding: 0.75rem 0.75rem 0.75rem 0.75rem;
    position: relative;
    background: #fff;
    justify-content: center;
    margin: 0 0;
    border: none !important;
    border-radius: 0.25rem;
    box-shadow: 0 1px 4px -2px rgba(0,0,0,0.7);
}

    .mod-cont label {
        display: inline-block;
        /*width: 157px;*/
        vertical-align: top;
        margin: 1px;
    }

    .mod-cont span {
        display: inline-block;
        width: 196px;
        font-weight: 400;
        font-size: 12px;
    }

.btn-st-half {
    width: 45%;
    font-size: 1rem;
    font-weight: 500;
    padding: 11px 8px;
    margin: 8px 0;
    box-sizing: border-box;
}

.vertical-alignment-helper {
    display: table;
    height: 100%;
    width: 95%;
    pointer-events: none;
    margin: 0 auto;
}

.vertical-align-center {
    display: table-cell;
    vertical-align: middle;
    pointer-events: none;
}

.modal-backdrop.show {
    z-index: 1102;
}

#bookSpecialRequest {
    height: 115px;
}

header.fixedscroll .navbar {
    background: transparent;
    background: #fff;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12);
}

#summaryDiv {
    padding-top: 48px;
}

.sub-hdr {
    color: #0773bf;
    margin-top: 14px;
    margin-bottom: 8px !important;
}

.imp-rem {
    padding: 0;
    margin-top: 16px;
}

    .imp-rem ul {
        padding-left: 20px;
        font-size: 12px;
        margin: 0;
    }

#contactInfoFIT, #contactInfoGIT {
    z-index: 1101;
}

.dataDate1 {
    margin-top: 15px;
}

.optionTour .box .desc {
    margin-bottom: 0.5rem;
}

.eventBoxTypeE {
    bottom: 0.5rem;
    padding: 0 0.875rem;
}

.btn-st-a24 {
    margin: 0 !important;
}

.countryFlag {
    position: relative;
    width: 100%;
    height: auto !important;
    padding-bottom: 0 !important;
    box-sizing: content-box;
}

.box-st-2 {
    background: #dee2e6;
    color: #4a4a4a;
    display: inline-block;
    padding: 0.063rem 0.375rem 0;
    border-radius: 0.25rem;
    font-size: 0.75rem;
}


#visaFormTitle {
    font-size: 16px;
}

#visaNoticeRefUrl {
    color: #2c7acb;
    text-decoration: underline;
}

.cusHdr {
    padding-left: 0;
    color: #413737;
    font-weight: bold;
    margin-bottom: 0 !important;
}

.cusHdrMain {
    border-bottom: 1px solid #479ff6;
    padding-bottom: 10px;
    margin-bottom: 10px !important;
}

.paxInf {
    background: url(https://icons.iconarchive.com/icons/icons8/ios7/16/Arrows-Down-4-icon.png) no-repeat;
    background-position: right;
}

    .paxInf.on {
        background: url(https://icons.iconarchive.com/icons/icons8/ios7/16/Arrows-Up-4-icon.png) no-repeat;
        background-position: right;
    }

.cus-content {
    border-top: 1px solid #479ff6;
    padding-top: 10px;
    margin-top: 10px;
}


.mod-cont .form-control {
    outline: none;
    border: 1px solid #ccc;
    border-radius: 0;
    background: #fff;
}

    .mod-cont .form-control:disabled {
        background: #f1f1f1;
        border: 1px solid #f1f1f1;
    }

.select-st-1 {
    background: #fff;
}

.fixIcon1 {
    width: auto !important;
    font-size: 18px !important;
    color: #479ff6;
}

.btnInsHalf {
    width: 48% !important;
    margin: 2px;
}

.ttlAmtIns {
    text-align: center;
    background: #fcd2d2;
    padding: 11px;
    border-radius: 5px;
    font-size: 17px;
    font-weight: 500;
    color: #8c1313;
}

#sucInsRefCode {
    font-size: 12px;
    font-weight: bold;
    color: #35af44;
}

#sucInsCoverage {
    color: #1d78ad;
    text-decoration: underline;
}

#sucInsPayStat {
    font-size: 14px;
    font-weight: bold;
    color: #3bb250;
}

#sucInsPayRefNo {
}

.polStat {
    font-weight: bold;
    color: #3bb250;
}

#paxIns hr {
    margin: 7px;
}

    #paxIns hr:last-child {
        display: none;
    }

#detailProductInclusionFlight p, #detailProductInclusionGuide p, #detailProductInclusionInsurance p, #detailProductInclusionTransfers p, #detailProductExclusionFlight p, #detailProductExclusionSurcharge p {
    margin: 0;
    padding: 0;
}

.titImg {
    width: 362px;
}

.boxBtn, .card-body .box {
    width: 100%;
}


.product {
    cursor: default !important;
}

#navProductDetail {
    background: #fff;
}

.prodTitle {
    cursor: pointer;
}

.purechat-button-expand.purechat-collapsed.purechat-collapsed-default.purechat-button-available {
    display: none !important;
}

.purechat-button-expand.purechat-collapsed.purechat-collapsed-default {
    display: none !important;
}

.purechat-collapsed.purechat-collapsed-default, .purechat-widget-header {
    display: none !important;
}

#PureChatWidget.purechat.purechat-popped-out-widget.purechat-widget-super-collapsed.purechat-bottom {
    display: none !important;
}

#faqDetail p, #faqDetail ul, #faqSectDetail p, #faqSectDetail ul {
    margin: 0;
}

textarea.form-control {
    padding: 10px;
}



.invalid .prodWish {
    z-index: 9 !important;
}

.trainCard img, .trainCard .tit {
    cursor: pointer;
}

.trainCard .desc {
    font-size: 0.875rem !important;
}

/*------------------end custom css by jerald------------------------*/

/* COVID notice page style */
.tabList-st-1 {
    padding: 0 14px;
}

    .tabList-st-1 .optionBtn > div:not(.notBtn) {
        border: 1px solid #c9c9c9;
        border-radius: 0.25rem;
        padding: 6px 0.75rem 4px;
        font-size: 1rem;
        margin-right: 0.375rem;
        border-radius: 0.25rem;
        align-items: center;
    }

        .tabList-st-1 .optionBtn > div:not(.notBtn).on {
            border: 1px solid #479FF6;
            background: #479FF6;
            color: #fff;
        }

#otherCtry + .select2-container {
    min-width: 200px !important;
}
/* COVID notice page style end */

.alert {
    padding: .5rem .75rem;
    margin: 0;
}

    .alert .tit {
        font-size: 1rem;
        font-weight: 500;
        color: #e90e0e;
    }

    .alert .sub-tit {
        font-size: 0.938rem;
        font-weight: 500;
        color: #e90e0e;
        padding-bottom: 0.25rem;
        border-bottom: 1px solid rgb(114 28 36 / 30%);
    }

    .alert .desc {
        margin-top: 0.5rem;
    }

/* date picker */
.overlayCal {
    position: relative;
}

    .overlayCal .daterangepicker {
        position: relative;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        color: inherit;
        background-color: #fff;
        border-radius: 0;
        border: none;
        width: 100%;
        height: 100%;
        max-width: none;
        padding: 0;
        margin-top: 0;
        z-index: 3001;
        display: none;
        font-family: inherit;
        font-size: 1rem;
        line-height: 1.5rem;
    }

        .overlayCal .daterangepicker.show-calendar .drp-buttons {
            display: none;
        }

        .overlayCal .daterangepicker:before {
            display: none;
        }

        .overlayCal .daterangepicker.show-calendar .ranges {
            margin-top: 0;
        }

        .overlayCal .daterangepicker .calendar-table th, .overlayCal .daterangepicker .calendar-table td {
            white-space: nowrap;
            width: auto;
            height: auto;
            border: none;
            cursor: pointer;
            position: relative;
            z-index: 1;
            font-size: 1rem;
            padding: 13px 0 !important;
        }

        .overlayCal .daterangepicker .calendar-table td {
            border-bottom: 2px solid #fff;
            min-height: 40px;
        }

        .overlayCal .daterangepicker .drp-calendar {
            padding: 0;
            float: none;
            max-width: 100%;
            margin: 0 auto;
        }

        .overlayCal .daterangepicker .calendar-table {
            max-width: 450px;
            margin: 0 auto;
        }

        .overlayCal .daterangepicker td.active, .daterangepicker td.active:hover {
            background-color: transparent;
            border: none;
            color: #fff;
            border-radius: 0;
            border-bottom: 2px solid #fff;
            z-index: 10;
        }

            .overlayCal .daterangepicker td.active::after, .daterangepicker td.active:hover::after {
                content: "";
                display: block;
                position: absolute;
                top: 50%;
                left: 50%;
                background: #479ff6;
                border-radius: 50vh;
                z-index: -1;
                transform: translate(-50%, -50%);
                width: max(50px, 80%);
                padding-bottom: max(50px, 80%);
            }

        .overlayCal .daterangepicker:not(.single) td.active::before {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            right: 0;
            background: #a2cffa;
            z-index: -1;
            transform: translate(0, -50%);
            width: 50%;
            height: 80%;
        }

        .overlayCal .daterangepicker td.active.end-date::before, .daterangepicker td.active.end-date:hover::before {
            left: 0;
            right: auto;
        }

        .overlayCal .daterangepicker td.in-range {
            background-color: transparent;
        }

.daterangepicker td.in-range:not(.end-date):not(.start-date):before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    background: #a2cffa;
    z-index: -1;
    transform: translate(0, -50%);
    width: 100%;
    height: 80%;
}

.overlayCal .active {
    display: table-cell;
}

.overlayCal .month {
    color: #479ff6;
}

.overlayCal thead th {
    color: #479ff6;
    font-weight: 500;
    height: 10vw;
}

.overlayCal thead > tr:nth-child(2) th {
    font-weight: 400;
}

.overlayCal .daterangepicker .calendar-table .next span, .overlayCal .daterangepicker .calendar-table .prev span {
    border: solid #479ff6;
    border-width: 0 2px 2px 0;
}

.daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date {
    background-color: transparent;
}

.daterangepicker .drp-calendar.left .calendar-table {
    padding-right: 0;
}

.overlayCal .daterangepicker td.off {
    opacity: 0.5;
}

.daterangepicker select.monthselect, .daterangepicker select.yearselect {
    height: calc(1.5em + .75rem + 2px);
    padding: .375rem 1.75rem .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    vertical-align: middle;
    background: #fff url(../img/icons/unfold_more.svg) no-repeat right .375rem center/18px 18px;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* date Picker end */


.skeLoader * {
    cursor: default !important;
}

.skeLoader .title {
    background: #ccc;
    padding: 13px;
    border-radius: 4px;
    width: 250px;
}

.skeLoader .img1 {
    background: #ccc;
    width: 390px;
    height: 244px;
}

.skeLoader .img2 {
    background: #ccc;
    width: 129px;
    height: 80px;
}

.skeLoader .img3 {
    background: #ccc;
    width: 129px;
    height: 80px;
}

.skeLoader .img4 {
    background: #ccc;
    width: 129px;
    height: 80px;
}

.skeLoader .prodType {
    background: #f4f4f4;
    padding: 10px;
    width: 111px;
    margin: 2px;
}

.skeLoader .prodGrp {
    background: #cccccc;
    padding: 16px !important;
    width: 191px;
    text-align: left;
}

.skeLoader .prodTitle {
    background: #cccccc;
    padding: 12px !important;
    width: 100%;
    border-radius: 3px;
}

.skeLoader .info1 {
    background: #cccccc;
    padding: 12px !important;
    width: 125px;
    border-radius: 3px;
    display: block !important;
}

.skeLoader .info2 {
    background: #cccccc;
    padding: 12px !important;
    width: 123px;
    border-radius: 3px;
    display: none !important
}

.skeLoader .btnDept {
    background: #cccccc;
    padding: 12px !important;
    border-radius: 3px;
    width: 132px;
    margin: 4px 0;
}

.skeLoader .mx-0 {
    margin-bottom: 30px !important;
}

.skeLoader .prodPrice {
    background: #cccccc;
    padding: 12px !important;
    width: 20px;
    border-radius: 3px;
    margin-left: 6px;
    margin-right: 0;
    margin-top: 4px;
}

.skeLoader .prodHashtag {
    background: #cccccc;
    padding: 12px !important;
    border-radius: 3px;
}

.skeLoader .btnMore {
    background: #cccccc;
    padding: 12px !important;
    width: 150px;
    border-radius: 3px;
    margin-left: 6px;
    margin-right: 0;
    margin-top: 2px;
}

.skeLoader .prodBox {
    background: #ccc;
    width: 178px;
    height: 223px;
}

.skeLoader .countryTitle {
    background: #f4f4f4;
    padding: 10px;
    width: 112px;
    border-radius: 4px;
    margin-left: -8px;
}

.skeLoader .swiper-slide {
    margin-right: 14px;
}

.skeLoader {
    overflow: hidden;
}

    .skeLoader .tit {
        background: #ccc;
        padding: 13px;
        border-radius: 4px;
        width: 250px;
    }

    .skeLoader .destInfoWidget {
        background: #ccc;
        width: 76px;
        height: 60px;
    }

    .skeLoader .destInfoCity {
        background: #ccc;
        width: 85px;
        height: 33px;
    }

    .skeLoader .destInfoPrice {
        background: #ccc;
        width: 100%;
        border-color: #fff;
        margin-bottom: 2px;
        border-radius: 0.25rem;
    }

    .skeLoader .destInfoWarn {
        background: #ccc;
        width: 100%;
        border-color: #fff;
        margin-bottom: 2px;
    }

    .skeLoader .fixIcon {
        color: #fff;
    }

    .skeLoader .warnDesc {
        background: #fff;
        width: 30vw;
        padding: 9px;
        display: inline-block;
        margin: 6px;
        margin-left: 15px;
        vertical-align: middle;
    }

    .skeLoader .optionDatePrice {
        border: none;
        border-radius: unset;
    }

    .skeLoader .destInfoAmt {
        background: #fff;
        padding: 15px;
        width: 141px;
        border-radius: 4px;
    }

    .skeLoader .destInfoDate {
        background: #fff;
        padding: 15px;
        width: 230px;
        border-radius: 4px;
    }

    .skeLoader .addInfo {
    }


    .skeLoader::after {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 999;
        transform: translateX(-100%);
        background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.2) 20%, rgba(255, 255, 255, 0.5) 60%, rgba(255, 255, 255, 0));
        -webkit-animation: shimmer 1s infinite;
        animation: shimmer 1s infinite;
        content: '';
        overflow: hidden;
    }

@-webkit-keyframes shimmer {
    100% {
        transform: translateX(100%);
    }
}

@keyframes shimmer {
    100% {
        transform: translateX(100%);
    }
}

/*desktop: height:31.25vw  mobile height:83.33vw;  31vw 62.6vw
.container-fluid*/

.pt-5 {
    padding-top: 5rem !important;
}

.txt-st-b20 {
    font-size: 20px;
    font-weight: 600;
    vertical-align: middle;
    text-decoration: underline;
}

#map .modal-content {
    height: 100%;
    position: absolute;
}

#singleDate {
    z-index: 999999;
}

.form-group .form-control::-webkit-input-placeholder {
    color: #a3a1a1;
    font-family: sans-serif !important;
    font-size: 14px !important;
    font-style: italic !important;
    font-weight: 300 !important;
}

.form-group .form-control::-moz-placeholder {
    color: #a3a1a1;
    font-family: sans-serif !important;
    font-size: 14px !important;
    font-style: italic !important;
    font-weight: 300 !important;
}

.form-group .form-control:-ms-input-placeholder {
    color: #a3a1a1;
    font-family: sans-serif !important;
    font-size: 14px !important;
    font-style: italic !important;
    font-weight: 300 !important;
}

.form-group .form-control::-ms-input-placeholder {
    color: #a3a1a1;
    font-family: sans-serif !important;
    font-size: 14px !important;
    font-style: italic !important;
    font-weight: 300 !important;
}

.form-group .form-control::placeholder {
    color: #a3a1a1;
    font-family: sans-serif !important;
    font-size: 14px !important;
    font-style: italic !important;
    font-weight: 300 !important;
}

.indL {
    margin-left: 18px !important;
    list-style-type: disc !important;
}

    .indL::before {
        display: none !important
    }

.tabContent.tabSpec a, .alink {
    color: #007bff;
    text-decoration: underline;
}

.updDtCov {
    float: right;
    color: #6f6f6f;
    background: #ccc;
    padding: 5px 8px;
    border-radius: 6px;
    font-size: 12px;
}

.visaLinkDesc {
    background: #efefef;
    margin-top: 9px;
    padding: 10px !important;
    border-radius: 5px;
}

#visaLinks ol > li {
    list-style: decimal !important;
}

.hotelIntlPhoto .swiper-slide {
    width: 44%;
}

    .hotelIntlPhoto .swiper-slide.swiper-slide-prev img, .hotelIntlPhoto .swiper-slide.swiper-slide-next img {
        opacity: 0.7;
    }

.hotelIntlPhoto img {
    width: 100% !important;
}

#panelWhyUs {
    z-index: 1110;
}

.overlayClose {
    cursor: pointer;
}

.select2-container--open {
    z-index: 9999;
}

.select2-container {
    width: auto !important;
}

.cursor-pointer:hover {
    cursor: pointer !important;
}

#insuranceContent .card:hover {
    box-shadow: 0px 0px 11px -2px #000;
}

.el-ab-rb {
    right: 13px;
}

.paxPrice .minus, .paxPrice .plus {
    cursor: pointer;
}

#visaNotice {
    width: 100%;
}

.swiperBtnCruiseLine {
    background: transparent;
}

    .swiperBtnCruiseLine .tabBtn > div {
        border: 1px solid #c9c9c9;
        border-radius: 0.25rem;
        margin-right: 0.375rem;
        border-radius: 50vw;
        font-size: 1rem;
        padding: 0.375rem 1rem 0.25rem;
        margin-bottom: 4px;
    }

[id*=jr_] a {
    text-decoration: underline;
    color: #479ff6;
}

.overlayPanel[id*=jr_] .row > [class*=col]:nth-last-child(2):first-child {
    min-width: clamp(96px, 16%, 110px);
}

#pop-JR .container {
    background: #f5f5f5;
}

#pop-JR .classTabBtn {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    background: #fff;
}

    #pop-JR .classTabBtn > div {
        display: flex;
        flex-flow: column wrap;
        justify-content: center;
        align-content: center;
        text-align: center;
        flex: 1;
        background: #fff;
        color: #479FF6;
        font-weight: 500;
        font-size: clamp(11px, 1.82vw, 14px);
        line-height: 1.2;
        padding: clamp(8px, 1.3vw, 10px) 0;
    }

        #pop-JR .classTabBtn > div:not(:last-child) {
            border-right: 1px solid #dee2e6;
        }

        #pop-JR .classTabBtn > div.on {
            background: #479FF6;
            color: #fff;
            font-size: clamp(14px, 2.34vw, 18px) !important;
            border: none;
            flex: 0 0 auto;
            width: auto;
            max-width: 100%;
            padding-left: clamp(8px, 2.6vw,20px);
            padding-right: clamp(8px, 2.6vw,20px);
        }

            #pop-JR .classTabBtn > div.on .w-100 {
                display: none;
            }

#pop-JR .tabBtn {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-evenly;
    margin-bottom: clamp(6px, 1.3vw, 10px);
}

    #pop-JR .tabBtn > div {
        display: flex;
        flex-flow: column wrap;
        justify-content: center;
        align-content: center;
        text-align: center;
        color: #b8b8b8;
        font-weight: 500;
        font-size: clamp(11px, 2.34vw, 18px) !important;
        line-height: 1.2;
        padding: clamp(6px, 1vw, 8px) clamp(8px, 1.82vw, 14px);
        margin-top: 10px;
        margin-bottom: 0;
        border-bottom: 2px solid transparent;
    }

        #pop-JR .tabBtn > div.on {
            color: #479ff6;
            border-bottom: 2px solid #479FF6;
        }

#pop-JR .container {
    background: #f5f5f5;
}

#pop-JR .classTabBtn {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    background: #fff;
}

    #pop-JR .classTabBtn > div {
        display: flex;
        flex-flow: column wrap;
        justify-content: center;
        align-content: center;
        text-align: center;
        flex: 1;
        background: #fff;
        color: #479FF6;
        font-weight: 500;
        font-size: clamp(11px, 1.82vw, 14px);
        line-height: 1.2;
        padding: clamp(8px, 1.3vw, 10px) 0;
    }

        #pop-JR .classTabBtn > div:not(:last-child) {
            border-right: 1px solid #dee2e6;
        }

        #pop-JR .classTabBtn > div.on {
            background: #479FF6;
            color: #fff;
            font-size: clamp(14px, 2.34vw, 18px) !important;
            border: none;
            flex: 0 0 auto;
            width: auto;
            max-width: 100%;
            padding-left: clamp(8px, 2.6vw,20px);
            padding-right: clamp(8px, 2.6vw,20px);
        }

            #pop-JR .classTabBtn > div.on .w-100 {
                display: none;
            }

#pop-JR .tabBtn {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-evenly;
    margin-bottom: clamp(6px, 1.3vw, 10px);
}

    #pop-JR .tabBtn > div {
        display: flex;
        flex-flow: column wrap;
        justify-content: center;
        align-content: center;
        text-align: center;
        color: #b8b8b8;
        font-weight: 500;
        font-size: clamp(11px, 2.34vw, 18px) !important;
        line-height: 1.2;
        padding: clamp(6px, 1vw, 8px) clamp(8px, 1.82vw, 14px);
        margin-top: 10px;
        margin-bottom: 0;
        border-bottom: 2px solid transparent;
    }

        #pop-JR .tabBtn > div.on {
            color: #479ff6;
            border-bottom: 2px solid #479FF6;
        }

#oth-title .material-icons {
    vertical-align: middle;
    color: #255b90;
}

.paxTypeHelperIcon {
    font-size: 21px !important;
    margin-left: 7px;
    vertical-align: middle !important;
    color: #2975bf;
    cursor: pointer;
}

.ui-tooltip {
    z-index: 999999;
    width: 400px;
    border-radius: 7px !important;
    box-shadow: 0px 4px 17px -11px #000 !important;
    background: #fff;
    border: 1px solid #ccc !important;
    padding: 13px;
    text-align: center;
    font-size: 15px;
}

.ui-helper-hidden-accessible {
    display: none;
}

.prod-search-btn {
    z-index: 9;
}

.moveBack, #btnChatMenu {
    cursor: pointer;
}

.prodOption .event {
    background: #e90e0e;
    font-weight: 500;
    position: relative;
}

    .prodOption .event::after {
        content: "";
        display: block;
        position: absolute;
        width: calc(100% - 4px);
        height: calc(100% - 4px);
        border: 1px solid #fff;
        top: 2px;
        left: 2px;
        border-radius: 2px;
    }

.prodOption .event {
    background: #e90e0e;
    font-weight: 500;
    position: relative;
}

    .prodOption .event::after {
        content: "";
        display: block;
        position: absolute;
        width: calc(100% - 4px);
        height: calc(100% - 4px);
        border: 1px solid #fff;
        top: 2px;
        left: 2px;
        border-radius: 2px;
    }

#iconEvent img {
    opacity: 1;
    height: 100%;
}

#iconEvent .tit {
    height: 46px;
}

.prodTitle .event {
    display: inline-block;
    background: #e90e0e;
    font-weight: 500;
    font-size: 12px;
    position: relative;
    color: #fff;
    border-radius: 0.25rem;
    margin-right: 4px;
    vertical-align: text-bottom;
    padding: 2px 6px 1px;
}

    .prodTitle .event::after {
        content: "";
        display: block;
        position: absolute;
        width: calc(100% - 4px);
        height: calc(100% - 4px);
        border: 1px solid #fff;
        top: 2px;
        left: 2px;
        border-radius: 2px;
    }

.eventInfo {
    border: 1px solid #e90e0e;
    color: #252525;
    padding: 0 !important;
    border-radius: 0.25rem;
    font-size: 0.875rem;
    cursor: pointer;
}

    .eventInfo .box {
        padding: 0.5rem 0.5rem;
        margin-bottom: 0 !important;
    }

    .eventInfo > .box:nth-of-type(n+2) {
        border-top: 1px solid #e90e0e;
    }

    .eventInfo::before {
        content: "PROMO DEAL";
        display: block;
        position: absolute;
        font-size: 10px;
        top: 0;
        left: 8px;
        background: #e90e0e;
        color: #fff;
        padding: 1px 8px;
        border-radius: 0.25rem;
        transform: translate(0, -50%);
    }

    .eventInfo .tit {
        font-size: 15px;
        border-bottom: 1px solid #ff9494;
        padding-bottom: 4px;
    }

.evnetInfo .tit:nth-of-type(2)::before {
    content: "";
    display: block;
    top: 0;
    width: 100%;
    height: 1px;
    background: #e90e0e;
}

.eventInfo .desc span, .eventInfo .date span {
    color: #479ff6;
}

.nrefind {
    color: #ff0000;
    border: 1px solid #ff0000;
    padding: 4px 7px;
    border-radius: 5px;
    font-size: 10px;
}

.refind {
    display: none;
    color: #057b05;
    border: 1px solid #057b05;
    padding: 4px 7px;
    border-radius: 5px;
    font-size: 10px;
}

.nrefind_color {
    color: #ff0000 !important;
}

.refind_color {
    color: #057b05 !important;
}

.btn-blog {
    height: 30px !important;
    margin-top: 0 !important;
    width: auto !important;
    vertical-align: bottom;
}

#safetripContainer label strong, #starrContainer label strong {
    color: red;
    margin-left: 5px;
}

#lblAgeInfoST, #lblAgeInfoSR {
    background: #f9cece;
    color: #b90000;
    font-size: 14px;
    padding: 5px 10px;
    border-radius: 18px;
    margin-left: 10px;
}

#warningPaxType, #warningPwdSen, #warningPaxYouthAge {
    display: none;
    background: #ffc6c6;
    margin: 11px;
    padding: 10px;
    text-align: center;
    color: #a01717;
}

#warningTravelDays {
    background: #ffc6c6;
    margin: 11px;
    padding: 10px;
    text-align: center;
    color: #a01717;
}

.blink_me {
    -webkit-animation: blinker 1s linear infinite;
    animation: blinker 1s linear infinite;
    color: red !important;
}

@-webkit-keyframes blinker {
    50% {
        opacity: 0;
    }
}

@keyframes blinker {
    50% {
        opacity: 0;
    }
}

.btn-sm-fl {
    font-size: 12px;
    padding: 2px 14px;
    border-radius: 30px;
    margin-left: 6px;
}

#noticeFlightPax {
    background: #d5eaff;
    margin: 11px;
    padding: 10px;
    text-align: left;
    color: #000000;
}

    #noticeFlightPax span {
        font-weight: bold;
        color: #2d6aa7;
        display: block;
        padding-bottom: 8px;
    }

    #noticeFlightPax ul {
        font-size: 15px;
    }

        #noticeFlightPax ul a {
            color: #265f98;
        }

/* Style for search card */
.searchCard {
    padding: .75rem .5rem .875rem;
}

    .searchCard .searchType {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

        .searchCard .searchType > div {
            cursor: pointer;
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            align-items: stretch;
            justify-content: center;
            text-align: center;
            padding-top: 6px;
            padding-bottom: 6px;
            font-weight: 500;
            color: #888;
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
        }

            .searchCard .searchType > div.on {
                color: #479FF6;
                border-bottom: 2px solid #479FF6;
            }

    .searchCard .searchDate > div {
        width: auto;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }

        .searchCard .searchDate > div[class*=option_] {
            display: none;
        }

    .searchCard [sel-date]::before {
        content: "\e916";
        font-family: 'Material Icons';
        font-size: 22px;
        color: #888;
        display: inline-block;
        vertical-align: middle;
    }

    .searchCard [sel-time]::before {
        content: "\e8b5";
        font-family: 'Material Icons';
        font-size: 22px;
        color: #888;
        display: inline-block;
        vertical-align: middle;
    }

.overlayPanel#modalSelectDate [sel-date]::before {
    content: "\e916";
    font-family: 'Material Icons';
    font-size: 22px;
    color: #fff;
    display: inline-block;
    vertical-align: sub;
    opacity: 0.7;
    margin-right: 2px;
}

.overlayPanel#modalSelectDate [sel-time]::before {
    content: "\e8b5";
    font-family: 'Material Icons';
    font-size: 22px;
    color: #fff;
    display: inline-block;
    vertical-align: middle;
    opacity: 0.7;
    margin-right: 2px;
}

.searchCard [sel-adt]::before {
    content: "";
    width: 18px;
    height: 18px;
    background: url(../img/airticket/icon-user.png) no-repeat center /cover;
    display: inline-block;
    vertical-align: sub;
    margin-right: .375rem;
}

.searchCard [sel-card]::before {
    content: "\e870";
    font-family: "Material icons";
    font-size: 24px;
    width: 24px;
    height: 24px;
    display: inline-flex;
    color: #888888;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    margin-right: .375rem;
}

.searchCard [sel-more]::before {
    content: "\e429";
    font-family: "Material icons";
    font-size: 24px;
    width: 24px;
    height: 24px;
    display: inline-flex;
    color: #888888;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    margin-right: .375rem;
}

.daterangepicker .calendar-time {
    text-align: center;
    margin: 8px auto 0 auto;
    line-height: 30px;
    position: relative;
    border: 1px solid #ccc;
    border-radius: .25rem;
    padding: 6px 0;
}

    .daterangepicker .calendar-time select.hourselect, .daterangepicker .calendar-time select.minuteselect {
        cursor: pointer;
        width: auto;
        font-size: 16px;
        padding: 6px 30px 6px 12px;
        border-radius: 0.25rem;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23479FF6'><polygon points='0,0 100,0 50,50'/></svg>") no-repeat;
        background-size: 12px;
        background-position: right 8px top 60%;
        background-repeat: no-repeat;
        border-color: #479FF6;
    }

    .daterangepicker .calendar-time::before {
        content: "Time ";
        display: inline-block;
        font-size: 1rem;
        font-weight: 500;
        color: #479ff6;
        margin-right: .75rem;
    }

.overlayPanel#modalSelectDate .cal-hdr * {
    /* color: #fff; */
}
/* Style for search card end */

/* style for flight booking page */
.sp_notice {
    /* background: #d6d6d6; */
    background: #e8e8e8;
    padding: 0.5rem 0.75rem;
    border-radius: 0.25rem;
    font-size: .875rem;
}

.priceBox {
    margin-bottom: 1rem;
}

    .priceBox > article {
        display: flex;
        flex-wrap: wrap;
        margin-left: -4px;
        margin-right: -4px;
    }

        .priceBox > article > div {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            padding: 0 4px;
        }

.process ol {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin-bottom: 0.5rem;
}

    .process ol > li {
        position: relative;
        line-height: 1.5;
        background: #71b9ff;
        color: #fff;
        font-size: .938rem;
        font-weight: 500;
        margin-left: 20px;
        margin-bottom: 0 !important;
        padding: 0.375rem 0.5rem;
    }

        .process ol > li:first-child {
            margin-left: 0;
            padding-left: 0.75rem;
        }

        .process ol > li::after {
            content: "";
            display: block;
            position: absolute;
            width: 0;
            height: 0;
            border-left: 17px solid #71b9ff;
            border-top: 17px solid transparent;
            border-bottom: 17px solid transparent;
            top: 0%;
            left: 100%;
        }

        .process ol > li:not(:first-child):before {
            content: "";
            display: block;
            position: absolute;
            width: 0;
            height: 0;
            border-top: 17px solid #71b9ff;
            border-left: 17px solid transparent;
            border-bottom: 17px solid #71b9ff;
            top: 0%;
            right: 100%;
        }

        .process ol > li.on {
            background: #479FF6;
        }

            .process ol > li.on::after {
                border-left: 17px solid #479FF6;
            }

            .process ol > li.on:not(:first-child):before {
                border-top: 17px solid #479FF6;
                border-bottom: 17px solid #479FF6;
            }

            .process ol > li.on ~ li {
                background: #c5c5c5;
            }

                .process ol > li.on ~ li::after {
                    border-left: 17px solid #c5c5c5;
                }

                .process ol > li.on ~ li:before {
                    border-top: 17px solid #c5c5c5;
                    border-bottom: 17px solid #c5c5c5;
                }

.ph_tax {
    color: #EB1414;
}

    .ph_tax > div:first-child {
        display: flex;
        align-items: center;
    }

        .ph_tax > div:first-child::before {
            content: "+";
            display: block;
            align-items: center;
            justify-content: center;
            font-size: 16px;
            color: #EB1414;
            border: 1px solid #EB1414;
            border-radius: 50vh;
            line-height: 14px;
            width: 16px;
            text-align: center;
            margin-right: 4px;
        }
/* style for flight booking page end */

/* style for eurail API */
.searchResult .addInfo {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

    .searchResult .addInfo::before {
        content: "\e88e";
        font-family: "Material Icons";
        font-size: 16px;
        vertical-align: bottom;
    }

.searchResult .tabContent .card {
    padding: .125rem .375rem;
    box-shadow: 0 0px 3px 0px rgb(0 0 0 / 15%), 0 1px 4px rgb(0 0 0 / 25%);
}

    .searchResult .tabContent .card.on {
        border: 1px solid #479FF6;
    }

        .searchResult .tabContent .card.on .fares > div {
            align-items: flex-end;
        }

    .searchResult .tabContent .card .fares .optionBox {
        justify-content: flex-end;
    }

    .searchResult .tabContent .card.on .fares .optionBox::before {
        content: "SELECTED";
        font-size: 13px;
        display: inline-block;
        color: #fff;
        background: #479ff6;
        border-radius: .25rem;
        padding: 0 .375rem;
    }

    .searchResult .tabContent .card.cheapest .fares .optionBox::after {
        content: "CHEAPEST";
        font-size: 13px;
        display: inline-block;
        color: #fff;
        background: #ec2b2b;
        border-radius: .25rem;
        padding: 0 .375rem;
        order: 0;
        margin-left: 4px;
    }

    .searchResult .tabContent .card .card-body {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        padding: 0;
    }

        .searchResult .tabContent .card .card-body .fares {
            align-self: flex-end;
            border-top: 1px solid #dee2e6;
            padding-top: 8px;
            padding-bottom: 8px;
        }

        .searchResult .tabContent .card .card-body .overview {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            padding-top: 8px;
            padding-bottom: 8px;
        }

.searchResult .ticketInfo ol.tickets {
    padding: 0;
    list-style: none;
}

    .searchResult .ticketInfo ol.tickets li {
        border: 1px solid #ccc;
        border-radius: .25rem;
    }

.duration_changes > div:first-child::before {
    content: "";
    display: block;
    position: absolute;
    width: calc(100% - 1px);
    height: 1px;
    bottom: 0;
    left: 0;
    background: #888;
}

.duration_changes > div:first-child::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    transform: translate(0, 50%);
    width: 6px;
    height: 8px;
    background: url(../../Content/img/airticket/icon-arrow-head.png) no-repeat right /6px;
}

.duration_changes > .stop::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 50%;
    transform: translate(50%, -5px);
    width: 9px;
    height: 9px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #EB1414;
}

.searchResult .ticketInfo {
    position: -webkit-sticky;
    position: sticky;
    top: 0px;
}

    .searchResult .ticketInfo li {
        margin-bottom: 0.5rem;
    }

    .searchResult .ticketInfo .ticket > div {
        position: relative;
        padding: 0.5rem 1rem;
    }

.searchResult .no_tickets {
    border-style: dashed !important;
    padding: 0.75rem 1rem;
}

.searchResult .ticketInfo .ticket > .ticket-header::before, .searchResult .ticketInfo .ticket > .ticket-header::after {
    content: "";
    display: block;
    position: absolute;
    width: 8px;
    height: 16px;
    bottom: 0px;
    border: solid #ccc;
    background: #fff;
    transform: translate(0, 50%);
    z-index: 1;
}

.searchResult .ticketInfo .ticket > .ticket-header::before {
    left: -1px;
    border-width: 1px 1px 1px 0;
    border-radius: 0 8px 8px 0;
}

.searchResult .ticketInfo .ticket > .ticket-header::after {
    right: -1px;
    border-width: 1px 0 1px 1px;
    border-radius: 8px 0 0 8px;
}

.searchResult .ticket-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    border-top: 1px dashed #ccc;
}

.searchResult .ticketInfo .total {
    padding: 8px 0;
    margin-top: 8px;
    border-top: 2px solid #479ff6;
}

    .searchResult .ticketInfo .total .booking-fee {
        border: 1px solid #ccc;
        padding: .5rem .75rem;
        margin-top: 4px;
    }

.priceItem ul, .priceItem ol {
    list-style: none;
}

.priceItem .slideBtn {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-weight: 500;
    position: relative;
    display: flex;
    justify-content: center;
}

.priceHead > .slideBtn {
    border-bottom: 1px solid #ccc;
}

.priceItem .upgrade {
    font-size: 12px;
    font-weight: 400;
    color: #141A25;
}

    .priceItem .upgrade::before {
        content: "\e553";
        font-family: "Material icons";
        font-size: 18px;
        vertical-align: sub;
        color: #479ff6;
    }

.priceItem > div {
    border-radius: .25rem;
    border: 1px solid #ccc;
}

.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background: #007bff;
}

.classOption {
    font-size: 14px;
}

    .classOption .slideCont {
        border-bottom: 1px solid #dee2e6;
    }

        .classOption .slideCont > .slideBtn {
            padding: .375rem .5rem;
        }

            .classOption .slideCont > .slideBtn > label {
                cursor: pointer;
            }

        .classOption .slideCont:last-child {
            border-bottom: 1px solid #ccc;
        }

    .classOption .slideBtn .material-icons {
        font-size: 22px;
        padding: 0.25rem;
        transform: rotate(0deg);
        transition: all 0.4s;
    }

    .classOption .slideBtn.on .material-icons {
        transform: rotate(180deg);
    }

    .classOption .slideBox .box {
        padding: 0.5rem 1rem;
        border-top: 1px solid #dee2e6;
    }

    .classOption .slideBtn .inputRadio {
        display: inline-block;
        width: .938rem;
        height: .938rem;
        padding: 2px;
        margin-right: 4px;
        vertical-align: middle;
    }

.priceItem .timeBox {
    padding: .5rem 0;
}

    .priceItem .timeBox > .d-flex > div {
        padding: .25rem 0;
    }

        .priceItem .timeBox > .d-flex > div:first-child {
            text-align: right;
            width: 5.5rem;
            padding-right: 1.5rem;
        }

        .priceItem .timeBox > .d-flex > div:last-child {
            padding-left: 1rem;
        }

    .priceItem .timeBox > .d-flex > div {
        position: relative;
    }

    .priceItem .timeBox > .timeInfo > div:first-child {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    .priceItem .timeBox > .from > div:first-child::before, .priceItem .timeBox > .to > div:first-child::before {
        content: "";
        display: block;
        position: absolute;
        width: 9px;
        height: 9px;
        border: 1px solid #ADB5BD;
        border-radius: 50vh;
        background: #fff;
        top: .75rem;
        right: 0;
        z-index: 2;
    }

    .priceItem .timeBox > .timeInfo > div:first-child::before {
        content: "\effa";
        font-family: "Material icons";
        font-size: 18px;
        vertical-align: sub;
        color: #525252;
        position: absolute;
        height: 1.25rem;
        top: 50%;
        right: -0.25rem;
        z-index: 2;
        transform: translate(0, -50%);
        background: #fff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        vertical-align: middle;
    }

    .priceItem .timeBox > .d-flex > div:first-child::after {
        content: "";
        display: block;
        position: absolute;
        width: 1px;
        height: 100%;
        background: #ccc;
        right: 0.25rem;
        z-index: 1;
    }

    .priceItem .timeBox > .from > div:first-child::after {
        top: .875rem;
    }

    .priceItem .timeBox > .to > div:first-child::after {
        bottom: .875rem;
    }

    .priceItem .timeBox > .timeInfo > div:first-child::after {
        top: 0;
    }

.priceItem .stopInfo {
    background: rgba(0,0,0,0.1);
    position: relative;
    z-index: 2;
    padding: 8px;
    margin: 8px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #141A25;
}

    .priceItem .stopInfo::before {
        display: none;
    }

.priceItem .eurailLogo {
    width: auto;
    max-height: 20px;
    margin-right: 4px;
}

.child-flex-center > * {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.child-text-center > * {
    text-align: center;
}

#modalSelectCard #pt-div .row {
    padding: 0 8px 10px 8px;
    border-bottom: none;
}

.ticketInfo .map {
    width: 300px;
    height: 300px;
    border: 1px solid #dee2e6;
    line-height: 300px;
    text-align: center;
    padding: 0;
    margin-right: 0.5rem;
}

.ticketInfo .btn {
    display: block;
}

.ticketInfo .btn-primary {
    display: none;
}

.ticket-footer .price-usd {
    margin-left: auto;
}

.child-mb-3 > * {
    margin-bottom: 0.75rem;
}

.option-outbound > div, .option-return > div {
    margin-bottom: .5rem;
    margin-right: 0.25rem;
}

.option-outbound .custom-select, .option-return .custom-select {
    width: clamp(50px, 50%, 100px);
}

.rail-load {
    margin: 0 auto;
    margin-top: 23px;
}

.statlbl {
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    color: #7e8082;
}

.optionPax {
    background: #f2f8ff;
    border-bottom: 1px solid #d9ecff;
}

.tempHeader {
    position: relative;
    flex-direction: row;
    background-color: #fff;
    vertical-align: baseline;
    align-items: center;
    z-index: 100;
    margin-bottom: 0;
    padding-top: 8px;
    padding-bottom: 8px;
}

.optionalHeader {
    position: sticky;
    top: 0;
    flex-direction: row;
    background-color: #fff;
    vertical-align: baseline;
    align-items: center;
    z-index: 99;
    box-shadow: 0 0 0.85em rgb(63 63 63 / 50%);
}

    .optionalHeader input, .optionalHeader input:focus {
        background: #fff;
        color: #707070;
        padding-left: 1.25rem;
        padding-right: .25rem;
        font-size: .875rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .optionalHeader > div > div > div::before {
        font-family: "Material icons round";
        font-size: 18px;
        vertical-align: sub;
        color: #707070;
        position: absolute;
        height: 1.25rem;
        top: 50%;
        left: .75rem;
        z-index: 2;
        transform: translate(0, -50%);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        vertical-align: middle;
    }

    .optionalHeader > div > div:nth-child(1) > div:nth-child(2)::before {
        content: "\effa";
    }

    .optionalHeader > div > div:nth-child(1) > div:nth-child(4)::before {
        content: "\effa";
    }

    .optionalHeader > div > div:nth-child(2) > div.icon-time::before {
        content: "\e8b5";
        left: 0.375rem;
    }

    .optionalHeader > div > div:nth-child(2) > div:nth-last-child(2)::before {
        content: "\e7fd";
        left: 0.375rem;
    }

    .optionalHeader .btn-primary {
        color: #fff;
        background-color: #0561bb;
        border-color: #0561bb;
    }

    .optionalHeader .back {
        color: #fff;
        cursor: pointer;
    }

.logo_title {
    width: auto;
    height: clamp(12px, 1.5vw, 18px);
}

.mxw-42 {
    max-width: 42%;
}

.ticket-status > * {
    display: none;
}

.ticket-status:not(.sel-out):not(.sel-in) > div.no-ticket {
    display: block;
}

.ticket-status [class*='col'] {
    padding: 0;
}

.ticket-status.sel-out:not(.sel-in) > div:nth-child(2) {
    display: flex;
    flex-wrap: wrap;
}

.ticket-status.sel-in:not(.sel-out) > div:nth-child(3) {
    display: flex;
    flex-wrap: wrap;
}

.ticket-status.sel-in.sel-out > div:nth-child(4) {
    display: flex;
    flex-wrap: wrap;
}

.ticket-status:not(.sel-out):not(.sel-in) + div > .btn-primary, .ticket-status.sel-out:not(.sel-in) + div > .btn-primary, .ticket-status.sel-in:not(.sel-out) + div > .btn-primary {
    display: none;
}

.ticket-status.sel-in.sel-out + div > .disabled {
    display: none;
}

.ticket-status.sel-in.sel-out + div > .btn-primary {
    display: block;
}

.ticket-status > div > .col:first-child {
    padding-right: 4px;
    margin-right: 6px;
    border-right: 1px solid #ccc;
}

.ticket-status .price-usd::before {
    content: "USD ";
    font-size: .875em;
    font-weight: 400;
}

#wrap.searchResult header {
    display: none;
}
/* style for eurail API end */

.card-text.special {
    position: relative;
    padding: 14px 8px 8px;
    border: 1px solid #e90e0e;
    color: #252525;
    border-radius: 0.25rem;
    font-size: 0.875rem;
    cursor: pointer;
    margin-top: 8px;
}

.sp-ban-1 {
    text-align: center;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    color: #e90e0e;
    border: 1px solid #e90e0e;
    padding: 8px 8px;
    border-radius: .25rem;
}

.tagRailCheap {
    background: #f7bfbf;
    color: #b93838;
    padding: 2px 16px;
    border: 1px solid #b93838;
    border-radius: 20px;
    font-size: 12px;
}

#eurailMap.noMap {
    position: relative;
    width: 100%;
    padding-bottom: 50%;
    background: #ccc;
}

    #eurailMap.noMap::after {
        content: "Image is being prepared.";
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        font-size: 1rem;
        font-weight: 500;
        color: #252525;
        transform: translate(-50%, -50%);
    }

[id*=listtrain-panel-] .container .tit {
    text-transform: uppercase;
    font-size: 1.125rem;
    font-weight: 600;
}

.rmv {
    display: inline-block;
    font-size: 0.875rem;
    font-weight: normal;
}

    .rmv .fixIcon {
        color: #479FF6;
        font-size: 18px;
    }


.lackreq {
    background: #f7d7d7;
    display: inline-block;
    padding: 5px 16px;
    border: 1px solid #de3838;
    margin: 7px;
}

    .lackreq:before {
        content: "Lacking Requirement/s";
        color: #860000;
        display: block;
        border-bottom: 1px solid #f3b7b7;
        font-size: 12px;
        padding: 9px;
        padding-bottom: 4px;
        margin: -10px;
        margin-bottom: 4px;
        text-align: left;
    }

.emblemProdQuickIcon {
    height: 66px !important;
    margin-top: -17px;
    opacity: 1 !important;
}

.emblemProd {
    position: absolute;
    right: 10px;
    margin-top: -44px;
}

    .emblemProd img {
        width: auto;
        height: 44px;
        margin-left: 10px;
    }


.vidProd {
    position: absolute;
    left: 6px;
    margin-top: -37px;
    cursor:pointer;
}

    .vidProd img, .vidProd1 img, .vidProd2 img {
        width: auto;
        height: 30px;
    }

.vidProd1 {
    position: absolute;
    left: 6px;
    margin-top: -120px;
    cursor: pointer;
}

.vidProd2 {
    position: absolute;
    left: 6px;
    margin-top: 199px;
    cursor: pointer;
}

#modalVideoProduct {
    background: rgb(0,0,0,0.7);
}

#modalVideoProduct .modal-content {
    background: transparent !important;
    border: none !important;
}

#modalVideoProduct button.close {
    float: right;
    color: #fff;
    text-shadow: none;
    opacity: 1;
    font-weight: 100;
    position: fixed;
    right: 16px;
    top: 11px;
}

    #modalVideoProduct button.close span {
        font-size: 45px;
    }

        #modalVideoProduct button.close span:active {
            border: none;
        }

.emblemVidQuickIcon {
    height: 100%;
    width: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    text-align: center;
}

    .emblemVidQuickIcon img {
        height: 100px;
        width: 100px;
        opacity: 0.4;
        margin-top: 18%;
    }

    .emblemVidQuickIcon img:hover {
        opacity: 1;
        cursor:pointer;
    }

#lnkVirtualCall {
    color: #2a5798;
    display: block;
    text-decoration: underline;
    margin-top: 11px;
    font-weight: bold;
    font-size: 19px;
}

#contVirtualCall {
    background: #ffe1e1;
    color: #830909;
    padding: 10px;
}

#btn-virtual-call span{
    white-space:nowrap;
}

.pop-bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 82%;
    margin: 0 auto;
    border: 1px solid #0056b3;
    border-radius: 0.5rem;
    overflow: hidden;
    box-sizing: border-box;
}

    .pop-bottom > a {
        display: block;
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
        background: #ffffff;
        color: #0056b3;
        font-size: clamp(14px, 3.7vw, 18px);
        font-weight: 600;
        padding-top: .25rem;
        padding-bottom: .25rem;
        text-align: center;
    }

.btn-close-main {
    flex: 0 0 auto;
    width: auto;
    max-width: none !important;
    color: #ffffff !important;
    background: #0056b3 !important;
    padding-left: 20px;
    padding-right: 20px;
}

.btn-close-day-main {
    min-width: 230px !important;
}

#fb-root span iframe{
    min-width:auto !important;
}

#dateRangeElem .daterangepicker.show-calendar {
    display: block !important;
}

#singleDateElemIns .daterangepicker.show-calendar:last-child {
    display: block !important;
}