@charset "UTF-8";
/* ==========
  #CONFIG
  ========== */
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+SC:wght@100..900&family=Noto+Sans+TC:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
:root {
  --font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif,
    Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    Liberation Mono, Courier New, monospace;
  --font-serif: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
}

body {
  font-family: var(--font-sans);
  line-height: 1.5;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
}

code,
kbd,
samp {
  font-family: var(--font-mono);
}

b,
strong {
  font-weight: bolder;
}

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

* {
  text-rendering: geometricPrecision;
  border: 0 solid;
}

body,
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
button,
optgroup,
select,
textarea,
pre {
  margin: 0;
}

td,
legend,
textarea,
input,
fieldset {
  padding: 0;
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

ul {
  list-style: none;
}

hr {
  height: 0;
  color: inherit;
}

small {
  font-size: 80%;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  color: inherit;
  background-color: transparent;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: inherit;
  text-decoration: none;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

table {
  text-indent: 0;
  border-color: inherit;
}

button,
select {
  text-transform: none;
}

a,
[type=button],
[role=button],
button {
  cursor: pointer;
}

::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

:-moz-ui-invalid {
  box-shadow: none;
}

progress {
  vertical-align: baseline;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

summary {
  display: list-item;
}

progress {
  vertical-align: baseline;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

img,
video {
  max-width: 100%;
  height: auto;
}

:root {
  --cr-main-1: #54ABC3;
  --cr-main-2: #E8F8FF;
  --cr-1: color-mix(in srgb, var(--cr-main-1), var(--cr-main-2) 20%);
  --cr-2: color-mix(in srgb, var(--cr-main-1), var(--cr-main-2) 35%);
  --cr-3: color-mix(in srgb, var(--cr-main-1), var(--cr-main-2) 50%);
  --cr-4: color-mix(in srgb, var(--cr-main-1), var(--cr-main-2) 65%);
  --cr-5: color-mix(in srgb, var(--cr-main-1), var(--cr-main-2) 80%);
}

input:focus,
select:focus,
textarea:focus,
button:focus {
  outline: none;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
}
select::-ms-expand {
  display: none;
}

input.error,
select.error,
textarea.error {
  border-color: #ff4444;
}

label.error {
  display: inline-block;
  padding: 0.25rem 0.625rem;
  margin: 0.5rem 0 0;
  font-size: 1rem;
  color: #ffffff;
  background-color: #ff4444;
  border-radius: 0.25rem;
}

@keyframes rotate1 {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(30deg);
  }
}
@keyframes rotate2 {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(-30deg);
  }
}
@keyframes headerDown {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes upDown {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(1.25rem);
  }
}
@keyframes progress {
  from {
    stroke-dashoffset: 360;
  }
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes bounceInLeft {
  0%, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-187.5rem, 0, 0) scaleX(3);
    transform: translate3d(-187.5rem, 0, 0) scaleX(3);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(1.5625rem, 0, 0) scaleX(1);
    transform: translate3d(1.5625rem, 0, 0) scaleX(1);
  }
  75% {
    -webkit-transform: translate3d(-0.625rem, 0, 0) scaleX(0.98);
    transform: translate3d(-0.625rem, 0, 0) scaleX(0.98);
  }
  90% {
    -webkit-transform: translate3d(0.3125rem, 0, 0) scaleX(0.995);
    transform: translate3d(0.3125rem, 0, 0) scaleX(0.995);
  }
  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
}
@keyframes arrow-right {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0.625rem, 0, 0);
    transform: translate3d(0.625rem, 0, 0);
  }
}
@keyframes arrow-left {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-0.625rem, 0, 0);
    transform: translate3d(-0.625rem, 0, 0);
  }
}
@keyframes arrow-up {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, -0.625rem, 0);
    transform: translate3d(0, -0.625rem, 0);
  }
}
@keyframes rotate360 {
  0% {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 20%, 0);
    transform: translate3d(0, 20%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -20%, 0);
    transform: translate3d(0, -20%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUp-2 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 3.125rem, 0);
    transform: translate3d(0, 3.125rem, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fade {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fade-left {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(6.25rem, 0, 0);
    transform: translate3d(6.25rem, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fade-right {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-6.25rem, 0, 0);
    transform: translate3d(-6.25rem, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes call {
  0% {
    transform: translateY(0) rotate(0deg);
  }
  10% {
    transform: translateY(-5px) rotate(0deg);
  }
  20% {
    transform: translateY(-5px) rotate(5deg);
  }
  30% {
    transform: translateY(-5px) rotate(0deg);
  }
  40% {
    transform: translateY(-5px) rotate(-5deg);
  }
  50% {
    transform: translateY(-5px) rotate(0deg);
  }
  60% {
    transform: translateY(-5px) rotate(5deg);
  }
  70% {
    transform: translateY(-5px) rotate(0deg);
  }
  80% {
    transform: translateY(-5px) rotate(-5deg);
  }
  90% {
    transform: translateY(-5px) rotate(0deg);
  }
  100% {
    transform: translateY(0) rotate(0deg);
  }
}
@keyframes dot_scale {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  90% {
    opacity: 0;
    transform: scale(2);
  }
  100% {
    opacity: 0;
    transform: scale(2);
  }
}
@keyframes banner-scale-2 {
  0% {
    opacity: 0;
    transform: scale(1.1);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    opacity: 1;
  }
}
@keyframes flipInY {
  0% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
  }
  40% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    -webkit-transform: perspective(400px) rotateY(-20deg);
    transform: perspective(400px) rotateY(-20deg);
  }
  60% {
    opacity: 1;
    -webkit-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg);
  }
  80% {
    -webkit-transform: perspective(400px) rotateY(-5deg);
    transform: perspective(400px) rotateY(-5deg);
  }
  to {
    opacity: 1;
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes bird01 {
  0% {
    transform: skew(0deg) rotateX(0deg);
  }
  50% {
    transform: skew(27deg) rotateX(19deg);
  }
  100% {
    transform: skew(0deg) rotateX(0deg);
  }
}
@keyframes splitting_rotate3d {
  from {
    transform: rotate3d(1, -0.5, 0, 90deg);
  }
  to {
    transform: rotate3d(0, 0, 0, 0deg);
  }
}
@keyframes slide-in2 {
  0% {
    transform: translateY(-1em) rotate(-0.5turn) scale(0.5);
  }
  20%, 100% {
    transform: translateY(0) rotate(0deg) scale(1);
  }
}
@keyframes arrowLeft {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}
@keyframes cloud-1 {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(1.25rem);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes r-cloud-1 {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-1.875rem);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes cloud-2 {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-1.25rem) scale(0.95);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes cloud-3 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-1.25rem) scale(0.95);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes cloud-4 {
  0% {
    transform: translate(0);
  }
  50% {
    transform: translate(0.8rem, 1.5rem);
  }
  100% {
    transform: translate(0);
  }
}
@keyframes cloud-5 {
  0% {
    transform: translate(0);
  }
  50% {
    transform: translate(0.8rem, 1.5rem) rotate(5deg);
  }
  100% {
    transform: translate(0);
  }
}
@keyframes cloud-6 {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(10%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes cloud-7 {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-10%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes tree-1 {
  0% {
    transform: rotate(5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes tree-2 {
  0% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes car {
  0% {
    transform: translateX(100%);
  }
  25% {
    transform: translateX(75%) rotate(8deg);
  }
  50% {
    transform: translateX(50%) rotate(0deg);
  }
  75% {
    transform: translateX(25%) rotate(-3deg);
  }
  100% {
    transform: translateX(0%);
  }
}
@keyframes banner-scale {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}
@keyframes round-scale {
  0% {
    transform: scale(1) rotate(0);
  }
  100% {
    transform: scale(0.5) rotate(360deg);
  }
}
@keyframes fade_scale {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(1.3);
  }
}
@keyframes rotate_360 {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes dot-scale {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}
@keyframes moving {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(5%);
    transform: translateY(5%);
  }
}
@keyframes a-marquee-right {
  0% {
    transform: translateX(-125rem);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes a-marquee-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-125rem);
  }
}
@keyframes quartet-img-1 {
  0% {
    transform: translateY(-50%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes quartet-img-2 {
  0% {
    transform: translateX(50%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes quartet-img-3 {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes quartet-img-4 {
  0% {
    transform: translateY(50%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes scrollDown4 {
  0% {
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }
  45% {
    -webkit-transform-origin: top;
    transform-origin: top;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
  55% {
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
  100% {
    -webkit-transform-origin: bottom;
    transform-origin: bottom;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }
}
@keyframes title-mask {
  0% {
    transform: scaleX(0);
    transform-origin: left;
  }
  20% {
    transform: scaleX(1);
    transform-origin: left;
  }
  50% {
    transform: scaleX(1);
    transform-origin: right;
  }
  70% {
    transform: scaleX(0);
    transform-origin: right;
  }
  100% {
    transform: scaleX(0) translateX(100%);
    transform-origin: right;
  }
}
@keyframes line-x {
  0% {
    transform: scaleX(0);
    transform-origin: left;
  }
  100% {
    transform: scaleX(1);
    transform-origin: left;
  }
}
@keyframes line-y {
  0% {
    transform: scaleY(0);
    transform-origin: top;
  }
  100% {
    transform: scaleY(1);
    transform-origin: top;
  }
}
.fade-up,
.fade,
.fade-down,
.fade-left,
.fade-right,
.fade:not(.show),
.flipInX,
.flipInY,
.banner-animate,
.l-fade,
.fadeDown,
.l-fade-left,
.g-fade,
.g-fade-up,
.g-fade-left,
.g-fade-right,
.g-fadeDown {
  opacity: 0;
}

.g-line-x {
  transform: scaleX(0);
}

.line-y {
  transform: scaleY(0);
}

.no-js .l-fade,
.no-js .fade-up,
.no-js .fade,
.no-js .fade-left,
.no-js .fade-right,
.no-js .fade:not(.show),
.no-js .flipInX,
.no-js .flipInY,
.no-js .banner-animate,
.no-js .fadeDown,
.no-js .l-fade-left,
.no-js .g-fade,
.no-js .g-fade-up,
.no-js .g-fade-left,
.no-js .g-fade-right,
.no-js .g-fadeDown {
  opacity: 1;
}
.no-js .img-mask-anime .img-mask {
  transform: translateY(0);
}
.no-js .img-mask-anime .img-mask::after {
  display: none;
}
.no-js .g-line-x {
  transform: scaleX(1);
}
.no-js .line-y {
  transform: scaleY(1);
}

.g-fade,
.g-fade-up,
.g-fade-left,
.g-fade-right,
.g-fadeDown,
.g-line-x {
  animation-duration: 1.2s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
  animation-iteration-count: 1;
}

.g-animate.a-play .g-fade {
  animation-name: fade;
}
.g-animate.a-play .g-fade-up {
  animation-name: fadeInUp;
}
.g-animate.a-play .g-fade-left {
  animation-name: fade-left;
}
.g-animate.a-play .g-fade-right {
  animation-name: fade-right;
}
.g-animate.a-play .g-fadeDown {
  animation-name: fadeDown;
}
.g-animate.a-play .g-line-x {
  animation-name: line-x;
}

.line-y.a-play {
  animation-name: line-y;
}

.fade-up.a-play,
.fade-up.is-inview {
  animation-name: fadeInUp;
}

.fade.a-play,
.l-fade.is-inview {
  animation-name: fade;
}

.fade-left.a-play,
.fade-left.is-inview,
.l-fade-left.is-inview {
  animation-name: fade-left;
}

.fade-right.a-play,
.fade-right.is-inview {
  animation-name: fade-right;
}

.banner-animate.a-play,
.banner-animate.is-inview {
  animation-name: banner-scale;
}

.flipInX.a-play,
.flipInX.is-inview {
  animation-name: flipInX;
}

.flipInY.a-play,
.flipInY.is-inview {
  animation-name: flipInY;
}

.fade-down,
.fadeDown.is-inview {
  animation-name: fadeDown;
}

.a-play {
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
  animation-iteration-count: 1;
}

.is-inview {
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
  animation-iteration-count: 1;
}

.a-duration-13 {
  animation-duration: 1.3s;
}

.a-duration-15 {
  animation-duration: 1.5s;
}

.hover-scale img {
  transition: all 0.5s;
}
.hover-scale:hover img {
  transform: scale(1.05);
}

.hover-boxshadow {
  transition: all 0.5s;
}
.hover-boxshadow:hover {
  box-shadow: 0 0 9px rgba(0, 0, 0, 0.4);
}

@media (min-width: 768px) {
  .scroll-animate img {
    width: 125% !important;
    max-width: initial;
  }
  .scroll-animate.a-play img {
    animation: scroll-animate 8s linear 1 forwards;
  }
}

.s-scroll-animate img {
  width: 125% !important;
  max-width: initial;
}
.s-scroll-animate.a-play img {
  animation: scroll-animate 4s linear 1 forwards;
}

@keyframes scroll-animate {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  to {
    -webkit-transform: translateX(0%);
    transform: translateX(-20%);
  }
}
@font-face {
  font-family: "D-DIN-PRO";
  src: url("font/D-DIN.woff2") format("woff2"), url("font/D-DIN.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "D-DIN-PRO";
  src: url("font/D-DIN-Bold.woff2") format("woff2"), url("font/D-DIN-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "D-DIN-PRO";
  src: url("font/D-DIN-Italic.woff2") format("woff2"), url("font/D-DIN-Italic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
html {
  font-size: clamp(16px, 0.8333333333vw, 0.8333333333vw);
  color: #373938;
}
@media (max-width: 1440px) {
  html {
    font-size: 16px;
  }
}

body {
  font-family: "D-DIN-PRO", "Noto Sans TC", "Noto Sans SC", "Microsoft JhengHei", sans-serif;
}

.font-roboto {
  font-family: "Roboto", "Noto Sans TC", "Noto Sans SC", sans-serif;
}

.font-inter {
  font-family: "Inter", "Noto Sans TC", "Noto Sans SC", sans-serif;
}

.font-din {
  font-family: "D-DIN-PRO", sans-serif;
}

.edit-img {
  text-align: center;
}
.edit-img img {
  display: inline-block;
}

.img {
  position: relative;
  font-size: 0;
}

.img > span {
  width: 100%;
  height: 100%;
  position: absolute;
}

.clear:after {
  display: block;
  height: 0;
  clear: both;
  content: "";
  visibility: hidden;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.o-hidden {
  overflow: hidden;
}

.x-hidden {
  overflow-x: hidden;
}

.o-auto {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.clear:after {
  display: block;
  height: 0;
  clear: both;
  content: "";
  visibility: hidden;
}

.img-object {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.page-link-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.lang-list-box {
  display: block;
  opacity: 0;
  pointer-events: none;
  transition: all 0.5s ease;
  position: absolute;
  background-color: rgb(255, 255, 255);
  width: 100%;
  max-width: 100%;
  text-align: center;
  padding: 0.625rem 0;
  z-index: 2;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.3);
  top: 100%;
}
.lang-list-box .lang-list {
  display: block;
  width: 100%;
  padding: 5px 0;
  font-weight: 500;
}
.lang-list-box .lang-list:hover, .lang-list-box .lang-list.active {
  color: #ff0000;
}
.lang-list-box:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 6px 7px 6px;
  border-color: transparent transparent rgb(255, 255, 255) transparent;
  position: absolute;
  left: 50%;
  top: -7px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.lang-list-box.active {
  opacity: 1;
  pointer-events: auto;
}

.table-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.table-col {
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  max-width: 100%;
}

@media (min-width: 40rem) {
  .edit-box .row {
    margin-left: -1rem;
    margin-right: -1rem;
  }
}
.radius-20 {
  border-radius: 1.25rem;
  overflow: hidden;
}

.overview-table {
  width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.border-collapse table, .border-collapse th, .border-collapse td {
  border-collapse: collapse;
}

.img-full img,
.img-full svg {
  width: 100%;
}
.img-full svg {
  height: auto;
}

/* The container must be positioned relative: */
.custom-select {
  position: relative;
  display: flex;
  flex-direction: column;
}
.custom-select #xsubject-error {
  order: 4;
  width: max-content;
}

.custom-select select {
  opacity: 0;
  position: absolute;
}

.youtube-box {
  position: relative;
}
.youtube-box span {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.youtube-box span iframe {
  width: 100%;
  height: 100%;
}

.trs {
  transition: all 0.5s;
}

.svg-hover-fff path {
  transition: all 0.5s;
}
.svg-hover-fff:hover path {
  stroke: #fff !important;
}

.edit-box ul {
  list-style: disc;
  padding-left: 1.5rem;
}
.edit-box ol {
  padding-left: 1.5rem;
}

.dot-54ABC3 {
  list-style: disc;
}
.dot-54ABC3 li::marker {
  color: #54ABC3;
}

.display-1 {
  font-family: "D-DIN-PRO", sans-serif;
  font-size: 3rem;
  line-height: 1.2;
  letter-spacing: 0.01em;
  font-weight: 400;
}
@media (min-width: 600px) {
  .display-1 {
    font-size: 4.5rem;
  }
}
@media (min-width: 1024px) {
  .display-1 {
    font-size: 5.625rem;
  }
}

.display-2 {
  font-family: "D-DIN-PRO", sans-serif;
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
  font-weight: 400;
}
@media (min-width: 600px) {
  .display-2 {
    font-size: 2.5rem;
  }
}
@media (min-width: 1024px) {
  .display-2 {
    font-size: 2.8125rem;
  }
}

.heading-1-med {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 1.375rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media (min-width: 600px) {
  .heading-1-med {
    font-size: 1.5rem;
  }
}
@media (min-width: 1024px) {
  .heading-1-med {
    font-size: 1.5625rem;
  }
}

.heading-1-reg {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 1.375rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 400;
}
@media (min-width: 600px) {
  .heading-1-reg {
    font-size: 1.5rem;
  }
}
@media (min-width: 1024px) {
  .heading-1-reg {
    font-size: 1.5625rem;
  }
}

.title-1 {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 1.5rem;
  line-height: 1.4;
  letter-spacing: 0.2em;
  font-weight: 400;
}
@media (min-width: 600px) {
  .title-1 {
    font-size: 1.75rem;
  }
}
@media (min-width: 1024px) {
  .title-1 {
    font-size: 1.875rem;
  }
}

.body-1-med {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.2em;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .body-1-med {
    font-size: 1.25rem;
  }
}

.body-1-reg {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: 0.2em;
  font-weight: 400;
}

.body-2 {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 400;
}
@media (min-width: 1024px) {
  .body-2 {
    font-size: 1.125rem;
  }
}

.body-3-med {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0;
  font-weight: 500;
}

.body-3-reg {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0;
  font-weight: 400;
}

.body-4 {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0;
  font-weight: 400;
}

.body-5 {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 0.75rem;
  line-height: 1.6;
  letter-spacing: 0;
  font-weight: 400;
}

.num-1 {
  font-family: "Roboto", sans-serif;
  font-size: 1.125rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
  font-weight: 400;
}
@media (min-width: 600px) {
  .num-1 {
    font-size: 1.25rem;
  }
}
@media (min-width: 1024px) {
  .num-1 {
    font-size: 1.375rem;
  }
}

.num-2 {
  font-family: "Roboto", sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
  font-weight: 400;
}
@media (min-width: 1024px) {
  .num-2 {
    font-size: 1.125rem;
  }
}

.num-3 {
  font-family: "Roboto", sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0;
  font-weight: 400;
}

.num-4 {
  font-family: "Roboto", sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0.05em;
  font-weight: 300;
}

/* ==========
  #PLUGIN
  ========== */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
  touch-action: pan-y;
}
.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}
.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  width: var(--swiper-centered-offset-after);
}
.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  height: var(--swiper-centered-offset-after);
}
.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
}

.swiper-button-lock {
  display: none;
}

.swiper-pagination-lock {
  display: none;
}

@font-face {
  font-family: "lg";
  src: url("fonts/lg.woff2?io9a6k") format("woff2"), url("fonts/lg.ttf?io9a6k") format("truetype"), url("fonts/lg.woff?io9a6k") format("woff"), url("fonts/lg.svg?io9a6k#lg") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.lg-icon {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "lg" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.lg-container {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.lg-next,
.lg-prev {
  background-color: rgba(0, 0, 0, 0.45);
  border-radius: 2px;
  color: #999;
  cursor: pointer;
  display: block;
  font-size: 22px;
  margin-top: -10px;
  padding: 8px 10px 9px;
  position: absolute;
  top: 50%;
  z-index: 1084;
  outline: none;
  border: none;
}

.lg-next.disabled,
.lg-prev.disabled {
  opacity: 0 !important;
  cursor: default;
}

.lg-next:hover:not(.disabled),
.lg-prev:hover:not(.disabled) {
  color: #fff;
}

.lg-single-item .lg-next, .lg-single-item .lg-prev {
  display: none;
}

.lg-next {
  right: 20px;
}

.lg-next:before {
  content: "\e095";
}

.lg-prev {
  left: 20px;
}

.lg-prev:after {
  content: "\e094";
}

@-webkit-keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}
@-moz-keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}
@-ms-keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}
@keyframes lg-right-end {
  0% {
    left: 0;
  }
  50% {
    left: -30px;
  }
  100% {
    left: 0;
  }
}
@-webkit-keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}
@-moz-keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}
@-ms-keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}
@keyframes lg-left-end {
  0% {
    left: 0;
  }
  50% {
    left: 30px;
  }
  100% {
    left: 0;
  }
}
.lg-outer.lg-right-end .lg-object {
  -webkit-animation: lg-right-end 0.3s;
  -o-animation: lg-right-end 0.3s;
  animation: lg-right-end 0.3s;
  position: relative;
}

.lg-outer.lg-left-end .lg-object {
  -webkit-animation: lg-left-end 0.3s;
  -o-animation: lg-left-end 0.3s;
  animation: lg-left-end 0.3s;
  position: relative;
}

.lg-toolbar {
  z-index: 1082;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.lg-media-overlap .lg-toolbar {
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4));
}

.lg-toolbar .lg-icon {
  color: #999;
  cursor: pointer;
  float: right;
  font-size: 24px;
  height: 47px;
  line-height: 27px;
  padding: 10px 0;
  text-align: center;
  width: 50px;
  text-decoration: none !important;
  outline: medium none;
  will-change: color;
  -webkit-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  transition: color 0.2s linear;
  background: none;
  border: none;
  box-shadow: none;
}

.lg-toolbar .lg-icon.lg-icon-18 {
  font-size: 18px;
}

.lg-toolbar .lg-icon:hover {
  color: #fff;
}

.lg-toolbar .lg-close:after {
  content: "\e070";
}

.lg-toolbar .lg-maximize {
  font-size: 22px;
}

.lg-toolbar .lg-maximize:after {
  content: "\e90a";
}

.lg-toolbar .lg-download:after {
  content: "\e0f2";
}

.lg-sub-html {
  color: #eee;
  font-size: 16px;
  padding: 10px 40px;
  text-align: center;
  z-index: 1080;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease-out 0s;
  -o-transition: opacity 0.2s ease-out 0s;
  transition: opacity 0.2s ease-out 0s;
}

.lg-sub-html h4 {
  margin: 0;
  font-size: 13px;
  font-weight: bold;
}

.lg-sub-html p {
  font-size: 12px;
  margin: 5px 0 0;
}

.lg-sub-html a {
  color: inherit;
}

.lg-sub-html a:hover {
  text-decoration: underline;
}

.lg-media-overlap .lg-sub-html {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.6));
}

.lg-item .lg-sub-html {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
}

.lg-error-msg {
  font-size: 14px;
  color: #999;
}

.lg-counter {
  color: #999;
  display: inline-block;
  font-size: 16px;
  padding-left: 20px;
  padding-top: 12px;
  height: 47px;
  vertical-align: middle;
}

.lg-closing .lg-toolbar,
.lg-closing .lg-prev,
.lg-closing .lg-next,
.lg-closing .lg-sub-html {
  opacity: 0;
  -webkit-transition: -webkit-transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear;
  -moz-transition: -moz-transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear;
  -o-transition: -o-transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear;
  transition: transform 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.08 cubic-bezier(0, 0, 0.25, 1) 0s, color 0.08 linear;
}

body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-img-wrap,
body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-video-cont {
  opacity: 0;
  -moz-transform: scale3d(0.5, 0.5, 0.5);
  -o-transform: scale3d(0.5, 0.5, 0.5);
  -ms-transform: scale3d(0.5, 0.5, 0.5);
  -webkit-transform: scale3d(0.5, 0.5, 0.5);
  transform: scale3d(0.5, 0.5, 0.5);
  will-change: transform, opacity;
  -webkit-transition: -webkit-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
  -moz-transition: -moz-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
  -o-transition: -o-transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
  transition: transform 250ms cubic-bezier(0, 0, 0.25, 1) 0s, opacity 250ms cubic-bezier(0, 0, 0.25, 1) !important;
}

body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-complete .lg-img-wrap,
body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-complete .lg-video-cont {
  opacity: 1;
  -moz-transform: scale3d(1, 1, 1);
  -o-transform: scale3d(1, 1, 1);
  -ms-transform: scale3d(1, 1, 1);
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
}

.lg-icon:focus-visible {
  color: #fff;
  border-radius: 3px;
  outline: 1px dashed rgba(255, 255, 255, 0.6);
}

.lg-toolbar .lg-icon:focus-visible {
  border-radius: 8px;
  outline-offset: -5px;
}

.lg-outer .lg-thumb-outer {
  background-color: #0d0a0a;
  width: 100%;
  max-height: 350px;
  overflow: hidden;
  float: left;
}

.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab;
}

.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: -o-grabbing;
  cursor: -ms-grabbing;
  cursor: grabbing;
}

.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb {
  -webkit-transition-duration: 0s !important;
  transition-duration: 0s !important;
}

.lg-outer .lg-thumb-outer.lg-rebuilding-thumbnails .lg-thumb {
  -webkit-transition-duration: 0s !important;
  transition-duration: 0s !important;
}

.lg-outer .lg-thumb-outer.lg-thumb-align-middle {
  text-align: center;
}

.lg-outer .lg-thumb-outer.lg-thumb-align-left {
  text-align: left;
}

.lg-outer .lg-thumb-outer.lg-thumb-align-right {
  text-align: right;
}

.lg-outer.lg-single-item .lg-thumb-outer {
  display: none;
}

.lg-outer .lg-thumb {
  padding: 5px 0;
  height: 100%;
  margin-bottom: -5px;
  display: inline-block;
  vertical-align: middle;
}

@media (min-width: 768px) {
  .lg-outer .lg-thumb {
    padding: 10px 0;
  }
}
.lg-outer .lg-thumb-item {
  cursor: pointer;
  float: left;
  overflow: hidden;
  height: 100%;
  border-radius: 2px;
  margin-bottom: 5px;
  will-change: border-color;
}

@media (min-width: 768px) {
  .lg-outer .lg-thumb-item {
    border-radius: 4px;
    border: 2px solid #fff;
    -webkit-transition: border-color 0.25s ease;
    -o-transition: border-color 0.25s ease;
    transition: border-color 0.25s ease;
  }
}
.lg-outer .lg-thumb-item.active, .lg-outer .lg-thumb-item:hover {
  border-color: #a90707;
}

.lg-outer .lg-thumb-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.lg-outer.lg-can-toggle .lg-item {
  padding-bottom: 0;
}

.lg-outer .lg-toggle-thumb:after {
  content: "\e1ff";
}

.lg-outer.lg-animate-thumb .lg-thumb {
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.lg-outer .lg-video-cont {
  text-align: center;
  display: inline-block;
  vertical-align: middle;
  position: relative;
}

.lg-outer .lg-video-cont .lg-object {
  width: 100% !important;
  height: 100% !important;
}

.lg-outer .lg-has-iframe .lg-video-cont {
  -webkit-overflow-scrolling: touch;
  overflow: auto;
}

.lg-outer .lg-video-object {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  z-index: 3;
}

.lg-outer .lg-video-poster {
  z-index: 1;
}

.lg-outer .lg-has-video .lg-video-object {
  opacity: 0;
  will-change: opacity;
  -webkit-transition: opacity 0.3s ease-in;
  -o-transition: opacity 0.3s ease-in;
  transition: opacity 0.3s ease-in;
}

.lg-outer .lg-has-video.lg-video-loaded .lg-video-poster,
.lg-outer .lg-has-video.lg-video-loaded .lg-video-play-button {
  opacity: 0 !important;
}

.lg-outer .lg-has-video.lg-video-loaded .lg-video-object {
  opacity: 1;
}

@keyframes lg-play-stroke {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124px;
  }
}
@keyframes lg-play-rotate {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.lg-video-play-button {
  width: 18%;
  max-width: 140px;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  cursor: pointer;
  transform: translate(-50%, -50%) scale(1);
  will-change: opacity, transform;
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0.17, 0.88, 0.32, 1.28), opacity 0.1s;
  -moz-transition: -moz-transform 0.25s cubic-bezier(0.17, 0.88, 0.32, 1.28), opacity 0.1s;
  -o-transition: -o-transform 0.25s cubic-bezier(0.17, 0.88, 0.32, 1.28), opacity 0.1s;
  transition: transform 0.25s cubic-bezier(0.17, 0.88, 0.32, 1.28), opacity 0.1s;
}

.lg-video-play-button:hover .lg-video-play-icon-bg,
.lg-video-play-button:hover .lg-video-play-icon {
  opacity: 1;
}

.lg-video-play-icon-bg {
  fill: none;
  stroke-width: 3%;
  stroke: #fcfcfc;
  opacity: 0.6;
  will-change: opacity;
  -webkit-transition: opacity 0.12s ease-in;
  -o-transition: opacity 0.12s ease-in;
  transition: opacity 0.12s ease-in;
}

.lg-video-play-icon-circle {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  fill: none;
  stroke-width: 3%;
  stroke: rgba(30, 30, 30, 0.9);
  stroke-opacity: 1;
  stroke-linecap: round;
  stroke-dasharray: 200;
  stroke-dashoffset: 200;
}

.lg-video-play-icon {
  position: absolute;
  width: 25%;
  max-width: 120px;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, -50%, 0);
  opacity: 0.6;
  will-change: opacity;
  -webkit-transition: opacity 0.12s ease-in;
  -o-transition: opacity 0.12s ease-in;
  transition: opacity 0.12s ease-in;
}

.lg-video-play-icon .lg-video-play-icon-inner {
  fill: #fcfcfc;
}

.lg-video-loading .lg-video-play-icon-circle {
  animation: lg-play-rotate 2s linear 0.25s infinite, lg-play-stroke 1.5s ease-in-out 0.25s infinite;
}

.lg-video-loaded .lg-video-play-button {
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.7);
}

.lg-progress-bar {
  background-color: #333;
  height: 5px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1083;
  opacity: 0;
  will-change: opacity;
  -webkit-transition: opacity 0.08s ease 0s;
  -moz-transition: opacity 0.08s ease 0s;
  -o-transition: opacity 0.08s ease 0s;
  transition: opacity 0.08s ease 0s;
}

.lg-progress-bar .lg-progress {
  background-color: #a90707;
  height: 5px;
  width: 0;
}

.lg-progress-bar.lg-start .lg-progress {
  width: 100%;
}

.lg-show-autoplay .lg-progress-bar {
  opacity: 1;
}

.lg-autoplay-button:after {
  content: "\e01d";
}

.lg-show-autoplay .lg-autoplay-button:after {
  content: "\e01a";
}

.lg-single-item .lg-autoplay-button {
  opacity: 0.75;
  pointer-events: none;
}

.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap,
.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image {
  -webkit-transition-duration: 0ms !important;
  transition-duration: 0ms !important;
}

.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
  will-change: transform;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s;
  -moz-transition: -moz-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s;
  -o-transition: -o-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s;
  transition: transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s;
}

.lg-outer.lg-use-transition-for-zoom.lg-zoom-drag-transition .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
  will-change: transform;
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0, 0, 0.25, 1) 0s;
  -moz-transition: -moz-transform 0.8s cubic-bezier(0, 0, 0.25, 1) 0s;
  -o-transition: -o-transform 0.8s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 0.8s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image,
.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s, opacity 0.15s !important;
  -moz-transition: -moz-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s, opacity 0.15s !important;
  -o-transition: -o-transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s, opacity 0.15s !important;
  transition: transform 0.5s cubic-bezier(0.12, 0.415, 0.01, 1.19) 0s, opacity 0.15s !important;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.no-transition,
.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.no-transition {
  transition: none !important;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition,
.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition {
  transform: scale3d(1, 1, 1) translate3d(-50%, -50%, 0px) !important;
  max-width: none !important;
  max-height: none !important;
  top: 50% !important;
  left: 50% !important;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition-x,
.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition-x {
  transform: scale3d(1, 1, 1) translate3d(-50%, 0, 0px) !important;
  top: 0 !important;
  left: 50% !important;
  max-width: none !important;
  max-height: none !important;
}

.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition-y,
.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition-y {
  transform: scale3d(1, 1, 1) translate3d(0, -50%, 0px) !important;
  top: 50% !important;
  left: 0% !important;
  max-width: none !important;
  max-height: none !important;
}

.lg-icon.lg-zoom-in:after {
  content: "\e311";
}

.lg-actual-size .lg-icon.lg-zoom-in {
  opacity: 0.5;
  pointer-events: none;
}

.lg-icon.lg-actual-size {
  font-size: 20px;
}

.lg-icon.lg-actual-size:after {
  content: "\e033";
}

.lg-icon.lg-zoom-out {
  opacity: 0.5;
  pointer-events: none;
}

.lg-icon.lg-zoom-out:after {
  content: "\e312";
}

.lg-zoomed .lg-icon.lg-zoom-out {
  opacity: 1;
  pointer-events: auto;
}

.lg-outer[data-lg-slide-type=video] .lg-zoom-in,
.lg-outer[data-lg-slide-type=video] .lg-actual-size,
.lg-outer[data-lg-slide-type=video] .lg-zoom-out, .lg-outer[data-lg-slide-type=iframe] .lg-zoom-in,
.lg-outer[data-lg-slide-type=iframe] .lg-actual-size,
.lg-outer[data-lg-slide-type=iframe] .lg-zoom-out, .lg-outer.lg-first-slide-loading .lg-zoom-in,
.lg-outer.lg-first-slide-loading .lg-actual-size,
.lg-outer.lg-first-slide-loading .lg-zoom-out {
  opacity: 0.75;
  pointer-events: none;
}

.lg-outer .lg-pager-outer {
  text-align: center;
  z-index: 1080;
  height: 10px;
  margin-bottom: 10px;
}

.lg-outer .lg-pager-outer.lg-pager-hover .lg-pager-cont {
  overflow: visible;
}

.lg-outer.lg-single-item .lg-pager-outer {
  display: none;
}

.lg-outer .lg-pager-cont {
  cursor: pointer;
  display: inline-block;
  overflow: hidden;
  position: relative;
  vertical-align: top;
  margin: 0 5px;
}

.lg-outer .lg-pager-cont:hover .lg-pager-thumb-cont {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.lg-outer .lg-pager-cont.lg-pager-active .lg-pager {
  box-shadow: 0 0 0 2px white inset;
}

.lg-outer .lg-pager-thumb-cont {
  background-color: #fff;
  color: #fff;
  bottom: 100%;
  height: 83px;
  left: 0;
  margin-bottom: 20px;
  margin-left: -60px;
  opacity: 0;
  padding: 5px;
  position: absolute;
  width: 120px;
  border-radius: 3px;
  will-change: transform, opacity;
  -webkit-transition: opacity 0.15s ease 0s, -webkit-transform 0.15s ease 0s;
  -moz-transition: opacity 0.15s ease 0s, -moz-transform 0.15s ease 0s;
  -o-transition: opacity 0.15s ease 0s, -o-transform 0.15s ease 0s;
  transition: opacity 0.15s ease 0s, transform 0.15s ease 0s;
  -webkit-transform: translate3d(0, 5px, 0);
  transform: translate3d(0, 5px, 0);
}

.lg-outer .lg-pager-thumb-cont img {
  width: 100%;
  height: 100%;
}

.lg-outer .lg-pager {
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.7) inset;
  display: block;
  height: 12px;
  -webkit-transition: box-shadow 0.3s ease 0s;
  -o-transition: box-shadow 0.3s ease 0s;
  transition: box-shadow 0.3s ease 0s;
  width: 12px;
}

.lg-outer .lg-pager:hover, .lg-outer .lg-pager:focus {
  box-shadow: 0 0 0 8px white inset;
}

.lg-outer .lg-caret {
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px dashed;
  bottom: -10px;
  display: inline-block;
  height: 0;
  left: 50%;
  margin-left: -5px;
  position: absolute;
  vertical-align: middle;
  width: 0;
}

.lg-fullscreen:after {
  content: "\e20c";
}

.lg-fullscreen-on .lg-fullscreen:after {
  content: "\e20d";
}

.lg-outer .lg-dropdown-overlay {
  background-color: rgba(0, 0, 0, 0.25);
  bottom: 0;
  cursor: default;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1081;
  opacity: 0;
  visibility: hidden;
  will-change: visibility, opacity;
  -webkit-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
  -o-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
  transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
}

.lg-outer.lg-dropdown-active .lg-dropdown,
.lg-outer.lg-dropdown-active .lg-dropdown-overlay {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -moz-transform: translate3d(0, 0px, 0);
  -o-transform: translate3d(0, 0px, 0);
  -ms-transform: translate3d(0, 0px, 0);
  -webkit-transform: translate3d(0, 0px, 0);
  transform: translate3d(0, 0px, 0);
  opacity: 1;
  visibility: visible;
}

.lg-outer.lg-dropdown-active .lg-share {
  color: #fff;
}

.lg-outer .lg-dropdown {
  background-color: #fff;
  border-radius: 2px;
  font-size: 14px;
  list-style-type: none;
  margin: 0;
  padding: 10px 0;
  position: absolute;
  right: 0;
  text-align: left;
  top: 50px;
  opacity: 0;
  visibility: hidden;
  -moz-transform: translate3d(0, 5px, 0);
  -o-transform: translate3d(0, 5px, 0);
  -ms-transform: translate3d(0, 5px, 0);
  -webkit-transform: translate3d(0, 5px, 0);
  transform: translate3d(0, 5px, 0);
  will-change: visibility, opacity, transform;
  -webkit-transition: -webkit-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
  -moz-transition: -moz-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
  -o-transition: -o-transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
  transition: transform 0.18s linear 0s, visibility 0s linear 0.5s, opacity 0.18s linear 0s;
}

.lg-outer .lg-dropdown:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
  position: absolute;
  border: 8px solid transparent;
  border-bottom-color: #fff;
  right: 16px;
  top: -16px;
}

.lg-outer .lg-dropdown > li:last-child {
  margin-bottom: 0px;
}

.lg-outer .lg-dropdown > li:hover a {
  color: #333;
}

.lg-outer .lg-dropdown a {
  color: #333;
  display: block;
  white-space: pre;
  padding: 4px 12px;
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
}

.lg-outer .lg-dropdown a:hover {
  background-color: rgba(0, 0, 0, 0.07);
}

.lg-outer .lg-dropdown .lg-dropdown-text {
  display: inline-block;
  line-height: 1;
  margin-top: -3px;
  vertical-align: middle;
}

.lg-outer .lg-dropdown .lg-icon {
  color: #333;
  display: inline-block;
  float: none;
  font-size: 20px;
  height: auto;
  line-height: 1;
  margin-right: 8px;
  padding: 0;
  vertical-align: middle;
  width: auto;
}

.lg-outer .lg-share {
  position: relative;
}

.lg-outer .lg-share:after {
  content: "\e80d";
}

.lg-outer .lg-share-facebook .lg-icon {
  color: #3b5998;
}

.lg-outer .lg-share-facebook .lg-icon:after {
  content: "\e904";
}

.lg-outer .lg-share-twitter .lg-icon {
  color: #00aced;
}

.lg-outer .lg-share-twitter .lg-icon:after {
  content: "\e907";
}

.lg-outer .lg-share-pinterest .lg-icon {
  color: #cb2027;
}

.lg-outer .lg-share-pinterest .lg-icon:after {
  content: "\e906";
}

.lg-comment-box {
  width: 420px;
  max-width: 100%;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 9999;
  background-color: #fff;
  will-change: transform;
  -moz-transform: translate3d(100%, 0, 0);
  -o-transform: translate3d(100%, 0, 0);
  -ms-transform: translate3d(100%, 0, 0);
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s;
  -moz-transition: -moz-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s;
  -o-transition: -o-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-comment-box .lg-comment-title {
  margin: 0;
  color: #fff;
  font-size: 18px;
}

.lg-comment-box .lg-comment-header {
  background-color: #000;
  padding: 12px 20px;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
}

.lg-comment-box .lg-comment-body {
  height: 100% !important;
  padding-top: 43px !important;
  width: 100% !important;
}

.lg-comment-box .fb-comments {
  height: 100%;
  width: 100%;
  background: url("../images/loading.gif") no-repeat scroll center center #fff;
  overflow-y: auto;
  display: inline-block;
}

.lg-comment-box .fb-comments[fb-xfbml-state=rendered] {
  background-image: none;
}

.lg-comment-box .fb-comments > span {
  max-width: 100%;
}

.lg-comment-box .lg-comment-close {
  position: absolute;
  right: 5px;
  top: 12px;
  cursor: pointer;
  font-size: 20px;
  color: #999;
  will-change: color;
  -webkit-transition: color 0.2s linear;
  -o-transition: color 0.2s linear;
  transition: color 0.2s linear;
}

.lg-comment-box .lg-comment-close:hover {
  color: #fff;
}

.lg-comment-box .lg-comment-close:after {
  content: "\e070";
}

.lg-comment-box iframe {
  max-width: 100% !important;
  width: 100% !important;
}

.lg-comment-box #disqus_thread {
  padding: 0 20px;
}

.lg-outer .lg-comment-overlay {
  background-color: rgba(0, 0, 0, 0.25);
  bottom: 0;
  cursor: default;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1081;
  opacity: 0;
  visibility: hidden;
  will-change: visibility, opacity;
  -webkit-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
  -o-transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
  transition: visibility 0s linear 0.18s, opacity 0.18s linear 0s;
}

.lg-outer .lg-comment-toggle:after {
  content: "\e908";
}

.lg-outer.lg-comment-active .lg-comment-overlay {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -moz-transform: translate3d(0, 0px, 0);
  -o-transform: translate3d(0, 0px, 0);
  -ms-transform: translate3d(0, 0px, 0);
  -webkit-transform: translate3d(0, 0px, 0);
  transform: translate3d(0, 0px, 0);
  opacity: 1;
  visibility: visible;
}

.lg-outer.lg-comment-active .lg-comment-toggle {
  color: #fff;
}

.lg-outer.lg-comment-active .lg-comment-box {
  -moz-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.lg-outer .lg-img-rotate {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s;
  -moz-transition: -moz-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s;
  -o-transition: -o-transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 0.4s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-outer[data-lg-slide-type=video] .lg-rotate-left,
.lg-outer[data-lg-slide-type=video] .lg-rotate-right,
.lg-outer[data-lg-slide-type=video] .lg-flip-ver,
.lg-outer[data-lg-slide-type=video] .lg-flip-hor, .lg-outer[data-lg-slide-type=iframe] .lg-rotate-left,
.lg-outer[data-lg-slide-type=iframe] .lg-rotate-right,
.lg-outer[data-lg-slide-type=iframe] .lg-flip-ver,
.lg-outer[data-lg-slide-type=iframe] .lg-flip-hor {
  opacity: 0.75;
  pointer-events: none;
}

.lg-outer .lg-img-rotate:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.lg-rotate-left:after {
  content: "\e900";
}

.lg-rotate-right:after {
  content: "\e901";
}

.lg-icon.lg-flip-hor, .lg-icon.lg-flip-ver {
  font-size: 26px;
}

.lg-flip-ver:after {
  content: "\e903";
}

.lg-flip-hor:after {
  content: "\e902";
}

.lg-medium-zoom-item {
  cursor: zoom-in;
}

.lg-medium-zoom .lg-outer {
  cursor: zoom-out;
}

.lg-medium-zoom .lg-outer.lg-grab img.lg-object {
  cursor: zoom-out;
}

.lg-medium-zoom .lg-outer.lg-grabbing img.lg-object {
  cursor: zoom-out;
}

.lg-relative-caption .lg-outer .lg-sub-html {
  white-space: normal;
  bottom: auto;
  padding: 0;
  background-image: none;
}

.lg-relative-caption .lg-outer .lg-relative-caption-item {
  opacity: 0;
  padding: 16px 0;
  transition: 0.5s opacity ease;
}

.lg-relative-caption .lg-outer .lg-show-caption .lg-relative-caption-item {
  opacity: 1;
}

.lg-group:after {
  content: "";
  display: table;
  clear: both;
}

.lg-container {
  display: none;
  outline: none;
}

.lg-container.lg-show {
  display: block;
}

.lg-on {
  scroll-behavior: unset;
}

.lg-overlay-open {
  overflow: hidden;
}

.lg-toolbar,
.lg-prev,
.lg-next,
.lg-pager-outer,
.lg-hide-sub-html .lg-sub-html {
  opacity: 0;
  will-change: transform, opacity;
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
  -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
  -o-transition: -o-transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.25s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-show-in .lg-toolbar,
.lg-show-in .lg-prev,
.lg-show-in .lg-next,
.lg-show-in .lg-pager-outer {
  opacity: 1;
}

.lg-show-in.lg-hide-sub-html .lg-sub-html {
  opacity: 1;
}

.lg-show-in .lg-hide-items .lg-prev {
  opacity: 0;
  -webkit-transform: translate3d(-10px, 0, 0);
  transform: translate3d(-10px, 0, 0);
}

.lg-show-in .lg-hide-items .lg-next {
  opacity: 0;
  -webkit-transform: translate3d(10px, 0, 0);
  transform: translate3d(10px, 0, 0);
}

.lg-show-in .lg-hide-items .lg-toolbar {
  opacity: 0;
  -webkit-transform: translate3d(0, -10px, 0);
  transform: translate3d(0, -10px, 0);
}

.lg-show-in .lg-hide-items.lg-hide-sub-html .lg-sub-html {
  opacity: 0;
  -webkit-transform: translate3d(0, 20px, 0);
  transform: translate3d(0, 20px, 0);
}

.lg-outer {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  text-align: left;
  opacity: 0.001;
  outline: none;
  will-change: auto;
  overflow: hidden;
  -webkit-transition: opacity 0.15s ease 0s;
  -o-transition: opacity 0.15s ease 0s;
  transition: opacity 0.15s ease 0s;
}

.lg-outer * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.lg-outer.lg-zoom-from-image {
  opacity: 1;
}

.lg-outer.lg-visible {
  opacity: 1;
}

.lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-prev-slide, .lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-next-slide, .lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-current {
  -webkit-transition-duration: inherit !important;
  transition-duration: inherit !important;
  -webkit-transition-timing-function: inherit !important;
  transition-timing-function: inherit !important;
}

.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide, .lg-outer.lg-css3.lg-dragging .lg-item.lg-current {
  -webkit-transition-duration: 0s !important;
  transition-duration: 0s !important;
  opacity: 1;
}

.lg-outer.lg-grab img.lg-object {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab;
}

.lg-outer.lg-grabbing img.lg-object {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: -o-grabbing;
  cursor: -ms-grabbing;
  cursor: grabbing;
}

.lg-outer .lg-content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.lg-outer .lg-inner {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  -webkit-transition: opacity 0s;
  -o-transition: opacity 0s;
  transition: opacity 0s;
  white-space: nowrap;
}

.lg-outer .lg-item {
  display: none !important;
}

.lg-outer .lg-item:not(.lg-start-end-progress) {
  background: url("../images/loading.gif") no-repeat scroll center center transparent;
}

.lg-outer.lg-css3 .lg-prev-slide,
.lg-outer.lg-css3 .lg-current,
.lg-outer.lg-css3 .lg-next-slide {
  display: inline-block !important;
}

.lg-outer.lg-css .lg-current {
  display: inline-block !important;
}

.lg-outer .lg-item,
.lg-outer .lg-img-wrap {
  display: inline-block;
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
}

.lg-outer .lg-item:before,
.lg-outer .lg-img-wrap:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.lg-outer .lg-img-wrap {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  white-space: nowrap;
  font-size: 0;
}

.lg-outer .lg-item.lg-complete {
  background-image: none;
}

.lg-outer .lg-item.lg-current {
  z-index: 1060;
}

.lg-outer .lg-object {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  position: relative;
}

.lg-outer .lg-empty-html.lg-sub-html,
.lg-outer .lg-empty-html .lg-sub-html {
  display: none;
}

.lg-outer.lg-hide-download .lg-download {
  opacity: 0.75;
  pointer-events: none;
}

.lg-outer .lg-first-slide .lg-dummy-img {
  position: absolute;
  top: 50%;
  left: 50%;
}

.lg-outer.lg-components-open:not(.lg-zoomed) .lg-components {
  -webkit-transform: translate3d(0, 0%, 0);
  transform: translate3d(0, 0%, 0);
  opacity: 1;
}

.lg-outer.lg-components-open:not(.lg-zoomed) .lg-sub-html {
  opacity: 1;
  transition: opacity 0.2s ease-out 0.15s;
}

.lg-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1040;
  background-color: #000;
  opacity: 0;
  will-change: auto;
  -webkit-transition: opacity 333ms ease-in 0s;
  -o-transition: opacity 333ms ease-in 0s;
  transition: opacity 333ms ease-in 0s;
}

.lg-backdrop.in {
  opacity: 1;
}

.lg-css3.lg-no-trans .lg-prev-slide,
.lg-css3.lg-no-trans .lg-next-slide,
.lg-css3.lg-no-trans .lg-current {
  -webkit-transition: none 0s ease 0s !important;
  -moz-transition: none 0s ease 0s !important;
  -o-transition: none 0s ease 0s !important;
  transition: none 0s ease 0s !important;
}

.lg-css3.lg-use-css3 .lg-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

.lg-css3.lg-fade .lg-item {
  opacity: 0;
}

.lg-css3.lg-fade .lg-item.lg-current {
  opacity: 1;
}

.lg-css3.lg-fade .lg-item.lg-prev-slide, .lg-css3.lg-fade .lg-item.lg-next-slide, .lg-css3.lg-fade .lg-item.lg-current {
  -webkit-transition: opacity 0.1s ease 0s;
  -moz-transition: opacity 0.1s ease 0s;
  -o-transition: opacity 0.1s ease 0s;
  transition: opacity 0.1s ease 0s;
}

.lg-css3.lg-use-css3 .lg-item.lg-start-progress {
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
  -moz-transition: -moz-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
  -o-transition: -o-transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
  transition: transform 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
}

.lg-css3.lg-use-css3 .lg-item.lg-start-end-progress {
  -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s;
  -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s;
  -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s;
  transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s;
}

.lg-css3.lg-slide.lg-use-css3 .lg-item {
  opacity: 0;
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide, .lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current {
  -webkit-transition: -webkit-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  -moz-transition: -moz-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  -o-transition: -o-transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
  transition: transform 1s cubic-bezier(0, 0, 0.25, 1) 0s, opacity 0.1s ease 0s;
}

.lg-container {
  display: none;
}

.lg-container.lg-show {
  display: block;
}

.lg-container.lg-dragging-vertical .lg-backdrop {
  -webkit-transition-duration: 0s !important;
  transition-duration: 0s !important;
}

.lg-container.lg-dragging-vertical .lg-css3 .lg-item.lg-current {
  -webkit-transition-duration: 0s !important;
  transition-duration: 0s !important;
  opacity: 1;
}

.lg-inline .lg-backdrop,
.lg-inline .lg-outer {
  position: absolute;
}

.lg-inline .lg-backdrop {
  z-index: 1;
}

.lg-inline .lg-outer {
  z-index: 2;
}

.lg-inline .lg-maximize:after {
  content: "\e909";
}

.lg-components {
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  will-change: transform;
  -webkit-transition: -webkit-transform 0.35s ease-out 0s;
  -moz-transition: -moz-transform 0.35s ease-out 0s;
  -o-transition: -o-transform 0.35s ease-out 0s;
  transition: transform 0.35s ease-out 0s;
  z-index: 1080;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
}

.icv {
  position: relative;
  overflow: hidden;
  cursor: row-resize;
}
.icv__icv--vertical {
  cursor: row-resize;
}
.icv__icv--horizontal {
  cursor: col-resize;
}
.icv__img {
  pointer-events: none;
  -khtml-user-select: none;
  -o-user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  max-width: none;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  top: 0;
  display: block;
}
.icv__is--fluid .icv__img {
  display: none;
}
.icv__img-a {
  height: auto;
  position: static;
  z-index: 1;
  left: 0px;
}
.icv__img-b {
  height: 100%;
  position: absolute;
  z-index: 2;
  left: auto;
  right: 0px;
  width: auto;
}
.icv__icv--vertical .icv__img-b {
  width: 100%;
  height: auto;
}
.icv__imposter {
  z-index: 4;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
}
.icv__wrapper {
  position: absolute;
  width: 100%;
  height: 100%;
  right: 0px;
  top: 0px;
  overflow: hidden;
  background-size: cover;
  background-position: center center;
  z-index: 3;
}
.icv__is--fluid .icv__wrapper, .icv__icv--vertical .icv__wrapper {
  width: 100% !important;
}
.icv__is--fluid .icv__wrapper, .icv__icv--horizontal .icv__wrapper {
  height: 100% !important;
}
.icv__fluidwrapper {
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.icv__control {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  height: 100%;
  top: 0px;
  z-index: 5;
}
.icv__icv--vertical .icv__control {
  flex-direction: row;
  left: 0;
  width: 100%;
}
.icv__control-line {
  height: 50%;
  width: 2px;
  z-index: 6;
}
.icv__icv--vertical .icv__control-line {
  width: 50%;
}
.icv__theme-wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  transition: all 0.1s ease-out 0s;
  z-index: 5;
}
.icv__icv--vertical .icv__theme-wrapper {
  flex-direction: column;
}
.icv__arrow-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.1s ease-out 0s;
}
.icv__arrow-a {
  transform: scale(1.5) rotateZ(180deg);
  height: 20px;
  width: 20px;
  -webkit-filter: drop-shadow(0px 3px 5px rgba(0, 0, 0, 0.33));
  filter: drop-shadow(0px -3px 5px rgba(0, 0, 0, 0.33));
}
.icv__arrow-b {
  transform: scale(1.5) rotateZ(0deg);
  height: 20px;
  width: 20px;
  -webkit-filter: drop-shadow(0px 3px 5px rgba(0, 0, 0, 0.33));
  filter: drop-shadow(0px 3px 5px rgba(0, 0, 0, 0.33));
}
.icv__circle {
  width: 50px;
  height: 50px;
  box-sizing: border-box;
  flex-shrink: 0;
  border-radius: 999px;
}
.icv__label {
  position: absolute;
  bottom: 1rem;
  z-index: 12;
  background: rgba(0, 0, 0, 0.33);
  color: white;
  border-radius: 3px;
  padding: 0.5rem 0.75rem;
  font-size: 0.85rem;
  user-select: none;
}
.icv__label.vertical {
  bottom: auto;
  left: 1rem;
}
.icv__label.on-hover {
  transform: scale(0);
  transition: 0.25s cubic-bezier(0.68, 0.26, 0.58, 1.22);
}
.icv:hover .icv__label.on-hover {
  transform: scale(1);
}
.icv__label-before {
  left: 1rem;
}
.icv__label-after {
  right: 1rem;
}
.icv__label-before.vertical {
  top: 1rem;
}
.icv__label-after.vertical {
  bottom: 1rem;
  right: auto;
}
.icv__body {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.header-nav-link {
  font-family: "Noto Sans TC", sans-serif;
}

.header-lang {
  font-family: "Roboto", sans-serif;
}

.header-nav-link,
.header-lang,
.header-btn {
  transition: opacity 0.3s;
}
.header-nav-link:hover,
.header-lang:hover,
.header-btn:hover {
  opacity: 0.7;
}

.menu-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.menu-btn span {
  display: block;
  width: 1.1875rem;
  height: 0.125rem;
  background-color: #F0EFEF;
  transition: all 0.3s;
}
.menu-btn span:nth-child(2) {
  margin-top: 0.31255rem;
  margin-bottom: 0.3125rem;
}
.menu-btn:hover span:nth-child(2) {
  margin-top: 0.4rem;
  margin-bottom: 0.4rem;
}

.header {
  height: 5rem;
  transition: all 0.5s;
}
.header .header-logo path,
.header .header-logo rect,
.header .header-logo circle,
.header .search-btn path,
.header .search-btn rect,
.header .search-btn circle {
  transition: all 0.5s;
}
.header .scroll-color {
  transition: all 0.5s;
}
@media (min-width: 1024px) {
  .header {
    height: 6.375rem;
  }
}

.scrollDown .header {
  background-color: #FFF;
}
@media (min-width: 1024px) {
  .scrollDown .header {
    height: 5.75rem;
  }
}
.scrollDown .scroll-color {
  color: #373938;
}
.scrollDown .header-logo path,
.scrollDown .header-logo rect {
  fill: #373938;
}
.scrollDown .search-btn circle,
.scrollDown .search-btn path {
  stroke: #373938;
}
.scrollDown .menu-btn span {
  background-color: #373938;
}

.page-light .header {
  background-color: #FFF;
}
.page-light .scroll-color {
  color: #373938;
}
.page-light .header-logo path,
.page-light .header-logo rect {
  fill: #373938;
}
.page-light .search-btn circle,
.page-light .search-btn path {
  stroke: #373938;
}
.page-light .menu-btn span {
  background-color: #373938;
}

.menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: -1;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0.4s;
}

.mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  background-color: #000;
  z-index: -1;
  clip-path: inset(0 0 100% 0);
  transition: clip-path 0.4s ease;
  padding-top: 5.5rem;
  padding-bottom: 5rem;
  padding-left: 1.875rem;
  padding-right: 1.875rem;
}
@media (min-width: 1024px) {
  .mobile-menu {
    position: absolute;
    height: auto;
    overflow-y: visible;
    padding-top: 11.25rem;
    padding-bottom: 5rem;
    padding-left: 11.25rem;
    padding-right: 11.25rem;
  }
}

.mobile-menu-grid {
  margin: 0 auto;
}

.mobile-menu-col {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media (min-width: 1024px) {
  .mobile-menu-col {
    gap: 1.125rem;
  }
}

.mobile-menu-col--case {
  display: none;
}
@media (min-width: 1024px) {
  .mobile-menu-col--case {
    display: flex;
  }
}

.mobile-menu-title {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  color: #f0efef;
  line-height: 2;
  transition: opacity 0.3s;
}
.mobile-menu-title:hover {
  opacity: 0.7;
}
@media (min-width: 1024px) {
  .mobile-menu-title {
    font-size: 1.25rem;
    letter-spacing: 0.25rem;
    line-height: 1.5;
  }
}

.mobile-menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.mobile-menu-list a {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: #f0efef;
  letter-spacing: 0;
  line-height: 1.6;
  transition: opacity 0.3s;
}
.mobile-menu-list a:hover {
  opacity: 0.7;
}
@media (min-width: 1024px) {
  .mobile-menu-list a {
    font-size: 1.125rem;
    letter-spacing: 0.25rem;
    line-height: 1.5;
  }
}

.menu-open {
  overflow: hidden;
}
.menu-open .menu-overlay {
  opacity: 1;
  visibility: visible;
}
.menu-open .mobile-menu {
  clip-path: inset(0 0 0 0);
}
.menu-open .header > .mask-line {
  opacity: 0;
  visibility: hidden;
}
.menu-open .header-logo path,
.menu-open .header-logo rect {
  fill: #FFF;
}
.menu-open .scroll-color {
  color: #FFF;
}
.menu-open .search-btn circle,
.menu-open .search-btn path {
  stroke: #FFF;
}
.menu-open .menu-btn:hover span:nth-child(2) {
  margin-top: 0.31255rem;
  margin-bottom: 0.3125rem;
}
.menu-open .menu-btn span {
  background-color: #FFF;
}
.menu-open .menu-btn span:nth-child(1) {
  transform: translateY(0.4375rem) rotate(45deg);
}
.menu-open .menu-btn span:nth-child(2) {
  opacity: 0;
}
.menu-open .menu-btn span:nth-child(3) {
  transform: translateY(-0.4375rem) rotate(-45deg);
}
.menu-open .search-btn,
.menu-open .header-lang,
.menu-open .header-nav-link {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.menu-open .header {
  background-color: transparent;
  border-bottom-color: transparent;
}

.footer-social {
  transition: opacity 0.3s;
}
.footer-social:hover {
  opacity: 0.7;
}

.banner-box .swiper-wrapper {
  height: 100%;
}
.banner-box .banner-list h2,
.banner-box .banner-list p {
  opacity: 0;
  animation-duration: 1.2s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
  animation-iteration-count: 1;
}
.banner-box .swiper-slide-active h2 {
  animation-name: fadeInUp;
}
.banner-box .swiper-slide-active p {
  animation-name: fadeInUp;
  animation-delay: 0.4s;
}
.banner-box .banner-img {
  width: 100vw;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
}
.banner-box {
  /* 針對 data-video-type="video" 的元素 */
}
.banner-box [data-video-type=video] .banner-img,
.banner-box [data-video-type=youtube] .banner-img {
  opacity: 0;
}

.banner-pagination .swiper-pagination-bullet {
  width: 2.75rem;
  height: 0.25rem;
  border-radius: 0;
  background: #d9d9d9;
  opacity: 1;
  margin: 0 !important;
  transition: background 0.4s;
}
.banner-pagination .swiper-pagination-bullet-active {
  background: linear-gradient(90deg, #C5EA76 0%, #71DCDF 100%);
}

.banner-swiper-btn {
  transition: all 0.5s;
}
.banner-swiper-btn path {
  transition: all 0.5s;
}
.banner-swiper-btn:hover {
  background-color: #FF5F46;
}
.banner-swiper-btn:hover path {
  stroke: #FFF !important;
}

.idx-video-box {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.idx-video-box .video-iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100vw;
  height: 56.25vw; /* 16:9 */
  min-height: 100vh;
  min-width: 177.78vh; /* 16:9 */
}
.idx-video-box .video-iframe iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.idx-video-box .video-mp4 video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mask-line {
  background: linear-gradient(135deg, rgb(197, 234, 118) 0%, rgb(113, 220, 223) 99%);
}

.features-swiper {
  overflow: visible;
}
.features-swiper .features-card {
  overflow: hidden;
}
@media (max-width: 767px) {
  .features-swiper .features-card {
    height: 485px;
  }
}
@media (min-width: 768px) {
  .features-swiper .features-card {
    aspect-ratio: 1028/582;
  }
}
@media (min-width: 1024px) {
  .features-swiper .features-card {
    width: 800px;
  }
}
@media (min-width: 1280px) {
  .features-swiper .features-card {
    width: 53.54vw;
  }
}

.features-next.swiper-button-disabled,
.features-prev.swiper-button-disabled {
  opacity: 0;
}

.news-swiper .swiper-slide {
  padding-left: 1rem;
  padding-right: 1rem;
}

.news-block .news-card:first-child {
  padding-bottom: 3rem;
}
.news-block .news-card:last-child {
  border-bottom: unset38;
}

.configurator-bg {
  height: 130%;
  top: -15%;
  transition: all 0.5s linear;
}

@media (hover: hover) {
  .configurator-btn {
    transition: all 0.5s;
  }
  .configurator-btn span {
    transition: all 0.5s;
  }
  .configurator-btn:hover {
    background-color: #F0EFEF;
  }
  .configurator-btn:hover span {
    letter-spacing: 0.2rem;
  }
}
.cfg-sidebar {
  display: flex;
  flex-direction: column;
  background-color: #000;
  width: 100%;
  height: 100vh;
  color: #f0efef;
  font-family: "Noto Sans TC", sans-serif;
}
@media (min-width: 1024px) {
  .cfg-sidebar {
    width: 26.25rem;
    min-width: 26.25rem;
  }
}
@media (max-width: 1023px) {
  .cfg-sidebar {
    height: 60%;
  }
}

.cfg-scroll-box {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  min-height: 0;
}

.cfg-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.5rem;
}

.cfg-logo {
  width: 5rem;
  height: 1.25rem;
  flex-shrink: 0;
}

.cfg-title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  color: #f0efef;
}

.cfg-tab {
  display: flex;
  border-bottom: 1px solid #373938;
  padding: 0 1.5rem;
}

.cfg-tab-item {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 1rem 1.125rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  color: #b2b2b2;
  cursor: pointer;
  transition: color 0.3s;
  border-bottom: 1px solid transparent;
  margin-bottom: -1px;
}
.cfg-tab-item .cfg-tab-num {
  font-size: 0.75rem;
}
.cfg-tab-item.is-active {
  color: #fff;
  border-bottom-color: #d9d9d9;
}

.cfg-add-group {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
}

.cfg-add-btn {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.125rem;
  background-color: #101010;
  cursor: pointer;
  transition: background-color 0.2s;
}
.cfg-add-btn:first-child {
  border-bottom: 1px solid #222;
}
.cfg-add-btn:hover {
  background-color: #1a1a1a;
}

.cfg-add-icon {
  display: flex;
  align-items: center;
  padding: 0.375rem;
  border: 1px solid #373938;
  border-radius: 0.125rem;
  flex-shrink: 0;
}
.cfg-add-icon img {
  width: 1rem;
  height: 1rem;
}

.cfg-add-text {
  flex: 1;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  color: #fff;
  text-align: left;
}

.cfg-add-plus {
  flex-shrink: 0;
  width: 0.625rem;
  height: 0.625rem;
}
.cfg-add-plus img {
  width: 100%;
  height: 100%;
}

.cfg-list {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-height: 0;
}

.cfg-list-label {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6;
  color: #b2b2b2;
  padding: 0 1.5rem;
}

.cfg-list-empty {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  color: #373938;
  text-align: center;
  padding: 0 1.5rem;
}

.cfg-list-items {
  display: flex;
  flex-direction: column;
}

.cfg-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.5rem;
  background-color: #000;
  cursor: pointer;
  position: relative;
  transition: background-color 0.2s;
}
.cfg-item:hover {
  background-color: #0d0d0d;
}
.cfg-item.is-active {
  background: linear-gradient(to right, #171717, #000);
}
.cfg-item.is-active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0.125rem;
  height: 100%;
  background: linear-gradient(180deg, #71DCDF, #A7E59B, #C5EA76);
}

.cfg-item-eye {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  cursor: pointer;
}
.cfg-item-eye img {
  width: 100%;
  height: 100%;
}

.cfg-item-name {
  flex: 1;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  color: #fff;
}

.cfg-item-trash {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  cursor: pointer;
  transition: opacity 0.3s;
}
.cfg-item-trash:hover {
  opacity: 0.7;
}
.cfg-item-trash img {
  width: 100%;
  height: 100%;
}

.cfg-item-line {
  height: 1px;
  background: linear-gradient(90deg, #373938 0%, transparent 100%);
}

.cfg-tab-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.cfg-selected-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.5rem;
}

.cfg-selected-bar {
  width: 0.125rem;
  height: 1.4375rem;
  background: linear-gradient(180deg, #71DCDF, #A7E59B, #C5EA76);
  flex-shrink: 0;
}

.cfg-selected-name {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  color: #b2b2b2;
}

.cfg-settings-empty {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.5rem;
}
.cfg-settings-empty p {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  color: #373938;
}

.cfg-settings {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.cfg-settings-scroll {
  flex: 1;
  overflow-y: auto;
  padding: 1.5rem;
}

.cfg-opt-section {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.5rem 0;
}

.cfg-opt-title {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6;
  color: #b2b2b2;
}

.cfg-opt-line {
  height: 1px;
  background: #222;
}

.cfg-opt-group {
  display: flex;
  gap: 0.25rem;
}

.cfg-opt-types {
  display: flex;
  gap: 0.25rem;
}

.cfg-opt-type {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  min-width: 7.5rem;
  padding: 1rem 1.125rem;
  background-color: #101010;
  cursor: pointer;
  transition: background-color 0.2s;
}
.cfg-opt-type img {
  width: 2.25rem;
  height: 1rem;
}
.cfg-opt-type span {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  color: #b2b2b2;
  white-space: nowrap;
}
.cfg-opt-type:hover {
  background-color: #222;
}
.cfg-opt-type:hover span {
  color: #fff;
}
.cfg-opt-type.is-active {
  background-color: #222;
  border: 1px solid #373938;
}
.cfg-opt-type.is-active span {
  color: #fff;
}

.cfg-opt-nums {
  display: flex;
  gap: 0.25rem;
}

.cfg-opt-num {
  padding: 0.75rem 1.125rem;
  background-color: #101010;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  color: #b2b2b2;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.2s;
  text-align: center;
}
.cfg-opt-num:hover {
  background-color: #171717;
  color: #fff;
}
.cfg-opt-num.is-active {
  background-color: #222;
  border: 1px solid #373938;
  color: #fff;
}

.cfg-opt-colors {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.25rem;
}

.cfg-opt-steels {
  display: flex;
  gap: 0.25rem;
}

.cfg-opt-color {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.125rem;
  background-color: #101010;
  cursor: pointer;
  transition: background-color 0.2s;
}
.cfg-opt-color span:last-child {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  color: #b2b2b2;
  white-space: nowrap;
}
.cfg-opt-color:hover {
  background-color: #222;
}
.cfg-opt-color:hover span:last-child {
  color: #fff;
}
.cfg-opt-color.is-active {
  background-color: #222;
  border: 1px solid #373938;
}
.cfg-opt-color.is-active span:last-child {
  color: #fff;
}

.cfg-opt-vcolors {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.cfg-opt-steels .cfg-opt-color {
  flex: 1;
  min-width: 0;
}

.cfg-opt-swatch {
  display: flex;
  align-items: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 0.125rem;
  flex-shrink: 0;
}

.cfg-settings-apply {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 1.5rem;
  border-top: 1px solid #222;
  flex-shrink: 0;
}

.cfg-apply-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.125rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  color: #373938;
  background-color: transparent;
  border: 1px solid #373938;
  cursor: pointer;
  transition: background-color 0.2s, border-color 0.2s;
}
.cfg-apply-btn.is-dirty {
  background-color: #d9d9d9;
  border-color: #d9d9d9;
}
.cfg-apply-btn.is-dirty:hover {
  background-color: #f0efef;
  border-color: #f0efef;
}

.cfg-apply-status {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6;
}

.cfg-apply-hint {
  color: #b2b2b2;
}

.cfg-apply-sep {
  color: #b2b2b2;
}

.cfg-apply-discard {
  color: #fff;
  text-decoration: underline;
  cursor: pointer;
  transition: opacity 0.3s;
}
.cfg-apply-discard:hover {
  opacity: 0.7;
}

.cfg-page {
  display: flex;
  height: 100vh;
  overflow: hidden;
}
@media (max-width: 1023px) {
  .cfg-page {
    flex-direction: column-reverse;
  }
}

.cfg-canvas {
  flex: 1;
  background-color: #1a1a1a;
  position: relative;
}
@media (max-width: 1023px) {
  .cfg-canvas {
    height: 40%;
  }
}

.camera-box {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.5rem;
}
@media (max-width: 1023px) {
  .camera-box {
    padding: 0;
  }
}

.camera-bar {
  display: flex;
  align-items: center;
}
@media (min-width: 1024px) {
  .camera-bar {
    justify-content: space-between;
  }
}

.camera-home {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  padding: 0.75rem 1rem;
  background-color: #222;
  cursor: pointer;
}
@media (min-width: 1024px) {
  .camera-home {
    opacity: 0;
    pointer-events: none;
  }
}
.camera-home img {
  width: 1rem;
  height: 1rem;
}

.camera-btns {
  display: flex;
}
@media (max-width: 1023px) {
  .camera-btns {
    flex: 1;
  }
}

.camera-btn {
  padding: 0.75rem 1.125rem;
  background-color: #101010;
  font-family: "Noto Sans TC", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  color: #b2b2b2;
  white-space: nowrap;
  cursor: pointer;
  text-align: center;
  transition: background-color 0.2s, color 0.2s;
}
@media (max-width: 1023px) {
  .camera-btn {
    flex: 1;
    padding: 0.75rem 1rem;
  }
}
.camera-btn:hover {
  background-color: #1a1a1a;
  color: #fff;
}
.camera-btn.is-active {
  background-color: #222;
  border: 1px solid #373938;
  color: #fff;
}

.camera-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  display: none;
}
@media (min-width: 1024px) {
  .camera-actions {
    display: flex;
  }
}

.camera-back {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  color: #fff;
  text-decoration: underline;
  white-space: nowrap;
  transition: opacity 0.3s;
}
.camera-back:hover {
  opacity: 0.7;
}

.camera-export {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.125rem;
  width: 8.75rem;
  font-family: "Noto Sans TC", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  color: #373938;
  background-color: #d9d9d9;
  cursor: pointer;
  transition: opacity 0.3s;
}
.camera-export.is-disabled {
  border: 1px solid #373938;
  background-color: #000;
  color: #FFF;
  pointer-events: none;
  opacity: 0.5;
}
.camera-export.is-active:hover {
  opacity: 0.85;
}

.camera-export-m {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  padding: 0.75rem 1rem;
  width: 7.5rem;
  background-color: #d9d9d9;
  cursor: pointer;
  transition: opacity 0.3s;
}
@media (min-width: 1024px) {
  .camera-export-m {
    display: none;
  }
}
.camera-export-m img {
  width: 1rem;
  height: 1rem;
}
.camera-export-m.is-disabled {
  background-color: transparent;
  border: 1px solid #373938;
  pointer-events: none;
  opacity: 0.5;
}
.camera-export-m.is-active:hover {
  opacity: 0.85;
}

.camera-hint {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6;
  color: #fff;
  text-align: center;
}
@media (min-width: 1024px) {
  .camera-hint {
    display: none;
  }
}

.news-section {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
  background-color: #fff;
}
@media (min-width: 600px) {
  .news-section {
    padding-top: 9rem;
    padding-bottom: 9rem;
  }
}
@media (min-width: 1024px) {
  .news-section {
    padding-top: 13.875rem;
    padding-bottom: 11.25rem;
  }
}

.news-header {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.news-filter {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .news-filter {
    margin-top: 7.5rem;
  }
}

.news-filter-tabs {
  display: none;
}
@media (min-width: 1024px) {
  .news-filter-tabs {
    display: flex;
    align-items: center;
    gap: 2.5rem;
  }
}

.news-filter-tab {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1125rem;
  color: #b2b2b2;
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.3s;
}
.news-filter-tab:hover {
  color: #373938;
}
.news-filter-tab.is-active {
  color: #373938;
}

.news-filter-dropdown {
  position: relative;
}
@media (min-width: 1024px) {
  .news-filter-dropdown {
    display: none;
  }
}

.news-filter-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.75rem 0;
  cursor: pointer;
}

.news-filter-current {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1125rem;
  color: #373938;
}

.news-filter-arrow {
  display: flex;
  align-items: center;
  transition: transform 0.3s;
}
.is-open .news-filter-arrow {
  transform: rotate(180deg);
}

.news-filter-options {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #d9d9d9;
  z-index: 10;
}
.is-open .news-filter-options {
  display: flex;
  flex-direction: column;
}

.news-filter-option {
  padding: 0.75rem 1.125rem;
  font-family: "Noto Sans TC", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1125rem;
  color: #b2b2b2;
  cursor: pointer;
  text-align: left;
  transition: background-color 0.2s, color 0.2s;
}
.news-filter-option:hover {
  background-color: #f0efef;
  color: #373938;
}
.news-filter-option.is-active {
  color: #373938;
}

.news-filter-line {
  height: 1px;
  background-color: rgb(55, 57, 56);
}

.news-cards {
  margin-top: 2.5rem;
}
@media (min-width: 1024px) {
  .news-cards {
    margin-top: 3.5rem;
  }
}

.news-card {
  display: flex;
  flex-direction: column-reverse;
  gap: 1.5rem;
  padding: 2rem 0;
  border-bottom: 0.0625rem solid #373938;
}
@media (min-width: 1024px) {
  .news-card {
    flex-direction: row;
    gap: 5rem;
    padding: 3rem 0;
  }
}
.news-card:first-child {
  padding-top: 0;
}
.news-card:hover .news-card-img img {
  transform: scale(1.03);
}

.news-card-text {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  .news-card-text {
    flex: 1;
    gap: 2.5rem;
  }
}

.news-card-head {
  display: flex;
  flex-direction: column;
}

.news-card-meta {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.news-card-img {
  width: 100%;
  aspect-ratio: 650/440;
  border-radius: 0.9375rem;
  overflow: hidden;
  flex-shrink: 0;
}
@media (min-width: 1024px) {
  .news-card-img {
    flex: 1;
  }
}
.news-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s;
}

.news-card-line {
  height: 2px;
  background: linear-gradient(90deg, #71DCDF, #A7E59B, #C5EA76);
}

.news-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  margin-top: 3rem;
  padding-bottom: 1.5rem;
}
@media (min-width: 1024px) {
  .news-pagination {
    margin-top: 3.5rem;
  }
}

.news-page-arrow {
  width: 1.25rem;
  height: 1.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  flex-shrink: 0;
}
.news-page-arrow:hover {
  opacity: 0.7;
}
.news-page-arrow img, .news-page-arrow svg {
  width: 100%;
  height: 100%;
}

.news-page-nums {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.news-page-num {
  font-family: "Roboto", sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 400;
  color: #d9d9d9;
}
.news-page-num.is-active {
  color: #373938;
  border: 1px solid #f0efef;
  padding: 0.5rem 0.75rem;
}

.news-page-sep {
  font-family: "Roboto", sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 400;
  color: #d9d9d9;
}

.news-detail-section {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
  background-color: #fff;
}
@media (min-width: 600px) {
  .news-detail-section {
    padding-top: 9rem;
    padding-bottom: 9rem;
  }
}
@media (min-width: 1024px) {
  .news-detail-section {
    padding-top: 13.875rem;
    padding-bottom: 11.25rem;
  }
}

.news-detail-wrap {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  max-width: 80rem;
}
@media (min-width: 1024px) {
  .news-detail-wrap {
    gap: 3.5rem;
  }
}

.news-detail-header {
  display: flex;
  flex-direction: column;
}

.news-detail-line {
  height: 0.125rem;
  background: #373938;
}

.news-detail-share {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.news-detail-share-label {
  font-family: "Roboto", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.1125rem;
  color: #373938;
}

.news-detail-share-icons {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.news-detail-share-icon {
  display: block;
  width: 1.875rem;
  height: 1.875rem;
  transition: opacity 0.3s;
}
.news-detail-share-icon:hover {
  opacity: 0.7;
}
.news-detail-share-icon svg {
  width: 100%;
  height: 100%;
}
.news-detail-share-icon svg path {
  fill: #373938;
}

.news-detail-content {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  .news-detail-content {
    gap: 2rem;
  }
}

.news-detail-row {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  .news-detail-row {
    flex-direction: row;
    gap: 3rem;
    align-items: center;
  }
}

.news-detail-row-text {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .news-detail-row-text {
    flex: 1;
    min-width: 0;
  }
}

.news-detail-row-img {
  width: 100%;
  aspect-ratio: 779/532;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .news-detail-row-img {
    flex: 1;
    min-width: 0;
  }
}
.news-detail-row-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news-detail-images {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  .news-detail-images {
    flex-direction: row;
    gap: 1.5rem;
    height: 25.0625rem;
  }
}

.news-detail-img-left {
  width: 100%;
  aspect-ratio: 689/401;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .news-detail-img-left {
    flex: 1;
    min-width: 0;
    aspect-ratio: auto;
    height: 100%;
  }
}
.news-detail-img-left img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news-detail-img-right {
  position: relative;
  width: 100%;
  aspect-ratio: 567/401;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .news-detail-img-right {
    width: 35.4375rem;
    flex-shrink: 0;
    aspect-ratio: auto;
    height: 100%;
  }
}
.news-detail-img-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news-detail-video {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.news-detail-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.news-detail-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 4rem;
  background-color: #d9d9d9;
  font-family: "Noto Sans TC", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #373938;
  transition: opacity 0.3s;
}
.news-detail-btn:hover {
  opacity: 0.7;
}

.news-detail-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.page-products.is-locked {
  overflow: hidden;
}
.page-products.is-locked .products-hero-bg {
  height: 0;
}
.page-products:not(.is-locked) .products-hero-en,
.page-products:not(.is-locked) .products-hero-zh {
  animation-name: fadeInUp;
}
.page-products:not(.is-locked) .products-hero-3d {
  animation-name: fade;
}
.page-products:not(.is-locked) .rwd-products-hero-3d {
  opacity: 1;
}

.rwd-products-hero-3d {
  opacity: 0;
  transition: all 0.5s;
}

.products-hero-en {
  line-height: 1.2;
  letter-spacing: 0.01em;
  font-weight: 400;
}

.products-hero-bg {
  background-color: #F0EFEF;
  transition: all 0.5s;
  z-index: -1;
}

.products-hero-3d {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.products-sequence-sticky #sequence-canvas {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1/1;
  display: block;
}

@keyframes hero-bg {
  0% {
    transform: scaleY(0);
    transform-origin: top;
  }
  100% {
    transform: scaleY(1);
    transform-origin: top;
  }
}
.products-hero-en,
.products-hero-zh,
.products-hero-3d {
  opacity: 0;
  animation-duration: 1.2s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
  animation-iteration-count: 1;
}

.products-list-info-line {
  background: linear-gradient(135deg, rgb(197, 234, 118) 0%, rgb(167, 229, 155) 64%, rgb(113, 220, 223) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.products-lighting.is-show .products-lighting-lamp {
  animation-name: lighting;
}
.products-lighting.is-show .products-lighting-glow {
  animation-name: fade;
}

.products-lighting-lamp {
  opacity: 0;
  animation-duration: 1.2s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
  animation-iteration-count: 1;
}

.products-lighting-glow {
  opacity: 0;
  animation-duration: 0.1s;
  animation-fill-mode: forwards;
  animation-timing-function: ease;
  animation-iteration-count: 1;
}

@keyframes lighting {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 70%, 0);
    transform: translate3d(0, 70%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.edit-scalex-line {
  background: linear-gradient(to right, rgb(113, 220, 223) 0%, rgb(167, 229, 155) 64%, rgb(197, 234, 118) 100%);
}

.contact-block {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.contact-bg img {
  display: block;
}

.contact-overlay {
  background: linear-gradient(to right, rgba(34, 34, 34, 0.6) 0%, rgba(34, 34, 34, 0.3) 50%, rgba(34, 34, 34, 0) 100%);
}
@media (min-width: 1024px) {
  .contact-overlay {
    background: linear-gradient(to right, rgba(34, 34, 34, 0.4) 0%, rgba(34, 34, 34, 0) 55%);
  }
}

.contact-content {
  display: flex;
  flex-direction: column;
}

.contact-form {
  display: flex;
  flex-direction: column;
}

.contact-field {
  display: flex;
  flex-direction: column;
}

.contact-label {
  display: flex;
  align-items: flex-start;
}
.contact-label span:first-child {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  color: #FFF;
}

.contact-required {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: normal;
  background: linear-gradient(102deg, #71DCDF 0%, #A7E59B 65%, #C5EA76 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.contact-input {
  width: 100%;
  background-color: #f7f7f7;
  border: none;
  outline: none;
  font-family: "Noto Sans TC", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #373938;
  transition: background-color 0.3s;
}
.contact-input::placeholder {
  color: #b2b2b2;
}
.contact-input:focus {
  background-color: #FFF;
}

.contact-select-wrap {
  position: relative;
}

.contact-select {
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.contact-select:invalid {
  color: #b2b2b2;
}

.contact-select-arrow {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact-textarea {
  min-height: 10rem;
  resize: vertical;
}
@media (min-width: 1024px) {
  .contact-textarea {
    min-height: 10.625rem;
  }
}

.contact-send-content {
  justify-content: center;
  min-height: 100vh;
}

.contact-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #d9d9d9;
  font-family: "Noto Sans TC", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #373938;
  border: none;
  cursor: pointer;
  transition: all 0.5s;
}

@media (hover: hover) {
  .contact-submit span {
    transition: all 0.5s;
  }
  .contact-submit:hover {
    background-color: #F0EFEF;
    letter-spacing: 0.2rem;
  }
}