1function scrollTopHeader(){let lastScrollTop=0;const header=document.querySelector('.header');window.addEventListener('scroll',()=>{const scrollTop=window.pageYOffset||document.documentElement.scrollTop;if(scrollTop>lastScrollTop){header.style.transform='translateY(-100%)'}else{header.style.transform='translateY(0)'} 2lastScrollTop=scrollTop<=0?0:scrollTop})} 3scrollTopHeader() 4function verticalSection(){let sections=gsap.utils.toArray(".verticalSection article");let scrollTween;let observer;if(ScrollTrigger.isTouch===1){observer=ScrollTrigger.normalizeScroll(!0)} 5document.addEventListener("touchstart",(e)=>{if(scrollTween){e.preventDefault();e.stopImmediatePropagation()}},{capture:!0,passive:!1});function goToSection(i){scrollTween=gsap.to(window,{scrollTo:{y:i*innerHeight,autoKill:!1},duration:1,onStart:()=>{if(!observer)return;observer.disable();observer.enable()},onComplete:()=>{scrollTween=null},overwrite:!0})} 6sections.forEach((section,i)=>{ScrollTrigger.create({trigger:section,start:"top-=5% bottom-=10%",end:"bottom top+=10%",onEnter:(self)=>{if(self.direction===1&&!scrollTween){goToSection(i)}},onEnterBack:(self)=>{if(self.direction===-1&&!scrollTween){goToSection(i)}},markers:!1})})} 7function createHorizontalScrollAnimation(hrzTrigger,container,sections,containerAnimations){const scrollTL=gsap.timeline({scrollTrigger:{trigger:hrzTrigger,pin:!0,scrub:!0,start:"center center",end:()=>"+="+(container.scrollWidth-window.innerWidth),invalidateOnRefresh:!0}});const floatingElement=container.querySelector('.option-content');if(floatingElement){gsap.set(floatingElement,{position:'fixed',zIndex:1000,top:'20px',right:'20px'});scrollTL.fromTo(floatingElement,{opacity:0},{opacity:1,duration:0.5},"+=0");scrollTL.to(floatingElement,{opacity:0,duration:0.5},"-=0.5")} 8sections.forEach((section,index)=>{if(index===0){containerAnimations.forEach(animation=>{const target=section.querySelector(animation.selector);if(target){scrollTL.fromTo(target,animation.fromTo,animation.to,"+=0")}});return} 9scrollTL.to(container,{x:`-=${section.offsetWidth}px`,ease:"power1.inOut",duration:1},"+=0");containerAnimations.forEach(animation=>{const target=section.querySelector(animation.selector);if(target){scrollTL.fromTo(target,animation.fromTo,animation.to,"+=0")}})})} 10function addHoverEffect(carouselContainer){carouselContainer.forEach((carousel)=>{const swiperWrapper=carousel.querySelector('.swiper-wrapper');const nextButton=carousel.querySelector('.elementor-swiper-button-next');const prevButton=carousel.querySelector('.elementor-swiper-button-prev');if(!swiperWrapper||!nextButton||!prevButton)return;let originalTranslateX=0;const updateOriginalTranslateX=()=>{let transform=swiperWrapper.style.transform;let match=transform.match(/translate3d\((-?\d+)px/);originalTranslateX=match?parseInt(match[1],10):0};nextButton.addEventListener('mouseenter',()=>{updateOriginalTranslateX();swiperWrapper.style.transitionDuration='300ms';swiperWrapper.style.transform=`translate3d(${originalTranslateX - 100}px, 0px, 0px)`});nextButton.addEventListener('mouseleave',()=>{swiperWrapper.style.transitionDuration='300ms';swiperWrapper.style.transform=`translate3d(${originalTranslateX}px, 0px, 0px)`;setTimeout(()=>{swiperWrapper.style.transitionDuration='0ms'},300)});nextButton.addEventListener('click',()=>{updateOriginalTranslateX()});prevButton.addEventListener('mouseenter',()=>{updateOriginalTranslateX();swiperWrapper.style.transitionDuration='300ms';swiperWrapper.style.transform=`translate3d(${originalTranslateX + 100}px, 0px, 0px)`});prevButton.addEventListener('mouseleave',()=>{swiperWrapper.style.transitionDuration='300ms';swiperWrapper.style.transform=`translate3d(${originalTranslateX}px, 0px, 0px)`;setTimeout(()=>{swiperWrapper.style.transitionDuration='0ms'},300)});prevButton.addEventListener('click',()=>{updateOriginalTranslateX()})})} 11document.addEventListener("DOMContentLoaded",function(){gsap.registerPlugin(ScrollTrigger,ScrollToPlugin);const hrzTrigger=document.querySelector(".horizontal-section");const container=document.querySelector(".horizontal-scroll");const sectionsitems=Array.from(container.querySelectorAll(".item"));const containerAnimations=[{selector:".image",fromTo:{opacity:0,y:50},to:{opacity:1,y:0,duration:0.5,ease:"power2.inOut"}},{selector:".title1",fromTo:{opacity:0,y:50},to:{opacity:1,y:0,duration:0.5,ease:"power2.inOut"}},{selector:".image2",fromTo:{opacity:0,y:50},to:{opacity:1,y:0,duration:0.5,ease:"power2.inOut"}},{selector:".title2",fromTo:{opacity:0,x:-100},to:{opacity:1,x:0,duration:0.5,ease:"power2.inOut"}},{selector:".image3",fromTo:{opacity:0,y:50},to:{opacity:1,y:0,duration:0.5,ease:"power2.inOut"}},{selector:".title3",fromTo:{opacity:0,x:-100},to:{opacity:1,x:0,duration:0.5,ease:"power2.inOut"}},{selector:".image4",fromTo:{opacity:0,y:50},to:{opacity:1,y:0,duration:0.5,ease:"power2.inOut"}},{selector:".title4",fromTo:{opacity:0,x:-100},to:{opacity:1,x:0,duration:0.5,ease:"power2.inOut"}},{selector:".title5",fromTo:{opacity:0,x:-100},to:{opacity:1,x:0,duration:0.5,ease:"power2.inOut"}},{selector:".image5",fromTo:{opacity:0,y:50},to:{opacity:1,y:0,duration:0.5,ease:"power2.inOut"}},{selector:".title6",fromTo:{opacity:0,x:-100},to:{opacity:1,x:0,duration:0.5,ease:"power2.inOut"}},{selector:".image6",fromTo:{opacity:0,y:50},to:{opacity:1,y:0,duration:0.5,ease:"power2.inOut"}},{selector:".title7",fromTo:{opacity:0,x:-100},to:{opacity:1,x:0,duration:0.5,ease:"power2.inOut"}},{selector:".image7",fromTo:{opacity:0,y:50},to:{opacity:1,y:0,duration:0.5,ease:"power2.inOut"}},{selector:".title8",fromTo:{opacity:0,x:-100},to:{opacity:1,x:0,duration:0.5,ease:"power2.inOut"}},{selector:".image8",fromTo:{opacity:0,y:50},to:{opacity:1,y:0,duration:0.5,ease:"power2.inOut"}},{selector:".title9",fromTo:{opacity:0,x:-100},to:{opacity:1,x:0,duration:0.5,ease:"power2.inOut"}},{selector:".title10",fromTo:{opacity:0,x:100},to:{opacity:1,x:0,duration:0.5,ease:"power2.inOut"}}];
11createHorizontalScrollAnimation(hrzTrigger,container,sectionsitems,containerAnimations);function waitForElement(selector,callback,timeout=10000){const startTime=Date.now();function check(){const element=document.querySelector(selector);if(element){callback(element)}else if(Date.now()-startTime<timeout){setTimeout(check,100)}else{console.warn("No se encontró el carrusel en el tiempo esperado.")}} 12check()} 13waitForElement('.elementor-widget-n-carousel.e-widget-swiper',function(carousel){const carouselContainer=document.querySelectorAll('.elementor-widget-n-carousel.e-widget-swiper');addHoverEffect(carouselContainer)})})
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.