(function($,elementor){"use strict";$.fn.parallaxVertical=function(xpos,options){var $window=$(window),$page=$('#page');var windowHeight=$window.height(),perspectiveOpened=false;options=options||{};this.each(function(){var $this=$(this),speedFactor,offsetFactor=0,getHeight,topOffset=0,containerHeight=0,containerWidth=0,disableParallax=false,parallaxIsDisabled=false,baseImgHeight=0,baseImgWidth=0,isBgCover=($this.css('background-size')=='cover'),curImgHeight=0,reversed=$this.hasClass('parallax-reversed'),baseSpeedFactor=reversed?-0.1:0.3,outerHeight=true;if(xpos===undefined)xpos="50%";if(outerHeight){getHeight=function(jqo){return jqo.parent().outerHeight(true);};}else{getHeight=function(jqo){return jqo.parent().height();};}
function getBackgroundSize(callback){var img=new Image(),width,height,backgroundSize=($this.css('background-size')||' ').split(' ');if(/px/.test(backgroundSize[0]))width=parseInt(backgroundSize[0]);if(/%/.test(backgroundSize[0]))width=$this.parent().width()*(parseInt(backgroundSize[0])/100);if(/px/.test(backgroundSize[1]))height=parseInt(backgroundSize[1]);if(/%/.test(backgroundSize[1]))height=$this.parent().height()*(parseInt(backgroundSize[0])/100);if(width!==undefined&&height!==undefined){return callback({width:width,height:height});}
img.onload=function(){if(typeof width=='undefined')width=this.width;if(typeof height=='undefined')height=this.height;callback({width:width,height:height});};img.src=($this.css('background-image')||'').replace(/url\(['"]*(.*?)['"]*\)/g,'$1');}
function update(){if(disableParallax){if(!parallaxIsDisabled){$this.css('backgroundPosition','');if(!$this.is('.page-title-block')){$this.removeClass('fullwidth-block-parallax-vertical');}
parallaxIsDisabled=true;}
return;}else{if(parallaxIsDisabled){if(!$this.is('.page-title-block')){$this.addClass('fullwidth-block-parallax-vertical');}
parallaxIsDisabled=false;}}
if(isNaN(speedFactor))
return;var pos=getScrollTop();if((topOffset+containerHeight<pos)||(pos<topOffset-windowHeight))return;var ypos=offsetFactor+speedFactor*(topOffset-pos);if(ypos>0){ypos=0;}else if(curImgHeight+ypos<containerHeight){ypos=containerHeight-curImgHeight;}
if(curImgHeight>0){$this.css('height',curImgHeight+'px');}
var translate='translate3d(0, '+ypos+'px'+', 0)';$this[0].style['-webkit-transform']=translate;$this[0].style['-moz-transform']=translate;$this[0].style['transform']=translate;}
function getScrollTop(){return perspectiveOpened?$page.scrollTop():$window.scrollTop();}
function resize(){setTimeout(function(){if(perspectiveOpened){windowHeight=$page.height();}else{windowHeight=$window.height();}
containerHeight=getHeight($this);containerWidth=$this.parent().width();if(isBgCover){if(baseImgWidth/baseImgHeight<=containerWidth/containerHeight){curImgHeight=baseImgHeight*(containerWidth/baseImgWidth);}else{curImgHeight=containerHeight*1.2;}}
topOffset=$this.parent().offset().top;if(curImgHeight!==0){if(baseSpeedFactor>=0){if(options.position!==undefined&&options.position=='top'){speedFactor=Math.min(0.25,(curImgHeight-containerHeight)/(containerHeight+topOffset));offsetFactor=-speedFactor*topOffset;}else{speedFactor=-Math.min(baseSpeedFactor,(curImgHeight-containerHeight)/(windowHeight+containerHeight));offsetFactor=containerHeight*speedFactor;}}else{speedFactor=Math.min(baseSpeedFactor,(windowHeight-containerHeight)/(windowHeight+containerHeight));offsetFactor=Math.max(0,speedFactor*containerHeight);}}else{speedFactor=baseSpeedFactor;offsetFactor=0;}
update();},10);}
getBackgroundSize(function(sz){curImgHeight=baseImgHeight=sz.height;baseImgWidth=sz.width;resize();});$window.on({scroll:update,load:resize,resize:resize,touchmove:update});var tgpliVisibleTimeout=false;$window.on('tgpliVisible',function(e){if(tgpliVisibleTimeout){clearTimeout(tgpliVisibleTimeout);}
tgpliVisibleTimeout=setTimeout(function(){resize();},100);});resize();});$(window).on('perspective-modalview-opened',function(){perspectiveOpened=true;windowHeight=$page.height();});$(window).on('perspective-modalview-closed',function(){perspectiveOpened=false;windowHeight=$window.height();});};$.fn.parallaxHorizontal=function(options){this.each(function(){return new ParallaxHorizontal(this,options);});};function ParallaxHorizontal(el,options){var that=this;this.$window=$(window);this.el=el;this.$el=$(el);this.$parent=$(el).parent();this.$section=$(el).closest('.elementor-section, .e-con');this.defaults={fps:60,basePoint:.5,duration:500,speed:278/500,easing:'swing'};if(el.onclick!=undefined){options=$.extend({},el.onclick()||{},typeof options=='object'&&options);this.$el.removeProp('onclick');}
options=$.extend({},this.defaults,typeof options=='object'&&options);this.options=options;this.containerWidth=this.$el.outerWidth();this.containerHeight=this.$el.outerHeight();this.windowHeight=this.$window.height();this._frameRate=Math.round(1000/this.options.fps);this.mouseInside=false;var img=new Image();img.onload=function(){that.bgWidth=this.width;if(!('ontouchstart'in window)||!('DeviceOrientationEvent'in window)){that.$section.mouseenter(function(e){that.mouseInside=true;var offset=that.bgPosition(),coord=(e.pageX-offset.left)/that.bgWidth;that.cancel();that._hoverAnimation=true;that._hoverFrom=that.now;that._hoverTo=coord;that.start(that._hoverTo);}).mousemove(function(e){if(!that.mouseInside)return;if(that._lastFrame+that._frameRate>Date.now())return;var offset=that.bgPosition(),coord=(e.pageX-offset.left)/that.bgWidth;if(that._hoverAnimation){that._hoverTo=coord;return;}
that.set(coord);that._lastFrame=Date.now();}).mouseleave(function(e){that.mouseInside=false;that.cancel();that.start(that.options.basePoint);});}
that.$window.resize(function(){that.handleResize();});that._orientationDriven=('ontouchstart'in window&&'DeviceOrientationEvent'in window);if(that._orientationDriven){that._checkIfVisible();window.addEventListener("deviceorientation",function(e){if(!that.visible||that._lastFrame+that._frameRate>Date.now())return;that._deviceOrientationChange(e);that._lastFrame=Date.now();});that.$window.resize(function(){that._checkIfVisible();});that.$window.scroll(function(){that._checkIfVisible();});}
that.set(that.options.basePoint);that._lastFrame=Date.now();};img.src=(this.$el.css('background-image')||'').replace(/url\(['"]*(.*?)['"]*\)/g,'$1');}
ParallaxHorizontal.prototype={_deviceOrientationChange:function(e){var gamma=e.gamma,beta=e.beta,x,y;switch(window.orientation){case-90:beta=Math.max(-45,Math.min(45,beta));x=(beta+45)/90;break;case 90:beta=Math.max(-45,Math.min(45,beta));x=(45-beta)/90;break;case 180:gamma=Math.max(-45,Math.min(45,gamma));x=(gamma+45)/90;break;case 0:default:if(gamma<-90||gamma>90)gamma=Math.abs(e.gamma)/e.gamma*(180-Math.abs(e.gamma));gamma=Math.max(-45,Math.min(45,gamma));x=(45-gamma)/90;break;}
this.set(x);},bgPosition:function(){var position=this.$el.css('background-position');var posList=position.split(' ');var left=posList[0];if(left=='center'){left='50%';}
if(left.match(/\d+\%/)){left=this.containerWidth*(parseFloat(left)/100)-this.bgWidth/2;}else if(left.match(/\d+px/)){left=parseFloat(left);}
return{left:left};},handleResize:function(){this.containerWidth=this.$el.outerWidth();this.containerHeight=this.$el.outerHeight();this.windowHeight=this.$window.height();this.set(this.now);},_checkIfVisible:function(){var scrollTop=this.$window.scrollTop(),containerTop=this.$el.offset().top;this.visible=(containerTop+this.containerHeight>scrollTop&&containerTop<scrollTop+this.windowHeight);},set:function(x){this.$el.css('background-position',((this.containerWidth-this.bgWidth)*x)+'px center');this.now=x;return this;},compute:function(from,to,delta){if(this._hoverAnimation)return(this._hoverTo-this._hoverFrom)*delta+this._hoverFrom;return(to-from)*delta+from;},start:function(to){var from=this.now,that=this,fromPosition=(this.bgWidth-this.containerWidth)*from,toPosition=(this.bgWidth-this.containerWidth)*to,duration=Math.abs(toPosition-fromPosition)/0.1;this.$el.css('delta',0).animate({delta:1},{duration:duration,easing:this.options.easing,complete:function(){that._hoverAnimation=false;},step:function(delta){that.set(that.compute(from,to,delta));},queue:false});return this;},cancel:function(){this._hoverAnimation=false;this.$el.stop(true,false);return this;}};$(window).on('elementor/frontend/init',function(){let FrontEndExtended=elementorModules.frontend.handlers.Base.extend({generateParallaxConfig:function(){var parallaxConfig={};if(this.getElementSettings('thegem_parallax_activate')==='yes'){parallaxConfig['parallax']=true;parallaxConfig['mobile']=this.getElementSettings('thegem_parallax_activate_mobile')==='yes';parallaxConfig['type']=this.getElementSettings('thegem_parallax_type')?this.getElementSettings('thegem_parallax_type'):'vertical';}
if(Object.keys(parallaxConfig).length!==0){return parallaxConfig;}
return false;},onInit:function(){var editMode=Boolean(elementor.isEditMode()),parallaxConfig=false;parallaxConfig=this.generateParallaxConfig();if(parallaxConfig){this.$element.addClass('e-no-lazyload');$('.thegem-section-parallax-background',this.$element).remove();var $backgroundWrap=$('<div class="thegem-section-parallax"></div>');var $background=$('<div class="thegem-section-parallax-background"></div>');$backgroundWrap.prependTo(this.$element);$background.prependTo($backgroundWrap);var parallax_type=parallaxConfig['type']?parallaxConfig['type']:'vertical';$backgroundWrap.addClass('thegem-section-parallax-'+parallax_type);var mobile_enabled=parallaxConfig['mobile']?'1':'0',is_custom_title=$backgroundWrap.hasClass('custom-title-background'),backgroundImageCss=$background.css('background-image')||'';if(!window.gemSettings.isTouch||mobile_enabled==='1'){if($backgroundWrap.hasClass('thegem-section-parallax-vertical')){var parallaxOptions={};if(is_custom_title){parallaxOptions.position='top';}
if(backgroundImageCss=='none'||backgroundImageCss==''){$background.on('tgpliVisible',function(){$(this).parallaxVertical('50%',parallaxOptions);});}
$background.parallaxVertical('50%',parallaxOptions);}else if($backgroundWrap.hasClass('thegem-section-parallax-horizontal')){if(window.gemSettings.parallaxDisabled){return;}
if(backgroundImageCss=='none'||backgroundImageCss==''){$background.on('tgpliVisible',function(){$(this).parallaxHorizontal();});}
$background.parallaxHorizontal();}}else{$background.css({backgroundAttachment:'scroll'});}}},});elementor.hooks.addAction('frontend/element_ready/section',function($element){new FrontEndExtended({$element:$element});});elementor.hooks.addAction('frontend/element_ready/column',function($element){new FrontEndExtended({$element:$element});});elementor.hooks.addAction('frontend/element_ready/container',function($element){new FrontEndExtended({$element:$element});});if(window.gemSettings.parallaxDisabled){var head=document.getElementsByTagName('head')[0],link=document.createElement('style');link.rel='stylesheet';link.type='text/css';link.innerHTML=".thegem-section-parallax.thegem-section-parallax-fixed .thegem-section-parallax-background { background-attachment: scroll !important; }";head.appendChild(link);}});}(jQuery,window.elementorFrontend));