1(function () { 2 function initWorking() { 3 initFadeUpStagger(); 4 initGradientCardHeroFadeDown(); 5 } 6 7 // Initial page load 8 if (window.jQuery) { 9 jQuery(initWorking); 10 } else { 11 document.addEventListener("DOMContentLoaded", initWorking); 12 } 13 14 // Rock (ASP.NET WebForms) partial postbacks 15 if (typeof Sys !== "undefined" && Sys.WebForms && Sys.WebForms.PageRequestManager) { 16 const prm = Sys.WebForms.PageRequestManager.getInstance(); 17 prm.add_endRequest(initWorking); 18 } 19 20 function initFadeUpStagger() { 21 if (!window.gsap || !window.ScrollTrigger) return; 22 23 gsap.registerPlugin(ScrollTrigger); 24 25 const elements = document.querySelectorAll('.panel-group[id^="accordion-"] .panel-default'); 26 if (elements.length === 0) return; 27 28 elements.forEach((element, index) => { 29 gsap.fromTo(element, 30 { 31 opacity: 0, 32 y: 50 33 }, 34 { 35 opacity: 1, 36 y: 0, 37 duration: 0.3, 38 ease: "power2.out", 39 delay: index * 0.1, 40 scrollTrigger: { 41 trigger: element.closest('.panel-group'), 42 start: "top 80%", 43 toggleActions: "play none none none", 44 }, 45 } 46 ); 47 }); 48 } 49 50 function initGradientCardHeroFadeDown() { 51 if (!window.gsap) return; 52 53 const cards = document.querySelectorAll('.gradient-card-hero'); 54 if (cards.length === 0) return; 55 56 gsap.fromTo(cards, 57 { 58 opacity: 0, 59 y: -100 60 }, 61 { 62 opacity: 1, 63 y: 0, 64 duration: 0.8, 65 ease: "power2.out", 66 stagger: 0.1 67 } 68 ); 69 } 70})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.