.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-20 .elementor-element.elementor-element-51e507e2 .elementor-menu-toggle{margin-left:auto;}@media(max-width:1024px){.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}}@media(max-width:767px){.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}}/* Start custom CSS *//* Main navigation (Elementor Pro Nav Menu) â€“ 51e507e2 is replaced with the widget id */
.elementor.elementor-20 .elementor-element-51e507e2 { flex-grow: 1; gap: 0; }
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main > ul > li { margin: 0 2px; }
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main .elementor-item {
  color: #233F55; fill: #233F55; font-family: "Montserrat", sans-serif; font-size: 14px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .05em; padding: 16px 20px; transition: color .3s ease;
}
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main .elementor-item:hover,
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main .elementor-item:focus,
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main .elementor-item.highlighted,
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main .elementor-item.elementor-item-active { color: #37A647; fill: #37A647; }
/* one short underline, centred under the label, that grows on hover and stays on the current page */
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main .elementor-item:before { display: none !important; }
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main .elementor-item:after {
  content: "" !important; display: block !important; position: absolute; top: auto !important; bottom: 8px !important;
  left: 50% !important; right: auto !important; width: 0 !important; height: 3px !important; margin: 0 !important;
  border-radius: 3px; background-color: #37A647 !important; opacity: 1 !important; transform: translateX(-50%) !important;
  transition: width .35s cubic-bezier(.22, 1, .36, 1) !important;
}
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main .elementor-item:hover:after,
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main .elementor-item:focus:after,
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main .elementor-item.highlighted:after,
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main .elementor-item.elementor-item-active:after { width: 26px !important; }
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main .sub-arrow { color: #37A647; fill: #37A647; font-size: 10px; transition: transform .3s ease; }
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main .has-submenu.highlighted .sub-arrow { transform: rotate(180deg); }
/* dropdown: floating rounded card, no coloured top border (it read as a second underline) */
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main ul.sub-menu {
  min-width: 240px !important; margin-top: 10px !important; background-color: #FFFFFF; border: 1px solid #E6EDF1 !important;
  border-radius: 14px; box-shadow: 0 22px 48px rgba(35, 63, 85, .16); padding: 8px !important; overflow: visible;
}
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main ul.sub-menu:before {
  content: ""; position: absolute; top: -12px; left: 0; right: 0; height: 12px; /* hover bridge across the gap */
}
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item {
  color: #233F55; background-color: transparent; font-family: "Montserrat", sans-serif; font-size: 14px; font-weight: 600;
  text-transform: none; letter-spacing: 0; padding: 11px 16px; border: 0 !important; border-radius: 9px;
  transition: background-color .25s ease, color .25s ease, padding-left .25s ease;
}
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item:after { display: none !important; }
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item:hover,
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item:focus,
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item.highlighted {
  color: #2E9440; background-color: #EEF8F0; padding-left: 22px;
}
/* wider header on large screens gives the menu room to breathe */
@media (min-width: 1500px) {
  .elementor.elementor-20 .elementor-element-6cfe9a0b,
  .elementor.elementor-20 .elementor-element-4cddcb84 { max-width: 1400px; }
}
/* keep the menu on one line on smaller laptops */
@media (max-width: 1499.98px) {
  .elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main .elementor-item { padding: 16px 16px; }
}
@media (min-width: 1025px) and (max-width: 1499.98px) {
  .elementor.elementor-20 .elementor-element-6cfe9a0b img { width: 200px; }
}
@media (max-width: 1280px) {
  .elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main > ul > li { margin: 0; }
  .elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu--main .elementor-item { padding: 16px 12px; font-size: 13px; letter-spacing: .03em; }
}
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-nav-menu a { cursor: pointer; }

/* hamburger + dropdown panel (tablet / mobile) */
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-menu-toggle {
  color: #FFFFFF; fill: #FFFFFF; background-color: #233F55; width: 44px; height: 44px; border-radius: 12px;
  font-size: 22px; --nav-menu-icon-size: 22px; transition: background-color .3s;
}
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-menu-toggle svg { fill: #FFFFFF; }
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-menu-toggle:hover,
.elementor.elementor-20 .elementor-element-51e507e2 .elementor-menu-toggle.elementor-active { background-color: #37A647; }
.elementor.elementor-20 .elementor-element-51e507e2 nav.elementor-nav-menu--dropdown {
  background-color: #FFFFFF; box-shadow: 0 18px 40px rgba(35, 63, 85, .2); border-radius: 0 0 14px 14px; overflow: hidden; margin-top: 0;
}
.elementor.elementor-20 .elementor-element-51e507e2 nav.elementor-nav-menu--dropdown a {
  color: #233F55; background-color: #FFFFFF; font-family: "Montserrat", sans-serif; font-size: 15px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .05em; padding: 14px 24px; border-bottom: 1px solid #EEF2F4; border-left: 3px solid transparent;
}
.elementor.elementor-20 .elementor-element-51e507e2 nav.elementor-nav-menu--dropdown a:hover,
.elementor.elementor-20 .elementor-element-51e507e2 nav.elementor-nav-menu--dropdown a.highlighted { color: #2E9440; background-color: #EEF8F0; border-left-color: #37A647; }
.elementor.elementor-20 .elementor-element-51e507e2 nav.elementor-nav-menu--dropdown ul.sub-menu a {
  font-size: 14px; font-weight: 600; text-transform: none; letter-spacing: 0; padding-left: 40px; background-color: #FAFCFA;
}
.elementor.elementor-20 .elementor-element-51e507e2 nav.elementor-nav-menu--dropdown .sub-arrow { color: #37A647; fill: #37A647; }

@media (max-width: 1024px) {
  .elementor.elementor-20 .elementor-element-51e507e2 { flex-grow: 0; order: 3; position: static; }
  .elementor.elementor-20 .elementor-element-358afd12 { position: relative; }
  .elementor.elementor-20 .elementor-element-6cfe9a0b { position: static; }
  .elementor.elementor-20 .elementor-element-51e507e2 nav.elementor-nav-menu--dropdown {
    position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important;
    width: 100% !important; max-width: none !important; z-index: 9999;
  }
  .elementor.elementor-20 .elementor-element-5743a976 { margin-left: auto; }
}
@media (max-width: 767px) {
  .elementor.elementor-20 .elementor-element-51e507e2 .elementor-menu-toggle { width: 42px; height: 42px; }
}/* End custom CSS */