﻿
body[data-at-top=true]:not([data-menu-active=true]) header {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

body {
  color: #4e3b3b;
}

.hero {
  position: relative;
  color: #fff;
  max-width: 1920px;
  margin: 0 auto;
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .hero {
    font-size: 1.375rem;
  }
}
@media (max-width: 575.98px) {
  .hero {
    padding-bottom: 56.25%;
    color: #fff;
    background-color: #4e3b3b;
  }
}
.hero__backdrop {
  position: absolute;
  inset: 0 0 0 auto;
  z-index: 1;
  width: calc(100% - 32.5em);
}
@media (max-width: 1199.98px) {
  .hero__backdrop {
    width: calc(50% + 8.875em);
  }
}
@media (max-width: 991.98px) {
  .hero__backdrop {
    width: calc(50% + 2.625em);
  }
}
@media (max-width: 575.98px) {
  .hero__backdrop {
    position: absolute;
    width: 100%;
    padding-bottom: 56.25%;
    inset: auto 0 0;
    height: auto;
  }
}
.hero__body {
  position: relative;
  max-width: 40.125em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  min-height: 38.5416666667vw;
  width: 50%;
  padding: 13.25em 0em 6.625em;
}
@media screen and (min-width: 1590px) {
  .hero__body {
    min-height: calc(100vh - 15em);
  }
}
@media (max-width: 991.98px) {
  .hero__body {
    padding: 7.25em 0em 2.625em;
  }
}
@media (max-width: 575.98px) {
  .hero__body {
    padding: 7.1875em 0em 1.25em;
    min-height: 0;
    width: 100%;
    max-width: 100%;
  }
}
.hero__body > * {
  position: relative;
}
.hero__bg {
  position: absolute;
  inset: 0em -2.625em 0em -6.25em;
  background-image: linear-gradient(to left, rgba(78, 59, 59, 0) 0%, rgb(18, 10, 9) 142px);
}
@media (max-width: 575.98px) {
  .hero__bg {
    background-image: linear-gradient(to top, rgba(78, 59, 59, 0) 0%, rgb(18, 10, 9) 42px);
    bottom: -2.625rem;
  }
}
.hero__title {
  font-family: "GT-Super", "Brown Pro", "Noto Sans TC", "Noto Sans SC", "Microsoft JhengHei", 微軟正黑體, 微軟雅黑體, 細明體_HKSCS, Arial, sans-serif;
  font-size: 4.5em;
  line-height: 1.2;
  font-weight: 400;
  margin-bottom: 0.25em;
}
@media (max-width: 991.98px) {
  .hero__title {
    font-size: 2.25em;
    margin-bottom: 0.9375rem;
  }
}
.hero__title b {
  font-weight: 400;
}
html:not([lang=en]) .hero__title,
html:not([lang=en]) .hero__title b {
  font-weight: bold;
}
.hero__subtitle {
  font-family: "GT-Super", "Brown Pro", "Noto Sans TC", "Noto Sans SC", "Microsoft JhengHei", 微軟正黑體, 微軟雅黑體, 細明體_HKSCS, Arial, sans-serif;
  font-size: 2.25em;
  line-height: 1.2222222222;
  letter-spacing: -0.015em;
  font-weight: 400;
  margin-bottom: 0.5555555556em;
}
@media (max-width: 991.98px) {
  .hero__subtitle {
    font-size: 1.25em;
  }
}
.hero__desc {
  padding-right: 25%;
  font-size: 1.125em;
  line-height: 1.3333333333;
}
@media (max-width: 991.98px) {
  .hero__desc {
    font-size: 0.875em;
  }
}
.hero__quick-link {
  font-size: 1.125em;
  margin-top: 1.6666666667em;
}
@media (max-width: 991.98px) {
  .hero__quick-link {
    font-size: 0.875em;
  }
}
.hero .container {
  position: relative;
  z-index: 3;
}
.hero b {
  color: #d99580;
}

.quick-visit {
  overflow: hidden;
  background-color: #4e3b3b;
}
@media (min-width: 992px) {
  .quick-visit__row {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.quick-visit__item {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33.333%;
          flex: 0 0 33.333%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 5% 1.5em;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
  color: #fff;
  white-space: nowrap;
}
@media (max-width: 991.98px) {
  .quick-visit__item__row {
    padding: 6.4102564103% 1.5em;
  }
}
@media screen and (min-width: 1590px) {
  .quick-visit__item {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
    height: 15em;
  }
}
.quick-visit__img {
  position: absolute;
  inset: 0;
}
.quick-visit__img:after {
  content: "";
  position: absolute;
  inset: 0;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
  background-color: #000;
  opacity: 0.7;
}
.quick-visit__img img {
  -webkit-animation: imageWiggle 30s ease-in-out infinite;
          animation: imageWiggle 30s ease-in-out infinite;
}
.quick-visit__item:nth-child(1) .quick-visit__img img {
  -webkit-animation-duration: 32s;
          animation-duration: 32s;
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}
.quick-visit__item:nth-child(2) .quick-visit__img img {
  animation-direction: reverse;
}
.quick-visit__item:nth-child(3) .quick-visit__img img {
  -webkit-animation-duration: 34s;
          animation-duration: 34s;
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
}
.quick-visit__item:hover .quick-visit__img:after {
  opacity: 0.9;
}
.quick-visit__name {
  position: relative;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 575.98px) {
  .quick-visit__name {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.quick-visit__name .icon {
  font-size: 1.875em;
  margin-left: 1em;
}
@media (max-width: 767.98px) {
  .quick-visit__name .icon {
    font-size: 1.375em;
  }
}
.quick-visit .hover-animate__body, .quick-visit .hover-animate__base, .quick-visit .hover-animate__layer {
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.quick-visit .hover-animate__layer .icon-go {
  -webkit-transform: translateY(4px) rotate(-90deg);
          transform: translateY(4px) rotate(-90deg);
  display: block;
}

.education {
  margin: 9.375em auto;
}
@media (max-width: 991.98px) {
  .education {
    margin: 3.125em auto;
  }
}
.education__head {
  margin-bottom: 6.375em;
}
@media (max-width: 991.98px) {
  .education__head {
    margin-bottom: 1.25em;
  }
}
@media (max-width: 767.98px) {
  .education__swiper {
    margin-bottom: 1.25em;
  }
}
.education__swiper-btn {
  background-color: #d99580;
  color: #4e3b3b;
}
.education__item {
  width: 13.75em;
}
@media (min-width: 992px) {
  .education__item {
    width: 43.75em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.education__item-img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 48.5714285714%;
          flex: 0 0 48.5714285714%;
}
.education__item-img .media-holder {
  padding-bottom: 100%;
}
.education__item-body {
  position: relative;
}
@media (min-width: 992px) {
  .education__item-body {
    padding: 0em 0em 2.5em 1.25em;
  }
}
.education__item-title {
  font-size: 1.875em;
  font-weight: 400;
  padding-bottom: 0.5em;
  margin-bottom: 0.7333333333em;
  letter-spacing: -0.015em;
  line-height: 1.2;
  font-family: "GT-Super", "Brown Pro", "Noto Sans TC", "Noto Sans SC", "Microsoft JhengHei", 微軟正黑體, 微軟雅黑體, 細明體_HKSCS, Arial, sans-serif;
  border-bottom: 2px solid currentColor;
}
@media (max-width: 991.98px) {
  .education__item-title {
    font-size: 1.25em;
    padding-bottom: 0.75em;
    margin: 0.75em 0em;
  }
}
.education__item-desc {
  font-size: 1.125em;
  line-height: 1.4;
  letter-spacing: -0.03em;
}
@media (max-width: 991.98px) {
  .education__item-desc {
    font-size: 0.875em;
    margin-bottom: 1em;
  }
}
@media (min-width: 992px) {
  .education__item-btn {
    position: absolute;
    right: 0;
    bottom: 0;
  }
}
@media (max-width: 767.98px) {
  .education .quick-link {
    margin-top: 1.25rem;
  }
}

.lab {
  background-color: #ededed;
  padding-top: 4em;
  overflow: hidden;
}
@media (max-width: 991.98px) {
  .lab {
    padding-top: 2.5em;
  }
}
.lab__title {
  margin: 0 auto 4rem;
  text-align: center;
  max-width: 62.5rem;
}
@media (max-width: 991.98px) {
  .lab__title {
    margin: 0 auto 1.25rem;
  }
}
.lab__title b {
  color: #d99580;
}
.lab__banner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 23em;
  max-width: 68.75em;
  margin: auto;
  overflow: hidden;
}
@media (max-width: 991.98px) {
  .lab__banner {
    height: 17.5em;
  }
}
@media (max-width: 575.98px) {
  .lab__banner {
    width: calc(100% + 40px);
    margin: 0 -20px;
  }
}
.lab__img {
  position: absolute;
  inset: 0;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.lab__banner:hover .lab__img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.lab__btn {
  position: relative;
  z-index: 2;
}

.feature {
  margin: 7.5em 0em;
}
@media (max-width: 1199.98px) {
  .feature {
    margin: 3.125em 0em;
  }
}
@media (max-width: 767.98px) {
  .feature {
    margin: 2.5em 0em;
  }
}
.feature__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 767.98px) {
  .feature__row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: calc(100% + 40px);
    margin: 0 -20px;
  }
}
.feature__item {
  padding-bottom: 2em;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc((100% - (4.25em * 3)) / 4);
          flex: 0 0 calc((100% - (4.25em * 3)) / 4);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 991.98px) {
  .feature__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc((100% - (1em * 3)) / 4);
            flex: 0 0 calc((100% - (1em * 3)) / 4);
  }
}
@media (max-width: 767.98px) {
  .feature__item {
    padding-bottom: 1.5625em;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 10.5em;
            flex: 0 0 10.5em;
    margin: 0em 0.5em 2em;
  }
  .feature__item:nth-child(even) {
    -webkit-column-break-after: always;
       -moz-column-break-after: always;
            break-after: always;
  }
}
.feature__item-img {
  width: 6.25em;
  height: 6.25em;
  margin-bottom: 1em;
}
@media (max-width: 991.98px) {
  .feature__item-title {
    margin: 1rem 0rem 0rem;
  }
}
.feature__item-desc {
  line-height: 1.4;
}

.journey {
  background-color: #b9c6ca;
  padding: 5.6497175141% 0;
}
.journey__headline {
  font-family: "GT-Super", "Brown Pro", "Noto Sans TC", "Noto Sans SC", "Microsoft JhengHei", 微軟正黑體, 微軟雅黑體, 細明體_HKSCS, Arial, sans-serif;
  text-align: center;
  font-weight: 400;
  font-size: 2.25em;
  line-height: 1.1111111111;
  margin: 0 auto 3.375rem;
  max-width: 52.25rem;
  letter-spacing: -0.015em;
}
@media (max-width: 991.98px) {
  .journey__headline {
    font-size: 1.25em;
    margin-bottom: 1.25rem;
    max-width: 26.25rem;
  }
}
.journey__title {
  font-family: "GT-Super", "Brown Pro", "Noto Sans TC", "Noto Sans SC", "Microsoft JhengHei", 微軟正黑體, 微軟雅黑體, 細明體_HKSCS, Arial, sans-serif;
  text-align: center;
  font-size: 3.125em;
  color: #3c3535;
}
@media (max-width: 991.98px) {
  .journey__title {
    font-size: 1.625em;
  }
}
.journey__control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 1.5em auto;
}
@media (max-width: 991.98px) {
  .journey__control {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 1.25em 0em 0.625em;
  }
}
.journey__control-item {
  margin: 0em 0.5em 1.375em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  background-color: #c7aca4;
  border-radius: 999px;
  padding: 0.5em 1em;
  cursor: pointer;
  position: relative;
  border: 2px solid transparent;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  opacity: 0.5;
}
@media (max-width: 991.98px) {
  .journey__control-item {
    padding: 0.5rem 1.375rem;
    margin-bottom: 0.625rem;
  }
}
.journey__control-item.active {
  pointer-events: none;
  opacity: 1;
}
.journey__control-item:hover {
  opacity: 0.8;
}
.journey__control-item span {
  font-size: 1.125em;
}
@media (max-width: 991.98px) {
  .journey__control-item span {
    font-size: 0.875em;
  }
}
.journey__body {
  position: relative;
}
.journey__swiper {
  display: block;
  width: 100%;
  position: relative;
  max-width: 100%;
}
.journey__content {
  counter-reset: step;
}
.journey:not(.ready) .journey__content {
  position: absolute;
  display: block;
}
.journey__step {
  background-color: #fff;
  counter-increment: step;
  width: 36.875rem;
  -ms-flex-preferred-size: 36.875rem;
      flex-basis: 36.875rem;
}
@media (min-width: 992px) {
  .journey__step {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (max-width: 991.98px) {
  .journey__step {
    width: 15.625rem;
    -ms-flex-preferred-size: 15.625rem;
        flex-basis: 15.625rem;
  }
}
.journey__content:not(.active) .journey__step {
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateY(32px);
          transform: translateY(32px);
}
.journey__step-img, .journey__step-body {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  -webkit-transform: translateZ(1px);
          transform: translateZ(1px);
}
.journey__step-img .media-holder {
  padding-bottom: 100%;
}
.journey__step-body {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 2em 1.5em;
}
@media (max-width: 991.98px) {
  .journey__step-body {
    padding: 0.5em 1.25em;
  }
}
.journey__step-index {
  font-family: "GT-Super", "Brown Pro", "Noto Sans TC", "Noto Sans SC", "Microsoft JhengHei", 微軟正黑體, 微軟雅黑體, 細明體_HKSCS, Arial, sans-serif;
  font-size: 1.125em;
  margin-bottom: 0.5555555556em;
  line-height: 1;
}
@media (max-width: 991.98px) {
  .journey__step-index {
    font-size: 0.875em;
    margin-bottom: 0.5714285714em;
  }
}
.journey__step-index:before {
  content: "0" counter(step);
}
.journey__step:nth-child(n+10) .journey__step-index:before {
  content: counter(step);
}
.journey__step-control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 2em;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media (max-width: 991.98px) {
  .journey__step-control {
    margin-top: 1.25em;
  }
}
.journey__content:not(.active) .journey__step-control {
  opacity: 0;
}
.journey__step-btn {
  background-color: #c7aca4;
}

.app {
  margin: 9.375em auto;
}
.app__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.app__img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 69.9248120301%;
          flex: 0 0 69.9248120301%;
}
.app__img .media-holder {
  padding-bottom: 61.5053763441%;
}
.app__content {
  padding-left: 2.875em;
}
.app__desc {
  margin-bottom: 1.25em;
}
.app__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 0.75em;
  padding: 1em;
}
.app h2 {
  margin-bottom: 0.8em;
}
.app h2 b {
  color: #d99580;
}