@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap');

:root {
    --darkest: #161E1A;
    --darker: #26312b;
    --dark: #313f36;
    --body: #557462;
    --base: #658572;
    --light: #7b998a;
    --lighter: #a3c4b1;
    --lightest: #d0ebdb;
    --bright: #ABDE99;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    overflow-x: hidden;
    font-family: "Lato", "微軟正黑體", "Microsoft JhengHei", "Microsoft YaHei New", "Microsoft Yahei", "微软雅黑", 宋体, SimSun, STXihei, "华文细黑", sans-serif;
    font-size: 1.0625rem;
    font-weight: 400;
    line-height: 1.45;
    text-rendering: optimizeSpeed;
    background-color: var(--darkest);
    color: var(--lightest);
    -webkit-font-smoothing: antialiased;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul[class],
ol[class],
figure,
blockquote,
dl,
dd {
    margin: 0;
}

img {
    border: 0;
    max-width: 100%;
    display: block;
}

h1,
h2 {
    font-weight: 300;
    opacity: .7;
    letter-spacing: -1px;
    line-height: 1.2;
    color: var(--lightest);
    margin-bottom: 1.375rem;
}

h3, h4 {
    color: var(--light);
    margin-bottom: .5rem;
}

h5,
h6,p {
    margin-bottom: 1.375rem;
}

hr {
    margin: 1rem 0 2rem;
    color: inherit;
    background-color: currentColor;
    border: 0;
    opacity: 0.1;
}

hr:not([size]) {
    height: 1px;
}

.note {
    font-size: 85%;
}

.credit{
    font-size: 70%;
    opacity: .4;
    margin-top: 5rem;
}

strong {
    color: #fff;
}

ul {
    padding-left: 25px;
    margin-top: 0;
    margin-bottom: 2rem;
}

ul ul{
    margin-bottom: 0;
}

ul li {
    margin-bottom: .375rem;
}

a,
a:link,
a:visited {
    color: var(--lightest);
    text-decoration: none;
    transition: all .4s ease;
}

a:not([class]) {
    border-bottom: 1px solid var(--body);
}

a:not([class]):hover {
    color: #fff !important;
    text-decoration: none !important;
    border-bottom: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    background-color: var(--body);
}

td,
th {
    padding: .75rem 1.125rem;
    text-align: left;
    font-size: .9375rem;
}

tr:nth-child(even) {
    background-color: var(--base);
}

tr.booknow td {
    background-color: var(--bright);
    text-align: center;
    padding: 1rem;
}

tr.booknow a {
    border-bottom: none;
    color: var(--darker);
    font-weight: 700;
    font-size: 1rem;
}

th {
    background-color: var(--darker);
}

main {
    background-color: var(--dark);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    width: 100vw;
    padding-bottom: 50px;
}

#home main {
    padding-bottom: 0;
}

.wrapper {
    padding: 1rem;
    max-width: 740px;
}

.inner .wrapper {
    max-width: 1280px;
}

[class*="band"] {
    padding: 1rem;
    cursor: pointer;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: all .2s ease-in;
    background-color: rgba(0, 0, 0, .1);
}

[class*="band"]>h2 {
    font-size: 2rem;
    margin-bottom: 0;
}

[class*="band"]>h2 a {
    color: inherit;
    border-bottom: none;
}

.band1,
.wrapper {
    margin-top: 44px;
}

.band2 {
    background-color: rgba(0, 0, 0, .2);
}

.band3 {
    background-color: rgba(0, 0, 0, .3);
}

.band4 {
    background-color: rgba(0, 0, 0, .4);
}

.band5 {
    background-color: rgba(0, 0, 0, .5);
}

.band6 {
    background-color: rgba(0, 0, 0, .6);
}

.band7 {
    background-color: rgba(0, 0, 0, .7);
}

[class*="band"] div {
    display: none;
    max-width: 680px;
    margin-top: 1rem;
}

nav {
    width: 100vw;
    height: 44px;
    background: rgba(0, 0, 0, .5);
    font-size: 1rem;
    line-height: 44px;
    padding: 0 1rem;
    color: var(--lighter);
    display: flex;
    justify-content: space-between;
    position: fixed;
    z-index: 9000;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    position: fixed;
    top: 0;
    left: 0;
}

.lang a {
    border: none;
    padding-left: .875rem;
    height: 100%;
    display: inline-block;
    color: var(--base)
}

.lang span {
    color: var(--lighter);
    padding-left: .875rem;
}

.cyc {
    position: relative;
}

.cyc img {
    min-width: 100%;
    height: 100vh;
    object-fit: cover;
}

.cyc>div {
    min-width: 100%;
    height: 100vh;
    position: absolute;
}

a.home {
    opacity: .7;
}

.home-strip {
    background-color: var(--dark);
    position: absolute;
    bottom: 5%;
    left: 0;
    width: 100%;
}

.home-strip h1,
.home-strip h3 {
    margin-bottom: 0;
    opacity: .8;
    color: var(--lightest);
    line-height: 1;
}

.home-strip h3 {
    color: var(--base);
    line-height: 1.75;
}

.home-strip div {
    padding: .875rem 1rem;
    text-align: right;
}

.home-strip div a {
    border: none;
    color: var(--lighter);
}

.home-strip div:first-child {
    background-color: rgba(0, 0, 0, .2);
}

.home-strip div:nth-child(2) {
    background-color: rgba(0, 0, 0, .5);
}

.home-strip div span {
    display: block;
}

@media screen and (min-width: 48em) {
    [class*="band"] {
        padding: 1rem 2rem;
    }

    [class*="band"]:hover {
        background-color: var(--dark);
    }

    [class*="band"]>h2 {
        font-size: 2.875rem;
        letter-spacing: -2px;
    }

    .home-strip div {
        padding: .875rem 2rem;
    }

    .home-strip div span {
        display: inline-block;
    }

    .home-strip div span::before {
        content: "|";
        padding: 0 1rem;
    }

    nav {
        padding: 0 2rem;
    }

    .wrapper {
        padding: 1rem 2rem;
    }

    h1 {
        font-size: 3rem;
        letter-spacing: -2px;
    }
}

main img {
    width: 100%;
}

.scrolltop {
    position: fixed;
    right: 8px;
    bottom: 8px;
    background: rgba(0, 0, 0, .4);
    padding: 2px;
    display: block;
    border-radius: 50%;
    z-index: 99;
    cursor: pointer;
    display: none;
}

#index .scrolltop {
    display: none !important;
}

.bookable .scrolltop {
    bottom: 70px;
}

.bookable main .wrapper {
    padding-bottom: 51px;
}

a.bookthis {
    position: fixed;
    left: 0;
    bottom: 0;
    background: var(--bright);
    padding: 1rem;
    display: block;
    width: 100%;
    z-index: 10;
    display: none;
    color: var(--darker) !important;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
}

a.bookthis:hover {
    color: var(--base) !important;
}

.zh main {
    font-size: 110%
}

.mb-0 {
    margin-bottom: 0
}

.mb-2 {
    margin-bottom: 2rem
}

.cards {
    color: var(--lightest);
    padding: 0 1rem;
}

.cards .card {
    flex: 1 1 400px;
}

.card {
    margin-bottom: 2rem;
}

.card h4 {
    font-size: 1.25rem;
    margin-bottom: 0;
}

.card p {
    font-size: .9375rem;
    margin-bottom: 0;
}

.card-header {
    padding: 1.125rem;
    background: #212b25;
    border-top-right-radius: 8px;
    border-top-left-radius: 8px;
}

.card-header p {
    opacity: .6;
}

.card table {
    box-shadow: 0 10px 20px rgba(0, 0, 0, .1);
}

.card table tr:last-child td {
    border-bottom-left-radius: 8px !important;
    border-bottom-right-radius: 8px !important;
}

.card table tr td:nth-child(2),
.card table tr th:nth-child(2) {
    text-align: right;
    font-weight: 700
}

.card table tr td:nth-child(2) {
    color: #fefefe
}

.card-pic {
    position: relative;
}

.card-pic::after {
    content: "";
    position: absolute;
    right: 10px;
    top: 10px;
    width: 40px;
    height: 40px;
    display: block;
    background: transparent url(/global/pics.svg) no-repeat;
    background-size: contain;
    pointer-events: none;
}

@media screen and (min-width: 64em) {
    .grid {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }

    .col {
        flex: 1;
    }

    .x15 {
        -ms-flex: 1.5;
        flex: 1.5;
    }

    .x2 {
        -ms-flex: 2;
        flex: 2;
    }

    .cards .card {
        padding: .5rem;
        flex: 0 1 400px;
    }

    .cards {
        padding: 0 2rem;
        margin-left: -.5rem
    }

    .order {
        order: 2
    }
}

/* Full Calendar Frame */
.datepick-inline {
    color: var(--darker);
    background-color: var(--base);
    text-transform: uppercase;
    background: none;
    border: none;
    box-shadow: none;
    border-radius: none;
}

/* Background of one calendar month */
.datepick-inline .datepick {
    background: none repeat scroll 0 0 var(--base);
    box-shadow: none;
}

.datepick-inline .datepick thead {
    background: var(--darker);
}

/* Previous & Next links  and TITLE BACKGROUND */
.datepick-inline .calendar-links {
    border-bottom: none;
    padding: 1em 0 0;
}

/* Prev - Next Text */
.datepick-inline .calendar-links .datepick-prev a,
.datepick-inline .calendar-links .datepick-next a,
.datepick-inline .calendar-links .datepick-prev a:hover,
.datepick-inline .calendar-links .datepick-next a:hover {
    color: var(--base);
    font-weight: 600;
    text-shadow: none;
    font-family: -apple-system, Roboto, Arial, 'Helvetica Neue', sans-serif;
}

/* Month Titles */
.datepick-inline .datepick-header {
    font-weight: 600;
    text-shadow: none;
    color: var(--lighter);
    background-color: var(--darker);
    padding: 10px 0;
    text-transform: uppercase;
    border: none;
}

/* Week Titles */
div.datepick-inline .datepick-title-row th {
    font-weight: 600;
    border: none;
    color: var(--lighter);
    background-color: var(--body);
    text-transform: uppercase;
    opacity: .6;
    font-size: 13px;
}

/* Cell border*/
.block_hints .block_free,
.block_hints .block_time,
.block_hints .block_booked,
.block_hints .block_pending,
.block_hints .block_check_in_out,
.datepick-inline .datepick-days-cell {
    border: none;
    color: var(--lightest);
}

/*  Dates Cells       **********************************************************/
/*******************************************************************************/
/* A V A I L A B L E - BACKGROUND */
.block_hints .block_free,
.block_hints .block_time,
.block_hints .block_check_in_out div.check-in-div,
/* Item  for the LEGEND */
.block_hints .block_check_in_out div.check-out-div,
/* Item  for the LEGEND */
.datepick-inline .date_available,
.datepick-inline .timespartly.check_in_time div.check-in-div,
/* Define the COLOR fot the check  in / out times the same as available*/
.datepick-inline .timespartly.check_out_time div.check-out-div {
    background: none repeat scroll 0 0 var(--base);
}

/* A V A I L A B L E  and UNSELECTABLE - Text */
.block_hints .block_free,
.datepick-inline .date_available,
.datepick-inline .date_available.datepick-unselectable {
    color: var(--lighter);
    /* This style for the uvailbale date, when we are select the dates */
    text-shadow: none;
}

/* A V A I L A B L E  - Text A */
.block_hints .block_free a,
.block_hints .block_time,
.datepick-inline .date_available a {
    color: var(--lightest);
    font-weight: 600;
    text-shadow: none;
}

/*******************************************************************************/
/* T I M E   S L O T S */
.block_hints .block_time,
.datepick-inline .timespartly {
    background-image: url("../../assets/img/clock_fill.png");
    background-repeat: no-repeat;
    background-position: 100% 100%;
}

/*******************************************************************************/
/* A P P R O V E D  - BACKGROUND */
.block_hints .date_approved.block_check_in_out,
.block_hints .block_booked,
.datepick-inline .date_approved,
/* A P P R O V E D  - BACKGROUND for Check In Pending & Check Out Approved ||  Check Out Pending & Check In Approved   Dates    //FixIn: 6.0.1.2 */
td.timespartly.check_in_time.check_out_time.check_in_time_date2approve.check_out_time_date_approved div.check-in-div,
td.timespartly.check_in_time.check_out_time.check_out_time_date2approve.check_in_time_date_approved div.check-out-div {
    background-color: rgba(179, 58, 70, .8);
}

/* A P P R O V E D  -  T E X T /including partially booked - timeslots/ */
.block_hints .date_approved.block_check_in_out,
.block_hints .block_booked,
.datepick-inline .date_approved,
.block_hints .block_booked a,
.datepick-inline .date_approved a {
    color: #FFF;
    font-weight: 600;
}

/*******************************************************************************/
/* P E N D I N G  - BACKGROUND */
.block_hints .date2approve.block_check_in_out,
.block_hints .block_pending,
.datepick-inline .date2approve,
/* P E N D I N G  - BACKGROUND for Check In Approved & Check Out Pending ||  Check Out Approved & Check In Pending    Dates     //FixIn: 6.0.1.2  */
td.timespartly.check_in_time.check_out_time.check_in_time_date_approved.check_out_time_date2approve div.check-in-div,
td.timespartly.check_in_time.check_out_time.check_out_time_date_approved.check_in_time_date2approve div.check-out-div {
    background-color: rgba(179, 58, 70, .8);
}

/* P E N D I N G  -  T E X T /including partially booked - timeslots/ */
.block_hints .date2approve.block_check_in_out,
.block_hints .block_pending,
.datepick-inline .date2approve,
.block_hints .block_pending a,
.datepick-inline .date2approve a {
    color: #fff;
    font-weight: 600;
}

/*******************************************************************************/
/* S E L E C T E D   Dates - Background */
.datepick-inline .datepick-one-month .datepick .datepick-current-day {
    background-color: var(--bright);
}

/* S E L E C T E D   Dates - Text color */
.datepick-inline .datepick-one-month .datepick .datepick-current-day a {
    color: var(--darker);
}

/*******************************************************************************/
/* C e l l   O V E R   Dates - Background */
.datepick-inline .datepick .datepick-days-cell-over {
    background: var(--lighter);
}

/* C e l l   O V E R   Dates - Text color */
.datepick-inline .datepick .datepick-days-cell-over a:hover,
.datepick-inline .datepick .datepick-days-cell-over a {
    color: var(--darker);
}

/*******************************************************************************/
/* FixIn: 6.0.1.2 */
/* Text style for Check In Approved & Check Out Pending ||  Check Out Approved & Check In Pending || Check In Pending & Check Out Approved ||  Check Out Pending & Check In Approved   */
td.timespartly.check_in_time.check_out_time.check_in_time_date_approved.check_out_time_date2approve span,
td.timespartly.check_in_time.check_out_time.check_out_time_date_approved.check_in_time_date2approve span,
td.timespartly.check_in_time.check_out_time.check_in_time_date2approve.check_out_time_date_approved span,
td.timespartly.check_in_time.check_out_time.check_out_time_date2approve.check_in_time_date_approved span {
    font-weight: 600;
    text-shadow: none;
}

/* Show partially (time-slots) booked days with Background color as for available days ********************************/
/** //FixIn: 8.2.1.27   Updated 2018-07-04   ****/
/* Color as in this section A V A I L A B L E - BACKGROUND */
.wpbc_timeslot_day_bg_as_available .datepick-inline .times_clock {
    background-color: var(--darker);
}

/* Same as in this Section above --- A V A I L A B L E  - Text A  */
.wpbc_timeslot_day_bg_as_available .datepick-inline .times_clock.date_available a {
    color: var(--lightest);
    font-weight: 600;
    text-shadow: none;
}

/*  Same as in this Section above --- S E L E C T E D   Dates - Text color */
.wpbc_timeslot_day_bg_as_available .datepick-inline .datepick-one-month .datepick .times_clock.date_available.datepick-current-day a {
    color: var(--lightest);
}

/*   Same as in this Section above --- A V A I L A B L E  and UNSELECTABLE - Text */
.wpbc_timeslot_day_bg_as_available .datepick-inline .date_available {
    color: #CCCCCC;
    /* This style for the uvailbale date, when we are select the dates */
    text-shadow: 0 1px 0 #FFFFFF;
    /* This style for the uvailbale date, when we are select the dates */
}

/* Custom 2020 */
.datepick-inline .datepick,
.datepick-inline .datepick-header,
.datepick-inline .datepick-header span,
.datepick-inline .calendar-links,
.datepick-inline .calendar-links a,
.datepick-inline .datepick-days-cell,
.datepick-inline .datepick-days-cell a,
.datepick-inline .datepick-days-cell div,
.datepick-inline .datepick-title-row {
    font-size: 16px;
}

/* Dates CELL of Legend */
.block_check_in_out,
.block_pending,
.block_time,
.block_booked,
.block_free {
    line-height: 30px;
}

@media (max-width: 1023px) {
    .datepick-one-month {
        margin-bottom: 1rem;
    }
}

@media (min-width: 768px) {
    .bk_calendar_frame {
        width: 100% !important;
    }

    .datepick-one-month {
        border-right: 2px solid var(--dark);
    }

    .datepick-one-month:nth-child(4) {
        border-right: 0;
    }
}

/* Form */
textarea,
select,
input {
    background: var(--light);
    border: none !important;
    transition: all 0.30s ease-in-out;
    font-weight: 700 !important;
}

.wpdev-form-control-wrap input[type="text"],
.wpdev-form-control-wrap select,
.wpdev-form-control-wrap textarea {
    display: block;
    margin-bottom: .75rem !important;
    margin-top: .375rem !important;
}

.booking_form_div textarea,
.booking_form_div input[type="text"],
.booking_form_div select {
    color: var(--darker);
}

.captcha_img {
    max-width: 120px;
    padding: 1rem 0;
}

input:focus,
textarea:focus,
select:focus {
    background-color: var(--lightest);
}

@media (min-width: 768px) {

    .wpdev-form-control-wrap input[type="text"],
    .wpdev-form-control-wrap select,
    .wpdev-form-control-wrap textarea {
        width: 450px;
        padding: .375rem .75rem !important;
    }

    .pr-md-2 {
        padding-right: 3rem !important
    }
}

h1.total-cost {
    min-height: 60px;
    color: #fff;
    opacity: .9;
    letter-spacing: inherit;
    font-size: 1.875rem;
    margin-top: 2rem;
}

.w-100 {
    width: 100% !important
}

.captachinput {
    width: 120px !important;
    display: block;
    margin-top: .75rem !important
}

.btn {
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    user-select: none;
    background-color: transparent !important;
    border: 1px solid var(--lighter) !important;
    padding: .5rem 1.25rem !important;
    line-height: 1.5;
    transition: all .2s ease-in-out;
    cursor: pointer;
    color: var(--lighter) !important;
    font-size: .875rem !important;
    margin: 0 8px 8px 0;
    box-shadow: none !important;
    border-radius: 0 !important;
    opacity: .85;
    font-weight: 700 !important;
}

input.btn {
    font-size: 1.25rem !important;
}

.btn:hover {
    border: 1px solid var(--lightest) !important;
    opacity: 1;
}

.btn.active {
    background-color: var(--base) !important;
    color: var(--lightest) !important;
    opacity: 1;
}

.wpdevelop .pay-later {
    padding: 2rem;
    background-color: var(--bright);
    border-radius: 8px;
    margin-bottom: 100px;
    margin-top: 1rem;
    text-align: center;
    box-shadow: 0 10px 20px rgba(0, 0, 0, .1);
}

.wpdevelop .pay-later h4 {
    color: var(--darker);
}

.wpdevelop .pay-later strong {
    color: var(--darkest);
}

.paypal_div input[type="submit"]{
    margin-top: 1rem;
}

.inner .paypal_div, .inner .paying .pay-later {display: none;}

.inner .paying .paypal_div{ display: block;}

/* overwrite WP admin bar */
html {
    margin-top: 0 !important
}

* html body {
    margin-top: 0 !important
}

@media screen and (max-width:782px) {
    html {
        margin-top: 0 !important
    }

    * html body {
        margin-top: 0 !important
    }
}

.wpdevelop .col p small{
    font-size: .75rem !important
  }

.coupon_description{
    display: block;
    font-size: 13px !important;
    font-style: normal !important;
    color: #7B998A;
    margin-top: 8px
}
.coupon_description strong{
    color: #7B998A
}