/* Native interaction and responsive layout fixes for the preserved source pages. */
/* Captured Wix background images carry fixed pixel widths. Follow their section
   geometry at desktop sizes and keep the whole composition centered on big monitors. */
@media (min-width:768px) {
  .bgImage > img { width:100%!important; height:100%!important; object-fit:cover; }
}
@media (min-width:1601px) {
  #SITE_CONTAINER { width:100%; max-width:1600px; margin-inline:auto; position:relative; }
}
@media (min-width:768px) and (max-width:1168px) {
  #comp-mfa1rc7p { width:calc(100vw - 32px)!important; left:calc(490px - 50vw + 16px)!important; }
}
@media (min-width:768px) and (max-width:979px) {
  #comp-mfa04r76 { width:100vw!important; }
  #comp-mfa0l25f,#comp-mfa1rc7p,#comp-mf9zcm20 {
    width:calc(100vw - 32px)!important; left:16px!important; margin-left:0!important;
  }
}
#efoc-page [hidden] { display: none !important; }
.efoc-desktop-submenu { position:absolute!important; top:100%;left:0;z-index:10000;min-width:190px;width:max-content;max-width:280px;box-sizing:border-box;margin:0!important;padding:5px 0!important;list-style:none;background:#fff;color:#171717;font:13px/1.6 Arial,sans-serif;box-shadow:0 4px 10px #00000012;text-align:left; }
.efoc-desktop-submenu li { display:block!important;position:static!important;width:auto!important;height:auto!important; }
.efoc-desktop-submenu a { display:block!important;padding:8px 14px;text-decoration:none;white-space:nowrap;color:inherit; }
.efoc-desktop-submenu a:hover,.efoc-desktop-submenu a:focus-visible { color:#299dff;background:#f8f8f8; }
.efoc-menu-lock,.efoc-modal-lock { overflow:hidden!important; }
#MENU_AS_CONTAINER:not(.efoc-menu-open) { display:none!important; }
#MENU_AS_CONTAINER.efoc-menu-open { display:block!important;visibility:visible!important;opacity:1!important;position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;transform:none!important;z-index:100000!important;overflow-y:auto!important;background:#fff; }
#MENU_AS_CONTAINER.efoc-menu-open #container-MENU_AS_CONTAINER { width:100%!important;min-height:100%!important;position:relative!important;transform:none!important; }
#MENU_AS_CONTAINER.efoc-menu-open #MENU_AS_CONTAINER_EXPANDABLE_MENU { max-width:calc(100vw - 48px);margin-top:60px; }
.efoc-menu-close { position:fixed;top:12px;right:20px;z-index:100001;border:0;background:#fff;color:#151515;font:36px/1 Arial,sans-serif;padding:8px;cursor:pointer; }
.efoc-mobile-submenu:not([hidden]) { display:block!important;visibility:visible!important;opacity:1!important;height:auto!important; }
.efoc-gallery-scroll { overflow-x:auto!important;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y; }
.efoc-gallery-scroll::-webkit-scrollbar { display:none; }
.efoc-gallery-strip { display:flex!important;transform:none!important; }
.efoc-gallery-strip>.wixui-gallery__item { flex:0 0 auto; }
.efoc-lightbox { box-sizing:border-box;border:0;padding:48px 60px;width:min(1200px,96vw);height:min(900px,94dvh);max-width:96vw;max-height:94dvh;background:#fff;color:#171717;overflow:hidden; }
.efoc-lightbox::backdrop { background:#000b; }
.efoc-lightbox figure { height:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px; }
.efoc-lightbox figure img { display:block;max-width:100%;max-height:calc(100% - 34px);object-fit:contain; }
.efoc-lightbox figcaption { font:14px/1.4 Arial,sans-serif;color:#555; }
.efoc-lightbox button { position:absolute;background:transparent;border:0;color:#222;cursor:pointer;padding:10px; }
.efoc-lightbox-close { top:4px;right:12px;font-size:34px; }
.efoc-lightbox-prev,.efoc-lightbox-next { top:45%;font-size:52px; }
.efoc-lightbox-prev { left:4px; }.efoc-lightbox-next { right:4px; }
.efoc-honeypot { position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important; }
#efoc-page form { position:relative; }
.efoc-form-status { box-sizing:border-box;font:14px/1.45 Arial,sans-serif;color:#1a583c;min-height:20px; }
#efoc-page .efoc-form-status { position:absolute;left:0;top:100%;width:100%;margin:10px 0 0;padding:6px 0;z-index:1; }
.efoc-form-status:empty { display:none; }.efoc-form-error { color:#a32323; }
#efoc-chat { position:fixed;right:20px;bottom:20px;z-index:10002;font-family:Arial,sans-serif; }
.efoc-chat-toggle { box-sizing:border-box;text-decoration:none;border:0;border-radius:30px;background:#2da2f8;color:white;min-width:200px;height:56px;display:flex;gap:10px;align-items:center;justify-content:center;padding:12px 25px;font:600 18px/1.2 Arial,sans-serif;box-shadow:0 1px 3px #0002;cursor:pointer; }
.efoc-chat-toggle svg { width:24px;height:24px; }
.efoc-chat-toggle:focus-visible,.efoc-contact-email-button:focus-visible,.efoc-contact-email-address:focus-visible { outline:3px solid #111;outline-offset:4px; }
#efoc-page #comp-med7mk753.efoc-contact-email-card { height:auto;box-sizing:border-box;padding:24px;color:#fff;font:16px/1.5 proxima-n-w01-reg,sans-serif; }
.efoc-contact-email-card h2 { font:normal 32px/1.25 proxima-n-w01-reg,sans-serif;margin:0 0 22px;color:inherit; }
.efoc-contact-email-card p { margin:0 0 24px;font:inherit; }
.efoc-contact-email-button { display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:10px 30px;border-radius:100px;background:#000;color:#fff;font:16px/1.5 proxima-n-w01-reg,sans-serif;text-decoration:none; }
.efoc-contact-email-button:hover { text-decoration:underline; }
.efoc-contact-email-address { display:block;margin-top:16px;color:inherit;font:16px/1.5 proxima-n-w01-reg,sans-serif;text-decoration:underline;overflow-wrap:anywhere; }
@media(max-width:767px) { #efoc-chat { right:15px;bottom:16px; }.efoc-chat-toggle { min-width:150px;height:48px;font-size:15px;padding:10px 16px; }.efoc-lightbox { padding:48px 35px 20px; } }
@media(prefers-reduced-motion:reduce) { .efoc-gallery-scroll { scroll-behavior:auto!important; } }
/* Fluid repeater positions were calculated by Wix custom elements. Use the original card sizes and gaps with native layout. */
#efoc-page .efoc-fluid-wrapper { height:auto!important; }
#efoc-page .efoc-fluid-repeater { display:flex!important;flex-wrap:wrap!important;align-items:stretch;column-gap:var(--efoc-horizontal-gap,30px)!important;row-gap:var(--efoc-vertical-gap,30px)!important;height:auto!important; }
#efoc-page .efoc-fluid-repeater>.wixui-repeater__item { position:relative!important;inset:auto!important;transform:none!important;flex:0 0 var(--efoc-card-width,auto);max-width:100%;margin:0!important; }
/* Preserve the original compact phone launcher with an accessible email action. */
@media(max-width:767px){.efoc-chat-toggle{min-width:50px;width:50px;height:50px;padding:0;gap:0;border-radius:50%;font-size:0}.efoc-chat-toggle svg{width:26px;height:26px}}
/* The event gallery keeps its source thumbnail sizes on large desktops. */
@media (min-width:1601px) {
  #pro-gallery-comp-med257it { width:1440px!important; margin-inline:auto; }
}
/* Instagram is a centered three-photo snapshot, independent of Wix's fixed positions. */
#efoc-page .efoc-instagram-gallery {
  width:min(915px,calc(100% - 32px))!important; height:auto!important;
  min-width:0!important; margin-inline:auto!important; left:0!important;
}
.efoc-instagram-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; list-style:none; margin:0; padding:0; }
.efoc-instagram-grid li { min-width:0; margin:0; padding:0; }
.efoc-instagram-grid a { display:block; aspect-ratio:1; overflow:hidden; }
.efoc-instagram-grid img { display:block; width:100%; height:100%; object-fit:cover; }
.efoc-instagram-grid a:focus-visible { outline:3px solid #126994; outline-offset:4px; }
@media (min-width:768px) {
  #efoc-page :is(#comp-mffwctvd_r_comp-lgnn37bd1,#comp-mf9y5naa_r_comp-lgnn37bd1) { width:min(100vw,1600px)!important; }
}
@media (max-width:767px) {
  .efoc-instagram-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .efoc-instagram-grid li:last-child:nth-child(odd) { grid-column:1 / -1; width:calc((100% - 12px) / 2); justify-self:center; }
}
/* Let the mobile board section end after its cards instead of its old Wix canvas height. */
@media (max-width:767px) {
  #efoc-page [data-mesh-id="comp-mdrzlsjlinlineContent-gridContainer"] { min-height:0!important; }
}
/* Restore the eligibility text's authored typography after removing the Wix runtime. */
#efoc-page #comp-meri6kbv .wixui-collapsible-text__text {
  font-family:madefor-text,helveticaneuew01-45ligh,helveticaneuew02-45ligh,helveticaneuew10-45ligh,sans-serif;
  font-size:18px; line-height:27px; font-weight:400;
}
#efoc-page #comp-meri6kbv .wixui-collapsible-text__button {
  font:18px/27px madefor-text-bold,helveticaneuew01-65medi,helveticaneuew02-65medi,helveticaneuew10-65medi,sans-serif;
  color:#fff; background:transparent; border:0; padding:0; margin:5px 0 0; text-decoration:underline; cursor:pointer;
}
#efoc-page #comp-meri6kbv .wixui-collapsible-text__button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
