.elementor-95 .elementor-element.elementor-element-f7a7cec{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-95 .elementor-element.elementor-element-bce3b0f{width:100%;max-width:100%;}.elementor-95 .elementor-element.elementor-element-bce3b0f > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-bce3b0f */@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500&family=Reenie+Beanie&display=swap');

/* Reset and base styles specifically for the menu component */
.top-menu *,
.top-menu *::before,
.top-menu *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Main container styles with increased specificity */
.top-menu.site-header {
  display: flex !important;
  padding-left: 70px !important;
  padding-right: 70px !important;
  padding-top: 48px !important;
  flex-direction: column !important;
  align-items: center !important;
  background-color: #FFF !important;
  font-family: 'Noto Sans', -apple-system, Roboto, Helvetica, sans-serif !important;
  width: 100% !important;
  max-width: 100% !important;
  position: relative !important;
  z-index: 100 !important;
}

.top-menu .menu-container {
  display: flex !important;
  width: 1198px !important;
  max-width: 100% !important;
  align-items: stretch !important;
  gap: 7px !important;
  flex-wrap: wrap !important;
}

.top-menu .menu-content {
  flex-grow: 1 !important;
  flex-shrink: 0 !important;
  flex-basis: 0 !important;
  width: fit-content !important;
}

/* Header top section with logo and CTA */
.top-menu .header-top {
  display: flex !important;
  margin-left: 20px !important;
  width: 100% !important;
  align-items: flex-start !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
}

.top-menu .logo-section {
  display: flex !important;
  align-items: stretch !important;
  gap: 20px !important;
  font-size: 21px !important;
  color: #111111 !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}

.top-menu .logo {
  aspect-ratio: 2.65 !important;
  object-fit: contain !important;
  object-position: center !important;
  width: 114px !important;
  flex-shrink: 0 !important;
  max-width: 100% !important;
}

.top-menu .company-tagline {
  font-weight: 400 !important;
  line-height: 21px !important;
  margin-top: auto !important;
  margin-bottom: auto !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  flex-grow: 1 !important;
  flex-shrink: 1 !important;
  flex-basis: auto !important;
  font-family: 'Noto Sans', -apple-system, Roboto, Helvetica, sans-serif !important;
  font-size: 21px !important;
}

.top-menu .cta-button {
  font-weight: 500 !important;
  line-height: 1.2 !important;
  border-radius: 50px !important;
  background-color: rgba(51, 167, 86, 1) !important;
  padding: 11px 36px 12px !important;
  font-size: 16px !important;
  color: #ffffff !important;
  text-align: right !important;
  text-decoration: none !important;
  display: inline-block !important;
  font-family: 'Noto Sans', -apple-system, Roboto, Helvetica, sans-serif !important;
}

/* Header bottom section with navigation and tagline */
.top-menu .header-bottom {
  display: flex !important;
  margin-top: 14px !important;
  width: 100% !important;
  align-items: flex-start !important;
  gap: 20px !important;
  color: #111111 !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
}

.top-menu .main-navigation {
  display: flex !important;
  margin-top: 4px !important;
  align-items: stretch !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  justify-content: flex-start !important;
}

.top-menu .nav-list {
  display: flex !important;
  list-style: none !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
  padding: 0 !important;
}

.top-menu .nav-item {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.top-menu .nav-link {
  display: block !important;
  font-weight: 400 !important;
  line-height: 18px !important;
  padding: 17px 20px 24px !important;
  color: #111111 !important;
  text-decoration: none !important;
  font-family: 'Noto Sans', -apple-system, Roboto, Helvetica, sans-serif !important;
  font-size: 20px !important;
}

.top-menu .nav-link:hover,
.top-menu .nav-link:focus {
  text-decoration: underline !important;
}

.top-menu .tagline-handwritten {
  text-align: right !important;
  font-family: 'Reenie Beanie', sans-serif !important;
  font-size: 25px !important;
  font-weight: 500 !important;
  line-height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.top-menu .menu-icon {
  aspect-ratio: 0.49 !important;
  object-fit: contain !important;
  object-position: center !important;
  width: 21px !important;
  margin-top: auto !important;
  margin-bottom: auto !important;
  flex-shrink: 0 !important;
}

/* Responsive styles */
@media (max-width: 991px) {
  .top-menu.site-header {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .top-menu .menu-content {
    max-width: 100% !important;
  }

  .top-menu .header-top {
    max-width: 100% !important;
  }

  .top-menu .cta-button {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .top-menu .header-bottom {
    max-width: 100% !important;
  }

  .top-menu .main-navigation {
    max-width: 100% !important;
  }
}

/* Homepage-specific overrides */
body.home .top-menu.site-header,
.home .top-menu.site-header,
.page-template-home .top-menu.site-header,
.page-template-homepage .top-menu.site-header,
.page-template-front-page .top-menu.site-header,
.front-page .top-menu.site-header {
  /* Additional homepage-specific styles if needed */
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}/* End custom CSS */