:root {
  --primary-color: #3ABCDE;
  --primary-hover-color: #F09BBF;
  --text-color: #000814;
  --secondary-color: #001d3d;
  --secondary-hover-color: #003566;
  --neutral-white: #ffffff;
  --neutral-lightgray: #e3e4ea;
  --neutral-gray: #78797d;
  --fs-main-title: 28px;
  --fs-title: 24px;
  --fs-subtitle: 20px;
  --fs-content: 18px;
  --fs-caption: 16px;
  --fs-tiny: 12px;
}
body {
  overflow-y: scroll;
  overflow-x: hidden;
}

section,
#buy-card-info {
  scroll-margin-top: 60px;
}

h1,
h2,
h3 {
  font-weight: bold;
  margin: 0;
}
h2{
  font-size: 28px;
}
h3{
  font-size: 24px;
}
@media screen and (min-width: 375px) {
  h3{
    font-size: 28px;
  }
}
h4,
h5 {
  font-weight: 500;
  margin: 0;
}
p {
  margin: 0;
}

@media screen and (min-width: 768px) {
  .main-title {
    font-size: var(--fs-main-title);
    line-height: 40px;
  }

  .title {
    font-size: var(--fs-title);
    line-height: 38px;
  }

  .subtitle {
    font-size: var(--fs-subtitle);
    line-height: 32px;
  }
  .content {
    font-size: var(--fs-content);
    line-height: 28px;
  }

  .caption {
    font-size: var(--fs-caption);
    line-height: 24px;
  }
}

.main-title {
  font-size: var(--fs-title);
  line-height: 32px;
  font-weight: bold;
}

.title {
  font-size: var(--fs-subtitle);
  line-height: 28px;
  font-weight: 600;
}

.subtitle {
  font-size: var(--fs-content);
  line-height: 24px;
  font-weight: 400;
}
.content {
  font-size: var(--fs-caption);
  line-height: 20px;
  font-weight: 400;
}

.caption {
  font-size: var(--fs-tiny);
  line-height: 20px;
  font-weight: 300;
}

h1,
h2,
h3,
h4,
p,
a {
  color: var(--secondary-color);
}

figure {
  margin: 0;
}

img {
  width: 100%;
  object-fit: cover;
}

a {
  display: block;
  text-decoration: none;
}

.banner-section {
  margin-top: 56px;
}

.dropdown-menu.show {
  left: auto;
  right: 0;
}

.language {
  color: rgba(0,0,0,.5);
}

.language:hover,
.language:active,
.language:focus {
  color: var(--primary-hover-color);
}

.main-title-highlight {
  display: inline-block;
  margin: 0;
  padding: 12px 24px;
  position: relative;
  border-width: 3px;
  border-style: solid;
  border-image-slice: 1;
  border-image-source: linear-gradient(
    0.1turn,
    var(--primary-hover-color),
    #eed5ff,
    var(--primary-color)
  );
}

.main-title-highlight::before {
  content: "";
  position: absolute;
  width: 20%;
  height: 80%;
  border-top: 5px solid white;
  border-left: 5px solid white;
  left: -4px;
  top: -4px;
}

.main-lantern-section-slogan {
  position: relative;
  display: inline-block;
  font-size: 24px;
  padding: 48px 96px;
  line-height: 36px;
  color: var(--neutral-white);
  /* text-shadow: 2px 2px 0 var(--neutral-white); */
}

.taipei-lantern {
  position: relative;
  display: inline-block;
}

.buy-card-info {
  position: fixed;
  right: 15px;
  top: 80%;
  z-index: 99;
  width: 80px;
}
.buy-card-info:hover {
  bottom: 22%;
  transition: 0.2s;
}

.fixed-section {
  height: 100vh;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 50px 0;
}

.other-section {
  box-sizing: border-box;
  padding: 50px 0;
}

/* header */
.navbar-light .navbar-nav .nav-link.active {
  position: relative;
}
.nav-logo{
  width: 100px;
  margin-right: 50px;
}

.navbar {
  background-color: #fff !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

/* .navbar-light .navbar-nav .nav-link.active::before {
  content: "";
  position: absolute;
  width: 60%;
  height: 2px;
  background: linear-gradient(
    0.4turn,
    var(--primary-hover-color),
    #eed5ff,
    var(--primary-color)
  );
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
} */

/* 睽違23年！台北燈會強勢回歸 */
.main-lantern-section {
  position: relative;
  background-color: #EBFDFD;
  background-image: url(../img/banner_bkg.jpg);
  background-position: right bottom;
  background-size: cover;
}

.main-lantern-section .main-title-highlight::before {
  border-top: 5px solid #EBFDFD;
  border-left: 5px solid #EBFDFD;
}

.taipei-lantern-subtitle {
  max-width: 80%;
  margin: auto;
  text-align: justify;
  line-height: 32px;
}

.highlight {
  color: var(--primary-color);
}

.taipei-lantern-highlight {
  font-size: 20px;
}

.lantern-time {
  display: inline-block;
  background: var(--neutral-gray);
  color: var(--neutral-white);
  border-radius: 20px;
}

.slogan {
  font-size: 1.4rem;
  line-height: 42px;
  font-weight: bold;
  position: relative;
  display: inline-block;
  width: 80%;
  color: #442D81;
}
.slogan .main-slogan{
  font-size: 36px;
  line-height: 1.6;
  display: block;
  margin-bottom: 50px;
  color: #333;
}
.slogan span.main-slogan::before{
  content: "";
  display: none;
}
.slogan .main-slogan .slogan-highlight{
  font-size: 26px;
}
.slogan span {
  padding: 4px 8px;
  position: relative;
  display: inline-block;
  margin: 0;
}

.slogan span::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 40%;
  background-color: #EFACAC;
  bottom: 4px;
  left: 0;
  z-index: -1;
}

.slogan::before {
  content: "";
  position: absolute;
  width: 30%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  left: -20%;
  top: -100px;
  z-index: -31;
}

.slogan::after {
  content: "";
  position: absolute;
  width: 30%;
  height: 100%;
  /* background-image: url(../img/slogan-bg.svg); */
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  right: -15%;
  bottom: -80px;
  z-index: -1;
}

.exhibition-place {
  position: relative;
  background-color: var(--neutral-white);
  border-radius: 8px;
}

.ex-img {
  border-radius: 8px;
  overflow: hidden;
}

.exhibition-place-title {
  position: absolute;
  /* background-color: rgba(255, 255, 255, 0.8); */
  width: 80%;
  left: 0;
  right: 0;
  margin: auto;
  border-bottom: 1px solid var(--neutral-white);
  padding: 8px 14px;
  color: var(--neutral-white);
}

.exhibition-place-title::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  left: 0;
  bottom: 15px;
  border-radius: 50%;
  background: linear-gradient(
    0.4turn,
    var(--primary-hover-color),
    #eed5ff,
    var(--primary-color)
  );
  z-index: -1;
}

.ex-cap {
  text-align: left;
}

/* 2023 Happy Lantern Festival */
.souvenir-img {
  margin: 24px 0;
  position: relative;
}

.souvenir-wheel {
  position: absolute;
  width: 80%;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  animation: spin 10s infinite ease-in;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.souvenir-img{
  margin: 24px 0;
  border-radius: 0;
  overflow: hidden;
  filter: drop-shadow(-5px -5px 0px var(--primary-hover-color));
}

.souvenir-detail {
  box-sizing: border-box;
  border-bottom: 5px solid var(--primary-color);
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  text-align: start;
  gap: 32px;
  padding: 40px 0;
}

.souvenir-detail-title {
  font-size: 24px;
  line-height: 32px;
}

.captions {
  background-color: var(--primary-color);
  color: var(--neutral-white);
}

.text-align-left {
  text-align: left;
}

.souvenir-detail-highlight {
  font-weight: 900;
}

/* 燈會好玩卡｜售卡資訊 */
.buy-card-section {
  position: relative;
  overflow: hidden;
  background-color: #EBFDFD;
}
.buy-card-section .main-title-highlight::before {
  border-top: 5px solid #EBFDFD;
  border-left: 5px solid #EBFDFD;
}
.highlight-link {
  display: inline-block;
  color: #d1b076;
  border-bottom: 1px solid transparent;
}
.highlight-link:hover {
  transition: 0.5s;
  color: #d1b076;
  border-bottom: 1px solid #d1b076;
}

.notice {
  color: salmon;
}

.deco-rabbit {
  width: 15%;
  position: absolute;
  left: -20%;
  bottom: 500px;
  z-index: 10;
  transform: scale(0.2);
}

.buy-card {
  border: 1px solid var(--secondary-color);
  box-shadow: 0 0 5px var(--neutral-white);
  position: relative;
  border-radius: 30px;
  overflow: hidden;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .buy-card.card{
    margin-top: 60px !important;
  }
}
@media screen and (min-width: 992px) {
  .buy-card.card{
    margin-top: 50px !important;
  }
}
@media screen and (min-width: 1200px) {
  .buy-card.card{
    margin-top: 10px !important;
  }
}


.buy-title {
  background-color: #3fa0da;
  color: var(--neutral-white);
}
@media screen and (min-width: 1400px) {
  .buy-title{
    padding-bottom: 60px !important;
  }
  .buy-title h3{
    line-height: 38px;
  }
}

.buy-type {
  color: var(--neutral-white);
}

.buy-type.subtitle{
  font-size: 28px;
  line-height: 32px;
}

.buy-price {
  font-size: 34px;
  color: var(--neutral-white);
}

.action-buy {
  background-color: #3fa0da;
  border-radius: 30px;
  color: var(--neutral-white);
  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.41);
}

.action-buy:hover,
.action-buy-discount:hover {
  color: var(--neutral-white);
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.41);
  transition: 0.5s;
  opacity: 0.8;
}

.buy-remind {
  display: inline-block;
  background: salmon;
  color: var(--neutral-white);
  border-radius: 20px;
}

.no-stock {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  background-color: rgba(255, 255, 255, 0.41);
  display: flex;
  justify-content: center;
  align-items: center;
  backdrop-filter: blur(1px);
}

.sale-note {
  max-width: 800px;
  margin: auto;
}

.no-stock-stamp {
  font-size: 24px;
  color: rgb(249, 81, 62);
  font-weight: 900;
  padding: 8px 20px;
  border: 3px solid rgb(249, 81, 62);
  transform: rotate(-10deg);
  box-shadow: 0 0 2px rgb(254, 123, 123);
}

/* 燈會好玩卡｜適用景點 */

.tour-card {
  position: relative;
  margin-bottom: 16px;
  background-color: var(--neutral-white);
  border-radius: 8px;
  overflow: hidden;
}

.tour-price {
  position: absolute;
  padding: 4px 8px;
  background-color: rgba(255, 113, 113,.8);
  border-radius: 10px 0 0 0;
  color: var(--neutral-white);
  bottom: 0;
  right: 0;
  box-shadow: 2px 2px 0px var(--neutral-white);
  font-size: 12px;
}
@media screen and (min-width: 768px) {
  .tour-price {
    padding: 6px 12px;
    font-size: 14px;
  }
}

.tour-title {
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: bold;
  height: 42px;
}
@media screen and (min-width: 768px) {
  .tour-title {
    margin-bottom: 30px;
    font-size: 18px;
  }
}
@media screen and (min-width: 992px) {
  .tour-title {
    height: 54px;
  }
}


.tour-detail-title-block {
  padding: 20px 0;
  display: flex;
  gap: 16px;
  align-items: center;
}

.block-highlight {
  height: 3px;
  width: 20%;
  background-color: var(--primary-color);
}

.tour-detail-title {
  color: var(--primary-color);
  flex-grow: 2;
}

/* 燈會好玩卡｜遊程建議 */
.tour {
  padding: 24px;
  background-color: #fbf3da;
  border-radius: 12px;
  transition: 2s;
  box-shadow: 0 0 5px var(--primary-hover-color);
}

.recommended-title {
  color: var(--neutral-white);
  padding: 12px 16px;
  border-radius: 4px;
  background-color: var(--primary-color);
  box-sizing: border-box;
  font-size: 20px;
}

.recommended-price {
  font-size: 16px;
}

.suggest-tour-img {
  border-radius: 8px;
  overflow: hidden;
}

.suggest-tour-title {
  font-weight: bold;
  padding: 12px 12px;
  margin: 0;
}

.suggest-day {
  background-color: var(--neutral-white);
  color: var(--primary-color);
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 18px;
  font-weight: bold;
}

.suggest-tour-detail {
  text-align: start;
}

.direction-icon {
  background-color: var(--primary-color);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
  cursor: pointer;
  box-sizing: border-box;
}
.direction-icon:hover {
  opacity: 0.8;
}

/* 如何使用燈會好玩卡 */
.use-card-section {
  /* background-image: url(../img/use-card-bg.png);
  background-attachment: fixed; */
}

.step-img {
  width: 80%;
  margin: auto;
}

.step-detail {
  padding: 16px;
}

.steps {
  border: 1px solid var(--primary-color);
  border-radius: 8px;
}

/* 如何使用燈會好玩卡兌換「遊山茶訪-珍奶手搖飲體驗」 */
.trade-step {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  border: 1px solid var(--primary-color);
  border-radius: 8px;
}

.trade-step-detail-step {
  display: flex;
  align-items: center;
  width: 100%;
}

.step-title {
  /* color: var(--primary-color); */
  font-size: 16px;
  margin: 0 auto;
  width: 50%;
  background: linear-gradient(
    0.4turn,
    var(--primary-hover-color),
    #eed5ff,
    var(--primary-color)
  );
  padding: 8px 12px;
  transform: translateY(-30px);
  border-radius: 8px;
}

.trade-step-detail {
  padding: 0 16px 16px;
}

.trade-step-img {
  width: 70%;
}

.detail-sub {
  color: var(--neutral-gray);
}

.trade-block {
  background-color: #fbf3da;
  border-radius: 8px;
  gap: 24px;
}

.trade-img-cap {
  color: var(--primary-color);
  font-size: 18px;
  font-weight: bold;
}

/* 燈會好玩卡｜常見問題 */
.question {
  background-color: #fff;
  border-top: 1px solid var(--primary-color);
  border-right: 1px solid var(--primary-color);
  border-bottom: 1px solid var(--primary-color);
  border-left: 5px solid var(--primary-color);
  overflow: hidden;
  border-radius: 8px;
}

.question-title-active {
  background-color: var(--primary-color);
  color: #ffffff;
  transition: .3s;
}

.question-title:hover {
  color: var(--secondary-color);
}
.question-title.question-title-active:hover {
  color: #fff;
}
/* 
.question:hover {
  color: var(--secondary-color);
  box-shadow: 1px 1px 10px var(--primary-hover-color);
} */

.qa-steps-title {
  color: var(--primary-color);
}

.reserve-web {
  display: inline-block;
  color: var(--secondary-color);
  background-color: #fbf3da;
  border-radius: 25px;
  padding: 8px 16px;
  transform: translateY(-24px);
  box-shadow: 2px 2px 3px var(--primary-color);
  margin: 0 16px;
}

.reserve-web:hover {
  color: var(--secondary-color);
  box-shadow: 1px 1px 3px var(--primary-color);
}

.how-step {
  transform: translateY(-20px);
}

.qa-reserve-web {
  display: inline-block;
  color: var(--primary-color);
}

.qa-reserve-web:hover {
  color: var(--primary-color);
}

@media screen and (max-width: 767px) {
  .exhibition-three {
    min-height: 339.27px;
  }
}

@media screen and (max-width: 991px) {
  .exhibition-three {
    min-height: 339.27px;
  }
  .trade-step {
    margin-top: 48px;
  }
  .steps {
    margin-top: 48px;
  }
}

@media screen and (min-width: 768px) {
  .main-lantern-section::before {
    content: "";
    position: absolute;
    width: 50%;
    height: 100%;
    /* background-image: url(../img/mainLantern/heart3.svg); */
    background-repeat: no-repeat;
    bottom: -20px;
    left: -20px;
    z-index: -1;
  }

  .main-lantern-section::after {
    content: "";
    position: absolute;
    width: 30%;
    height: 100%;
    /* background-image: url(../img/mainLantern/heart3.svg); */
    background-repeat: no-repeat;
    transform: rotate(180deg);
    top: 0;
    right: 0;
    z-index: -10;
  }
  .slogan {
    width: 72%;
  }
  .buy-card-info {
    width: 100px;
  }
  .tour {
    padding: 48px;
  }
  .direction-icon {
    width: 50px;
    height: 50px;
  }
  .fa-caret-left,
  .fa-caret-right {
    font-size: 32px;
  }
  .trade-step {
    min-height: 468.11px;
  }
  .steps {
    min-height: 317px;
  }
  .trade-block {
    width: 80%;
    margin: auto;
  }
  .trade-img {
    width: 30%;
  }
  .slogan::before {
    left: -15%;
    top: -30px;
    width: 20%;
    height: 100%;
  }

  .slogan::after {
    right: -15%;
    bottom: -30px;
    width: 20%;
    height: 100%;
  }
}

@media screen and (min-width: 992px) {
  .trade-step {
    min-height: 504px;
  }
  .trade-block {
    width: 60%;
    margin: auto;
  }
  .steps {
    min-height: 405.19px;
  }
  .slogan {
    width: 55%;
  }
}

@media screen and (min-width: 1200px) {
  .trade-step {
    min-height: 391.54px;
  }
  .trade-block {
    width: 60%;
    margin: auto;
  }
  .trade-img {
    width: 25%;
  }
  .steps {
    min-height: 477.02px;
  }
}

@media screen and (min-width: 1360px) {
  .tour-title {
    min-height: auto;
  }
  .trade-step {
    min-height: 495.09px;
  }
  .slogan {
    width: 40%;
  }
}


/* come兔 */
.navbar-light .navbar-nav .nav-link{
  font-weight: bold;
  color: rgba(0,0,0,.5);
}
.navbar-light .navbar-nav .nav-link.active{
  color: rgba(70,191,225,1);
}
.navbar-light .navbar-nav .nav-link:hover{
  color: rgba(70,191,225,1);
}

.lg-txt{
  font-size: 38px !important;
  margin-right: 5px;
}

#question-section ul{
  margin: 0 !important;
    padding: 10px 10px 10px 30px !important;
}

.animal-modal-body>img{
  display: block;
  width: 200px;
  float: left;
  margin-bottom: 20px;
  transform: scale(1.1);
}
#animal-modal-04 .animal-modal-body>img{
  transform: scale(1.4);
}
.animal-modal-title{
  float: right;
  width: calc(100% - 200px);
}
.animal-modal-title h5{
  font-weight: bold;
  margin-bottom: 5px;
}
.animal-modal-body>p{
  clear: both;
  margin-bottom: 10px;
}
.close span{
  font-size: 30px;
  line-height: 0;
}

/* .banner-d{
  display: none;
}
@media screen and (min-width: 768px) {
  .banner-m{
    display: none;
  }
  .banner-d{
    display: block;
  }
} */

.not-open{
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  background-color: rgba(255, 255, 255, 0.41);
  display: flex;
  justify-content: center;
  align-items: center;
  backdrop-filter: blur(1px);
}

#introduction-section{
  /* width: 100vw;
  overflow: hidden;
  position: relative;
  z-index: -2; */
  padding-bottom: 50px;
  /* background-color: #EBFDFD; */
}

a:hover{
  text-decoration: none;
}

.slick-next {
  right: 0px;
}
.slick-prev {
  left: 0px;
}

/* @media screen and (max-width: 1200px) {
  .container{
    max-width: 1200px;
  }
} */
@media screen and (min-width: 1400px) {
  .container{
    max-width: 1320px;
  }
}
/* @media screen and (min-width: 576px) { */
  #top-section{
    background-image: url(../img/bg-1.png);
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: cover;
  }
/* } */
#introduction-section{
  background-image: url(../img/bg1.png);
  background-position: top;
  background-repeat: repeat;
  background-size: 100%;
  /* background-attachment: fixed; */
}


.animal-travel{
  border-radius: 10px;
  color: #fff;
  padding: 10px;
  margin-top: 15px;
} 
#animal-modal-01 .animal-travel{
  background-color: #f37b98;
}
#animal-modal-02 .animal-travel{
  background-color: #47bfe0;
}
#animal-modal-03 .animal-travel{
  background-color: #ddbe25;
}
#animal-modal-04 .animal-travel{
  background-color: #80b96c;
}

#animal-modal-01 .notice{
  color: #f37b98;
}
#animal-modal-02 .notice{
  color: #47bfe0;
}
#animal-modal-03 .notice{
  color: #ddbe25;
}
#animal-modal-04 .notice{
  color: #80b96c;
}

.animal-modal-body h6{
  clear: both;
  font-size: 16px;
  font-weight: bold;
  margin: 20px 0 10px 0;
}

.animal-btn{
  cursor: pointer;
  transition: .3s;
  animation: animal 1s infinite ease-out;
}
.animal-btn:hover{
  animation: none;
}
.animal-btn img{
  transition: .3s;
}
.animal-btn:hover img{
 transform: translateY(-10px) rotate(-5deg) scale(1.1);
}

@keyframes animal {
  0%{
    transform: translateY(0px) rotate(0deg);
  }
  50%{
    transform: translateY(-10px) rotate(-5deg); 
  }
  100%{
    transform: translateY(0px) rotate(0deg);
  }
}

#main-lantern-section{
  position: relative;
}
#main-lantern-section .click{
  display: block;
  position: absolute;
  right: 10%;
  bottom: 25%;
  animation: click .5s infinite ease-out;
  width: 80px;
  transition: none;
  transform-origin: center;
  z-index: 1;
}
@media screen and (min-width: 768px){
  #main-lantern-section .click{
    right: 5%;
    bottom: 20%;
  }
}
@media screen and (min-width: 1400px){
  #main-lantern-section .click{
    right: 15%;
    bottom: 20%;
  }
}
@media screen and (min-width: 1800px){
  #main-lantern-section .click{
    right: 20%;
    bottom: 20%;
  }
}
@keyframes click {
  0%{
    transform: rotate(-15deg) translateY(0px) scale(1);
  }
  50%{
    transform: rotate(-15deg) translateY(10px) scale(1.05); 
  }
  100%{
    transform: rotate(-15deg) translateY(0px) scale(1);
  }
}

.click-highlight{
  padding: 4px 14px;
  display: inline-block;
  margin: 0 auto;
  height: 40px;
  line-height: 31px;
  border-radius: 20px;
  color: #fff;
  background-color: #eccd1c;
  margin-top: 5px;
}

#event-02{
  /* margin-top: 30px; */
}
#event-02 .event-02-img{
  margin-bottom: 30px;
}
#event-02 .event-02-img img{
  border-radius: 16px;
  box-shadow: 0 3px 6px 0px rgba(51,51,102,.16), 0 3px 6px -6px rgba(51,51,102,.23);
}
#event-02 .event-02-txt{
  margin-top: 20px;
}
#event-02 .event-02-txt h4{
  font-weight: bold;
  font-size: 28px;
}
#event-02 .event-02-txt p{
  padding-top: 20px;
}
#event-02 .event-02-txt h5{
  font-weight: bold;
  margin-bottom: 10px;
}
@media screen and (min-width: 600px){
  #event-02 .event-02-img img{
    border-radius: 18px;
  }
}
@media screen and (min-width: 768px){
  #event-02 .event-02-img img{
    border-radius: 14px;
  }
  #event-02 .event-02-txt .action-buy{
    margin: 0 !important;
  }
  #event-02 .event-02-img{
    padding: 0;
    margin-top: 50px;
  }
  #event-02 .buy-type.subtitle {
    line-height: 15px;
  }
}
@media screen and (min-width: 992px){
  #event-02 .event-02-txt{
    margin-top: 40px;
    padding: 0 30px;
  }
  #event-02 .event-02-txt p{
    font-size: 18px;
    margin-bottom: 15px;
    margin-top: 5px;
  }
  #event-02 .event-02-img{
    margin-top: 24px;
  }
}
@media screen and (min-width: 1200px){
  #event-02{
    max-width: 930px;
    margin: 0 auto;
    margin-top: 30px;
  }
  #event-02 .event-02-txt{
    margin-top: 40px;
  }
  #event-02 .event-02-txt h4{
    font-size: 32px;
  }
}

.event-01-txt a{
  display: inline;
  color: #689FFF;
}

.tour-detail.row{
  padding: 0 10px !important;
  display: block !important;
  overflow: hidden;
}
.tour-detail.row>* {
  padding: 0 10px !important;
  float: left;
}
.step-img.card{
  margin: 50px auto;
  overflow: hidden;
  border-radius: 20px;
}
@media screen and (min-width: 768px){
  .step-img.card{
    margin: 30px auto;
  }
}
@media screen and (min-width: 992px){
  .step-img.card{
    margin: 42px auto;
  }
}
@media screen and (min-width: 1200px){
  .step-img.card{
    margin: 51px auto;
  }
}
@media screen and (min-width: 1400px) {
  .step-img.card {
      margin: 60px auto;
  }
}

.recommend-wrap{
  background-color: #fff2f2;
  border-radius: 20px;
  padding: 20px 15px;
  text-align: left;
  overflow: hidden;
}
.recommend-wrap .recommend-title{
  margin-bottom: 10px;
}
.recommend-wrap .recommend-title h4{
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 5px;
}
.recommend-wrap .recommend-title h4 span{
  display: inline-block;
  padding: 5px 10px;
  border-radius: 5px;
  background-color: #EFACAC;
  color: #fff;
  margin-right: 5px;
}
.recommend-wrap .recommend-title p{
  font-size: 14px;
}
.recommend-wrap .recommend-img{
  overflow: hidden;
  margin-bottom: 10px;
}
.recommend-wrap .recommend-img .recommend-img-wrap{
  width: calc(50% - 10px);
  float: left;
  border-radius: 5px;
  overflow: hidden;
  margin: 5px;
}
.recommend-wrap h5{
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 5px;
}
.recommend-wrap h5 .tag{
  display: inline-block;
  padding: 5px 10px;
  border-radius: 5px;
  background-color: #fff;
  color: #EFACAC;
  margin-right: 5px;
}
.recommend-wrap .recommend-content p{
  font-size: 14px;
  margin-top: 10px;
}
.recommend-slider{
  margin-top: 30px;
}
@media screen and (min-width: 1200px){
  .recommend-wrap{
    padding: 20px;
  }
  .recommend-wrap .recommend-title h4{
    font-size: 24px;
  }
  .recommend-wrap h5{
    font-size: 18px;
  }
  .recommend-wrap .recommend-content p{
    font-size: 16px;
  }
  .recommend-wrap .recommend-img{
    width: 40%;
    float: left;
    margin-top: 10px;
  }
  .recommend-wrap .recommend-content{
    width: calc(60% - 10px);
    margin-left: 10px;
    float: left;
  }
}
.owl-item{
  padding: 0 10px;
}
@media screen and (min-width: 768px){
  .owl-item{
    padding: 0 20px;
  }
  .owl-nav .owl-prev {
    left: -40px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  
  .owl-nav .owl-next {
    right: -40px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  .icon-arrow-left,.icon-arrow-right{
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 20px;
    background-color: #eee;
    padding-top: 4px;
  }
  .owl-nav .owl-prev:hover{
    background: rgba(0,0,0,0) !important;
  }
  .owl-nav .owl-next:hover{
    background: rgba(0,0,0,0) !important;
  }
  .owl-theme .owl-dots{
    margin-top: 15px;
  }
}

@media screen and (max-width: 991px) {
  .nav-logo {
    width: 100%;
    margin: 0;
  }
  .nav-logo a{
    text-align: center;
    padding: 10px 0;
  }
  .nav-logo a img{
    width: 100px;
  }
  .navbar-nav{
    padding: 20px 20px 0 20px;
  }
  .nav-item.dropdown{
    padding-left: 0;
  }
  .dropdown-toggle.language{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}

/* CLOSE - 彈跳視窗 */
.anchor-hidden {
  display: none;
  transition: 0.5s;
  transition-property: margin-top;
  padding: 0 1rem;
}
.anchor-hidden a {
  display: inline;
  line-height: 40px;
  padding: 10px 10px;
  color: #333333;
}
.anchor-web a {
  margin-right: 15px;
  line-height: 28px;
  padding: 7px 0px;
  color: #333333;
}
.anchor-hidden a:hover,
.anchor-web a:hover {
  color: #333333;
}
.anchor-tab {
  display: block;
  width: 100%;
  height: 40px;
  margin-top: 0px;
  background-color: rgba(256, 256, 256, 1);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  white-space: nowrap;
  overflow: auto;
  scrollbar-width: none; /* Firefox */
  transition: 0.5s;
  transition-property: margin-top;
  margin-top: 0;
}
.anchor-tab::-webkit-scrollbar {
  display: none; /* Chrome Safari */
}
.js-link-active {
  color: #3ABCDE !important;
  position: relative;
}
.js-link-active::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 1px;
  width: 100%;
  height: 3px;
  border-radius: 100px;
  background: #3ABCDE;
}

@media (max-width: 991.98px) {
  .navbar-expand-lg > .container, .navbar-expand-lg > .container-fluid {
      display: block;
  }
  .navbar-expand-lg > .container, .navbar-expand-lg > .container-fluid > button{
    float: right;
  }
  .navbar-expand-lg > .container, .navbar-expand-lg > .container-fluid .navbar-collapse{
    clear: both;
  }
}
.nav-logo-m{
  width: 100px;
  float: left;
}
.nav-logo{
  display: none;
}
@media (min-width: 992px) {
  .nav-logo{
    display: block;
  }
  .nav-logo-m{
    display: none;
  }
}

@media screen and (min-width: 992px){
  .anchor-tab{
      display: none !important;
  }
}
.navbar-light .navbar-toggler{
  border-color: rgba(58,188,222,.3);
}
.navbar-light .navbar-toggler:focus{
  box-shadow: 0 0 0 rgba(58,188,222,.3);
}
.navbar-light .navbar-toggler-icon {
  background-image: url(../img/icons/nav.svg);
}

body.en_US{}
body.ja_JP{}
body.ko_KR{}

body.en_US .slogan {
  font-size: 1.2rem
}
body.en_US .slogan .main-slogan {
  font-size: 26px;
}
body.en_US .slogan .main-slogan .slogan-highlight {
  font-size: 20px;
}
body.en_US h2 {
  font-size: 24px;
}
body.en_US .subtitle {
  font-size: 16px;
  line-height: 1.4;
}
body.en_US .tour-title {
  height: 60px;
}
@media screen and (min-width: 768px) {
  body.en_US .slogan {
      width: 85%;
  }
}
@media screen and (min-width: 992px) {
  body.en_US .slogan {
      width: 70%;
  }
}
@media screen and (min-width: 1360px) {
  body.en_US .slogan {
      width: 70%;
  }
}
@media screen and (min-width: 992px) {
  body.en_US .navbar-nav .nav-link {
    font-size: 12px;
    padding: 0 8px;
  }
}
@media screen and (min-width: 1076px) {
  body.en_US .navbar-nav .nav-link {
    line-height: 40px;
  }
}
@media screen and (min-width: 992px) {
  body.ja_JP .navbar-nav .nav-link {
    font-size: 14px;
  }
  body.ja_JP .banner-section {
      margin-top: 74px;
  }
}
@media screen and (min-width: 1200px) {
  body.ja_JP .banner-section {
      margin-top: 56px;
  }
}
body.ko_KR .slogan .main-slogan {
  font-size: 32px;
}
body.ko_KR .slogan .main-slogan .slogan-highlight {
  font-size: 24px;
}
@media screen and (min-width: 992px) {
  body.ko_KR .navbar-nav .nav-link {
      font-size: 14px;
  }
}

.modal .modal-dialog{
  /* top: 50%;
  transform: translateY(-50%) !important; */
  margin-top: 200px !important;
}
.modal .modal-title{
  font-size: 20px;
}