/*! elementor - v3.22.0 - 26-06-2024 */ .elementor-widget-progress{text-align:start}.elementor-progress-wrapper{position:relative;background-color:#eee;color:#fff;height:100%;border-radius:2px}.elementor-progress-bar{display:flex;background-color:#69727d;width:0;font-size:11px;height:30px;line-height:30px;border-radius:2px;transition:width 1s ease-in-out}.elementor-progress-text{flex-grow:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding-inline-start:15px}.elementor-progress-percentage{padding-inline-end:15px}.elementor-widget-progress .elementor-progress-wrapper.progress-info .elementor-progress-bar{background-color:#5bc0de}.elementor-widget-progress .elementor-progress-wrapper.progress-success .elementor-progress-bar{background-color:#5cb85c}.elementor-widget-progress .elementor-progress-wrapper.progress-warning .elementor-progress-bar{background-color:#f0ad4e}.elementor-widget-progress .elementor-progress-wrapper.progress-danger .elementor-progress-bar{background-color:#d9534f}.elementor-progress .elementor-title{display:block}@media (max-width:767px){.elementor-progress-text{padding-inline-start:10px}}.e-con-inner .elementor-progress-wrapper,.e-con .elementor-progress-wrapper{height:auto}/*! elementor-pro - v3.11.2 - 22-02-2023 */ "use strict";(self.webpackChunkelementor_pro=self.webpackChunkelementor_pro||[]).push([[288],{1464:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;class lottieHandler extends elementorModules.frontend.handlers.Base{getDefaultSettings(){return{selectors:{container:".e-lottie__container",containerLink:".e-lottie__container__link",animation:".e-lottie__animation",caption:".e-lottie__caption"},classes:{caption:"e-lottie__caption"}}}getDefaultElements(){const{selectors:t}=this.getSettings();return{$widgetWrapper:this.$element,$container:this.$element.find(t.container),$containerLink:this.$element.find(t.containerLink),$animation:this.$element.find(t.animation),$caption:this.$element.find(t.caption),$sectionParent:this.$element.closest(".elementor-section"),$columnParent:this.$element.closest(".elementor-column")}}onInit(){super.onInit(...arguments),this.lottie=null,this.state={isAnimationScrollUpdateNeededOnFirstLoad:!0,isNewLoopCycle:!1,isInViewport:!1,loop:!1,animationDirection:"forward",currentAnimationTrigger:"",effectsRelativeTo:"",hoverOutMode:"",hoverArea:"",caption:"",playAnimationCount:0,animationSpeed:0,linkTimeout:0,viewportOffset:{start:0,end:100}},this.intersectionObservers={animation:{observer:null,element:null},lazyload:{observer:null,element:null}},this.animationFrameRequest={timer:null,lastScrollY:0},this.listeners={collection:[],elements:{$widgetArea:{triggerAnimationHoverIn:null,triggerAnimationHoverOut:null},$container:{triggerAnimationClick:null}}},this.initLottie()}initLottie(){this.getLottieSettings().lazyload?this.lazyloadLottie():this.generateLottie()}lazyloadLottie(){this.intersectionObservers.lazyload.observer=elementorModules.utils.Scroll.scrollObserver({offset:"0px 0px 200px",callback:t=>{t.isInViewport&&(this.generateLottie(),this.intersectionObservers.lazyload.observer.unobserve(this.intersectionObservers.lazyload.element))}}),this.intersectionObservers.lazyload.element=this.elements.$container[0],this.intersectionObservers.lazyload.observer.observe(this.intersectionObservers.lazyload.element)}generateLottie(){this.createLottieInstance(),this.setLottieEvents()}createLottieInstance(){const t=this.getLottieSettings();this.lottie=bodymovin.loadAnimation({container:this.elements.$animation[0],path:this.getAnimationPath(),renderer:t.renderer,autoplay:!1,name:"lottie-widget"}),this.elements.$animation.data("lottie",this.lottie)}getAnimationPath(){const t=this.getLottieSettings();return t.source_json?.url&&"json"===t.source_json.url.toLowerCase().substr(-4)?t.source_json.url:t.source_external_url?.url?t.source_external_url.url:elementorProFrontend.config.lottie.defaultAnimationUrl}setCaption(){const t=this.getLottieSettings();if("external_url"===t.source||"media_file"===t.source&&"custom"===t.caption_source){this.getCaptionElement().text(t.caption)}}getCaptionElement(){if(!this.elements.$caption.length){const{classes:t}=this.getSettings();return this.elements.$caption=jQuery("
",{class:t.caption}),this.elements.$container.append(this.elements.$caption),this.elements.$caption}return this.elements.$caption}setLottieEvents(){this.lottie.addEventListener("DOMLoaded",(()=>this.onLottieDomLoaded())),this.lottie.addEventListener("complete",(()=>this.onComplete()))}saveInitialValues(){const t=this.getLottieSettings();this.lottie.__initialTotalFrames=this.lottie.totalFrames,this.lottie.__initialFirstFrame=this.lottie.firstFrame,this.state.currentAnimationTrigger=t.trigger,this.state.effectsRelativeTo=t.effects_relative_to,this.state.viewportOffset.start=t.viewport?t.viewport.sizes.start:0,this.state.viewportOffset.end=t.viewport?t.viewport.sizes.end:100,this.state.animationSpeed=t.play_speed?.size,this.state.linkTimeout=t.link_timeout,this.state.caption=t.caption,this.state.loop=t.loop}setAnimationFirstFrame(){const t=this.getAnimationFrames();t.first=t.first-this.lottie.__initialFirstFrame,this.lottie.goToAndStop(t.first,!0)}initAnimationTrigger(){switch(this.getLottieSettings().trigger){case"none":this.playLottie();break;case"arriving_to_viewport":this.playAnimationWhenArrivingToViewport();break;case"bind_to_scroll":this.playAnimationWhenBindToScroll();break;case"on_click":this.bindAnimationClickEvents();break;case"on_hover":this.bindAnimationHoverEvents()}}playAnimationWhenArrivingToViewport(){const t=this.getOffset();this.intersectionObservers.animation.observer=elementorModules.utils.Scroll.scrollObserver({offset:`${t.end}% 0% ${t.start}%`,callback:t=>{t.isInViewport?(this.state.isInViewport=!0,this.playLottie()):(this.state.isInViewport=!1,this.lottie.pause())}}),this.intersectionObservers.animation.element=this.elements.$widgetWrapper[0],this.intersectionObservers.animation.observer.observe(this.intersectionObservers.animation.element)}getOffset(){const t=this.getLottieSettings();return{start:-t.viewport.sizes.start||0,end:-(100-t.viewport.sizes.end)||0}}playAnimationWhenBindToScroll(){const t=this.getLottieSettings(),e=this.getOffset();this.intersectionObservers.animation.observer=elementorModules.utils.Scroll.scrollObserver({offset:`${e.end}% 0% ${e.start}%`,callback:t=>this.onLottieIntersection(t)}),this.intersectionObservers.animation.element="viewport"===t.effects_relative_to?this.elements.$widgetWrapper[0]:document.documentElement,this.intersectionObservers.animation.observer.observe(this.intersectionObservers.animation.element)}updateAnimationByScrollPosition(){let t;t="page"===this.getLottieSettings().effects_relative_to?this.getLottiePagePercentage():"fixed"===this.getCurrentDeviceSetting("_position")?this.getLottieViewportHeightPercentage():this.getLottieViewportPercentage();let e=this.getFrameNumberByPercent(t);e-=this.lottie.__initialFirstFrame,this.lottie.goToAndStop(e,!0)}getLottieViewportPercentage(){return elementorModules.utils.Scroll.getElementViewportPercentage(this.elements.$widgetWrapper,this.getOffset())}getLottiePagePercentage(){return elementorModules.utils.Scroll.getPageScrollPercentage(this.getOffset())}getLottieViewportHeightPercentage(){return elementorModules.utils.Scroll.getPageScrollPercentage(this.getOffset(),window.innerHeight)}getFrameNumberByPercent(t){const e=this.getAnimationFrames();return t=Math.min(100,Math.max(0,t)),e.first+(e.last-e.first)*t/100}getAnimationFrames(){const t=this.getLottieSettings(),e=this.getAnimationCurrentFrame(),i=this.getAnimationRange().start,s=this.getAnimationRange().end;let n=this.lottie.__initialFirstFrame,o=0===this.lottie.__initialFirstFrame?this.lottie.__initialTotalFrames:this.lottie.__initialFirstFrame+this.lottie.__initialTotalFrames;return i&&i>n&&(n=i),s&&s