!function(n){n(window).on("elementor/frontend/init",()=>{class e extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{timeline:".pp-timeline",items:".pp-timeline-vertical .pp-timeline-item",slickSlide:".pp-timeline-item",connector:".pp-timeline-vertical .pp-timeline-connector",progressBar:".pp-timeline-vertical .pp-timeline-connector-inner",markerClass:".pp-timeline-vertical .pp-timeline-marker-wrapper",carousel:".pp-timeline-horizontal .pp-timeline-items",sliderWrap:".pp-timeline-wrapper",sliderNav:".pp-timeline-navigation"},slidesToShow:{widescreen:3,desktop:3,laptop:3,tablet_extra:3,tablet:2,mobile_extra:2,mobile:1}}}getDefaultElements(){var e=this.getSettings("selectors");return{$timeline:this.$element.find(e.timeline),$items:this.$element.find(e.items),$slickSlide:this.$element.find(e.slickSlide),$connector:this.$element.find(e.connector),$progressBar:this.$element.find(e.progressBar),$markerClass:this.$element.find(e.markerClass),$carousel:this.$element.find(e.carousel),$sliderWrap:this.$element.find(e.sliderWrap),$sliderNav:this.$element.find(e.sliderNav)}}getSlidesCount(){return this.elements.$slickSlide.length}getDeviceSlidesPerView(e){var t="columns"+("desktop"===e?"":"_"+e);return Math.min(this.getSlidesCount(),+this.getElementSettings(t)||this.getSettings("slidesToShow")[e])}getDeviceSlidesToScroll(e){e="slides_to_scroll"+("desktop"===e?"":"_"+e);return Math.min(this.getSlidesCount(),+this.getElementSettings(e)||1)}getSlickOptions(){var e=this.getElementSettings(),t=this.elements.$sliderWrap.data("rtl");let i=!1;var s=parseInt(e.columns,10)||3,n=parseInt(e.slides_to_scroll,10)||3,s=("yes"===e.infinite_loop&&"yes"===e.center_mode&&(i=!0),{slidesToShow:s,slidesToScroll:n,autoplay:"yes"===e.autoplay,autoplaySpeed:e.autoplay_speed,arrows:!1,pauseOnHover:"yes"===e.pause_on_hover,pauseOnFocus:"yes"===e.pause_on_hover,centerMode:i,speed:e.animation_speed,infinite:"yes"===e.infinite_loop,rtl:"yes"===t});const l={},o=elementorFrontend.config.responsive.activeBreakpoints;return Object.keys(o).forEach((e,t)=>{"widescreen"!==e&&(l[t]={breakpoint:o[e].value+1,settings:{slidesToShow:this.getDeviceSlidesPerView(e),slidesToScroll:this.getDeviceSlidesToScroll(e)}})}),s.responsive=Object.values(l),s}updateDirection(e,t){return{widescreen:t.direction_widescreen,desktop:t.direction,laptop:t.direction_laptop,tablet_extra:t.direction_tablet_extra,tablet:t.direction_tablet,mobile_extra:t.direction_mobile_extra,mobile:t.direction_mobile}[e]||t.direction}bindEvents(){var e=this.getElementSettings();"vertical"===e.layout?this.initVerticalLayout():"horizontal"===e.layout&&this.initHorizontalLayout()}initVerticalLayout(){const e=this.getElementSettings();let t=elementorFrontend.getCurrentDeviceMode(),i=this.updateDirection(t,e);this.updateTimelineDirection(t,i),n(window).on("resize",n.proxy(function(){t=elementorFrontend.getCurrentDeviceMode(),i=this.updateDirection(t,e),this.updateTimelineDirection(t,i),this.winHeight=n(window).height(),this.scrollTop=n(window).scrollTop(),this.requestAnimation()},this)),this.winHeight=n(window).height(),this.scrollTop=n(window).scrollTop(),this.window=n(window),this.window.on("scroll",n.proxy(function(){this.scrollTop=this.window.scrollTop(),this.requestAnimation(),this.revealItems()},this)),this.requestAnimation(),this.revealItems()}initHorizontalLayout(){var e=this.getElementSettings();this.initCarousel(),this.initCarouselNav(),this.elements.$carousel.slick("setPosition"),elementorFrontend.isEditMode()&&this.elements.$sliderWrap.resize(function(){this.elements.$carousel.slick("setPosition")}),"yes"===e.pause_on_hover&&this.togglePauseOnHover(!0)}updateTimelineDirection(e,t){var i;undefined!==t&&((i=this.elements.$timeline).removeClass("pp-timeline-left pp-timeline-center pp-timeline-right"),i.addClass("pp-timeline-"+t))}requestAnimation(){this.isAnimating||requestAnimationFrame(this.reboot.bind(this)),this.isAnimating=!0}revealItems(){this.animationClass="bounce-in",this.elements.$items.each((e,t)=>{t=n(t);t.offset().top<=this.scrollTop+.95*n(window).outerHeight()&&t.hasClass("pp-timeline-item-hidden")&&t.removeClass("pp-timeline-item-hidden").addClass(this.animationClass)})}setup(){var e=this.elements.$items.last().find(this.elements.$markerClass).outerHeight();this.elements.$connector.css({top:this.elements.$items.first().find(this.elements.$markerClass).offset().top-this.elements.$items.first().offset().top,bottom:this.$element.offset().top+this.$element.outerHeight()-this.elements.$items.last().find(this.elements.$markerClass).offset().top-e/2})}reboot(){this.isAnimating=!1,this.winHeight!==this.lastWinHeight&&this.setup(),this.start()}start(){this.scrollTop===this.lastScrollTop&&this.winHeight===this.lastWinHeight||(this.lastScrollTop=this.scrollTop,this.lastWinHeight=this.winHeight,this.progress()),this.isAnimating=!1}progress(){const i=n(window);this.elements.$items.each((e,t)=>{n(t).find(this.elements.$markerClass).offset().top<this.window.scrollTop()+i.outerHeight()/2?n(t).addClass("pp-timeline-item-active"):n(t).removeClass("pp-timeline-item-active")});var e=this.elements.$items.last().find(this.elements.$markerClass).offset().top,t=this.elements.$items.last().find(this.elements.$markerClass).outerHeight();let s=this.window.scrollTop()-this.elements.$progressBar.offset().top+i.outerHeight()/2;e<=this.window.scrollTop()+i.outerHeight()/2&&(s=e-this.elements.$progressBar.offset().top),s+=t/2,this.elements.$progressBar.css("height",s+"px")}togglePauseOnHover(e){e?this.$element.on({mouseenter:()=>{this.elements.$carousel.slick("slickPause"),this.elements.$sliderNav.slick("slickPause")},mouseleave:()=>{this.elements.$carousel.slick("slickPlay"),this.elements.$sliderNav.slick("slickPlay")}}):this.$element.off("mouseenter mouseleave")}initCarousel(){var e=this.getElementSettings();const t=this;var i=this.getSlickOptions();i.dots="yes"===e.dots,i.asNavFor=this.elements.$sliderNav,this.elements.$carousel.on("init",function(){t.setEqualHeight()}),this.elements.$carousel.slick(i),n(window).on("resize",function(){setTimeout(function(){t.setEqualHeight()},300)})}initCarouselNav(){var e=this.getElementSettings(),t=this.getSlickOptions();t.asNavFor=this.elements.$carousel,t.arrows="yes"===e.arrows,t.prevArrow=".pp-arrow-prev-"+this.getID(),t.nextArrow=".pp-arrow-next-"+this.getID(),t.centerMode="yes"===e.center_mode,t.focusOnSelect=!0,this.elements.$sliderNav.slick(t)}setEqualHeight(){let t=0;this.elements.$carousel.find(".slick-slide").each(function(){n(this).css("height","");var e=n(this).find(".pp-timeline-card").outerHeight();e>t&&(t=e)}),this.elements.$carousel.find(".slick-slide").each(function(){n(this).css("height",t+"px")})}}elementorFrontend.elementsHandler.attachHandler("pp-timeline",e)})}(jQuery);