@charset "utf-8";
/* CSS Document */
body {
  margin: 0;
  font: 13px 'Open Sans', 'Noto Sans TC', sans-serif, "Microsoft JhengHei", "微軟正黑體", "Apple LiGothic Medium", "蘋果儷中黑", Arial, Helvetica, sans-serif;
  background: #f8f3ee;
  letter-spacing: 0.01em;
}
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
:root {
  --main: #8b7348;
  --form_txt: #333;
  /*--animate-duration: 800ms;*/
}
::selection {
  background: #e4ccb2;
}
::-moz-selection {
  background: #e4ccb2;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
.clearfix {
  display: inline-block;
}
.checkbox-inline, .radio-inline {
  padding-right: 10px;
  padding-bottom: 12px;
}
.checkbox-inline + .checkbox-inline, .radio-inline + .radio-inline {
  margin-left: auto;
}
/* Overwrite Bootstrap CSS */
.form-horizontal .form-group {
  margin-left: 0px;
  margin-right: 0px;
}
.form-horizontal .control-label {
  text-align: left;
  padding-bottom: 7px;
}
/****** Start Global Setting (Mobile View) ******/
/*================== Start Common Setting ==================*/
div.page-wrapper {
  width: 100%; /*max-width:1400px;*/ margin: auto;
}
div.page-footer {
  margin-bottom: 3px;
  text-align: center;
  font-size: 9pt;
  color: #AAA;
  padding: 0 15px;
}
div.album-container {
  width: 96%;
  max-width: 500px;
  margin: auto;
}
div.formDiv, div.thanksDiv, div.redmptionDiv {
  width: 94%;
  margin: auto;
}
div.formDiv {
  max-width: 780px
}
div.thanksDiv p {
  color: #fff
}
.headline_txt {
  font-size: 22px;
  color: #4B8B85;
  font-weight: bold;
}
.checkbox-input-field {
  width: 100%;
}
.input {
  display: table;
}
.input.date .input-group-addon i {
  cursor: pointer;
}
.btn-type-text {
  border: none;
  background: transparent;
}
.btn-type-text:focus, .btn-type-text:active {
  outline: 0;
}
.confirm-box {
  display: none;
  width: 350px;
  height: 130px;
}
.confirm-box div {
  text-align: center;
}
.terms-reminder {
  display: none;
  width: 350px;
  height: 130px;
}
.terms-reminder div {
  text-align: center;
}
.terms_txt {
  font-size: 15px;
  color: #666;
}
.message_title {
  font-size: 30px;
  font-weight: 700;
  color: #bd9d80;
  font-family: 'Noto Serif TC', serif;
  margin-bottom: 20px;
  text-align: center
}
.text-btn {
  background: transparent;
  border: none;
  padding: 0px;
  color: #8b7348;
}
.text-btn:focus, .text-btn:active {
  outline: none;
}
.btn-unsubcript {
  background: transparent;
  text-decoration: underline;
  padding: 0px;
  margin: 0px;
  border: none;
}
.white-popup {
  position: relative;
  background: #FFF;
  padding: 20px;
  width: auto;
  width: 94%;
  max-width: 500px;
  margin: 20px auto;
  font-size: 18px;
}
.block {
  width: 100%;
  display: inline-block;
  position: relative;
}
div.declaimer {
  padding: 0px 15px 25px;
  font-size: 9pt;
  color: #b2b2b2;
  background-color: transparent !important;
}
.page-footer p {
  font-size: 9pt;
  color: #b2b2b2;
  margin: 10px 0;
}
/*================== End Common Setting ==================*/
.special_txt, .special_txt a, .special_txt a:focus, .special_txt a:hover {
  color: #6d6e70 !important;
}
p {
  font-size: 18px;
  line-height: 24px;
  color: #452263;
}
span.one-word {
  display: inline-block;
}
main {
  overflow: hidden;
}
.top-visual {
  background: url(../_img/shadow_T-L.png) no-repeat top left;
  background-size: 100%;
  position: relative;
  background-color: #f8f3ee;
  padding-bottom: 15px;
}
.logo {
  padding: 30px 0;
  animation-delay: 0.2s;
}
.title_wrapper {
  border: 1px solid #c9b492;
  padding: 5px;
  background: transparent;
  max-width: 270px;
  width: 100%;
  margin: 30px auto 55px;
  animation-delay: 0.6s;
}
.title_wrapper div {
  background: #c9af85;
  color: #fff;
  line-height: 44px;
  font-size: 16px;
  letter-spacing: 0.05em;
  font-weight: 300;
}
.top-visual h1 {
  font-size: 24px;
  color: rgb(11, 13, 38);
  line-height: 1.286;
  letter-spacing: 0.1em;
  font-weight: 900;
}
.top-visual p {
  font-size: 18px;
  color: rgb(11, 13, 38);
  line-height: 1.818;
  padding-top: 25px;
  letter-spacing: 0.1em;
  font-weight: 300;
}
.title-group {
  animation-delay: 0.8s;
}
.kv_wrapper {
  position: relative
}
.kv_margin {
  right: 0;
  bottom: 0;
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  padding-left: 15px;
  padding-top: 160px;
}
.carousel_margin {
  right: 0;
  bottom: 0;
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
}
.carousel_base, .kv_base {
  background: #f2e6d8;
  height: 100%;
  width: 100%;
}
.kv {
  padding-bottom: 60px;
  margin-left: -15px;
  animation-delay: 0.4s;
}
.title-mobile {
  position: relative;
  margin-top: -112px;
}
.introduction {
  background-color: #fefbf7;
  padding: 70px 0 30px;
}
.introduction p {
  font-size: 16px;
  color: rgb(11, 13, 38);
  line-height: 1.889;
  margin: -30px auto 0;
}
.lead-in p, .product_title {
  font-size: 20px;
  font-weight: 900;
  color: rgb(11, 13, 38);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 50%, #f2e6d8 50%);
  display: inline;
  margin: 0 auto
}
.lead-in {
  margin: 30px auto
}
.introduction .remarks {
  padding-top: 20px;
}
button.btn-action {
  border: 0px;
  background: transparent;
  color: #8b7348;
}
button.btn-scroll-to-form {
  position: relative;
  max-width: 275px;
  width: 100%;
  height: 52px;
  line-height: 50px;
  text-align: center;
  font-size: 20px;
  font-weight: 300;
  color: #0b0d26;
  letter-spacing: 0.1em;
  background: #fff;
  padding: 0;
  border: 1px solid #0b0d26;
  margin-top: 0px;
  margin-bottom: 2px;
  transition: all .1s;
}
button.btn-scroll-to-form:after {
  content: "";
  background: url("../_img/arrow_black.png") no-repeat;
  background-size: 8px 16px;
  width: 8px;
  height: 16px;
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}
button.btn-scroll-to-form:hover {
  font-weight: 300;
  background: #0b0d26;
  color: #fff;
  transition: all .3s;
}
button.btn-scroll-to-form:hover:after {
  content: "";
  background: url("../_img/arrow_white.png") no-repeat;
  background-size: 8px 16px;
  width: 8px;
  height: 16px;
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}
p.end-day {
  font-size: 14px;
  color: rgb(102, 102, 102);
  line-height: 1.5;
  margin-top: 15px;
}
.product_details .product-1 {
  background: #f8f3ee;
  padding: 65px 0
}
.product_details .product-1 .product_title {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 50%, #e8d9c8 50%);
}
.product_details .product-2 {
  /*background: url("../_img/shadow_product2.png") no-repeat center left;*/
  background-size: contain;
  background-color: #f4eadd;
  background-color: #f2e6d8;
  padding: 40px 0 20px;
}
.product_details .product-2 .product_title {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 50%, #e4ccb2 50%);
}
.product-1 .carousel_margin {
  padding-right: 50px;
  padding-top: 30px;
  padding-bottom: 40px;
}
.product-1 .carousel {
  margin-bottom: 70px;
  margin-left: 15px;
}
.product-2 .carousel_margin {
  padding-left: 40px;
}
.product-2 .carousel_base {
  background: #eadfcf;
}
.product-2 .carousel {
  padding-top: 25px;
  padding-bottom: 40px;
  margin-bottom: 50px;
  margin-right: 15px;
}
.product-2 .product_title {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 50%, #e4ccb2 50%);
}
.carousel-control {
  background-repeat: no-repeat;
  background-size: 25px 25px;
  width: 25px;
  height: 25px;
  margin: 0 auto;
  top: 50%;
  transform: translateY(-50%);
  transition: all .3s
}
.carousel-control:hover {
  top: 50%;
  transform: translateY(-50%);
}
.carousel-control.left {
  background-image: url('../_img/arrow_left.png');
  left: 20px
}
.carousel-control.right {
  background-image: url('../_img/arrow_right.png');
  right: 20px
}
.product_desc ul {
  padding: 40px 0;
  list-style-image: url('../_img/bullet.png');
  list-style-position: inside;
  font-size: 15px;
  color: rgb(11, 13, 38);
  line-height: 2;
}
.effect_title {
  position: absolute;
  background: #c0a288;
  color: #fff;
  left: 0;
  right: 0;
  max-width: 150px;
  width: 100%;
  line-height: 25px;
  font-size: 18px;
  padding: 15px 0;
  margin: 0 auto;
  top: -25px
}
.product_effect {
  position: relative;
  background: #fff;
  border-bottom: 8px solid #f3e6d4;
  margin-bottom: 50px;
  padding: 40px 15px 30px
}
.product_effect p {
  font-size: 16px;
  color: rgb(11, 13, 38);
  line-height: 1.889;
  margin: 0 auto;
}
.product_effect .small-word {
  font-size: 12px;
  color: rgb(102, 102, 102);
  line-height: 1.2;
}
.product_effect .percentage {
  font-family: Times, "Times New Roman", "serif";
  font-size: 26px;
  color: rgb(140, 99, 77);
  font-weight: bold;
  margin-right: 10px;
}
.remarks {
  font-size: 12px;
  color: rgb(102, 102, 102);
  line-height: 1.5;
}
div.formDiv, div.thanksDiv, div.redmptionDiv {
  position: relative;
  background-color: #fff;
  padding: 10px;
  box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.08);
}
.ribbon_L {
  position: absolute;
  top: 0;
  left: 0;
}
.ribbon_L img, .ribbon_R img {
  max-width: 70px;
  width: 100%;
}
.ribbon_R {
  position: absolute;
  bottom: 0;
  right: 0;
}
#form-section {
  margin-bottom: 40px;
}
#webForm, #redeemForm {
  border: 1px solid #f2e6d8;
  padding-bottom: 20px;
}
#redeemForm {
  width: 100%;
  display: block;
}
#redeemForm span {
  font-size: 18px;
  padding: 0 25px;
  display: block;
}
#redeemForm button {
  font-size: 18px;
}
h4 {
  font-size: 28px;
  font-weight: 900;
  color: rgb(11, 13, 38);
  line-height: 1.286;
  letter-spacing: 0.05em;
  padding-top: 35px;
}
h4 p {
  font-size: 14px;
  color: rgb(51, 51, 51);
  line-height: 1.571;
  padding-top: 20px;
  font-weight: 400;
  padding-bottom: 30px margin:0 auto;
}
.no-padding-xs {
  padding-left: 0;
  padding-right: 0;
}
.separation {
  border-bottom: 1px dotted rgb(170, 170, 170);
  margin: 15px auto;
}
button.btn-submit:hover, button.btn-submit:focus, button.btn-submit:active:focus {
  /*border: 0px;
  background: transparent;*/
}
button.btn-action img {
  width: 90%;
  max-width: 309px;
  margin-top: 10px;
}
img.offer-title, img.venue-title {
  margin: 50px 0 35px;
}
button.btn-scroll-to-form:focus {
  outline: 0;
}
a, a:focus, a:hover {
  color: #ffffff;
}
/* T&C */
.tnc_container {
  font-weight: normal;
  font-size: 16px;
  margin: 3%;
  word-break: break-all;
  letter-spacing: 1px;
}
.tnc_container li {
  margin-bottom: 10px;
  line-height: 1.5;
}
.tnc_container ol.c > li {
  margin-bottom: 5px;
}
.tnc_container h2.tnc {
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
  color: #8b7348;
}
.tnc_container ol {
  padding-inline-start: 35px;
}
.tnc_container ol.c {
  list-style-type: lower-alpha;
  font-size: 14px;
  line-height: 25px;
  margin-bottom: 20px;
  padding-inline-start: 20px;
}
.tnc_container a {
  color: #337ab7;
  text-decoration: underline;
}
.tnc_container ol.c {
  list-style-type: upper-roman;
}
/* Thanks you Msg */
.thanks-intro h1 {
  font-size: 20px;
  font-weight: bold;
  line-height: 36px;
  color: #0b0d26;
}
.thanks-intro p {
  line-height: 30px;
}
.unsub-modal-message p {
  color: #333;
}
.unsub-modal-message p a {
  color: #337ab7;
  text-decoration: underline;
}
button.btn-action:focus {
  outline: none;
}
.redeemContent {
  margin: 10% auto 5%;
}
.small-screen-show {
  display: none;
}
.small-screen-move {
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(0px);
}
/****** End Global Setting (Mobile View) ******/
@media only screen and (min-width: 992px) and (max-width: 1366px) {
  .small-screen-show {
    display: block;
  }
  .small-screen-hide {
    display: none
  }
  .row-eq-height {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .flex_display {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #form-section {
    margin-top: 40px;
  }
  .row-eq-height {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .small-screen-move {
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-30px);
  }
}
@media screen and (max-width: 1024px) {}
@media screen and (min-width: 480px) {}
@media screen and (max-width: 768px) {
  div.formDiv, div.thanksDiv, div.redmptionDiv {
    width: 100%;
  }
  .terms_txt {
    padding-top: 20px;
  }
}
  @media screen and (max-width: 414px) {
    .terms_txt {
      margin-bottom: 20px !important;
    }
    .end_form-term {
      padding-top: 0 !important;
    }
label[for='esd-terms-accept'] {
      margin-top:10px;
    }
.terms_txt {
      padding-top: 0px;
    }

  }
  @media screen and (max-width:375px) {
    
    .terms_txt {
      margin-bottom: 40px !important;
    } 
label[for='esd-terms-accept'] {
      margin-top:20px;
    }
  }
  @media screen and (max-width: 320px) {
    .product-2 .product_desc ul br:last-child {
      display: none !important;
    } 
label[for='esd-terms-accept'] {
      margin-top:40px;
    }
  }
  /* Carousel Fade effect*/
  .carousel-fade .carousel-inner .item {
    opacity: 0;
    transition-property: opacity;
  }
  .carousel-fade .carousel-inner .active {
    opacity: 1;
  }
  .carousel-fade .carousel-inner .active.left, .carousel-fade .carousel-inner .active.right {
    left: 0;
    opacity: 0;
    z-index: 1;
  }
  .carousel-fade .carousel-inner .next.left, .carousel-fade .carousel-inner .prev.right {
    opacity: 1;
  }
  .carousel-fade .carousel-control {
    z-index: 2;
  }
  @media all and (transform-3d), (-webkit-transform-3d) {
    .carousel-fade .carousel-inner > .item.next, .carousel-fade .carousel-inner > .item.active.right {
      opacity: 0;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    .carousel-fade .carousel-inner > .item.prev, .carousel-fade .carousel-inner > .item.active.left {
      opacity: 0;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    .carousel-fade .carousel-inner > .item.next.left, .carousel-fade .carousel-inner > .item.prev.right, .carousel-fade .carousel-inner > .item.active {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
  }