body {
    font-family: Helvetica, Tahoma, Arial, "Hiragino Sans GB", "Hiragino Sans GB W3", "Microsoft YaHei", STXihei, STHeiti, Heiti, SimSun, sans-serif;
    font-size: 14px;
    background-color: #FAFAFA;
    margin: 0px;
    padding: 0px;
    -webkit-text-size-adjust: none;
}

body * {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

img {
    border: 0;
}

a {
    border: 0;
    text-decoration: none;
}

.clear {
    clear: both;
}

.container {
    width: 1080px;
    margin: 0 auto;
    overflow: hidden;
    -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    background-color: #fff;
}

#event-page-booknow {
    padding: 0;
}

.wrap {
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: #fff;
}

.wrap input,
.wrap select {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    padding: 0 12px;
    border: 1px solid transparent;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    word-wrap: normal;
    background-color: #FFF;
    line-height: 2.3em;
    height: 2.3em;
    color: #7d7677;
    font-size: 1em;
    margin: 0;
    outline: 0;
}

.wrap input {
    -webkit-appearance: none;
}

.wrap select {
    cursor: pointer;
}

.section {
    transition: 1s background-color, 1s border-color;
    -webkit-transition: 1s background-color, 1s border-color;
    background-color: #f2f2f2;
    overflow: hidden;
}

.msg-checkout {
    text-align: center;
    padding: 100px 0;
    border-left: 3px solid #ddd;
    font-size: 1.5em;
}

.content-title,
.content-title-inactive {
    color: #555;
    font-size: 1.3em;
    line-height: 2.4em;
    letter-spacing: 2px;
    font-weight: lighter;
}

.content-title-inactive {
    display: inline-block;
    *display: inline;
    zoom: 1;
}

.content-title {
    margin-bottom: 20px;
}

.content-title .step-num {
    font-size: 0.5em;
    margin-right: 5px;
}

.active-block,
.inactive-block {
    position: relative;
    border-left: 3px solid #ccc;
    padding: 25px;
}

.inactive-block {
    display: none;
}

.inactive-block a {
    display: block;
    cursor: pointer;
}

.inactive-block .sective-arrow-btn {
    position: absolute;
    top: 31%;
    right: 27px;
    display: block;
}

.active-block .fa,
.inactive-block .fa,
.section-select-payment .fa {
    margin-right: 10px;
}

.inactive-block .fa {
    font-size: 1.3em;
    vertical-align: top;
    line-height: 2.3em;
}

.content-blocks {
    border: 1px solid #dcdcdc;
    background-color: #fff;
    margin: 10px 0 0px;
}

.hidden {
    display: none;
}

.content-blocks a {
    display: block;
    cursor: pointer;
    padding: 15px;
}

.desc-top {
    line-height: 1.5em;
    margin-bottom: 20px;
}

.desc-bottom {
    line-height: 1.5em;
    margin-top: 20px;
}

.btn-submit {
    position: relative;
    text-align: center;
}

.btn-submit button {
    padding: 12px 55px;
    color: #fff;
    background-color: #fff;
    border: 1px solid #dcdcdc;
    margin: 20px auto;
    font-size: 1em;
    cursor: pointer;
}

.btn-submit button:hover {
    transition: 1s background-color, 1s border-color;
    -webkit-transition: 1s background-color, 1s border-color;
    background-color: #f2f2f2;
}

.btn-popupbox {
    cursor: pointer;
}

.error-message {
    color: #ff0000;
    margin: 10px 0 0;
}

.overlay {
    opacity: .7;
    filter: alpha(opacity=70);
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #fff;
    z-index: 50;
}

.overlay .overlay-text {
    width: 20%;
    height: 150px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    position: absolute;
    text-align: center;
    color: #000000;
}

/*** Terms and conditions pop up ***/
.popupbox {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 700px;
    height: 80%;
    background-color: #fff;
    padding: 20px 40px;
    z-index: 56;
    display: none;
    -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.popupbox .popup-content {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
}

.popupbox .close-btn {
    top: 0;
    right: 0;
    position: absolute;
    width: 35px;
    height: 40px;
    cursor: pointer;
}

.popupbox .close-btn:before {
    content: '\00D7';
    display: block;
    position: absolute;
    right: 10px;
    top: 5px;
    font-size: 30px;
    line-height: 30px;
}

/*** Branch Section ***/
.section-branch .branch-name {
    font-size: 1.4em;
    margin-bottom: 10px;
}

.section-branch .branch-info {
    color: #aaaaaa;
}

.section-branch .branch-info,
.section-branch .branch-address {
    margin: 5px 0;
    line-height: 1.5em;
}

.section-branch .content-blocks .fa {
    width: 1.5em;
    margin-right: 5px;
}

/*** Group Section ***/
.section-group .product-left,
.section-group .product-right {
    display: inline-block;
    *display: inline;
    zoom: 1;
    vertical-align: top;
}

.section-group .product-left {
    width: 60%;
}

.section-group .product-right {
    width: 38%;
}

.section-group .product-name {
    font-size: 1.4em;
}

.section-group .product-desc,
.section-group .product-time {
    margin: 3px 20px 3px 0;
    color: #aaa;
}

.section-group .product-price {
    color: #666;
    line-height: 30px;
}

/*** Datetime section ***/
.section-datetime .next {
    display: none;
}

.section-datetime .ui-widget-header .ui-icon {
    background-image: url("../images/jquery-ui/ui-icons_ffffff_256x240.png");
    cursor: pointer;
}

.section-datetime .ui-datepicker td span,
.section-datetime .ui-datepicker td a {
    padding: .6em;
}

.section-datetime .ui-datepicker-inline {
    width: 100% !important;
    border: 0;
}

.section-datetime .ui-state-highlight,
.section-datetime .ui-widget-content .ui-state-highlight,
.section-datetime .ui-widget-header .ui-state-highlight {
    background: #ede4d4 url("../images/jquery-ui/ui-bg_glass_100_fdf5ce_1x400.png") 50% 50% repeat-x;
}

.section-datetime .ui-state-hover .ui-icon,
.section-datetime .ui-state-focus .ui-icon {
    background-image: url("../images/jquery-ui/ui-icons_ffd27a_256x240.png");
}

.section-datetime .ui-state-default,
.section-datetime .ui-widget-content .ui-state-default,
.section-datetime .ui-widget-header .ui-state-default {
    border-color: transparent;
    background: #ede4d4;
    font-weight: normal;
    text-align: center;
    color: #3f3731;
}

.section-datetime .ui-state-hover,
.section-datetime .ui-widget-content .ui-state-hover,
.section-datetime .ui-widget-header .ui-state-hover,
.section-datetime .ui-state-focus,
.section-datetime .ui-widget-content .ui-state-focus,
.section-datetime .ui-widget-header .ui-state-focus {
    border: 0;
    opacity: 0.35;
    filter: alpha(opacity=35);
    background-image: none;
    border-color: transparent;
    background-color: #f5f0e5;
    font-weight: normal;
    text-align: center;
    color: #a46313;
}

.section-datetime .holiday span.ui-state-default,
.section-datetime .holiday a.ui-state-default {
    color: red;
}

#datetime-desc-bottom .shop-message {
    display: none;
}

#datetime-desc-bottom .shop-message.active {
    display: block;
}

/*** Package Section  ***/
.section-package .items {
    width: 100%;
}

.section-package .items td {
    padding-bottom: 10px;
    vertical-align: middle;
}

.section-package .items td:not(:last-child) {
    padding-right: 20px;
}

.section-package .items .item-title {
    /*width: 50%;*/
}

.section-package .items .item-price-discounted {
    width: 20%;
    text-align: right;
}

.section-package .items .item-quantities {
    width: 10%;
    text-align: right;
}

.section-package .items .original {
    text-decoration: line-through;
}

.section-package .items .discounted {
    color: #ff0000;
}

/*.section-package .items .items-total .item-price-discounted {
    width: 70%;
}*/

/*.section-package .items li {
    margin: 10px 0;
}

.section-package .items .items-total,
.section-package .items .items-total-charged,
.section-package .items .items-service-charge {
    margin: 0;
}

.section-package .items .item-detail {
    display: inline-block;
    *display: inline;
    zoom: 1;
    line-height: 2.3em;
    padding: 0 5px;
}

.section-package .items .items-labels div{
    line-height: 1.4em;
}*/

/*.section-package .items .item-price-subtotal {
    width: 13%;
    text-align: right;
}*/

/*.section-package select.quantity {
    width: 75%;
}*/

/*** Field Section ***/
.form-group {
    margin: 10px 0;
}

.form-group .control-label,
.form-group .col-md-9 {
    position: relative;
    display: inline-block;
    *display: inline;
    zoom: 1;
}

.form-group .col-md-3 {
    width: 40%;
}

.form-group .col-md-9 {
    width: 60%;
}

.form-group .control-label {
    text-align: right;
    padding: 9px 20px 0 0;
    vertical-align: top;
}

.form-group .form-control-static {
    display: block;
    padding-top: 7px;
}

.form-group .lt-form-element-text,
.form-group .lt-form-element-dropdown {
    width: 100%;
}

.form-group .intl-tel-input.allow-dropdown.separate-dial-code .selected-flag {
    background-color: #FFF;
}

.form-group .help-block {
    display: block;
    margin: 5px 0;
}

.help-block-error,
.text-danger {
    color: #ff0000;
}

.intl-tel-input input[type=text],
.intl-tel-input input[type=tel] {
    width: 100%;
}

.checkbox-list label {
    line-height: 1.5em;
}

.checkbox-list label:not(:last-child) {
    margin: 0 0 10px;
}

.checkbox-list .checker {
    position: absolute;
    left: 0;
    top: 0;
    line-height: initial;
    height: initial;
}

.checkbox-list label {
    padding-left: 30px;
    display: block;
    position: relative;
}

/*** Confirmation Section ***/
.section-confirm ul {
    margin: 0 0 15px;
}

.section-confirm li {
    display: inline-block;
    zoom: 1;
    vertical-align: top;
    line-height: 1.45em;
}

.section-confirm .confirm-title {
    width: 28%;
    text-align: right;
    padding-right: 5px;
    color: #999999;
}

.section-confirm .confirm-desc {
    width: 70%;
}

.section-confirm .confirm-desc .detail-choices:not(:last-child) {
    margin: 0 0 10px;
}

.section-confirm .product-title {
    width: 50%;
}

.section-confirm .product-price {
    width: 20%;
    text-align: right;
}

.section-confirm .product-qty {
    width: 13%;
    text-align: right;
}

.section-confirm .product-total-price {
    width: 15%;
    text-align: right;
}

.section-confirm .total-title {
    font-weight: bold;
}

.section-confirm .hr-total {
    width: 100%;
    height: 1px;
    border: 0;
    margin: 20px 0;
}

.section-confirm .btn-submit button {
    display: inline-block;
    *display: inline;
    zoom: 1;
    margin: 20px 30px;
}

.section-confirm .confirm-tnc {
    overflow-y: auto;
    overflow-x: hidden;
    padding: 5px 20px;
    margin: 15px 0;
    max-height: 300px;
    width: 100%;
    background-color: #ffffff;
}

.section-confirm .confirm-tnc-title {
    color: #555;
    font-size: 1.3em;
    line-height: 2.4em;
    letter-spacing: 2px;
    font-weight: lighter;
    margin-top: 20px;
}

/*** Select Payment Section ***/
.section-select-payment .payment-select-wrap {
    position: relative;
    border-left: 3px solid #ccc;
    padding: 25px;
}

.section-select-payment .payment-option {
    margin: 0;
}

.section-select-payment .payment-icon {
    margin: 10px;
}

.section-select-payment .help-block-error {
    line-height: 2.3em;
}

.section-select-payment .cvv-explain {
    line-height: 2.3em;
    margin-left: 5px;
}

.section-select-payment .cvv-figure-overlay {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    bottom: 0;
    z-index: 50;
    background-color: rgba(55, 55, 55, .8);
    margin: auto;
    display: none;
    cursor: pointer;
}

.section-select-payment .cvv-figure {
    margin: auto;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    padding: 50px;
    background-color: #fff;
    max-width: 100%;
}

.section-select-payment .shop-button {
    padding: 0;
    border-color: transparent;
    background-color: transparent;
}

.section-select-payment .submit-button .shop-button {
    padding: 12px 55px;
    background-color: #fff;
    border: 1px solid #dcdcdc;
    margin: 20px auto;
    font-size: 1em;
    line-height: 1em;
    cursor: pointer;
    height: inherit;
}

/*** Summary Section ***/
.section-thank table {
    margin: 0 auto;
    width: 90%;
}

.section-thank td {
    padding: 8px;
    line-height: 1.3em;
}

.section-thank .thank-label {
    text-align: right;
    color: #999;
    text-transform: uppercase;
    font-size: 11px;
    vertical-align: top;
    line-height: 19px;
    white-space: nowrap;
}

.section-thank .contact-info span {
    display: inline-block;
    *display: inline;
    zoom: 1;
    margin-right: 5px;
}

.section-thank .qrcode-image {
    display: block;
    margin: 25px auto 0;
}

.section-thank .qrocde-code {
    text-align: center;
    font-size: 2em;
    letter-spacing: 5px;
    margin: 20px 0;
}

.section-thank .thank-tnc {
    width: 90%;
    margin: 30px auto 0;
}

.section-thank .thank-tnc h4 {
    margin-bottom: 10px;
}

.section-thank .thank-tnc .thank-tnc-content {
    font-size: 0.7em;
    max-height: 500px;
    overflow-y: auto;
    overflow-x: hidden;
}

.tags-nav li {
    float: left;
    list-style: none;
    padding: 1em 2em;
    margin: 0 2em 0 0;
    background-color: #fff;
    border: 1px solid #dcdcdc;
    border-bottom: 0;
    cursor: pointer;
}

.tags-nav li.active {
    color: #fff;
    background-color: #000;
}

.tags-nav ul:after {
    display: block;
    clear: both;
    content: '\a';
}

nav.tags-nav {
    border-bottom: 1px solid #dcdcdc;
    margin: 1em 0 2em;
}

.details i {
    display: inline-block;
    vertical-align: top;
    line-height: 1.3333em;
}

.detail {
    display: inline-block;
    width: 90%;
}

.customer-details .detail-title {
    display: inline-block;
    width: 30%;
}

.customer-details .detail {
    width: 65%;
}

.event-page img {
    max-width: 100%;
}

#event-page-gallery img {
    width: 30%;
}

#event-page-highlight.active {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    /*-webkit-align-items: center;*/
    /*align-items: center;*/
    -webkit-justify-content: center;
    justify-content: center;
    flex-wrap: wrap;
}

.highlight {
    flex-grow: 1;
    width: 33.3%;
    position: relative;
    padding-bottom: 30px;
}

.event-nav a {
    text-transform: uppercase;
}

.event-nav li {
    display: inline-block;
    padding: 0 10px;
}

.event-page {
    display: none;
    padding: 25px;
}

.event-page.active {
    display: block;
}

#backbtn {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 30px;
    z-index: 99;
    outline: none;
    background-color: #fff;
    color: #8e8e8e;
    cursor: pointer;
    font-size: 3vw;
    width: 5vw;
    height: 5vw;
    line-height: 4vw;
    border: 1px solid #eee;
    cursor: pointer;
}

#backbtn:before {
    font-family: FontAwesome;
    content: '\f077';
    text-align: center;
    padding: 1vw

}

#backbtn:hover {
    background-color: #eee;
}

.btn-more {
    bottom: 0px;
    position: absolute;
    margin: 0 5px;
    padding: 5px 15px;
    left: 0;
    right: 0;
    font-size: 1rem;

}

.google-map {
    cursor: pointer;
}

.google-map::before {
    background: url(/module/campaign/event/images/googlemap.png);
    display: inline-block;
    width: 35px;
    height: 22px;
    content: "";
    position: relative;
    background-repeat: no-repeat;
    top: 2px;
    background-position: bottom left;
}

#map {
    width: 100%;
    height: 30vw;
    min-height: 250px;
    margin-top: 20px;
    display: none;
}

#map.active {
    display: block;
}

.event-information li {
    margin-top: 6px;
    font-size: 1.12rem;
}

.event-date-selector{
    width: 30%;
    display: inline-block;
    text-align: center;
    font-size: 1.3333rem;
    border: 1px solid #bbb;
    padding: 10px 0;
    margin: 10px;
    cursor: pointer;
}

.zoom{
    position: fixed;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0,.7);
    left: 0;
    top: 0;
    z-index: 2;
    display:none;
}

#event-page-gallery .zoom img{
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 25vw;
    width: auto;
    height: auto;
    max-width: 100vw;
}

input#discount_code_formdiscount_code {
    width: 88%;
    margin-bottom: 50px;
}