const elementFilterCb=e=>e.startsWith("fb-anim--")&&!e.includes("--delay")&&!e.includes("--t-")&&!e.includes("--infinite")&&!e.includes("--loop"),cssPropName="--fb-anim-name",propertyVal="1",visibleAnimation="fb-anim--visible";function toggleAnimationName(e){e.forEach((e=>{const t=e.target,r=new Set(Array.from(t.classList).filter(elementFilterCb));e.isIntersecting&&r.size>0&&r.add(visibleAnimation),e.isIntersecting||t.style.opacity!==propertyVal||fba_execute_once||t.style.removeProperty("opacity"),fba_execute_once&&t.style.getPropertyValue(cssPropName)||fba_execute_once&&"true"===t.style.getPropertyValue("--observer-hover")||(t.style.removeProperty(cssPropName),e.isIntersecting&&r.size>0&&t.style.setProperty(cssPropName,[...r].join(", ")))}))}const observerOptions={root:document,rootMargin:"0px 4000px 0px 4000px",threshold:0},observer=new IntersectionObserver(toggleAnimationName,observerOptions);let elements=Array.from(document.querySelectorAll('.fb-anim, [class*=" fb-anim--"]')).filter((e=>e.classList.value.split(" ").some(elementFilterCb)));function hoverableElement(e){Array.from(e.target.classList).some((e=>e.startsWith("fb-hover--")))&&(e.target.style.removeProperty(cssPropName),e.target.style.setProperty("opacity",propertyVal),e.target.style.setProperty("--observer-hover","true"))}function hookElement(e){observer.observe(e),e.addEventListener("mouseover",hoverableElement)}elements.forEach((e=>{hookElement(e)}));