/* ALP Smart Menus: styles only affect generated sections, not other Divi menus. */
.alpsm-logo-column,.alpsm-navigation-column { min-width:0; }
/* The native Image module owns its Sizing settings. Do not cap its width here.
   Its actual image scales to whatever width Design -> Sizing defines. */
.alpsm-logo img { display:block; width:100%; max-width:100%; height:auto; object-fit:contain; }
.alpsm-navigation-row { overflow:visible !important; }
/* Keep native dropdowns inside a predictable navigation stacking context. */
.alpsm-desktop { position:relative; z-index:20; display:flex; align-items:center; justify-content:flex-end; flex-wrap:nowrap; min-width:0; }
.alpsm-desktop .alpsm-parent-link { white-space:nowrap; }
.alpsm-desktop .alpsm-mega, .alpsm-desktop .alpsm-dropdown { background:var(--alpsm-popup-bg, transparent); color:#202124; border:1px solid #e0e5e8; border-radius:5px; box-shadow:0 12px 28px rgba(24,39,52,.12); box-sizing:border-box; }
.alpsm-desktop .alpsm-mega { width:min(620px,calc(100vw - 40px)) !important; min-width:0 !important; max-width:calc(100vw - 40px) !important; padding:18px !important; }
.alpsm-desktop .alpsm-dropdown { width:min(260px,calc(100vw - 36px)); min-width:0; max-width:calc(100vw - 36px); padding:10px !important; }
.alpsm-desktop .alpsm-mega-layout { min-width:0; /* Native Group Layout owns its grid columns and gap. */ }
.alpsm-desktop .alpsm-mega-links, .alpsm-desktop .alpsm-mega-custom { display:flex; flex-direction:column; align-items:stretch; min-width:0; background:transparent !important; }
.alpsm-desktop .alpsm-drop-content { min-width:0; }
.alpsm-desktop .alpsm-mega .alpsm-child-link, .alpsm-desktop .alpsm-dropdown .alpsm-child-link { background:transparent !important; box-shadow:none !important; line-height:1.5; white-space:normal; }
.alpsm-desktop .alpsm-mega .alpsm-child-link > a, .alpsm-desktop .alpsm-dropdown .alpsm-child-link > a { background:transparent !important; color:var(--alpsm-child-color,#344054) !important; }
.alpsm-desktop .alpsm-child-link a:hover { color:#118f87 !important; }
.alpsm-desktop .alpsm-mega-custom:empty { min-height:80px; border:1px dashed #d8e1e6; border-radius:5px; }
@media (min-width:981px) and (max-width:1100px) { .alpsm-desktop { flex-wrap:wrap; } }
.alpsm-section { overflow:visible !important; }

/* Separate shared typography roles. Rules are limited to the generated Link
   module itself and its direct text; never style other links inside a Dropdown. */
.alpsm-desktop .alpsm-parent-link { color:var(--alpsm-parent-color,#202124); font-size:var(--alpsm-parent-size,15px); font-weight:var(--alpsm-parent-weight,500); }
.alpsm-desktop .alpsm-child-link { color:var(--alpsm-child-color,#344054); font-size:var(--alpsm-child-size,14px); font-weight:var(--alpsm-child-weight,500); }
.alpsm-desktop .alpsm-parent-link > a,
.alpsm-desktop a.alpsm-parent-link,
.alpsm-desktop .alpsm-parent-link > .et_pb_link_inner,
.alpsm-desktop .alpsm-parent-link > .et_pb_link_inner > .et_pb_link_text { color:var(--alpsm-parent-color,#202124); font-size:var(--alpsm-parent-size,15px); font-weight:var(--alpsm-parent-weight,500); }
.alpsm-desktop .alpsm-child-link > a,
.alpsm-desktop a.alpsm-child-link,
.alpsm-desktop .alpsm-child-link > .et_pb_link_inner,
.alpsm-desktop .alpsm-child-link > .et_pb_link_inner > .et_pb_link_text { color:var(--alpsm-child-color,#344054); font-size:var(--alpsm-child-size,14px); font-weight:var(--alpsm-child-weight,500); }
.alpsm-mega { min-width:0; }
.alpsm-mega-layout { min-width:0; }
.alpsm-mega-custom { min-width:0; }

@media (min-width:981px) { .alpsm-mobile { display:none !important; } }
@media (max-width:980px) {
  .alpsm-desktop { display:none !important; }
  .alpsm-section,.alpsm-navigation-row,.alpsm-navigation-column { overflow:visible !important; }
  /* The open panel reserves space AFTER its section, so the page footer moves below it. */
  .alpsm-section { position:relative; z-index:10; }
  .alpsm-section.alpsm-menu-expanded { position:relative; z-index:10000 !important; }
  .alpsm-navigation-row { display:flex; flex-wrap:nowrap; align-items:center; }
  .alpsm-logo-column { flex:0 1 40%; }
  .alpsm-navigation-column { flex:1 1 60%; width:auto; min-width:0; align-items:stretch !important; }
  .alpsm-mobile { display:block; width:100%; max-width:none; position:relative; z-index:100000; }
  .alpsm-mobile .et_pb_menu_inner_container,
  .alpsm-mobile .et_pb_menu__wrap { width:100%; justify-content:flex-end; overflow:visible !important; }
  .alpsm-mobile .et_pb_menu__menu { display:none !important; }
  .alpsm-mobile .et_mobile_nav_menu { display:flex !important; align-items:center; justify-content:flex-end; margin-inline-start:auto; }
  /* Anchor below the hamburger instead of to the viewport.
     JS reserves section space so footer never overlaps an open accordion. */
  .alpsm-mobile .et_mobile_menu {
    position:absolute !important;
    inset-inline-start:auto !important;
    left:auto !important;
    right:0 !important;
    top:calc(100% + 8px) !important;
    width:min(360px,calc(100vw - 24px)) !important;
    min-width:0 !important;
    box-sizing:border-box;
    max-height:min(72dvh,640px);
    overflow-x:hidden;
    overflow-y:auto;
    margin:0 !important;
    padding:8px !important;
    z-index:1000 !important;
    text-align:start;
    background:#fff;
    border-top:3px solid #2fc5b5;
    border-radius:5px;
    box-shadow:0 12px 36px rgba(14,30,41,.16);
    overscroll-behavior:contain;
  }
  .alpsm-mobile .et_mobile_menu li { position:relative; width:100%; }
  .alpsm-mobile .et_mobile_menu li > a {
    display:block;
    white-space:normal;
    overflow-wrap:anywhere;
    width:auto;
    padding:12px 44px 12px 12px;
    color:var(--alpsm-parent-color,#202124);
    font-size:var(--alpsm-parent-size,15px);
    font-weight:var(--alpsm-parent-weight,500);
    line-height:1.5;
  }
  .alpsm-mobile .et_mobile_menu ul.sub-menu {
    position:static !important;
    inset:auto !important;
    float:none;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    padding:0 0 0 12px !important;
    margin:0 !important;
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    transform:none !important;
  }
  .alpsm-mobile:not(.et_pb_menu--collapsible-mobile) .et_mobile_menu li.alpsm-enhanced > ul.sub-menu:not(.alpsm-open) { display:none !important; }
  .alpsm-mobile:not(.et_pb_menu--collapsible-mobile) .et_mobile_menu li.alpsm-enhanced > ul.sub-menu.alpsm-open { display:block !important; }
  .alpsm-mobile .et_mobile_menu ul.sub-menu li > a {
    color:var(--alpsm-child-color,#344054);
    font-size:var(--alpsm-child-size,14px);
    font-weight:var(--alpsm-child-weight,500);
  }
  .alpsm-mobile:not(.et_pb_menu--collapsible-mobile) .alpsm-toggle {
    position:absolute; z-index:2; inset-inline-end:4px; top:3px;
    display:grid; place-items:center; width:40px; height:40px;
    padding:0; border:0; border-radius:5px; background:transparent;
    cursor:pointer; color:inherit;
  }
  .alpsm-mobile:not(.et_pb_menu--collapsible-mobile) .alpsm-toggle:before {
    content:''; width:9px; height:9px; border-right:2px solid currentColor;
    border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg);
    transition:transform .18s ease;
  }
  .alpsm-mobile:not(.et_pb_menu--collapsible-mobile) .alpsm-toggle[aria-expanded='true']:before { transform:translateY(2px) rotate(225deg); }
  .alpsm-mobile:not(.et_pb_menu--collapsible-mobile) .alpsm-toggle:focus-visible { outline:2px solid #2fc5b5; outline-offset:2px; }
  .alpsm-mega { min-width:0; }
  .alpsm-mobile:not(.et_pb_menu--collapsible-mobile) .et_mobile_menu li.alpsm-enhanced > a { padding-right:46px; }
  .alpsm-mobile:not(.et_pb_menu--collapsible-mobile) .et_mobile_menu li.alpsm-enhanced > button.alpsm-toggle { inset-inline-end:4px; }
}
@media (prefers-reduced-motion:reduce) { .alpsm-mobile:not(.et_pb_menu--collapsible-mobile) .alpsm-toggle:before { transition:none; } }


/* 0.1.8: top-layer popup. No padding reservations, margins or footer hacks. */
.alpsm-section { isolation:auto !important; }
.alpsm-section .alpsm-popup-visible[popover]:popover-open {
 position:fixed !important;
 inset:auto !important;
 left:var(--alpsm-popup-x,12px) !important;
 top:var(--alpsm-popup-y,80px) !important;
 right:auto !important;bottom:auto !important;
 margin:0 !important;
 width:var(--alpsm-popup-width,360px) !important;
 max-width:calc(100vw - 24px) !important;
 max-height:var(--alpsm-popup-max-height,70dvh) !important;
 overflow-x:hidden !important;overflow-y:auto !important;
 visibility:visible !important;
 pointer-events:auto !important;
 box-sizing:border-box;
 z-index:2147483647 !important;
}
.alpsm-section .alpsm-popup-visible[popover]:popover-open .alpsm-dropdown {
 position:static !important; transform:none !important; max-width:100% !important;
}
.alpsm-navigation-column {position:relative;}
/* Preview toolbar is rendered only to authorized editors. */

/* 0.1.9: Apply font size once on each Link module root. Repeating a
   percentage on nested nodes compounds the size (125% * 125% * 125%). */
.alpsm-desktop .alpsm-parent-link {
 color:var(--alpsm-parent-color,#202124) !important;
 font-size:var(--alpsm-parent-size,15px) !important;
}
.alpsm-desktop .alpsm-child-link {
 color:var(--alpsm-child-color,#344054) !important;
 font-size:var(--alpsm-child-size,14px) !important;
}
.alpsm-desktop .alpsm-parent-link > .et_pb_link_inner,
.alpsm-desktop .alpsm-parent-link > .et_pb_link_inner > .et_pb_link_text,
.alpsm-desktop .alpsm-child-link > .et_pb_link_inner,
.alpsm-desktop .alpsm-child-link > .et_pb_link_inner > .et_pb_link_text {
 color:inherit !important;
 font-size:inherit !important;
}
/* The icon belongs to the Link itself, not any nested Dropdown descendants.
   Divi 5 renders each Link icon inside its direct .et_pb_link_inner.
   Only the untouched default (unset or 15px) gets this rule; a custom native
   Icon Size removes the class, so Divi owns the sizing from that point on. */
.alpsm-desktop :is(.alpsm-parent-link,.alpsm-child-link).alpsm-icon-default-15 > .et_pb_link_inner > :is(.et-pb-icon,.et_pb_link_icon) {
 font-size:15px !important; line-height:1;
}
.alpsm-desktop :is(.alpsm-parent-link,.alpsm-child-link).alpsm-icon-default-15 > .et_pb_link_inner > :is(.et-pb-icon,.et_pb_link_icon) svg {
 width:15px !important; height:15px !important; max-width:15px !important; max-height:15px !important;
}
.alpsm-preview-marker {display:none !important;}

/* Optional decorative pointer for desktop dropdown/mega menu. Off by default.
   The panel holds the arrow in the same native top layer as its contents. */
@media(min-width:981px) {
 .alpsm-desktop[data-alpsm-pointer="on"] .alpsm-popup-visible.alpsm-mega:popover-open,
 .alpsm-desktop[data-alpsm-pointer="on"] .alpsm-popup-visible.alpsm-dropdown:popover-open {
   overflow:visible !important;
 }
 .alpsm-desktop[data-alpsm-pointer="on"] .alpsm-popup-visible:popover-open::before {
   content:""; position:absolute; width:14px; height:14px;
   top:-8px; left:var(--alpsm-arrow-x,50%);
   transform:translateX(-50%) rotate(45deg);
   background:#fff; border-top:1px solid #e0e5e8; border-left:1px solid #e0e5e8;
   z-index:1; pointer-events:none;
 }
 .alpsm-desktop[data-alpsm-pointer="on"] .alpsm-popup-visible.alpsm-mega:popover-open .alpsm-drop-content,
 .alpsm-desktop[data-alpsm-pointer="on"] .alpsm-popup-visible.alpsm-dropdown:popover-open .alpsm-drop-content {
   max-height:var(--alpsm-popup-inner-max-height,65dvh); overflow-y:auto; overscroll-behavior:contain;
 }
}

/* 0.2.4: native field hover state styles, scoped to ALP-generated Links. */
.alpsm-desktop .alpsm-parent-link:hover,
.alpsm-desktop .alpsm-parent-link:focus-within {
 color:var(--alpsm-parent-hover-color,var(--alpsm-parent-color,#202124)) !important;
 font-size:var(--alpsm-parent-hover-size,var(--alpsm-parent-size,15px)) !important;
}
.alpsm-desktop .alpsm-child-link:hover,
.alpsm-desktop .alpsm-child-link:focus-within {
 color:var(--alpsm-child-hover-color,var(--alpsm-child-color,#344054)) !important;
 font-size:var(--alpsm-child-hover-size,var(--alpsm-child-size,14px)) !important;
}
.alpsm-desktop .alpsm-parent-link:hover > :is(a,.et_pb_link_inner),
.alpsm-desktop .alpsm-parent-link:focus-within > :is(a,.et_pb_link_inner),
.alpsm-desktop .alpsm-child-link:hover > :is(a,.et_pb_link_inner),
.alpsm-desktop .alpsm-child-link:focus-within > :is(a,.et_pb_link_inner) {
 color:inherit !important; font-size:inherit !important;
}
/* The top-layer popup can be temporarily moved outside its original Group by
   Divi while editing it. Never depend on its ancestor for its positioning. */
.alpsm-popup-visible[popover]:popover-open {
 position:fixed !important; inset:auto !important;
 top:var(--alpsm-popup-y,80px) !important;
 left:var(--alpsm-popup-x,12px) !important;
 right:auto !important;bottom:auto !important;
 margin:0 !important;
 width:var(--alpsm-popup-width,360px) !important;
 max-width:calc(100vw - 24px) !important;
 max-height:var(--alpsm-popup-max-height,70dvh) !important;
 box-sizing:border-box;
 z-index:2147483647 !important;
}

/* The native editor may relocate the selected Dropdown. Keep the mega layout
   readable outside its original Group while retaining ALP-only scoping. */
.alpsm-popup-visible.alpsm-mega[popover]:popover-open {
 background:#fff !important; color:#202124;
 border:1px solid #e0e5e8 !important; border-radius:5px;
 box-shadow:0 12px 28px rgba(24,39,52,.12) !important;
 padding:18px !important; overflow-x:hidden !important;
}
.alpsm-popup-visible.alpsm-dropdown[popover]:popover-open {
 background:#fff !important; border:1px solid #e0e5e8 !important;
 padding:10px !important; border-radius:5px;
 box-shadow:0 12px 28px rgba(24,39,52,.12) !important;
}
.alpsm-popup-visible.alpsm-mega .alpsm-mega-layout { min-width:0; /* Native columns: 1, 2, 3 or more. */ }
.alpsm-popup-visible.alpsm-mega .alpsm-mega-links,
.alpsm-popup-visible.alpsm-mega .alpsm-mega-custom {
 display:flex; flex-direction:column; min-width:0; background:transparent !important;
}
@media(min-width:981px) {
 .alpsm-popup-visible[data-alpsm-pointer-on="1"]:popover-open {overflow:visible !important;}
 .alpsm-popup-visible[data-alpsm-pointer-on="1"]:popover-open::before {
  content:""; position:absolute; width:14px; height:14px;
  top:-8px; left:var(--alpsm-arrow-x,50%);
  transform:translateX(-50%) rotate(45deg); background:#fff;
  border-top:1px solid #e0e5e8; border-left:1px solid #e0e5e8;
  pointer-events:none;
 }
}

/* 0.2.5 Cascaded flyouts: nested Dropdowns are independently positioned in
   the browser top layer; their old in-flow columns must never overlay text. */
@media (min-width:981px) {
 .alpsm-popup-visible.alpsm-dropdown[popover]:popover-open[data-alpsm-side] {
   width:var(--alpsm-popup-width,300px) !important;
   padding:8px !important;
   border-radius:5px;
   background:var(--alpsm-popup-bg,transparent) !important;
 }
 .alpsm-popup-visible.alpsm-dropdown[popover]:popover-open[data-alpsm-side] > .alpsm-drop-content {
   width:100% !important;
   max-height:var(--alpsm-popup-inner-max-height,65dvh) !important;
   overflow-y:auto !important;
 }
 .alpsm-desktop .alpsm-child-link.alpsm-has-submenu .alpsm-submenu-trigger-inner {
   display:flex; align-items:center; gap:10px; width:100%;
 }
 .alpsm-desktop .alpsm-child-link.alpsm-has-submenu .alpsm-submenu-trigger-inner::after {
   content:''; display:inline-block; width:7px; height:7px; margin-left:auto;
   border-top:1.5px solid currentColor; border-right:1.5px solid currentColor;
   transform:rotate(45deg); flex:none;
 }
 /* The outer top-layer popup draws the optional triangle. Only its inner
    content scrolls. Overflow-x:hidden on the popup clipped it previously. */
 .alpsm-popup-visible.alpsm-mega[popover]:popover-open[data-alpsm-pointer-on="1"],
 .alpsm-popup-visible.alpsm-dropdown[popover]:popover-open[data-alpsm-pointer-on="1"] {
   overflow:visible !important; max-height:none !important;
 }
 .alpsm-popup-visible[data-alpsm-pointer-on="1"]:popover-open::before {
   content:"";position:absolute;top:-8px;left:var(--alpsm-arrow-x,50%);
   width:14px;height:14px;transform:translateX(-50%) rotate(45deg);
   background:#fff;border-top:1px solid #e0e5e8;border-left:1px solid #e0e5e8;
   pointer-events:none;z-index:2;
 }
 .alpsm-popup-visible[data-alpsm-pointer-on="1"]:popover-open > .alpsm-drop-content {
   overflow-y:auto !important; max-height:var(--alpsm-popup-inner-max-height,65dvh) !important;
 }
}

/* Native full-font group values inherit through direct Link text only. */
.alpsm-desktop .alpsm-parent-link,
.alpsm-desktop .alpsm-parent-link > .et_pb_link_inner,
.alpsm-desktop .alpsm-parent-link > .et_pb_link_inner > .et_pb_link_text {
 font-family:var(--alpsm-parent-font-family,inherit) !important;
 font-weight:var(--alpsm-parent-font-weight,var(--alpsm-parent-weight,500)) !important;
 font-style:var(--alpsm-parent-font-style,normal) !important;
 line-height:var(--alpsm-parent-line-height,inherit) !important;
 letter-spacing:var(--alpsm-parent-letter-spacing,normal) !important;
 text-align:var(--alpsm-parent-text-align,inherit) !important;
 text-transform:var(--alpsm-parent-text-transform,none) !important;
 text-decoration:var(--alpsm-parent-text-decoration,none) !important;
}
.alpsm-desktop .alpsm-child-link,
.alpsm-desktop .alpsm-child-link > .et_pb_link_inner,
.alpsm-desktop .alpsm-child-link > .et_pb_link_inner > .et_pb_link_text {
 font-family:var(--alpsm-child-font-family,inherit) !important;
 font-weight:var(--alpsm-child-font-weight,var(--alpsm-child-weight,500)) !important;
 font-style:var(--alpsm-child-font-style,normal) !important;
 line-height:var(--alpsm-child-line-height,inherit) !important;
 letter-spacing:var(--alpsm-child-letter-spacing,normal) !important;
 text-align:var(--alpsm-child-text-align,inherit) !important;
 text-transform:var(--alpsm-child-text-transform,none) !important;
 text-decoration:var(--alpsm-child-text-decoration,none) !important;
}

/* 0.3.0: top-layer dropdown pointer MUST escape the popup's scroll clipping.
   The scrollable region is the inner content, not the pointer-bearing panel. */
@media (min-width:981px) {
  .alpsm-section .alpsm-popup-visible[popover]:popover-open[data-alpsm-pointer-on="1"] {
    overflow:visible !important;
    overflow-x:visible !important;
    overflow-y:visible !important;
    max-height:none !important;
  }
  .alpsm-section .alpsm-popup-visible[popover]:popover-open[data-alpsm-pointer-on="1"]::before {
    content:"";
    display:block;
    position:absolute;
    left:var(--alpsm-arrow-x,50%);
    top:-8px;
    width:14px;
    height:14px;
    background:#fff;
    border-top:1px solid #dce3e9;
    border-left:1px solid #dce3e9;
    transform:translateX(-50%) rotate(45deg);
    z-index:2;
    pointer-events:none;
    visibility:visible;
  }
  .alpsm-section .alpsm-popup-visible[popover]:popover-open[data-alpsm-pointer-on="1"] :is(.alpsm-drop-content,.alpsm-mega-layout) {
    max-height:var(--alpsm-popup-inner-max-height,65dvh);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
}

/* 0.2.14: Advanced native font options, scoped to ALP Link text, not icons. */
.alpsm-desktop :is(.alpsm-parent-link,.alpsm-child-link) > .et_pb_link_inner {
  justify-content:var(--alpsm-parent-text-justify,flex-start) !important;
}
.alpsm-desktop .alpsm-child-link > .et_pb_link_inner {
  justify-content:var(--alpsm-child-text-justify,flex-start) !important;
}
.alpsm-desktop .alpsm-parent-link > .et_pb_link_inner > .et_pb_link_text,
.alpsm-desktop .alpsm-child-link > .et_pb_link_inner > .et_pb_link_text {
  text-align:inherit !important;
}
.alpsm-desktop .alpsm-parent-link > .et_pb_link_inner,
.alpsm-desktop .alpsm-parent-link > .et_pb_link_inner > .et_pb_link_text {
  text-decoration-line:var(--alpsm-parent-text-decoration-line,none) !important;
  text-decoration-color:var(--alpsm-parent-text-decoration-color,currentColor) !important;
  text-decoration-thickness:var(--alpsm-parent-text-decoration-thickness,auto) !important;
  text-decoration-style:var(--alpsm-parent-text-decoration-style,solid) !important;
  text-underline-offset:var(--alpsm-parent-text-underline-offset,auto) !important;
  text-wrap:var(--alpsm-parent-text-wrap,wrap) !important;
  hyphens:var(--alpsm-parent-hyphens,manual) !important;
  text-shadow:var(--alpsm-parent-text-shadow,none) !important;
  -webkit-text-stroke-width:var(--alpsm-parent-text-stroke-width,0px) !important;
  -webkit-text-stroke-color:var(--alpsm-parent-text-stroke-color,currentColor) !important;
}
.alpsm-desktop .alpsm-child-link > .et_pb_link_inner,
.alpsm-desktop .alpsm-child-link > .et_pb_link_inner > .et_pb_link_text {
  text-decoration-line:var(--alpsm-child-text-decoration-line,none) !important;
  text-decoration-color:var(--alpsm-child-text-decoration-color,currentColor) !important;
  text-decoration-thickness:var(--alpsm-child-text-decoration-thickness,auto) !important;
  text-decoration-style:var(--alpsm-child-text-decoration-style,solid) !important;
  text-underline-offset:var(--alpsm-child-text-underline-offset,auto) !important;
  text-wrap:var(--alpsm-child-text-wrap,wrap) !important;
  hyphens:var(--alpsm-child-hyphens,manual) !important;
  text-shadow:var(--alpsm-child-text-shadow,none) !important;
  -webkit-text-stroke-width:var(--alpsm-child-text-stroke-width,0px) !important;
  -webkit-text-stroke-color:var(--alpsm-child-text-stroke-color,currentColor) !important;
}
.alpsm-desktop .alpsm-parent-link > .et_pb_link_inner > .et_pb_link_text {
  background-image:var(--alpsm-parent-text-background-image,none) !important;
  background-clip:text; -webkit-background-clip:text;
  -webkit-text-fill-color:var(--alpsm-parent-text-fill-color,currentColor);
}
.alpsm-desktop .alpsm-child-link > .et_pb_link_inner > .et_pb_link_text {
  background-image:var(--alpsm-child-text-background-image,none) !important;
  background-clip:text; -webkit-background-clip:text;
  -webkit-text-fill-color:var(--alpsm-child-text-fill-color,currentColor);
}
/* Each dropdown depth has its own native color control. The popup carries its
   effective color into the top layer, so Divi moving it will not lose styles. */
.alpsm-desktop :is(.alpsm-mega,.alpsm-dropdown),
.alpsm-popup-visible:is(.alpsm-mega,.alpsm-dropdown)[popover]:popover-open {
  background-color:var(--alpsm-popup-bg,#fff) !important;
}
.alpsm-desktop .alpsm-drop-content,
.alpsm-popup-visible .alpsm-drop-content,
.alpsm-popup-visible .alpsm-mega-links,
.alpsm-popup-visible .alpsm-mega-custom {
  background-color:transparent !important;
}
@media (min-width:981px) {
 .alpsm-popup-visible[popover]:popover-open[data-alpsm-pointer-on="1"]::before,
 .alpsm-section .alpsm-popup-visible[popover]:popover-open[data-alpsm-pointer-on="1"]::before {
   background:var(--alpsm-popup-bg,#fff) !important;
 }
}
/* Overlay backgrounds must override legacy opaque shorthand backgrounds at
   every depth, even when the browser promotes a submenu to the top layer. */
.alpsm-popup-visible.alpsm-mega[popover]:popover-open[data-alpsm-depth],
.alpsm-popup-visible.alpsm-dropdown[popover]:popover-open[data-alpsm-depth] {
  background:var(--alpsm-popup-bg,#fff) !important;
}

/* 0.2.15: Pointer lives on the popup itself, including portaled Divi panels.
   Do not clip the triangle against the scrolling links region. */
@media (min-width:981px) {
 .alpsm-popup-visible:is(.alpsm-mega,.alpsm-dropdown)[data-alpsm-pointer-on="1"] {
   overflow:visible !important;
 }
 .alpsm-popup-visible:is(.alpsm-mega,.alpsm-dropdown)[data-alpsm-pointer-on="1"]::before {
   content:"" !important;
   display:block !important;
   visibility:visible !important;
   position:absolute !important;
   top:-8px !important;
   left:var(--alpsm-arrow-x,50%) !important;
   width:14px !important;
   height:14px !important;
   transform:translateX(-50%) rotate(45deg) !important;
   background:var(--alpsm-popup-bg,#fff) !important;
   border-top:1px solid #dce3e9 !important;
   border-left:1px solid #dce3e9 !important;
   pointer-events:none !important;
   z-index:4 !important;
 }
 .alpsm-popup-visible:is(.alpsm-mega,.alpsm-dropdown)[data-alpsm-pointer-on="1"] > .alpsm-drop-content {
   max-height:var(--alpsm-popup-inner-max-height,65dvh) !important;
   overflow-y:auto !important;
 }
}

/* 0.2.16: Popup presentation. Only ALP-generated desktop dropdowns.
   Settings are declared on the main Group and transferred into top-layer panels. */
@media (min-width:981px) {
 .alpsm-desktop :is(.alpsm-mega,.alpsm-dropdown),
 .alpsm-popup-visible:is(.alpsm-mega,.alpsm-dropdown) {
   padding:var(--alpsm-popup-padding,0px 24px) !important;
   box-shadow:var(--alpsm-popup-shadow,0 12px 28px rgba(24,39,52,.12)) !important;
 }
 .alpsm-popup-visible:is(.alpsm-mega,.alpsm-dropdown)[data-alpsm-depth] {
   background:var(--alpsm-popup-bg,#fff) !important;
 }
 .alpsm-popup-visible :is(.alpsm-mega-links,.alpsm-drop-content) > .alpsm-child-link + .alpsm-child-link,
 .alpsm-desktop :is(.alpsm-mega-links,.alpsm-drop-content) > .alpsm-child-link + .alpsm-child-link {
   position:relative;
 }
}

/* 0.2.17: Explicit visual pointer, independent of Divi's internal popover
   pseudo-elements. The scroll area is the inner Group, not the popup shell. */
@media (min-width:981px) {
  .alpsm-popup-visible.alpsm-pointer-dom::before {content:none !important;display:none !important;}
  .alpsm-popup-visible.alpsm-pointer-dom {
    overflow:visible !important;
  }
  .alpsm-popup-visible > .alpsm-popup-pointer {
    position:absolute !important; top:-8px !important;
    width:14px !important;height:14px !important;
    transform:translateX(-50%) rotate(45deg) !important;
    border-top:1px solid #dce3e9 !important;
    border-left:1px solid #dce3e9 !important;
    z-index:5 !important;pointer-events:none !important;
    display:block !important; visibility:visible !important;
  }
  /* Use real borders, never Link pseudo-elements (reserved for Divi icons). */
  .alpsm-popup-visible[data-alpsm-dividers="on"] .alpsm-child-link.alpsm-has-divider {
    border-top:var(--alpsm-divider-size,1px) var(--alpsm-divider-style,solid) var(--alpsm-divider-color,#dce3e9) !important;
    padding-top:var(--alpsm-divider-spacing,8px) !important;
    margin-top:var(--alpsm-divider-spacing,8px) !important;
  }
  .alpsm-popup-visible .alpsm-child-link.alpsm-has-divider::after {
    content:none !important; display:none !important;
  }
}

/* 0.2.22: pointer and divider spacing have one definitive render surface. */
@media (min-width:981px) {
 .alpsm-section .alpsm-popup-visible[popover]:popover-open.alpsm-pointer-dom,
 .alpsm-section .alpsm-popup-visible.alpsm-pointer-dom {
   overflow:visible !important;
 }
 .alpsm-popup-visible.alpsm-pointer-dom > .alpsm-popup-pointer {
   display:block !important; visibility:visible !important;
   background-color:var(--alpsm-popup-bg,#fff) !important;
 }
 .alpsm-popup-visible[data-alpsm-dividers="on"] .alpsm-child-link[data-alpsm-divider-styled="1"] {
   box-sizing:border-box;
 }
}

/* 0.2.25: pointer is a real direct child of the top-layer popup. The popup
   shell stays overflow-visible while only its inner content scrolls, so the
   pointer cannot be lost behind Divi's portaled/scrollable wrappers. */
@media (min-width:981px) {
 .alpsm-popup-visible.alpsm-pointer-dom > .alpsm-popup-pointer[data-alpsm-owned="pointer"] {
   display:block !important; visibility:visible !important; opacity:1 !important;
 }
}
/* Side flyouts retain their normal dimensions and open toward an available side. */
@media (min-width:981px) {
 .alpsm-popup-visible.alpsm-dropdown[data-alpsm-side][popover]:popover-open {
  max-width:calc(100vw - 24px) !important;
 }
}

/* 0.2.24: Divi's native dropdown script and ALP must not compete on the
   generated desktop navigation. Other Divi Dropdown modules are untouched. */
@media (min-width:981px) {
 .alpsm-desktop .alpsm-popup-visible.et_pb_dropdown_hidden,
 .alpsm-popup-visible.et_pb_dropdown_hidden[popover]:popover-open {
   display:block !important; visibility:visible !important;
 }
}

/* ALP 0.2.26: scoped, final-level styles for Divi top-layer flyouts.
   No ancestor .alpsm-desktop is required after HTML popover promotion. */
@media (min-width:981px) {
  .alpsm-popup-visible .alpsm-child-link.alpsm-has-submenu > :is(a,.et_pb_link_inner),
  .alpsm-desktop .alpsm-child-link.alpsm-has-submenu > :is(a,.et_pb_link_inner) {
    display:flex !important;align-items:center;gap:10px; width:100%;
  }
  .alpsm-popup-visible .alpsm-child-link.alpsm-has-submenu > :is(a,.et_pb_link_inner)::after,
  .alpsm-desktop .alpsm-child-link.alpsm-has-submenu > :is(a,.et_pb_link_inner)::after {
    content:"" !important;display:block !important;flex:0 0 7px;
    width:7px;height:7px;margin-inline-start:auto;
    border-top:2px solid currentColor;border-right:2px solid currentColor;
    transform:rotate(45deg);pointer-events:none;
  }
  .alpsm-popup-visible.alpsm-dropdown[data-alpsm-side] {
    translate:none !important;
    inset:auto !important;position:fixed !important;
  }
  .alpsm-popup-visible:is(.alpsm-dropdown,.alpsm-mega)[data-alpsm-native-background="1"] {
    background:var(--alpsm-native-bg,transparent) !important;
  }
  .alpsm-popup-visible:is(.alpsm-dropdown,.alpsm-mega)[data-alpsm-native-background="1"] > .alpsm-drop-content {
    background:transparent !important;
  }
}

/* 0.2.30: A top pointer for the main popup, side pointers for nested flyouts. */
@media (min-width:981px) {
 .alpsm-popup-visible.alpsm-pointer-dom > .alpsm-popup-pointer[data-alpsm-owned="pointer"] {
   top:auto; left:auto; right:auto;
   background:var(--alpsm-popup-bg, #f1fcfb) !important;
 }
 .alpsm-popup-visible:is(.alpsm-mega,.alpsm-dropdown) {
   padding:var(--alpsm-popup-padding,0px 24px) !important;
 }
}
@media (min-width:981px) {
  /* Suppress all historical top-caret pseudo-elements when the DOM pointer owns it. */
  .alpsm-section .alpsm-popup-visible.alpsm-pointer-dom[data-alpsm-pointer-on="1"]::before,
  .alpsm-popup-visible.alpsm-pointer-dom[data-alpsm-pointer-on="1"]::before {content:none !important;display:none !important;}
  /* Native Divi and early ALP flyout rules used 8px/10px. Same outer spacing at each level. */
  .alpsm-section .alpsm-popup-visible.alpsm-dropdown[data-alpsm-side][popover]:popover-open,
  .alpsm-section .alpsm-popup-visible.alpsm-mega[popover]:popover-open,
  .alpsm-popup-visible.alpsm-dropdown[data-alpsm-side][popover]:popover-open {
    padding:var(--alpsm-popup-padding,0px 24px) !important;
  }
}

/* ALPSM EXTENDED MOBILE BREAKPOINT: scoped copy of the standard mobile presentation. */
@media (min-width:981px) {
  .alpsm-section.alpsm-mobile-extended .alpsm-desktop { display:none !important; }
  .alpsm-section.alpsm-mobile-extended, .alpsm-section.alpsm-mobile-extended .alpsm-navigation-row, .alpsm-section.alpsm-mobile-extended .alpsm-navigation-column { overflow:visible !important; }
  /* The open panel reserves space AFTER its section, so the page footer moves below it. */
  .alpsm-section.alpsm-mobile-extended { position:relative; z-index:10; }
  .alpsm-section.alpsm-mobile-extended.alpsm-menu-expanded { position:relative; z-index:10000 !important; }
  .alpsm-section.alpsm-mobile-extended .alpsm-navigation-row { display:flex; flex-wrap:nowrap; align-items:center; }
  .alpsm-section.alpsm-mobile-extended .alpsm-logo-column { flex:0 1 40%; }
  .alpsm-section.alpsm-mobile-extended .alpsm-navigation-column { flex:1 1 60%; width:auto; min-width:0; align-items:stretch !important; }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile { display:block !important; width:100%; max-width:none; position:relative; z-index:100000; }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile .et_pb_menu_inner_container, .alpsm-section.alpsm-mobile-extended .alpsm-mobile .et_pb_menu__wrap { width:100%; justify-content:flex-end; overflow:visible !important; }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile .et_pb_menu__menu { display:none !important; }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile .et_mobile_nav_menu { display:flex !important; align-items:center; justify-content:flex-end; margin-inline-start:auto; }
  /* Anchor below the hamburger instead of to the viewport.
     JS reserves section space so footer never overlaps an open accordion. */
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile .et_mobile_menu {
    position:absolute !important;
    inset-inline-start:auto !important;
    left:auto !important;
    right:0 !important;
    top:calc(100% + 8px) !important;
    width:min(360px,calc(100vw - 24px)) !important;
    min-width:0 !important;
    box-sizing:border-box;
    max-height:min(72dvh,640px);
    overflow-x:hidden;
    overflow-y:auto;
    margin:0 !important;
    padding:8px !important;
    z-index:1000 !important;
    text-align:start;
    background:#fff;
    border-top:3px solid #2fc5b5;
    border-radius:5px;
    box-shadow:0 12px 36px rgba(14,30,41,.16);
    overscroll-behavior:contain;
  }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile .et_mobile_menu li { position:relative; width:100%; }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile .et_mobile_menu li > a {
    display:block;
    white-space:normal;
    overflow-wrap:anywhere;
    width:auto;
    padding:12px 44px 12px 12px;
    color:var(--alpsm-parent-color,#202124);
    font-size:var(--alpsm-parent-size,15px);
    font-weight:var(--alpsm-parent-weight,500);
    line-height:1.5;
  }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile .et_mobile_menu ul.sub-menu {
    position:static !important;
    inset:auto !important;
    float:none;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    padding:0 0 0 12px !important;
    margin:0 !important;
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    transform:none !important;
  }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile:not(.et_pb_menu--collapsible-mobile) .et_mobile_menu li.alpsm-enhanced > ul.sub-menu:not(.alpsm-open) { display:none !important; }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile:not(.et_pb_menu--collapsible-mobile) .et_mobile_menu li.alpsm-enhanced > ul.sub-menu.alpsm-open { display:block !important; }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile .et_mobile_menu ul.sub-menu li > a {
    color:var(--alpsm-child-color,#344054);
    font-size:var(--alpsm-child-size,14px);
    font-weight:var(--alpsm-child-weight,500);
  }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile:not(.et_pb_menu--collapsible-mobile) .alpsm-toggle {
    position:absolute; z-index:2; inset-inline-end:4px; top:3px;
    display:grid; place-items:center; width:40px; height:40px;
    padding:0; border:0; border-radius:5px; background:transparent;
    cursor:pointer; color:inherit;
  }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile:not(.et_pb_menu--collapsible-mobile) .alpsm-toggle:before {
    content:''; width:9px; height:9px; border-right:2px solid currentColor;
    border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg);
    transition:transform .18s ease;
  }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile:not(.et_pb_menu--collapsible-mobile) .alpsm-toggle[aria-expanded='true']:before { transform:translateY(2px) rotate(225deg); }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile:not(.et_pb_menu--collapsible-mobile) .alpsm-toggle:focus-visible { outline:2px solid #2fc5b5; outline-offset:2px; }
  .alpsm-section.alpsm-mobile-extended .alpsm-mega { min-width:0; }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile:not(.et_pb_menu--collapsible-mobile) .et_mobile_menu li.alpsm-enhanced > a { padding-right:46px; }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile:not(.et_pb_menu--collapsible-mobile) .et_mobile_menu li.alpsm-enhanced > button.alpsm-toggle { inset-inline-end:4px; }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile .et_mobile_menu { display:none !important; }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile.alpsm-extended-open .et_mobile_menu { display:block !important; }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile .et_mobile_menu li.alpsm-extended-item > ul.sub-menu { display:none !important; visibility:hidden !important; }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile .et_mobile_menu li.alpsm-extended-item > ul.sub-menu.alpsm-extended-submenu-open { display:block !important; visibility:visible !important; }
  .alpsm-section.alpsm-mobile-extended .alpsm-extended-toggle { position:absolute; inset-inline-end:4px; top:3px; width:40px; height:40px; display:grid; place-items:center; background:transparent; border:0; padding:0; cursor:pointer; border-radius:5px; z-index:2; color:inherit; }
  .alpsm-section.alpsm-mobile-extended .alpsm-extended-toggle::before { content:''; width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); }
  .alpsm-section.alpsm-mobile-extended .alpsm-extended-toggle[aria-expanded="true"]::before { transform:translateY(2px) rotate(225deg); }
  .alpsm-section.alpsm-mobile-extended :is(.alpsm-extended-toggle,.mobile_nav):focus-visible { outline:2px solid #2fc5b5; outline-offset:2px; }
  .alpsm-section.alpsm-mobile-extended .alpsm-mobile .et_mobile_menu li.alpsm-extended-item > a { padding-right:46px; }
}

/* Preserve ALP's temporary mobile list during a 1200 -> 980px live resize
   only until Divi creates its standard mobile panel. */
@media (max-width:980px) {
 .alpsm-section.alpsm-mobile-temporary .alpsm-mobile .et_mobile_menu {display:none !important;}
 .alpsm-section.alpsm-mobile-temporary .alpsm-mobile.alpsm-extended-open .et_mobile_menu {display:block !important;}
 .alpsm-section.alpsm-mobile-temporary .alpsm-extended-toggle {position:absolute;inset-inline-end:4px;top:3px;display:grid;place-items:center;width:40px;height:40px;background:transparent;border:0;border-radius:5px;z-index:2;color:inherit;cursor:pointer;}
 .alpsm-section.alpsm-mobile-temporary .alpsm-extended-toggle::before {content:'';width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);}
 .alpsm-section.alpsm-mobile-temporary .alpsm-extended-toggle[aria-expanded="true"]::before {transform:translateY(2px) rotate(225deg);}
 .alpsm-section.alpsm-mobile-temporary .et_mobile_menu li.alpsm-extended-item > ul.sub-menu {display:none !important;visibility:hidden !important;}
 .alpsm-section.alpsm-mobile-temporary .et_mobile_menu li.alpsm-extended-item > ul.sub-menu.alpsm-extended-submenu-open {display:block !important;visibility:visible !important;}
 .alpsm-section.alpsm-mobile-temporary .et_mobile_menu li.alpsm-extended-item > a {padding-right:46px;}
}

/* The custom extended breakpoint owns these toggles, never Divi's <=980px ones. */
@media (min-width:981px) {
 .alpsm-section.alpsm-mobile-extended .alpsm-mobile .et_mobile_menu .mobile-toggle {display:none !important;}
}

/* 0.2.31: symmetric divider rhythm, respecting native Group grid columns. */
@media (min-width:981px) {
  .alpsm-popup-visible[data-alpsm-dividers="on"] .alpsm-mega-links,
  .alpsm-popup-visible[data-alpsm-dividers="on"] .alpsm-drop-content:not(.alpsm-mega-layout) {
    --vertical-gap:0px !important;
    row-gap:0px !important;
  }
}

/* 0.2.32: only the inner list may scroll vertically. Horizontal chrome is
   never used for navigation, and can otherwise appear as a gray bar. */
@media (min-width:981px) {
  .alpsm-popup-visible > .alpsm-drop-content {
    overflow-x:clip !important;
  }
  .alpsm-popup-visible .alpsm-mega-links,
  .alpsm-popup-visible .alpsm-drop-content {
    min-width:0;
  }
}

@media (min-width:981px) {
  .alpsm-popup-visible > .alpsm-drop-content,
  .alpsm-popup-visible .alpsm-mega-links {
    overflow-x:hidden !important;
  }
}

/* ALP 0.2.35: the native WP mobile Menu retains its navigation semantics while
   displaying the icons saved in the corresponding desktop Divi Link modules. */
.alpsm-section .alpsm-mobile .et_mobile_menu li > a.alpsm-mobile-has-icon {
  display:flex !important;
  align-items:center;
  gap:10px;
}
.alpsm-section .alpsm-mobile .et_mobile_menu .alpsm-mobile-icon {
  display:inline-flex !important;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  width:1em;
  min-width:1em;
  height:1em;
  font-size:1em;
  line-height:1;
  vertical-align:middle;
}
.alpsm-section .alpsm-mobile .et_mobile_menu .alpsm-mobile-icon svg,
.alpsm-section .alpsm-mobile .et_mobile_menu .alpsm-mobile-icon img {
  width:1em;
  height:1em;
  max-width:1em;
  max-height:1em;
  display:block;
}
/* Override Divi's gray row borders with ALP's single configured separator.
   Draw the divider on the full row container instead of only on the anchor,
   so the dotted line continues across the toggle/icon area on the right. */
.alpsm-section .alpsm-mobile .et_mobile_menu li {
  position:relative;
}
.alpsm-section .alpsm-mobile .et_mobile_menu li > a {
  border-bottom:0 !important;
}
.alpsm-section .alpsm-mobile[data-alpsm-mobile-dividers="on"] .et_mobile_menu li:not(:last-child)::after {
  content:'';
  position:absolute;
  inset-inline-start:0;
  inset-inline-end:0;
  bottom:0;
  border-bottom:var(--alpsm-mobile-divider-size,2px) var(--alpsm-mobile-divider-style,dotted) var(--alpsm-mobile-divider-color,#8bccc8);
  pointer-events:none;
  z-index:0;
}
.alpsm-section .alpsm-mobile[data-alpsm-mobile-dividers="on"] .et_mobile_menu li > :is(a,button) {
  position:relative;
  z-index:1;
}

/* 0.2.36: reduce cumulative mobile indentation in nested (2+) dropdowns.
   Divi also gives nested li 5% left padding; remove that extra layer and use
   one modest padding on the submenu. Do not affect other Divi menus. */
.alpsm-section .alpsm-mobile .et_mobile_menu ul.sub-menu {
  padding-inline-start:7px !important;
  padding-inline-end:0 !important;
}
.alpsm-section .alpsm-mobile .et_mobile_menu li li {
  padding-inline-start:0 !important;
  padding-inline-end:0 !important;
}

/* ALP 0.2.43: give the mobile accordion's expand control its own generous
   touch target. Divi's native collapsible menu uses a grid: the parent link
   occupies column one, while .mobile-toggle occupies column two. A fixed
   second column prevents nearby taps from following the parent URL. */
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile .et_mobile_menu li:is(.menu-item-has-children,.page_item_has_children) {
  grid-template-columns:minmax(0,1fr) 60px !important;
}
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile .et_mobile_menu li:is(.menu-item-has-children,.page_item_has_children) > a {
  grid-column:1 !important;
  grid-row:1 !important;
  min-width:0;
  padding-inline-end:10px !important;
}
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile .et_mobile_menu li:is(.menu-item-has-children,.page_item_has_children) > .mobile-toggle {
  box-sizing:border-box;
  grid-column:2 !important;
  grid-row:1 !important;
  justify-self:stretch !important;
  align-self:stretch !important;
  width:100% !important;
  min-width:60px;
  min-height:48px;
  height:100% !important;
  max-height:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  z-index:5 !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent;
  border:0;
  cursor:pointer;
  touch-action:manipulation;
}
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile .et_mobile_menu li > .mobile-toggle:focus-visible {
  outline:2px solid #2fc5b5;
  outline-offset:-3px;
}

/* Older layouts with ALP-owned toggles also get a wider hit area. Keep the
   original parent link navigation and let the dedicated button handle taps
   in its own right-hand region. */
.alpsm-section .alpsm-mobile:not(.et_pb_menu--collapsible-mobile) .et_mobile_menu li.alpsm-enhanced > a,
.alpsm-section.alpsm-mobile-extended .alpsm-mobile .et_mobile_menu li.alpsm-extended-item > a,
.alpsm-section.alpsm-mobile-temporary .alpsm-mobile .et_mobile_menu li.alpsm-extended-item > a {
  padding-inline-end:68px !important;
}
.alpsm-section .alpsm-mobile:not(.et_pb_menu--collapsible-mobile) .et_mobile_menu li > button.alpsm-toggle,
.alpsm-section.alpsm-mobile-extended .alpsm-mobile .et_mobile_menu li > button.alpsm-extended-toggle,
.alpsm-section.alpsm-mobile-temporary .alpsm-mobile .et_mobile_menu li > button.alpsm-extended-toggle {
  box-sizing:border-box;
  position:absolute !important;
  inset-inline-end:0 !important;
  top:0 !important;
  display:grid !important;
  place-items:center;
  width:60px !important;
  min-width:60px;
  height:56px !important;
  min-height:48px;
  max-height:none !important;
  z-index:5 !important;
  padding:0 !important;
  margin:0 !important;
  cursor:pointer;
  touch-action:manipulation;
}

/* ALPSM 0.2.44: the native collapsible mobile menu has a top caret ONLY for
   its first dropdown. JS positions it over the hamburger in the top layer,
   outside the scrollable accordion; nested lists never generate pointers. */
.alpsm-mobile-root-pointer[data-alpsm-owned="mobile-root-pointer"] {
  display:block;pointer-events:none !important;
  transform-origin:center center;box-shadow:none !important;
  border-radius:0 !important;
}

/* 0.3.4: ALP Line Hover Animation. Design lives on each Link text node so
   ALP Icons, dropdown chevrons and the link hit area remain untouched.
   Dropdown portals receive their variables from their owning desktop Group. */
:where(.alpsm-desktop,.alpsm-popup-visible) .alpsm-parent-link {
  --alpsm-line-ink:var(--alpsm-line-parent-color,#2fc5b5);
  --alpsm-line-active-ink:var(--alpsm-line-parent-active-color,#2fc5b5);
  --alpsm-line-time:var(--alpsm-line-parent-duration,300ms);
  --alpsm-line-wait:var(--alpsm-line-parent-delay,0ms);
  --alpsm-line-distance:var(--alpsm-line-parent-offset,4px);
  --alpsm-line-shape-height:var(--alpsm-line-parent-height,10px);
  --alpsm-line-wave-size:var(--alpsm-line-parent-wave-size,28px);
}
:where(.alpsm-desktop,.alpsm-popup-visible) .alpsm-child-link {
  --alpsm-line-ink:var(--alpsm-line-child-color,#2fc5b5);
  --alpsm-line-active-ink:var(--alpsm-line-child-active-color,#2fc5b5);
  --alpsm-line-time:var(--alpsm-line-child-duration,300ms);
  --alpsm-line-wait:var(--alpsm-line-child-delay,0ms);
  --alpsm-line-distance:var(--alpsm-line-child-offset,4px);
  --alpsm-line-shape-height:var(--alpsm-line-child-height,10px);
  --alpsm-line-wave-size:var(--alpsm-line-child-wave-size,28px);
}
/* Explicitly opt-in at either level. Do not intercept hover or clicks. */
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"] .alpsm-child-link)
  > .et_pb_link_inner > .et_pb_link_text {
  display:inline-block;position:relative;isolation:isolate;
}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"] .alpsm-child-link)
  > .et_pb_link_inner > .et_pb_link_text::before,
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"] .alpsm-child-link)
  > .et_pb_link_inner > .et_pb_link_text::after {
  content:"";position:absolute;inset-inline:0;bottom:calc(-1 * var(--alpsm-line-distance,4px));
  height:2px;background:var(--alpsm-line-ink,#2fc5b5);pointer-events:none;
  opacity:0;transform:scaleX(0);transform-origin:left center;
  transition:transform var(--alpsm-line-time,300ms) ease var(--alpsm-line-wait,0ms),
    opacity var(--alpsm-line-time,300ms) ease var(--alpsm-line-wait,0ms);
}
/* Only the first line is normally drawn. */
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"] .alpsm-child-link)
  > .et_pb_link_inner > .et_pb_link_text::before {content:none;}
/* Hovering or keyboard focus on the whole Link animates only its text. */
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"] .alpsm-child-link):is(:hover,:focus-visible)
    > .et_pb_link_inner > .et_pb_link_text::after {
  opacity:1;transform:scaleX(1);
}
/* Center Grow. */
:is(.alpsm-desktop[data-alpsm-line-parent-effect="center"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-effect="center"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-effect="center"] .alpsm-child-link)
    > .et_pb_link_inner > .et_pb_link_text::after {transform-origin:center;}
/* Slide In: translate, rather than draw width. */
:is(.alpsm-desktop[data-alpsm-line-parent-effect="slide"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-effect="slide"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-effect="slide"] .alpsm-child-link)
    > .et_pb_link_inner > .et_pb_link_text::after {transform:translateX(-10px) scaleX(.55);}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="slide"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="slide"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="slide"] .alpsm-child-link):is(:hover,:focus-visible)
    > .et_pb_link_inner > .et_pb_link_text::after {transform:translateX(0) scaleX(1);}
/* Fade In: line is full-width, the opacity performs the animation. */
:is(.alpsm-desktop[data-alpsm-line-parent-effect="fade"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-effect="fade"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-effect="fade"] .alpsm-child-link)
    > .et_pb_link_inner > .et_pb_link_text::after {transform:scaleX(1);}
/* Double Line Reveal puts the second line above the text. */
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="double"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="double"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="double"] .alpsm-child-link)
    > .et_pb_link_inner > .et_pb_link_text::before {
  content:"";top:calc(-1 * var(--alpsm-line-distance,4px));bottom:auto;transform-origin:right center;
}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="double"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="double"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="double"] .alpsm-child-link):is(:hover,:focus-visible)
    > .et_pb_link_inner > .et_pb_link_text::before {opacity:1;transform:scaleX(1);}
/* Active line follows the current-page URL, not a broad parent/menu hover. */
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-active="on"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-active="on"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-active="on"] .alpsm-child-link).alpsm-line-current
    > .et_pb_link_inner > .et_pb_link_text::after {opacity:1;transform:scaleX(1);background:var(--alpsm-line-active-ink,#2fc5b5);transition-delay:0ms;}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="double"][data-alpsm-line-parent-active="on"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="double"][data-alpsm-line-child-active="on"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="double"][data-alpsm-line-child-active="on"] .alpsm-child-link).alpsm-line-current
    > .et_pb_link_inner > .et_pb_link_text::before {opacity:1;transform:scaleX(1);background:var(--alpsm-line-active-ink,#2fc5b5);transition-delay:0ms;}

/* 0.3.6-alpha: ALP-original motion library. Pseudos are decorative, never enlarge hit areas. */
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="ink"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ink"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ink"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after{width:6px;inset-inline-end:auto;height:6px;border-radius:50%;transform:scaleX(1);transition:width var(--alpsm-line-time,300ms) ease var(--alpsm-line-wait,0ms),height var(--alpsm-line-time,300ms) ease var(--alpsm-line-wait,0ms),border-radius var(--alpsm-line-time,300ms) ease var(--alpsm-line-wait,0ms),opacity var(--alpsm-line-time,300ms) ease var(--alpsm-line-wait,0ms);}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="ink"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ink"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ink"] .alpsm-child-link):is(:hover,:focus-visible) > .et_pb_link_inner > .et_pb_link_text::after{width:100%;height:2px;border-radius:0;}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="ink"][data-alpsm-line-parent-active="on"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ink"][data-alpsm-line-child-active="on"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ink"][data-alpsm-line-child-active="on"] .alpsm-child-link).alpsm-line-current > .et_pb_link_inner > .et_pb_link_text::after{width:100%;height:2px;border-radius:0;}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="split"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="split"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="split"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::before{content:"";inset-inline-start:0;inset-inline-end:50%;transform-origin:left center;}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="split"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="split"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="split"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after{inset-inline-start:50%;inset-inline-end:0;transform-origin:right center;}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="split"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="split"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="split"] .alpsm-child-link):is(:hover,:focus-visible) > .et_pb_link_inner > .et_pb_link_text::before{opacity:1;transform:scaleX(1);}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="split"][data-alpsm-line-parent-active="on"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="split"][data-alpsm-line-child-active="on"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="split"][data-alpsm-line-child-active="on"] .alpsm-child-link).alpsm-line-current > .et_pb_link_inner > .et_pb_link_text::before{opacity:1;transform:scaleX(1);background:var(--alpsm-line-active-ink,#2fc5b5);transition-delay:0ms;}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="twin"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="twin"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="twin"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::before{content:"";top:auto;bottom:calc(-1 * var(--alpsm-line-distance,4px) - 6px);transform-origin:right center;opacity:0;transition-delay:calc(var(--alpsm-line-wait,0ms) + var(--alpsm-line-time,300ms) * .3);}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="twin"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="twin"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="twin"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after{transform-origin:left center;}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="twin"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="twin"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="twin"] .alpsm-child-link):is(:hover,:focus-visible) > .et_pb_link_inner > .et_pb_link_text::before{opacity:1;transform:scaleX(1);}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="twin"][data-alpsm-line-parent-active="on"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="twin"][data-alpsm-line-child-active="on"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="twin"][data-alpsm-line-child-active="on"] .alpsm-child-link).alpsm-line-current > .et_pb_link_inner > .et_pb_link_text::before{opacity:1;transform:scaleX(1);background:var(--alpsm-line-active-ink,#2fc5b5);transition-delay:0ms;}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="brackets"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="brackets"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="brackets"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::before{content:"";inset-inline-end:auto;width:22%;height:8px;border:2px solid var(--alpsm-line-ink,#2fc5b5);border-top:0;border-right:0;background:none;transform:translateY(4px) scale(.7);transform-origin:left bottom;}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="brackets"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="brackets"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="brackets"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after{inset-inline-start:auto;width:22%;height:8px;border:2px solid var(--alpsm-line-ink,#2fc5b5);border-top:0;border-left:0;background:none;transform:translateY(4px) scale(.7);transform-origin:right bottom;}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="brackets"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="brackets"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="brackets"] .alpsm-child-link):is(:hover,:focus-visible) > .et_pb_link_inner > .et_pb_link_text::before{opacity:1;transform:translateY(0) scale(1);}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="brackets"][data-alpsm-line-parent-active="on"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="brackets"][data-alpsm-line-child-active="on"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="brackets"][data-alpsm-line-child-active="on"] .alpsm-child-link).alpsm-line-current > .et_pb_link_inner > .et_pb_link_text::before{opacity:1;transform:translateY(0) scale(1);border-color:var(--alpsm-line-active-ink,#2fc5b5);transition-delay:0ms;}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="brackets"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="brackets"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="brackets"] .alpsm-child-link):is(:hover,:focus-visible) > .et_pb_link_inner > .et_pb_link_text::after{opacity:1;transform:translateY(0) scale(1);}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="brackets"][data-alpsm-line-parent-active="on"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="brackets"][data-alpsm-line-child-active="on"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="brackets"][data-alpsm-line-child-active="on"] .alpsm-child-link).alpsm-line-current > .et_pb_link_inner > .et_pb_link_text::after{opacity:1;transform:translateY(0) scale(1);border-color:var(--alpsm-line-active-ink,#2fc5b5);transition-delay:0ms;}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="dash"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="dash"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="dash"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after{background:repeating-linear-gradient(90deg,var(--alpsm-line-ink,#2fc5b5) 0 5px,transparent 5px 9px);background-size:18px 100%;background-position:-18px 0;transform:scaleX(1);transition:background-position var(--alpsm-line-time,300ms) linear var(--alpsm-line-wait,0ms),opacity var(--alpsm-line-time,300ms) ease var(--alpsm-line-wait,0ms);}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="dash"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="dash"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="dash"] .alpsm-child-link):is(:hover,:focus-visible) > .et_pb_link_inner > .et_pb_link_text::after{opacity:1;background-position:0 0;}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="dash"][data-alpsm-line-parent-active="on"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="dash"][data-alpsm-line-child-active="on"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="dash"][data-alpsm-line-child-active="on"] .alpsm-child-link).alpsm-line-current > .et_pb_link_inner > .et_pb_link_text::after{background:repeating-linear-gradient(90deg,var(--alpsm-line-active-ink,#2fc5b5) 0 5px,transparent 5px 9px);background-position:0 0;}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="glow"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="glow"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="glow"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after{transform:scaleX(1);box-shadow:0 0 0 transparent;transition:opacity var(--alpsm-line-time,300ms) ease var(--alpsm-line-wait,0ms),box-shadow var(--alpsm-line-time,300ms) ease var(--alpsm-line-wait,0ms);}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="glow"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="glow"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="glow"] .alpsm-child-link):is(:hover,:focus-visible) > .et_pb_link_inner > .et_pb_link_text::after{opacity:1;box-shadow:0 0 9px 2px var(--alpsm-line-ink,#2fc5b5);}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="glow"][data-alpsm-line-parent-active="on"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="glow"][data-alpsm-line-child-active="on"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="glow"][data-alpsm-line-child-active="on"] .alpsm-child-link).alpsm-line-current > .et_pb_link_inner > .et_pb_link_text::after{box-shadow:0 0 9px 2px var(--alpsm-line-active-ink,#2fc5b5);}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="ribbon"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ribbon"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ribbon"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after{height:4px;border-radius:999px;background:linear-gradient(90deg,transparent 0%,var(--alpsm-line-ink,#2fc5b5) 20%,var(--alpsm-line-ink,#2fc5b5) 80%,transparent 100%);transform:translateY(6px) scaleX(.18) skewX(-12deg);transform-origin:center;}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="ribbon"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ribbon"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ribbon"] .alpsm-child-link):is(:hover,:focus-visible) > .et_pb_link_inner > .et_pb_link_text::after{opacity:1;transform:translateY(0) scaleX(1) skewX(0);}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="ribbon"][data-alpsm-line-parent-active="on"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ribbon"][data-alpsm-line-child-active="on"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ribbon"][data-alpsm-line-child-active="on"] .alpsm-child-link).alpsm-line-current > .et_pb_link_inner > .et_pb_link_text::after{background:linear-gradient(90deg,transparent 0%,var(--alpsm-line-active-ink,#2fc5b5) 20%,var(--alpsm-line-active-ink,#2fc5b5) 80%,transparent 100%);transform:translateY(0) scaleX(1) skewX(0);}
/* ALP 0.3.7: Original scalable Zigzag, Wave, and Hand-Drawn underlines.
   SVG paths are used solely as repeatable CSS masks, preserving editable
   Divi color, timing, delay, offset, active color, and reduced-motion support.
   Shapes follow the Link text (not the arrow/icon or the full row hit target). */

/* zigzag: reveal a self-contained vector stroke from its starting edge. */
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="zigzag"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="zigzag"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="zigzag"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after {
  height:clamp(4px,var(--alpsm-line-shape-height,10px),24px);
  bottom:calc(-1 * var(--alpsm-line-distance,4px) - var(--alpsm-line-shape-height,10px) + 2px);
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2010%22%3E%3Cpath%20d%3D%22M-1%206L5%202%2011%208%2017%202%2023%208%2029%202%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.3%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2010%22%3E%3Cpath%20d%3D%22M-1%206L5%202%2011%208%2017%202%2023%208%2029%202%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.3%22%20stroke-linejoin%3D%22round%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-size:24px 100%;mask-size:24px 100%;
  -webkit-mask-repeat:repeat-x;
  mask-repeat:repeat-x;
  -webkit-mask-position:left center;mask-position:left center;
  background:var(--alpsm-line-ink,#2fc5b5);
}

/* Wave Underline: a seamless *periodic* 28px path. The end of each tile
   matches the beginning in both position and tangent, so the wave continues
   without a seam at any text width. Height changes its vertical amplitude;
   tile width remains constant, yielding multiple ripples even on short links.
   Reveal with clipping instead of scaleX, which distorts the wave geometry. */
  :is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="wave"] .alpsm-parent-link,
      .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="wave"] .alpsm-child-link,
      .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="wave"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after {
  height:clamp(4px,var(--alpsm-line-shape-height,16px),24px);
  bottom:calc(-1 * var(--alpsm-line-distance,4px) - var(--alpsm-line-shape-height,16px) + 2px);
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2224%22%20viewBox%3D%220%200%2028%2024%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2012%20C3%204%204%203%207%203%20C10%203%2011%204%2014%2012%20C17%2020%2018%2021%2021%2021%20C24%2021%2025%2020%2028%2012%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%223.2%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2224%22%20viewBox%3D%220%200%2028%2024%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2012%20C3%204%204%203%207%203%20C10%203%2011%204%2014%2012%20C17%2020%2018%2021%2021%2021%20C24%2021%2025%2020%2028%2012%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%223.2%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  /* One non-tiled SVG mask is assigned per Link by frontend.js. The legacy
     28px tile above is a fallback when JavaScript is unavailable. */
  -webkit-mask-image:var(--alpsm-wave-mask, url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2224%22%20viewBox%3D%220%200%2028%2024%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2012%20C3%204%204%203%207%203%20C10%203%2011%204%2014%2012%20C17%2020%2018%2021%2021%2021%20C24%2021%2025%2020%2028%2012%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%223.2%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E"));
  mask-image:var(--alpsm-wave-mask, url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2224%22%20viewBox%3D%220%200%2028%2024%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2012%20C3%204%204%203%207%203%20C10%203%2011%204%2014%2012%20C17%2020%2018%2021%2021%2021%20C24%2021%2025%2020%2028%2012%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%223.2%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E"));
  -webkit-mask-size:var(--alpsm-wave-mask-size,28px 100%);mask-size:var(--alpsm-wave-mask-size,28px 100%);
  -webkit-mask-repeat:var(--alpsm-wave-mask-repeat,repeat-x);mask-repeat:var(--alpsm-wave-mask-repeat,repeat-x);
  -webkit-mask-position:left center; mask-position:left center;
  background:var(--alpsm-line-ink,#2fc5b5);
  transform:none;
  clip-path:inset(0 100% 0 0);
  transition:clip-path var(--alpsm-line-time,300ms) ease var(--alpsm-line-wait,0ms),
    opacity var(--alpsm-line-time,300ms) ease var(--alpsm-line-wait,0ms);
}
  :is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="wave"] .alpsm-parent-link,
      .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="wave"] .alpsm-child-link,
      .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="wave"] .alpsm-child-link):is(:hover,:focus-visible) > .et_pb_link_inner > .et_pb_link_text::after,
  :is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="wave"] .alpsm-parent-link,
      .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="wave"] .alpsm-child-link,
      .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="wave"] .alpsm-child-link).alpsm-line-current > .et_pb_link_inner > .et_pb_link_text::after {
  opacity:1;transform:none;clip-path:inset(0 0 0 0);
}

/* handdrawn: reveal a self-contained vector stroke from its starting edge. */
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="handdrawn"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="handdrawn"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="handdrawn"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after {
  height:12px;
  bottom:calc(-1 * var(--alpsm-line-distance,4px) - 10px);
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%2012%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M1%208C19%204%2032%208%2048%206S80%202%2094%206%20121%2010%20159%203%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20160%2012%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M1%208C19%204%2032%208%2048%206S80%202%2094%206%20121%2010%20159%203%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-size:100% 100%;mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:left center;mask-position:left center;
  background:var(--alpsm-line-ink,#2fc5b5);
}

@media(prefers-reduced-motion:reduce){
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="ink"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ink"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ink"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::before,:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="ink"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ink"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ink"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after,:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="split"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="split"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="split"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::before,:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="split"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="split"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="split"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after,:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="twin"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="twin"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="twin"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::before,:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="twin"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="twin"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="twin"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after,:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="brackets"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="brackets"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="brackets"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::before,:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="brackets"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="brackets"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="brackets"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after,:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="dash"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="dash"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="dash"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::before,:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="dash"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="dash"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="dash"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after,:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="glow"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="glow"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="glow"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::before,:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="glow"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="glow"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="glow"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after,:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="ribbon"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ribbon"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ribbon"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::before,:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="ribbon"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ribbon"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="ribbon"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after{transition:none!important;animation:none!important;}
}
@media (prefers-reduced-motion:reduce){
  :is(.alpsm-desktop .alpsm-parent-link,.alpsm-desktop .alpsm-child-link,.alpsm-popup-visible .alpsm-child-link)
   > .et_pb_link_inner > .et_pb_link_text::before,
  :is(.alpsm-desktop .alpsm-parent-link,.alpsm-desktop .alpsm-child-link,.alpsm-popup-visible .alpsm-child-link)
   > .et_pb_link_inner > .et_pb_link_text::after {transition:none!important;}
}

/* All ALP desktop popover shells must remain in the same viewport position.
   Divi may assign transform/translate to its native Dropdown on hover; these
   cannot be allowed to shift an ALP-positioned fixed panel, irrespective of
   whether an ALP entrance animation is enabled. Entrance motion is painted
   exclusively on the Link contents, never on the popup shell. */
.alpsm-section .alpsm-popup-visible[popover]:popover-open,
.alpsm-popup-visible:is(.alpsm-mega,.alpsm-dropdown)[popover]:popover-open {
  transform:none !important;
  translate:none !important;
  scale:none !important;
  rotate:none !important;
}
.alpsm-section .alpsm-popup-visible[popover]:popover-open:not([data-alpsm-entrance]){
  opacity:1 !important;
}
/* ALP dropdown entrances: the anchored popover SHELL never transforms, filters
   or clips. Any transform on that shell changes the containing block of nested
   fixed flyouts; clip-path also truncates chevrons/pointers. Animate link content
   instead, which is a sibling of each nested dropdown, not its ancestor. */
.alpsm-popup-visible:is(.alpsm-mega,.alpsm-dropdown)[data-alpsm-entrance]{
  transform:none !important;
  translate:none !important;
  scale:none !important;
  rotate:none !important;
  animation:alpsm-enter-shell var(--alpsm-enter-duration,280ms) var(--alpsm-enter-easing,ease-out) var(--alpsm-enter-delay,0ms) both !important;
}
@keyframes alpsm-enter-shell{from{opacity:0}to{opacity:1}}
.alpsm-popup-visible:is(.alpsm-mega,.alpsm-dropdown)[data-alpsm-entrance] .alpsm-child-link > .et_pb_link_inner{
  animation-duration:var(--alpsm-enter-duration,280ms);
  animation-delay:var(--alpsm-enter-delay,0ms);
  animation-timing-function:var(--alpsm-enter-easing,ease-out);
  animation-fill-mode:both;
  animation-iteration-count:1;
}
.alpsm-popup-visible[data-alpsm-entrance="soft-drop"] .alpsm-child-link > .et_pb_link_inner{animation-name:alpsm-entry-down}
.alpsm-popup-visible[data-alpsm-entrance="rise-in"] .alpsm-child-link > .et_pb_link_inner{animation-name:alpsm-entry-up}
.alpsm-popup-visible[data-alpsm-entrance="scale-bloom"] .alpsm-child-link > .et_pb_link_inner{animation-name:alpsm-entry-bloom}
.alpsm-popup-visible[data-alpsm-entrance="curtain"] .alpsm-child-link > .et_pb_link_inner{animation-name:alpsm-entry-curtain}
.alpsm-popup-visible[data-alpsm-entrance="side-glide"] .alpsm-child-link > .et_pb_link_inner{animation-name:alpsm-entry-side}
.alpsm-popup-visible[data-alpsm-entrance="side-glide"][data-alpsm-enter-direction="left"] .alpsm-child-link > .et_pb_link_inner{animation-name:alpsm-entry-side-reverse}
.alpsm-popup-visible[data-alpsm-entrance="blur-reveal"] .alpsm-child-link > .et_pb_link_inner{animation-name:alpsm-entry-blur}
.alpsm-popup-visible[data-alpsm-entrance="tilt-in"] .alpsm-child-link > .et_pb_link_inner{animation-name:alpsm-entry-tilt}
@keyframes alpsm-entry-down{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@keyframes alpsm-entry-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes alpsm-entry-bloom{from{opacity:0;transform:scale(.93)}to{opacity:1;transform:none}}
@keyframes alpsm-entry-curtain{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes alpsm-entry-side{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}
@keyframes alpsm-entry-side-reverse{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
@keyframes alpsm-entry-blur{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}
@keyframes alpsm-entry-tilt{from{opacity:0;transform:translateY(-5px) rotate(-2deg)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
 .alpsm-popup-visible:is(.alpsm-mega,.alpsm-dropdown)[data-alpsm-entrance],
 .alpsm-popup-visible:is(.alpsm-mega,.alpsm-dropdown)[data-alpsm-entrance] .alpsm-child-link > .et_pb_link_inner{animation:none!important;opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
}


/* ALP uniform chevrons: desktop flyouts point sideways, mobile accordions
   use the same stroke weight rotated down/up. Keep full 60px touch targets. */
@media(min-width:981px){
 :is(.alpsm-popup-visible,.alpsm-desktop) .alpsm-child-link.alpsm-has-submenu > :is(a,.et_pb_link_inner){
   box-sizing:border-box;min-width:0;padding-inline-end:12px!important;gap:12px!important;
 }
 :is(.alpsm-popup-visible,.alpsm-desktop) .alpsm-child-link.alpsm-has-submenu > :is(a,.et_pb_link_inner)::after{
   flex:0 0 9px!important;width:9px!important;height:9px!important;
   margin-inline-start:auto!important;margin-inline-end:4px!important;
   border-width:2px!important;transform:rotate(45deg)!important;
 }
}
/* Existing native Divi collapsible toggle remains the interactive element. */
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile .et_mobile_menu .mobile-toggle::before,
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile .et_mobile_menu .mobile-toggle::after{
 content:none!important;
}
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile .et_mobile_menu .mobile-toggle .mobile-toggle-icon{
 display:block!important;width:10px!important;height:10px!important;
 border-top:2px solid currentColor!important;border-right:2px solid currentColor!important;
 transform:rotate(135deg);transition:transform .2s ease;
 background:none!important;box-shadow:none!important;
}
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile .et_mobile_menu .mobile-toggle .mobile-toggle-icon::before,
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile .et_mobile_menu .mobile-toggle .mobile-toggle-icon::after{content:none!important}
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile .et_mobile_menu li:is(.alpsm-open,.et_pb_submenu_open,.et_pb_menu_item_open) > .mobile-toggle .mobile-toggle-icon,
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile .et_mobile_menu .mobile-toggle[aria-expanded="true"] .mobile-toggle-icon{transform:rotate(-45deg)}
.alpsm-section .alpsm-mobile .alpsm-toggle::before,
.alpsm-section .alpsm-mobile .alpsm-extended-toggle::before{border-width:2px!important;width:10px!important;height:10px!important}
@media(prefers-reduced-motion:reduce){
 .alpsm-section .alpsm-mobile .mobile-toggle .mobile-toggle-icon{transition:none!important}
}


/* Pulse Dot: one 8px indicator centered under the text. Color from Divi
   Animation line color. No layout or click-area changes. */
:is(.alpsm-desktop[data-alpsm-line-parent-effect="pulse"][data-alpsm-line-parent-on="on"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-effect="pulse"][data-alpsm-line-child-on="on"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-effect="pulse"][data-alpsm-line-child-on="on"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after{
  inset-inline-start:50%;inset-inline-end:auto;width:8px;height:8px;
  bottom:calc(-1 * var(--alpsm-line-distance,4px) - 8px);
  border-radius:50%;background:var(--alpsm-line-ink,#2fc5b5);
  transform:translateX(-50%) scale(.75);transform-origin:center;
  opacity:0;box-shadow:0 0 14px color-mix(in srgb,var(--alpsm-line-ink,#2fc5b5) 35%,transparent);
  transition:opacity var(--alpsm-line-time,300ms) ease var(--alpsm-line-wait,0ms);
}
:is(.alpsm-desktop[data-alpsm-line-parent-effect="pulse"][data-alpsm-line-parent-on="on"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-effect="pulse"][data-alpsm-line-child-on="on"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-effect="pulse"][data-alpsm-line-child-on="on"] .alpsm-child-link):is(:hover,:focus-visible) > .et_pb_link_inner > .et_pb_link_text::after{
  opacity:1;transform:translateX(-50%) scale(1);
  animation:alpsm-pulse-dot 1.2s steps(2,end) infinite;
}
:is(.alpsm-desktop[data-alpsm-line-parent-effect="pulse"][data-alpsm-line-parent-on="on"][data-alpsm-line-parent-active="on"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-effect="pulse"][data-alpsm-line-child-on="on"][data-alpsm-line-child-active="on"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-effect="pulse"][data-alpsm-line-child-on="on"][data-alpsm-line-child-active="on"] .alpsm-child-link).alpsm-line-current > .et_pb_link_inner > .et_pb_link_text::after{
 background:var(--alpsm-line-active-ink,#2fc5b5);opacity:1;
 transform:translateX(-50%) scale(1);animation:alpsm-pulse-dot 1.2s steps(2,end) infinite;
}
@keyframes alpsm-pulse-dot{0%,100%{opacity:1}50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){
 :is(.alpsm-desktop[data-alpsm-line-parent-effect="pulse"] .alpsm-parent-link,
     .alpsm-desktop[data-alpsm-line-child-effect="pulse"] .alpsm-child-link,
     .alpsm-popup-visible[data-alpsm-line-child-effect="pulse"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after{
   animation:none!important;transition:none!important;transform:translateX(-50%) scale(1)!important;
 }
}
/* Divi 5.16 renders an .et_pb_menu__collapsible-icon inside the real button.
   Hide only its artwork, retaining the semantic toggle and its full hit area. */
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile .et_mobile_menu .mobile-toggle > .et_pb_menu__collapsible-icon {
  display:none!important;
}
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile .et_mobile_menu .mobile-toggle::after {
  content:""!important;display:block!important;width:10px!important;height:10px!important;
  box-sizing:border-box!important;border:0!important;
  border-top:2px solid currentColor!important;border-right:2px solid currentColor!important;
  transform:rotate(135deg);transition:transform .18s ease;
  pointer-events:none;
}
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile .et_mobile_menu li.et_pb_collapsible_menu_open > .mobile-toggle::after,
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile .et_mobile_menu .mobile-toggle[aria-expanded="true"]::after {
  transform:rotate(-45deg);
}
@media(prefers-reduced-motion:reduce){
 .alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile .et_mobile_menu .mobile-toggle::after{transition:none!important}
}

/* 0.3.11: Popup geometry is controlled by ALP's placement snapshot, never by
   native Divi hover transitions. Entrance effects only animate inner content. */
.alpsm-popup-visible:is(.alpsm-mega,.alpsm-dropdown) {
  transition-property:opacity,background-color,border-color,box-shadow!important;
  transition-duration:0s!important;
  transform:none!important;translate:none!important;scale:none!important;rotate:none!important;
  left:var(--alpsm-popup-x,12px)!important;top:var(--alpsm-popup-y,80px)!important;
  right:auto!important;bottom:auto!important;
}
/* Shared expansion glyphs, scoped to ALP navigation only. The primary Link has
   an indicator below; a nested Link has a lateral indicator. */
@media(min-width:981px){
  .alpsm-desktop .alpsm-parent-link.alpsm-has-submenu > .et_pb_link_inner,
  :is(.alpsm-desktop,.alpsm-popup-visible) .alpsm-child-link.alpsm-has-submenu > .et_pb_link_inner{
    display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important;
  }
  .alpsm-desktop .alpsm-parent-link.alpsm-has-submenu > .et_pb_link_inner::after,
  :is(.alpsm-desktop,.alpsm-popup-visible) .alpsm-child-link.alpsm-has-submenu > .et_pb_link_inner::after{
    content:""!important;box-sizing:border-box!important;position:static!important;display:block!important;
    flex:0 0 9px!important;width:9px!important;height:9px!important;
    min-width:9px!important;margin-inline-start:auto!important;margin-inline-end:5px!important;
    border:0!important;border-top:2px solid currentColor!important;border-right:2px solid currentColor!important;
    background:none!important;clip-path:none!important;transform:rotate(45deg)!important;
    pointer-events:none!important;opacity:1!important;
  }
  .alpsm-desktop .alpsm-parent-link.alpsm-has-submenu > .et_pb_link_inner::after{transform:rotate(135deg)!important;}
  :is(.alpsm-desktop,.alpsm-popup-visible)[data-alpsm-expander="plus"] :is(.alpsm-parent-link,.alpsm-child-link).alpsm-has-submenu > .et_pb_link_inner::after{
    content:"+"!important;border:0!important;font-size:20px!important;line-height:10px!important;
    text-align:center!important;transform:none!important;white-space:nowrap!important;
  }
  :is(.alpsm-desktop,.alpsm-popup-visible)[data-alpsm-expander="triangle"] :is(.alpsm-parent-link,.alpsm-child-link).alpsm-has-submenu > .et_pb_link_inner::after{
    border:0!important;background:currentColor!important;clip-path:polygon(0 0,100% 50%,0 100%)!important;
    transform:none!important;width:9px!important;height:11px!important;
  }
  .alpsm-desktop[data-alpsm-expander="triangle"] .alpsm-parent-link.alpsm-has-submenu > .et_pb_link_inner::after{transform:rotate(90deg)!important;}
}
/* Same selected glyph for the Divi collapsible accordion and ALP fallback.
   Do not replace buttons: they retain their 60px pointer/keyboard target. */
.alpsm-section .alpsm-mobile[data-alpsm-expander="plus"] :is(.mobile-toggle,.alpsm-toggle,.alpsm-extended-toggle)::after{
  content:"+"!important;display:block!important;border:0!important;background:none!important;
  font:600 22px/1 Arial,sans-serif!important;text-align:center!important;transform:none!important;
  width:16px!important;height:22px!important;clip-path:none!important;
}
.alpsm-section .alpsm-mobile[data-alpsm-expander="plus"] li:is(.et_pb_collapsible_menu_open,.alpsm-open,.et_pb_submenu_open) > :is(.mobile-toggle,.alpsm-toggle,.alpsm-extended-toggle)::after,
.alpsm-section .alpsm-mobile[data-alpsm-expander="plus"] :is(.mobile-toggle,.alpsm-toggle,.alpsm-extended-toggle)[aria-expanded="true"]::after{content:"−"!important;}
.alpsm-section .alpsm-mobile[data-alpsm-expander="triangle"] :is(.mobile-toggle,.alpsm-toggle,.alpsm-extended-toggle)::after{
  content:""!important;display:block!important;border:0!important;background:currentColor!important;
  clip-path:polygon(0 0,100% 50%,0 100%)!important;transform:rotate(90deg)!important;
  width:10px!important;height:11px!important;
}
.alpsm-section .alpsm-mobile[data-alpsm-expander="triangle"] li:is(.et_pb_collapsible_menu_open,.alpsm-open,.et_pb_submenu_open) > :is(.mobile-toggle,.alpsm-toggle,.alpsm-extended-toggle)::after,
.alpsm-section .alpsm-mobile[data-alpsm-expander="triangle"] :is(.mobile-toggle,.alpsm-toggle,.alpsm-extended-toggle)[aria-expanded="true"]::after{transform:rotate(-90deg)!important;}
.alpsm-section .alpsm-mobile[data-alpsm-expander]:is([data-alpsm-expander="plus"],[data-alpsm-expander="triangle"]) :is(.alpsm-toggle,.alpsm-extended-toggle)::before{content:none!important;}
/* Chevron fallback where the native Divi mobile button doesn't expose its
   usual .mobile-toggle-icon class; drawn on the actual clickable button. */
.alpsm-section .alpsm-mobile[data-alpsm-expander="chevron"] .mobile-toggle::after{
  content:""!important;display:block!important;border:0!important;border-top:2px solid currentColor!important;
  border-right:2px solid currentColor!important;transform:rotate(135deg)!important;
  width:11px!important;height:11px!important;background:none!important;clip-path:none!important;
}
.alpsm-section .alpsm-mobile[data-alpsm-expander="chevron"] li.et_pb_collapsible_menu_open > .mobile-toggle::after,
.alpsm-section .alpsm-mobile[data-alpsm-expander="chevron"] .mobile-toggle[aria-expanded="true"]::after{transform:rotate(-45deg)!important;}
/* ALP text motion remains disabled when reduced motion is requested. */
@media(prefers-reduced-motion:reduce){
  .alpsm-section .alpsm-mobile[data-alpsm-expander] :is(.mobile-toggle,.alpsm-toggle,.alpsm-extended-toggle)::after{transition:none!important;}
}
/* Native mobile accordion artwork is replaced only inside ALP menus. */
.alpsm-section .alpsm-mobile[data-alpsm-expander] .et_mobile_menu .mobile-toggle .mobile-toggle-icon,
.alpsm-section .alpsm-mobile[data-alpsm-expander] .et_mobile_menu .mobile-toggle > .et_pb_menu__collapsible-icon{
  display:none!important;
}
/* Outrank Divi's and the legacy ALP native accordion ::after rules.
   A shared icon selection must take effect on the REAL native toggle. */
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile[data-alpsm-expander="plus"] .et_mobile_menu li > .mobile-toggle::after{
  content:"+"!important;display:block!important;border:0!important;background:none!important;
  font:600 22px/1 Arial,sans-serif!important;text-align:center!important;
  width:16px!important;height:22px!important;clip-path:none!important;transform:none!important;
}
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile[data-alpsm-expander="plus"] .et_mobile_menu li.et_pb_collapsible_menu_open > .mobile-toggle::after,
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile[data-alpsm-expander="plus"] .et_mobile_menu li > .mobile-toggle[aria-expanded="true"]::after{content:"−"!important;}
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile[data-alpsm-expander="triangle"] .et_mobile_menu li > .mobile-toggle::after{
  content:""!important;display:block!important;border:0!important;background:currentColor!important;
  clip-path:polygon(0 0,100% 50%,0 100%)!important;transform:rotate(90deg)!important;
  width:10px!important;height:11px!important;
}
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile[data-alpsm-expander="triangle"] .et_mobile_menu li.et_pb_collapsible_menu_open > .mobile-toggle::after,
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile[data-alpsm-expander="triangle"] .et_mobile_menu li > .mobile-toggle[aria-expanded="true"]::after{transform:rotate(-90deg)!important;}

/* 0.3.12: A single native icon-picker selection controls ALP desktop and
   collapsible-mobile indicators. The old CSS chevron remains the safe fallback
   when the saved icon cannot be rendered by the native icon contract. */
.alpsm-desktop .alpsm-expander-glyph,
.alpsm-popup-visible .alpsm-expander-glyph,
.alpsm-mobile .alpsm-expander-glyph{
  display:inline-flex!important;align-items:center;justify-content:center;
  flex:0 0 15px;width:15px;height:15px;font-size:15px;line-height:1;
  color:var(--alpsm-expander-color,currentColor)!important;
  pointer-events:none!important;white-space:nowrap;
}
.alpsm-expander-glyph svg{width:100%;height:100%;fill:currentColor;stroke:currentColor;pointer-events:none}
.alpsm-glyph-divi{font-family:ETmodules!important;font-weight:normal!important}
.alpsm-glyph-fa{font-family:'Font Awesome 5 Free','Font Awesome 6 Free'!important;font-weight:900!important}
.alpsm-glyph-fa-regular{font-weight:400!important}
.alpsm-desktop :is(.alpsm-parent-link,.alpsm-child-link).alpsm-has-submenu > .et_pb_link_inner::after,
.alpsm-popup-visible .alpsm-child-link.alpsm-has-submenu > .et_pb_link_inner::after,
.alpsm-section .alpsm-mobile[data-alpsm-expander] :is(.mobile-toggle,.alpsm-toggle,.alpsm-extended-toggle)::after{
  color:var(--alpsm-expander-color,currentColor)!important;
}
@media(min-width:981px){
  .alpsm-desktop .alpsm-expand-has-custom-glyph > .et_pb_link_inner::after,
  .alpsm-popup-visible .alpsm-expand-has-custom-glyph > .et_pb_link_inner::after{
    content:none!important;display:none!important;
  }
  .alpsm-desktop[data-alpsm-custom-expander='on'] .alpsm-parent-link.alpsm-has-submenu > .et_pb_link_inner,
  .alpsm-popup-visible[data-alpsm-custom-expander='on'] .alpsm-child-link.alpsm-has-submenu > .et_pb_link_inner{
    display:flex!important;align-items:center!important;gap:9px!important;
  }
  .alpsm-desktop .alpsm-parent-link .alpsm-expander-glyph,
  .alpsm-popup-visible .alpsm-child-link .alpsm-expander-glyph{margin-inline-start:auto;margin-inline-end:5px}
}
.alpsm-section .alpsm-mobile[data-alpsm-custom-expander='on'] :is(.mobile-toggle,.alpsm-toggle,.alpsm-extended-toggle)::after,
.alpsm-section .alpsm-mobile[data-alpsm-custom-expander='on'] :is(.mobile-toggle,.alpsm-toggle,.alpsm-extended-toggle)::before{
  content:none!important;display:none!important;
}
.alpsm-section .alpsm-mobile[data-alpsm-custom-expander='on'] .et_mobile_menu .mobile-toggle .mobile-toggle-icon,
.alpsm-section .alpsm-mobile[data-alpsm-custom-expander='on'] .et_mobile_menu .mobile-toggle > .et_pb_menu__collapsible-icon{display:none!important}
.alpsm-section .alpsm-mobile[data-alpsm-custom-expander='on'] :is(.mobile-toggle,.alpsm-toggle,.alpsm-extended-toggle){
  display:flex!important;align-items:center!important;justify-content:center!important;
}
.alpsm-section .alpsm-mobile .mobile-toggle .alpsm-expander-glyph,
.alpsm-section .alpsm-mobile :is(.alpsm-toggle,.alpsm-extended-toggle) .alpsm-expander-glyph{flex:none}
.alpsm-section .alpsm-mobile li.et_pb_collapsible_menu_open > .mobile-toggle > .alpsm-expander-glyph,
.alpsm-section .alpsm-mobile .mobile-toggle[aria-expanded='true'] > .alpsm-expander-glyph,
.alpsm-section .alpsm-mobile :is(.alpsm-toggle,.alpsm-extended-toggle)[aria-expanded='true'] > .alpsm-expander-glyph{
  transform:rotate(180deg);
}
@media(prefers-reduced-motion:reduce){.alpsm-section .alpsm-expander-glyph{transition:none!important}}
/* Native Divi hover transitions must never animate popup geometry. */
.alpsm-section .alpsm-popup-visible:is(.alpsm-mega,.alpsm-dropdown){
  transition:none!important;
  transform:none!important;translate:none!important;scale:none!important;rotate:none!important;
  position:fixed!important;left:var(--alpsm-popup-x,12px)!important;
  top:var(--alpsm-popup-y,80px)!important;right:auto!important;bottom:auto!important;
}
/* Outrank the native accordion's older state selectors when a genuine icon
   has been selected in the Divi icon-picker. */
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile[data-alpsm-custom-expander='on'][data-alpsm-expander] .et_mobile_menu li > .mobile-toggle::after,
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile[data-alpsm-custom-expander='on'][data-alpsm-expander] .et_mobile_menu li.et_pb_collapsible_menu_open > .mobile-toggle::after,
.alpsm-section .alpsm-mobile.et_pb_menu--collapsible-mobile[data-alpsm-custom-expander='on'][data-alpsm-expander] .et_mobile_menu li > .mobile-toggle[aria-expanded='true']::after {
  content:none!important;display:none!important;
}
/* Preserve the shape of selected outline SVGs while using the chosen color. */
.alpsm-expander-glyph svg{fill:initial;stroke:initial;color:inherit}
.alpsm-expander-glyph svg :is(path,circle,rect,line,ellipse,polygon,polyline)[fill]:not([fill='none']){fill:currentColor}
.alpsm-expander-glyph svg :is(path,circle,rect,line,ellipse,polygon,polyline)[stroke]:not([stroke='none']){stroke:currentColor}
.alpsm-expander-glyph svg :is(path,circle,rect,line,ellipse,polygon,polyline):not([fill]):not([stroke]){fill:currentColor}


/* 0.3.16: Divi 5 VB / frontend parity. Divi may hydrate nested Dropdown
   after the Link, so do not require a transient JS-added class to show a
   submenu indicator. Desktop navigation is hidden already in mobile mode.
   The saved Link icon (e.g. the medical suitcase) is NEVER an expander. */
:is(.alpsm-desktop,.alpsm-popup-visible) :is(.alpsm-parent-link,.alpsm-child-link):is(
  .alpsm-has-submenu,
  :has(.alpsm-dropdown,.alpsm-mega),
  :has(+ .alpsm-dropdown),
  :has(+ .alpsm-mega)
) > .et_pb_link_inner {
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0!important;
  overflow:visible!important;
}
:is(.alpsm-desktop,.alpsm-popup-visible) :is(.alpsm-parent-link,.alpsm-child-link):is(
  .alpsm-has-submenu,:has(.alpsm-dropdown,.alpsm-mega),
  :has(+ .alpsm-dropdown),:has(+ .alpsm-mega)
) > .et_pb_link_inner::after {
  content:''!important;
  display:block!important;
  position:static!important;
  box-sizing:border-box!important;
  flex:0 0 9px!important;
  width:9px!important;
  height:9px!important;
  border:0!important;
  border-top:2px solid var(--alpsm-expander-color,currentColor)!important;
  border-right:2px solid var(--alpsm-expander-color,currentColor)!important;
  background:none!important;
  margin-inline-start:auto!important;
  margin-inline-end:5px!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
  transform:rotate(45deg)!important;
}
:is(.alpsm-desktop,.alpsm-popup-visible) .alpsm-parent-link:is(
  .alpsm-has-submenu,:has(.alpsm-dropdown,.alpsm-mega),
  :has(+ .alpsm-dropdown),:has(+ .alpsm-mega)
) > .et_pb_link_inner::after {transform:rotate(135deg)!important;}
/* Preserve the native Link icon and text on the leading side of the row.
   A separately selected expansion glyph is always last. */
:is(.alpsm-desktop,.alpsm-popup-visible) :is(.alpsm-parent-link,.alpsm-child-link) > .et_pb_link_inner > :is(.et-pb-icon,.et_pb_link_icon){
  order:-2!important;flex-shrink:0!important;
}
:is(.alpsm-desktop,.alpsm-popup-visible) :is(.alpsm-parent-link,.alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text {order:0!important;}
:is(.alpsm-desktop,.alpsm-popup-visible) :is(.alpsm-parent-link,.alpsm-child-link) > .et_pb_link_inner > .alpsm-expander-glyph {order:99!important;flex-shrink:0!important;}
/* Only an actually rendered, independent glyph replaces the fallback caret.
   Never hide it for a saved icon value alone (VB hydration race). */
:is(.alpsm-desktop,.alpsm-popup-visible) .alpsm-expand-has-custom-glyph > .et_pb_link_inner::after {
  display:none!important;content:none!important;
}
/* Keep the old three-option fallback functional in the Builder too. */
:is(.alpsm-desktop,.alpsm-popup-visible)[data-alpsm-expander='plus'] :is(.alpsm-parent-link,.alpsm-child-link):is(.alpsm-has-submenu,:has(.alpsm-dropdown,.alpsm-mega)) > .et_pb_link_inner::after {
  content:'+'!important;border:0!important;transform:none!important;
  width:12px!important;height:20px!important;flex-basis:12px!important;font:600 20px/20px sans-serif!important;
}
:is(.alpsm-desktop,.alpsm-popup-visible)[data-alpsm-expander='triangle'] :is(.alpsm-parent-link,.alpsm-child-link):is(.alpsm-has-submenu,:has(.alpsm-dropdown,.alpsm-mega)) > .et_pb_link_inner::after {
  content:''!important;border:0!important;background:var(--alpsm-expander-color,currentColor)!important;
  clip-path:polygon(0 0,100% 50%,0 100%)!important;
  transform:none!important;width:9px!important;height:11px!important;
}
:is(.alpsm-desktop,.alpsm-popup-visible)[data-alpsm-expander='triangle'] .alpsm-parent-link:is(.alpsm-has-submenu,:has(.alpsm-dropdown,.alpsm-mega)) > .et_pb_link_inner::after{transform:rotate(90deg)!important;}
/* A custom glyph wins over every fallback variant, regardless of order. */
:is(.alpsm-desktop,.alpsm-popup-visible)[data-alpsm-expander] .alpsm-expand-has-custom-glyph > .et_pb_link_inner::after{display:none!important;content:none!important;}

/* Raise the actually-rendered glyph suppression above the structural :has()
   fallback (including the three legacy expansion styles). */
:is(.alpsm-desktop,.alpsm-popup-visible) :is(.alpsm-parent-link,.alpsm-child-link).alpsm-expand-has-custom-glyph:is(
  .alpsm-has-submenu,:has(.alpsm-dropdown,.alpsm-mega),
  :has(+ .alpsm-dropdown),:has(+ .alpsm-mega)
) > .et_pb_link_inner::after,
:is(.alpsm-desktop,.alpsm-popup-visible)[data-alpsm-expander] :is(.alpsm-parent-link,.alpsm-child-link).alpsm-expand-has-custom-glyph > .et_pb_link_inner::after {
  display:none!important;content:none!important;
}

/* 0.3.17: the expansion indicator is its own inert DOM node, not Divi Link's
   icon and not a :after pseudo-element. Markers are serialized on Links that
   have children, including older ALP drafts with their original admin label. */
:is(.alpsm-desktop,.alpsm-popup-visible) .alpsm-expander-fallback::before{
  content:'';display:block;width:9px;height:9px;box-sizing:border-box;
  border-top:2px solid currentColor;border-right:2px solid currentColor;
  transform:rotate(45deg);
}
:is(.alpsm-desktop,.alpsm-popup-visible) .alpsm-parent-link .alpsm-expander-fallback::before{
  transform:rotate(135deg);
}
:is(.alpsm-desktop,.alpsm-popup-visible)[data-alpsm-expander='plus'] .alpsm-expander-fallback::before{
  content:'+';border:0;width:auto;height:auto;transform:none;
  font:600 19px/15px sans-serif;text-align:center;
}
:is(.alpsm-desktop,.alpsm-popup-visible)[data-alpsm-expander='triangle'] .alpsm-expander-fallback::before{
  border:0;width:10px;height:10px;transform:none;background:currentColor;
  clip-path:polygon(0 0,100% 50%,0 100%);
}
:is(.alpsm-desktop,.alpsm-popup-visible)[data-alpsm-expander='triangle'] .alpsm-parent-link .alpsm-expander-fallback::before{
  transform:rotate(90deg);
}
/* Avoid letting a builder-local Link icon selector style the new control. */
:is(.alpsm-desktop,.alpsm-popup-visible) :is(.alpsm-parent-link,.alpsm-child-link)
  > .et_pb_link_inner > .alpsm-expander-glyph{
  order:99!important;margin-inline-start:auto!important;margin-inline-end:4px!important;
  display:inline-flex!important;visibility:visible!important;opacity:1!important;
  z-index:1;position:relative;
}
:is(.alpsm-desktop,.alpsm-popup-visible) .alpsm-expand-has-custom-glyph > .et_pb_link_inner::after{
  content:none!important;display:none!important;
}

/* ALP Icons library descriptors are stored separately from Divi glyphs. */
.alpsm-expander-glyph.alpsm-alpidv-expander > :is(svg,img){display:block!important;width:1em!important;height:1em!important;max-width:none!important;object-fit:contain;}

/* 0.3.19: One independent expansion glyph. This overrides every legacy
   :has() caret rule (including those with !important). The native Link icon
   is always left intact on the leading side of the text. */
:is(.alpsm-desktop,.alpsm-popup-visible) :is(.alpsm-parent-link,.alpsm-child-link)
  > .et_pb_link_inner:has(> .alpsm-expander-glyph)::after{
  content:none!important;display:none!important;visibility:hidden!important;
  border:0!important;width:0!important;margin:0!important;
}
:is(.alpsm-desktop,.alpsm-popup-visible) .alpsm-parent-link
  > .et_pb_link_inner > .alpsm-expander-glyph{
  color:var(--alpsm-top-expander-color,var(--alpsm-expander-color,currentColor))!important;
}
/* Unlike the older tiled zigzag, one vector mask spans the text; the shared
   Wave / Zigzag size and Height controls change its geometry in real time. */
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="zigzag"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="zigzag"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="zigzag"] .alpsm-child-link) > .et_pb_link_inner > .et_pb_link_text::after{
  -webkit-mask-image:var(--alpsm-zigzag-mask,none)!important;
  mask-image:var(--alpsm-zigzag-mask,none)!important;
  -webkit-mask-size:100% 100%!important;mask-size:100% 100%!important;
  -webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;
  transform:none!important;
  clip-path:inset(0 100% 0 0);
  transition:clip-path var(--alpsm-line-time,300ms) ease var(--alpsm-line-wait,0ms),opacity var(--alpsm-line-time,300ms) ease var(--alpsm-line-wait,0ms)!important;
}
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="zigzag"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="zigzag"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="zigzag"] .alpsm-child-link):is(:hover,:focus-visible) > .et_pb_link_inner > .et_pb_link_text::after,
:is(.alpsm-desktop[data-alpsm-line-parent-on="on"][data-alpsm-line-parent-effect="zigzag"][data-alpsm-line-parent-active="on"] .alpsm-parent-link,
    .alpsm-desktop[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="zigzag"][data-alpsm-line-child-active="on"] .alpsm-child-link,
    .alpsm-popup-visible[data-alpsm-line-child-on="on"][data-alpsm-line-child-effect="zigzag"][data-alpsm-line-child-active="on"] .alpsm-child-link).alpsm-line-current > .et_pb_link_inner > .et_pb_link_text::after{
  clip-path:inset(0 0 0 0)!important;transform:none!important;opacity:1!important;
}

/* Replay the entrance animation when a setting changes in Divi's live canvas.
   This class never changes popup layout, geometry or the pointer. */
.alpsm-popup-visible.alpsm-entrance-restarting[data-alpsm-entrance] .alpsm-child-link > .et_pb_link_inner,
.alpsm-popup-visible.alpsm-entrance-restarting[data-alpsm-entrance]{animation:none!important;}

/* Builder-only parity: a live hover effect must not let Divi's temporary Link
   measurement wrap labels inside an already anchored desktop popup. This
   has no effect on the published frontend, responsive mobile or inactive rows. */
@media(min-width:981px){
  .alpsm-popup-visible[data-alpsm-vb-preview="1"] .alpsm-child-link > .et_pb_link_inner > .et_pb_link_text {
    white-space:nowrap!important;
  }
}

/* 0.3.25: An open native mobile accordion must be above animated hero/media
   layers outside its Theme Builder header. Raise ONLY its ancestor chain, and
   restore the normal stacking order on close; never alter sticky/fixed mode. */
.alpsm-mobile-stacking-raised {
  z-index:2147483000 !important;
  overflow:visible !important;
}
.alpsm-mobile-stacking-raised.alpsm-mobile-stacking-static {
  position:relative !important;
}


/* 0.3.27: Safari may paint a native sticky-header <ul> twice when that
   same <ul> is promoted directly to the top layer. Instead the ONLY original
   list lives inside a top-layer host while expanded, with its normal position
   restored on close. Scoped to ALP mobile navigation only. */
.alpsm-section .alpsm-mobile .alpsm-mobile-overlay-host:popover-open {
  position:fixed !important;
  inset:auto !important;
  left:var(--alpsm-mobile-pop-left,12px) !important;
  top:var(--alpsm-mobile-pop-top,80px) !important;
  right:auto !important;
  bottom:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  width:min(var(--alpsm-mobile-pop-width,360px),calc(100vw - 24px)) !important;
  max-width:calc(100vw - 24px) !important;
  max-height:min(72dvh,640px) !important;
  overflow:visible !important;
  box-sizing:border-box !important;
  z-index:2147483647 !important;
}
.alpsm-section .alpsm-mobile .alpsm-mobile-overlay-host:popover-open > .et_mobile_menu {
  position:relative !important;
  inset:auto !important;
  left:auto !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  display:block !important;
  visibility:visible !important;
  margin:0 !important;
  width:100% !important;
  max-width:100% !important;
  max-height:min(72dvh,640px) !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  box-sizing:border-box !important;
}
