@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap");
:root {
  --swiper-theme-color: #FF0000;
}

::-moz-selection {
  background-color: #FF0000;
  color: #fff;
}

::selection {
  background-color: #FF0000;
  color: #fff;
}

@media (max-width: 575.98px) {
  html {
    font-size: 0.9rem;
  }
}

body {
  position: relative;
  line-height: 1.8;
  letter-spacing: 1px;
}

main {
  overflow: hidden;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

.bg-cover {
  background-size: cover;
  width: 100%;
  height: 0;
  display: block;
  background-position: 50% 50%;
}

svg {
  max-width: 100%;
  height: auto;
}

article {
  position: relative;
  overflow: hidden;
}

.fancybox__container {
  z-index: 9900;
}

.vr {
  opacity: 1;
  -ms-flex-item-align: auto;
      -ms-grid-row-align: auto;
      align-self: auto;
}

.left-aside-lang {
  position: sticky;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  padding: 14px 16px;
  background: #000;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.left-aside-lang a {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: block;
  text-align: center;
  padding: 8px 0;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 14px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 4px;
  -webkit-transition: color 0.2s, border-color 0.2s, background-color 0.2s;
  transition: color 0.2s, border-color 0.2s, background-color 0.2s;
}
.left-aside-lang a:hover, .left-aside-lang a.active {
  color: #fff;
  border-color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
}

.left-aside {
  width: 80%;
  max-width: 400px;
  overflow-y: auto;
  z-index: 9999;
  background: #000;
}
.left-aside .onoffcanvas-toggler {
  margin-left: auto;
  width: 1.5rem;
  height: 1.5rem;
  margin-right: 10px;
  margin-top: 10px;
  margin-bottom: 10px;
}
.left-aside ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.left-menu,
.sidebar-nav .metismenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
}
.left-menu ul,
.sidebar-nav .metismenu ul {
  padding-left: 1rem;
}
.left-menu ul,
.sidebar-nav .metismenu ul {
  position: relative;
}
.left-menu ul:before,
.sidebar-nav .metismenu ul:before {
  content: "";
  display: block;
  visibility: hidden;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0.1;
  z-index: -1;
  left: 0;
  top: 0;
  position: absolute;
}
.left-menu ul[class*=mm-col]:before,
.sidebar-nav .metismenu ul[class*=mm-col]:before {
  visibility: visible;
}
.left-menu > li,
.sidebar-nav .metismenu > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
.left-menu > li:first-child::before,
.sidebar-nav .metismenu > li:first-child::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  left: 0;
  top: 0;
  opacity: 0.5;
}
.left-menu > li:first-child,
.sidebar-nav .metismenu > li:first-child {
  margin-top: 5px;
}
.left-menu > li:after,
.sidebar-nav .metismenu > li:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  left: 0;
  bottom: 0;
  opacity: 0.5;
}
.left-menu li,
.sidebar-nav .metismenu li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
.left-menu li:first-child,
.sidebar-nav .metismenu li:first-child {
  margin-top: 5px;
}
.left-menu li:last-child,
.sidebar-nav .metismenu li:last-child {
  margin-bottom: 5px;
}
.left-menu a,
.sidebar-nav .metismenu a {
  display: block;
  position: relative;
  padding: 0.8rem;
  outline: 0;
  text-decoration: none;
  color: #fff;
}
.left-menu a[href="#"] .arrows, .left-menu a[href=""] .arrows,
.sidebar-nav .metismenu a[href="#"] .arrows,
.sidebar-nav .metismenu a[href=""] .arrows {
  display: none;
}
.left-menu a[href="#"] .arrows:before, .left-menu a[href=""] .arrows:before,
.sidebar-nav .metismenu a[href="#"] .arrows:before,
.sidebar-nav .metismenu a[href=""] .arrows:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.left-menu a:hover,
.sidebar-nav .metismenu a:hover {
  color: #fff;
}
.left-menu a:focus,
.sidebar-nav .metismenu a:focus {
  color: #fff;
}
.left-menu a:active,
.sidebar-nav .metismenu a:active {
  color: #fff;
}
.left-menu a.has-submenu,
.sidebar-nav .metismenu a.has-submenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-right: 0;
}
.left-menu a.has-submenu span,
.sidebar-nav .metismenu a.has-submenu span {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.left-menu a.has-submenu .arrows,
.sidebar-nav .metismenu a.has-submenu .arrows {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 3.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.left-menu a.has-submenu .arrows:after,
.sidebar-nav .metismenu a.has-submenu .arrows:after {
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  display: block;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.left-menu a.has-submenu .arrows[aria-expanded=true]:after,
.sidebar-nav .metismenu a.has-submenu .arrows[aria-expanded=true]:after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.left-menu ul,
.sidebar-nav .metismenu ul {
  padding-left: 1rem;
}
.sidebar-nav ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.onoffcanvas-drawer.is-open {
  background: rgba(0, 0, 0, 0.5);
  z-index: 9998;
}

.onoffcanvas-toggler {
  min-width: auto;
  min-height: auto;
  width: 2rem;
  height: 2rem;
  display: block;
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9000;
}
.site-header.is-scrolled .navbar, .site-header.active .navbar {
  background-color: #fff;
  -webkit-box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
  color: #231815;
  -webkit-transition: background-color 0.3s, -webkit-box-shadow 0.3s;
  transition: background-color 0.3s, -webkit-box-shadow 0.3s;
  transition: background-color 0.3s, box-shadow 0.3s;
  transition: background-color 0.3s, box-shadow 0.3s, -webkit-box-shadow 0.3s;
}
.site-header.is-scrolled .navbar .nav-link, .site-header.active .navbar .nav-link {
  color: #231815 !important;
}
.site-header.is-scrolled .navbar .navbar-logo-text, .site-header.active .navbar .navbar-logo-text {
  -webkit-filter: brightness(0);
          filter: brightness(0);
}
.site-header.is-scrolled .navbar .nav-search-btn, .site-header.active .navbar .nav-search-btn {
  color: #231815 !important;
}
.site-header.is-scrolled .navbar .nav-search-btn:hover, .site-header.active .navbar .nav-search-btn:hover {
  opacity: 0.6;
}
.site-header.is-scrolled .navbar .lang-switcher .lang-toggle, .site-header.active .navbar .lang-switcher .lang-toggle {
  color: #231815 !important;
  border-color: rgba(35, 24, 21, 0.35);
}
.site-header.is-scrolled .navbar .lang-switcher .lang-toggle:hover, .site-header.active .navbar .lang-switcher .lang-toggle:hover {
  border-color: #231815;
}

.navbar {
  -webkit-transition: background-color 0.3s, color 0.3s, -webkit-box-shadow 0.3s;
  transition: background-color 0.3s, color 0.3s, -webkit-box-shadow 0.3s;
  transition: background-color 0.3s, box-shadow 0.3s, color 0.3s;
  transition: background-color 0.3s, box-shadow 0.3s, color 0.3s, -webkit-box-shadow 0.3s;
}

.navbar {
  position: relative;
  color: #fff;
}
.navbar .navbar-brand .navbar-logo-text {
  height: 40px;
  width: auto;
  margin-left: 10px;
  -webkit-transition: -webkit-filter 0.3s;
  transition: -webkit-filter 0.3s;
  transition: filter 0.3s;
  transition: filter 0.3s, -webkit-filter 0.3s;
}
@media (max-width: 991.98px) {
  .navbar .navbar-brand {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .navbar .navbar-brand .navbar-logo-img {
    height: 36px;
    width: auto;
  }
  .navbar .navbar-brand .navbar-logo-text {
    height: 24px;
  }
}
.navbar .navbar-nav .nav-item {
  margin-left: 1rem;
  margin-right: 0;
}
@media (min-width: 992px) {
  .navbar .navbar-nav .nav-item.dropdown:hover > .dropdown-menu {
    display: block;
  }
}
.navbar .navbar-nav .nav-item .nav-link {
  display: block;
  color: #fff;
  font-weight: bold;
}
.navbar .navbar-nav .nav-item .nav-link span {
  display: block;
  padding-top: 2rem;
  padding-bottom: 2rem;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 3px;
  text-underline-offset: 6px;
  -webkit-transition: text-decoration-color 0.3s;
  transition: text-decoration-color 0.3s;
}
.navbar .navbar-nav .nav-item:hover, .navbar .navbar-nav .nav-item.active {
  color: #fff;
}
.navbar .navbar-nav .nav-item:hover .nav-link, .navbar .navbar-nav .nav-item.active .nav-link {
  color: #fff;
}
.navbar .navbar-nav .nav-item:hover .nav-link span, .navbar .navbar-nav .nav-item.active .nav-link span {
  text-decoration-color: #FF0000;
}
@media (max-width: 1440px) {
  .navbar .navbar-nav .nav-item .nav-link {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
}

.navbar-nav .dropdown-menu {
  min-width: 140px;
  padding: 8px 0;
  border: none;
  border-radius: 0;
  -webkit-box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.12);
          box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.12);
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.navbar-nav .dropdown-menu .dropdown-item {
  padding: 10px 24px;
  font-size: 14px;
  font-weight: 500;
  color: #231815;
  text-align: center;
  -webkit-transition: color 0.2s, background-color 0.2s;
  transition: color 0.2s, background-color 0.2s;
}
.navbar-nav .dropdown-menu .dropdown-item:hover, .navbar-nav .dropdown-menu .dropdown-item.active {
  background-color: #FF0000;
  color: #fff;
}

.nav-right .lang {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.nav-right .lang a {
  display: block;
  border-radius: 5px;
  border: 1px solid #000;
  color: inherit;
  width: 2.3rem;
  padding-top: 5px;
  padding-bottom: 5px;
  text-align: center;
}
.nav-right .lang a:hover {
  background-color: #FF0000;
  color: #fff;
}
.nav-right .lang a.active {
  color: #fff;
  background-color: #000;
}
.nav-right .lang a + a {
  margin-left: -5px;
}

.nav-search-btn {
  color: #fff;
  font-size: 16px;
  text-decoration: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.nav-search-btn:hover {
  color: #fff;
  opacity: 0.7;
}
@media (min-width: 992px) {
  .nav-search-btn {
    margin-left: 2rem;
    margin-right: 2rem;
  }
}

.lang-switcher {
  position: relative;
}
.lang-switcher .lang-toggle {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 50px;
  padding: 5px 14px;
  font-size: 14px;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  -webkit-transition: border-color 0.3s, color 0.3s;
  transition: border-color 0.3s, color 0.3s;
}
.lang-switcher .lang-toggle::after {
  display: none;
}
.lang-switcher .lang-toggle:hover {
  border-color: #fff;
  color: #fff;
}
.lang-switcher .lang-dropdown {
  min-width: 90px;
  padding: 6px 0;
  border: none;
  border-radius: 4px;
  -webkit-box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.12);
          box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.12);
  text-align: center;
}
.lang-switcher .lang-dropdown .dropdown-item {
  font-size: 14px;
  padding: 8px 16px;
  color: #231815;
  -webkit-transition: background-color 0.2s, color 0.2s;
  transition: background-color 0.2s, color 0.2s;
}
.lang-switcher .lang-dropdown .dropdown-item:hover, .lang-switcher .lang-dropdown .dropdown-item.active {
  background-color: #FF0000;
  color: #fff;
}

.search-panel {
  width: min(680px, 90vw);
}
.search-panel__inner {
  padding: 10px 0;
}
.search-panel__label {
  display: block;
  font-size: 13px;
  color: #707070;
  margin-bottom: 12px;
  letter-spacing: 0.1em;
}
.search-panel__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 2px solid #FF0000;
  border-radius: 4px;
  overflow: hidden;
}
.search-panel__input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 14px 20px;
  font-size: 16px;
  border: none;
  outline: none;
  background: transparent;
  color: #231815;
}
.search-panel__input::-webkit-input-placeholder {
  color: #C8C9CA;
}
.search-panel__input::-moz-placeholder {
  color: #C8C9CA;
}
.search-panel__input:-ms-input-placeholder {
  color: #C8C9CA;
}
.search-panel__input::-ms-input-placeholder {
  color: #C8C9CA;
}
.search-panel__input::placeholder {
  color: #C8C9CA;
}
.search-panel__btn {
  padding: 0 24px;
  background: #FF0000;
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 18px;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
.search-panel__btn:hover {
  background: rgb(214.2, 0, 0);
}

.mega-menu {
  display: none;
  background: #fff;
  -webkit-box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.15);
}
.mega-menu .container {
  padding-top: 60px;
  padding-bottom: 60px;
}

.solution-mega-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}
.solution-mega-menu .mega-item {
  width: 20%;
  padding: 0 0 0 10px;
}
.solution-mega-menu .mega-item:not(:nth-child(5n+1)) {
  border-left: 1px solid #E8E8E8;
}
.solution-mega-menu .mega-item:nth-child(n+6) {
  margin-top: 40px;
}
.solution-mega-menu .mega-item .mega-title {
  display: block;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
  color: #231815;
  text-decoration: none;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.solution-mega-menu .mega-item .mega-title:hover {
  color: #FF0000;
}
.solution-mega-menu .mega-item ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.solution-mega-menu .mega-item ul li a {
  display: block;
  font-size: 14px;
  color: #707070;
  padding: 3px 0;
  text-decoration: none;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.solution-mega-menu .mega-item ul li a:hover {
  color: #FF0000;
}
@media (max-width: 991.98px) {
  .solution-mega-menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .solution-mega-menu .mega-item {
    width: 100%;
    padding: 10px 0 !important;
    border-left: none !important;
    border-top: 1px solid #E8E8E8;
    margin-top: 0 !important;
  }
  .solution-mega-menu .mega-item:first-child {
    border-top: none;
    padding-top: 0 !important;
  }
}

.loader-mesk {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: #fff;
  z-index: 9998;
}
.loader-mesk.finish {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100vw;
  height: 100vh;
  background: #fff;
  opacity: 1;
  z-index: 9999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.preloader .preloader_inner {
  display: inline-block;
  position: relative;
  overflow: hidden;
}
.preloader .mesk {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: rgba(255, 255, 255, 0.8);
}

.swiper-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background-color: #C41A1A;
  opacity: 1;
  outline: none;
}
.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #FF0000;
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  cursor: pointer;
  z-index: 1000;
  width: auto;
  height: auto;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin: 0;
  outline: none;
  background: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #fff;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.5;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: none;
}
.swiper-button-prev:hover,
.swiper-button-next:hover {
  background-color: #FF0000;
  color: #fff;
}
.swiper-button-prev:after,
.swiper-button-next:after {
  display: none;
}
.swiper-button-prev svg,
.swiper-button-next svg {
  height: 1em;
  width: auto;
}

.slider-small .swiper-slide {
  cursor: pointer;
}
.slider-small .swiper-slide:hover, .slider-small .swiper-slide.swiper-slide-thumb-active {
  opacity: 0.5;
}

/*!
 * Lavalamp 
 * https://lavalamp.magicmediamuse.com/
 */
.lavalamp {
  position: relative;
}
.lavalamp__item {
  z-index: 5;
  position: relative;
}
.lavalamp__object {
  position: absolute;
  top: 0;
  left: 0;
}
.lavalamp__object:before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27' height='15' viewBox='0 0 27 15'%3E%3Cg id='组_19' data-name='组 19' transform='translate(-894.967 -22.001)'%3E%3Ccircle id='椭圆_1' data-name='椭圆 1' cx='7.5' cy='7.5' r='7.5' transform='translate(894.967 22.001)' fill='%23cea614'/%3E%3Ccircle id='椭圆_2' data-name='椭圆 2' cx='7.5' cy='7.5' r='7.5' transform='translate(906.967 22.001)' fill='%231936c0'/%3E%3C/g%3E%3C/svg%3E%0A");
  display: inline-block;
  left: 50%;
  top: 1rem;
  margin: auto;
  position: relative;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.lavalamp__object {
  /**
   * Custom easing transitions
   */
  -webkit-transition-property: -webkit-transform, width, height;
  -webkit-transition-property: width, height, -webkit-transform;
  transition-property: width, height, -webkit-transform;
  transition-property: transform, width, height;
  transition-property: transform, width, height, -webkit-transform;
}
.lavalamp__object.ease {
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
.lavalamp__object.ease-in {
  -webkit-transition-timing-function: ease-in;
  transition-timing-function: ease-in;
}
.lavalamp__object.ease-out {
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.lavalamp__object.ease-in-out {
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
}
.lavalamp__object.linear {
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
}
.lavalamp__object.easeInQuad {
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
.lavalamp__object.easeInCubic {
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.lavalamp__object.easeInQuart {
  -webkit-transition-timing-function: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition-timing-function: cubic-bezier(0.895, 0.03, 0.685, 0.22);
}
.lavalamp__object.easeInQuint {
  -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
}
.lavalamp__object.easeInSine {
  -webkit-transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
  transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
}
.lavalamp__object.easeInExpo {
  -webkit-transition-timing-function: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  transition-timing-function: cubic-bezier(0.95, 0.05, 0.795, 0.035);
}
.lavalamp__object.easeInCirc {
  -webkit-transition-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  transition-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.335);
}
.lavalamp__object.easeInBack {
  -webkit-transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
}
.lavalamp__object.easeOutQuad {
  -webkit-transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.lavalamp__object.easeOutCubic {
  -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);
}
.lavalamp__object.easeOutQuart {
  -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}
.lavalamp__object.easeOutQuint {
  -webkit-transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
  transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
.lavalamp__object.easeOutSine {
  -webkit-transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
}
.lavalamp__object.easeOutExpo {
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.lavalamp__object.easeOutCirc {
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.lavalamp__object.easeOutBack {
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.lavalamp__object.easeInOutQuad {
  -webkit-transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.lavalamp__object.easeInOutCubic {
  -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}
.lavalamp__object.easeInOutQuart {
  -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}
.lavalamp__object.easeInOutQuint {
  -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
}
.lavalamp__object.easeInOutSine {
  -webkit-transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.lavalamp__object.easeInOutExpo {
  -webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
  transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
.lavalamp__object.easeInOutCirc {
  -webkit-transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.lavalamp__object.easeInOutBack {
  -webkit-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

:root {
  --fa-from--zoom: 0;
  --fa-to--zoom: 1;
  --fa-start--zoom: 0;
  --fa-end--zoom: 1;
  --fa-from--fade: 0;
  --fa-to--fade: 1;
  --fa-start--fade: 0;
  --fa-end--fade: 1;
  --fa-from--left-right: 0;
  --fa-to--left-right: 1;
  --fa-start--left-right: 0;
  --fa-end--left-right: 1;
  --fa-from--right-left: 0;
  --fa-to--right-left: 1;
  --fa-start--right-left: 0;
  --fa-end--right-left: 1;
  --fa-from--top-bottom: 0;
  --fa-to--top-bottom: 1;
  --fa-start--top-bottom: 0;
  --fa-end--top-bottom: 1;
  --fa-from--bottom-top: 0;
  --fa-to--bottom-top: 1;
  --fa-start--bottom-top: 0;
  --fa-end--bottom-top: 1;
  --fa-from--sweep-btt: 0;
  --fa-to--sweep-btt: 1;
  --fa-start--sweep-btt: 0;
  --fa-end--sweep-btt: 1;
  --fa-from--sweep-ttb: 0;
  --fa-to--sweep-ttb: 1;
  --fa-start--sweep-ttb: 0;
  --fa-end--sweep-ttb: 1;
  --fa-from--sweep-ltr: 0;
  --fa-to--sweep-ltr: 1;
  --fa-start--sweep-ltr: 0;
  --fa-end--sweep-ltr: 1;
  --fa-from--sweep-rtl: 0;
  --fa-to--sweep-rtl: 1;
  --fa-start--sweep-rtl: 0;
  --fa-end--sweep-rtl: 1;
  --fa-from--sweep-center-h: 0;
  --fa-to--sweep-center-h: 1;
  --fa-start--sweep-center-h: 0;
  --fa-end--sweep-center-h: 1;
  --fa-from--sweep-center-v: 0;
  --fa-to--sweep-center-v: 1;
  --fa-start--sweep-center-v: 0;
  --fa-end--sweep-center-v: 1;
  --fa-from--circle: 0;
  --fa-to--circle: 1;
  --fa-start--circle: 0;
  --fa-end--circle: 1;
  --fa-from--circle-tl: 0;
  --fa-to--circle-tl: 1;
  --fa-start--circle-tl: 0;
  --fa-end--circle-tl: 1;
  --fa-from--circle-tr: 0;
  --fa-to--circle-tr: 1;
  --fa-start--circle-tr: 0;
  --fa-end--circle-tr: 1;
  --fa-from--circle-bl: 0;
  --fa-to--circle-bl: 1;
  --fa-start--circle-bl: 0;
  --fa-end--circle-bl: 1;
  --fa-from--circle-br: 0;
  --fa-to--circle-br: 1;
  --fa-start--circle-br: 0;
  --fa-end--circle-br: 1;
  --fa-from--blinds-h: 0;
  --fa-to--blinds-h: 1;
  --fa-start--blinds-h: 0;
  --fa-end--blinds-h: 1;
  --fa-from--rotate: 0;
  --fa-to--rotate: 1;
  --fa-start--rotate: 0;
  --fa-end--rotate: 1;
  --fa-from--text-reveal: 0;
  --fa-to--text-reveal: 1;
  --fa-start--text-reveal: 0;
  --fa-end--text-reveal: 1;
  --fa-from--text-reveal-white: 0;
  --fa-to--text-reveal-white: 1;
  --fa-start--text-reveal-white: 0;
  --fa-end--text-reveal-white: 1;
  --fa-from--custom: 0;
  --fa-to--custom: 1;
  --fa-start--custom: 0;
  --fa-end--custom: 1;
  --fba-delay: 0.1s;
  --fba-duration: 1s;
  --fba-duration-text: 1;
}

.fa--custom {
  --fa-scaled--custom: clamp(var(--fa-from--custom), calc((var(--fa-percent) - var(--fa-start--custom)) / (var(--fa-end--custom) - var(--fa-start--custom)) * (var(--fa-to--custom) - var(--fa-from--custom)) + var(--fa-from--custom)), var(--fa-to--custom));
}

.fa--custom.fa--reverse {
  --fa-progress: calc((var(--fa-percent) - var(--fa-start--custom)) / (var(--fa-end--custom) - var(--fa-start--custom)));
  --fa-reverse-progress: calc(1 - (var(--fa-progress) * 2 - 1) * (var(--fa-progress) * 2 - 1));
  --fa-scaled--custom: clamp(var(--fa-from--custom), calc(var(--fa-from--custom) + (var(--fa-to--custom) - var(--fa-from--custom)) * var(--fa-reverse-progress)), var(--fa-to--custom));
}

.fa--custom:not(.fa--custom--inv) {
  --fa-scroll--custom: var(--fa-scaled--custom);
}

.fa--custom.fa--custom--inv {
  --fa-scroll--custom: calc((var(--fa-scaled--custom) - 1) * -1);
}

.fa--custom--from-5:not(.fa--custom--inv) {
  --fa-from--custom: .05;
}

.fa--custom--from-5.fa--custom--inv {
  --fa-to--custom: .95;
}

.fa--custom--to-5:not(.fa--custom--inv) {
  --fa-to--custom: .05;
}

.fa--custom--to-5.fa--custom--inv {
  --fa-from--custom: .95;
}

.fa--custom--from-10:not(.fa--custom--inv) {
  --fa-from--custom: .1;
}

.fa--custom--from-10.fa--custom--inv {
  --fa-to--custom: .9;
}

.fa--custom--to-10:not(.fa--custom--inv) {
  --fa-to--custom: .1;
}

.fa--custom--to-10.fa--custom--inv {
  --fa-from--custom: .9;
}

.fa--custom--from-15:not(.fa--custom--inv) {
  --fa-from--custom: .15;
}

.fa--custom--from-15.fa--custom--inv {
  --fa-to--custom: .85;
}

.fa--custom--to-15:not(.fa--custom--inv) {
  --fa-to--custom: .15;
}

.fa--custom--to-15.fa--custom--inv {
  --fa-from--custom: .85;
}

.fa--custom--from-20:not(.fa--custom--inv) {
  --fa-from--custom: .2;
}

.fa--custom--from-20.fa--custom--inv {
  --fa-to--custom: .8;
}

.fa--custom--to-20:not(.fa--custom--inv) {
  --fa-to--custom: .2;
}

.fa--custom--to-20.fa--custom--inv {
  --fa-from--custom: .8;
}

.fa--custom--from-25:not(.fa--custom--inv) {
  --fa-from--custom: .25;
}

.fa--custom--from-25.fa--custom--inv {
  --fa-to--custom: .75;
}

.fa--custom--to-25:not(.fa--custom--inv) {
  --fa-to--custom: .25;
}

.fa--custom--to-25.fa--custom--inv {
  --fa-from--custom: .75;
}

.fa--custom--from-30:not(.fa--custom--inv) {
  --fa-from--custom: .3;
}

.fa--custom--from-30.fa--custom--inv {
  --fa-to--custom: .7;
}

.fa--custom--to-30:not(.fa--custom--inv) {
  --fa-to--custom: .3;
}

.fa--custom--to-30.fa--custom--inv {
  --fa-from--custom: .7;
}

.fa--custom--from-35:not(.fa--custom--inv) {
  --fa-from--custom: .35;
}

.fa--custom--from-35.fa--custom--inv {
  --fa-to--custom: .65;
}

.fa--custom--to-35:not(.fa--custom--inv) {
  --fa-to--custom: .35;
}

.fa--custom--to-35.fa--custom--inv {
  --fa-from--custom: .65;
}

.fa--custom--from-40:not(.fa--custom--inv) {
  --fa-from--custom: .4;
}

.fa--custom--from-40.fa--custom--inv {
  --fa-to--custom: .6;
}

.fa--custom--to-40:not(.fa--custom--inv) {
  --fa-to--custom: .4;
}

.fa--custom--to-40.fa--custom--inv {
  --fa-from--custom: .6;
}

.fa--custom--from-45:not(.fa--custom--inv) {
  --fa-from--custom: .45;
}

.fa--custom--from-45.fa--custom--inv {
  --fa-to--custom: .55;
}

.fa--custom--to-45:not(.fa--custom--inv) {
  --fa-to--custom: .45;
}

.fa--custom--to-45.fa--custom--inv {
  --fa-from--custom: .55;
}

.fa--custom--from-50:not(.fa--custom--inv) {
  --fa-from--custom: .5;
}

.fa--custom--from-50.fa--custom--inv,
.fa--custom--to-50:not(.fa--custom--inv) {
  --fa-to--custom: .5;
}

.fa--custom--to-50.fa--custom--inv {
  --fa-from--custom: .5;
}

.fa--custom--end-50 {
  --fa-end--custom: .5;
}

.fa--custom--from-55:not(.fa--custom--inv) {
  --fa-from--custom: .55;
}

.fa--custom--from-55.fa--custom--inv {
  --fa-to--custom: .45;
}

.fa--custom--to-55:not(.fa--custom--inv) {
  --fa-to--custom: .55;
}

.fa--custom--to-55.fa--custom--inv {
  --fa-from--custom: .45;
}

.fa--custom--from-60:not(.fa--custom--inv) {
  --fa-from--custom: .6;
}

.fa--custom--from-60.fa--custom--inv {
  --fa-to--custom: .4;
}

.fa--custom--to-60:not(.fa--custom--inv) {
  --fa-to--custom: .6;
}

.fa--custom--to-60.fa--custom--inv {
  --fa-from--custom: .4;
}

.fa--custom--from-65:not(.fa--custom--inv) {
  --fa-from--custom: .65;
}

.fa--custom--from-65.fa--custom--inv {
  --fa-to--custom: .35;
}

.fa--custom--to-65:not(.fa--custom--inv) {
  --fa-to--custom: .65;
}

.fa--custom--to-65.fa--custom--inv {
  --fa-from--custom: .35;
}

.fa--custom--from-70:not(.fa--custom--inv) {
  --fa-from--custom: .7;
}

.fa--custom--from-70.fa--custom--inv {
  --fa-to--custom: .3;
}

.fa--custom--to-70:not(.fa--custom--inv) {
  --fa-to--custom: .7;
}

.fa--custom--to-70.fa--custom--inv {
  --fa-from--custom: .3;
}

.fa--custom--from-75:not(.fa--custom--inv) {
  --fa-from--custom: .75;
}

.fa--custom--from-75.fa--custom--inv {
  --fa-to--custom: .25;
}

.fa--custom--to-75:not(.fa--custom--inv) {
  --fa-to--custom: .75;
}

.fa--custom--to-75.fa--custom--inv {
  --fa-from--custom: .25;
}

.fa--custom--from-80:not(.fa--custom--inv) {
  --fa-from--custom: .8;
}

.fa--custom--from-80.fa--custom--inv {
  --fa-to--custom: .2;
}

.fa--custom--to-80:not(.fa--custom--inv) {
  --fa-to--custom: .8;
}

.fa--custom--to-80.fa--custom--inv {
  --fa-from--custom: .2;
}

.fa--custom--from-85:not(.fa--custom--inv) {
  --fa-from--custom: .85;
}

.fa--custom--from-85.fa--custom--inv {
  --fa-to--custom: .15;
}

.fa--custom--to-85:not(.fa--custom--inv) {
  --fa-to--custom: .85;
}

.fa--custom--to-85.fa--custom--inv {
  --fa-from--custom: .15;
}

.fa--custom--from-90:not(.fa--custom--inv) {
  --fa-from--custom: .9;
}

.fa--custom--from-90.fa--custom--inv {
  --fa-to--custom: .1;
}

.fa--custom--to-90:not(.fa--custom--inv) {
  --fa-to--custom: .9;
}

.fa--custom--to-90.fa--custom--inv {
  --fa-from--custom: .1;
}

.fa--custom--from-95:not(.fa--custom--inv) {
  --fa-from--custom: .95;
}

.fa--custom--from-95.fa--custom--inv {
  --fa-to--custom: .05;
}

.fa--custom--to-95:not(.fa--custom--inv) {
  --fa-to--custom: .95;
}

.fa--custom--to-95.fa--custom--inv {
  --fa-from--custom: .05;
}

.fb-word span {
  --fa-delay-text: calc(var(--fa-t) * var(--fba-duration-text) / 3.5 + var(--fba-delay));
  -webkit-animation-delay: var(--fa-delay-text);
          animation-delay: var(--fa-delay-text);
  -webkit-animation-duration: calc(var(--fba-duration) / 3);
          animation-duration: calc(var(--fba-duration) / 3);
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-transform-origin: left;
          transform-origin: left;
  opacity: 0;
  display: inline-block;
}

@-webkit-keyframes fb-anim--visible {
  to {
    opacity: 1;
  }
}

@keyframes fb-anim--visible {
  to {
    opacity: 1;
  }
}
[data-aos=text-fade] .fb-word > span {
  opacity: 0;
}
[data-aos=text-fade].aos-animate .fb-word > span {
  -webkit-animation-name: fa-text-fade;
          animation-name: fa-text-fade;
}

@-webkit-keyframes fa-text-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fa-text-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
[data-aos=text-blur] .fb-word > span {
  -webkit-filter: blur(10px);
          filter: blur(10px);
}
[data-aos=text-blur].aos-animate .fb-word > span {
  -webkit-animation-name: fa-text-blur, fb-anim--visible;
          animation-name: fa-text-blur, fb-anim--visible;
}

@-webkit-keyframes fa-text-blur {
  0% {
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
  }
}

@keyframes fa-text-blur {
  0% {
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
  }
}
[data-aos=text-flip-x] .fb-word > span {
  -webkit-transform: rotateX(180deg);
          transform: rotateX(180deg);
}
[data-aos=text-flip-x].aos-animate .fb-word > span {
  -webkit-animation-name: fa-text-flip-x, fb-anim--visible;
          animation-name: fa-text-flip-x, fb-anim--visible;
}

@-webkit-keyframes fa-text-flip-x {
  0% {
    -webkit-transform: rotateX(180deg);
            transform: rotateX(180deg);
  }
  100% {
    -webkit-transform: rotateX(0deg);
            transform: rotateX(0deg);
  }
}

@keyframes fa-text-flip-x {
  0% {
    -webkit-transform: rotateX(180deg);
            transform: rotateX(180deg);
  }
  100% {
    -webkit-transform: rotateX(0deg);
            transform: rotateX(0deg);
  }
}
[data-aos=text-flip-y] .fb-word > span {
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg);
}
[data-aos=text-flip-y].aos-animate .fb-word > span {
  -webkit-animation-name: fa-text-flip-y, fb-anim--visible;
          animation-name: fa-text-flip-y, fb-anim--visible;
}

@-webkit-keyframes fa-text-flip-y {
  0% {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg);
  }
  100% {
    -webkit-transform: rotateY(0deg);
            transform: rotateY(0deg);
  }
}

@keyframes fa-text-flip-y {
  0% {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg);
  }
  100% {
    -webkit-transform: rotateY(0deg);
            transform: rotateY(0deg);
  }
}
[data-aos=zoom-in] .fb-word > span {
  -webkit-transform: scale(0);
          transform: scale(0);
}
[data-aos=zoom-in].aos-animate .fb-word > span {
  -webkit-animation-name: fa-zoom-in, fb-anim--visible;
          animation-name: fa-zoom-in, fb-anim--visible;
}

@-webkit-keyframes fa-zoom-in {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes fa-zoom-in {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
[data-aos=zoom-out] .fb-word > span {
  -webkit-transform: scale(2);
          transform: scale(2);
}
[data-aos=zoom-out].aos-animate .fb-word > span {
  -webkit-animation-name: fa-zoom-out, fb-anim--visible;
          animation-name: fa-zoom-out, fb-anim--visible;
}

@-webkit-keyframes fa-zoom-out {
  0% {
    -webkit-transform: scale(2);
            transform: scale(2);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes fa-zoom-out {
  0% {
    -webkit-transform: scale(2);
            transform: scale(2);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
[data-aos=slide-down] .fb-word > span {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
[data-aos=slide-down].aos-animate .fb-word > span {
  -webkit-animation-name: fa-slide-down, fb-anim--visible;
          animation-name: fa-slide-down, fb-anim--visible;
}

@-webkit-keyframes fa-slide-down {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fa-slide-down {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
[data-aos=slide-up] .fb-word > span {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
[data-aos=slide-up].aos-animate .fb-word > span {
  -webkit-animation-name: fa-slide-up, fb-anim--visible;
          animation-name: fa-slide-up, fb-anim--visible;
}

@-webkit-keyframes fa-slide-up {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fa-slide-up {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.fa--mouse-3d {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}

.fa--mouse-3d-wrapper:not(:hover) .fa--mouse-3d:not(.fa--mouse--bounce) {
  -webkit-transition: all 0.35s, -webkit-transform 0.3s 0.1s !important;
  transition: all 0.35s, -webkit-transform 0.3s 0.1s !important;
  transition: all 0.35s, transform 0.3s 0.1s !important;
  transition: all 0.35s, transform 0.3s 0.1s, -webkit-transform 0.3s 0.1s !important;
}

.fa--mouse-3d-wrapper:hover .fa--mouse-3d:not(.fa--mouse--bounce) {
  -webkit-transition: all 0.35s, -webkit-transform 0.1s !important;
  transition: all 0.35s, -webkit-transform 0.1s !important;
  transition: all 0.35s, transform 0.1s !important;
  transition: all 0.35s, transform 0.1s, -webkit-transform 0.1s !important;
}

.fa--mouse-3d {
  --fa-factor-x: 1.25deg;
  --fa-factor-y: 1.25deg;
  -webkit-transform: rotateX(calc(var(--fa-mouse-x) * var(--fa-factor-x))) rotateY(calc(var(--fa-mouse-y) * var(--fa-factor-y)));
          transform: rotateX(calc(var(--fa-mouse-x) * var(--fa-factor-x))) rotateY(calc(var(--fa-mouse-y) * var(--fa-factor-y)));
}

.fa--mouse-3d__inner {
  -webkit-transform: translatez(100px) scale(0.85);
          transform: translatez(100px) scale(0.85);
}

.fa--mouse-move:not(.fa--mouse--bounce):not(:hover) {
  -webkit-transition: all 0.35s, -webkit-transform 0.3s 0.1s !important;
  transition: all 0.35s, -webkit-transform 0.3s 0.1s !important;
  transition: all 0.35s, transform 0.3s 0.1s !important;
  transition: all 0.35s, transform 0.3s 0.1s, -webkit-transform 0.3s 0.1s !important;
}

.fa--mouse-move:not(.fa--mouse--bounce):hover {
  -webkit-transition: all 0.35s, -webkit-transform 0.1s !important;
  transition: all 0.35s, -webkit-transform 0.1s !important;
  transition: all 0.35s, transform 0.1s !important;
  transition: all 0.35s, transform 0.1s, -webkit-transform 0.1s !important;
}

.fa--mouse-move {
  --fa-factor-x: .25px;
  --fa-factor-y: .25px;
  -webkit-transform: translate(calc(var(--fa-mouse-x) * var(--fa-factor-x)), calc(var(--fa-mouse-y) * var(--fa-factor-y)));
          transform: translate(calc(var(--fa-mouse-x) * var(--fa-factor-x)), calc(var(--fa-mouse-y) * var(--fa-factor-y)));
}

[class*=fb-hover],
[class*=fb-hover]:after,
[class^=fb-hover],
[class^=fb-hover]:after {
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  -webkit-transition-property: all;
  transition-property: all;
}

[class*=fb-hover]:hover,
[class*=fb-hover]:hover:after,
[class^=fb-hover]:hover,
[class^=fb-hover]:hover:after {
  -webkit-animation-delay: 0s !important;
          animation-delay: 0s !important;
  -webkit-animation-duration: 0.7s;
          animation-duration: 0.7s;
}

.fb-hover:hover {
  -webkit-animation-name: fb-hover;
          animation-name: fb-hover;
}

.hover-primary {
  --fba-primary: #FF0000;
}

.hover-primary2 {
  --fba-primary: #C41A1A;
}

.hover-primary3 {
  --fba-primary: #4c4c4c;
}

.hover-c1 {
  --fba-primary: #231815;
}

.hover-c2 {
  --fba-primary: #060505;
}

.hover-c3 {
  --fba-primary: #C8C9CA;
}

.hover-c4 {
  --fba-primary: #707070;
}

@-webkit-keyframes fb-hover {
  0% {
    -webkit-box-shadow: 0 0 0 0 var(--fba-primary);
            box-shadow: 0 0 0 0 var(--fba-primary);
  }
  to {
    -webkit-box-shadow: 0 0 0 3em transparent;
            box-shadow: 0 0 0 3em transparent;
  }
}

@keyframes fb-hover {
  0% {
    -webkit-box-shadow: 0 0 0 0 var(--fba-primary);
            box-shadow: 0 0 0 0 var(--fba-primary);
  }
  to {
    -webkit-box-shadow: 0 0 0 3em transparent;
            box-shadow: 0 0 0 3em transparent;
  }
}
.hover-up:hover {
  -webkit-transform: scale(1.05) translateY(-3%);
          transform: scale(1.05) translateY(-3%);
}

.hover-zoom {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.hover-zoom:hover {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
}

.hover-zoom-out:hover,
.hover-zoom:hover {
  -webkit-transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
          transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

.hover-zoom-out:hover {
  -webkit-transform: scale(0.93);
          transform: scale(0.93);
}

[data-aos=sweep-ltr] {
  clip-path: polygon(0 0, 1% 0, 1% 100%, 0 100%);
}
[data-aos=sweep-ltr].aos-animate {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.font-lato {
  font-family: "Lato", sans-serif;
}

.fs-12 {
  font-size: 0.75rem;
}

.fsr-12 {
  font-size: 0.75rem;
}

.fs-13 {
  font-size: 0.8125rem;
}

.fsr-13 {
  font-size: 0.8125rem;
}

.fs-14, #nav-top .search-item .search-input input {
  font-size: 0.875rem;
}

.fsr-14 {
  font-size: 0.875rem;
}

.fs-16 {
  font-size: 1rem;
}

.fsr-16 {
  font-size: 1rem;
}

.fs-18, .mega-menu [class*=container] ul.product-mega-menu > li > a {
  font-size: 1.125rem;
}

.fsr-18 {
  font-size: 1.125rem;
}

.fs-20 {
  font-size: 1.25rem;
}

.fsr-20 {
  font-size: 1.25rem;
}

.fs-24 {
  font-size: 1.5rem;
}

.fsr-24 {
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  .fsr-24 {
    font-size: 1.5rem;
  }
}

.fs-25 {
  font-size: 1.5625rem;
}

.fsr-25 {
  font-size: calc(1.28125rem + 0.375vw);
}
@media (min-width: 1200px) {
  .fsr-25 {
    font-size: 1.5625rem;
  }
}

.fs-27 {
  font-size: 1.6875rem;
}

.fsr-27 {
  font-size: calc(1.29375rem + 0.525vw);
}
@media (min-width: 1200px) {
  .fsr-27 {
    font-size: 1.6875rem;
  }
}

.fs-30 {
  font-size: 1.875rem;
}

.fsr-30 {
  font-size: calc(1.3125rem + 0.75vw);
}
@media (min-width: 1200px) {
  .fsr-30 {
    font-size: 1.875rem;
  }
}

.fs-32 {
  font-size: 2rem;
}

.fsr-32 {
  font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
  .fsr-32 {
    font-size: 2rem;
  }
}

.fs-35 {
  font-size: 2.1875rem;
}

.fsr-35 {
  font-size: calc(1.34375rem + 1.125vw);
}
@media (min-width: 1200px) {
  .fsr-35 {
    font-size: 2.1875rem;
  }
}

.fs-34 {
  font-size: 2.125rem;
}

.fsr-34 {
  font-size: calc(1.3375rem + 1.05vw);
}
@media (min-width: 1200px) {
  .fsr-34 {
    font-size: 2.125rem;
  }
}

.fs-40 {
  font-size: 2.5rem;
}

.fsr-40, #banner .banner-slogan2, #banner .banner-slogan1 {
  font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
  .fsr-40, #banner .banner-slogan2, #banner .banner-slogan1 {
    font-size: 2.5rem;
  }
}

.fs-45 {
  font-size: 2.8125rem;
}

.fsr-45 {
  font-size: calc(1.40625rem + 1.875vw);
}
@media (min-width: 1200px) {
  .fsr-45 {
    font-size: 2.8125rem;
  }
}

.fs-50 {
  font-size: 3.125rem;
}

.fsr-50 {
  font-size: calc(1.4375rem + 2.25vw);
}
@media (min-width: 1200px) {
  .fsr-50 {
    font-size: 3.125rem;
  }
}

.fs-72 {
  font-size: 4.5rem;
}

.fsr-72 {
  font-size: calc(1.575rem + 3.9vw);
}
@media (min-width: 1200px) {
  .fsr-72 {
    font-size: 4.5rem;
  }
}

.fs-80 {
  font-size: 5rem;
}

.fsr-80 {
  font-size: calc(1.625rem + 4.5vw);
}
@media (min-width: 1200px) {
  .fsr-80 {
    font-size: 5rem;
  }
}

@media (min-width: 576px) {
  .fs-sm-12 {
    font-size: 0.75rem;
  }
  .fsr-sm-12 {
    font-size: 0.75rem;
  }
  .fs-sm-13 {
    font-size: 0.8125rem;
  }
  .fsr-sm-13 {
    font-size: 0.8125rem;
  }
  .fs-sm-14 {
    font-size: 0.875rem;
  }
  .fsr-sm-14 {
    font-size: 0.875rem;
  }
  .fs-sm-16 {
    font-size: 1rem;
  }
  .fsr-sm-16 {
    font-size: 1rem;
  }
  .fs-sm-18 {
    font-size: 1.125rem;
  }
  .fsr-sm-18 {
    font-size: 1.125rem;
  }
  .fs-sm-20 {
    font-size: 1.25rem;
  }
  .fsr-sm-20 {
    font-size: 1.25rem;
  }
  .fs-sm-24 {
    font-size: 1.5rem;
  }
  .fsr-sm-24 {
    font-size: calc(1.275rem + 0.3vw);
  }
}
@media (min-width: 576px) and (min-width: 1200px) {
  .fsr-sm-24 {
    font-size: 1.5rem;
  }
}
@media (min-width: 576px) {
  .fs-sm-25 {
    font-size: 1.5625rem;
  }
  .fsr-sm-25 {
    font-size: calc(1.28125rem + 0.375vw);
  }
}
@media (min-width: 576px) and (min-width: 1200px) {
  .fsr-sm-25 {
    font-size: 1.5625rem;
  }
}
@media (min-width: 576px) {
  .fs-sm-27 {
    font-size: 1.6875rem;
  }
  .fsr-sm-27 {
    font-size: calc(1.29375rem + 0.525vw);
  }
}
@media (min-width: 576px) and (min-width: 1200px) {
  .fsr-sm-27 {
    font-size: 1.6875rem;
  }
}
@media (min-width: 576px) {
  .fs-sm-30 {
    font-size: 1.875rem;
  }
  .fsr-sm-30 {
    font-size: calc(1.3125rem + 0.75vw);
  }
}
@media (min-width: 576px) and (min-width: 1200px) {
  .fsr-sm-30 {
    font-size: 1.875rem;
  }
}
@media (min-width: 576px) {
  .fs-sm-32 {
    font-size: 2rem;
  }
  .fsr-sm-32 {
    font-size: calc(1.325rem + 0.9vw);
  }
}
@media (min-width: 576px) and (min-width: 1200px) {
  .fsr-sm-32 {
    font-size: 2rem;
  }
}
@media (min-width: 576px) {
  .fs-sm-35 {
    font-size: 2.1875rem;
  }
  .fsr-sm-35 {
    font-size: calc(1.34375rem + 1.125vw);
  }
}
@media (min-width: 576px) and (min-width: 1200px) {
  .fsr-sm-35 {
    font-size: 2.1875rem;
  }
}
@media (min-width: 576px) {
  .fs-sm-34 {
    font-size: 2.125rem;
  }
  .fsr-sm-34 {
    font-size: calc(1.3375rem + 1.05vw);
  }
}
@media (min-width: 576px) and (min-width: 1200px) {
  .fsr-sm-34 {
    font-size: 2.125rem;
  }
}
@media (min-width: 576px) {
  .fs-sm-40 {
    font-size: 2.5rem;
  }
  .fsr-sm-40 {
    font-size: calc(1.375rem + 1.5vw);
  }
}
@media (min-width: 576px) and (min-width: 1200px) {
  .fsr-sm-40 {
    font-size: 2.5rem;
  }
}
@media (min-width: 576px) {
  .fs-sm-45 {
    font-size: 2.8125rem;
  }
  .fsr-sm-45 {
    font-size: calc(1.40625rem + 1.875vw);
  }
}
@media (min-width: 576px) and (min-width: 1200px) {
  .fsr-sm-45 {
    font-size: 2.8125rem;
  }
}
@media (min-width: 576px) {
  .fs-sm-50 {
    font-size: 3.125rem;
  }
  .fsr-sm-50 {
    font-size: calc(1.4375rem + 2.25vw);
  }
}
@media (min-width: 576px) and (min-width: 1200px) {
  .fsr-sm-50 {
    font-size: 3.125rem;
  }
}
@media (min-width: 576px) {
  .fs-sm-72 {
    font-size: 4.5rem;
  }
  .fsr-sm-72 {
    font-size: calc(1.575rem + 3.9vw);
  }
}
@media (min-width: 576px) and (min-width: 1200px) {
  .fsr-sm-72 {
    font-size: 4.5rem;
  }
}
@media (min-width: 576px) {
  .fs-sm-80 {
    font-size: 5rem;
  }
  .fsr-sm-80 {
    font-size: calc(1.625rem + 4.5vw);
  }
}
@media (min-width: 576px) and (min-width: 1200px) {
  .fsr-sm-80 {
    font-size: 5rem;
  }
}
@media (min-width: 768px) {
  .fs-md-12 {
    font-size: 0.75rem;
  }
  .fsr-md-12 {
    font-size: 0.75rem;
  }
  .fs-md-13 {
    font-size: 0.8125rem;
  }
  .fsr-md-13 {
    font-size: 0.8125rem;
  }
  .fs-md-14 {
    font-size: 0.875rem;
  }
  .fsr-md-14 {
    font-size: 0.875rem;
  }
  .fs-md-16 {
    font-size: 1rem;
  }
  .fsr-md-16 {
    font-size: 1rem;
  }
  .fs-md-18 {
    font-size: 1.125rem;
  }
  .fsr-md-18 {
    font-size: 1.125rem;
  }
  .fs-md-20 {
    font-size: 1.25rem;
  }
  .fsr-md-20 {
    font-size: 1.25rem;
  }
  .fs-md-24 {
    font-size: 1.5rem;
  }
  .fsr-md-24 {
    font-size: calc(1.275rem + 0.3vw);
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .fsr-md-24 {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  .fs-md-25 {
    font-size: 1.5625rem;
  }
  .fsr-md-25 {
    font-size: calc(1.28125rem + 0.375vw);
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .fsr-md-25 {
    font-size: 1.5625rem;
  }
}
@media (min-width: 768px) {
  .fs-md-27 {
    font-size: 1.6875rem;
  }
  .fsr-md-27 {
    font-size: calc(1.29375rem + 0.525vw);
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .fsr-md-27 {
    font-size: 1.6875rem;
  }
}
@media (min-width: 768px) {
  .fs-md-30 {
    font-size: 1.875rem;
  }
  .fsr-md-30 {
    font-size: calc(1.3125rem + 0.75vw);
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .fsr-md-30 {
    font-size: 1.875rem;
  }
}
@media (min-width: 768px) {
  .fs-md-32 {
    font-size: 2rem;
  }
  .fsr-md-32 {
    font-size: calc(1.325rem + 0.9vw);
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .fsr-md-32 {
    font-size: 2rem;
  }
}
@media (min-width: 768px) {
  .fs-md-35 {
    font-size: 2.1875rem;
  }
  .fsr-md-35 {
    font-size: calc(1.34375rem + 1.125vw);
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .fsr-md-35 {
    font-size: 2.1875rem;
  }
}
@media (min-width: 768px) {
  .fs-md-34 {
    font-size: 2.125rem;
  }
  .fsr-md-34 {
    font-size: calc(1.3375rem + 1.05vw);
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .fsr-md-34 {
    font-size: 2.125rem;
  }
}
@media (min-width: 768px) {
  .fs-md-40 {
    font-size: 2.5rem;
  }
  .fsr-md-40 {
    font-size: calc(1.375rem + 1.5vw);
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .fsr-md-40 {
    font-size: 2.5rem;
  }
}
@media (min-width: 768px) {
  .fs-md-45 {
    font-size: 2.8125rem;
  }
  .fsr-md-45 {
    font-size: calc(1.40625rem + 1.875vw);
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .fsr-md-45 {
    font-size: 2.8125rem;
  }
}
@media (min-width: 768px) {
  .fs-md-50 {
    font-size: 3.125rem;
  }
  .fsr-md-50 {
    font-size: calc(1.4375rem + 2.25vw);
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .fsr-md-50 {
    font-size: 3.125rem;
  }
}
@media (min-width: 768px) {
  .fs-md-72 {
    font-size: 4.5rem;
  }
  .fsr-md-72 {
    font-size: calc(1.575rem + 3.9vw);
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .fsr-md-72 {
    font-size: 4.5rem;
  }
}
@media (min-width: 768px) {
  .fs-md-80 {
    font-size: 5rem;
  }
  .fsr-md-80 {
    font-size: calc(1.625rem + 4.5vw);
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .fsr-md-80 {
    font-size: 5rem;
  }
}
@media (min-width: 992px) {
  .fs-lg-12 {
    font-size: 0.75rem;
  }
  .fsr-lg-12 {
    font-size: 0.75rem;
  }
  .fs-lg-13 {
    font-size: 0.8125rem;
  }
  .fsr-lg-13 {
    font-size: 0.8125rem;
  }
  .fs-lg-14 {
    font-size: 0.875rem;
  }
  .fsr-lg-14 {
    font-size: 0.875rem;
  }
  .fs-lg-16 {
    font-size: 1rem;
  }
  .fsr-lg-16 {
    font-size: 1rem;
  }
  .fs-lg-18 {
    font-size: 1.125rem;
  }
  .fsr-lg-18 {
    font-size: 1.125rem;
  }
  .fs-lg-20 {
    font-size: 1.25rem;
  }
  .fsr-lg-20 {
    font-size: 1.25rem;
  }
  .fs-lg-24 {
    font-size: 1.5rem;
  }
  .fsr-lg-24 {
    font-size: calc(1.275rem + 0.3vw);
  }
}
@media (min-width: 992px) and (min-width: 1200px) {
  .fsr-lg-24 {
    font-size: 1.5rem;
  }
}
@media (min-width: 992px) {
  .fs-lg-25 {
    font-size: 1.5625rem;
  }
  .fsr-lg-25 {
    font-size: calc(1.28125rem + 0.375vw);
  }
}
@media (min-width: 992px) and (min-width: 1200px) {
  .fsr-lg-25 {
    font-size: 1.5625rem;
  }
}
@media (min-width: 992px) {
  .fs-lg-27 {
    font-size: 1.6875rem;
  }
  .fsr-lg-27 {
    font-size: calc(1.29375rem + 0.525vw);
  }
}
@media (min-width: 992px) and (min-width: 1200px) {
  .fsr-lg-27 {
    font-size: 1.6875rem;
  }
}
@media (min-width: 992px) {
  .fs-lg-30 {
    font-size: 1.875rem;
  }
  .fsr-lg-30 {
    font-size: calc(1.3125rem + 0.75vw);
  }
}
@media (min-width: 992px) and (min-width: 1200px) {
  .fsr-lg-30 {
    font-size: 1.875rem;
  }
}
@media (min-width: 992px) {
  .fs-lg-32 {
    font-size: 2rem;
  }
  .fsr-lg-32 {
    font-size: calc(1.325rem + 0.9vw);
  }
}
@media (min-width: 992px) and (min-width: 1200px) {
  .fsr-lg-32 {
    font-size: 2rem;
  }
}
@media (min-width: 992px) {
  .fs-lg-35 {
    font-size: 2.1875rem;
  }
  .fsr-lg-35 {
    font-size: calc(1.34375rem + 1.125vw);
  }
}
@media (min-width: 992px) and (min-width: 1200px) {
  .fsr-lg-35 {
    font-size: 2.1875rem;
  }
}
@media (min-width: 992px) {
  .fs-lg-34 {
    font-size: 2.125rem;
  }
  .fsr-lg-34 {
    font-size: calc(1.3375rem + 1.05vw);
  }
}
@media (min-width: 992px) and (min-width: 1200px) {
  .fsr-lg-34 {
    font-size: 2.125rem;
  }
}
@media (min-width: 992px) {
  .fs-lg-40 {
    font-size: 2.5rem;
  }
  .fsr-lg-40 {
    font-size: calc(1.375rem + 1.5vw);
  }
}
@media (min-width: 992px) and (min-width: 1200px) {
  .fsr-lg-40 {
    font-size: 2.5rem;
  }
}
@media (min-width: 992px) {
  .fs-lg-45 {
    font-size: 2.8125rem;
  }
  .fsr-lg-45 {
    font-size: calc(1.40625rem + 1.875vw);
  }
}
@media (min-width: 992px) and (min-width: 1200px) {
  .fsr-lg-45 {
    font-size: 2.8125rem;
  }
}
@media (min-width: 992px) {
  .fs-lg-50 {
    font-size: 3.125rem;
  }
  .fsr-lg-50 {
    font-size: calc(1.4375rem + 2.25vw);
  }
}
@media (min-width: 992px) and (min-width: 1200px) {
  .fsr-lg-50 {
    font-size: 3.125rem;
  }
}
@media (min-width: 992px) {
  .fs-lg-72 {
    font-size: 4.5rem;
  }
  .fsr-lg-72 {
    font-size: calc(1.575rem + 3.9vw);
  }
}
@media (min-width: 992px) and (min-width: 1200px) {
  .fsr-lg-72 {
    font-size: 4.5rem;
  }
}
@media (min-width: 992px) {
  .fs-lg-80 {
    font-size: 5rem;
  }
  .fsr-lg-80 {
    font-size: calc(1.625rem + 4.5vw);
  }
}
@media (min-width: 992px) and (min-width: 1200px) {
  .fsr-lg-80 {
    font-size: 5rem;
  }
}
@media (min-width: 1200px) {
  .fs-xl-12 {
    font-size: 0.75rem;
  }
  .fsr-xl-12 {
    font-size: 0.75rem;
  }
  .fs-xl-13 {
    font-size: 0.8125rem;
  }
  .fsr-xl-13 {
    font-size: 0.8125rem;
  }
  .fs-xl-14 {
    font-size: 0.875rem;
  }
  .fsr-xl-14 {
    font-size: 0.875rem;
  }
  .fs-xl-16 {
    font-size: 1rem;
  }
  .fsr-xl-16 {
    font-size: 1rem;
  }
  .fs-xl-18 {
    font-size: 1.125rem;
  }
  .fsr-xl-18 {
    font-size: 1.125rem;
  }
  .fs-xl-20 {
    font-size: 1.25rem;
  }
  .fsr-xl-20 {
    font-size: 1.25rem;
  }
  .fs-xl-24 {
    font-size: 1.5rem;
  }
  .fsr-xl-24 {
    font-size: calc(1.275rem + 0.3vw);
  }
}
@media (min-width: 1200px) and (min-width: 1200px) {
  .fsr-xl-24 {
    font-size: 1.5rem;
  }
}
@media (min-width: 1200px) {
  .fs-xl-25 {
    font-size: 1.5625rem;
  }
  .fsr-xl-25 {
    font-size: calc(1.28125rem + 0.375vw);
  }
}
@media (min-width: 1200px) and (min-width: 1200px) {
  .fsr-xl-25 {
    font-size: 1.5625rem;
  }
}
@media (min-width: 1200px) {
  .fs-xl-27 {
    font-size: 1.6875rem;
  }
  .fsr-xl-27 {
    font-size: calc(1.29375rem + 0.525vw);
  }
}
@media (min-width: 1200px) and (min-width: 1200px) {
  .fsr-xl-27 {
    font-size: 1.6875rem;
  }
}
@media (min-width: 1200px) {
  .fs-xl-30 {
    font-size: 1.875rem;
  }
  .fsr-xl-30 {
    font-size: calc(1.3125rem + 0.75vw);
  }
}
@media (min-width: 1200px) and (min-width: 1200px) {
  .fsr-xl-30 {
    font-size: 1.875rem;
  }
}
@media (min-width: 1200px) {
  .fs-xl-32 {
    font-size: 2rem;
  }
  .fsr-xl-32 {
    font-size: calc(1.325rem + 0.9vw);
  }
}
@media (min-width: 1200px) and (min-width: 1200px) {
  .fsr-xl-32 {
    font-size: 2rem;
  }
}
@media (min-width: 1200px) {
  .fs-xl-35 {
    font-size: 2.1875rem;
  }
  .fsr-xl-35 {
    font-size: calc(1.34375rem + 1.125vw);
  }
}
@media (min-width: 1200px) and (min-width: 1200px) {
  .fsr-xl-35 {
    font-size: 2.1875rem;
  }
}
@media (min-width: 1200px) {
  .fs-xl-34 {
    font-size: 2.125rem;
  }
  .fsr-xl-34 {
    font-size: calc(1.3375rem + 1.05vw);
  }
}
@media (min-width: 1200px) and (min-width: 1200px) {
  .fsr-xl-34 {
    font-size: 2.125rem;
  }
}
@media (min-width: 1200px) {
  .fs-xl-40 {
    font-size: 2.5rem;
  }
  .fsr-xl-40 {
    font-size: calc(1.375rem + 1.5vw);
  }
}
@media (min-width: 1200px) and (min-width: 1200px) {
  .fsr-xl-40 {
    font-size: 2.5rem;
  }
}
@media (min-width: 1200px) {
  .fs-xl-45 {
    font-size: 2.8125rem;
  }
  .fsr-xl-45 {
    font-size: calc(1.40625rem + 1.875vw);
  }
}
@media (min-width: 1200px) and (min-width: 1200px) {
  .fsr-xl-45 {
    font-size: 2.8125rem;
  }
}
@media (min-width: 1200px) {
  .fs-xl-50 {
    font-size: 3.125rem;
  }
  .fsr-xl-50 {
    font-size: calc(1.4375rem + 2.25vw);
  }
}
@media (min-width: 1200px) and (min-width: 1200px) {
  .fsr-xl-50 {
    font-size: 3.125rem;
  }
}
@media (min-width: 1200px) {
  .fs-xl-72 {
    font-size: 4.5rem;
  }
  .fsr-xl-72 {
    font-size: calc(1.575rem + 3.9vw);
  }
}
@media (min-width: 1200px) and (min-width: 1200px) {
  .fsr-xl-72 {
    font-size: 4.5rem;
  }
}
@media (min-width: 1200px) {
  .fs-xl-80 {
    font-size: 5rem;
  }
  .fsr-xl-80 {
    font-size: calc(1.625rem + 4.5vw);
  }
}
@media (min-width: 1200px) and (min-width: 1200px) {
  .fsr-xl-80 {
    font-size: 5rem;
  }
}
@media (min-width: 1400px) {
  .fs-xxl-12 {
    font-size: 0.75rem;
  }
  .fsr-xxl-12 {
    font-size: 0.75rem;
  }
  .fs-xxl-13 {
    font-size: 0.8125rem;
  }
  .fsr-xxl-13 {
    font-size: 0.8125rem;
  }
  .fs-xxl-14 {
    font-size: 0.875rem;
  }
  .fsr-xxl-14 {
    font-size: 0.875rem;
  }
  .fs-xxl-16 {
    font-size: 1rem;
  }
  .fsr-xxl-16 {
    font-size: 1rem;
  }
  .fs-xxl-18 {
    font-size: 1.125rem;
  }
  .fsr-xxl-18 {
    font-size: 1.125rem;
  }
  .fs-xxl-20 {
    font-size: 1.25rem;
  }
  .fsr-xxl-20 {
    font-size: 1.25rem;
  }
  .fs-xxl-24 {
    font-size: 1.5rem;
  }
  .fsr-xxl-24 {
    font-size: calc(1.275rem + 0.3vw);
  }
}
@media (min-width: 1400px) and (min-width: 1200px) {
  .fsr-xxl-24 {
    font-size: 1.5rem;
  }
}
@media (min-width: 1400px) {
  .fs-xxl-25 {
    font-size: 1.5625rem;
  }
  .fsr-xxl-25 {
    font-size: calc(1.28125rem + 0.375vw);
  }
}
@media (min-width: 1400px) and (min-width: 1200px) {
  .fsr-xxl-25 {
    font-size: 1.5625rem;
  }
}
@media (min-width: 1400px) {
  .fs-xxl-27 {
    font-size: 1.6875rem;
  }
  .fsr-xxl-27 {
    font-size: calc(1.29375rem + 0.525vw);
  }
}
@media (min-width: 1400px) and (min-width: 1200px) {
  .fsr-xxl-27 {
    font-size: 1.6875rem;
  }
}
@media (min-width: 1400px) {
  .fs-xxl-30 {
    font-size: 1.875rem;
  }
  .fsr-xxl-30 {
    font-size: calc(1.3125rem + 0.75vw);
  }
}
@media (min-width: 1400px) and (min-width: 1200px) {
  .fsr-xxl-30 {
    font-size: 1.875rem;
  }
}
@media (min-width: 1400px) {
  .fs-xxl-32 {
    font-size: 2rem;
  }
  .fsr-xxl-32 {
    font-size: calc(1.325rem + 0.9vw);
  }
}
@media (min-width: 1400px) and (min-width: 1200px) {
  .fsr-xxl-32 {
    font-size: 2rem;
  }
}
@media (min-width: 1400px) {
  .fs-xxl-35 {
    font-size: 2.1875rem;
  }
  .fsr-xxl-35 {
    font-size: calc(1.34375rem + 1.125vw);
  }
}
@media (min-width: 1400px) and (min-width: 1200px) {
  .fsr-xxl-35 {
    font-size: 2.1875rem;
  }
}
@media (min-width: 1400px) {
  .fs-xxl-34 {
    font-size: 2.125rem;
  }
  .fsr-xxl-34 {
    font-size: calc(1.3375rem + 1.05vw);
  }
}
@media (min-width: 1400px) and (min-width: 1200px) {
  .fsr-xxl-34 {
    font-size: 2.125rem;
  }
}
@media (min-width: 1400px) {
  .fs-xxl-40 {
    font-size: 2.5rem;
  }
  .fsr-xxl-40 {
    font-size: calc(1.375rem + 1.5vw);
  }
}
@media (min-width: 1400px) and (min-width: 1200px) {
  .fsr-xxl-40 {
    font-size: 2.5rem;
  }
}
@media (min-width: 1400px) {
  .fs-xxl-45 {
    font-size: 2.8125rem;
  }
  .fsr-xxl-45 {
    font-size: calc(1.40625rem + 1.875vw);
  }
}
@media (min-width: 1400px) and (min-width: 1200px) {
  .fsr-xxl-45 {
    font-size: 2.8125rem;
  }
}
@media (min-width: 1400px) {
  .fs-xxl-50 {
    font-size: 3.125rem;
  }
  .fsr-xxl-50 {
    font-size: calc(1.4375rem + 2.25vw);
  }
}
@media (min-width: 1400px) and (min-width: 1200px) {
  .fsr-xxl-50 {
    font-size: 3.125rem;
  }
}
@media (min-width: 1400px) {
  .fs-xxl-72 {
    font-size: 4.5rem;
  }
  .fsr-xxl-72 {
    font-size: calc(1.575rem + 3.9vw);
  }
}
@media (min-width: 1400px) and (min-width: 1200px) {
  .fsr-xxl-72 {
    font-size: 4.5rem;
  }
}
@media (min-width: 1400px) {
  .fs-xxl-80 {
    font-size: 5rem;
  }
  .fsr-xxl-80 {
    font-size: calc(1.625rem + 4.5vw);
  }
}
@media (min-width: 1400px) and (min-width: 1200px) {
  .fsr-xxl-80 {
    font-size: 5rem;
  }
}
.ls-1 {
  letter-spacing: 1px;
}

.ls-2 {
  letter-spacing: 2px;
}

.ls-3 {
  letter-spacing: 3px;
}

.ls-4 {
  letter-spacing: 4px;
}

.ls-5 {
  letter-spacing: 5px;
}

#back-to-top,
.right-icon {
  display: block;
  width: 50px;
  height: 50px;
  background-color: #C41A1A;
  line-height: 50px;
  text-align: center;
  border-radius: 50%;
  cursor: pointer;
}
@media (max-width: 575.98px) {
  #back-to-top,
  .right-icon {
    width: 30px;
    height: 30px;
  }
}

.btn-more {
  width: 100%;
  max-width: 280px;
}

.btn-outline-dark {
  font-family: "Lato", sans-serif;
  letter-spacing: 0.0625em;
}
.btn-outline-dark:hover, .btn-outline-dark:focus, .btn-outline-dark:active {
  background-color: #FF0000 !important;
  border-color: #FF0000 !important;
  color: #fff !important;
}

.breadcrumb-item a {
  color: #888;
}
.breadcrumb-item a:hover {
  text-decoration: underline;
}
.breadcrumb-item:last-child {
  color: #FF0000;
}

.editor ol {
  list-style: decimal;
  padding-left: 25px;
}
.editor ul {
  list-style: inherit;
  padding-left: 25px;
}

.ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.ratio img {
  max-width: 100%;
  max-height: 100%;
}
.ratio.cover img {
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

@media (max-width: 767.98px) {
  .aside-menu.deactive {
    display: none;
  }
  .aside-menu.active {
    display: block;
  }
}

@media (min-width: 768px) {
  .aside-list {
    max-width: 215px;
  }
}
.aside-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.aside-list a {
  display: block;
  padding: 0.6rem;
  color: inherit;
}
.aside-list > li {
  position: relative;
}
.aside-list > li > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
.aside-list > li > a:after {
  content: "\f107";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font: var(--fa-font-regular);
  display: none;
}
.aside-list > li > a [class*=fa] {
  margin-top: 3px;
  margin-left: 10px;
}
.aside-list > li ul {
  padding-left: 1rem;
}
.aside-list > li ul li:hover > a, .aside-list > li ul li.mm-active > a {
  color: #FF0000;
}

.m-button {
  background-color: #FF0000;
  color: #fff;
  text-align: center;
  font-weight: bold;
  padding: 0.5rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.m-button span {
  pointer-events: none;
}
.m-button:after {
  content: "\f107";
  font: var(--fa-font-solid);
  display: block;
  color: #fff;
}
.m-button [class*=fa] {
  position: absolute;
  right: 0.5rem;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.m-button.active {
  background-color: #C41A1A;
}
.m-button.active [class*=fa] {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.pages .pagination {
  --bs-pagination-padding-y: 0;
  --bs-pagination-padding-x: 0;
  --bs-pagination-border-width: 0;
  --bs-pagination-color: #231815;
  --bs-pagination-hover-bg: #FF0000;
  --bs-pagination-hover-color: #fff;
  --bs-pagination-disabled-bg: none;
}
.pages .pagination .page-item {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.pages .pagination .page-link {
  width: 1.5rem;
  height: 2rem;
  border-radius: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

#right-float-box {
  position: fixed;
  z-index: 8000;
  right: 0;
  bottom: 50px;
}
#right-float-box .right-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 0.5rem;
}
#right-float-box .navar-line {
  background-color: #00c300;
  color: #fff;
}
#right-float-box .email {
  background-color: #000;
  color: #fff;
}
#right-float-box .phone {
  background-color: #FF0000;
  color: #fff;
}
#right-float-box #back-to-top {
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

@media (min-width: 992px) {
  #nav-top {
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    font-size: 14px;
  }
}
#nav-top {
  font-size: 12px;
  padding-top: 5px;
  padding-bottom: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  z-index: 1000;
}
#nav-top .search-item .search-input {
  position: relative;
}
#nav-top .search-item .search-input input {
  border-color: #E4E7EA;
  border-radius: 50rem;
  padding-top: 3px;
  padding-bottom: 3px;
}
#nav-top .search-item .search-input .search-t {
  position: absolute;
  right: 10px;
  top: 4px;
  cursor: pointer;
}
#nav-top .cart-num-item a:hover {
  color: #FF0000 !important;
}

.contact-list li [class*=fa] {
  width: 1.2rem;
  text-align: center;
  margin-right: 0.5rem;
}

.inner-banner {
  position: relative;
  height: 400px;
}
.inner-banner:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.45);
  z-index: 100;
}
.inner-banner img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 50;
  -o-object-position: 50% calc(var(--fa-scroll--custom) * 100%);
     object-position: 50% calc(var(--fa-scroll--custom) * 100%);
}

.mega-menu {
  padding-top: 2rem;
  padding-bottom: 2rem;
  position: absolute;
  position: fixed;
  z-index: 9001;
  background-color: rgba(255, 255, 255, 0.95);
  display: none;
  width: 100%;
}
.mega-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mega-menu [class*=container] ul.product-mega-menu {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem 10%;
}
.mega-menu [class*=container] ul.product-mega-menu a:hover {
  text-decoration: underline;
}
.mega-menu [class*=container] ul.product-mega-menu > li > a {
  color: #FF0000;
  font-weight: bold;
  position: relative;
  display: block;
  margin-bottom: 1rem;
}
.mega-menu [class*=container] ul.product-mega-menu > li > a:before {
  content: "";
  display: block;
  width: 5px;
  height: 100%;
  background-color: #FF0000;
  position: absolute;
  left: -1rem;
  top: 0;
}
.mega-menu [class*=container] ul.product-mega-menu > li ul a {
  display: block;
  color: #231815;
}
.mega-menu [class*=container] ul.product-mega-menu > li ul a:hover {
  color: #FF0000;
  text-decoration: underline;
}
.mega-menu [class*=container] ul.product-mega-menu ul {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 1fr 0.3rem 1fr 0.3rem 1fr 0.3rem 1fr 0.3rem 1fr;
  grid-template-rows: repeat(5, 1fr);
  grid-auto-flow: column;
  grid-auto-rows: 3;
  gap: 0.3rem 1rem;
}
.mega-menu [class*=container] ul.brand-mega-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
  padding-left: 10px;
  padding-right: 10px;
  gap: 2rem 0;
}
.mega-menu [class*=container] ul.brand-mega-menu > li {
  width: 25%;
  padding-left: 10px;
  padding-right: 10px;
}
.mega-menu [class*=container] ul.brand-mega-menu a {
  display: block;
  color: inherit;
}
.mega-menu [class*=container] ul.brand-mega-menu a:hover {
  color: #FF0000;
}
.mega-menu [class*=container] ul.brand-mega-menu .img-row {
  background-color: #fff;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  padding: 3px 10px;
}
.mega-menu [class*=container] ul.brand-mega-menu .txt-row {
  text-align: center;
  margin-top: 0.5rem;
}

#metismenu .nav-brand-mega-menu > ul.mm-show {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem 0;
}
#metismenu .nav-brand-mega-menu > ul li {
  width: 50%;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  text-align: center;
}
#metismenu .nav-brand-mega-menu > ul li:first-child {
  margin-top: 0;
}
#metismenu .nav-brand-mega-menu > ul li a {
  display: block;
}
#metismenu .nav-brand-mega-menu > ul li a .img-row {
  background-color: #fff;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  padding: 3px 10px;
}
#metismenu .nav-brand-mega-menu > ul li a .txt-row {
  margin-top: 5px;
}

#site-footer .footer-main {
  padding-top: 60px;
  padding-bottom: 60px;
  background: #fff;
}
@media (max-width: 991.98px) {
  #site-footer .footer-main {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
#site-footer .footer-logo-img {
  height: 40px;
  width: auto;
}
#site-footer .footer-company-zh {
  font-size: 20px;
  color: #000;
}
#site-footer .footer-company-en {
  font-size: 12px;
  color: #000;
}
#site-footer .footer-social-link {
  font-size: 24px;
  color: #000;
  text-decoration: none;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
#site-footer .footer-social-link:hover {
  color: #FF0000;
}
#site-footer .footer-nav-heading {
  font-size: 16px;
  font-weight: 700;
  color: #000;
  margin-bottom: 8px;
  -webkit-column-span: all;
     -moz-column-span: all;
          column-span: all;
}
#site-footer .footer-nav-title {
  font-size: 16px;
  font-weight: 700;
  color: #000;
  text-decoration: none;
  margin-bottom: 8px;
}
#site-footer .footer-nav-title:hover {
  color: #FF0000;
}
#site-footer .footer-nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
#site-footer .footer-nav-list li {
  margin-bottom: 3px;
}
#site-footer .footer-nav-list a {
  font-size: 14px;
  color: #000;
  text-decoration: none;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
#site-footer .footer-nav-list a:hover {
  color: #FF0000;
}
#site-footer .footer-nav-list a.footer-nav-title {
  font-size: 16px;
  font-weight: 700;
}
#site-footer .footer-nav-group {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
#site-footer .footer-nav-list--2col {
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
  -webkit-column-gap: 16px;
     -moz-column-gap: 16px;
          column-gap: 16px;
}
#site-footer .footer-nav-list--2col li {
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid;
}
#site-footer .footer-contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
#site-footer .footer-contact-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 10px;
  font-size: 16px;
  color: #000;
}
#site-footer .footer-contact-list .contact-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.8;
  font-size: 16px;
  text-align: center;
  padding-top: 6px;
}
#site-footer .footer-contact-list .contact-icon [class*=fa] {
  line-height: 1.8;
}
#site-footer .footer-contact-list .contact-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  line-height: 1.8;
}
#site-footer .footer-contact-list a {
  color: #000;
  text-decoration: none;
}
#site-footer .footer-contact-list a:hover {
  color: #FF0000;
}
#site-footer .footer-bottom {
  background: #FF0000;
  padding: 12px 0;
}
#site-footer .footer-bottom a,
#site-footer .footer-bottom p {
  color: #fff !important;
}
#site-footer .footer-bottom a {
  text-decoration: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
#site-footer .footer-bottom a:hover {
  opacity: 0.75;
}
#site-footer .footer-copyright {
  font-size: 14px;
}
#site-footer .footer-links a {
  font-size: 14px;
}
@media (max-width: 991.98px) {
  #site-footer .footer-brand {
    text-align: center;
  }
  #site-footer .footer-brand .footer-social {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.btn {
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.btn.btn-light:hover {
  background-color: #FF0000;
  color: #fff;
}

#banner .banner-slider {
  height: 712px;
}
@media (max-width: 1199.98px) {
  #banner .banner-slider {
    height: 600px;
  }
}
@media (max-width: 767.98px) {
  #banner .banner-slider {
    height: 480px;
  }
}
@media (max-width: 575.98px) {
  #banner .banner-slider {
    height: 380px;
  }
}
#banner .swiper-slide {
  position: relative;
  overflow: hidden;
}
#banner .banner-slide-bg {
  position: absolute;
  inset: 0;
}
#banner .banner-slide-bg .banner-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}
#banner .banner-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}
#banner .banner-content {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 1;
}
#banner .banner-text-block {
  max-width: 762px;
  margin: 0 auto;
  text-align: center;
}
#banner .banner-icon,
#banner .banner-slogan1,
#banner .banner-slogan2 {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
}
#banner .swiper-slide-active .banner-icon {
  -webkit-animation: bannerFadeUp 0.8s ease forwards;
          animation: bannerFadeUp 0.8s ease forwards;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
#banner .swiper-slide-active .banner-slogan1 {
  -webkit-animation: bannerFadeUp 0.8s ease forwards;
          animation: bannerFadeUp 0.8s ease forwards;
  -webkit-animation-delay: 0.45s;
          animation-delay: 0.45s;
}
#banner .swiper-slide-active .banner-slogan2 {
  -webkit-animation: bannerFadeUp 0.8s ease forwards;
          animation: bannerFadeUp 0.8s ease forwards;
  -webkit-animation-delay: 0.65s;
          animation-delay: 0.65s;
}
@-webkit-keyframes bannerFadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes bannerFadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
#banner .banner-icon {
  margin-bottom: 48px;
}
#banner .banner-icon img {
  height: 75px;
  width: auto;
}
@media (max-width: 767.98px) {
  #banner .banner-icon {
    margin-bottom: 28px;
  }
  #banner .banner-icon img {
    height: 50px;
  }
}
#banner .banner-slogan1 {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 700;
  color: #fff;
  line-height: 1.5;
  letter-spacing: 0.025em;
  margin-bottom: 0;
  text-align: center;
}
@media (max-width: 575.98px) {
  #banner .banner-slogan1 {
    font-size: 20px;
  }
}
#banner .banner-slogan2 {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  color: #fff;
  line-height: 1.5;
  letter-spacing: 0.025em;
  text-align: center;
}
@media (max-width: 575.98px) {
  #banner .banner-slogan2 {
    font-size: 20px;
  }
}
#banner .banner-prev,
#banner .banner-next {
  color: #fff;
  width: 44px;
  height: 44px;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
}
#banner .banner-prev:hover,
#banner .banner-next:hover {
  background: rgba(0, 0, 0, 0.6);
}
#banner .banner-prev::after,
#banner .banner-next::after {
  display: none;
}
#banner .banner-prev i,
#banner .banner-next i {
  font-size: 16px;
}
#banner .banner-swiper-pagination {
  bottom: 24px;
}
#banner .banner-swiper-pagination :deep(.swiper-pagination-bullet) {
  width: 10px;
  height: 10px;
  background: rgba(255, 255, 255, 0.6);
  opacity: 1;
}
#banner .banner-swiper-pagination :deep(.swiper-pagination-bullet-active) {
  background: #fff;
  width: 28px;
  border-radius: 5px;
}
#banner .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: rgba(255, 255, 255, 0.6);
  opacity: 1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#banner .swiper-pagination-bullet-active {
  background: #fff;
  width: 28px;
  border-radius: 5px;
}

.banner-video {
  position: relative;
  width: 100%;
}
.banner-video video {
  width: 100%;
}

#index-solutions {
  position: relative;
  z-index: 2;
}
#index-solutions .solutions-divider {
  border-color: #231815;
  opacity: 1;
  margin-bottom: 2.5rem;
}
@media (max-width: 991.98px) {
  #index-solutions .solutions-divider {
    margin-bottom: 1.5rem;
  }
}
#index-solutions .solutions-grid {
  --bs-gutter-x: 20px;
  --bs-gutter-y: 20px;
}
#index-solutions .solution-card {
  display: block;
  position: relative;
  background: #F7F7F7;
  border-radius: 10px;
  -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  aspect-ratio: 220/290;
  text-decoration: none;
  color: #231815;
}
#index-solutions .solution-card .solution-card-inner {
  position: absolute;
  inset: 0;
  -webkit-transition: opacity 0.35s ease;
  transition: opacity 0.35s ease;
}
#index-solutions .solution-card .solution-card-icon {
  position: absolute;
  top: 23.3%;
  left: 0;
  right: 0;
  height: 30.6%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#index-solutions .solution-card .solution-card-icon img {
  max-width: 130px;
  max-height: 100px;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
#index-solutions .solution-card .solution-card-line {
  position: absolute;
  top: 66%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 35px;
  height: 1px;
  background: #231815;
}
#index-solutions .solution-card .solution-card-label {
  position: absolute;
  top: 72.8%;
  left: 0;
  right: 0;
  font-family: "Noto Sans TC", sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.8;
  color: #231815;
}
#index-solutions .solution-card .solution-card-hover {
  position: absolute;
  inset: 0;
  background: rgba(255, 0, 0, 0.8);
  border-radius: 10px;
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 0;
  -webkit-transition: opacity 0.35s ease;
  transition: opacity 0.35s ease;
}
#index-solutions .solution-card .solution-card-hover .solution-card-label__title {
  font-family: "Noto Sans TC", sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #fff;
  text-align: center;
  margin-bottom: 20px;
}
#index-solutions .solution-card .solution-card-hover .solution-card-label__text {
  width: 100%;
  font-family: "Noto Sans TC", sans-serif;
  font-size: 16px;
  letter-spacing: 0.05em;
  color: #fff;
  text-align: center;
  height: 200px;
  overflow: hidden;
}
#index-solutions .solution-card:hover .solution-card-inner {
  opacity: 0;
}
#index-solutions .solution-card:hover .solution-card-hover {
  opacity: 1;
}

#index-advantage {
  z-index: 1;
  position: relative;
  overflow: hidden;
  padding: 110px 0 130px;
}
@media (max-width: 991.98px) {
  #index-advantage {
    padding: 60px 0;
  }
}
#index-advantage .advantage-bg-layer {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  max-width: 1390px;
  left: 0;
  right: 0;
  margin: auto;
}
#index-advantage .advantage-bg-layer img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
}
#index-advantage .container-xl {
  position: relative;
  z-index: 1;
}
#index-advantage .advantage-hex-grid {
  position: relative;
  max-width: 918px;
  height: 510px;
  margin: 0 auto;
}
@media (max-width: 991.98px) {
  #index-advantage .advantage-hex-grid {
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px;
  }
}
#index-advantage .adv-hex-wrap {
  position: absolute;
  aspect-ratio: 1.1547;
  -webkit-filter: drop-shadow(0 4px 20px rgba(0, 0, 0, 0.15));
          filter: drop-shadow(0 4px 20px rgba(0, 0, 0, 0.15));
}
#index-advantage .adv-hex-wrap.adv-hex--supply {
  left: 139px;
  top: 20px;
  width: 180px;
}
#index-advantage .adv-hex-wrap.adv-hex--years {
  left: 339px;
  top: 10px;
  width: 200px;
}
#index-advantage .adv-hex-wrap.adv-hex--employees {
  left: 559px;
  top: 0px;
  width: 220px;
}
#index-advantage .adv-hex-wrap.adv-hex--vacuum {
  left: 0px;
  top: 256px;
  width: 250px;
}
#index-advantage .adv-hex-wrap.adv-hex--service {
  left: 270px;
  top: 241px;
  width: 280px;
}
#index-advantage .adv-hex-wrap.adv-hex--thermal {
  left: 570px;
  top: 207px;
  width: 348px;
}
@media (max-width: 991.98px) {
  #index-advantage .adv-hex-wrap {
    position: static;
    width: 190px !important;
  }
}
@media (max-width: 575.98px) {
  #index-advantage .adv-hex-wrap {
    width: 140px !important;
  }
}
#index-advantage .adv-hex {
  width: 100%;
  height: 100%;
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
}
#index-advantage .adv-hex.adv-hex--red {
  background: rgba(255, 0, 0, 0.8);
}
#index-advantage .adv-hex.adv-hex--red .adv-num-value {
  color: #fff;
}
#index-advantage .adv-hex.adv-hex--red .adv-num-unit {
  color: #fff;
}
#index-advantage .adv-hex.adv-hex--red .adv-hex-label {
  color: #fff;
}
#index-advantage .adv-hex.adv-hex--white {
  background: #fff;
}
#index-advantage .adv-hex.adv-hex--white .adv-num-value {
  color: #FF0000;
}
#index-advantage .adv-hex.adv-hex--white .adv-num-unit {
  color: #231815;
}
#index-advantage .adv-hex.adv-hex--white .adv-hex-label {
  color: #231815;
}
#index-advantage .adv-hex-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  padding: 24px;
}
#index-advantage .adv-hex-num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 4px;
  margin-bottom: 4px;
}
#index-advantage .adv-num-value {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 58px;
  line-height: 1.3;
  letter-spacing: 0.015em;
}
@media (max-width: 991.98px) {
  #index-advantage .adv-num-value {
    font-size: 38px;
  }
}
@media (max-width: 575.98px) {
  #index-advantage .adv-num-value {
    font-size: 22px;
  }
}
#index-advantage .adv-num-unit {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: 0.04em;
  padding-bottom: 4px;
}
@media (max-width: 991.98px) {
  #index-advantage .adv-num-unit {
    font-size: 16px;
  }
}
@media (max-width: 575.98px) {
  #index-advantage .adv-num-unit {
    font-size: 10px;
  }
}
#index-advantage .adv-hex--thermal .adv-hex-inner {
  padding: 8px;
}
@media (max-width: 991.98px) {
  #index-advantage .adv-hex--thermal .adv-hex-num {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    margin-bottom: 2px;
  }
  #index-advantage .adv-hex--thermal .adv-num-value {
    font-size: 22px;
    line-height: 1.2;
  }
  #index-advantage .adv-hex--thermal .adv-num-unit {
    font-size: 13px;
    padding-bottom: 0;
  }
}
#index-advantage .adv-hex-label {
  font-family: "Noto Sans TC", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.6;
  overflow-wrap: anywhere;
  word-break: normal;
  padding: 0px 10px;
}
@media (max-width: 991.98px) {
  #index-advantage .adv-hex-label {
    font-size: 14px;
  }
}
@media (max-width: 575.98px) {
  #index-advantage .adv-hex-label {
    font-size: 11px;
  }
}

#index-about {
  position: relative;
  overflow: hidden;
  padding: 100px 0;
}
@media (max-width: 991.98px) {
  #index-about {
    padding: 60px 0 0;
  }
}
#index-about .about-body {
  margin-bottom: 48px;
}
#index-about .about-body p {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #231815;
  margin-bottom: 1em;
}
#index-about .about-body p:last-child {
  margin-bottom: 0;
}
#index-about .about-img-col .about-img-wrap img {
  width: 660px;
  height: auto;
  max-width: none;
}

#index-certification .certification-slider-wrap {
  overflow: hidden;
}
#index-certification .certification-slider {
  padding-bottom: 40px;
}
#index-certification .certification-logo-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10px 20px;
}
#index-certification .certification-swiper-pagination {
  bottom: 0;
  position: static;
  margin-top: 2rem;
}
#index-certification .certification-swiper-pagination .swiper-pagination-bullet {
  background: #C8C9CA;
  opacity: 1;
}
#index-certification .certification-swiper-pagination .swiper-pagination-bullet-active {
  background: #FF0000;
}

#index-brands .brands-slider-wrap {
  overflow: hidden;
}
#index-brands .brands-slider {
  padding-bottom: 40px;
}
#index-brands .brand-logo-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10px 20px;
}
#index-brands .brands-swiper-pagination {
  bottom: 0;
  position: static;
  margin-top: 2rem;
}
#index-brands .brands-swiper-pagination .swiper-pagination-bullet {
  background: #C8C9CA;
  opacity: 1;
}
#index-brands .brands-swiper-pagination .swiper-pagination-bullet-active {
  background: #FF0000;
}

#index-news {
  position: relative;
}
#index-news > [class*=container] {
  position: relative;
  z-index: 1000;
}
#index-news .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 0;
}
#index-news .bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  position: relative;
  z-index: 50;
}
#index-news .bg:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  inset: 0;
  background: rgba(241, 241, 241, 0.96);
  z-index: 100;
}

.announcement-fancybox .fancybox__content {
  padding: 0;
  border-radius: 20px;
  overflow: hidden;
  max-width: 579px;
  width: 90vw;
}
.announcement-fancybox .f-button.is-close-btn {
  top: 8px;
  right: 8px;
  background: transparent;
  color: #231815;
}
.announcement-fancybox .f-button.is-close-btn svg {
  width: 40px;
  height: 40px;
  stroke: #231815;
}
.announcement-fancybox .fancybox__backdrop {
  opacity: 0.45;
}

.popup-announcement {
  display: none;
}

.popup-announcement-inner {
  padding: 35px 31px 36px;
  background: #fff;
}

#about main {
  overflow: visible;
}

.about-page-nav {
  position: sticky;
  top: var(--header-h, 80px);
  z-index: 500;
  padding-top: 12px;
  padding-bottom: 12px;
  margin-top: 32px;
  background: transparent;
}
.about-page-nav .about-nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 70px;
  max-width: 975px;
  margin: 0 auto;
  background: #f7f7f7;
  border-radius: 10px;
  -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  padding: 0;
  list-style: none;
}
.about-page-nav .about-nav-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  position: relative;
}
.about-page-nav .about-nav-item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1px;
  height: 50%;
  background: #b8b8b8;
}
.about-page-nav .about-nav-link {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 400;
  color: #000;
  text-decoration: none;
  white-space: nowrap;
  -webkit-transition: color 0.2s, font-weight 0.2s;
  transition: color 0.2s, font-weight 0.2s;
  padding: 0 16px;
}
.about-page-nav .about-nav-link:hover {
  color: #FF0000;
}
.about-page-nav .about-nav-link.active {
  color: #FF0000;
  font-weight: 700;
}
@media (max-width: 1199.98px) {
  .about-page-nav .about-nav-link.phone-title {
    font-size: 0.9rem !important;
  }
}
@media (max-width: 767.98px) {
  .about-page-nav {
    margin-top: 20px;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .about-page-nav .about-nav-list {
    height: 135px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .about-page-nav .about-nav-link {
    width: 150px;
    font-size: 1rem !important;
    padding: 10px 0px;
  }
}

.about-sections-wrap {
  position: relative;
  overflow: hidden;
}
.about-sections-wrap .about-bg-deco {
  position: absolute;
  right: 0;
  left: 50%;
  bottom: 0%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  pointer-events: none;
  z-index: 0;
  width: 2141px;
  height: auto;
  max-width: none;
}
@media (max-width: 991.98px) {
  .about-sections-wrap .about-bg-deco {
    display: none;
  }
}
.about-sections-wrap #about-intro,
.about-sections-wrap #about-core-value {
  position: relative;
  z-index: 1;
}

#about-core-value .cv-scene {
  position: relative;
  height: 780px;
  max-width: 1180px;
  margin: 0 auto;
}
@media (max-width: 1199.98px) {
  #about-core-value .cv-scene {
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 32px;
  }
}
#about-core-value .cv-main {
  position: absolute;
  left: 363px;
  top: 14px;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  border: 13px solid rgba(76, 76, 76, 0.3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 1199.98px) {
  #about-core-value .cv-main {
    position: relative;
    left: auto;
    top: auto;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    width: 280px;
    height: 280px;
    border-width: 7px;
  }
}
#about-core-value .cv-main-inner {
  width: 424px;
  height: 424px;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
}
@media (max-width: 1199.98px) {
  #about-core-value .cv-main-inner {
    width: 238px;
    height: 238px;
  }
}
#about-core-value .cv-main-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#about-core-value .cv-main-overlay {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: rgba(0, 0, 0, 0.35);
  text-align: center;
  padding: 20px;
}
#about-core-value .cv-main-title {
  font-size: 30px;
}
@media (max-width: 1199.98px) {
  #about-core-value .cv-main-title {
    font-size: 24px;
  }
}
#about-core-value .cv-node {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
@media (max-width: 1199.98px) {
  #about-core-value .cv-node {
    position: relative;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
    max-width: 880px;
  }
}
@media (max-width: 767.98px) {
  #about-core-value .cv-node {
    max-width: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
#about-core-value .cv-node--coexist {
  left: 0;
  top: 104px;
  width: 518px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#about-core-value .cv-node--coexist .cv-node-desc {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (max-width: 1199.98px) {
  #about-core-value .cv-node--coexist .cv-badge-circle {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
  #about-core-value .cv-node--coexist .cv-node-desc {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
#about-core-value .cv-node--risk {
  left: 665px;
  top: 0;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#about-core-value .cv-node--risk .cv-node-desc {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#about-core-value .cv-node--efficiency {
  left: 505px;
  top: 377px;
  width: 265px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 1199.98px) {
  #about-core-value .cv-node--efficiency {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
#about-core-value .cv-badge-circle {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 265px;
  height: 265px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.8);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#about-core-value .cv-badge-circle.cv-badge--red {
  background: rgba(255, 0, 0, 0.7);
}
#about-core-value .cv-badge-circle.cv-badge--orange {
  background: rgba(255, 115, 0, 0.7);
}
#about-core-value .cv-badge-circle.cv-badge--reddish {
  background: rgba(255, 78, 3, 0.7);
}
@media (max-width: 767.98px) {
  #about-core-value .cv-badge-circle {
    margin: 0 auto;
  }
}
#about-core-value .cv-badge-inner {
  width: 195px;
  height: 195px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.9);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  padding: 22px;
}
#about-core-value .cv-badge-inner img {
  max-width: 100%;
  height: auto;
}
#about-core-value .cv-badge-inner h3,
#about-core-value .cv-badge-inner span {
  font-size: 18px;
  font-weight: 700;
  color: #000;
  text-align: center;
  line-height: 1.3;
}
@media (max-width: 1199.98px) {
  #about-core-value .cv-badge-inner {
    padding: 14px;
    gap: 4px;
  }
  #about-core-value .cv-badge-inner img {
    width: 42px;
  }
  #about-core-value .cv-badge-inner span {
    font-size: 13px;
  }
}
#about-core-value .cv-node-desc {
  line-height: 1.8;
  color: #000;
}
#about-core-value .cv-node-desc p {
  margin: 0;
}
@media (max-width: 767.98px) {
  #about-core-value .cv-node-desc {
    width: 100%;
    -webkit-box-flex: inherit !important;
        -ms-flex: inherit !important;
            flex: inherit !important;
  }
}

#about-intro {
  position: relative;
  overflow: hidden;
  padding: 80px 0;
}
@media (max-width: 991.98px) {
  #about-intro {
    padding: 60px 0 0;
  }
}
#about-intro .about-intro-content {
  padding-right: 40px;
}
@media (max-width: 991.98px) {
  #about-intro .about-intro-content {
    padding-right: 0;
    padding-bottom: 60px;
  }
}
#about-intro .about-intro-body p {
  font-size: 16px;
  line-height: 1.8;
  color: #231815;
  margin-bottom: 1em;
}
#about-intro .about-intro-body p:last-child {
  margin-bottom: 0;
}
#about-intro .about-intro-img-col {
  padding: 0;
}
#about-intro .about-intro-img-wrap img {
  width: 660px;
  height: auto;
  max-width: none;
}

#about-pyramid .pyramid-wrap {
  position: relative;
}
@media (max-width: 991.98px) {
  #about-pyramid .pyramid-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
  }
}
#about-pyramid .pyramid-img-col {
  width: 59.9%;
}
@media (max-width: 991.98px) {
  #about-pyramid .pyramid-img-col {
    width: 80%;
    margin: 0 auto;
  }
}
#about-pyramid .pyramid-img {
  width: 100%;
  height: auto;
  display: block;
}
#about-pyramid .pyramid-text-col {
  position: absolute;
  left: 39.8%;
  right: 0;
  top: 0;
  bottom: 0;
}
@media (max-width: 991.98px) {
  #about-pyramid .pyramid-text-col {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px;
  }
}
#about-pyramid .pyramid-item {
  position: absolute;
}
#about-pyramid .pyramid-item--vision {
  top: 2.7%;
  left: 0;
}
#about-pyramid .pyramid-item--mission {
  top: 26.2%;
  left: 11.2%;
}
#about-pyramid .pyramid-item--promise {
  top: 49.9%;
  left: 23.7%;
}
#about-pyramid .pyramid-item--position {
  top: 72.8%;
  left: 34.2%;
}
@media (max-width: 991.98px) {
  #about-pyramid .pyramid-item {
    position: relative;
    top: auto;
    left: auto;
  }
}
#about-pyramid .pyramid-item-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
  margin-bottom: 4px;
}
#about-pyramid .pyramid-item--vision .pyramid-item-title {
  color: #17BB93;
}
#about-pyramid .pyramid-item--mission .pyramid-item-title {
  color: #BC9E25;
}
#about-pyramid .pyramid-item--promise .pyramid-item-title {
  color: #FF7300;
}
#about-pyramid .pyramid-item--position .pyramid-item-title {
  color: #FF0000;
}
#about-pyramid .pyramid-item-desc {
  line-height: 1.8;
  color: #000;
  margin: 0;
}

#about-certification .text-box p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 10px;
}
#about-certification .text-box p .title-box {
  width: 200px;
}

#about-history .timeline-wrap {
  position: relative;
  padding-top: 80px;
}
#about-history .timeline-track {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 5px;
  background: #e8e8e8;
  z-index: 0;
}
#about-history .timeline-track-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  background: #4c4c4c;
}
#about-history .timeline-drop {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 36px;
  height: 62px;
  z-index: 5;
  display: block;
  pointer-events: none;
}
#about-history .timeline-item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 60px 1fr;
  grid-template-columns: 1fr 60px 1fr;
  margin-bottom: 60px;
  position: relative;
  z-index: 1;
}
#about-history .timeline-item:last-child {
  margin-bottom: 0;
}
#about-history .tl-node {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 14px;
}
#about-history .tl-dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #c8c8c8;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  z-index: 2;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
}
#about-history .timeline-item.is-active .tl-dot {
  background: #FF0000;
}
#about-history .tl-spacer {
  min-height: 1px;
}
#about-history .tl-body {
  padding-top: 0;
}
#about-history .tl-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 34px;
  width: auto;
  margin-top: calc((1.3em - 34px) / 2);
}
#about-history .tl-year {
  font-family: "Lato", sans-serif;
  font-size: 50px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: #9d9d9d;
  margin-bottom: 4px;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
#about-history .timeline-item.is-active .tl-year {
  color: #FF0000;
}
#about-history .tl-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
#about-history .tl-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 10px;
  font-size: 20px;
  line-height: 1.3;
  color: #000;
  margin-bottom: 6px;
}
#about-history .tl-list li:last-child {
  margin-bottom: 0;
}
#about-history .tl-list li::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: calc((1.3em - 8px) / 2);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #000;
}
#about-history .timeline-item--right .tl-spacer {
  -ms-grid-column: 1;
  grid-column: 1;
}
#about-history .timeline-item--right .tl-node {
  -ms-grid-column: 2;
  grid-column: 2;
}
#about-history .timeline-item--right .tl-body {
  -ms-grid-column: 3;
  grid-column: 3;
  padding-left: 30px;
  text-align: left;
}
#about-history .timeline-item--left .tl-body {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
  padding-right: 30px;
  text-align: right;
}
#about-history .timeline-item--left .tl-node {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
}
#about-history .timeline-item--left .tl-spacer {
  -ms-grid-column: 3;
  grid-column: 3;
  -ms-grid-row: 1;
  grid-row: 1;
}
#about-history .timeline-item--left .tl-list li {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media (max-width: 767.98px) {
  #about-history .timeline-wrap {
    padding-left: 0;
  }
  #about-history .timeline-track {
    left: 30px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #about-history .timeline-drop {
    left: 30px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #about-history .timeline-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #about-history .tl-spacer {
    display: none;
  }
  #about-history .tl-node {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 60px;
    padding-top: 14px;
  }
  #about-history .tl-body {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    text-align: left !important;
    padding-left: 12px !important;
    padding-right: 0 !important;
  }
  #about-history .timeline-item--left .tl-body {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #about-history .timeline-item--left .tl-node {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  #about-history .timeline-item--left .tl-list li {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  #about-history .tl-year {
    font-size: 32px;
  }
  #about-history .tl-list li {
    font-size: 16px;
  }
}

@media (max-width: 991.98px) {
  .solution-filter-wrap {
    background: #fff;
    border-radius: 5px;
    -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);
            box-shadow: 0 0 6px rgba(0, 0, 0, 0.15);
    overflow: hidden;
  }
}

.solution-filter-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  padding: 12px 16px;
  font-size: 16px;
  font-weight: 500;
  color: #000;
  background: transparent;
  border: none;
  border-bottom: 1px solid #eee;
  cursor: pointer;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}
.solution-filter-btn i {
  font-size: 14px;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.solution-filter-btn.is-open {
  color: #FF0000;
  border-bottom-color: rgba(255, 0, 0, 0.2);
}
.solution-filter-btn.is-open i {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.solution-cat-menu {
  width: 220px;
}
@media (max-width: 991.98px) {
  .solution-cat-menu {
    width: 100%;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.4s ease;
    transition: max-height 0.4s ease;
  }
  .solution-cat-menu.is-open {
    max-height: 3000px;
    overflow: visible;
  }
}
.solution-cat-menu .cat-toggle-btn {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: none;
  border: none;
  padding: 7px 14px;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  color: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.solution-cat-menu .cat-toggle-btn .cat-icon-plus {
  display: inline;
}
.solution-cat-menu .cat-toggle-btn .cat-icon-minus {
  display: none;
}
.solution-cat-menu .cat-toggle-btn:hover {
  color: #FF0000;
}
.solution-cat-menu .metismenu {
  list-style: none;
  padding: 0;
  margin: 0;
}
.solution-cat-menu .metismenu > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background: #fff;
  border-radius: 5px;
  -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
  margin-bottom: 13px;
  overflow: hidden;
}
@media (max-width: 991.98px) {
  .solution-cat-menu .metismenu > li {
    border-radius: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    margin-bottom: 0;
    border-bottom: 1px solid #f0f0f0;
  }
  .solution-cat-menu .metismenu > li:last-child {
    border-bottom: none;
  }
}
.solution-cat-menu .metismenu > li > a {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: block;
  padding: 7px 14px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.8;
  color: #000;
  text-decoration: none;
}
.solution-cat-menu .metismenu > li > a:hover {
  color: #FF0000;
}
.solution-cat-menu .metismenu > li > ul {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
.solution-cat-menu .metismenu > li.mm-active > a {
  color: #000;
  font-weight: 700;
}
.solution-cat-menu .metismenu > li.mm-active > .cat-toggle-btn {
  color: #000;
}
.solution-cat-menu .metismenu > li.mm-active > .cat-toggle-btn .cat-icon-plus {
  display: none;
}
.solution-cat-menu .metismenu > li.mm-active > .cat-toggle-btn .cat-icon-minus {
  display: inline;
}
.solution-cat-menu .metismenu > li > ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.solution-cat-menu .metismenu > li > ul > li:first-child > a {
  padding-top: 8px;
}
.solution-cat-menu .metismenu > li > ul > li:last-child > a {
  padding-bottom: 10px;
}
.solution-cat-menu .metismenu > li > ul > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.solution-cat-menu .metismenu > li > ul > li > a {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 4px 14px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: #333;
  text-decoration: none;
  gap: 6px;
}
.solution-cat-menu .metismenu > li > ul > li > a::before {
  content: "•";
  font-size: 16px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #333;
}
.solution-cat-menu .metismenu > li > ul > li > a:hover {
  color: #000;
  font-weight: 700;
}
.solution-cat-menu .metismenu > li > ul > li > a:hover::before {
  color: #000;
}
.solution-cat-menu .metismenu > li > ul > li > ul {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
.solution-cat-menu .metismenu > li > ul > li.mm-active > a {
  color: #FF0000;
  font-weight: 700;
}
.solution-cat-menu .metismenu > li > ul > li.mm-active > a::before {
  color: #000;
}
.solution-cat-menu .metismenu > li > ul > li.mm-active > .cat-toggle-btn {
  color: #000;
}
.solution-cat-menu .metismenu > li > ul > li.mm-active > .cat-toggle-btn .cat-icon-plus {
  display: none;
}
.solution-cat-menu .metismenu > li > ul > li.mm-active > .cat-toggle-btn .cat-icon-minus {
  display: inline;
}
.solution-cat-menu .metismenu > li > ul > li > ul {
  list-style: none;
  padding: 0 0 0 24px;
  margin: 0;
}
.solution-cat-menu .metismenu > li > ul > li > ul > li:first-child > a {
  padding-top: 4px;
}
.solution-cat-menu .metismenu > li > ul > li > ul > li:last-child > a {
  padding-bottom: 6px;
}
.solution-cat-menu .metismenu > li > ul > li > ul > li > a {
  display: block;
  padding: 3px 14px;
  font-size: 14px;
  line-height: 1.6;
  color: #666;
  text-decoration: none;
}
.solution-cat-menu .metismenu > li > ul > li > ul > li > a:hover {
  color: #000;
}
.solution-cat-menu .metismenu > li > ul > li > ul > li.mm-active > a {
  color: #FF0000;
  font-weight: 600;
}

.solution-cat-desc {
  font-size: 16px;
  line-height: 1.8;
  color: #4c4c4c;
}
.solution-cat-desc p + p {
  margin-top: 0.5em;
}

.solution-cat-application {
  background: #f7f7f7;
  border-radius: 10px;
  -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  padding: 16px 18px 20px;
}
.solution-cat-application-title {
  font-size: 20px;
  font-weight: 700;
  color: #FF0000;
  line-height: 1.8;
  margin-bottom: 8px;
}
.solution-cat-application-body {
  font-size: 16px;
  line-height: 1.8;
  color: #4c4c4c;
}
.solution-cat-application-body p {
  margin: 0;
}
.solution-cat-application-body p + p {
  margin-top: 2px;
}

.solution-extended-wrap {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 12px;
}

.solution-extended-grid {
  --bs-gutter-x: 16px;
  --bs-gutter-y: 25px;
}

.solution-related-title {
  font-size: 25px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
  color: #000;
  margin-bottom: 24px;
}

.solution-sections-bg {
  position: relative;
}
.solution-sections-bg .bg01 {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 80%;
  z-index: 0;
}
.solution-sections-bg .bg01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.solution-sections-bg .bg01:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(241, 241, 241, 0.96);
  z-index: 1;
}
.solution-sections-bg > section {
  position: relative;
  z-index: 2;
}
.solution-sections-bg .solution-extended {
  padding-bottom: 0 !important;
}
.solution-sections-bg .solution-cta-banner {
  padding-top: 100px !important;
}
@media (max-width: 767.98px) {
  .solution-sections-bg .solution-cta-banner {
    padding-top: 60px !important;
  }
}

.solution-cta-inner {
  position: relative;
  height: 330px;
  border-radius: 20px;
  overflow: hidden;
}
@media (max-width: 767.98px) {
  .solution-cta-inner {
    height: 260px;
  }
}

.solution-cta-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% calc(var(--fa-scroll--custom) * 100%);
     object-position: 50% calc(var(--fa-scroll--custom) * 100%);
  z-index: 1;
}

.solution-cta-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.64);
  z-index: 2;
}

.solution-cta-content {
  position: relative;
  z-index: 3;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  gap: 24px;
}

.solution-cta-title {
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  line-height: 1.8;
}
@media (max-width: 767.98px) {
  .solution-cta-title {
    font-size: 24px;
  }
}

.solution-cta-btn {
  min-width: 180px;
  height: 48px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 16px;
  font-weight: 500;
  border-radius: 4px;
  -webkit-transition: background 0.2s, color 0.2s;
  transition: background 0.2s, color 0.2s;
}

.solution-list {
  --bs-gutter-x: 15px;
  --bs-gutter-y: 2rem;
}

.solution-item {
  display: block;
  text-decoration: none;
  color: inherit;
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
}
.solution-item:hover {
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
  color: inherit;
}
.solution-item .solution-item-img {
  border-radius: 10px;
  overflow: hidden;
}
.solution-item .solution-item-img img {
  display: block;
  width: 100%;
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
}
.solution-item .solution-item-body {
  padding: 18px 16px 20px;
  text-align: center;
}
.solution-item .solution-item-title {
  font-size: 20px;
  font-weight: 700;
  color: #000;
  line-height: 1.8;
  margin-bottom: 6px;
}
.solution-item .solution-item-desc {
  font-size: 16px;
  color: #4c4c4c;
  line-height: 1.8;
  margin: 0;
}

.sub-divider {
  border-color: #B5B5B5;
  opacity: 1;
}

.sub-product-list {
  --bs-gutter-x: 15px;
  --bs-gutter-y: 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 767.98px) {
  .sub-product-list {
    --bs-gutter-y: 2rem;
  }
}

.sub-product-list > [class*=col-] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.product-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  text-decoration: none;
  color: inherit;
  background: #F7F7F7;
  border-radius: 10px;
  overflow: hidden;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.product-item:hover {
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
  color: inherit;
}
.product-item .product-item-img img {
  display: block;
  width: 100%;
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
}
.product-item .product-item-body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 14px 16px 20px;
  text-align: center;
}
.product-item .product-item-title {
  font-size: 20px;
  font-weight: 700;
  color: #000;
  line-height: 1.8;
  margin-bottom: 10px;
}
.product-item .product-item-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
}

.product-tag {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2px 16px;
  border-radius: 99px;
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  line-height: 1.8;
}

.detail-main-img {
  border-radius: 4px;
  overflow: hidden;
}
.detail-main-img img {
  display: block;
  width: 100%;
  aspect-ratio: 21/10;
  -o-object-fit: cover;
     object-fit: cover;
}

.detail-performance {
  background: #F7F7F7;
  border-radius: 10px;
  -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  padding: 24px;
}
.detail-performance-title {
  font-size: 20px;
  font-weight: 700;
  color: #FF0000;
  line-height: 1.8;
  margin-bottom: 12px;
}

.detail-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
  line-height: 1.8;
}
.detail-table tr:nth-child(odd) {
  background: #F7F7F7;
}
.detail-table tr:nth-child(even) {
  background: #fff;
}
.detail-table th, .detail-table td {
  padding: 3px 10px;
  vertical-align: middle;
  height: 35px;
}
.detail-table th {
  font-weight: 700;
  color: #000;
  width: 54%;
}
@media (max-width: 767.98px) {
  .detail-table th {
    width: 50%;
  }
}
.detail-table td {
  font-weight: 400;
  color: #4C4C4C;
}

.detail-back-btn {
  min-width: 180px;
  font-size: 18px;
}

.news-cats {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 991.98px) {
  .news-cats {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  .news-cats::-webkit-scrollbar {
    display: none;
  }
}

#news-main .news-cats {
  -ms-flex-wrap: wrap !important;
      flex-wrap: wrap !important;
  overflow-x: visible !important;
}

.news-cat-btn {
  min-width: 180px;
  padding: 10px 24px;
  border: none;
  border-radius: 5px;
  font-size: 18px;
  cursor: pointer;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
  background: #F7F7F7;
  color: #231815;
}
@media (max-width: 991.98px) {
  .news-cat-btn {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.news-cat-btn:hover, .news-cat-btn.active {
  background: rgba(255, 0, 0, 0.8);
  color: #fff;
}

.news-card {
  display: block;
  text-decoration: none;
  color: #231815;
  height: 100%;
}
.news-card:hover .news-card-img img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.news-card-img {
  overflow: hidden;
  border-radius: 10px;
  aspect-ratio: 380/260;
}
.news-card-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}

.news-card-body {
  padding: 12px 10px;
}

.news-card-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 18px;
  color: #FF0000;
}

.news-meta-divider {
  display: inline-block;
  width: 1px;
  height: 16px;
  background: #FF0000;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.news-card-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#news-detail .news-detail-wrap {
  max-width: 980px;
  margin: 0 auto;
}
#news-detail .news-card-meta {
  margin-bottom: 12px;
}
#news-detail .news-detail-title {
  font-weight: 700;
  line-height: 1.8;
  margin-bottom: 20px;
}
#news-detail .news-detail-hr {
  border: none;
  border-top: 1px solid #B8B8B8;
  margin: 0 0 32px;
}
#news-detail .news-detail-img {
  margin-bottom: 40px;
}
#news-detail .news-detail-editor {
  margin-bottom: 48px;
}
#news-detail .news-detail-editor p {
  margin-bottom: 1.5em;
}
#news-detail .news-detail-editor p:last-child {
  margin-bottom: 0;
}
#news-detail .news-share {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  margin-bottom: 48px;
  padding-bottom: 32px;
}
#news-detail .news-share-label {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
#news-detail .news-share-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
#news-detail .news-share-icon {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 24px;
  line-height: 1;
  text-decoration: none;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
#news-detail .news-share-icon:hover {
  opacity: 0.75;
}
#news-detail .wechat-qr-popup {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 12px;
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  text-align: center;
  width: 180px;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  z-index: 10;
}
#news-detail .wechat-qr-popup.is-show {
  opacity: 1;
  pointer-events: auto;
}
#news-detail .wechat-qr-popup img {
  width: 140px;
  height: 140px;
  display: block;
  margin: 0 auto 8px;
}
#news-detail .wechat-qr-popup p {
  font-size: 12px;
  color: #C41A1A;
  margin: 0;
  line-height: 1.5;
}
#news-detail .share-copied-tip {
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.75);
  color: #fff;
  font-size: 12px;
  white-space: nowrap;
  padding: 3px 8px;
  border-radius: 4px;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
#news-detail .share-copied-tip.is-show {
  opacity: 1;
}
#news-detail .news-nav-btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
@media (max-width: 575.98px) {
  #news-detail .news-nav-btns {
    gap: 8px;
  }
}
#news-detail .news-nav-btn {
  min-width: 146px;
  height: 48px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 16px;
  letter-spacing: 0.06em;
  border-radius: 5px;
  text-decoration: none;
  -webkit-transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}
#news-detail .news-nav-btn.btn-outline-dark {
  border: 1px solid #231815;
  background: transparent;
  color: #231815;
}
#news-detail .news-nav-btn.btn-outline-dark:hover {
  background: #231815;
  color: #fff;
}
#news-detail .news-nav-btn--back {
  min-width: 280px;
}
@media (max-width: 575.98px) {
  #news-detail .news-nav-btn {
    min-width: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  #news-detail .news-nav-btn--back {
    min-width: 0;
    -webkit-box-flex: 1.2;
        -ms-flex: 1.2;
            flex: 1.2;
  }
}

.news-banner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 20px;
  overflow: hidden;
  height: 330px;
  text-decoration: none;
}
@media (max-width: 575.98px) {
  .news-banner {
    height: 220px;
  }
}

.news-banner-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}

.news-banner:hover .news-banner-img {
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
}

.news-banner:hover .btn-more {
  background-color: #fff;
  color: #231815;
}

.news-banner-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.64);
  border-radius: 20px;
}

.news-banner-content {
  position: relative;
  z-index: 1;
  text-align: center;
  width: 100%;
}

.contact-info-panel {
  background: #F7F7F7;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.contact-info-body {
  padding: 26px 28px 0;
}

.contact-company-name {
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-left: 4px;
}

.contact-company-name-en {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.06em;
  margin-left: 4px;
  margin-bottom: 19px;
}

.contact-info-list {
  list-style: none;
  padding: 0;
  margin: 0 0 0 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3px;
}
.contact-info-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 10px;
  font-size: 16px;
  line-height: 1.8;
  color: #231815;
}
.contact-info-list .contact-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 7px;
  color: #FF0000;
}
.contact-info-list .contact-icon [class*=fa] {
  font-size: 15px;
  line-height: 1;
}
.contact-info-list .contact-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  line-height: 1.8;
}
.contact-info-list a {
  color: #231815;
  text-decoration: none;
}
.contact-info-list a:hover {
  color: #FF0000;
}

.contact-info-map {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-height: 300px;
  padding: 28px 28px 43px;
}
@media (max-width: 991.98px) {
  .contact-info-map {
    padding: 24px 0 0;
    min-height: 280px;
  }
}
.contact-info-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  border: 0;
}

.contact-form-wrap {
  padding-left: 24px;
}
@media (max-width: 991.98px) {
  .contact-form-wrap {
    padding-left: 0;
  }
}

.contact-form-title {
  font-size: 1.5625rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-bottom: 40px;
}

.form .form-control,
.form .form-select {
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid #B8B8B8;
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding-left: 4px;
}
.form .form-control:focus,
.form .form-select:focus {
  border-color: #FF0000;
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.form .form-control:not(:-moz-placeholder), .form .form-select:not(:-moz-placeholder) {
  border-color: #FF0000;
}
.form .form-control:not(:-ms-input-placeholder), .form .form-select:not(:-ms-input-placeholder) {
  border-color: #FF0000;
}
.form .form-control:not(:placeholder-shown),
.form .form-select:not(:placeholder-shown) {
  border-color: #FF0000;
}
.form .form-floating > label {
  color: #231815;
  padding-left: 4px;
}
.form .form-floating > label::after {
  display: none;
}
.form .form-floating.required > label::after {
  content: " *";
  display: inline;
  color: #FF0000;
  position: static;
  background: none;
}
.form .form-floating > .form-control:not(:-moz-placeholder) ~ label, .form .form-floating > .form-select:not(:-moz-placeholder) ~ label {
  transform: translateY(-0.8rem) scale(0.85);
}
.form .form-floating > .form-control:not(:-ms-input-placeholder) ~ label, .form .form-floating > .form-select:not(:-ms-input-placeholder) ~ label {
  transform: translateY(-0.8rem) scale(0.85);
}
.form .form-floating > .form-control:focus ~ label,
.form .form-floating > .form-control:not(:placeholder-shown) ~ label,
.form .form-floating > .form-select:not(:placeholder-shown) ~ label {
  -webkit-transform: translateY(-0.8rem) scale(0.85);
          transform: translateY(-0.8rem) scale(0.85);
}
.form .contact-textarea {
  min-height: 107px;
  resize: vertical;
}
.form .contact-gender .form-check-input {
  border-color: #C41A1A;
  cursor: pointer;
}
.form .contact-gender .form-check-input:checked {
  background-color: #FF0000;
  border-color: #FF0000;
}
.form .contact-gender .form-check-label {
  font-size: 16px;
  cursor: pointer;
}
.form .contact-how-label {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
.form .form-check-input {
  border-color: #C41A1A;
  cursor: pointer;
  width: 18px;
  height: 18px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.form .form-check-input:checked {
  background-color: #FF0000;
  border-color: #FF0000;
}
.form .form-check-label {
  font-size: 16px;
  cursor: pointer;
  letter-spacing: 0.06em;
}
.form .contact-how-options {
  gap: 19px;
}
.form .contact-captcha {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.form .contact-submit-btn {
  min-width: 280px;
  height: 48px;
  border: 1px solid #231815;
  background: transparent;
  color: #231815;
  font-family: "Lato", sans-serif;
  font-size: 16px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 5px;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
}
.form .contact-submit-btn:hover {
  background: #231815;
  color: #fff;
}
@media (max-width: 575.98px) {
  .form .contact-submit-btn {
    min-width: 200px;
  }
}

.location-subtitle {
  font-size: 1.25rem;
  color: #4c4c4c;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.map-touch-hint {
  color: #C41A1A;
  font-size: 13px;
  letter-spacing: 0.05em;
}
.map-touch-hint i {
  color: #FF0000;
}

.location-map-wrap {
  position: relative;
  aspect-ratio: 979/654;
  overflow: hidden;
  cursor: -webkit-grab;
  cursor: grab;
  -ms-touch-action: none;
      touch-action: none;
}
.location-map-wrap:active {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.map-inner {
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-user-select: none;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
}
.map-inner .map-bg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  pointer-events: none;
}

.map-pins-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
}
.map-pins-svg .pin-group {
  cursor: pointer;
}
.map-pins-svg .pin-group .pin-ring-outer {
  fill: #fff;
  stroke: #4c4c4c;
  stroke-width: 1.5;
  -webkit-transition: stroke 0.25s;
  transition: stroke 0.25s;
}
.map-pins-svg .pin-group .pin-ring-mid {
  fill: none;
  stroke: #4c4c4c;
  stroke-width: 1.5;
  -webkit-transition: stroke 0.25s;
  transition: stroke 0.25s;
}
.map-pins-svg .pin-group .pin-dot {
  fill: #4c4c4c;
  -webkit-transition: fill 0.25s;
  transition: fill 0.25s;
}
.map-pins-svg .pin-group .pin-conn {
  stroke: #4c4c4c;
  stroke-width: 1.5;
  fill: none;
  -webkit-transition: stroke 0.25s;
  transition: stroke 0.25s;
}
.map-pins-svg .pin-group .pin-label-bg {
  fill: #4c4c4c;
  -webkit-transition: fill 0.25s;
  transition: fill 0.25s;
}
.map-pins-svg .pin-group .pin-label-text {
  fill: #fff;
  font-family: "Noto Sans TC", sans-serif;
  letter-spacing: 0.08em;
  white-space: nowrap;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
}
.map-pins-svg .pin-group:hover .pin-ring-outer, .map-pins-svg .pin-group.is-active .pin-ring-outer {
  stroke: #FF0000;
}
.map-pins-svg .pin-group:hover .pin-ring-mid, .map-pins-svg .pin-group.is-active .pin-ring-mid {
  stroke: #FF0000;
}
.map-pins-svg .pin-group:hover .pin-dot, .map-pins-svg .pin-group.is-active .pin-dot {
  fill: #FF0000;
}
.map-pins-svg .pin-group:hover .pin-conn, .map-pins-svg .pin-group.is-active .pin-conn {
  stroke: #FF0000;
}
.map-pins-svg .pin-group:hover .pin-label-bg, .map-pins-svg .pin-group.is-active .pin-label-bg {
  fill: #FF0000;
}

.location-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 70px;
}

.location-grid {
  --bs-gutter-x: 20px;
  --bs-gutter-y: 27px;
}

.location-card {
  position: relative;
  padding-top: 18px;
  height: 100%;
  scroll-margin-top: 100px;
}
.location-card-city {
  position: absolute;
  left: 12px;
  z-index: 1;
  background: #4c4c4c;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  height: 36px;
  line-height: 36px;
  padding: 0 12px;
  border-radius: 6px;
  white-space: nowrap;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.location-card-body {
  background: #F7F7F7;
  border-radius: 10px;
  -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
  padding: 10px;
  height: 100%;
}
.location-card-img {
  background: #fff;
  aspect-ratio: 356/200;
  border-radius: 6px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 16px 24px;
}
.location-card-img img {
  max-width: 67%;
  height: auto;
  display: block;
}
.location-card-content {
  padding: 16px 20px 10px;
}
.location-card-company {
  font-size: 1.25rem;
  font-weight: 700;
  color: #000;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-bottom: 8px;
}
.location-card.is-active .location-card-city {
  background: #FF0000;
}

.location-info-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
.location-info-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 10px;
  font-size: 16px;
  color: #000;
}
.location-info-list .contact-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.8;
  font-size: 16px;
  text-align: center;
  padding-top: 6px;
  color: #FF0000;
}
.location-info-list .contact-icon [class*=fa] {
  line-height: 1.8;
}
.location-info-list .contact-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  line-height: 1.8;
}
.location-info-list a {
  color: #000;
  text-decoration: none;
}
.location-info-list a:hover {
  color: #FF0000;
}