/* Homepage/header/footer parity corrections for native Elementor containers. */
body.home.chen-elementor-site .chen-page-main > .row.e-con {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

body.home.chen-elementor-site .chen-page-main > .row.e-con > .component.e-con {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: none !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.home.chen-elementor-site .chen-page-main > .row.e-con > .component.e-con .row.e-con:not(.g-0),
body.chen-elementor-site .hab-footer .row.e-con {
  width: calc(100% + 24px) !important;
  max-width: none !important;
}

/* Elementor typography controls must not replace the locally hosted Urbanist face. */
body.chen-elementor-site .chen-native-text,
body.chen-elementor-site .chen-native-text *,
body.chen-elementor-site .chen-native-heading .elementor-heading-title,
body.chen-elementor-site .chen-native-button,
body.chen-elementor-site .chen-native-button * {
  font-family: Urbanist, sans-serif !important;
}

body.chen-elementor-site .chen-native-text i.fa,
body.chen-elementor-site .chen-native-text i.fa-solid,
body.chen-elementor-site .chen-native-text i.fas {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
}

body.chen-elementor-site .chen-native-text i.fa-brands,
body.chen-elementor-site .chen-native-text i.fab {
  font-family: "Font Awesome 6 Brands" !important;
  font-weight: 400 !important;
}

body.chen-elementor-site .header-section .logo-menu-container.e-con,
body.chen-elementor-site .header-section .header-icons.e-con,
body.chen-elementor-site .header-section .header-icons .dropdown.e-con,
body.chen-elementor-site .header-section .header-icons .row.e-con,
body.chen-elementor-site .header-section .header-icons nav.container.e-con,
body.chen-elementor-site .header-section .header-icons .nav--wrapper.e-con {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
}

body.chen-elementor-site .header-section .logo-menu-container.e-con {
  gap: 3rem !important;
}

body.chen-elementor-site .header-section .logo-menu-container.e-con > .navbar-brand.e-con,
body.chen-elementor-site .header-section .logo-menu-container.e-con > .navbar-nav {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
}

body.chen-elementor-site .header-section .header-icons.e-con {
  margin-left: auto !important;
  gap: 1.5rem !important;
}

body.chen-elementor-site .header-section .header-icons .row.e-con {
  margin-right: -12px !important;
  margin-left: -12px !important;
}

body.chen-elementor-site .header-section .header-icons nav.container.e-con {
  padding: 17px 23px !important;
}

body.chen-elementor-site .header-section .header-icons .nav--wrapper.e-con > button {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #000 !important;
  border: 0 !important;
  background: transparent !important;
}

body.chen-elementor-site .hab-footer .footer-bottom.e-con > .chen-native-container.e-con {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
}

body.home.chen-elementor-site .focus-section .card-main-link.e-con {
  display: inline !important;
}

body.home.chen-elementor-site .focus-section .focus-content h4.elementor-heading-title {
  margin-bottom: .5rem !important;
}

/* Native Elementor's display:contents wrappers leave a trailing inline line box.
 * Remove that seven-pixel artifact while preserving each visible child's own type metrics. */
body.home.chen-elementor-site .presence-left,
body.chen-elementor-site .hab-footer .footer-intro {
  font-size: 0 !important;
  line-height: 0 !important;
}

body.chen-elementor-site .hab-footer .footer-intro .footer-btn {
  line-height: normal !important;
}

@media (min-width: 992px) {
  body.chen-elementor-site .header-section .header-icons.e-con {
    width: 108.859px !important;
    height: 58px !important;
  }

  body.chen-elementor-site .header-section .header-icons .row.e-con,
  body.chen-elementor-site .header-section .header-icons nav.container.e-con {
    width: 90.859px !important;
    height: 58px !important;
  }

  body.chen-elementor-site .header-section .header-icons nav.container.e-con {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  body.chen-elementor-site .hab-footer .footer-intro {
    line-height: 5px !important;
  }
}

@media (max-width: 991.98px) {
  body.chen-elementor-site .header-section .mobile-header-row.e-con > .navbar-brand.e-con,
  body.chen-elementor-site .header-section .mobile-header-row.e-con > .mobile-right-icons.e-con {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
  }

  body.chen-elementor-site .header-section .mobile-header-row.e-con > .mobile-right-icons.e-con {
    margin-left: auto !important;
    gap: 1rem !important;
  }

  /* The source hides the desktop-sized title in video-main on mobile. */
  body.home.chen-elementor-site .video-main > .chen-native-heading .banner-title {
    display: none !important;
  }

  body.home.chen-elementor-site .mobile-tab-numbers.e-con {
    flex-wrap: nowrap !important;
    justify-content: center !important;
  }

  body.home.chen-elementor-site .mobile-tab-numbers.e-con > .mobile-tab-item.e-con {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
  }

}

@media (max-width: 767px) {
  body.chen-elementor-site .hab-footer .footer-bottom.e-con > .footer-bottom-center.e-con,
  body.chen-elementor-site .hab-footer .footer-bottom.e-con > .footer-bottom-right.e-con {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Subtle, local, dependency-free module entrances. */
html.chen-motion-ready body.home .chen-reveal-module,
html.chen-motion-ready body.home .chen-reveal-item,
html.chen-motion-ready body.home .chen-reveal-header {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  transition:
    opacity 680ms cubic-bezier(.22, 1, .36, 1),
    transform 680ms cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--chen-reveal-delay, 0ms);
  will-change: opacity, transform;
}

html.chen-motion-ready body.home .chen-reveal-header {
  transform: translate3d(0, -18px, 0);
}

html.chen-motion-ready body.home .chen-reveal-module.chen-reveal-visible,
html.chen-motion-ready body.home .chen-reveal-item.chen-reveal-visible,
html.chen-motion-ready body.home .chen-reveal-header.chen-reveal-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  html.chen-motion-ready body.home .chen-reveal-module,
  html.chen-motion-ready body.home .chen-reveal-item,
  html.chen-motion-ready body.home .chen-reveal-header {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
  }
}
