.elementor-kit-9247{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;font-family:"Crimson Text", Sans-serif;}.elementor-kit-9247 e-page-transition{background-color:#FFBC7D;}.elementor-kit-9247 a{color:#667B7B;font-size:19px;font-weight:400;font-style:italic;letter-spacing:1.2px;}.elementor-kit-9247 a:hover{text-decoration:underline;}.elementor-kit-9247 h1{font-family:"Crimson Text", Sans-serif;font-size:32px;font-weight:400;text-transform:uppercase;letter-spacing:3.7px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.menu-item-has-children:hover > .sub-menu {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  height: auto !important;
  max-height: none !important;
}

/* Ensure proper positioning and stacking */
.menu-item-has-children { position: relative; }
.menu-item-has-children > .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 9999;

  /* Make the white box fit the text */
  min-width: 240px;          /* baseline width */
  width: max-content;        /* grow to fit longest item */
  max-width: 90vw;           /* safety cap */
  box-sizing: border-box;

  /* Typical submenu styling; adjust to match theme */
  background: #fff;
  border: 1px solid #e5e7eb;
  padding: 6px 0;
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
}

/* Ensure each item contributes to the box size */
.menu-item-has-children > .sub-menu li a {
  display: block;
  padding: 8px 14px;
  white-space: nowrap;        /* prevents wrapping that can overflow the box */
  line-height: 1.2;
}

/* If your theme sets overflow/clip anywhere above, undo it */
.site-header, .main-navigation, .elementor-nav-menu {
  overflow: visible !important;
}/* End custom CSS */