:root[data-theme=default] {
  --primary-color: #98a960;
  --secondary-color: #f57921;
  --tertiary-color: #da1f32;
  --success-color: #6ab580;
  --info-color: #f60;
  --warning-color: #ebaf22;
  --danger-color: #b73030;
  --light-color: #f3f3f3;
  --base-color: #555;
  --lightBlue-color: #69c9b8;
  --bgorange-color: #fdf5ef;
  --broderColor-color: #d1d2d3;
  --ligther-color: #f6f6f6;
  --sec-dark: #e86000;
  --sec-light: #f7893b;
  --light-text: #999;
  --lightBlue-dark: #28c3a7;
  --primary-dark: #28c3a7;
  --booked: #fff1f1;
  --bookable: #e7fadf;
  --period: #f5eb92;
  --purple-dot: #8f9ed7;
  --blue-dot: #5ec2bc;
  --light-sec: #fdf5ef;
  --tag-brown: #af8263;
  --tag-blue: #2cb5ca;
  --tag-green: #98a960;
  --tag-red: #b73030;
  --tag-purple: #a05daf;
  --tag-orange: #f57921;
}

:root[data-theme=contrast] {
  --primary-color: #4f6700;
  --secondary-color: #ae4400;
  --sec-light: #ba5500;
  --sec-dark: #963500;
  --tertiary-color: #c10619;
  --success-color: #6ab580;
  --info-color: #f60;
  --warning-color: #ebaf22;
  --danger-color: #b73030;
  --light-color: #f3f3f3;
  --base-color: #000000;
  --lightBlue-color: #69c9b8;
  --bgorange-color: #fdf5ef;
  --broderColor-color: #d1d2d3;
  --ligther-color: #f6f6f6;
  --light-text: #555;
  --lightBlue-dark: #28c3a7;
  --primary-dark: #28c3a7;
  --booked: #fff1f1;
  --bookable: #e7fadf;
  --period: #f5eb92;
  --purple-dot: #8f9ed7;
  --blue-dot: #5ec2bc;
  --light-sec: #fdf5ef;
  --tag-brown: #7a4f2b;
  --tag-blue: #007a99;
  --tag-green: #4f6700;
  --tag-red: #a30000;
  --tag-purple: #5a2a7a;
  --tag-orange: #ae4400;
}

@font-face {
  font-family: "Noto Sans TC";
  src: url("../font/TC/NotoSansTC-VariableFontwght.ttf");
}
@font-face {
  font-family: "Noto Sans SC";
  src: url("../font/SC/NotoSansSC-VariableFontwght.ttf");
}
@font-face {
  font-family: "Open Sans";
  src: url("../font/OpenSans/OpenSans-VariableFontwdth.ttf");
}
html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: hidden;
  position: relative;
}

p,
li {
  text-align: left;
}
@media (min-width: 1440px) {
  p,
  li {
    text-align: justify;
  }
}

html[lang=en-US] body {
  font-family: "Open Sans", "Noto Sans TC", "Noto Sans SC";
}

html[lang=zh-tc] body {
  font-family: "Noto Sans TC", "Noto Sans SC", "Open Sans";
}

html[lang=zh-CN] body {
  font-family: "Noto Sans SC", "Noto Sans TC", "Open Sans";
}

.text-primary {
  color: var(--primary-color) !important;
}

.bg-primary {
  background-color: var(--primary-color) !important;
}

.text-secondary {
  color: var(--secondary-color) !important;
}

.text-danger {
  color: var(--danger-color) !important;
}

.text-tertiary {
  color: var(--tertiary-color) !important;
}

.bg-secondary {
  background: var(--secondary-color) !important;
}

.btn-outline-light {
  border: 1px solid var(--ligther-color) !important;
  color: var(--base-color) !important;
  border-color: var(--ligther-color) !important;
}

.btn-outline-primary {
  border: 1px solid var(--primary-color) !important;
  color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
}
.btn-outline-primary:is(:hover, :focus) {
  background: var(--primary-color) !important;
}
.btn-outline-primary:is(:hover, :focus) div {
  color: white !important;
}

.btn-secondary {
  border: 1px solid var(--secondary-color) !important;
  background-color: var(--secondary-color) !important;
}
.btn-secondary:is(:hover, :focus) {
  background: var(--sec-dark) !important;
}

.btn-outline-bordercolor {
  border: 1px solid var(--broderColor-color) !important;
}

.btn-primary {
  background-color: var(--primary-color) !important;
}
.btn-primary:is(:hover, :focus) {
  background: var(--sec-dark) !important;
}

.btn-lightBlue {
  background-color: var(--lightBlue-color) !important;
}
.btn-lightBlue:is(:hover, :focus) {
  background: var(--primary-dark) !important;
}

img,
svg {
  max-width: 100%;
}

.btn,
.form-select {
  font-size: unset;
}

.btn {
  border: 0;
}

.container {
  padding: 0 20px;
}

.light-text {
  color: var(--light-text);
}

.bg-light {
  background-color: #f8f9fa !important;
}

.pl-0 {
  padding-left: 0;
}

p,
div,
a {
  font-family: "Noto Sans TC", "Noto Sans SC", "Open Sans";
  color: var(--base-color);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.6;
}

a {
  text-decoration: none;
}

a:not(.skipToContent, .navbar-brand):focus-visible {
  outline: 0;
}

a:is(:hover, :focus) {
  color: var(--secondary-color);
}

h1,
h2,
h3 {
  font-weight: 400;
}

a.skipToContent {
  position: absolute;
  top: -999px;
  left: 50%;
  transform: translateX(-50%);
  width: 200px;
  height: auto;
  background-color: var(--primary-color);
  color: white;
  font-size: 1rem;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  z-index: -999;
}
a.skipToContent:focus, a.skipToContent:active {
  color: white;
  top: 20px;
  margin: 0;
  padding: 5px 20px;
  border-radius: 15px;
  z-index: 99999;
}

.fontSize .selected {
  color: var(--danger-color);
}

.xLargerFont {
  font-size: 24px;
  font-weight: 700;
  cursor: pointer;
}

.defaultFont {
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}

.largerFont {
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
}

header {
  transition: all 0.3s ease;
}
@media (max-width: 767.98px) {
  header .nav-link {
    font-size: 1rem;
  }
}
header .dropdown-menu {
  font-size: unset;
}

.breadcrumb-item .dropdown-menu.show {
  padding: 20px 15px;
  background-color: var(--ligther-color);
  border-radius: 15px;
  box-shadow: 0px 10px 15px 0px rgba(0, 0, 0, 0.15);
  border: 0;
}
.breadcrumb-item .dropdown-menu.show > div {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.breadcrumb-item .dropdown-menu.show a.dropdown-item {
  transition: all 0.3s ease;
}
.breadcrumb-item .dropdown-menu.show a.dropdown-item:is(:hover, :focus) {
  color: var(--secondary-color);
  background-color: unset;
}
.breadcrumb-item .dropdown-menu.show a.dropdown-item:active {
  color: white;
  text-decoration: none;
  background-color: var(--secondary-color);
}

.mainnav .navbar-brand:focus-within {
  outline: none;
}
@media (min-width: 1200px) {
  .mainnav .dropdown-menu.show {
    padding: 20px 15px;
    background-color: var(--ligther-color);
    border-radius: 15px;
    box-shadow: 0px 10px 15px 0px rgba(0, 0, 0, 0.15);
    border: 0;
  }
  .mainnav .dropdown-menu.show > div {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
  }
  .mainnav .dropdown-menu.show a.dropdown-item {
    transition: all 0.3s ease;
  }
  .mainnav .dropdown-menu.show a.dropdown-item:is(:hover, :focus) {
    color: var(--secondary-color);
    background-color: unset;
  }
  .mainnav .dropdown-menu.show a.dropdown-item:active {
    color: white;
    text-decoration: none;
    background-color: var(--secondary-color);
  }
}
@media (max-width: 1199.98px) {
  .mainnav .dropdown-menu.show {
    border: 0;
    background-color: var(--ligther-color);
    border-radius: 15px;
    padding: 20px 15px;
  }
  .mainnav .dropdown-menu.show > div {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
  }
}

header.main {
  top: 0;
  z-index: 999;
  width: 100%;
  position: sticky;
  background: white;
  transition: all 0.3s ease;
}
header.main.nav-up {
  top: 54px;
}
header.main .fixed-header .mainnav {
  margin: auto;
}
header.main .fixed-header .mainnav .navbar-brand:focus-within {
  outline: none;
}
header.main .fixed-header .mainnav .navtop-M .langs > a {
  margin: 0 6px;
}
@media (min-width: 1200px) {
  header.main .fixed-header .mainnav {
    max-width: 1140px;
    padding: 0 20px;
  }
  header.main .fixed-header .mainnav nav {
    display: flex;
  }
  header.main .fixed-header .mainnav .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
}
@media (min-width: 1400px) {
  header.main .fixed-header .mainnav {
    max-width: 1320px;
  }
}
@media (max-width: 1199.98px) {
  header.main .fixed-header .mainnav .navbar-nav {
    padding: 0 20px;
  }
  header.main .fixed-header .mainnav {
    background: white;
  }
  header.main .fixed-header .mainnav nav {
    height: 100%;
  }
  header.main .fixed-header .mainnav nav .setMenuHeight {
    height: calc(100vh - 97.33px);
    overflow-y: scroll;
  }
  header.main .fixed-header .mainnav nav .navfooter {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  header.main .fixed-header .mainnav .mobile-scroll {
    height: calc(90% - 120px);
    overflow-y: scroll;
  }
}
@media (max-width: 1199.98px) {
  header.main .fixed-header .mainnav .toggle {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  header.main .fixed-header .mainnav .toggle::after {
    content: url("../images/icon/arrow-down.svg");
    position: relative;
    width: 20px;
    height: 20px;
    transition: all 0.3s ease;
  }
  header.main .fixed-header .mainnav .toggle.show {
    color: var(--secondary-color);
  }
  header.main .fixed-header .mainnav .toggle.show::after {
    rotate: 180deg;
  }
}
header.main .fixed-header .mainnav .nav-link:is(:hover, :focus) {
  color: var(--secondary-color) !important;
}
header.main .fixed-header .mainnav .svgBtn i {
  font-size: 1.2rem;
  color: var(--base-color);
}
header.main .fixed-header .mainnav .svgBtn:is(:hover, :focus) i {
  color: var(--secondary-color) !important;
}
header.main .fixed-header .mainnav .nav-link.house:is(:hover, :focus) svg .color path {
  stroke: var(--secondary-color);
}
@media (max-width: 1199.98px) {
  header.main .fixed-header .mobile-menu-header {
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
  }
}
header.main .fixed-header .dropdown-menu {
  min-width: 15rem;
}
@media (max-width: 1199.98px) {
  header.main .fixed-header .dropdown-menu {
    position: relative;
  }
  header.main .fixed-header .dropdown-menu .dropdown-item {
    color: var(--base-color);
  }
}
header.main .fixed-header .navbar-brand {
  display: block;
  width: 140px;
  transition: all 0.3s ease;
}
@media (max-width: 767.98px) {
  header.main .fixed-header .navbar-brand {
    width: 100px;
  }
}
header.main .fixed-header .navbar-brand img {
  width: 100%;
  transition: all 0.3s ease;
}
header.main .fixed-header .logo-sets a {
  margin-right: 10px;
}
header.main .fixed-header .logo-sets a:nth-of-type(1) img {
  width: 90px;
}
header.main .fixed-header .logo-sets a:nth-of-type(2) img {
  width: 110px;
}
header.main .fixed-header .mobile-header a {
  padding: 5px;
}
@media (min-width: 1200px) {
  header.main .fixed-header .logo-sets a {
    display: inline;
  }
}
@media (max-width: 1199.98px) {
  header.main .fixed-header .navbar-collapse {
    margin-top: 20px;
  }
  header.main .fixed-header .logo-sets a {
    margin-right: auto;
    margin-bottom: 10px;
  }
  header.main .fixed-header .logo-sets a:nth-of-type(1) img {
    width: 110px;
  }
  header.main .fixed-header .logo-sets a:nth-of-type(2) img {
    width: 140px;
  }
  header.main .fixed-header .navfooter {
    background-color: var(--ligther-color);
  }
  header.main .fixed-header .navfooter .mobile-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 10px;
    margin-bottom: 15px;
  }
}

.main-header {
  background-color: white;
  top: -200px;
  transition: all 0.3s ease;
}
.main-header.nav-down {
  position: sticky;
  top: 0px;
  z-index: 999;
}

/*******************************************************************custom-toggle**/
.custom-toggle {
  position: relative;
  height: 30px;
  width: 28px;
  padding: 0;
  margin: 0 0 0 5px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
}

.custom-toggle .icon-bar {
  display: block;
  width: 25px;
  height: 2px;
  border-radius: 0;
  background-color: var(--base-color);
  position: absolute;
  -webkit-transition: all 0.25s ease-in-out 0s;
  -moz-transition: all 0.25s ease-in-out 0s;
  -o-transition: all 0.25s ease-in-out 0s;
  transition: all 0.25s ease-in-out 0s;
  top: 15px;
  opacity: 1;
}

.custom-toggle .icon-bar + .icon-bar {
  margin-top: -2px;
}

@media (min-width: 1366px) {
  #header .custom-toggle {
    display: none;
  }
}
.custom-toggle:hover,
.custom-toggle:focus {
  outline: 0;
}

.custom-toggle .bar1,
.custom-toggle .bar4 {
  opacity: 0;
}

.custom-toggle.collapsed .bar1 {
  opacity: 1;
  top: 7px;
}

.custom-toggle.collapsed .bar4 {
  opacity: 1;
  top: 21px;
}

.custom-toggle .icon-bar.bar2 {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
}

.custom-toggle .icon-bar.bar3 {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.custom-toggle.collapsed .icon-bar {
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: all 0.25s ease-in-out 0s;
  -moz-transition: all 0.25s ease-in-out 0s;
  -o-transition: all 0.25s ease-in-out 0s;
  transition: all 0.25s ease-in-out 0s;
}

.icon-style-1 {
  display: flex;
  border-radius: 100%;
  position: relative;
  justify-content: center;
  align-items: center;
}
.icon-style-1.blue {
  background: #5795e6;
}
.icon-style-1.red {
  background: #da1f32;
}
.icon-style-1.secondary {
  background: var(--secondary-color);
}
.icon-style-1:is(:hover, :focus) {
  background-color: var(--secondary-color);
}

.icon-size-1 {
  width: 35px;
  height: 35px;
}
.icon-size-1 img {
  width: 20px;
  height: 20px;
}

.overflow-x-hidden {
  overflow-x: hidden !important;
}

.gapx-8px {
  column-gap: 8px;
}

.main-header .header-link-margin a,
.main-header .langs a {
  display: inline-block;
  margin-right: 8px;
}
.main-header .header-link {
  align-items: center;
  column-gap: 8px;
}
.main-header .header-link .sns {
  display: flex;
  align-items: center;
  column-gap: 8px;
}

.show-1200px {
  display: block;
}
@media (min-width: 1200px) {
  .show-1200px {
    display: none;
  }
}

.hidden-1200px {
  display: block;
}
@media (max-width: 1199.98px) {
  .hidden-1200px {
    display: none;
  }
}

.gx-30px {
  column-gap: 30px;
}

.gx-20px {
  column-gap: 20px;
}

.gx-15px {
  column-gap: 15px;
}

.gy-10px {
  row-gap: 10px;
}

.gx-10px {
  column-gap: 10px;
}

.gx-5px {
  column-gap: 5px;
}

.subtitle2 {
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
@media (max-width: 767.98px) {
  .subtitle2 {
    font-size: 0.984375rem;
  }
}

.subtitle1 {
  font-size: 1.25rem;
  font-style: normal;
  line-height: normal;
}
@media (max-width: 767.98px) {
  .subtitle1 {
    font-size: 1.09375rem;
  }
}

button.toggleTheme {
  padding: 0;
  vertical-align: unset;
  color: var(--base-color);
}
button.toggleTheme.selected {
  color: var(--danger-color);
}
button.toggleTheme:is(:hover, :focus) {
  color: var(--danger-color);
}

.searchWrapper {
  position: absolute;
  width: 100%;
  z-index: 5;
  transform: translateY(-1000px);
  transition: all 0.3s ease;
  display: none;
}
.searchWrapper .toggleHide {
  height: 0;
}
.searchWrapper.active {
  transform: translateY(0px);
  height: 100%;
  display: block;
}
.searchWrapper.active .toggleHide {
  height: 100%;
}
.searchWrapper .searchbar {
  width: 95%;
  margin: auto;
  padding-left: 20px;
  border: 1px solid var(--broderColor-color);
}
@media (min-width: 1200px) {
  .searchWrapper .searchbar {
    width: 80%;
  }
}
@media (max-width: 991.98px) {
  .searchWrapper .searchbar {
    width: 90%;
  }
}
@media (max-width: 574.98px) {
  .searchWrapper .searchbar {
    padding-left: 10px;
  }
}
@media (max-width: 767.98px) {
  .searchWrapper .searchbar.advanced {
    padding-left: 0px;
  }
}
.searchWrapper .searchbar form .cus-width {
  width: 150px;
}
@media (max-width: 574.98px) {
  .searchWrapper .searchbar form .cus-width {
    width: 100px;
  }
}
.searchWrapper .searchbar form .border-left-all {
  border-color: var(--broderColor-color);
}
@media (max-width: 767.98px) {
  .searchWrapper .searchbar form .border-left-all {
    border: 0;
    border-top: 1px solid var(--broderColor-color);
  }
}
@media (max-width: 767.98px) {
  .searchWrapper .searchbar form button {
    border-radius: 15px;
  }
}
.searchWrapper .searchbar form > .row .input-group label {
  width: 40px;
  text-align: center;
}
.searchWrapper .searchbar form > .row input,
.searchWrapper .searchbar form > .row select {
  border: 0;
  height: 70px;
}
@media (max-width: 574.98px) {
  .searchWrapper .searchbar form > .row input,
  .searchWrapper .searchbar form > .row select {
    height: 55px;
  }
}
.searchWrapper .searchbar form > .row .form-select:focus,
.searchWrapper .searchbar form > .row .form-control:focus {
  box-shadow: none;
  border: 0;
}
@media (min-width: 1440px) {
  .searchWrapper .searchbar form .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
}
@media (min-width: 1440px) {
  .searchWrapper .searchbar form .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
}

/*# sourceMappingURL=critical.css.map */
