(function(){
"use strict";
var planeClassPrefix='trx_addons_image_effects_on_';
var globalCanvas=false;
var permanentDrawing=globalCanvas||false;
var curtains=null;
var $document=jQuery(document);
var firstLoad=false;
var sliderInited=false;
window.addEventListener('load', function(){
if(typeof trx_addons_apply_filters=='function'){
globalCanvas=trx_addons_apply_filters('trx_addons_filter_image_effects_use_global_canvas', globalCanvas);
permanentDrawing=globalCanvas||false;
}
firstLoad=true;
create_planes();
});
function create_planes(){
if(typeof window.elementorFrontend!=='undefined'&&elementorFrontend.isEditMode()){
return;
}
if(typeof window.Curtains=='undefined'){
return;
}
var planeElements=document.querySelectorAll('[class*="' + planeClassPrefix + '"]:not(.trx_addons_image_effects_inited)'
+(jQuery('body').hasClass('allow_lazy_load')
? '.lazyload_inited'
: '')
);
if(planeElements.length===0) return;
if(globalCanvas){
curtains=create_canvas(document.body);
}
trx_addons_when_images_loaded(jQuery(planeElements), function(){
var effect, total=0;
for (var i=0; i < planeElements.length; i++){
if(! firstLoad&&planeElements[i].closest('.elementor-section-stretched') ) continue;
if(! sliderInited&&planeElements[i].closest('.slider-slide') ) continue;
total++;
if(! planeElements[i].classList.contains('trx_addons_image_effects_inited')&&jQuery(planeElements[i]).parents(':hidden').length===0){
effect=get_effect_name(planeElements[i]);
if(effect&&typeof window['trx_addons_image_effects_callback_' + effect]=='function'){
window['trx_addons_image_effects_callback_' + effect](curtains, planeElements[i], i, planeElements.length);
planeElements[i].classList.add("trx_addons_image_effects_inited");
}}
}
if(total===planeElements.length){
document.body.classList.add("trx_addons_image_effects_planes_loaded");
$document.trigger('action.trx_addons_image_effects_inited', [planeElements]);
}});
}
$document.on('action.got_ajax_response', function(){
if(firstLoad){
create_planes();
}});
$document.on('action.init_hidden_elements', function(){
if(firstLoad){
create_planes();
}});
$document.on('action.slider_inited', function(){
if(! sliderInited){
sliderInited=true;
create_planes();
}});
$document.on('action.init_lazy_load_elements', function(e, element){
var parent=element.parents('[class*="trx_addons_image_effects_on_"]:not(.trx_addons_image_effects_inited)');
if(parent.length > 0){
parent.addClass('lazyload_inited');
parent.css({'opacity': 0, 'transition': 'opacity 0s ease'});
create_planes();
setTimeout(function(){
parent.css({'opacity': 1, 'transition': 'opacity 0.3s ease'});
setTimeout(function(){
parent.css({'opacity': '', 'transition': ''});
}, 300);
}, 100);
}});
$document.on('action.before_remove_content action.deactivate_tab', function(e, cont){
cont.find('.trx_addons_image_effects_inited').each(function(){
var $self=jQuery(this),
$canvas=$self.find('.trx_addons_image_effects_canvas'),
curtains=$self.data('curtains');
if(! globalCanvas){
if(curtains){
curtains.dispose();
curtains=null;
$self.removeData('curtains');
}}else{
var plane=$self.data('curtains-plane');
if(plane){
curtains.removePlane(plane);
plane=null;
$self.removeData('curtains-plane');
}}
$canvas.remove();
});
});
$document.on('action.after_add_content action.activate_tab', function(e, cont){
cont.find('.trx_addons_image_effects_inited').each(function(){
jQuery(this)
.removeClass('trx_addons_image_effects_inited')
.find('[id^="trx_addons_image_effects_canvas_"]').remove().end()
.find('.trx_addons_image_effects_holder').removeClass('trx_addons_image_effects_holder').end();
});
});
function get_effect_name(elm){
var name='';
for(var i=0; i < elm.classList.length; i++){
if(elm.classList[i].indexOf(planeClassPrefix)===0){
name=elm.classList[i].substring(planeClassPrefix.length);
break;
}}
return name;
}
function get_mouse_position_from_event(e){
var mouse={};
if(e.targetTouches){
mouse.x=globalCanvas ? e.targetTouches[0].clientX:e.targetTouches[0].layerX;
mouse.y=globalCanvas ? e.targetTouches[0].clientY:e.targetTouches[0].layerY;
}else{
mouse.x=globalCanvas ? e.clientX:(e.offsetX!==0||e.offsetY!==0 ? e.offsetX:e.layerX);
mouse.y=globalCanvas ? e.clientY:(e.offsetX!==0||e.offsetY!==0 ? e.offsetY:e.layerY);
}
return mouse;
}
function mouse_to_plane_coords(plane, mpos){
var w=plane.htmlElement.clientWidth, 	cw=w / 2,
h=plane.htmlElement.clientHeight,	ch=h / 2;
return {
x:(mpos.x - cw) / cw,
y: -(mpos.y - ch) / ch
};}
var total=0;
function create_canvas(item){
var id='trx_addons_image_effects_canvas_'+total++,
div=document.createElement("div");
div.setAttribute('id', id);
div.setAttribute('class', 'trx_addons_image_effects_canvas');
item.appendChild(div);
var webGLCurtain=new Curtains({
watchScroll: globalCanvas,
premultipliedAlpha: true,
container: id
});
webGLCurtain
.onError(function(){
document.body.classList.add("no-curtains", "trx_addons_image_effects_planes_loaded");
})
.onContextLost(function(){
webGLCurtain.restoreContext();
});
return webGLCurtain;
}
window.trx_addons_image_effects_callback_waves=function(curtains_global, elm, index, total){
var curtains=curtains_global ? curtains_global:null;
var waveForceMin=0,
waveForceMax=7;
var waveFactor=elm.getAttribute('data-image-effect-waves-factor')||4;
var mouseIn=false;
var scaleOnHover=elm.getAttribute('data-image-effect-scale') > 0,
scaleFactor=0;
var paddingOnHover=typeof trx_addons_apply_filters=='function'
? trx_addons_apply_filters('trx_addons_filter_image_effects_padding', 0.04, 'waves')
: 0.04;
var effectStrength=Math.max(5.0, Math.min(50.0, elm.getAttribute('data-image-effect-strength')||30.0) );
var plane=null,
parent=null,
img_all=elm.querySelectorAll('img:not([class*="trx_addons_image_effects_"])'),
img=img_all.length > 1
? elm.querySelector('img:not([class*="avatar"]):not([class*="trx_addons_extended_taxonomy_img"])')
: elm.querySelector('img');
if(img){
if(img_all.length > 1){
jQuery(img).wrap('<div class="trx_addons_image_effects_holder"></div>');
}
parent=img.parentNode;
if(img_all.length==1){
parent.classList.add('trx_addons_image_effects_holder');
}
img.setAttribute('data-sampler', 'wavesTexture');
if(img.getAttribute('decoding')=='async'){
img.setAttribute('decoding', 'sync');
}
if(! globalCanvas){
curtains=create_canvas(parent);
if(curtains) jQuery(elm).data('curtains', curtains);
}
if(curtains){
if(! permanentDrawing) curtains.disableDrawing();
plane=curtains.addPlane(parent, get_params(elm, img, parent) );
if(plane){
jQuery(elm).data('curtains-plane', plane);
handle_plane(plane);
}}
}
function get_params(){
var vs=`
#ifdef GL_ES
precision mediump float;
#endif
attribute vec3 aVertexPosition;
attribute vec2 aTextureCoord;
uniform mat4 uMVMatrix;
uniform mat4 uPMatrix;
uniform mat4 wavesTextureMatrix;
varying vec3 vVertexPosition;
varying vec2 vTextureCoord;
uniform float uTime;
uniform float uMouseMoveStrength;
uniform float uEffectStrength;
uniform float uWaveFactor;
uniform vec2 uMousePosition;
uniform float hoveringWaveForce;
uniform float uPadding;
void main(){
vec3 vertexPosition=aVertexPosition;
float distanceFromMouse=distance(uMousePosition, vec2(vertexPosition.x, vertexPosition.y));
float waveSinusoid=cos(uWaveFactor * (distanceFromMouse - (uTime / 75.0)));
float distanceStrength=0.4 / (distanceFromMouse + 0.4);
float distortionEffect=distanceStrength * waveSinusoid * uMouseMoveStrength / uEffectStrength;
vertexPosition.z +=distortionEffect;
vertexPosition.x +=distortionEffect * (uMousePosition.x - vertexPosition.x) * hoveringWaveForce * 3.0;
vertexPosition.y +=distortionEffect * (uMousePosition.y - vertexPosition.y) * hoveringWaveForce;
gl_Position=uPMatrix * uMVMatrix * vec4(vertexPosition, (1.0 + uPadding));
vTextureCoord=(wavesTextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy;
vVertexPosition=vertexPosition;
}
`;
var fs=`
#ifdef GL_ES
precision mediump float;
#endif
varying vec3 vVertexPosition;
varying vec2 vTextureCoord;
uniform sampler2D wavesTexture;
uniform float displacement;
void main(){
if(false){
float intensity=1.0;
vec2 textureCoord=vTextureCoord;
vec4 image1=texture2D(wavesTexture, textureCoord);
vec4 image2=texture2D(wavesTexture, textureCoord);
vec4 texture1=texture2D(wavesTexture, vec2(textureCoord.x, textureCoord.y + displacement * (image2 * intensity)));
vec4 texture2=texture2D(wavesTexture, vec2(textureCoord.x, textureCoord.y + (1.0 - displacement) * (image1 * intensity)));
vec4 result=mix(texture1, texture2, displacement);
gl_FragColor=result;
}else{
vec2 textureCoord=vTextureCoord;
gl_FragColor=texture2D(wavesTexture, textureCoord);
}}
`;
return {
vertexShader: vs,
fragmentShader: fs,
widthSegments: 10,
heightSegments: 10,
uniforms: {
time: {
name: "uTime",
type: "1f",
value: 0
},
mousePosition: {
name: "uMousePosition",
type: "2f",
value: [-.5, .5]
},
mouseMoveStrength: {
name: "uMouseMoveStrength",
type: "1f",
value: .2
},
effectStrength: {
name: "uEffectStrength",
type: "1f",
value: effectStrength
},
displacement: {
name: "displacement",
type: "1f",
value: 0
},
waveFactor: {
name: "uWaveFactor",
type: "1f",
value: waveFactor
},
hoveringWaveForce: {
name: "hoveringWaveForce",
type: "1f",
value: waveForceMin
},
padding: {
name: "uPadding",
type: "1f",
value: 0
}}
};}
function handle_plane(plane){
plane
.onLoading(function(){
})
.onReady(function(){
if(! permanentDrawing) curtains.needRender();
plane.tweenForce=null;
plane.tweenScale=null;
plane.tweenPadding=null;
function mouse_move(){
if(! mouseIn){
mouse_enter();
}}
function mouse_enter(){
if(! mouseIn){
mouseIn=true;
change_wave_force(waveForceMax);
change_scale(1);
if(paddingOnHover){
change_padding(paddingOnHover);
}}
}
function mouse_leave(){
if(mouseIn){
mouseIn=false;
change_wave_force(waveForceMin);
change_scale(0);
if(paddingOnHover){
change_padding(0);
}}
}
elm.addEventListener("mousemove",  mouse_move);
elm.addEventListener("touchmove",  mouse_move);
elm.addEventListener("mouseenter", mouse_enter);
elm.addEventListener("touchstart", mouse_enter);
elm.addEventListener("mouseleave", mouse_leave);
elm.addEventListener("touchend",   mouse_leave);
})
.onRender(function(){
plane.uniforms.time.value++;
})
.onAfterResize(function(){
});
function change_wave_force(to){
if(plane.tweenForce){
trx_addons_tween_stop(plane.tweenForce);
}
plane.tweenForce=trx_addons_tween_value( {
start: plane.uniforms.hoveringWaveForce.value,
end: to,
time: 1.25,
callbacks: {
onUpdate: function(value){
plane.uniforms.hoveringWaveForce.value=value;
},
onComplete: function(){
trx_addons_tween_stop(plane.tweenForce);
plane.tweenForce=null;
}}
});
}
function change_padding(to){
if(plane.tweenPadding){
trx_addons_tween_stop(plane.tweenPadding);
}
plane.tweenPadding=trx_addons_tween_value( {
start: plane.uniforms.padding.value,
end: to,
time: 1.25,
callbacks: {
onUpdate: function(value){
plane.uniforms.padding.value=value;
},
onComplete: function(){
trx_addons_tween_stop(plane.tweenPadding);
plane.tweenPadding=null;
}}
});
}
function change_scale(to){
if(plane.tweenScale){
trx_addons_tween_stop(plane.tweenScale);
}
if(! permanentDrawing){
curtains.enableDrawing();
}
plane.tweenScale=trx_addons_tween_value( {
start: scaleFactor,
end: to,
time: 1.25,
callbacks: {
onUpdate: function(value){
scaleFactor=value;
if(scaleOnHover){
plane.textures&&plane.textures[0].setScale(1 + value / 12, 1 + value / 12);
}},
onComplete: function(){
trx_addons_tween_stop(plane.tweenScale);
plane.tweenScale=null;
if(! permanentDrawing&&to===0){
curtains.disableDrawing();
}}
}});
}}
};
window.trx_addons_image_effects_callback_waves2=function(curtains_global, elm, index, total){
var curtains=curtains_global ? curtains_global:null;
var waveForceMin=0,
waveForceMax=2;
var waveFactor=elm.getAttribute('data-image-effect-waves-factor')||4;
var mouseIn=false;
var scaleOnHover=elm.getAttribute('data-image-effect-scale') > 0,
scaleFactor=0;
var paddingOnHover=typeof trx_addons_apply_filters=='function'
? trx_addons_apply_filters('trx_addons_filter_image_effects_padding', 0.04, 'waves2')
: 0.04;
var effectStrength=Math.max(5.0, Math.min(50.0, elm.getAttribute('data-image-effect-strength')||30.0) );
var plane=null,
parent=null,
img_all=elm.querySelectorAll('img:not([class*="trx_addons_image_effects_"])'),
img=img_all.length > 1
? elm.querySelector('img:not([class*="avatar"]):not([class*="trx_addons_extended_taxonomy_img"])')
: elm.querySelector('img');
if(img){
if(img_all.length > 1){
jQuery(img).wrap('<div class="trx_addons_image_effects_holder"></div>');
}
parent=img.parentNode;
if(img_all.length==1){
parent.classList.add('trx_addons_image_effects_holder');
}
img.setAttribute('data-sampler', 'waves2Texture');
if(img.getAttribute('decoding')=='async'){
img.setAttribute('decoding', 'sync');
}
if(! globalCanvas){
curtains=create_canvas(parent);
if(curtains) jQuery(elm).data('curtains', curtains);
}
if(curtains){
if(! permanentDrawing) curtains.disableDrawing();
plane=curtains.addPlane(parent, get_params(elm, img, parent) );
if(plane){
jQuery(elm).data('curtains-plane', plane);
handle_plane(plane);
}}
}
function get_params(elm, img, parent){
var vs=`
#ifdef GL_ES
precision mediump float;
#endif
attribute vec3 aVertexPosition;
attribute vec2 aTextureCoord;
uniform mat4 uMVMatrix;
uniform mat4 uPMatrix;
uniform mat4 waves2TextureMatrix;
varying vec3 vVertexPosition;
varying vec2 vTextureCoord;
uniform float uTime;
uniform vec2 uResolution;
uniform vec2 uMousePosition;
uniform float uMouseMoveStrength;
uniform float uEffectStrength;
uniform float uWaveFactor;
uniform float uPadding;
void main(){
vec3 vertexPosition=aVertexPosition;
float distanceFromMouse=distance(uMousePosition, vec2(vertexPosition.x, vertexPosition.y));
float waveSinusoid=cos(uWaveFactor * (distanceFromMouse - (uTime / 75.0)));
float distanceStrength=0.4 / (distanceFromMouse + 0.4);
float distortionEffect=distanceStrength * waveSinusoid * uMouseMoveStrength / uEffectStrength;
vertexPosition.z +=distortionEffect;
vertexPosition.x +=distortionEffect * (uMousePosition.x - vertexPosition.x) * (uResolution.x / uResolution.y);
vertexPosition.y +=distortionEffect * (uMousePosition.y - vertexPosition.y);
gl_Position=uPMatrix * uMVMatrix * vec4(vertexPosition, (1.0 + uPadding));
vTextureCoord=(waves2TextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy;
vVertexPosition=vertexPosition;
}
`;
var fs=`
#ifdef GL_ES
precision mediump float;
#endif
varying vec3 vVertexPosition;
varying vec2 vTextureCoord;
uniform sampler2D waves2Texture;
void main(){
vec4 finalColor=texture2D(waves2Texture, vTextureCoord);
finalColor.rgb -=clamp(-vVertexPosition.z, 0.0, 1.0);
finalColor.rgb +=clamp(vVertexPosition.z, 0.0, 1.0);
finalColor=vec4(finalColor.rgb * finalColor.a, finalColor.a);
gl_FragColor=finalColor;
}
`;
return {
vertexShader: vs,
fragmentShader: fs,
widthSegments: 20,
heightSegments: 20,
uniforms: {
resolution: {
name: "uResolution",
type: "2f",
value: [ parent.clientWidth, parent.clientHeight ]
},
time: {
name: "uTime",
type: "1f",
value: 0
},
mousePosition: {
name: "uMousePosition",
type: "2f",
value: [-.5, .5]
},
mouseMoveStrength: {
name: "uMouseMoveStrength",
type: "1f",
value: 0
},
effectStrength: {
name: "uEffectStrength",
type: "1f",
value: effectStrength
},
waveFactor: {
name: "uWaveFactor",
type: "1f",
value: waveFactor
},
padding: {
name: "uPadding",
type: "1f",
value: 0
}}
};}
function handle_plane(plane){
plane
.onLoading(function(){
})
.onReady(function(){
plane.setPerspective(35);
if(! permanentDrawing) curtains.needRender();
plane.tween=null;
plane.tweenScale=null;
function mouse_move(){
if(! mouseIn){
mouse_enter();
}}
function mouse_enter(){
if(! mouseIn){
mouseIn=true;
change_wave_force(waveForceMax);
change_scale(1);
if(paddingOnHover){
change_padding(paddingOnHover);
}}
}
function mouse_leave(){
if(mouseIn){
mouseIn=false;
change_wave_force(waveForceMin);
change_scale(0);
if(paddingOnHover){
change_padding(0);
}}
}
elm.addEventListener("mousemove",  mouse_move);
elm.addEventListener("touchmove",  mouse_move);
elm.addEventListener("mouseenter", mouse_enter);
elm.addEventListener("touchstart", mouse_enter);
elm.addEventListener("mouseleave", mouse_leave);
elm.addEventListener("touchend",   mouse_leave);
})
.onRender(function(){
plane.uniforms.time.value++;
})
.onAfterResize(function(){
});
}
function change_wave_force(to){
if(plane.tween){
trx_addons_tween_stop(plane.tween);
}
plane.tween=trx_addons_tween_value( {
start: plane.uniforms.mouseMoveStrength.value,
end: to,
time: 1.25,
callbacks: {
onUpdate: function(value){
plane.uniforms.mouseMoveStrength.value=value;
},
onComplete: function(){
trx_addons_tween_stop(plane.tween);
plane.tween=null
}}
});
}
function change_padding(to){
if(plane.tweenPadding){
trx_addons_tween_stop(plane.tweenPadding);
}
plane.tweenPadding=trx_addons_tween_value( {
start: plane.uniforms.padding.value,
end: to,
time: 1.25,
callbacks: {
onUpdate: function(value){
plane.uniforms.padding.value=value;
},
onComplete: function(){
trx_addons_tween_stop(plane.tweenPadding);
plane.tweenPadding=null;
}}
});
}
function change_scale(to){
if(plane.tweenScale){
trx_addons_tween_stop(plane.tweenScale);
}
if(! permanentDrawing){
curtains.enableDrawing();
}
plane.tweenScale=trx_addons_tween_value( {
start: scaleFactor,
end: to,
time: 1.25,
callbacks: {
onUpdate: function(value){
scaleFactor=value;
if(scaleOnHover){
plane.textures&&plane.textures[0].setScale(1 + value / 12, 1 + value / 12);
}},
onComplete: function(){
trx_addons_tween_stop(plane.tweenScale);
plane.tweenScale=null;
if(! permanentDrawing&&to===0){
curtains.disableDrawing();
}}
}});
}};
window.trx_addons_image_effects_callback_ripple=function(curtains_global, elm, index, total){
var curtains=curtains_global ? curtains_global:null;
var mouseIn=false;
var scaleOnHover=elm.getAttribute('data-image-effect-scale') > 0,
scaleFactor=0;
var effectStrength=Math.max(5.0, Math.min(50.0, elm.getAttribute('data-image-effect-strength')||30.0) );
var wavesDirection=Math.max(0.0, Math.min(1.0, elm.getAttribute('data-image-effect-waves-direction')) );
var plane=null,
parent=null,
img_all=elm.querySelectorAll('img:not([class*="trx_addons_image_effects_"])'),
img=img_all.length > 1
? elm.querySelector('img:not([class*="avatar"]):not([class*="trx_addons_extended_taxonomy_img"])')
: elm.querySelector('img');
if(img){
if(img_all.length > 1){
jQuery(img).wrap('<div class="trx_addons_image_effects_holder"></div>');
}
parent=img.parentNode;
if(img_all.length==1){
parent.classList.add('trx_addons_image_effects_holder');
}
img.setAttribute('data-sampler', 'rippleTexture');
if(img.getAttribute('decoding')=='async'){
img.setAttribute('decoding', 'sync');
}
if(! globalCanvas){
curtains=create_canvas(parent);
if(curtains) jQuery(elm).data('curtains', curtains);
}
if(curtains){
if(! permanentDrawing) curtains.disableDrawing();
plane=curtains.addPlane(parent, get_params(elm, img, parent) );
if(plane){
jQuery(elm).data('curtains-plane', plane);
handle_plane(plane);
}}
}
function get_params(){
var vs=`
#ifdef GL_ES
precision mediump float;
#endif
attribute vec3 aVertexPosition;
attribute vec2 aTextureCoord;
uniform mat4 uMVMatrix;
uniform mat4 uPMatrix;
uniform mat4 rippleTextureMatrix;
varying vec3 vVertexPosition;
varying vec2 vTextureCoord;
void main(){
vec3 vertexPosition=aVertexPosition;
gl_Position=uPMatrix * uMVMatrix * vec4(vertexPosition, 1.0);
vTextureCoord=(rippleTextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy;
vVertexPosition=vertexPosition;
}
`;
var fs=`
#ifdef GL_ES
precision mediump float;
#endif
varying vec3 vVertexPosition;
varying vec2 vTextureCoord;
uniform sampler2D rippleTexture;
uniform float uTime;
uniform float uEffectStrength;
uniform float uWavesForce;
uniform float uWavesDirection;
void main(){
vec2 textureCoord=vTextureCoord;
const float PI=3.141592;
textureCoord.x +=(
sin(textureCoord.x * 10.0 *(2.0 - uWavesDirection) + ((uTime * (PI / 3.0)) * 0.031))
+ sin(textureCoord.y * 10.0 *(2.0 - uWavesDirection) + ((uTime * (PI / 2.489)) * 0.017))
) / uEffectStrength /(2.5 + 1.5 * uWavesDirection) * uWavesForce;
textureCoord.y +=(
sin(textureCoord.y * 20.0 /(2.0 - uWavesDirection) + ((uTime * (PI / 2.023)) * 0.023))
+ sin(textureCoord.x * 20.0 /(2.0 - uWavesDirection) + ((uTime * (PI / 3.1254)) * 0.037))
) / uEffectStrength /(2.5 + 1.5 *(1.0 - uWavesDirection) ) * uWavesForce;
gl_FragColor=texture2D(rippleTexture, textureCoord);
}
`;
return {
vertexShader: vs,
fragmentShader: fs,
uniforms: {
time: {
name: "uTime",
type: "1f",
value: 0
},
effectStrength: {
name: "uEffectStrength",
type: "1f",
value: effectStrength
},
wavesForce: {
name: "uWavesForce",
type: "1f",
value: 0
},
wavesDirection: {
name: "uWavesDirection",
type: "1f",
value: wavesDirection
}}
};}
function handle_plane(plane){
plane
.onLoading(function(){
})
.onReady(function(){
if(! permanentDrawing) curtains.needRender();
plane.tweenForce=null;
plane.tweenScale=null;
function mouse_move(e){
if(! mouseIn){
mouse_enter();
}}
function mouse_enter(){
if(! mouseIn){
mouseIn=true;
change_waves_force(1);
change_scale(1);
}}
function mouse_leave(){
if(mouseIn){
mouseIn=false;
change_waves_force(0);
change_scale(0);
}}
elm.addEventListener("mousemove",  mouse_move);
elm.addEventListener("touchmove",  mouse_move);
elm.addEventListener("mouseenter", mouse_enter);
elm.addEventListener("touchstart", mouse_enter);
elm.addEventListener("mouseleave", mouse_leave);
elm.addEventListener("touchend",   mouse_leave);
})
.onRender(function(){
plane.uniforms.time.value++;
})
.onAfterResize(function(){
});
function change_waves_force(to){
if(plane.tweenForce){
trx_addons_tween_stop(plane.tweenForce);
}
plane.tweenForce=trx_addons_tween_value( {
start: plane.uniforms.wavesForce.value,
end: to,
time: 1.25,
callbacks: {
onUpdate: function(value){
plane.uniforms.wavesForce.value=value;
},
onComplete: function(){
trx_addons_tween_stop(plane.tweenForce);
plane.tweenForce=null;
}}
});
}
function change_scale(to){
if(plane.tweenScale){
trx_addons_tween_stop(plane.tweenScale);
}
if(! permanentDrawing){
curtains.enableDrawing();
}
plane.tweenScale=trx_addons_tween_value( {
start: scaleFactor,
end: to,
time: 1.25,
callbacks: {
onUpdate: function(value){
scaleFactor=value;
if(scaleOnHover){
plane.textures&&plane.textures[0].setScale(1 + value / 12, 1 + value / 12);
}},
onComplete: function(){
trx_addons_tween_stop(plane.tweenScale);
plane.tweenScale=null;
if(! permanentDrawing&&to===0){
curtains.disableDrawing();
}}
}});
}}
};
window.trx_addons_image_effects_callback_ripple2=function(curtains_global, elm, index, total){
var curtains=curtains_global ? curtains_global:null;
var mouseIn=false;
var scaleOnHover=elm.getAttribute('data-image-effect-scale') > 0,
scaleFactor=0;
var effectStrength=Math.max(5.0, Math.min(50.0, elm.getAttribute('data-image-effect-strength')||30.0) );
var wavesDirection=Math.max(0.0, Math.min(1.0, elm.getAttribute('data-image-effect-waves-direction')) );
var plane=null,
parent=null,
img_all=elm.querySelectorAll('img:not([class*="trx_addons_image_effects_"])'),
img=img_all.length > 1
? elm.querySelector('img:not([class*="avatar"]):not([class*="trx_addons_extended_taxonomy_img"])')
: elm.querySelector('img');
if(img){
if(img_all.length > 1){
jQuery(img).wrap('<div class="trx_addons_image_effects_holder"></div>');
}
parent=img.parentNode;
if(img_all.length==1){
parent.classList.add('trx_addons_image_effects_holder');
}
img.setAttribute('data-sampler', 'ripple2Texture');
if(img.getAttribute('decoding')=='async'){
img.setAttribute('decoding', 'sync');
}
var displacement_url=elm.getAttribute('data-image-effect-displacement');
if(displacement_url){
var displacement_img=document.createElement("img");
displacement_img.setAttribute('src', displacement_url);
displacement_img.setAttribute('data-sampler', 'ripple2Displacement');
if(displacement_img.getAttribute('decoding')=='async'){
displacement_img.setAttribute('decoding', 'sync');
}
displacement_img.classList.add('trx_addons_image_effects_ripple_displacement');
parent.appendChild(displacement_img);
$document.on('action.after_add_content', function(e, cont){
cont.find('.trx_addons_image_effects_ripple_displacement').remove();
});
}
if(! globalCanvas){
curtains=create_canvas(parent);
if(curtains) jQuery(elm).data('curtains', curtains);
}
if(curtains){
if(! permanentDrawing) curtains.disableDrawing();
plane=curtains.addPlane(parent, get_params(elm, img, parent) );
if(plane){
jQuery(elm).data('curtains-plane', plane);
handle_plane(plane);
}}
}
function get_params(){
var vs=`
#ifdef GL_ES
precision mediump float;
#endif
attribute vec3 aVertexPosition;
attribute vec2 aTextureCoord;
uniform mat4 uMVMatrix;
uniform mat4 uPMatrix;
uniform mat4 ripple2TextureMatrix;
varying vec3 vVertexPosition;
varying vec2 vDisplacementCoord;
varying vec2 vTextureCoord;
uniform float uTime;
void main(){
vec3 vertexPosition=aVertexPosition;
gl_Position=uPMatrix * uMVMatrix * vec4(vertexPosition, 1.0);
vDisplacementCoord=aTextureCoord;
vTextureCoord=(ripple2TextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy;
vVertexPosition=vertexPosition;
}
`;
var fs=`
#ifdef GL_ES
precision mediump float;
#endif
varying vec3 vVertexPosition;
varying vec2 vDisplacementCoord;
varying vec2 vTextureCoord;
uniform sampler2D ripple2Texture;
uniform sampler2D ripple2Displacement;
uniform float uTime;
uniform float uEffectStrength;
uniform float uWavesForce;
uniform float uWavesDirection;
void main(void){
vec2 displacementCoords=vDisplacementCoord;
displacementCoords=vec2(mod(displacementCoords.x - (1.0 - uWavesDirection) * uTime /(400.0 + uEffectStrength * 5.0), 1.0),
mod(displacementCoords.y - uWavesDirection * uTime /(600.0 + uEffectStrength * 5.0), 1.0)
);
vec4 displacementTexture=texture2D(ripple2Displacement, displacementCoords);
vec2 textureCoords=vTextureCoord;
const float PI=3.141592;
textureCoords.x +=1.0 / uEffectStrength /(2.5 + 1.5 * uWavesDirection) * uWavesForce * displacementTexture.r;
textureCoords.y -=1.0 / uEffectStrength /(2.0 + 1.5 *(1.0 - uWavesDirection) ) * uWavesForce * displacementTexture.r;
vec4 finalColor=texture2D(ripple2Texture, textureCoords);
finalColor=vec4(finalColor.rgb * finalColor.a, finalColor.a);
gl_FragColor=finalColor;
}
`;
return {
vertexShader: vs,
fragmentShader: fs,
imageCover: false,
uniforms: {
time: {
name: "uTime",
type: "1f",
value: 0
},
effectStrength: {
name: "uEffectStrength",
type: "1f",
value: effectStrength
},
wavesForce: {
name: "uWavesForce",
type: "1f",
value: 0
},
wavesDirection: {
name: "uWavesDirection",
type: "1f",
value: wavesDirection
}}
};}
function handle_plane(plane){
plane
.onLoading(function(){
})
.onReady(function(){
if(! permanentDrawing) curtains.needRender();
plane.tweenForce=null;
plane.tweenScale=null;
function mouse_move(e){
if(! mouseIn){
mouse_enter();
}}
function mouse_enter(){
if(! mouseIn){
mouseIn=true;
change_waves_force(1);
change_scale(1);
}}
function mouse_leave(){
if(mouseIn){
mouseIn=false;
change_waves_force(0);
change_scale(0);
}}
elm.addEventListener("mousemove",  mouse_move);
elm.addEventListener("touchmove",  mouse_move);
elm.addEventListener("mouseenter", mouse_enter);
elm.addEventListener("touchstart", mouse_enter);
elm.addEventListener("mouseleave", mouse_leave);
elm.addEventListener("touchend",   mouse_leave);
})
.onRender(function(){
plane.uniforms.time.value++;
})
.onAfterResize(function(){
});
function change_waves_force(to){
if(plane.tweenForce){
trx_addons_tween_stop(plane.tweenForce);
}
plane.tweenForce=trx_addons_tween_value( {
start: plane.uniforms.wavesForce.value,
end: to,
time: 1.25,
callbacks: {
onUpdate: function(value){
plane.uniforms.wavesForce.value=value;
},
onComplete: function(){
trx_addons_tween_stop(plane.tweenForce);
plane.tweenForce=null;
}}
});
}
function change_scale(to){
if(plane.tweenScale){
trx_addons_tween_stop(plane.tweenScale);
}
if(! permanentDrawing){
curtains.enableDrawing();
}
plane.tweenScale=trx_addons_tween_value( {
start: scaleFactor,
end: to,
time: 1.25,
callbacks: {
onUpdate: function(value){
scaleFactor=value;
if(scaleOnHover){
plane.textures&&plane.textures[0].setScale(1 + value / 12, 1 + value / 12);
}},
onComplete: function(){
trx_addons_tween_stop(plane.tweenScale);
plane.tweenScale=null;
if(! permanentDrawing&&to===0){
curtains.disableDrawing();
}}
}});
}}
};
window.trx_addons_image_effects_callback_smudge=function(curtains_global, elm, index, total){
var curtains=curtains_global ? curtains_global:null;
var enableDrawing=false;
var mousePosition={
x: 0,
y: 0
};
var mouseLastPosition={
x: 0,
y: 0
};
var mouseStrength=false;
var mouseIn=false;
var scaleOnHover=elm.getAttribute('data-image-effect-scale') > 0,
scaleFactor=0;
var paddingOnHover=typeof trx_addons_apply_filters=='function'
? trx_addons_apply_filters('trx_addons_filter_image_effects_padding', 0.04, 'smudge')
: 0.04;
var effectStrength=Math.max(5.0, Math.min(50.0, elm.getAttribute('data-image-effect-strength')||30.0) );
var deltas={
max: 0,
applied: 0
};
var plane=null,
parent=null,
img_all=elm.querySelectorAll('img:not([class*="trx_addons_image_effects_"])'),
img=img_all.length > 1
? elm.querySelector('img:not([class*="avatar"]):not([class*="trx_addons_extended_taxonomy_img"])')
: elm.querySelector('img');
if(img){
if(img_all.length > 1){
jQuery(img).wrap('<div class="trx_addons_image_effects_holder"></div>');
}
parent=img.parentNode;
if(img_all.length==1){
parent.classList.add('trx_addons_image_effects_holder');
}
img.setAttribute('data-sampler', 'smudgeTexture');
if(img.getAttribute('decoding')=='async'){
img.setAttribute('decoding', 'sync');
}
if(! globalCanvas){
curtains=create_canvas(parent);
if(curtains) jQuery(elm).data('curtains', curtains);
}
if(curtains){
if(! permanentDrawing) curtains.disableDrawing();
plane=curtains.addPlane(parent, get_params(elm, img, parent) );
if(plane){
jQuery(elm).data('curtains-plane', plane);
handle_plane(plane);
}}
}
function get_params(elm, img, parent){
var vs=`
#ifdef GL_ES
precision mediump float;
#endif
attribute vec3 aVertexPosition;
attribute vec2 aTextureCoord;
uniform mat4 uMVMatrix;
uniform mat4 uPMatrix;
uniform mat4 smudgeTextureMatrix;
varying vec3 vVertexPosition;
varying vec2 vTextureCoord;
uniform float uTime;
uniform vec2 uMousePosition;
uniform float uMouseMoveStrength;
uniform float uEffectStrength;
uniform float uPadding;
void main(){
vec3 vertexPosition=aVertexPosition;
float distanceFromMouse=distance(uMousePosition, vec2(vertexPosition.x, vertexPosition.y));
float distanceStrength=0.4 / (distanceFromMouse + 0.4);
float distortionEffect=distanceStrength * uMouseMoveStrength / uEffectStrength;
vertexPosition.z +=distortionEffect;
vertexPosition.x +=distortionEffect * (uMousePosition.x - vertexPosition.x);
vertexPosition.y +=distortionEffect * (uMousePosition.y - vertexPosition.y);
gl_Position=uPMatrix * uMVMatrix * vec4(vertexPosition, (1.0 + uPadding));
vTextureCoord=(smudgeTextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy;
vVertexPosition=vertexPosition;
}
`;
var fs=`
#ifdef GL_ES
precision mediump float;
#endif
varying vec3 vVertexPosition;
varying vec2 vTextureCoord;
uniform sampler2D smudgeTexture;
void main(){
vec4 finalColor=texture2D(smudgeTexture, vTextureCoord);
finalColor.rgb -=clamp(-vVertexPosition.z, 0.0, 1.0);
finalColor.rgb +=clamp(vVertexPosition.z, 0.0, 1.0);
finalColor=vec4(finalColor.rgb * finalColor.a, finalColor.a);
gl_FragColor=finalColor;
}
`;
return {
vertexShader: vs,
fragmentShader: fs,
widthSegments: 20,
heightSegments: 20,
uniforms: {
time: {
name: "uTime",
type: "1f",
value: 0
},
mousePosition: {
name: "uMousePosition",
type: "2f",
value: [ mousePosition.x, mousePosition.y ]
},
mouseMoveStrength: {
name: "uMouseMoveStrength",
type: "1f",
value: 0
},
effectStrength: {
name: "uEffectStrength",
type: "1f",
value: effectStrength
},
padding: {
name: "uPadding",
type: "1f",
value: 0
}}
};}
function handle_plane(plane){
plane
.onLoading(function(){
})
.onReady(function(){
plane.setPerspective(35);
deltas.max=2;
if(! permanentDrawing) curtains.needRender();
plane.tweenScale=null;
function mouse_move(e){
if(! mouseIn){
mouse_enter();
}
handle_movement(e, plane);
}
function mouse_enter(){
if(! mouseIn){
mouseIn=true;
change_scale(1);
if(paddingOnHover){
change_padding(paddingOnHover);
}}
}
function mouse_leave(){
if(mouseIn){
mouseIn=false;
change_scale(0);
if(paddingOnHover){
change_padding(0);
}}
}
elm.addEventListener("mousemove",  mouse_move);
elm.addEventListener("touchmove",  mouse_move);
elm.addEventListener("mouseenter", mouse_enter);
elm.addEventListener("touchstart", mouse_enter);
elm.addEventListener("mouseleave", mouse_leave);
elm.addEventListener("touchend",   mouse_leave);
})
.onRender(function(){
plane.uniforms.time.value++;
deltas.applied +=(deltas.max - deltas.applied) * 0.02;
deltas.max +=(0 - deltas.max) * 0.01;
plane.uniforms.mouseMoveStrength.value=deltas.applied;
if(! permanentDrawing&&! enableDrawing&&Math.abs(deltas.applied - deltas.max) < 0.001){
curtains.disableDrawing();
}})
.onAfterResize(function(){
});
}
function handle_movement(e, plane){
mouseLastPosition.x=mousePosition.x;
mouseLastPosition.y=mousePosition.y;
var mouse={};
if(e.targetTouches){
mouse.x=globalCanvas ? e.targetTouches[0].clientX:e.targetTouches[0].layerX;
mouse.y=globalCanvas ? e.targetTouches[0].clientY:e.targetTouches[0].layerY;
}else{
mouse.x=globalCanvas ? e.clientX:(e.offsetX!==0||e.offsetY!==0 ? e.offsetX:e.layerX);
mouse.y=globalCanvas ? e.clientY:(e.offsetX!==0||e.offsetY!==0 ? e.offsetY:e.layerY);
}
mousePosition.x=trx_addons_lerp(mousePosition.x, mouse.x, 0.3);
mousePosition.y=trx_addons_lerp(mousePosition.y, mouse.y, 0.3);
var mouseCoords=globalCanvas
? plane.mouseToPlaneCoords(mousePosition.x, mousePosition.y)
: mouse_to_plane_coords(plane, mousePosition);
plane.uniforms.mousePosition.value=[mouseCoords.x, mouseCoords.y];
if(mouseStrength&&mouseLastPosition.x&&mouseLastPosition.y){
var delta=Math.sqrt(Math.pow(mousePosition.x - mouseLastPosition.x, 2) + Math.pow(mousePosition.y - mouseLastPosition.y, 2) ) / 20;
delta=Math.min(4, delta);
if(delta >=deltas.max){
deltas.max=delta;
}}else{
deltas.max=2;
}}
function change_padding(to){
if(plane.tweenPadding){
trx_addons_tween_stop(plane.tweenPadding);
}
plane.tweenPadding=trx_addons_tween_value( {
start: plane.uniforms.padding.value,
end: to,
time: 1.25,
callbacks: {
onUpdate: function(value){
plane.uniforms.padding.value=value;
},
onComplete: function(){
trx_addons_tween_stop(plane.tweenPadding);
plane.tweenPadding=null;
}}
});
}
function change_scale(to){
if(plane.tweenScale){
trx_addons_tween_stop(plane.tweenScale);
}
if(! permanentDrawing){
enableDrawing=true;
curtains.enableDrawing();
}
plane.tweenScale=trx_addons_tween_value( {
start: scaleFactor,
end: to,
time: 1.25,
callbacks: {
onUpdate: function(value){
scaleFactor=value;
if(scaleOnHover){
plane.textures&&plane.textures[0].setScale(1 + value / 12, 1 + value / 12);
}},
onComplete: function(){
trx_addons_tween_stop(plane.tweenScale);
plane.tweenScale=null;
if(! permanentDrawing&&to===0){
enableDrawing=false;
}}
}});
}};
window.trx_addons_image_effects_callback_tint=function(curtains_global, elm, index, total){
var curtains=curtains_global ? curtains_global:null;
var mouseIn=false;
var scaleOnHover=elm.getAttribute('data-image-effect-scale') > 0,
scaleFactor=0,
tintColor=elm.getAttribute('data-image-effect-tint-color')||TRX_ADDONS_STORAGE['theme_accent_color'];
var plane=null,
parent=null,
img_all=elm.querySelectorAll('img:not([class*="trx_addons_image_effects_"])'),
img=img_all.length > 1
? elm.querySelector('img:not([class*="avatar"]):not([class*="trx_addons_extended_taxonomy_img"])')
: elm.querySelector('img');
if(img){
if(img_all.length > 1){
jQuery(img).wrap('<div class="trx_addons_image_effects_holder"></div>');
}
parent=img.parentNode;
if(img_all.length==1){
parent.classList.add('trx_addons_image_effects_holder');
}
img.setAttribute('data-sampler', 'tintTexture');
if(img.getAttribute('decoding')=='async'){
img.setAttribute('decoding', 'sync');
}
if(! globalCanvas){
curtains=create_canvas(parent);
if(curtains) jQuery(elm).data('curtains', curtains);
}
if(curtains){
if(! permanentDrawing) curtains.disableDrawing();
plane=curtains.addPlane(parent, get_params(elm, img, parent) );
if(plane){
jQuery(elm).data('curtains-plane', plane);
handle_plane(plane);
}}
}
function get_params(elm, img, parent){
var vs=`
#ifdef GL_ES
precision mediump float;
#endif
vec3 permute(vec3 x){
return mod((x*34.0+1.0)*x, 289.0);
}
float snoise(vec2 v){
const vec4 C=vec4(0.211325, 0.366025, -0.57735, 0.02439);
vec2 i=floor(v + dot(v, C.yy)),
x0=v - i + dot(i, C.xx),
i1;
i1=x0.x > x0.y ? vec2(1.0, 0.0):vec2(0.0,1.0);
vec4 x12=x0.xyxy + C.xxzz;
x12.xy -=i1,
i=mod(i, 289.0);
vec3 p=permute(permute(i.y + vec3(0.0, i1.y, 1.0)) + i.x + vec3(0.0,i1.x, 1.0)),
m=max(0.5 - vec3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.0);
m=m * m, m=m * m;
vec3 x=2.0 * fract(p * C.www) - 1.0,
h=abs(x) - 0.5,
ox=floor(x + 0.5),
a0=x - ox;
m *=1.792843 - 0.853735 * (a0 * a0 + h * h);
vec3 g;
g.x=a0.x * x0.x + h.x * x0.y,
g.yz=a0.yz * x12.xz + h.yz * x12.yw;
return 130.0 * dot(m, g);
}
attribute vec3 aVertexPosition;
attribute vec2 aTextureCoord;
uniform mat4 uMVMatrix, uPMatrix, tintTextureMatrix;
uniform float uTime, uMouseOver;
varying vec2 vTintTextureCoord;
varying vec3 vVertexPosition, vNoise;
void main(){
vec3 vP=aVertexPosition;
vec2 sUV=vec2(vP.x * 0.75, vP.y * 0.75);
vec3 sN=vec3(snoise(sUV * 2.0 - uTime / 360.0));
vP.z=0.0,
gl_Position=uPMatrix * uMVMatrix * vec4(vP, 1.0),
vVertexPosition=vP,
vTintTextureCoord=(tintTextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy,
vNoise=sN;
}
`;
var fs=`
#ifdef GL_ES
precision mediump float;
#endif
varying vec2 vTintTextureCoord;
varying vec3 vVertexPosition;
varying vec3 vNoise;
uniform sampler2D tintTexture;
uniform float uMouseOver;
uniform vec3 uColor;
void main(){
vec4 f=texture2D(tintTexture, vTintTextureCoord);
f.rgb -=clamp(-vVertexPosition.z / 10.0, 0.0, 1.0);
f.rgb +=clamp(vVertexPosition.z / 12.5, 0.0, 1.0);
vec4 lC=vec4(0.299, 0.587, 0.114, 0.0),
l=vec4(1.0),
tint=vec4(uColor.r / 255.0, uColor.g / 255.0, uColor.b / 255.0, 1.0);
float lM=dot(f, lC),
mN=clamp(uMouseOver * (1.0 - vNoise.r) - 1.0 + uMouseOver * 2.0, 0.0, 1.0);
vec4 mC=(l + tint) / vec4(2.0),
dT=lM >=0.45 ? mix(mC, l, smoothstep(0.45, 0.93125, lM)):mix(tint, mC, smoothstep(-0.03125, 0.45, lM));
f=mix(dT, f, step(0.9, mN));
f=vec4(f.rgb * f.a, f.a);
gl_FragColor=f;
}
`;
return {
vertexShader: vs,
fragmentShader: fs,
widthSegments: 5,
heightSegments: 40,
fov: 45,
drawCheckMargins: {
top: 15,
right: 0,
bottom: 15,
left: 0
},
uniforms: {
time: {
name: "uTime",
type: "1f",
value: 0	
},
mouseOver: {
name: "uMouseOver",
type: "1f",
value: 0
},
color: {
name: "uColor",
type: "3f",
value: trx_addons_rgb2components(tintColor)
}}
};}
function handle_plane(plane){
plane
.onReady(function(){
if(! permanentDrawing) curtains.needRender();
plane.tween=null;
plane.tweenScale=null;
function mouse_move(e){
if(! mouseIn){
mouse_enter();
}}
function mouse_enter(){
if(! mouseIn){
mouseIn=true;
change_mouse_over(1);
change_scale(1);
}}
function mouse_leave(){
if(mouseIn){
mouseIn=false;
change_mouse_over(0);
change_scale(0);
}}
elm.addEventListener("mousemove",  mouse_move);
elm.addEventListener("touchmove",  mouse_move);
elm.addEventListener("mouseenter", mouse_enter);
elm.addEventListener("touchstart", mouse_enter);
elm.addEventListener("mouseleave", mouse_leave);
elm.addEventListener("touchend",   mouse_leave);
})
.onRender(function(){
plane.uniforms.time.value++;
});
}
function change_mouse_over(to){
if(plane.tween){
trx_addons_tween_stop(plane.tween);
}
plane.tween=trx_addons_tween_value( {
start: plane.uniforms.mouseOver.value,
end: to,
time: 1.25,
callbacks: {
onUpdate: function(value){
plane.uniforms.mouseOver.value=value;
},
onComplete: function(){
trx_addons_tween_stop(plane.tween);
plane.tween=null
}}
});
}
function change_scale(to){
if(plane.tweenScale){
trx_addons_tween_stop(plane.tweenScale);
}
if(! permanentDrawing){
curtains.enableDrawing();
}
plane.tweenScale=trx_addons_tween_value( {
start: scaleFactor,
end: to,
time: 1.25,
callbacks: {
onUpdate: function(value){
scaleFactor=value;
if(scaleOnHover){
plane.textures&&plane.textures[0].setScale(1 + value / 12, 1 + value / 12);
}},
onComplete: function(){
trx_addons_tween_stop(plane.tweenScale);
plane.tweenScale=null;
if(! permanentDrawing&&to===0){
curtains.disableDrawing();
}}
}});
}};
window.trx_addons_image_effects_callback_swap=function(curtains_global, elm, index, total){
var curtains=curtains_global ? curtains_global:null;
var mouseIn=false;
var scaleOnHover=elm.getAttribute('data-image-effect-scale') > 0,
scaleFactor=0;
var activeImage=0;
var plane=null,
parent=null,
img_all=elm.querySelectorAll('img:not([class*="trx_addons_image_effects_"])'),
img=img_all.length > 1
? elm.querySelector('img:not([class*="avatar"]):not([class*="trx_addons_extended_taxonomy_img"])')
: elm.querySelector('img');
if(img){
if(img_all.length > 1){
jQuery(img).wrap('<div class="trx_addons_image_effects_holder"></div>');
}
parent=img.parentNode;
if(img_all.length==1){
parent.classList.add('trx_addons_image_effects_holder');
}
img.setAttribute('data-sampler', 'swapTexture');
if(img.getAttribute('decoding')=='async'){
img.setAttribute('decoding', 'sync');
}
var swap_url=elm.getAttribute('data-image-effect-swap-image');
if(swap_url){
var swap_img=document.createElement("img");
swap_img.setAttribute('src', swap_url);
swap_img.setAttribute('data-sampler', 'swap2Texture');
if(swap_img.getAttribute('decoding')=='async'){
swap_img.setAttribute('decoding', 'sync');
}
swap_img.classList.add('trx_addons_image_effects_swap_image');
parent.appendChild(swap_img);
$document.on('action.after_add_content', function(e, cont){
cont.find('.trx_addons_image_effects_swap_image').remove();
});
}
var displacement_url=elm.getAttribute('data-image-effect-displacement');
if(displacement_url){
var displacement_img=document.createElement("img");
displacement_img.setAttribute('src', displacement_url);
displacement_img.setAttribute('data-sampler', 'swapDisplacement');
if(displacement_img.getAttribute('decoding')=='async'){
displacement_img.setAttribute('decoding', 'sync');
}
displacement_img.classList.add('trx_addons_image_effects_swap_displacement');
parent.appendChild(displacement_img);
$document.on('action.after_add_content', function(e, cont){
cont.find('.trx_addons_image_effects_swap_displacement').remove();
});
}
if(! globalCanvas){
curtains=create_canvas(parent);
if(curtains) jQuery(elm).data('curtains', curtains);
}
if(curtains){
if(! permanentDrawing) curtains.disableDrawing();
plane=curtains.addPlane(parent, get_params(elm, img, parent) );
if(plane){
jQuery(elm).data('curtains-plane', plane);
handle_plane(plane);
}}
}
function get_params(){
var vs=`
#ifdef GL_ES
precision mediump float;
#endif
attribute vec3 aVertexPosition;
attribute vec2 aTextureCoord;
uniform mat4 uMVMatrix;
uniform mat4 uPMatrix;
uniform mat4 swapTextureMatrix;
uniform mat4 swap2TextureMatrix;
varying vec3 vVertexPosition;
varying vec2 vTextureCoord;
varying vec2 vSwapTextureCoord;
varying vec2 vSwap2TextureCoord;
uniform float uTime;
void main(){
vec3 vertexPosition=aVertexPosition;
gl_Position=uPMatrix * uMVMatrix * vec4(vertexPosition, 1.0);
vTextureCoord=aTextureCoord;
vSwapTextureCoord=(swapTextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy;
vSwap2TextureCoord=(swap2TextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy;
vVertexPosition=vertexPosition;
}
`;
var fs=`
#ifdef GL_ES
precision mediump float;
#endif
varying vec3 vVertexPosition;
varying vec2 vTextureCoord;
varying vec2 vSwapTextureCoord;
varying vec2 vSwap2TextureCoord;
uniform float uTime;
uniform sampler2D swapTexture;
uniform sampler2D swap2Texture;
uniform sampler2D swapDisplacement;
void main(void){
vec2 textureCoords=vTextureCoord;
vec4 displacementTexture=texture2D(swapDisplacement, textureCoords);
float displacementFactor=1.0 - (cos(uTime / (60.0 / 3.141592)) + 1.0) / 2.0;
vec2 effectFactor=vec2((textureCoords.x - 0.5) * 0.75, (textureCoords.y - 0.5) * 0.75);
vec2 firstDisplacementCoords=vec2(vSwapTextureCoord.x - displacementFactor * (displacementTexture.r * effectFactor.x), vSwapTextureCoord.y- displacementFactor * (displacementTexture.r * effectFactor.y));
vec2 secondDisplacementCoords=vec2(vSwap2TextureCoord.x - (1.0 - displacementFactor) * (displacementTexture.r * effectFactor.x), vSwap2TextureCoord.y - (1.0 - displacementFactor) * (displacementTexture.r * effectFactor.y));
vec4 firstDistortedColor=texture2D(swapTexture, firstDisplacementCoords);
vec4 secondDistortedColor=texture2D(swap2Texture, secondDisplacementCoords);
vec4 finalColor=mix(firstDistortedColor, secondDistortedColor, displacementFactor);
finalColor=vec4(finalColor.rgb * finalColor.a, finalColor.a);
gl_FragColor=finalColor;
}
`;
return {
vertexShader: vs,
fragmentShader: fs,
imageCover: false,
uniforms: {
time: {
name: "uTime",
type: "1f",
value: 0
}}
};}
function handle_plane(plane){
plane
.onLoading(function(){
})
.onReady(function(){
if(! permanentDrawing) curtains.needRender();
plane.tweenScale=null;
function mouse_move(e){
if(! mouseIn){
mouse_enter();
}}
function mouse_enter(){
if(! mouseIn){
mouseIn=true;
activeImage=1;
change_scale(1);
}}
function mouse_leave(){
if(mouseIn){
mouseIn=false;
activeImage=0;
change_scale(0);
}}
elm.addEventListener("mousemove",  mouse_move);
elm.addEventListener("touchmove",  mouse_move);
elm.addEventListener("mouseenter", mouse_enter);
elm.addEventListener("touchstart", mouse_enter);
elm.addEventListener("mouseleave", mouse_leave);
elm.addEventListener("touchend",   mouse_leave);
})
.onRender(function(){
plane.uniforms.time.value=activeImage==1 ? Math.min(60, plane.uniforms.time.value + 1):Math.max(0, plane.uniforms.time.value - 1);
})
.onAfterResize(function(){
});
function change_scale(to){
if(plane.tweenScale){
trx_addons_tween_stop(plane.tweenScale);
}
if(! permanentDrawing){
curtains.enableDrawing();
}
plane.tweenScale=trx_addons_tween_value( {
start: scaleFactor,
end: to,
time: 1.25,
callbacks: {
onUpdate: function(value){
scaleFactor=value;
if(scaleOnHover){
plane.textures&&plane.textures[0].setScale(1 + value / 12, 1 + value / 12);
}},
onComplete: function(){
trx_addons_tween_stop(plane.tweenScale);
plane.tweenScale=null;
if(! permanentDrawing){
curtains.disableDrawing();
}}
}});
}}
};
window.trx_addons_image_effects_callback_fish=function(curtains_global, elm, index, total){
var curtains=curtains_global ? curtains_global:null;
var mouseIn=false;
var mousePosition={
x: 0,
y: 0
};
var scaleOnHover=elm.getAttribute('data-image-effect-scale') > 0,
scaleFactor=0;
var activeImage=0;
var plane=null,
parent=null,
img_all=elm.querySelectorAll('img:not([class*="trx_addons_image_effects_"])'),
img=img_all.length > 1
? elm.querySelector('img:not([class*="avatar"]):not([class*="trx_addons_extended_taxonomy_img"])')
: elm.querySelector('img');
if(img){
if(img_all.length > 1){
jQuery(img).wrap('<div class="trx_addons_image_effects_holder"></div>');
}
parent=img.parentNode;
if(img_all.length==1){
parent.classList.add('trx_addons_image_effects_holder');
}
img.setAttribute('data-sampler', 'swapTexture');
if(img.getAttribute('decoding')=='async'){
img.setAttribute('decoding', 'sync');
}
var swap_url=elm.getAttribute('data-image-effect-swap-image');
if(swap_url){
var swap_img=document.createElement("img");
swap_img.setAttribute('src', swap_url);
swap_img.setAttribute('data-sampler', 'swap2Texture');
if(swap_img.getAttribute('decoding')=='async'){
swap_img.setAttribute('decoding', 'sync');
}
swap_img.classList.add('trx_addons_image_effects_swap_image');
parent.appendChild(swap_img);
$document.on('action.after_add_content', function(e, cont){
cont.find('.trx_addons_image_effects_swap_image').remove();
});
}
var displacement_url=elm.getAttribute('data-image-effect-displacement');
if(displacement_url){
var displacement_img=document.createElement("img");
displacement_img.setAttribute('src', displacement_url);
displacement_img.setAttribute('data-sampler', 'swapDisplacement');
if(displacement_img.getAttribute('decoding')=='async'){
displacement_img.setAttribute('decoding', 'sync');
}
displacement_img.classList.add('trx_addons_image_effects_swap_displacement');
parent.appendChild(displacement_img);
$document.on('action.after_add_content', function(e, cont){
cont.find('.trx_addons_image_effects_swap_displacement').remove();
});
}
if(! globalCanvas){
curtains=create_canvas(parent);
if(curtains) jQuery(elm).data('curtains', curtains);
}
if(curtains){
if(! permanentDrawing) curtains.disableDrawing();
plane=curtains.addPlane(parent, get_params(elm, img, parent) );
if(plane){
jQuery(elm).data('curtains-plane', plane);
handle_plane(plane);
}}
}
function get_params(){
var vs=`
#ifdef GL_ES
precision mediump float;
#endif
attribute vec3 aVertexPosition;
attribute vec2 aTextureCoord;
uniform mat4 uMVMatrix;
uniform mat4 uPMatrix;
uniform mat4 swapTextureMatrix;
uniform mat4 swap2TextureMatrix;
varying vec3 vVertexPosition;
varying vec2 vTextureCoord;
varying vec2 vSwapTextureCoord;
varying vec2 vSwap2TextureCoord;
uniform float uTime;
void main(){
vec3 vertexPosition=aVertexPosition;
gl_Position=uPMatrix * uMVMatrix * vec4(vertexPosition, 1.0);
vTextureCoord=aTextureCoord;
vSwapTextureCoord=(swapTextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy;
vSwap2TextureCoord=(swap2TextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy;
vVertexPosition=vertexPosition;
}
`;
var fs=`
#ifdef GL_ES
precision mediump float;
#endif
varying vec3 vVertexPosition;
varying vec2 vTextureCoord;
varying vec2 vSwapTextureCoord;
varying vec2 vSwap2TextureCoord;
uniform float uPR;
uniform float uScale;
uniform float uEffect;
uniform float uTime;
uniform vec2 uRes;
uniform vec2 uMousePosition;
uniform sampler2D swapTexture;
uniform sampler2D swap2Texture;
uniform sampler2D swapDisplacement;
float circle(in vec2 _st, in float _radius, in float blurriness){
vec2 dist=_st;
return 1. - smoothstep(_radius -(_radius * blurriness), _radius +(_radius * blurriness), dot(dist, dist) * 4.0);
}
void main(void){
vec2 textureCoords=vTextureCoord;
vec2 res=uRes * uPR;
vec2 st=gl_FragCoord.xy / res.xy - vec2(0.5);
st.y *=uRes.y / uRes.x;
vec2 mouse=uMousePosition * -0.5;
mouse.y *=uRes.y / uRes.x;
vec2 circlePos=st + mouse;
float c=circle(circlePos, 0.3 * uScale, 2.);
vec4 displacementTexture=texture2D(swapDisplacement, textureCoords);
float displacementFactor=(1.0 - (cos(uTime / (60.0 / 3.141592)) + 1.0) / 2.0 * uEffect) * c;
vec2 effectFactor=vec2((textureCoords.x - 0.5) * 0.75 * uEffect, (textureCoords.y - 0.5) * 0.75 * uEffect);
vec2 firstDisplacementCoords=vec2(vSwapTextureCoord.x - displacementFactor * (displacementTexture.r * effectFactor.x), vSwapTextureCoord.y - displacementFactor * (displacementTexture.r * effectFactor.y));
vec2 secondDisplacementCoords=vec2(vSwap2TextureCoord.x - (1.0 - displacementFactor) * (displacementTexture.r * effectFactor.x), vSwap2TextureCoord.y - (1.0 - displacementFactor) * (displacementTexture.r * effectFactor.y));
vec4 firstDistortedColor=texture2D(swapTexture, firstDisplacementCoords);
vec4 secondDistortedColor=texture2D(swap2Texture, secondDisplacementCoords);
vec4 finalColor=mix(firstDistortedColor, secondDistortedColor, displacementFactor);
finalColor=vec4(finalColor.rgb * finalColor.a, finalColor.a);
gl_FragColor=finalColor;
}
`;
return {
vertexShader: vs,
fragmentShader: fs,
imageCover: false,
uniforms: {
mousePosition: {
name: "uMousePosition",
type: "2f",
value: [ mousePosition.x, mousePosition.y ]
},
imageResolution: {
name: "uRes",
type: "2f",
value: [ img.clientWidth, img.clientHeight ]
},
pixelRatio: {
name: "uPR",
type: "1f",
value: window.devicePixelRatio.toFixed(1)
},
scaleFactor: {
name: "uScale",
type: "1f",
value: 0
},
useEffect: {
name: "uEffect",
type: "1f",
value: displacement_url!='' ? 1:0
},
time: {
name: "uTime",
type: "1f",
value: 0
}}
};}
function handle_plane(plane){
plane
.onLoading(function(){
})
.onReady(function(){
if(! permanentDrawing) curtains.needRender();
plane.tweenScale=null;
function mouse_move(e){
if(! mouseIn){
mouse_enter();
}
handle_movement(e, plane);
}
function mouse_enter(){
if(! mouseIn){
mouseIn=true;
activeImage=1;
change_scale(1);
}}
function mouse_leave(){
if(mouseIn){
mouseIn=false;
activeImage=0;
change_scale(0);
}}
elm.addEventListener("mousemove",  mouse_move);
elm.addEventListener("touchmove",  mouse_move);
elm.addEventListener("mouseenter", mouse_enter);
elm.addEventListener("touchstart", mouse_enter);
elm.addEventListener("mouseleave", mouse_leave);
elm.addEventListener("touchend",   mouse_leave);
})
.onRender(function(){
plane.uniforms.time.value=activeImage==1 ? Math.min(60, plane.uniforms.time.value + 1):Math.max(0, plane.uniforms.time.value - 1);
})
.onAfterResize(function(){
});
function change_scale(to){
if(plane.tweenScale){
trx_addons_tween_stop(plane.tweenScale);
}
if(! permanentDrawing&&to==1){
curtains.enableDrawing();
}
plane.tweenScale=trx_addons_tween_value( {
start: scaleFactor,
end: to,
time: 1.25,
callbacks: {
onUpdate: function(value){
scaleFactor=value;
plane.uniforms.scaleFactor.value=value;
if(scaleOnHover){
plane.textures&&plane.textures[0].setScale(1 + value / 12, 1 + value / 12);
}},
onComplete: function(){
trx_addons_tween_stop(plane.tweenScale);
plane.tweenScale=null;
if(! permanentDrawing&&to==0){
curtains.disableDrawing();
}}
}});
}}
function handle_movement(e, plane){
var mouse=get_mouse_position_from_event(e);
mousePosition.x=trx_addons_lerp(mousePosition.x, mouse.x, 0.3);
mousePosition.y=trx_addons_lerp(mousePosition.y, mouse.y, 0.3);
var mouseCoords=globalCanvas
? plane.mouseToPlaneCoords(mousePosition.x, mousePosition.y)
: mouse_to_plane_coords(plane, mousePosition);
plane.uniforms.mousePosition.value=[mouseCoords.x, mouseCoords.y];
}};
window.trx_addons_image_effects_callback_blot=function(curtains_global, elm, index, total){
var curtains=curtains_global ? curtains_global:null;
var mouseIn=false;
var mousePosition={
x: 0,
y: 0
};
var scaleOnHover=elm.getAttribute('data-image-effect-scale') > 0,
scaleFactor=0,
tintColor=elm.getAttribute('data-image-effect-tint-color')||'';
var effectStrength=Math.max(5.0, Math.min(50.0, elm.getAttribute('data-image-effect-strength')||30.0) );
var wavesDirection=Math.max(0.0, Math.min(1.0, elm.getAttribute('data-image-effect-waves-direction')) );
var activeImage=0;
var plane=null,
parent=null,
img_all=elm.querySelectorAll('img:not([class*="trx_addons_image_effects_"])'),
img=img_all.length > 1
? elm.querySelector('img:not([class*="avatar"]):not([class*="trx_addons_extended_taxonomy_img"])')
: elm.querySelector('img');
if(img){
if(img_all.length > 1){
jQuery(img).wrap('<div class="trx_addons_image_effects_holder"></div>');
}
parent=img.parentNode;
if(img_all.length==1){
parent.classList.add('trx_addons_image_effects_holder');
}
img.setAttribute('data-sampler', 'swapTexture');
if(img.getAttribute('decoding')=='async'){
img.setAttribute('decoding', 'sync');
}
var swap_url=elm.getAttribute('data-image-effect-swap-image');
if(swap_url){
var swap_img=document.createElement("img");
swap_img.setAttribute('src', swap_url);
swap_img.setAttribute('data-sampler', 'swap2Texture');
if(swap_img.getAttribute('decoding')=='async'){
swap_img.setAttribute('decoding', 'sync');
}
swap_img.classList.add('trx_addons_image_effects_swap_image');
parent.appendChild(swap_img);
$document.on('action.after_add_content', function(e, cont){
cont.find('.trx_addons_image_effects_swap_image').remove();
});
}
if(! globalCanvas){
curtains=create_canvas(parent);
if(curtains) jQuery(elm).data('curtains', curtains);
}
if(curtains){
if(! permanentDrawing) curtains.disableDrawing();
plane=curtains.addPlane(parent, get_params(elm, img, parent) );
if(plane){
jQuery(elm).data('curtains-plane', plane);
handle_plane(plane);
}}
}
function get_params(){
var vs=`
#ifdef GL_ES
precision mediump float;
#endif
attribute vec3 aVertexPosition;
attribute vec2 aTextureCoord;
uniform mat4 uPMatrix;
uniform mat4 uMVMatrix;
uniform mat4 swapTextureMatrix;
uniform mat4 swap2TextureMatrix;
varying vec2 vTextureCoord;
varying vec2 vSwapTextureCoord;
varying vec2 vSwap2TextureCoord;
void main(){
vTextureCoord=aTextureCoord;
vSwapTextureCoord=(swapTextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy;
vSwap2TextureCoord=(swap2TextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy;
gl_Position=uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0);
}
`;
var fs=`
#ifdef GL_ES
precision mediump float;
#endif
varying vec2 vTextureCoord;
varying vec2 vSwapTextureCoord;
varying vec2 vSwap2TextureCoord;
uniform float uPR;
uniform float uScale;
uniform float uTint;
uniform float uWavesTime;
uniform float uTime;
uniform vec2 uRes;
uniform vec2 uMousePosition;
uniform vec3 uColor;
uniform sampler2D swapTexture;
uniform sampler2D swap2Texture;
uniform float uEffectStrength;
uniform float uWavesDirection;
vec3 permute3(vec3 x){
return mod((x*34.0+1.0)*x, 289.0);
}
float snoise2(vec2 v){
const vec4 C=vec4(0.211325, 0.366025, -0.57735, 0.02439);
vec2 i=floor(v + dot(v, C.yy)),
x0=v - i + dot(i, C.xx),
i1;
i1=x0.x > x0.y ? vec2(1.0, 0.0):vec2(0.0,1.0);
vec4 x12=x0.xyxy + C.xxzz;
x12.xy -=i1,
i=mod(i, 289.0);
vec3 p=permute3(permute3(i.y + vec3(0.0, i1.y, 1.0)) + i.x + vec3(0.0,i1.x, 1.0)),
m=max(0.5 - vec3(dot(x0, x0), dot(x12.xy, x12.xy), dot(x12.zw, x12.zw)), 0.0);
m=m * m, m=m * m;
vec3 x=2.0 * fract(p * C.www) - 1.0,
h=abs(x) - 0.5,
ox=floor(x + 0.5),
a0=x - ox;
m *=1.792843 - 0.853735 * (a0 * a0 + h * h);
vec3 g;
g.x=a0.x * x0.x + h.x * x0.y,
g.yz=a0.yz * x12.xz + h.yz * x12.yw;
return 130.0 * dot(m, g);
}
vec3 mod289(vec3 x){
return x - floor(x * (1.0 / 289.0)) * 289.0;
}
vec4 mod289(vec4 x){
return x - floor(x * (1.0 / 289.0)) * 289.0;
}
vec4 permute4(vec4 x){
return mod289(((x*34.0)+1.0)*x);
}
vec4 taylorInvSqrt(vec4 r){
return 1.79284291400159 - 0.85373472095314 * r;
}
float snoise3(vec3 v){
const vec2  C=vec2(1.0/6.0, 1.0/3.0) ;
const vec4  D=vec4(0.0, 0.5, 1.0, 2.0);
vec3 i=floor(v + dot(v, C.yyy));
vec3 x0=v - i + dot(i, C.xxx) ;
vec3 g=step(x0.yzx, x0.xyz);
vec3 l=1.0 - g;
vec3 i1=min(g.xyz, l.zxy);
vec3 i2=max(g.xyz, l.zxy);
vec3 x1=x0 - i1 + C.xxx;
vec3 x2=x0 - i2 + C.yyy;
vec3 x3=x0 - D.yyy;
i=mod289(i);
vec4 p=permute4(permute4(permute4(
i.z + vec4(0.0, i1.z, i2.z, 1.0))
+ i.y + vec4(0.0, i1.y, i2.y, 1.0))
+ i.x + vec4(0.0, i1.x, i2.x, 1.0));
float n_=0.142857142857;
vec3  ns=n_ * D.wyz - D.xzx;
vec4 j=p - 49.0 * floor(p * ns.z * ns.z);
vec4 x_=floor(j * ns.z);
vec4 y_=floor(j - 7.0 * x_);
vec4 x=x_ *ns.x + ns.yyyy;
vec4 y=y_ *ns.x + ns.yyyy;
vec4 h=1.0 - abs(x) - abs(y);
vec4 b0=vec4(x.xy, y.xy);
vec4 b1=vec4(x.zw, y.zw);
vec4 s0=floor(b0)*2.0 + 1.0;
vec4 s1=floor(b1)*2.0 + 1.0;
vec4 sh=-step(h, vec4(0.0));
vec4 a0=b0.xzyw + s0.xzyw*sh.xxyy ;
vec4 a1=b1.xzyw + s1.xzyw*sh.zzww ;
vec3 p0=vec3(a0.xy,h.x);
vec3 p1=vec3(a0.zw,h.y);
vec3 p2=vec3(a1.xy,h.z);
vec3 p3=vec3(a1.zw,h.w);
vec4 norm=taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));
p0 *=norm.x;
p1 *=norm.y;
p2 *=norm.z;
p3 *=norm.w;
vec4 m=max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0);
m=m * m;
return 42.0 * dot(m*m, vec4(dot(p0,x0), dot(p1,x1),
dot(p2,x2), dot(p3,x3)) );
}
float circle(in vec2 _st, in float _radius, in float blurriness){
vec2 dist=_st;
return 1. - smoothstep(_radius -(_radius * blurriness), _radius +(_radius * blurriness), dot(dist, dist) * 4.0);
}
void main(void){
vec2 v_uv=vTextureCoord;
vec2 v_sv=vSwapTextureCoord;
vec2 res=uRes * uPR;
vec2 st=gl_FragCoord.xy / res.xy - vec2(0.5);
st.y *=uRes.y / uRes.x;
vec2 mouse=uMousePosition * -0.5;
mouse.y *=uRes.y / uRes.x;
vec2 circlePos=st + mouse;
float c=circle(circlePos, 0.3 * uScale, 2.5) * 2.25;
float offx=v_uv.x + sin(v_uv.y + uTime * 0.1);
float offy=v_uv.y - uTime * 0.1 - cos(uTime * 0.001) * 0.01;
float n=snoise3(vec3(offx, offy, uTime * 0.1) * 8.0) - 1.0;
float finalMask=smoothstep(0.4, 0.5, n + pow(c, 2.0) );
const float PI=3.141592;
v_sv.x +=(
sin(v_sv.x * 10.0 *(2.0 - uWavesDirection) + ((uWavesTime * (PI / 3.0)) * 0.031))
+ sin(v_sv.y * 10.0 *(2.0 - uWavesDirection) + ((uWavesTime * (PI / 2.489)) * 0.017))
) / uEffectStrength /(2.5 + 1.5 * uWavesDirection) * uScale;
v_sv.y +=(
sin(v_sv.y * 20.0 /(2.0 - uWavesDirection) + ((uWavesTime * (PI / 2.023)) * 0.023))
+ sin(v_sv.x * 20.0 /(2.0 - uWavesDirection) + ((uWavesTime * (PI / 3.1254)) * 0.037))
) / uEffectStrength /(2.5 + 1.5 *(1.0 - uWavesDirection) ) * uScale;
vec4 imageColor=texture2D(swapTexture, v_sv);
vec4 hoverColor=texture2D(swap2Texture, vSwap2TextureCoord);
vec4 tint=vec4(uColor.r / 255.0, uColor.g / 255.0, uColor.b / 255.0, 1.0);
hoverColor=uTint > 0.0 ? mix(hoverColor, tint, 0.5):hoverColor;
gl_FragColor=mix(imageColor, hoverColor, finalMask);
}
`;
return {
vertexShader: vs,
fragmentShader: fs,
imageCover: false,
uniforms: {
mousePosition: {
name: "uMousePosition",
type: "2f",
value: [ mousePosition.x, mousePosition.y ]
},
imageResolution: {
name: "uRes",
type: "2f",
value: [ img.clientWidth, img.clientHeight ]
},
pixelRatio: {
name: "uPR",
type: "1f",
value: window.devicePixelRatio.toFixed(1)
},
scaleFactor: {
name: "uScale",
type: "1f",
value: 0
},
color: {
name: "uColor",
type: "3f",
value: tintColor ? trx_addons_rgb2components(tintColor):[0, 0, 0]
},
useColor: {
name: "uTint",
type: "1f",
value: tintColor ? 1:0
},
effectStrength: {
name: "uEffectStrength",
type: "1f",
value: effectStrength
},
wavesDirection: {
name: "uWavesDirection",
type: "1f",
value: wavesDirection
},
wavesTime: {
name: "uWavesTime",
type: "1f",
value: 0
},
time: {
name: "uTime",
type: "1f",
value: 0
}}
};}
function handle_plane(plane){
plane
.onLoading(function(){
})
.onReady(function(){
if(! permanentDrawing) curtains.needRender();
plane.tweenScale=null;
function mouse_move(e){
if(! mouseIn){
mouse_enter();
}
handle_movement(e, plane);
}
function mouse_enter(){
if(! mouseIn){
mouseIn=true;
activeImage=1;
change_scale(1);
}}
function mouse_leave(){
if(mouseIn){
mouseIn=false;
activeImage=0;
change_scale(0);
}}
elm.addEventListener("mousemove",  mouse_move);
elm.addEventListener("touchmove",  mouse_move);
elm.addEventListener("mouseenter", mouse_enter);
elm.addEventListener("touchstart", mouse_enter);
elm.addEventListener("mouseleave", mouse_leave);
elm.addEventListener("touchend",   mouse_leave);
})
.onRender(function(){
plane.uniforms.time.value +=0.01;
plane.uniforms.wavesTime.value++;
})
.onAfterResize(function(){
});
function change_scale(to){
if(plane.tweenScale){
trx_addons_tween_stop(plane.tweenScale);
}
if(! permanentDrawing&&to==1){
curtains.enableDrawing();
}
plane.tweenScale=trx_addons_tween_value( {
start: scaleFactor,
end: to,
time: 0.6,
callbacks: {
onUpdate: function(value){
scaleFactor=value;
plane.uniforms.scaleFactor.value=value;
if(scaleOnHover){
plane.textures&&plane.textures[0].setScale(1 + value / 12, 1 + value / 12);
}},
onComplete: function(){
trx_addons_tween_stop(plane.tweenScale);
plane.tweenScale=null;
if(! permanentDrawing&&to==0){
curtains.disableDrawing();
}}
}});
}}
function handle_movement(e, plane){
var mouse=get_mouse_position_from_event(e);
mousePosition.x=trx_addons_lerp(mousePosition.x, mouse.x, 0.3);
mousePosition.y=trx_addons_lerp(mousePosition.y, mouse.y, 0.3);
var mouseCoords=globalCanvas
? plane.mouseToPlaneCoords(mousePosition.x, mousePosition.y)
: mouse_to_plane_coords(plane, mousePosition);
plane.uniforms.mousePosition.value=[mouseCoords.x, mouseCoords.y];
}};
window.trx_addons_image_effects_callback_scroller=function(curtains_global, elm, index, total){
var curtains=curtains_global ? curtains_global:null;
var mouseIn=false;
var scaleOnHover=elm.getAttribute('data-image-effect-scale') > 0,
scaleFactor=0;
var scrollDirection=0,
scrollY=-1;
var effectStrength=60 - Math.max(5.0, Math.min(50.0, elm.getAttribute('data-image-effect-strength')||30) ),
effectDirection=elm.getAttribute('data-image-effect-waves-direction')||0;
var plane=null,
parent=null,
img_all=elm.querySelectorAll('img:not([class*="trx_addons_image_effects_"])'),
img=img_all.length > 1
? elm.querySelector('img:not([class*="avatar"]):not([class*="trx_addons_extended_taxonomy_img"])')
: elm.querySelector('img');
if(img){
if(img_all.length > 1){
jQuery(img).wrap('<div class="trx_addons_image_effects_holder"></div>');
}
parent=img.parentNode;
if(img_all.length==1){
parent.classList.add('trx_addons_image_effects_holder');
}
img.setAttribute('data-sampler', 'scrollerTexture');
if(img.getAttribute('decoding')=='async'){
img.setAttribute('decoding', 'sync');
}
if(! globalCanvas){
curtains=create_canvas(parent);
if(curtains) jQuery(elm).data('curtains', curtains);
}
if(curtains){
plane=curtains.addPlane(parent, get_params(elm, img, parent) );
if(plane){
jQuery(elm).data('curtains-plane', plane);
handle_plane(plane);
}}
}
function get_params(elm, img, parent){
var vs=`
#ifdef GL_ES
precision mediump float;
#endif
attribute vec3 aVertexPosition;
attribute vec2 aTextureCoord;
uniform mat4 uMVMatrix, uPMatrix;
uniform float uScrollSpeed;
uniform float uEffectStrength;
uniform float uEffectDirection;
uniform float uPadding;
uniform mat4 scrollerTextureMatrix;
varying vec3 vVertexPosition;
varying vec2 vScrollerTextureCoord;
void main(){
vec3 vertexPosition=aVertexPosition;
if(uEffectDirection > 0.0){
vertexPosition.x +=sin(( vertexPosition.y + 1.0) * 3.141592) * sin(uScrollSpeed * 3.141592) * 0.05 *(uEffectStrength / 30.0);
}else{
vertexPosition.y +=sin(( vertexPosition.x + 1.0) / 2.0 * 3.141592) * sin(uScrollSpeed * 3.141592) * 0.05 *(uEffectStrength / 30.0);
}
vVertexPosition=vertexPosition;
gl_Position=uPMatrix * uMVMatrix * vec4(vertexPosition, 1.0 + uPadding *(uEffectStrength / 30.0) );
vScrollerTextureCoord=(scrollerTextureMatrix * vec4(aTextureCoord, 0.0, 1.0) ).xy;
}
`;
var fs=`
#ifdef GL_ES
precision mediump float;
#endif
varying vec2 vScrollerTextureCoord;
uniform sampler2D scrollerTexture;
void main(){
vec2 textureCoord=vScrollerTextureCoord;
gl_FragColor=texture2D(scrollerTexture, textureCoord);
}
`;
return {
vertexShader: vs,
fragmentShader: fs,
widthSegments: 10,
heightSegments: 10,
uniforms: {
padding: {
name: "uPadding",
type: "1f",
value: trx_addons_apply_filters('trx_addons_filter_image_effects_padding', 0.05, 'scroller')
},
effectStrength: {
name: "uEffectStrength",
type: "1f",
value: effectStrength
},
effectDirection: {
name: "uEffectDirection",
type: "1f",
value: effectDirection
},
scrollSpeed: {
name: "uScrollSpeed",
type: "1f",
value: 0
}}
};}
function handle_plane(plane){
plane
.onReady(function(){
plane.tween=null;
plane.tweenScale=null;
var scrollBusy=false,
clear_scroll_busy=trx_addons_throttle(function(){
scrollBusy=false;
}, 300, true);
function scroll_get(){
return(typeof window.scrollY!='undefined' ? window.scrollY:window.pageYOffset)||0;
}
function scroll_start(e){
clear_scroll_busy();
if(scrollY < 0){
scrollY=scroll_get();
}else if(! scrollDirection){
var scrollNew=scroll_get();
scrollDirection=scrollNew > scrollY ? 1:-1;
scrollBusy=true;
change_scroll(1);
}}
window.addEventListener("scroll",  scroll_start);
function mouse_move(e){
if(! mouseIn){
mouse_enter();
}}
function mouse_enter(){
if(! mouseIn){
mouseIn=true;
change_scale(1);
}}
function mouse_leave(){
if(mouseIn){
mouseIn=false;
change_scale(0);
}}
elm.addEventListener("mousemove",  mouse_move);
elm.addEventListener("touchmove",  mouse_move);
elm.addEventListener("mouseenter", mouse_enter);
elm.addEventListener("touchstart", mouse_enter);
elm.addEventListener("mouseleave", mouse_leave);
elm.addEventListener("touchend",   mouse_leave);
})
.onRender(function(){
});
}
function change_scroll(to){
if(plane.tween){
trx_addons_tween_stop(plane.tween);
}
plane.tween=trx_addons_tween_value( {
start: plane.uniforms.scrollSpeed.value,
end: to,
time: 1.5,
callbacks: {
onUpdate: function(value){
plane.uniforms.scrollSpeed.value=value * scrollDirection;
},
onComplete: function(){
scrollDirection=0;
scrollY=-1;
plane.uniforms.scrollSpeed.value=0;
trx_addons_tween_stop(plane.tween);
plane.tween=null;
}}
});
}
function change_scale(to){
if(plane.tweenScale){
trx_addons_tween_stop(plane.tweenScale);
}
if(! permanentDrawing&&to==1){
curtains.enableDrawing();
}
plane.tweenScale=trx_addons_tween_value( {
start: scaleFactor,
end: to,
time: 1.0,
callbacks: {
onUpdate: function(value){
scaleFactor=value;
if(scaleOnHover){
plane.textures&&plane.textures[0].setScale(1 + value / 12, 1 + value / 12);
}},
onComplete: function(){
trx_addons_tween_stop(plane.tweenScale);
plane.tweenScale=null;
}}
});
}};})();
(function(){
"use strict";
var requestAnimationFrame=trx_addons_request_animation_frame();
var mouseX=null, mouseY=null,
realX=null, realY=null,
destX=[0,0,0,0,0,0,0,0,0,0],
destY=[0,0,0,0,0,0,0,0,0,0];
var mouse_helper_timeout=0,
mouse_helper_target=null,
mouse_helper_last_target=null,
mouse_helper_action='',
mouse_helper_last_action='',
mouse_helper_callback='',
mouse_helper_axis='xy',
mouse_helper_delay=1,
mouse_helper_smooth=true;
var mouse_helper_original_styles=[ {}, {}, {}, {}, {}, {}, {}, {}, {}, {} ];
var $window=jQuery(window),
$document=jQuery(document),
$body=jQuery('body'),
$mouse_helper=jQuery('.trx_addons_mouse_helper');
if($mouse_helper.eq(0).hasClass('trx_addons_mouse_helper_smooth') ){
mouse_helper_smooth=true;
}
var $mouse_helper_targets,
$mouse_helper_magnets;
$document.on('action.got_ajax_response', update_jquery_links);
$document.on('action.init_hidden_elements', update_jquery_links);
var first_run=true;
function update_jquery_links(e){
if(first_run&&e && e.namespace=='init_hidden_elements'){
first_run=false;
return;
}
$mouse_helper_targets=jQuery('[data-mouse-helper]');
$mouse_helper_magnets=jQuery('[data-mouse-helper-magnet]:not([data-mouse-helper-magnet="0"])');
}
update_jquery_links();
$document.on('action.init_trx_addons', function(){
if(TRX_ADDONS_STORAGE['mouse_helper'] > 0&&$mouse_helper.length > 0&&requestAnimationFrame){
$mouse_helper.each(function(idx){
mouse_helper_original_styles[ idx ]={
blend_mode:	$mouse_helper.eq(idx).css('mix-blend-mode'),
color:		$mouse_helper.eq(idx).css('color'),
bg_color:	$mouse_helper.eq(idx).css('background-color'),
bd_color:	$mouse_helper.eq(idx).css('border-color'),
bd_width:	$mouse_helper.eq(idx).css('border-width'),
bd_style:	$mouse_helper.eq(idx).css('border-style')
};});
mouse_helper_delay=TRX_ADDONS_STORAGE['mouse_helper_delay'];
var pointermove_allowed=false;
$document
.on('mousemove pointermove', function(e){
if(e.originalEvent.type=='pointermove'){
pointermove_allowed=true;
}
if(e.originalEvent.type=='mousemove'&&pointermove_allowed){
return;
}
trx_addons_mouse_helper_get_state(e);
if(mouse_helper_callback&&typeof window[mouse_helper_callback]=='function'){
window[mouse_helper_callback]('mousemove', $mouse_helper, mouse_helper_target, e);
}else if(typeof window['trx_addons_mouse_helper_callback_' + mouse_helper_action]=='function'){
window['trx_addons_mouse_helper_callback_' + mouse_helper_action]('mousemove', $mouse_helper, mouse_helper_target, e);
}
if(mouse_helper_action=='highlight'&&mouse_helper_target){
var targetOffset=mouse_helper_target.offset(),
targetX=targetOffset.left - trx_addons_window_scroll_left(),
targetY=targetOffset.top - trx_addons_window_scroll_top(),
size=parseFloat(mouse_helper_target.css('background-size').split(' ')[0]) / 2;
mouse_helper_target.css('background-position',(mouseX - targetX - size) + 'px ' +(mouseY - targetY - size) + 'px');
}
if(trx_addons_window_width() >=TRX_ADDONS_STORAGE['mobile_breakpoint_mousehelper_off']){
if(mouse_helper_delay < 2){
destX.fill(mouseX);
destY.fill(mouseY);
$mouse_helper.css("transform", "translate(" + destX[0] + "px," + destY[0] + "px)");
}
if(mouseX > trx_addons_window_width() - 100){
if(! $mouse_helper.hasClass('trx_addons_mouse_helper_left') ){
$mouse_helper.addClass('trx_addons_mouse_helper_left');
}}else{
if($mouse_helper.hasClass('trx_addons_mouse_helper_left') ){
$mouse_helper.removeClass('trx_addons_mouse_helper_left');
}}
if(mouseY > trx_addons_window_height() - 100){
if(! $mouse_helper.hasClass('trx_addons_mouse_helper_top') ){
$mouse_helper.addClass('trx_addons_mouse_helper_top');
}}else{
if($mouse_helper.hasClass('trx_addons_mouse_helper_top') ){
$mouse_helper.removeClass('trx_addons_mouse_helper_top');
}}
trx_addons_mouse_helper_check_magnets();
}})
.on("mouseenter", '[data-mouse-helper]', function(e){
e.stopPropagation();
var $self=jQuery(this).addClass('trx_addons_mouse_helper_over');
mouse_helper_target=mouse_helper_last_target=$self;
mouse_helper_action=mouse_helper_last_action=$self.data('mouse-helper');
if(trx_addons_window_width() >=TRX_ADDONS_STORAGE['mobile_breakpoint_mousehelper_off']){
mouse_helper_reset();
if(mouse_helper_timeout){
clearTimeout(mouse_helper_timeout);
mouse_helper_timeout=0;
}}
mouse_helper_callback=$self.data('mouse-helper-callback');
if(mouse_helper_callback===undefined){
mouse_helper_callback='';
}
if(mouse_helper_callback&&typeof window[mouse_helper_callback]=='function'){
window[mouse_helper_callback]('mouseenter', $mouse_helper, $self, e);
}else if(typeof window['trx_addons_mouse_helper_callback_' + mouse_helper_action]=='function'){
window['trx_addons_mouse_helper_callback_' + mouse_helper_action]('mouseenter', $mouse_helper, $self, e);
}
mouse_helper_axis=$self.data('mouse-helper-axis');
if(mouse_helper_axis===undefined){
mouse_helper_axis='xy';
}
mouse_helper_delay=$self.data('mouse-helper-delay');
if(mouse_helper_delay===undefined){
mouse_helper_delay=TRX_ADDONS_STORAGE['mouse_helper_delay'];
}
trx_addons_mouse_helper_get_state(e);
if(trx_addons_window_width() >=TRX_ADDONS_STORAGE['mobile_breakpoint_mousehelper_off']){
var classes=$self.data("mouse-helper-class")||'';
if(classes){
$mouse_helper.addClass(classes);
}
var hide=$self.data("mouse-helper-hide-helper")||'';
if(hide){
$mouse_helper.addClass('trx_addons_mouse_helper_hide');
}
var pos=(TRX_ADDONS_STORAGE['mouse_helper_centered'] > 0&&($self.data("mouse-helper-centered")===undefined||$self.data("mouse-helper-centered")==='') )
|| $self.data("mouse-helper-centered") > 0
|| '';
$mouse_helper.toggleClass('trx_addons_mouse_helper_centered', pos > 0);
var mode=$self.data("mouse-helper-mode")||'';
if(mode){
$mouse_helper.css('mix-blend-mode', mode);
}
var color=$self.data("mouse-helper-color")||'';
if(color){
$mouse_helper.css('color', color);
}
var bg_color=$self.data("mouse-helper-bg-color")||'';
if(bg_color){
$mouse_helper.css('background-color', bg_color);
}
var bd_color=$self.data("mouse-helper-bd-color")||'';
if(bd_color){
$mouse_helper.css('border-color', bd_color);
}
var bd_width=$self.data("mouse-helper-bd-width");
if(bd_width===undefined){
bd_width='';
}
if(bd_width!==''&&bd_width >=0){
$mouse_helper.css({
'border-width': bd_width + 'px',
'border-style': bd_width > 0 ? 'solid':'none'
});
}
var img=$self.data("mouse-helper-image")||'';
if(img){
$mouse_helper.eq(0)
.find('.trx_addons_mouse_helper_image').remove();
$mouse_helper.eq(0)
.append('<span class="trx_addons_mouse_helper_image" style="background-image:url(' + img + ');"></span>')
.addClass("trx_addons_mouse_helper_with_image");
}
var icon=$self.data("mouse-helper-icon")||'';
if(icon&&icon!='none'){
var icon_color=$self.data("mouse-helper-icon-color")||'',
icon_size=$self.data("mouse-helper-icon-size")||'';
$mouse_helper.eq(0)
.find('.trx_addons_mouse_helper_icon').remove().end()
.append('<span class="trx_addons_mouse_helper_icon ' + icon + '"'
+ ' style="'
+(icon_color ? 'color: ' + icon_color + ';':'')
+(icon_size ? 'font-size: ' + icon_size + 'em;':'')
+ '"'
+'></span>')
.addClass('trx_addons_mouse_helper_with_icon');
}
var text=$self.data("mouse-helper-text")||'',
text_round=$self.data("mouse-helper-text-round") > 0||false,
text_size=$self.data("mouse-helper-text-size")||'';
if(text){
$mouse_helper.eq(0)
.find('.trx_addons_mouse_helper_text').remove().end()
.append('<span class="trx_addons_mouse_helper_text' +(text_round ? ' trx_addons_mouse_helper_text_round':'') + '"'
+(text_size ? ' style="font-size:' + text_size + 'em;"':'')
+ '>'
+(text_round ? trx_addons_wrap_chars(text, '<span class="trx_addons_mouse_helper_text_round_item">', '</span>'):text)
+ '</span>')
.addClass('trx_addons_mouse_helper_with_text' +(text_round ? ' trx_addons_mouse_helper_with_text_round':'') );
if(text_round){
var rtl=$body.hasClass('rtl');
setTimeout(function(){
var text_wrap=$mouse_helper.eq(0).find('.trx_addons_mouse_helper_text'),
items=text_wrap.find('.trx_addons_mouse_helper_text_round_item');
if(items.length > 0){
var r=Math.ceil(text_wrap.width() / 2),
a=0,
hide=false;
items.each(function(idx){
if(hide){
items.eq(idx).hide();
}else{
if(a >=(rtl ? 310:330) ){
items.eq(idx).html('&hellip;');
hide=true;
}
var x=r + r * Math.sin(a / 180 * Math.PI),
y=r - r * Math.cos(a / 180 * Math.PI),
css={
'transform': 'rotate(' +(rtl ? -a:a) + 'deg)',
'top':  y + 'px'
};
if(rtl){
css.right=x + 'px';
}else{
css.left=x + 'px';
}
items.eq(idx).css(css);
a +=2 * Math.asin(( items.eq(idx).width() +(rtl ? 3:4) ) /(2 * r) ) * 180 / Math.PI;
}});
}}, 350);
}}
var layout=$self.data("mouse-helper-layout")||'';
if(layout){
$mouse_helper.eq(0)
.find('.trx_addons_mouse_helper_layout').remove().end()
.append('<span class="trx_addons_mouse_helper_layout">' + layout + '</span>')
.addClass('trx_addons_mouse_helper_with_layout');
}
var obj_type=$self.data('element_type')||'';
if(obj_type==='widget'){
obj_type=$self.data('widget_type')||'';
}
if(obj_type===''){
if($self.hasClass('slider_container') ){
obj_type='slider';
}}else{
obj_type=obj_type.split('.')[0];
}
if(obj_type!==''){
$mouse_helper.eq(0).addClass('trx_addons_mouse_helper_over_element_' + obj_type);
}
$mouse_helper.addClass("trx_addons_mouse_helper_active trx_addons_mouse_helper_action_" + mouse_helper_action);
}})
.on("mouseleave", '[data-mouse-helper]', function(e){
e.stopPropagation();
if(mouse_helper_callback&&typeof window[mouse_helper_callback]=='function'){
window[mouse_helper_callback]('mouseleave', $mouse_helper, mouse_helper_target, e);
mouse_helper_callback='';
}else if(typeof window['trx_addons_mouse_helper_callback_' + mouse_helper_action]=='function'){
window['trx_addons_mouse_helper_callback_' + mouse_helper_action]('mouseleave', $mouse_helper, mouse_helper_target, e);
}
$mouse_helper.removeClass('trx_addons_mouse_helper_click'
+ ' trx_addons_mouse_helper_action_' + mouse_helper_action
);
if(mouse_helper_target){
mouse_helper_target.removeClass('trx_addons_mouse_helper_over');
var classes=mouse_helper_target.data("mouse-helper-class")||'';
if(classes){
$mouse_helper.removeClass(classes);
}}
mouse_helper_target=null;
mouse_helper_action='';
mouse_helper_axis='xy';
mouse_helper_delay=TRX_ADDONS_STORAGE['mouse_helper_delay'];
if(trx_addons_window_width() >=TRX_ADDONS_STORAGE['mobile_breakpoint_mousehelper_off']){
mouse_helper_timeout=setTimeout(function(){
mouse_helper_reset();
}, mouse_helper_smooth ? 10:0);
}
if(e.relatedTarget){
var newTarget=jQuery(e.relatedTarget);
if(! newTarget.data('mouse-helper')){
newTarget=newTarget.parents('[data-mouse-helper]').eq(0);
}
if(newTarget.length > 0&&newTarget.data('mouse-helper')){
setTimeout(function(){
newTarget.trigger('mouseenter');
}, 0);
}}
})
.on("mousedown swiper_touch_start", '[data-mouse-helper]', function(e){
var $self=jQuery(this);
$mouse_helper.addClass('trx_addons_mouse_helper_click');
mouse_helper_callback=$self.data('mouse-helper-callback');
if(mouse_helper_callback===undefined){
mouse_helper_callback='';
}
if(mouse_helper_callback&&typeof window[mouse_helper_callback]=='function'){
window[mouse_helper_callback]('mousedown', $mouse_helper, $self, e);
}else if(typeof window['trx_addons_mouse_helper_callback_' + mouse_helper_action]=='function'){
window['trx_addons_mouse_helper_callback_' + mouse_helper_action]('mousedown', $mouse_helper, $self, e);
}})
.on("mouseup swiper_touch_end", '[data-mouse-helper]', function(e){
var $self=jQuery(this);
$mouse_helper.removeClass('trx_addons_mouse_helper_click');
mouse_helper_callback=$self.data('mouse-helper-callback');
if(mouse_helper_callback===undefined){
mouse_helper_callback='';
}
if(mouse_helper_callback&&typeof window[mouse_helper_callback]=='function'){
window[mouse_helper_callback]('mouseup', $mouse_helper, $self, e);
}else if(typeof window['trx_addons_mouse_helper_callback_' + mouse_helper_action]=='function'){
window['trx_addons_mouse_helper_callback_' + mouse_helper_action]('mouseup', $mouse_helper, $self, e);
}});
var mouse_helper_links=trx_addons_apply_filters(
'trx_addons_filter_mouse_helper_links',
'a,button,input[type="button"],input[type="submit"],input[type="reset"]'
);
$document
.on("mouseenter", mouse_helper_links, function(e){
$mouse_helper.addClass("trx_addons_mouse_helper_over_link");
})
.on("mouseleave", mouse_helper_links, function(e){
$mouse_helper.removeClass("trx_addons_mouse_helper_over_link");
});
var mouse_helper_reset=function(){
$mouse_helper.eq(0).addClass('trx_addons_mouse_helper_reset');
setTimeout(function(){
$mouse_helper.eq(0).removeClass('trx_addons_mouse_helper_reset');
},     $mouse_helper.eq(0).hasClass('trx_addons_mouse_helper_with_icon')
|| $mouse_helper.eq(0).hasClass('trx_addons_mouse_helper_with_text')
|| $mouse_helper.eq(0).hasClass('trx_addons_mouse_helper_with_image')
|| $mouse_helper.eq(0).hasClass('trx_addons_mouse_helper_with_layout')
||(mouse_helper_target&&(
mouse_helper_target.data('mouse-helper-icon')
|| mouse_helper_target.data('mouse-helper-text')
|| mouse_helper_target.data('mouse-helper-image')
|| mouse_helper_target.data('mouse-helper-layout')
))
?(mouse_helper_smooth ? 500:0)
:(mouse_helper_smooth ? 50:0)
);
$mouse_helper.eq(0)
.attr('class', trx_addons_chg_class_by_prefix($mouse_helper.attr('class'), 'trx_addons_mouse_helper_over_element_', '') );
var $inner_elements=$mouse_helper.eq(0).find('.trx_addons_mouse_helper_image,.trx_addons_mouse_helper_text,.trx_addons_mouse_helper_icon,.trx_addons_mouse_helper_layout');
if($inner_elements.length > 0){
if(true){
$inner_elements.remove();
}else{
$inner_elements
.addClass('trx_addons_mouse_helper_reset_item')
.animate({
opacity: 0,
height: 0,
width: 0
},
mouse_helper_smooth ? 500:0,
function(){
var $self=jQuery(this);
if($self.hasClass('trx_addons_mouse_helper_reset_item')){
$self.remove();
}});
}}
$mouse_helper
.removeClass('trx_addons_mouse_helper_active'
+ ' trx_addons_mouse_helper_hide'
+ ' trx_addons_mouse_helper_with_icon'
+ ' trx_addons_mouse_helper_with_text'
+ ' trx_addons_mouse_helper_with_text_round'
+ ' trx_addons_mouse_helper_with_image'
+ ' trx_addons_mouse_helper_with_layout'
)
.toggleClass('trx_addons_mouse_helper_centered', TRX_ADDONS_STORAGE['mouse_helper_centered'] > 0);
$mouse_helper.each(function(idx){
$mouse_helper.eq(idx).css({
'mix-blend-mode': mouse_helper_original_styles[idx].blend_mode,
'color': mouse_helper_original_styles[idx].color,
'background-color': mouse_helper_original_styles[idx].bg_color,
'border-color': mouse_helper_original_styles[idx].bd_color,
'border-width': mouse_helper_original_styles[idx].bd_width,
'border-style': mouse_helper_original_styles[idx].bd_style
});
});
if(mouse_helper_callback&&typeof window[mouse_helper_callback]=='function'){
window[mouse_helper_callback]('reset', $mouse_helper, mouse_helper_last_target, null);
mouse_helper_callback='';
}else if(typeof window['trx_addons_mouse_helper_callback_' + mouse_helper_last_action]=='function'){
window['trx_addons_mouse_helper_callback_' + mouse_helper_last_action]('reset', $mouse_helper, mouse_helper_last_target, e);
}};
var mouse_helper_move=function(){
cancelAnimationFrame(mouse_helper_move);
if(trx_addons_window_width() >=TRX_ADDONS_STORAGE['mobile_breakpoint_mousehelper_off']&&null!==mouseX&&mouse_helper_delay > 1){
$mouse_helper.each(function(idx){
if(destX[idx]!=mouseX||destY[idx]!=mouseY){
if($mouse_helper.eq(idx).hasClass('trx_addons_mouse_helper_permanent')||$mouse_helper.eq(idx).hasClass('trx_addons_mouse_helper_active') ){
var delay=($mouse_helper.eq(idx).data('delay')||0) * 1 + mouse_helper_delay * 1;
destX[idx] +=(mouseX - destX[idx]) / delay;
destY[idx] +=(mouseY - destY[idx]) / delay;
}else{
destX[idx]=mouseX;
destY[idx]=mouseY;
}
$mouse_helper.eq(idx).css("transform", "translate(" + destX[idx] + "px," + destY[idx] + "px)");
}});
}
requestAnimationFrame(mouse_helper_move);
};
requestAnimationFrame(mouse_helper_move);
function trx_addons_mouse_helper_get_state(e){
if(e.clientX===undefined) return;
realX=e.clientX + trx_addons_window_scroll_left();
realY=e.clientY + trx_addons_window_scroll_top();
if(mouse_helper_axis.indexOf('x')!=-1) mouseX=e.clientX;
if(mouse_helper_axis.indexOf('y')!=-1) mouseY=e.clientY;
}
function trx_addons_mouse_helper_check_magnets(){
$mouse_helper_magnets.each(function(){
var item=jQuery(this),
inner=item.children(),
koef=item.data('mouse-helper-magnet-velocity') ? item.data('mouse-helper-magnet-velocity'):1,
delta=item.data('mouse-helper-magnet') * koef;
var data, cx, cy, iw, ih, ix, iy, near;
requestAnimationFrame(control_item);
function control_item(){
var off=item.offset();
cx=realX;
cy=realY;
iw=item.width();
ih=item.height();
ix=off.left + iw / 2;
iy=off.top + ih / 2;
near=Math.abs(ix - cx) < iw * koef&&Math.abs(iy - cy) < ih * koef;
if(near){
! item.hasClass('trx_addons_mouse_helper_near')&&move_item();
requestAnimationFrame(control_item);
}else{
item.hasClass('trx_addons_mouse_helper_near')&&reset_item();
}}
function move_item(){
item.addClass('trx_addons_mouse_helper_near');
var d=get_closest_position(),
dx=d.x,
dy=d.y,
nx=0,
ny=0;
transform_item();
function transform_item(){
var d=get_closest_position();
nx +=(d.x - dx) / 5;
ny +=(d.y - dy) / 5;
nx.toFixed(2)!==dx.toFixed(2) &&
inner.css({
'transition': 'none',
'transform':  'translate3d(' + nx + 'px, ' + ny + 'px, 0)'
});
dx=nx;
dy=ny;
requestAnimationFrame(function (){
near&&transform_item();
});
}
function get_closest_position(){
return {
x: Math.abs(cx - ix) < delta ? cx - ix:delta * (cx - ix) / Math.abs(cx - ix),
y: Math.abs(cy - iy) < delta ? cy - iy:delta * (cy - iy) / Math.abs(cy - iy)
};}}
function reset_item(){
item.removeClass('trx_addons_mouse_helper_near');
inner
.css({
'transition': 'transform 0.5s',
'transform':  'translate3d(0px, 0px, 0px)'
})
.one(typeof window.trx_addons_transition_end!='undefined' ? trx_addons_transition_end():'transitionend', function (){
inner.css({
'transition': 'none'
});
});
}});
}}
});
$document.on('action.build_page_toc', function(){
jQuery('#toc_menu .toc_menu_item').each(function(){
if(trx_addons_apply_filters('trx_addons_filter_mouse_helper_on_toc', TRX_ADDONS_STORAGE['mouse_helper'] > 0) ){
var $self=jQuery(this),
title=$self.attr('title')||$self.find('.toc_menu_description_title').text();
$self.attr({
'data-mouse-helper': 'hover',
'data-mouse-helper-axis': 'y',
'data-mouse-helper-text': TRX_ADDONS_STORAGE['msg_mouse_helper_anchor'] +(title ? ' ' + title:'')
});
}});
});
})();
jQuery(document).ready(function(){
"use strict";
var $window=jQuery(window),
$document=jQuery(document),
$body=jQuery('body');
$document.on('action.init_hidden_elements', function(e, cont){
jQuery('.sc_services_qw-panel .sc_services_item:not(.switch_qw_panel_inited)').addClass('switch_qw_panel_inited').each(function(){
var $self=jQuery(this);
var $text=$self.find('.sc_services_item_text');
$self.on('mouseenter', function(){
var num=$self.data('item-number'),
$posts=$self.parents('.sc_item_posts_container'),
$old_panel=$posts.find('.sc_qw_panel_thumb_active').removeClass('sc_qw_panel_thumb_active'),
$new_panel=$posts.find('.sc_qw_panel_thumb[data-thumb-number="' + num + '"]').addClass('sc_qw_panel_thumb_active');
$document.trigger('action.init_hidden_elements', [$new_panel]);
});
function assign_hover($self, $text){
$self
.off('.qw-panel')
.on('mouseenter.qw-panel', function(){
if($text.css('display')=='none'){
$text.stop().slideDown(300);
}})
.on('mouseleave.qw-panel', function(){
$text.stop().slideUp(300);
});
}
var reassign_hover=trx_addons_throttle(function(){
assign_hover($self, $text);
}, 1100);
assign_hover($self, $text);
$document.on('action.resize_trx_addons', function(){
reassign_hover($self, $text);
});
});
cont.find('.sc_testimonials_masonry_wrap').each(function(){
var testimonials=jQuery(this);
if(testimonials.parents('div:hidden,article:hidden').length > 0) return;
if(! testimonials.hasClass('inited') ){
trx_addons_when_images_loaded(testimonials, function(){
setTimeout(function(){
testimonials.masonry({
itemSelector: '.sc_testimonials_masonry_item',
columnWidth: '.sc_testimonials_masonry_item',
percentPosition: true
});
testimonials.addClass('inited');
jQuery(window).trigger('resize');
jQuery(window).trigger('scroll');
}, 10);
});
}else{
}});
});
trx_addons_add_filter('trx_addons_filter_slider_init_args', function($param, $init){
if($init.parents('.slider_width_auto').length > 0){
$param.slidesPerView='auto';
}
return $param;
});
jQuery('.sc_portfolio_qw-case:not(.qw_case_inited)').addClass('qw_case_inited').each(function(){
var items=jQuery(this).find('.sc_portfolio_item');
items.first().addClass('is-active');
items.each(function(){
var $item=jQuery(this);
$item.off('.qw-case')
.on('mouseenter.qw-case', function(){
items.removeClass('is-active');
$item.addClass('is-active');
});
});
});
});
jQuery(document).on('action.ready_trx_addons', function(){
"use strict";
var USE_OBSERVERS=trx_addons_apply_filters('trx_addons_filter_use_observers_to_fix_rows', true)
&& typeof IntersectionObserver!='undefined';
var $document=jQuery(document),
$body=jQuery('body');
function get_id(row){
return row.attr('id') ? row.attr('id'):row.attr('data-id');
}
if(! TRX_ADDONS_STORAGE['pagebuilder_preview_mode']&&! $body.hasClass('sc_layouts_row_fixed_inited') ){
var rows=jQuery('.sc_layouts_row_fixed'),
rows_always=rows.filter('.sc_layouts_row_fixed_always'),
rows_delayed=rows.filter('.sc_layouts_row_delay_fixed'),
last_scroll_offset=-1;
if(rows.length > 0){
rows.each(function(idx){
var row=rows.eq(idx);
if(row.hasClass('sc_layouts_row_hide_unfixed') ){
if(! row.prev().hasClass('sc_layouts_row_unfixed_placeholder')){
row.before('<div class="sc_layouts_row_unfixed_placeholder">'
+(USE_OBSERVERS ? '<div class="sc_layouts_row_fixed_marker_on"></div>':'')
+ '</div>');
}}
var row_next=row.next();
if(! row_next.hasClass('sc_layouts_row_fixed_placeholder') ){
if(row_next.hasClass('vc_row-full-width') ){
row_next
.addClass('sc_layouts_row_fixed_placeholder')
.css('background-color', row.css('background-color') )
.append('<div class="sc_layouts_row_fixed_marker_off"></div>');
}else{
row.after('<div class="sc_layouts_row_fixed_placeholder" style="background-color:' + row.css('background-color') + ';"><div class="sc_layouts_row_fixed_marker_off"></div></div>');
}
if(USE_OBSERVERS&&! row.hasClass('sc_layouts_row_hide_unfixed') ){
row.append('<div class="sc_layouts_row_fixed_marker_on"></div>');
}}
});
var timedFix=trx_addons_throttle(function(){
trx_addons_cpt_layouts_fix_rows( {
rows: rows,
rows_always: rows_always
});
last_scroll_offset=trx_addons_window_scroll_top();
}, 150);
$document
.on('action.scroll_trx_addons', function(){
trx_addons_cpt_layouts_hide_fixed_rows();
if(! USE_OBSERVERS){
trx_addons_cpt_layouts_fix_rows( {
rows: rows,
rows_always: rows_always
});
last_scroll_offset=trx_addons_window_scroll_top();
}else{
timedFix();
}})
.on('action.resize_trx_addons', function(){
trx_addons_cpt_layouts_check_mobile_breakpoint();
trx_addons_cpt_layouts_hide_fixed_rows();
trx_addons_cpt_layouts_fix_rows( {
rows: rows,
rows_always: rows_always,
resize: true
});
});
if(USE_OBSERVERS){
var fixed_rows_observe=function(){
rows.each(function(idx){
var row=rows.eq(idx);
var delay=trx_addons_cpt_layouts_fix_rows_delay(row);
var marker_off=row.next().find('>.sc_layouts_row_fixed_marker_off');
var marker_on=row.hasClass('sc_layouts_row_hide_unfixed')
? row.prev().find('>.sc_layouts_row_fixed_marker_on')
: row.find('>.sc_layouts_row_fixed_marker_on');
var observer=row.data('trx-addons-fixed-observer');
if(observer){
if(marker_off.length) observer.unobserve(marker_off.get(0));
if(marker_on.length) observer.unobserve(marker_on.get(0));
observer.disconnect();
observer=null;
}
if(row.css('display')=='none'&&! row.hasClass('sc_layouts_row_hide_unfixed') ){
return;
}
if(trx_addons_window_width() < TRX_ADDONS_STORAGE['mobile_breakpoint_fixedrows_off']
&& ! row.hasClass('sc_layouts_row_fixed_always')
){
return;
}
var row_height=row.hasClass('sc_layouts_row_hide_unfixed') ? 0:row.outerHeight();
observer=new IntersectionObserver(function(entries){
var time=new Date().getTime();
entries.forEach(function(entry){
var marker=jQuery(entry.target),
parent=marker.parent(),
row=parent;
if(parent.hasClass('sc_layouts_row_unfixed_placeholder') ){
row=row.next();
}else if(parent.hasClass('sc_layouts_row_fixed_placeholder') ){
row=row.prev();
}
var animation_off_timeout=trx_addons_cpt_layouts_fix_rows_off_timeout(delay, row);
var last_fixed_time=row.data('trx-addons-last-fixed-time')||0;
if(row.hasClass('sc_layouts_row_fixed_on')&&entry.isIntersecting){
if(time - last_fixed_time > animation_off_timeout
&& entry.boundingClientRect
&& entry.rootBounds
&& entry.boundingClientRect.top >=entry.rootBounds.top
){
if(! row.hasClass('sc_layouts_row_fixed_animation_off') ){
trx_addons_cpt_layouts_fix_rows( {
rows: rows,
rows_always: rows_always,
force_row: row,
force_state: 'off'
});
}}
}else if(! row.hasClass('sc_layouts_row_fixed_on')&&! entry.isIntersecting){
if(time - last_fixed_time > animation_off_timeout
&& entry.boundingClientRect
&& entry.rootBounds
&& entry.boundingClientRect.bottom < entry.rootBounds.top
){
trx_addons_cpt_layouts_fix_rows( {
rows: rows,
rows_always: rows_always,
force_row: row,
force_state: 'on'
});
}}
});
}, {
root: null,
rootMargin:(delay - trx_addons_fixed_rows_height() +(! $body.hasClass('hide_fixed_rows')&&row.hasClass('sc_layouts_row_fixed_on') ? row_height:0) ) + 'px 0px 0px 0px',
threshold: 0
}
);
var marker=row.hasClass('sc_layouts_row_fixed_on') ? marker_off:marker_on;
observer.observe(marker.get(0));
row.data('trx-addons-fixed-observer', observer);
});
};
$document.on('action.sc_layouts_row_fixed_on action.sc_layouts_row_fixed_off', fixed_rows_observe);
fixed_rows_observe();
}
$body.addClass('sc_layouts_row_fixed_inited');
}}
function trx_addons_cpt_layouts_fix_rows_delay(row){
var delay=0;
if(row.hasClass('sc_layouts_row_delay_fixed') ){
var coef=row.data('fixed-row-delay');
if(coef&&('' + coef).indexOf('px') > 0){
delay=Math.max(0, parseInt(coef, 10) );
}else{
if(! coef||isNaN(coef)||coef <=0){
coef=3 / 4;
}
delay=Math.max(0, trx_addons_window_height() * coef);
}}
return trx_addons_apply_filters('trx_addons_filter_fixed_rows_delay', delay);
}
function trx_addons_cpt_layouts_fix_rows_off_timeout(delay, $row){
var timeout=delay > 0 ? getComputedStyle($row.get(0)).getPropertyValue('--trx-addons-fixed-rows-duration')||undefined:0;
if(timeout==undefined){
timeout=300;
}
if(('' + timeout).indexOf('ms') > 0){
timeout=parseInt(timeout, 10);
}else if(('' + timeout).indexOf('s') > 0){
timeout=parseFloat(timeout) * 1000;
}
return trx_addons_apply_filters('trx_addons_filter_sc_layouts_row_fixed_off_timeout',
delay > 0 ? timeout:0,
delay
);
}
function trx_addons_cpt_layouts_hide_fixed_rows(){
if(TRX_ADDONS_STORAGE['hide_fixed_rows'] > 0&&! window.trx_addons_document_animate_to_busy){
var scroll_delta=50;
var scroll_offset=trx_addons_window_scroll_top();
if(last_scroll_offset >=0){
var event='';
if(scroll_offset > last_scroll_offset + scroll_delta){
if(scroll_offset > trx_addons_window_height() *(rows_delayed.length > 0 ? 1.5:0.6667)&&! $body.hasClass('hide_fixed_rows') ){
$body.addClass('hide_fixed_rows');
event='off';
}}else if(scroll_offset < last_scroll_offset - scroll_delta||last_scroll_offset > 0&&scroll_offset==0){
if($body.hasClass('hide_fixed_rows') ){
$body.removeClass('hide_fixed_rows');
event='on';
}}
if(event){
$document.trigger('action.sc_layouts_row_fixed_' + event, [ rows.filter('.sc_layouts_row_fixed_on') ]);
}}
}}
function trx_addons_cpt_layouts_check_mobile_breakpoint(){
if(trx_addons_window_width() < TRX_ADDONS_STORAGE['mobile_breakpoint_fixedrows_off']){
rows.each(function(idx){
var row=rows.eq(idx);
if(! row.hasClass('sc_layouts_row_fixed_always') ){
row.removeClass('sc_layouts_row_fixed_on').css({ 'top': 'auto' });
}});
}}
function trx_addons_cpt_layouts_fix_rows(args){
var rows=args.rows,
rows_always=args.rows_always,
resize=args.resize||false,
force_row=args.force_row||null,
force_state=args.force_state||'';
if(trx_addons_window_width() < TRX_ADDONS_STORAGE['mobile_breakpoint_fixedrows_off']){
if(rows_always.length===0){
return;
}else{
rows=rows_always;
}}
var scroll_offset=trx_addons_window_scroll_top(),
scroll_intent=last_scroll_offset >=0 ? last_scroll_offset - scroll_offset:0;
var rows_offset=trx_addons_adminbar_height();
rows.each(function(idx){
var row=rows.eq(idx);
var placeholder=row.next();
var h=row.outerHeight();
if(( row.css('display')=='none'||h===0)&&! row.hasClass('sc_layouts_row_hide_unfixed') ){
placeholder.height(0);
return;
}
var ph=row.hasClass('sc_layouts_row_fixed_on') ? placeholder.outerHeight():0;
var row_unfixed_placeholder=row.hasClass('sc_layouts_row_hide_unfixed') ? row.prev():false;
var delay=trx_addons_cpt_layouts_fix_rows_delay(row);
var animation_off_timeout=trx_addons_cpt_layouts_fix_rows_off_timeout(delay, row);
var time=new Date().getTime();
var last_fixed_time=row.data('trx-addons-last-fixed-time')||0;
if(time - last_fixed_time < animation_off_timeout){
return;
}
var offset=parseInt(row.hasClass('sc_layouts_row_fixed_on')||row.hasClass('sc_layouts_row_fixed_on_pre')
? placeholder.offset().top
:(row.hasClass('sc_layouts_row_hide_unfixed')
? row_unfixed_placeholder.offset().top
: row.offset().top
),
10);
if(isNaN(offset) ){
offset=0;
}
if(scroll_intent > 1
&&(( force_state=='off'&&row.is(force_row) )
||(! force_state
&&(scroll_offset + rows_offset <=offset + delay
||(scroll_offset==0&&last_scroll_offset > 0)
|| h - ph < -2
)
&&(! row.hasClass('sc_layouts_row_fixed_from_start')||scroll_offset > 0)
)
)
){
if(row.hasClass('sc_layouts_row_fixed_on') ){
row.data('trx-addons-last-fixed-time', time);
if(animation_off_timeout > 0){
row.addClass('sc_layouts_row_fixed_animation_off');
}
setTimeout(function(){
var ph=placeholder.outerHeight();
row
.removeClass('sc_layouts_row_fixed_on'
+(animation_off_timeout > 0 ? ' sc_layouts_row_fixed_animation_off':'') )
.css({ 'top': 'auto' });
var h=row.outerHeight();
if(ph!=h&&! row.hasClass('sc_layouts_row_hide_unfixed') ){
ph=h;
placeholder.height(h);
}
$document.trigger('action.sc_layouts_row_fixed_off', [ row ]);
}, animation_off_timeout);
}}else{
if(! row.hasClass('sc_layouts_row_fixed_on') ){
if(scroll_intent <=0	
&&(( force_state=='on'&&row.is(force_row) )
|| scroll_offset + rows_offset > offset + delay
)
){
var fixed_class='sc_layouts_row_fixed_on' +(! row.hasClass('sc_layouts_row_fixed_from_start')&&scroll_offset==0&&scroll_intent==0 ? '_pre':'');
if(! row.hasClass(fixed_class) ){
if(! row.hasClass('sc_layouts_row_hide_unfixed') ){
ph=h;
placeholder.height(ph);
}
row.addClass('sc_layouts_row_fixed_on' +(! row.hasClass('sc_layouts_row_fixed_from_start')&&scroll_offset==0&&scroll_intent==0 ? '_pre':'') )
.css({ 'top': rows_offset + 'px' });
h=row.outerHeight();
if(ph!=h&&! row.hasClass('sc_layouts_row_hide_unfixed') ){
ph=h;
placeholder.height(h);
}
if(fixed_class=='sc_layouts_row_fixed_on'){
row.data('trx-addons-last-fixed-time', time);
$document.trigger('action.sc_layouts_row_fixed_on', [ row ]);
}}
}else if(resize){
h=row.outerHeight();
if(ph!=h&&! row.hasClass('sc_layouts_row_hide_unfixed') ){
ph=h;
placeholder.height(h);
}}
}else if(resize&&row.hasClass('sc_layouts_row_fixed_on')&&row.offset().top!=rows_offset){
row.css({ 'top': rows_offset + 'px' });
}
if(row.css('display')!='none'){
rows_offset +=h;
}}
if(force_state&&row.is(force_row) ){
force_state='';
force_row=null;
}});
}});
jQuery(document).ready(function(){
"use strict";
var $window=jQuery(window),
$document=jQuery(document),
$body=jQuery('body');
$document.on('action.init_hidden_elements', function(e, container){
var toc_menu=jQuery('#toc_menu');
if(toc_menu.length===0){
trx_addons_build_page_toc();
toc_menu=jQuery('#toc_menu');
if(toc_menu.length===0) return;
}else if(toc_menu.hasClass('inited')){
return;
}
toc_menu.addClass('inited');
var toc_menu_items=toc_menu.find('.toc_menu_item');
jQuery('.toc_menu_item > a').on('click', function(e){
var link_obj=jQuery(this),
href=link_obj.attr('href'),
pos=href.indexOf('#');
if(pos >=0&&href.length > 1&&trx_addons_is_local_link(href)){
e.preventDefault();
$document.trigger('action.trx_addons_inner_links_click', [link_obj, e]);
trx_addons_scroll_to_anchor(jQuery(this), true);
return false;
}});
var wheel_busy=false,
wheel_time=0,
wheel_stop=false;
if(TRX_ADDONS_STORAGE['scroll_to_anchor']==1&&!TRX_ADDONS_STORAGE['scroll_to_anchor_wheel']){
TRX_ADDONS_STORAGE['scroll_to_anchor_wheel']=true;
$document.on('action.stop_wheel_handlers', function(e){
wheel_stop=true;
});
$document.on('action.start_wheel_handlers', function(e){
wheel_stop=false;
});
window.addEventListener('mousewheel', trx_addons_mouse_wheel, { passive: false });
$window.on('DOMMouseScroll', trx_addons_mouse_wheel);
}
function trx_addons_mouse_wheel(e){
if(screen.width < 960||trx_addons_window_width() < 960||wheel_stop||trx_addons_browser_is_ios()){
return true;
}
if(wheel_busy||wheel_time==e.timeStamp){
e.preventDefault();
return false;
}
wheel_time=e.timeStamp;
var wheel_dir=e.originalEvent
? e.originalEvent.wheelDelta > 0||e.originalEvent.detail < 0 ? -1:1
: e.wheelDelta > 0||e.detail < 0 ? -1:1;
toc_menu_items=jQuery('#toc_menu .toc_menu_item');
var items=trx_addons_detect_active_toc(true);
if(items){
var doit=false;
var scroll_offset=parseInt(trx_addons_window_scroll_top(), 10);
var wh=trx_addons_window_height();
var ah=trx_addons_fixed_rows_height();
if(wheel_dir==-1){
doit=true;
setTimeout(function(){
if(items.prev >=0&&items.prevOffset >=scroll_offset-wh-ah){
trx_addons_scroll_to_anchor(toc_menu_items.eq(items.prev).find('a'), false);
}else{
trx_addons_document_animate_to(Math.max(0, scroll_offset-wh));
}}, 10);
}else{
doit=true;
setTimeout(function(){
if(items.next >=0&&items.nextOffset <=scroll_offset+wh+ah){
trx_addons_scroll_to_anchor(toc_menu_items.eq(items.next).find('a'), false);
}else{
trx_addons_document_animate_to(Math.min(trx_addons_document_height(), scroll_offset+wh) );
}}, 10);
}
if(doit){
wheel_busy=true;
setTimeout(function(){ wheel_busy=false; }, trx_addons_browser_is_ios() ? 1200:100);
e.preventDefault();
return false;
}}
}
var last_scroll_offset=-1;
function trx_addons_detect_active_toc(force){
var scroll_offset=parseInt(trx_addons_window_scroll_top(), 10);
if(!force&&scroll_offset==last_scroll_offset){
return false;
}else{
last_scroll_offset=scroll_offset;
}
var items={
loc: '',
current: [],
prev: -1,
prevOffset: -1,
next: -1,
nextOffset: -1
};
toc_menu_items.each(function(idx){
var id='#'+jQuery(this).data('id');
var pos=id.indexOf('#');
if(pos < 0||id.length==1) return;
var href=jQuery(this).find('a').attr('href');
if(!trx_addons_is_local_link(href)||jQuery(id).length==0) return;
var off=jQuery(id).offset().top;
var id_next=jQuery(this).next().find('a').attr('href');
var off_next=id_next&&idx < toc_menu_items.length-1&&jQuery(id_next).length > 0 
? parseInt(jQuery(id_next).offset().top, 10)
: 1000000;
if(off > scroll_offset + trx_addons_fixed_rows_height() + 20){
if(items.next < 0){
items.next=idx;
items.nextOffset=off;
}}else if(off < scroll_offset - trx_addons_fixed_rows_height() - 20){
items.prev=idx;
items.prevOffset=off;
}
if(off < scroll_offset + trx_addons_window_height()*0.8&&scroll_offset < off_next - trx_addons_fixed_rows_height()){
items.current.push(idx);
if(items.loc==''){
var loc=window.location.href;
var loc_pos=loc.indexOf('#');
if(loc_pos > 0) loc=loc.substring(0, loc_pos);
items.loc=href.indexOf('#')==0 ? loc + id:id;
}}
});
return items;
}
$document.on('action.scroll_trx_addons', function(){
trx_addons_mark_active_toc();
});
setTimeout(function(){
trx_addons_mark_active_toc();
}, 500);
trx_addons_mark_active_toc();
function trx_addons_mark_active_toc(){
var items=trx_addons_detect_active_toc();
if(items){
toc_menu_items.removeClass('toc_menu_item_active');
for (var i=0; i<items.current.length; i++){
toc_menu_items.eq(items.current[i]).addClass('toc_menu_item_active');
if(items.loc!==''&&TRX_ADDONS_STORAGE['update_location_from_anchor']==1&&!trx_addons_browser_is_mobile()&&!trx_addons_browser_is_ios()&&!wheel_busy){
trx_addons_document_set_location(items.loc);
}}
$document.trigger('action.toc_menu_item_active', [items.current]);
}}
function trx_addons_scroll_to_anchor(link_obj, click_event){
var href=click_event ? link_obj.attr('href'):'#'+link_obj.parent().data('id');
var pos=href.indexOf('#');
if(pos >=0&&href.length > 1&&trx_addons_is_local_link(href)){
wheel_busy=true;
setTimeout(function(){ wheel_busy=false; }, trx_addons_browser_is_ios() ? 1200:100);
trx_addons_document_animate_to(href.substr(pos), function(){
if(TRX_ADDONS_STORAGE['update_location_from_anchor']==1){
var loc=window.location.href;
var loc_pos=loc.indexOf('#');
if(loc_pos > 0) loc=loc.substring(0, loc_pos);
trx_addons_document_set_location(pos==0 ? loc + href:href);
}});
return true;
}
return false;
}
function trx_addons_build_page_toc(){
var toc='', toc_count=0;
jQuery('[id^="toc_menu_"],.sc_anchor').each(function(idx){
var obj=jQuery(this);
var obj_id=obj.attr('id')||('sc_anchor_' + trx_addons_get_unique_id());
var row=obj.closest('.wpb_row,.elementor-row,.elementor-section').eq(0);
if(row.length==0) row = !obj.parent().hasClass('entry-content') ? obj.parent():obj;
var row_id=row.length>0&&row.attr('id')!==undefined&&row.attr('id')!=='' ? row.attr('id'):'';
var id=row_id||obj_id.substr(10);
if(row.length>0&&row_id==''){
row.attr('id', id);
}
var url=obj.data('url');
var icon=obj.data('vc-icon')||'toc_menu_icon_default';
var title=obj.attr('title');
var description=obj.data('description');
var separator=obj.data('separator');
toc_count++;
toc +='<div class="toc_menu_item' + (separator=='yes' ? ' toc_menu_separator':'') + '"'
+ ' data-id="' + id + '"'
+ '>'
+ (title||description
? '<a href="' + (url ? url:'#'+id) + '" class="toc_menu_description">'
+ (title ? '<span class="toc_menu_description_title">' + title + '</span>':'')
+ (description ? '<span class="toc_menu_description_text">' + description + '</span>':'')
+ '</a>'
: '')
+ '<a href="' + (url ? url:'#'+id) + '" class="toc_menu_icon '+icon+'"></a>'
+ '</div>';
});
if(toc_count > 0){
$body.append('<div id="toc_menu" class="toc_menu"><div class="toc_menu_inner">'+toc+'</div></div>');
$document.trigger('action.build_page_toc');
}}
});
});
(function(){
var initializing=false;
window.JQClass=function(){};
JQClass.classes={};
JQClass.extend=function extender(prop){
var base=this.prototype;
initializing=true;
var prototype=new this();
initializing=false;
for (var name in prop){
prototype[name]=typeof prop[name]=='function' &&
typeof base[name]=='function' ?
(function(name, fn){
return function(){
var __super=this._super;
this._super=function(args){
return base[name].apply(this, args||[]);
};
var ret=fn.apply(this, arguments);
this._super=__super;
return ret;
};})(name, prop[name]) :
prop[name];
}
function JQClass(){
if(!initializing&&this._init){
this._init.apply(this, arguments);
}}
JQClass.prototype=prototype;
JQClass.prototype.constructor=JQClass;
JQClass.extend=extender;
return JQClass;
};})();
(function($){
JQClass.classes.JQPlugin=JQClass.extend({
name: 'plugin',
defaultOptions: {},
regionalOptions: {},
_getters: [],
_getMarker: function(){
return 'is-' + this.name;
},
_init: function(){
$.extend(this.defaultOptions, (this.regionalOptions&&this.regionalOptions[''])||{});
var jqName=camelCase(this.name);
$[jqName]=this;
$.fn[jqName]=function(options){
var otherArgs=Array.prototype.slice.call(arguments, 1);
if($[jqName]._isNotChained(options, otherArgs)){
return $[jqName][options].apply($[jqName], [this[0]].concat(otherArgs));
}
return this.each(function(){
if(typeof options==='string'){
if(options[0]==='_'||!$[jqName][options]){
throw 'Unknown method: ' + options;
}
$[jqName][options].apply($[jqName], [this].concat(otherArgs));
}else{
$[jqName]._attach(this, options);
}});
};},
setDefaults: function(options){
$.extend(this.defaultOptions, options||{});
},
_isNotChained: function(name, otherArgs){
if(name==='option'&&(otherArgs.length===0 ||
(otherArgs.length===1&&typeof otherArgs[0]==='string'))){
return true;
}
return $.inArray(name, this._getters) > -1;
},
_attach: function(elem, options){
elem=$(elem);
if(elem.hasClass(this._getMarker())){
return;
}
elem.addClass(this._getMarker());
options=$.extend({}, this.defaultOptions, this._getMetadata(elem), options||{});
var inst=$.extend({name: this.name, elem: elem, options: options},
this._instSettings(elem, options));
elem.data(this.name, inst);
this._postAttach(elem, inst);
this.option(elem, options);
},
/** Retrieve additional instance settings.
Override this in a sub-class to provide extra settings.
@param elem {jQuery} The current jQuery element.
@param options {object} The instance options.
@return {object} Any extra instance values.
@example _instSettings: function(elem, options){
return {nav: elem.find(options.navSelector)};} */
_instSettings: function(elem, options){
return {};},
/** Plugin specific post initialisation.
Override this in a sub-class to perform extra activities.
@param elem {jQuery} The current jQuery element.
@param inst {object} The instance settings.
@example _postAttach: function(elem, inst){
elem.on('click.' + this.name, function(){
...
});
} */
_postAttach: function(elem, inst){
},
_getMetadata: function(elem){
try {
var data=elem.data(this.name.toLowerCase())||'';
data=data.replace(/'/g, '"');
data=data.replace(/([a-zA-Z0-9]+):/g, function(match, group, i){
var count=data.substring(0, i).match(/"/g);
return (!count||count.length % 2===0 ? '"' + group + '":':group + ':');
});
data=$.parseJSON('{' + data + '}');
for (var name in data){
var value=data[name];
if(typeof value==='string'&&value.match(/^new Date\((.*)\)$/)){
data[name]=eval(value);
}}
return data;
}
catch (e){
return {};}},
_getInst: function(elem){
return $(elem).data(this.name)||{};},
option: function(elem, name, value){
elem=$(elem);
var inst=elem.data(this.name);
if(!name||(typeof name==='string'&&value==null)){
var options=(inst||{}).options;
return (options&&name ? options[name]:options);
}
if(!elem.hasClass(this._getMarker())){
return;
}
var options=name||{};
if(typeof name==='string'){
options={};
options[name]=value;
}
this._optionsChanged(elem, inst, options);
$.extend(inst.options, options);
},
/** Plugin specific options processing.
Old value available in <code>inst.options[name]</code>, new value in <code>options[name]</code>.
Override this in a sub-class to perform extra activities.
@param elem {jQuery} The current jQuery element.
@param inst {object} The instance settings.
@param options {object} The new options.
@example _optionsChanged: function(elem, inst, options){
if(options.name!=inst.options.name){
elem.removeClass(inst.options.name).addClass(options.name);
}} */
_optionsChanged: function(elem, inst, options){
},
destroy: function(elem){
elem=$(elem);
if(!elem.hasClass(this._getMarker())){
return;
}
this._preDestroy(elem, this._getInst(elem));
elem.removeData(this.name).removeClass(this._getMarker());
},
/** Plugin specific pre destruction.
Override this in a sub-class to perform extra activities and undo everything that was
done in the <code>_postAttach</code> or <code>_optionsChanged</code> functions.
@param elem {jQuery} The current jQuery element.
@param inst {object} The instance settings.
@example _preDestroy: function(elem, inst){
elem.off('.' + this.name);
} */
_preDestroy: function(elem, inst){
}});
function camelCase(name){
return name.replace(/-([a-z])/g, function(match, group){
return group.toUpperCase();
});
}
$.JQPlugin={
/** Create a new collection plugin.
@memberof "$.JQPlugin"
@param [superClass='JQPlugin'] {string} The name of the parent class to inherit from.
@param overrides {object} The property/function overrides for the new class.
@example $.JQPlugin.createPlugin({
name: 'tabs',
defaultOptions: {selectedClass: 'selected'},
_initSettings: function(elem, options){ return {...};},
_postAttach: function(elem, inst){ ... }});*/
createPlugin: function(superClass, overrides){
if(typeof superClass==='object'){
overrides=superClass;
superClass='JQPlugin';
}
superClass=camelCase(superClass);
var className=camelCase(overrides.name);
JQClass.classes[className]=JQClass.classes[superClass].extend(overrides);
new JQClass.classes[className]();
}};})(jQuery);
(function($){
var pluginName='countdown';
var Y=0;
var O=1;
var W=2;
var D=3;
var H=4;
var M=5;
var S=6;
$.JQPlugin.createPlugin({
name: pluginName,
/** Default settings for the plugin.
@property until {Date|number|string} The date/time to count down to, or number of seconds
offset from now, or string of amounts and units for offset(s) from now:
'Y' years, 'O' months, 'W' weeks, 'D' days, 'H' hours, 'M' minutes, 'S' seconds.
@example until: new Date(2013, 12-1, 25, 13, 30)
until: +300
until: '+1O -2D'
@property [since] {Date|number|string} The date/time to count up from, or
number of seconds offset from now, or string for unit offset(s):
'Y' years, 'O' months, 'W' weeks, 'D' days, 'H' hours, 'M' minutes, 'S' seconds.
@example since: new Date(2013, 1-1, 1)
since: -300
since: '-1O +2D'
@property [timezone=null] {number} The timezone (hours or minutes from GMT) for the target times,
or null for client local timezone.
@example timezone: +10
timezone: -60
@property [serverSync=null] {serverSyncCallback} A function to retrieve the current server time
for synchronisation.
@property [format='dHMS'] {string} The format for display - upper case for always, lower case only if non-zero,
'Y' years, 'O' months, 'W' weeks, 'D' days, 'H' hours, 'M' minutes, 'S' seconds.
@property [layout=''] {string} Build your own layout for the countdown.
@example layout: '{d<}{dn} {dl}{d>} {hnn}:{mnn}:{snn}'
@property [compact=false] {boolean} True to display in a compact format, false for an expanded one.
@property [padZeroes=false] {boolean} True to add leading zeroes
@property [significant=0] {number} The number of periods with non-zero values to show, zero for all.
@property [description=''] {string} The description displayed for the countdown.
@property [expiryUrl=''] {string} A URL to load upon expiry, replacing the current page.
@property [expiryText=''] {string} Text to display upon expiry, replacing the countdown. This may be HTML.
@property [alwaysExpire=false] {boolean} True to trigger <code>onExpiry</code> even if target time has passed.
@property [onExpiry=null] {expiryCallback} Callback when the countdown expires -
receives no parameters and <code>this</code> is the containing division.
@example onExpiry: function(){
...
}
@property [onTick=null] {tickCallback} Callback when the countdown is updated -
receives <code>number[7]</code> being the breakdown by period
(years, months, weeks, days, hours, minutes, seconds - based on
<code>format</code>) and <code>this</code> is the containing division.
@example onTick: function(periods){
var secs=$.countdown.periodsToSeconds(periods);
if(secs < 300){
...
}}
@property [tickInterval=1] {number} The interval (seconds) between <code>onTick</code> callbacks. */
defaultOptions: {
until: null,
since: null,
timezone: null,
serverSync: null,
format: 'dHMS',
layout: '',
compact: false,
padZeroes: false,
significant: 0,
description: '',
expiryUrl: '',
expiryText: '',
alwaysExpire: false,
onExpiry: null,
onTick: null,
tickInterval: 1
},
/** Localisations for the plugin.
Entries are objects indexed by the language code ('' being the default US/English).
Each object has the following attributes.
@property [labels=['Years','Months','Weeks','Days','Hours','Minutes','Seconds']] {string[]}
The display texts for the counter periods.
@property [labels1=['Year','Month','Week','Day','Hour','Minute','Second']] {string[]}
The display texts for the counter periods if they have a value of 1.
Add other <code>labels<em>n</em></code> attributes as necessary to
cater for other numeric idiosyncrasies of the localisation.
@property [compactLabels=['y','m','w','d']] {string[]} The compact texts for the counter periods.
@property [whichLabels=null] {whichLabelsCallback} A function to determine which
<code>labels<em>n</em></code> to use.
@example whichLabels: function(num){
return (num > 1 ? 0:1);
}
@property [digits=['0','1',...,'9']] {number[]} The digits to display (0-9).
@property [timeSeparator=':'] {string} Separator for time periods in the compact layout.
@property [isRTL=false] {boolean} True for right-to-left languages, false for left-to-right. */
regionalOptions: {
'': {
labels: ['Years', 'Months', 'Weeks', 'Days', 'Hours', 'Minutes', 'Seconds'],
labels1: ['Year', 'Month', 'Week', 'Day', 'Hour', 'Minute', 'Second'],
compactLabels: ['y', 'm', 'w', 'd'],
whichLabels: null,
digits: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
timeSeparator: ':',
isRTL: false
}},
_getters: ['getTimes'],
_rtlClass: pluginName + '-rtl',
_sectionClass: pluginName + '-section',
_amountClass: pluginName + '-amount',
_periodClass: pluginName + '-period',
_rowClass: pluginName + '-row',
_holdingClass: pluginName + '-holding',
_showClass: pluginName + '-show',
_descrClass: pluginName + '-descr',
_timerElems: [],
_init: function(){
var self=this;
this._super();
this._serverSyncs=[];
var now=(typeof Date.now=='function' ? Date.now :
function(){ return new Date().getTime(); });
var perfAvail=(window.performance&&typeof window.performance.now=='function');
function timerCallBack(timestamp){
var drawStart=(timestamp < 1e12 ?
(perfAvail ? (performance.now() + performance.timing.navigationStart):now()) :
timestamp||now());
if(drawStart - animationStartTime >=1000){
self._updateElems();
animationStartTime=drawStart;
}
requestAnimationFrame(timerCallBack);
}
var requestAnimationFrame=window.requestAnimationFrame ||
window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame||window.msRequestAnimationFrame||null;
var animationStartTime=0;
if(!requestAnimationFrame||$.noRequestAnimationFrame){
$.noRequestAnimationFrame=null;
setInterval(function(){ self._updateElems(); }, 980);
}else{
animationStartTime=window.animationStartTime ||
window.webkitAnimationStartTime||window.mozAnimationStartTime ||
window.oAnimationStartTime||window.msAnimationStartTime||now();
requestAnimationFrame(timerCallBack);
}},
UTCDate: function(tz, year, month, day, hours, mins, secs, ms){
if(typeof year=='object'&&year.constructor==Date){
ms=year.getMilliseconds();
secs=year.getSeconds();
mins=year.getMinutes();
hours=year.getHours();
day=year.getDate();
month=year.getMonth();
year=year.getFullYear();
}
var d=new Date();
d.setUTCFullYear(year);
d.setUTCDate(1);
d.setUTCMonth(month||0);
d.setUTCDate(day||1);
d.setUTCHours(hours||0);
d.setUTCMinutes((mins||0) - (Math.abs(tz) < 30 ? tz * 60:tz));
d.setUTCSeconds(secs||0);
d.setUTCMilliseconds(ms||0);
return d;
},
periodsToSeconds: function(periods){
return periods[0] * 31557600 + periods[1] * 2629800 + periods[2] * 604800 +
periods[3] * 86400 + periods[4] * 3600 + periods[5] * 60 + periods[6];
},
resync: function(){
var self=this;
$('.' + this._getMarker()).each(function(){
var inst=$.data(this, self.name);
if(inst.options.serverSync){
var serverSync=null;
for (var i=0; i < self._serverSyncs.length; i++){
if(self._serverSyncs[i][0]==inst.options.serverSync){
serverSync=self._serverSyncs[i];
break;
}}
if(serverSync[2]==null){
var serverResult=($.isFunction(inst.options.serverSync) ?
inst.options.serverSync.apply(this, []):null);
serverSync[2] =
(serverResult ? new Date().getTime() - serverResult.getTime():0) - serverSync[1];
}
if(inst._since){
inst._since.setMilliseconds(inst._since.getMilliseconds() + serverSync[2]);
}
inst._until.setMilliseconds(inst._until.getMilliseconds() + serverSync[2]);
}});
for (var i=0; i < self._serverSyncs.length; i++){
if(self._serverSyncs[i][2]!=null){
self._serverSyncs[i][1] +=self._serverSyncs[i][2];
delete self._serverSyncs[i][2];
}}
},
_instSettings: function(elem, options){
return {_periods: [0, 0, 0, 0, 0, 0, 0]};},
_addElem: function(elem){
if(!this._hasElem(elem)){
this._timerElems.push(elem);
}},
_hasElem: function(elem){
return ($.inArray(elem, this._timerElems) > -1);
},
_removeElem: function(elem){
this._timerElems=$.map(this._timerElems,
function(value){ return (value==elem ? null:value); });
},
_updateElems: function(){
for (var i=this._timerElems.length - 1; i >=0; i--){
this._updateCountdown(this._timerElems[i]);
}},
_optionsChanged: function(elem, inst, options){
if(options.layout){
options.layout=options.layout.replace(/&lt;/g, '<').replace(/&gt;/g, '>');
}
this._resetExtraLabels(inst.options, options);
var timezoneChanged=(inst.options.timezone!=options.timezone);
$.extend(inst.options, options);
this._adjustSettings(elem, inst,
options.until!=null||options.since!=null||timezoneChanged);
var now=new Date();
if((inst._since&&inst._since < now)||(inst._until&&inst._until > now)){
this._addElem(elem[0]);
}
this._updateCountdown(elem, inst);
},
_updateCountdown: function(elem, inst){
elem=elem.jquery ? elem:$(elem);
inst=inst||this._getInst(elem);
if(!inst){
return;
}
elem.html(this._generateHTML(inst)).toggleClass(this._rtlClass, inst.options.isRTL);
if($.isFunction(inst.options.onTick)){
var periods=inst._hold!='lap' ? inst._periods :
this._calculatePeriods(inst, inst._show, inst.options.significant, new Date());
if(inst.options.tickInterval==1 ||
this.periodsToSeconds(periods) % inst.options.tickInterval==0){
inst.options.onTick.apply(elem[0], [periods]);
}}
var expired=inst._hold!='pause' &&
(inst._since ? inst._now.getTime() < inst._since.getTime() :
inst._now.getTime() >=inst._until.getTime());
if(expired&&!inst._expiring){
inst._expiring=true;
if(this._hasElem(elem[0])||inst.options.alwaysExpire){
this._removeElem(elem[0]);
if($.isFunction(inst.options.onExpiry)){
inst.options.onExpiry.apply(elem[0], []);
}
if(inst.options.expiryText){
var layout=inst.options.layout;
inst.options.layout=inst.options.expiryText;
this._updateCountdown(elem[0], inst);
inst.options.layout=layout;
}
if(inst.options.expiryUrl){
window.location=inst.options.expiryUrl;
}}
inst._expiring=false;
}
else if(inst._hold=='pause'){
this._removeElem(elem[0]);
}},
_resetExtraLabels: function(base, options){
for (var n in options){
if(n.match(/[Ll]abels[02-9]|compactLabels1/)){
base[n]=options[n];
}}
for (var n in base){
if(n.match(/[Ll]abels[02-9]|compactLabels1/)&&typeof options[n]==='undefined'){
base[n]=null;
}}
},
_adjustSettings: function(elem, inst, recalc){
var serverEntry=null;
for (var i=0; i < this._serverSyncs.length; i++){
if(this._serverSyncs[i][0]==inst.options.serverSync){
serverEntry=this._serverSyncs[i][1];
break;
}}
if(serverEntry!=null){
var serverOffset=(inst.options.serverSync ? serverEntry:0);
var now=new Date();
}else{
var serverResult=($.isFunction(inst.options.serverSync) ?
inst.options.serverSync.apply(elem[0], []):null);
var now=new Date();
var serverOffset=(serverResult ? now.getTime() - serverResult.getTime():0);
this._serverSyncs.push([inst.options.serverSync, serverOffset]);
}
var timezone=inst.options.timezone;
timezone=(timezone==null ? -now.getTimezoneOffset():timezone);
if(recalc||(!recalc&&inst._until==null&&inst._since==null)){
inst._since=inst.options.since;
if(inst._since!=null){
inst._since=this.UTCDate(timezone, this._determineTime(inst._since, null));
if(inst._since&&serverOffset){
inst._since.setMilliseconds(inst._since.getMilliseconds() + serverOffset);
}}
inst._until=this.UTCDate(timezone, this._determineTime(inst.options.until, now));
if(serverOffset){
inst._until.setMilliseconds(inst._until.getMilliseconds() + serverOffset);
}}
inst._show=this._determineShow(inst);
},
_preDestroy: function(elem, inst){
this._removeElem(elem[0]);
elem.empty();
},
pause: function(elem){
this._hold(elem, 'pause');
},
lap: function(elem){
this._hold(elem, 'lap');
},
resume: function(elem){
this._hold(elem, null);
},
toggle: function(elem){
var inst=$.data(elem, this.name)||{};
this[!inst._hold ? 'pause':'resume'](elem);
},
toggleLap: function(elem){
var inst=$.data(elem, this.name)||{};
this[!inst._hold ? 'lap':'resume'](elem);
},
_hold: function(elem, hold){
var inst=$.data(elem, this.name);
if(inst){
if(inst._hold=='pause'&&!hold){
inst._periods=inst._savePeriods;
var sign=(inst._since ? '-':'+');
inst[inst._since ? '_since':'_until'] =
this._determineTime(sign + inst._periods[0] + 'y' +
sign + inst._periods[1] + 'o' + sign + inst._periods[2] + 'w' +
sign + inst._periods[3] + 'd' + sign + inst._periods[4] + 'h' +
sign + inst._periods[5] + 'm' + sign + inst._periods[6] + 's');
this._addElem(elem);
}
inst._hold=hold;
inst._savePeriods=(hold=='pause' ? inst._periods:null);
$.data(elem, this.name, inst);
this._updateCountdown(elem, inst);
}},
getTimes: function(elem){
var inst=$.data(elem, this.name);
return (!inst ? null:(inst._hold=='pause' ? inst._savePeriods:(!inst._hold ? inst._periods :
this._calculatePeriods(inst, inst._show, inst.options.significant, new Date()))));
},
_determineTime: function(setting, defaultTime){
var self=this;
var offsetNumeric=function(offset){
var time=new Date();
time.setTime(time.getTime() + offset * 1000);
return time;
};
var offsetString=function(offset){
offset=offset.toLowerCase();
var time=new Date();
var year=time.getFullYear();
var month=time.getMonth();
var day=time.getDate();
var hour=time.getHours();
var minute=time.getMinutes();
var second=time.getSeconds();
var pattern=/([+-]?[0-9]+)\s*(s|m|h|d|w|o|y)?/g;
var matches=pattern.exec(offset);
while (matches){
switch (matches[2]||'s'){
case 's': second +=parseInt(matches[1], 10); break;
case 'm': minute +=parseInt(matches[1], 10); break;
case 'h': hour +=parseInt(matches[1], 10); break;
case 'd': day +=parseInt(matches[1], 10); break;
case 'w': day +=parseInt(matches[1], 10) * 7; break;
case 'o':
month +=parseInt(matches[1], 10);
day=Math.min(day, self._getDaysInMonth(year, month));
break;
case 'y':
year +=parseInt(matches[1], 10);
day=Math.min(day, self._getDaysInMonth(year, month));
break;
}
matches=pattern.exec(offset);
}
return new Date(year, month, day, hour, minute, second, 0);
};
var time=(setting==null ? defaultTime :
(typeof setting=='string' ? offsetString(setting) :
(typeof setting=='number' ? offsetNumeric(setting):setting)));
if(time) time.setMilliseconds(0);
return time;
},
_getDaysInMonth: function(year, month){
return 32 - new Date(year, month, 32).getDate();
},
_normalLabels: function(num){
return num;
},
_generateHTML: function(inst){
var self=this;
inst._periods=(inst._hold ? inst._periods :
this._calculatePeriods(inst, inst._show, inst.options.significant, new Date()));
var shownNonZero=false;
var showCount=0;
var sigCount=inst.options.significant;
var show=$.extend({}, inst._show);
for (var period=Y; period <=S; period++){
shownNonZero |=(inst._show[period]=='?'&&inst._periods[period] > 0);
show[period]=(inst._show[period]=='?'&&!shownNonZero ? null:inst._show[period]);
showCount +=(show[period] ? 1:0);
sigCount -=(inst._periods[period] > 0 ? 1:0);
}
var showSignificant=[false, false, false, false, false, false, false];
for (var period=S; period >=Y; period--){
if(inst._show[period]){
if(inst._periods[period]){
showSignificant[period]=true;
}else{
showSignificant[period]=sigCount > 0;
sigCount--;
}}
}
var labels=(inst.options.compact ? inst.options.compactLabels:inst.options.labels);
var whichLabels=inst.options.whichLabels||this._normalLabels;
var showCompact=function(period){
var labelsNum=inst.options['compactLabels' + whichLabels(inst._periods[period])];
return (show[period] ? self._translateDigits(inst, inst._periods[period]) +
(labelsNum ? labelsNum[period]:labels[period]) + ' ':'');
};
var minDigits=(inst.options.padZeroes ? 2:1);
var showFull=function(period){
var labelsNum=inst.options['labels' + whichLabels(inst._periods[period])];
return ((!inst.options.significant&&show[period]) ||
(inst.options.significant&&showSignificant[period]) ?
'<span class="' + self._sectionClass + '">' +
'<span class="' + self._amountClass + '">' +
self._minDigits(inst, inst._periods[period], minDigits) + '</span>' +
'<span class="' + self._periodClass + '">' +
(labelsNum ? labelsNum[period]:labels[period]) + '</span></span>':'');
};
return (inst.options.layout ? this._buildLayout(inst, show, inst.options.layout,
inst.options.compact, inst.options.significant, showSignificant) :
((inst.options.compact ?
'<span class="' + this._rowClass + ' ' + this._amountClass +
(inst._hold ? ' ' + this._holdingClass:'') + '">' +
showCompact(Y) + showCompact(O) + showCompact(W) + showCompact(D) +
(show[H] ? this._minDigits(inst, inst._periods[H], 2):'') +
(show[M] ? (show[H] ? inst.options.timeSeparator:'') +
this._minDigits(inst, inst._periods[M], 2):'') +
(show[S] ? (show[H]||show[M] ? inst.options.timeSeparator:'') +
this._minDigits(inst, inst._periods[S], 2):'') :
'<span class="' + this._rowClass + ' ' + this._showClass + (inst.options.significant||showCount) +
(inst._hold ? ' ' + this._holdingClass:'') + '">' +
showFull(Y) + showFull(O) + showFull(W) + showFull(D) +
showFull(H) + showFull(M) + showFull(S)) + '</span>' +
(inst.options.description ? '<span class="' + this._rowClass + ' ' + this._descrClass + '">' +
inst.options.description + '</span>':'')));
},
_buildLayout: function(inst, show, layout, compact, significant, showSignificant){
var labels=inst.options[compact ? 'compactLabels':'labels'];
var whichLabels=inst.options.whichLabels||this._normalLabels;
var labelFor=function(index){
return (inst.options[(compact ? 'compactLabels':'labels') +
whichLabels(inst._periods[index])]||labels)[index];
};
var digit=function(value, position){
return inst.options.digits[Math.floor(value / position) % 10];
};
var subs={desc: inst.options.description, sep: inst.options.timeSeparator,
yl: labelFor(Y), yn: this._minDigits(inst, inst._periods[Y], 1),
ynn: this._minDigits(inst, inst._periods[Y], 2),
ynnn: this._minDigits(inst, inst._periods[Y], 3), y1: digit(inst._periods[Y], 1),
y10: digit(inst._periods[Y], 10), y100: digit(inst._periods[Y], 100),
y1000: digit(inst._periods[Y], 1000),
ol: labelFor(O), on: this._minDigits(inst, inst._periods[O], 1),
onn: this._minDigits(inst, inst._periods[O], 2),
onnn: this._minDigits(inst, inst._periods[O], 3), o1: digit(inst._periods[O], 1),
o10: digit(inst._periods[O], 10), o100: digit(inst._periods[O], 100),
o1000: digit(inst._periods[O], 1000),
wl: labelFor(W), wn: this._minDigits(inst, inst._periods[W], 1),
wnn: this._minDigits(inst, inst._periods[W], 2),
wnnn: this._minDigits(inst, inst._periods[W], 3), w1: digit(inst._periods[W], 1),
w10: digit(inst._periods[W], 10), w100: digit(inst._periods[W], 100),
w1000: digit(inst._periods[W], 1000),
dl: labelFor(D), dn: this._minDigits(inst, inst._periods[D], 1),
dnn: this._minDigits(inst, inst._periods[D], 2),
dnnn: this._minDigits(inst, inst._periods[D], 3), d1: digit(inst._periods[D], 1),
d10: digit(inst._periods[D], 10), d100: digit(inst._periods[D], 100),
d1000: digit(inst._periods[D], 1000),
hl: labelFor(H), hn: this._minDigits(inst, inst._periods[H], 1),
hnn: this._minDigits(inst, inst._periods[H], 2),
hnnn: this._minDigits(inst, inst._periods[H], 3), h1: digit(inst._periods[H], 1),
h10: digit(inst._periods[H], 10), h100: digit(inst._periods[H], 100),
h1000: digit(inst._periods[H], 1000),
ml: labelFor(M), mn: this._minDigits(inst, inst._periods[M], 1),
mnn: this._minDigits(inst, inst._periods[M], 2),
mnnn: this._minDigits(inst, inst._periods[M], 3), m1: digit(inst._periods[M], 1),
m10: digit(inst._periods[M], 10), m100: digit(inst._periods[M], 100),
m1000: digit(inst._periods[M], 1000),
sl: labelFor(S), sn: this._minDigits(inst, inst._periods[S], 1),
snn: this._minDigits(inst, inst._periods[S], 2),
snnn: this._minDigits(inst, inst._periods[S], 3), s1: digit(inst._periods[S], 1),
s10: digit(inst._periods[S], 10), s100: digit(inst._periods[S], 100),
s1000: digit(inst._periods[S], 1000)};
var html=layout;
for (var i=Y; i <=S; i++){
var period='yowdhms'.charAt(i);
var re=new RegExp('\\{' + period + '<\\}([\\s\\S]*)\\{' + period + '>\\}', 'g');
html=html.replace(re, ((!significant&&show[i]) ||
(significant&&showSignificant[i]) ? '$1':''));
}
$.each(subs, function(n, v){
var re=new RegExp('\\{' + n + '\\}', 'g');
html=html.replace(re, v);
});
return html;
},
_minDigits: function(inst, value, len){
value='' + value;
if(value.length >=len){
return this._translateDigits(inst, value);
}
value='0000000000' + value;
return this._translateDigits(inst, value.substr(value.length - len));
},
_translateDigits: function(inst, value){
return ('' + value).replace(/[0-9]/g, function(digit){
return inst.options.digits[digit];
});
},
_determineShow: function(inst){
var format=inst.options.format;
var show=[];
show[Y]=(format.match('y') ? '?':(format.match('Y') ? '!':null));
show[O]=(format.match('o') ? '?':(format.match('O') ? '!':null));
show[W]=(format.match('w') ? '?':(format.match('W') ? '!':null));
show[D]=(format.match('d') ? '?':(format.match('D') ? '!':null));
show[H]=(format.match('h') ? '?':(format.match('H') ? '!':null));
show[M]=(format.match('m') ? '?':(format.match('M') ? '!':null));
show[S]=(format.match('s') ? '?':(format.match('S') ? '!':null));
return show;
},
_calculatePeriods: function(inst, show, significant, now){
inst._now=now;
inst._now.setMilliseconds(0);
var until=new Date(inst._now.getTime());
if(inst._since){
if(now.getTime() < inst._since.getTime()){
inst._now=now=until;
}else{
now=inst._since;
}}else{
until.setTime(inst._until.getTime());
if(now.getTime() > inst._until.getTime()){
inst._now=now=until;
}}
var periods=[0, 0, 0, 0, 0, 0, 0];
if(show[Y]||show[O]){
var lastNow=this._getDaysInMonth(now.getFullYear(), now.getMonth());
var lastUntil=this._getDaysInMonth(until.getFullYear(), until.getMonth());
var sameDay=(until.getDate()==now.getDate() ||
(until.getDate() >=Math.min(lastNow, lastUntil) &&
now.getDate() >=Math.min(lastNow, lastUntil)));
var getSecs=function(date){
return (date.getHours() * 60 + date.getMinutes()) * 60 + date.getSeconds();
};
var months=Math.max(0,
(until.getFullYear() - now.getFullYear()) * 12 + until.getMonth() - now.getMonth() +
((until.getDate() < now.getDate()&&!sameDay) ||
(sameDay&&getSecs(until) < getSecs(now)) ? -1:0));
periods[Y]=(show[Y] ? Math.floor(months / 12):0);
periods[O]=(show[O] ? months - periods[Y] * 12:0);
now=new Date(now.getTime());
var wasLastDay=(now.getDate()==lastNow);
var lastDay=this._getDaysInMonth(now.getFullYear() + periods[Y],
now.getMonth() + periods[O]);
if(now.getDate() > lastDay){
now.setDate(lastDay);
}
now.setFullYear(now.getFullYear() + periods[Y]);
now.setMonth(now.getMonth() + periods[O]);
if(wasLastDay){
now.setDate(lastDay);
}}
var diff=Math.floor((until.getTime() - now.getTime()) / 1000);
var extractPeriod=function(period, numSecs){
periods[period]=(show[period] ? Math.floor(diff / numSecs):0);
diff -=periods[period] * numSecs;
};
extractPeriod(W, 604800);
extractPeriod(D, 86400);
extractPeriod(H, 3600);
extractPeriod(M, 60);
extractPeriod(S, 1);
if(diff > 0&&!inst._since){
var multiplier=[1, 12, 4.3482, 7, 24, 60, 60];
var lastShown=S;
var max=1;
for (var period=S; period >=Y; period--){
if(show[period]){
if(periods[lastShown] >=max){
periods[lastShown]=0;
diff=1;
}
if(diff > 0){
periods[period]++;
diff=0;
lastShown=period;
max=1;
}}
max *=multiplier[period];
}}
if(significant){
for (var period=Y; period <=S; period++){
if(significant&&periods[period]){
significant--;
}
else if(!significant){
periods[period]=0;
}}
}
return periods;
}});
})(jQuery);
jQuery(document).on('action.init_hidden_elements', function(e, container){
"use strict";
if(container===undefined) container=jQuery('body');
container.find('.sc_countdown:not(.inited)').each(function (){
var $self=jQuery(this).addClass('inited'),
id=$self.attr('id'),
interval=1,	//$self.data('interval'),
countDate=false,
countTo=$self.data('count-to') > 0,
countRestart=$self.data('count-restart') > 0,
endDateStr='' + $self.data('date'),
endDateParts=endDateStr.split('-'),
endTimeStr='' + $self.data('time'),
endTimeParts=endTimeStr.split(':');
if(endTimeParts.length < 3) endTimeParts[2]='00';
if(countRestart){
var dt=new Date();
countDate=new Date(dt.getTime() +(endDateParts[0] * 3600 * 24 + endTimeParts[0] * 3600 + endTimeParts[1] * 60 + endTimeParts[2] * 1) * 1000 *(countTo ? 1:-1) );
}else{
countDate=new Date(endDateParts[0], endDateParts[1]-1, endDateParts[2], endTimeParts[0], endTimeParts[1], endTimeParts[2]);
}
var countInit={
tickInterval: interval,
onTick: trx_addons_sc_countdown,
alwaysExpire: true,
onExpiry: function(){
trx_addons_sc_countdown([0,0,0,0,0,0]);
}};
if(countTo){
countInit.until=countDate;
}else{
countInit.since=countDate;
}
$self.find('.sc_countdown_placeholder').countdown(countInit);
});
function trx_addons_sc_countdown(dt){
var counter=jQuery(this).parent();
for (var i=3; i < dt.length; i++){
var v=(dt[i]<10 ? '0':'') + dt[i];
var item=counter.find('.sc_countdown_item').eq(i-3);
var digits=item.find('.sc_countdown_digits span').addClass('hide');
for (var ch=v.length-1; ch >=0; ch--){
digits.eq(ch + (i==3&&v.length<3 ? 1:0)).removeClass('hide').text(v.substr(ch, 1));
}
trx_addons_draw_arc_on_canvas(item, dt[i]);
}}
});
jQuery(document).on('action.init_hidden_elements', function(e, container){
"use strict";
if(container.find('.sc_form_form:not(.sc_form_custom):not(.inited)').length > 0){
container.find('.sc_form_form:not(.sc_form_custom):not(.inited)')
.addClass('inited')
.on('submit', function(e){
sc_form_validate(jQuery(this) );
e.preventDefault();
return false;
});
}
jQuery(
'input[type="text"]:not(.fill_inited),'
+'input[type="number"]:not(.fill_inited),'
+'input[type="search"]:not(.fill_inited),'
+'input[type="password"]:not(.fill_inited),'
+'input[type="email"]:not(.fill_inited),'
+'input[type="tel"]:not(.fill_inited),'
+'input[type="url"]:not(.fill_inited),'
+'textarea:not(.fill_inited),'
+'select:not(.fill_inited)'
)
.each(function(){
var $fld=jQuery(this);
sc_form_mark_filled($fld);
$fld.addClass('fill_inited')
.on('blur change', function(){
var $self=jQuery(this);
sc_form_mark_filled($self);
if($self.hasClass('filled') ){
$self.removeClass('trx_addons_field_error wpcf7-not-valid');
}});
});
function sc_form_mark_filled(field){
if(field.val()!=='')
field.addClass('filled');
else
field.removeClass('filled');
}
function sc_form_validate(form){
var url=form.attr('action');
if(url=='') return false;
form.find('input').removeClass('trx_addons_error_field');
var error=trx_addons_form_validate(form, {
rules: [
{
field: "name",
min_length: { value: 1,	 message: TRX_ADDONS_STORAGE['msg_field_name_empty'] },
},
{
field: "email",
min_length: { value: 1,	 message: TRX_ADDONS_STORAGE['msg_field_email_empty'] },
mask: { value: TRX_ADDONS_STORAGE['email_mask'], message: TRX_ADDONS_STORAGE['msg_field_email_not_valid'] }},
{
field: "message",
min_length: { value: 1,  message: TRX_ADDONS_STORAGE['msg_field_text_empty'] },
}
]
});
if(!error&&url!='#'){
jQuery.post(url, {
action: "send_sc_form",
nonce: TRX_ADDONS_STORAGE['ajax_nonce'],
data: form.serialize()
}).done(function(response){
var rez=trx_addons_parse_ajax_response(response);
var result=form.find(".trx_addons_message_box").removeClass("trx_addons_message_box_error").removeClass("trx_addons_message_box_success");
if(rez.error===''){
form.get(0).reset();
result.addClass("trx_addons_message_box_success").html(TRX_ADDONS_STORAGE['msg_send_complete']);
}else{
result.addClass("trx_addons_message_box_error").html(TRX_ADDONS_STORAGE['msg_send_error'] + ' ' + rez.error);
}
result.fadeIn().delay(3000).fadeOut();
jQuery(document).trigger('action.got_ajax_response', {
action: 'send_sc_form',
result: rez
});
});
}
return !error;
}});
jQuery(document).on('action.init_hidden_elements', function(){
"use strict";
jQuery('.sc_hotspot:not(.sc_hotspot_inited)').each(function(){
var $self=jQuery(this).addClass('sc_hotspot_inited'),
$image=$self.find('.sc_hotspot_image');
if(! $image.hasClass('sc_hotspot_image_loaded') ){
trx_addons_when_images_loaded($image, function(){
$image.addClass('sc_hotspot_image_loaded');
});
}
function sc_hotspot_hide_all_popups(){
$self.find('.sc_hotspot_item_opened').removeClass('sc_hotspot_item_opened');
}
$self.find('.sc_hotspot_item_open_hover')
.on('click mouseenter touchstart', '.sc_hotspot_item_icon', function(e){
sc_hotspot_hide_all_popups();
});
$self.find('.sc_hotspot_item')
.on('mouseenter', function(e){
jQuery(this).addClass('sc_hotspot_item_hovered');
})
.on('mouseleave', function(e){
jQuery(this).removeClass('sc_hotspot_item_hovered');
});
$self.find('.sc_hotspot_item').on('click', '.sc_hotspot_item_icon', function(e){
var $item=jQuery(this).parents('.sc_hotspot_item'),
opened=$item.hasClass('sc_hotspot_item_opened');
if($item.hasClass('sc_hotspot_item_open_click')||screen.width < 1280){
sc_hotspot_hide_all_popups();
if(! opened){
$item.addClass('sc_hotspot_item_opened');
}}
e.preventDefault();
return false;
});
$self.find('.sc_hotspot_item_popup_close').on('click', function(e){
sc_hotspot_hide_all_popups();
e.preventDefault();
return false;
});
$image.on('click', function(e){
if(e.target&&jQuery(e.target).hasClass('sc_hotspot_image') ){
sc_hotspot_hide_all_popups();
}});
});
});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).window=t.window||{})}(this,function(e){"use strict";function _inheritsLoose(t,e){t.prototype=Object.create(e.prototype),(t.prototype.constructor=t).__proto__=e}function _assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function r(t){return"string"==typeof t}function s(t){return"function"==typeof t}function t(t){return"number"==typeof t}function u(t){return void 0===t}function v(t){return"object"==typeof t}function w(t){return!1!==t}function x(){return"undefined"!=typeof window}function y(t){return s(t)||r(t)}function P(t){return(i=yt(t,ot))&&Ee}function Q(t,e){return console.warn("Invalid property",t,"set to",e,"Missing plugin? gsap.registerPlugin()")}function R(t,e){return!e&&console.warn(t)}function S(t,e){return t&&(ot[t]=e)&&i&&(i[t]=e)||ot}function T(){return 0}function ea(t){var e,r,i=t[0];if(v(i)||s(i)||(t=[t]),!(e=(i._gsap||{}).harness)){for(r=gt.length;r--&&!gt[r].targetTest(i););e=gt[r]}for(r=t.length;r--;)t[r]&&(t[r]._gsap||(t[r]._gsap=new Vt(t[r],e)))||t.splice(r,1);return t}function fa(t){return t._gsap||ea(Ot(t))[0]._gsap}function ga(t,e,r){return(r=t[e])&&s(r)?t[e]():u(r)&&t.getAttribute&&t.getAttribute(e)||r}function ha(t,e){return(t=t.split(",")).forEach(e)||t}function ia(t){return Math.round(1e5*t)/1e5||0}function ja(t){return Math.round(1e7*t)/1e7||0}function ka(t,e){var r=e.charAt(0),i=parseFloat(e.substr(2));return t=parseFloat(t),"+"===r?t+i:"-"===r?t-i:"*"===r?t*i:t/i}function la(t,e){for(var r=e.length,i=0;t.indexOf(e[i])<0&&++i<r;);return i<r}function ma(){var t,e,r=ct.length,i=ct.slice(0);for(dt={},t=ct.length=0;t<r;t++)(e=i[t])&&e._lazy&&(e.render(e._lazy[0],e._lazy[1],!0)._lazy=0)}function na(t,e,r,i){ct.length&&!L&&ma(),t.render(e,r,i||L&&e<0&&(t._initted||t._startAt)),ct.length&&!L&&ma()}function oa(t){var e=parseFloat(t);return(e||0===e)&&(t+"").match(at).length<2?e:r(t)?t.trim():t}function pa(t){return t}function qa(t,e){for(var r in e)r in t||(t[r]=e[r]);return t}function ta(t,e){for(var r in e)"__proto__"!==r&&"constructor"!==r&&"prototype"!==r&&(t[r]=v(e[r])?ta(t[r]||(t[r]={}),e[r]):e[r]);return t}function ua(t,e){var r,i={};for(r in t)r in e||(i[r]=t[r]);return i}function va(t){var e=t.parent||I,r=t.keyframes?function _setKeyframeDefaults(i){return function(t,e){for(var r in e)r in t||"duration"===r&&i||"ease"===r||(t[r]=e[r])}}($(t.keyframes)):qa;if(w(t.inherit))for(;e;)r(t,e.vars.defaults),e=e.parent||e._dp;return t}function xa(t,e,r,i,n){void 0===r&&(r="_first"),void 0===i&&(i="_last");var a,s=t[i];if(n)for(a=e[n];s&&s[n]>a;)s=s._prev;return s?(e._next=s._next,s._next=e):(e._next=t[r],t[r]=e),e._next?e._next._prev=e:t[i]=e,e._prev=s,e.parent=e._dp=t,e}function ya(t,e,r,i){void 0===r&&(r="_first"),void 0===i&&(i="_last");var n=e._prev,a=e._next;n?n._next=a:t[r]===e&&(t[r]=a),a?a._prev=n:t[i]===e&&(t[i]=n),e._next=e._prev=e.parent=null}function za(t,e){t.parent&&(!e||t.parent.autoRemoveChildren)&&t.parent.remove&&t.parent.remove(t),t._act=0}function Aa(t,e){if(t&&(!e||e._end>t._dur||e._start<0))for(var r=t;r;)r._dirty=1,r=r.parent;return t}function Ca(t,e,r,i){return t._startAt&&(L?t._startAt.revert(ht):t.vars.immediateRender&&!t.vars.autoRevert||t._startAt.render(e,!0,i))}function Ea(t){return t._repeat?Tt(t._tTime,t=t.duration()+t._rDelay)*t:0}function Ga(t,e){return(t-e._start)*e._ts+(0<=e._ts?0:e._dirty?e.totalDuration():e._tDur)}function Ha(t){return t._end=ja(t._start+(t._tDur/Math.abs(t._ts||t._rts||X)||0))}function Ia(t,e){var r=t._dp;return r&&r.smoothChildTiming&&t._ts&&(t._start=ja(r._time-(0<t._ts?e/t._ts:((t._dirty?t.totalDuration():t._tDur)-e)/-t._ts)),Ha(t),r._dirty||Aa(r,t)),t}function Ja(t,e){var r;if((e._time||!e._dur&&e._initted||e._start<t._time&&(e._dur||!e.add))&&(r=Ga(t.rawTime(),e),(!e._dur||kt(0,e.totalDuration(),r)-e._tTime>X)&&e.render(r,!0)),Aa(t,e)._dp&&t._initted&&t._time>=t._dur&&t._ts){if(t._dur<t.duration())for(r=t;r._dp;)0<=r.rawTime()&&r.totalTime(r._tTime),r=r._dp;t._zTime=-X}}function Ka(e,r,i,n){return r.parent&&za(r),r._start=ja((t(i)?i:i||e!==I?xt(e,i,r):e._time)+r._delay),r._end=ja(r._start+(r.totalDuration()/Math.abs(r.timeScale())||0)),xa(e,r,"_first","_last",e._sort?"_start":0),bt(r)||(e._recent=r),n||Ja(e,r),e._ts<0&&Ia(e,e._tTime),e}function La(t,e){return(ot.ScrollTrigger||Q("scrollTrigger",e))&&ot.ScrollTrigger.create(e,t)}function Ma(t,e,r,i,n){return Gt(t,e,n),t._initted?!r&&t._pt&&!L&&(t._dur&&!1!==t.vars.lazy||!t._dur&&t.vars.lazy)&&f!==Rt.frame?(ct.push(t),t._lazy=[n,i],1):void 0:1}function Ra(t,e,r,i){var n=t._repeat,a=ja(e)||0,s=t._tTime/t._tDur;return s&&!i&&(t._time*=a/t._dur),t._dur=a,t._tDur=n?n<0?1e10:ja(a*(n+1)+t._rDelay*n):a,0<s&&!i&&Ia(t,t._tTime=t._tDur*s),t.parent&&Ha(t),r||Aa(t.parent,t),t}function Sa(t){return t instanceof Xt?Aa(t):Ra(t,t._dur)}function Va(e,r,i){var n,a,s=t(r[1]),o=(s?2:1)+(e<2?0:1),u=r[o];if(s&&(u.duration=r[1]),u.parent=i,e){for(n=u,a=i;a&&!("immediateRender"in n);)n=a.vars.defaults||{},a=w(a.vars.inherit)&&a.parent;u.immediateRender=w(n.immediateRender),e<2?u.runBackwards=1:u.startAt=r[o-1]}return new Zt(r[0],u,r[1+o])}function Wa(t,e){return t||0===t?e(t):e}function Ya(t,e){return r(t)&&(e=st.exec(t))?e[1]:""}function _a(t,e){return t&&v(t)&&"length"in t&&(!e&&!t.length||t.length-1 in t&&v(t[0]))&&!t.nodeType&&t!==h}function cb(r){return r=Ot(r)[0]||R("Invalid scope")||{},function(t){var e=r.current||r.nativeElement||r;return Ot(t,e.querySelectorAll?e:e===r?R("Invalid scope")||a.createElement("div"):r)}}function db(t){return t.sort(function(){return.5-Math.random()})}function eb(t){if(s(t))return t;var p=v(t)?t:{each:t},_=jt(p.ease),m=p.from||0,g=parseFloat(p.base)||0,y={},e=0<m&&m<1,T=isNaN(m)||e,b=p.axis,w=m,x=m;return r(m)?w=x={center:.5,edges:.5,end:1}[m]||0:!e&&T&&(w=m[0],x=m[1]),function(t,e,r){var i,n,a,s,o,u,h,l,f,c=(r||p).length,d=y[c];if(!d){if(!(f="auto"===p.grid?0:(p.grid||[1,U])[1])){for(h=-U;h<(h=r[f++].getBoundingClientRect().left)&&f<c;);f--}for(d=y[c]=[],i=T?Math.min(f,c)*w-.5:m%f,n=f===U?0:T?c*x/f-.5:m/f|0,l=U,u=h=0;u<c;u++)a=u%f-i,s=n-(u/f|0),d[u]=o=b?Math.abs("y"===b?s:a):K(a*a+s*s),h<o&&(h=o),o<l&&(l=o);"random"===m&&db(d),d.max=h-l,d.min=l,d.v=c=(parseFloat(p.amount)||parseFloat(p.each)*(c<f?c-1:b?"y"===b?c/f:f:Math.max(f,c/f))||0)*("edges"===m?-1:1),d.b=c<0?g-c:g,d.u=Ya(p.amount||p.each)||0,_=_&&c<0?Yt(_):_}return c=(d[t]-d.min)/d.max||0,ja(d.b+(_?_(c):c)*d.v)+d.u}}function fb(i){var n=Math.pow(10,((i+"").split(".")[1]||"").length);return function(e){var r=ja(Math.round(parseFloat(e)/i)*i*n);return(r-r%1)/n+(t(e)?0:Ya(e))}}function gb(h,e){var l,f,r=$(h);return!r&&v(h)&&(l=r=h.radius||U,h.values?(h=Ot(h.values),(f=!t(h[0]))&&(l*=l)):h=fb(h.increment)),Wa(e,r?s(h)?function(t){return f=h(t),Math.abs(f-t)<=l?f:t}:function(e){for(var r,i,n=parseFloat(f?e.x:e),a=parseFloat(f?e.y:0),s=U,o=0,u=h.length;u--;)(r=f?(r=h[u].x-n)*r+(i=h[u].y-a)*i:Math.abs(h[u]-n))<s&&(s=r,o=u);return o=!l||s<=l?h[o]:e,f||o===e||t(e)?o:o+Ya(e)}:fb(h))}function hb(t,e,r,i){return Wa($(t)?!e:!0===r?!!(r=0):!i,function(){return $(t)?t[~~(Math.random()*t.length)]:(r=r||1e-5)&&(i=r<1?Math.pow(10,(r+"").length-2):1)&&Math.floor(Math.round((t-r/2+Math.random()*(e-t+.99*r))/r)*r*i)/i})}function lb(e,r,t){return Wa(t,function(t){return e[~~r(t)]})}function ob(t){for(var e,r,i,n,a=0,s="";~(e=t.indexOf("random(",a));)i=t.indexOf(")",e),n="["===t.charAt(e+7),r=t.substr(e+7,i-e-7).match(n?at:tt),s+=t.substr(a,e-a)+hb(n?r:+r[0],n?0:+r[1],+r[2]||1e-5),a=i+1;return s+t.substr(a,t.length-a)}function rb(t,e,r){var i,n,a,s=t.labels,o=U;for(i in s)(n=s[i]-e)<0==!!r&&n&&o>(n=Math.abs(n))&&(a=i,o=n);return a}function tb(t){return za(t),t.scrollTrigger&&t.scrollTrigger.kill(!!L),t.progress()<1&&At(t,"onInterrupt"),t}function wb(t){if(x()&&t){var e=(t=!t.name&&t.default||t).name,r=s(t),i=e&&!r&&t.init?function(){this._props=[]}:t,n={init:T,render:he,add:Qt,kill:ce,modifier:fe,rawVars:0},a={targetTest:0,get:0,getSetter:ne,aliases:{},register:0};if(Ft(),t!==i){if(pt[e])return;qa(i,qa(ua(t,n),a)),yt(i.prototype,yt(n,ua(t,a))),pt[i.prop=e]=i,t.targetTest&&(gt.push(i),ft[e]=1),e=("css"===e?"CSS":e.charAt(0).toUpperCase()+e.substr(1))+"Plugin"}S(e,i),t.register&&t.register(Ee,i,_e)}else t&&Ct.push(t)}function zb(t,e,r){return(6*(t+=t<0?1:1<t?-1:0)<1?e+(r-e)*t*6:t<.5?r:3*t<2?e+(r-e)*(2/3-t)*6:e)*St+.5|0}function Ab(e,r,i){var n,a,s,o,u,h,l,f,c,d,p=e?t(e)?[e>>16,e>>8&St,e&St]:0:Et.black;if(!p){if(","===e.substr(-1)&&(e=e.substr(0,e.length-1)),Et[e])p=Et[e];else if("#"===e.charAt(0)){if(e.length<6&&(e="#"+(n=e.charAt(1))+n+(a=e.charAt(2))+a+(s=e.charAt(3))+s+(5===e.length?e.charAt(4)+e.charAt(4):"")),9===e.length)return[(p=parseInt(e.substr(1,6),16))>>16,p>>8&St,p&St,parseInt(e.substr(7),16)/255];p=[(e=parseInt(e.substr(1),16))>>16,e>>8&St,e&St]}else if("hsl"===e.substr(0,3))if(p=d=e.match(tt),r){if(~e.indexOf("="))return p=e.match(et),i&&p.length<4&&(p[3]=1),p}else o=+p[0]%360/360,u=p[1]/100,n=2*(h=p[2]/100)-(a=h<=.5?h*(u+1):h+u-h*u),3<p.length&&(p[3]*=1),p[0]=zb(o+1/3,n,a),p[1]=zb(o,n,a),p[2]=zb(o-1/3,n,a);else p=e.match(tt)||Et.transparent;p=p.map(Number)}return r&&!d&&(n=p[0]/St,a=p[1]/St,s=p[2]/St,h=((l=Math.max(n,a,s))+(f=Math.min(n,a,s)))/2,l===f?o=u=0:(c=l-f,u=.5<h?c/(2-l-f):c/(l+f),o=l===n?(a-s)/c+(a<s?6:0):l===a?(s-n)/c+2:(n-a)/c+4,o*=60),p[0]=~~(o+.5),p[1]=~~(100*u+.5),p[2]=~~(100*h+.5)),i&&p.length<4&&(p[3]=1),p}function Bb(t){var r=[],i=[],n=-1;return t.split(Dt).forEach(function(t){var e=t.match(rt)||[];r.push.apply(r,e),i.push(n+=e.length+1)}),r.c=i,r}function Cb(t,e,r){var i,n,a,s,o="",u=(t+o).match(Dt),h=e?"hsla(":"rgba(",l=0;if(!u)return t;if(u=u.map(function(t){return(t=Ab(t,e,1))&&h+(e?t[0]+","+t[1]+"%,"+t[2]+"%,"+t[3]:t.join(","))+")"}),r&&(a=Bb(t),(i=r.c).join(o)!==a.c.join(o)))for(s=(n=t.replace(Dt,"1").split(rt)).length-1;l<s;l++)o+=n[l]+(~i.indexOf(l)?u.shift()||h+"0,0,0,0)":(a.length?a:u.length?u:r).shift());if(!n)for(s=(n=t.split(Dt)).length-1;l<s;l++)o+=n[l]+u[l];return o+n[s]}function Fb(t){var e,r=t.join(" ");if(Dt.lastIndex=0,Dt.test(r))return e=zt.test(r),t[1]=Cb(t[1],e),t[0]=Cb(t[0],e,Bb(t[1])),!0}function Ob(t){var e=(t+"").split("("),r=Bt[e[0]];return r&&1<e.length&&r.config?r.config.apply(null,~t.indexOf("{")?[function _parseObjectInString(t){for(var e,r,i,n={},a=t.substr(1,t.length-3).split(":"),s=a[0],o=1,u=a.length;o<u;o++)r=a[o],e=o!==u-1?r.lastIndexOf(","):r.length,i=r.substr(0,e),n[s]=isNaN(i)?i.replace(It,"").trim():+i,s=r.substr(e+1).trim();return n}(e[1])]:function _valueInParentheses(t){var e=t.indexOf("(")+1,r=t.indexOf(")"),i=t.indexOf("(",e);return t.substring(e,~i&&i<r?t.indexOf(")",r+1):r)}(t).split(",").map(oa)):Bt._CE&&Lt.test(t)?Bt._CE("",t):r}function Qb(t,e){for(var r,i=t._first;i;)i instanceof Xt?Qb(i,e):!i.vars.yoyoEase||i._yoyo&&i._repeat||i._yoyo===e||(i.timeline?Qb(i.timeline,e):(r=i._ease,i._ease=i._yEase,i._yEase=r,i._yoyo=e)),i=i._next}function Sb(t,e,r,i){void 0===r&&(r=function easeOut(t){return 1-e(1-t)}),void 0===i&&(i=function easeInOut(t){return t<.5?e(2*t)/2:1-e(2*(1-t))/2});var n,a={easeIn:e,easeOut:r,easeInOut:i};return ha(t,function(t){for(var e in Bt[t]=ot[t]=a,Bt[n=t.toLowerCase()]=r,a)Bt[n+("easeIn"===e?".in":"easeOut"===e?".out":".inOut")]=Bt[t+"."+e]=a[e]}),a}function Tb(e){return function(t){return t<.5?(1-e(1-2*t))/2:.5+e(2*(t-.5))/2}}function Ub(r,t,e){function Jm(t){return 1===t?1:i*Math.pow(2,-10*t)*H((t-a)*n)+1}var i=1<=t?t:1,n=(e||(r?.3:.45))/(t<1?t:1),a=n/N*(Math.asin(1/i)||0),s="out"===r?Jm:"in"===r?function(t){return 1-Jm(1-t)}:Tb(Jm);return n=N/n,s.config=function(t,e){return Ub(r,t,e)},s}function Vb(e,r){function Rm(t){return t?--t*t*((r+1)*t+r)+1:0}void 0===r&&(r=1.70158);var t="out"===e?Rm:"in"===e?function(t){return 1-Rm(1-t)}:Tb(Rm);return t.config=function(t){return Vb(e,t)},t}var B,L,l,I,h,n,a,i,o,f,c,d,p,_,m,g,b,k,M,O,A,C,E,D,z,F,Y,j,q={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},V={duration:.5,overwrite:!1,delay:0},U=1e8,X=1/U,N=2*Math.PI,W=N/4,G=0,K=Math.sqrt,J=Math.cos,H=Math.sin,Z="function"==typeof ArrayBuffer&&ArrayBuffer.isView||function(){},$=Array.isArray,tt=/(?:-?\.?\d|\.)+/gi,et=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,rt=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,it=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,nt=/[+-]=-?[.\d]+/,at=/[^,'"\[\]\s]+/gi,st=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,ot={},ut={suppressEvents:!0,isStart:!0,kill:!1},ht={suppressEvents:!0,kill:!1},lt={suppressEvents:!0},ft={},ct=[],dt={},pt={},_t={},mt=30,gt=[],vt="",yt=function _merge(t,e){for(var r in e)t[r]=e[r];return t},Tt=function _animationCycle(t,e){var r=Math.floor(t/=e);return t&&r===t?r-1:r},bt=function _isFromOrFromStart(t){var e=t.data;return"isFromStart"===e||"isStart"===e},wt={_start:0,endTime:T,totalDuration:T},xt=function _parsePosition(t,e,i){var n,a,s,o=t.labels,u=t._recent||wt,h=t.duration()>=U?u.endTime(!1):t._dur;return r(e)&&(isNaN(e)||e in o)?(a=e.charAt(0),s="%"===e.substr(-1),n=e.indexOf("="),"<"===a||">"===a?(0<=n&&(e=e.replace(/=/,"")),("<"===a?u._start:u.endTime(0<=u._repeat))+(parseFloat(e.substr(1))||0)*(s?(n<0?u:i).totalDuration()/100:1)):n<0?(e in o||(o[e]=h),o[e]):(a=parseFloat(e.charAt(n-1)+e.substr(n+1)),s&&i&&(a=a/100*($(i)?i[0]:i).totalDuration()),1<n?_parsePosition(t,e.substr(0,n-1),i)+a:h+a)):null==e?h:+e},kt=function _clamp(t,e,r){return r<t?t:e<r?e:r},Mt=[].slice,Ot=function toArray(t,e,i){return l&&!e&&l.selector?l.selector(t):!r(t)||i||!n&&Ft()?$(t)?function _flatten(t,e,i){return void 0===i&&(i=[]),t.forEach(function(t){return r(t)&&!e||_a(t,1)?i.push.apply(i,Ot(t)):i.push(t)})||i}(t,i):_a(t)?Mt.call(t,0):t?[t]:[]:Mt.call((e||a).querySelectorAll(t),0)},Pt=function mapRange(e,t,r,i,n){var a=t-e,s=i-r;return Wa(n,function(t){return r+((t-e)/a*s||0)})},At=function _callback(t,e,r){var i,n,a,s=t.vars,o=s[e],u=l,h=t._ctx;if(o)return i=s[e+"Params"],n=s.callbackScope||t,r&&ct.length&&ma(),h&&(l=h),a=i?o.apply(n,i):o.call(n),l=u,a},Ct=[],St=255,Et={aqua:[0,St,St],lime:[0,St,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,St],navy:[0,0,128],white:[St,St,St],olive:[128,128,0],yellow:[St,St,0],orange:[St,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[St,0,0],pink:[St,192,203],cyan:[0,St,St],transparent:[St,St,St,0]},Dt=function(){var t,e="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3,4}){1,2}\\b";for(t in Et)e+="|"+t+"\\b";return new RegExp(e+")","gi")}(),zt=/hsl[a]?\(/,Rt=(M=Date.now,O=500,A=33,C=M(),E=C,z=D=1e3/240,g={time:0,frame:0,tick:function tick(){yl(!0)},deltaRatio:function deltaRatio(t){return b/(1e3/(t||60))},wake:function wake(){o&&(!n&&x()&&(h=n=window,a=h.document||{},ot.gsap=Ee,(h.gsapVersions||(h.gsapVersions=[])).push(Ee.version),P(i||h.GreenSockGlobals||!h.gsap&&h||{}),m=h.requestAnimationFrame,Ct.forEach(wb)),p&&g.sleep(),_=m||function(t){return setTimeout(t,z-1e3*g.time+1|0)},d=1,yl(2))},sleep:function sleep(){(m?h.cancelAnimationFrame:clearTimeout)(p),d=0,_=T},lagSmoothing:function lagSmoothing(t,e){O=t||1/0,A=Math.min(e||33,O)},fps:function fps(t){D=1e3/(t||240),z=1e3*g.time+D},add:function add(n,t,e){var a=t?function(t,e,r,i){n(t,e,r,i),g.remove(a)}:n;return g.remove(n),F[e?"unshift":"push"](a),Ft(),a},remove:function remove(t,e){~(e=F.indexOf(t))&&F.splice(e,1)&&e<=k&&k--},_listeners:F=[]}),Ft=function _wake(){return!d&&Rt.wake()},Bt={},Lt=/^[\d.\-M][\d.\-,\s]/,It=/["']/g,Yt=function _invertEase(e){return function(t){return 1-e(1-t)}},jt=function _parseEase(t,e){return t&&(s(t)?t:Bt[t]||Ob(t))||e};function yl(t){var e,r,i,n,a=M()-E,s=!0===t;if(O<a&&(C+=a-A),(0<(e=(i=(E+=a)-C)-z)||s)&&(n=++g.frame,b=i-1e3*g.time,g.time=i/=1e3,z+=e+(D<=e?4:D-e),r=1),s||(p=_(yl)),r)for(k=0;k<F.length;k++)F[k](i,b,n,t)}function gn(t){return t<j?Y*t*t:t<.7272727272727273?Y*Math.pow(t-1.5/2.75,2)+.75:t<.9090909090909092?Y*(t-=2.25/2.75)*t+.9375:Y*Math.pow(t-2.625/2.75,2)+.984375}ha("Linear,Quad,Cubic,Quart,Quint,Strong",function(t,e){var r=e<5?e+1:e;Sb(t+",Power"+(r-1),e?function(t){return Math.pow(t,r)}:function(t){return t},function(t){return 1-Math.pow(1-t,r)},function(t){return t<.5?Math.pow(2*t,r)/2:1-Math.pow(2*(1-t),r)/2})}),Bt.Linear.easeNone=Bt.none=Bt.Linear.easeIn,Sb("Elastic",Ub("in"),Ub("out"),Ub()),Y=7.5625,j=1/2.75,Sb("Bounce",function(t){return 1-gn(1-t)},gn),Sb("Expo",function(t){return t?Math.pow(2,10*(t-1)):0}),Sb("Circ",function(t){return-(K(1-t*t)-1)}),Sb("Sine",function(t){return 1===t?1:1-J(t*W)}),Sb("Back",Vb("in"),Vb("out"),Vb()),Bt.SteppedEase=Bt.steps=ot.SteppedEase={config:function config(t,e){void 0===t&&(t=1);var r=1/t,i=t+(e?0:1),n=e?1:0;return function(t){return((i*kt(0,.99999999,t)|0)+n)*r}}},V.ease=Bt["quad.out"],ha("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt",function(t){return vt+=t+","+t+"Params,"});var qt,Vt=function GSCache(t,e){this.id=G++,(t._gsap=this).target=t,this.harness=e,this.get=e?e.get:ga,this.set=e?e.getSetter:ne},Ut=((qt=Animation.prototype).delay=function delay(t){return t||0===t?(this.parent&&this.parent.smoothChildTiming&&this.startTime(this._start+t-this._delay),this._delay=t,this):this._delay},qt.duration=function duration(t){return arguments.length?this.totalDuration(0<this._repeat?t+(t+this._rDelay)*this._repeat:t):this.totalDuration()&&this._dur},qt.totalDuration=function totalDuration(t){return arguments.length?(this._dirty=0,Ra(this,this._repeat<0?t:(t-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},qt.totalTime=function totalTime(t,e){if(Ft(),!arguments.length)return this._tTime;var r=this._dp;if(r&&r.smoothChildTiming&&this._ts){for(Ia(this,t),!r._dp||r.parent||Ja(r,this);r&&r.parent;)r.parent._time!==r._start+(0<=r._ts?r._tTime/r._ts:(r.totalDuration()-r._tTime)/-r._ts)&&r.totalTime(r._tTime,!0),r=r.parent;!this.parent&&this._dp.autoRemoveChildren&&(0<this._ts&&t<this._tDur||this._ts<0&&0<t||!this._tDur&&!t)&&Ka(this._dp,this,this._start-this._delay)}return(this._tTime!==t||!this._dur&&!e||this._initted&&Math.abs(this._zTime)===X||!t&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=t),na(this,t,e)),this},qt.time=function time(t,e){return arguments.length?this.totalTime(Math.min(this.totalDuration(),t+Ea(this))%(this._dur+this._rDelay)||(t?this._dur:0),e):this._time},qt.totalProgress=function totalProgress(t,e){return arguments.length?this.totalTime(this.totalDuration()*t,e):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.ratio},qt.progress=function progress(t,e){return arguments.length?this.totalTime(this.duration()*(!this._yoyo||1&this.iteration()?t:1-t)+Ea(this),e):this.duration()?Math.min(1,this._time/this._dur):this.ratio},qt.iteration=function iteration(t,e){var r=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(t-1)*r,e):this._repeat?Tt(this._tTime,r)+1:1},qt.timeScale=function timeScale(t){if(!arguments.length)return this._rts===-X?0:this._rts;if(this._rts===t)return this;var e=this.parent&&this._ts?Ga(this.parent._time,this):this._tTime;return this._rts=+t||0,this._ts=this._ps||t===-X?0:this._rts,this.totalTime(kt(-Math.abs(this._delay),this._tDur,e),!0),Ha(this),function _recacheAncestors(t){for(var e=t.parent;e&&e.parent;)e._dirty=1,e.totalDuration(),e=e.parent;return t}(this)},qt.paused=function paused(t){return arguments.length?(this._ps!==t&&((this._ps=t)?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(Ft(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,1===this.progress()&&Math.abs(this._zTime)!==X&&(this._tTime-=X)))),this):this._ps},qt.startTime=function startTime(t){if(arguments.length){this._start=t;var e=this.parent||this._dp;return!e||!e._sort&&this.parent||Ka(e,this,t-this._delay),this}return this._start},qt.endTime=function endTime(t){return this._start+(w(t)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},qt.rawTime=function rawTime(t){var e=this.parent||this._dp;return e?t&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?Ga(e.rawTime(t),this):this._tTime:this._tTime},qt.revert=function revert(t){void 0===t&&(t=lt);var e=L;return L=t,(this._initted||this._startAt)&&(this.timeline&&this.timeline.revert(t),this.totalTime(-.01,t.suppressEvents)),"nested"!==this.data&&!1!==t.kill&&this.kill(),L=e,this},qt.globalTime=function globalTime(t){for(var e=this,r=arguments.length?t:e.rawTime();e;)r=e._start+r/(e._ts||1),e=e._dp;return!this.parent&&this._sat?this._sat.vars.immediateRender?-1/0:this._sat.globalTime(t):r},qt.repeat=function repeat(t){return arguments.length?(this._repeat=t===1/0?-2:t,Sa(this)):-2===this._repeat?1/0:this._repeat},qt.repeatDelay=function repeatDelay(t){if(arguments.length){var e=this._time;return this._rDelay=t,Sa(this),e?this.time(e):this}return this._rDelay},qt.yoyo=function yoyo(t){return arguments.length?(this._yoyo=t,this):this._yoyo},qt.seek=function seek(t,e){return this.totalTime(xt(this,t),w(e))},qt.restart=function restart(t,e){return this.play().totalTime(t?-this._delay:0,w(e))},qt.play=function play(t,e){return null!=t&&this.seek(t,e),this.reversed(!1).paused(!1)},qt.reverse=function reverse(t,e){return null!=t&&this.seek(t||this.totalDuration(),e),this.reversed(!0).paused(!1)},qt.pause=function pause(t,e){return null!=t&&this.seek(t,e),this.paused(!0)},qt.resume=function resume(){return this.paused(!1)},qt.reversed=function reversed(t){return arguments.length?(!!t!==this.reversed()&&this.timeScale(-this._rts||(t?-X:0)),this):this._rts<0},qt.invalidate=function invalidate(){return this._initted=this._act=0,this._zTime=-X,this},qt.isActive=function isActive(){var t,e=this.parent||this._dp,r=this._start;return!(e&&!(this._ts&&this._initted&&e.isActive()&&(t=e.rawTime(!0))>=r&&t<this.endTime(!0)-X))},qt.eventCallback=function eventCallback(t,e,r){var i=this.vars;return 1<arguments.length?(e?(i[t]=e,r&&(i[t+"Params"]=r),"onUpdate"===t&&(this._onUpdate=e)):delete i[t],this):i[t]},qt.then=function then(t){var i=this;return new Promise(function(e){function Bo(){var t=i.then;i.then=null,s(r)&&(r=r(i))&&(r.then||r===i)&&(i.then=t),e(r),i.then=t}var r=s(t)?t:pa;i._initted&&1===i.totalProgress()&&0<=i._ts||!i._tTime&&i._ts<0?Bo():i._prom=Bo})},qt.kill=function kill(){tb(this)},Animation);function Animation(t){this.vars=t,this._delay=+t.delay||0,(this._repeat=t.repeat===1/0?-2:t.repeat||0)&&(this._rDelay=t.repeatDelay||0,this._yoyo=!!t.yoyo||!!t.yoyoEase),this._ts=1,Ra(this,+t.duration,1,1),this.data=t.data,l&&(this._ctx=l).data.push(this),d||Rt.wake()}qa(Ut.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-X,_prom:0,_ps:!1,_rts:1});var Xt=function(i){function Timeline(t,e){var r;return void 0===t&&(t={}),(r=i.call(this,t)||this).labels={},r.smoothChildTiming=!!t.smoothChildTiming,r.autoRemoveChildren=!!t.autoRemoveChildren,r._sort=w(t.sortChildren),I&&Ka(t.parent||I,_assertThisInitialized(r),e),t.reversed&&r.reverse(),t.paused&&r.paused(!0),t.scrollTrigger&&La(_assertThisInitialized(r),t.scrollTrigger),r}_inheritsLoose(Timeline,i);var e=Timeline.prototype;return e.to=function to(t,e,r){return Va(0,arguments,this),this},e.from=function from(t,e,r){return Va(1,arguments,this),this},e.fromTo=function fromTo(t,e,r,i){return Va(2,arguments,this),this},e.set=function set(t,e,r){return e.duration=0,e.parent=this,va(e).repeatDelay||(e.repeat=0),e.immediateRender=!!e.immediateRender,new Zt(t,e,xt(this,r),1),this},e.call=function call(t,e,r){return Ka(this,Zt.delayedCall(0,t,e),r)},e.staggerTo=function staggerTo(t,e,r,i,n,a,s){return r.duration=e,r.stagger=r.stagger||i,r.onComplete=a,r.onCompleteParams=s,r.parent=this,new Zt(t,r,xt(this,n)),this},e.staggerFrom=function staggerFrom(t,e,r,i,n,a,s){return r.runBackwards=1,va(r).immediateRender=w(r.immediateRender),this.staggerTo(t,e,r,i,n,a,s)},e.staggerFromTo=function staggerFromTo(t,e,r,i,n,a,s,o){return i.startAt=r,va(i).immediateRender=w(i.immediateRender),this.staggerTo(t,e,i,n,a,s,o)},e.render=function render(t,e,r){var i,n,a,s,o,u,h,l,f,c,d,p,_=this._time,m=this._dirty?this.totalDuration():this._tDur,g=this._dur,v=t<=0?0:ja(t),y=this._zTime<0!=t<0&&(this._initted||!g);if(this!==I&&m<v&&0<=t&&(v=m),v!==this._tTime||r||y){if(_!==this._time&&g&&(v+=this._time-_,t+=this._time-_),i=v,f=this._start,u=!(l=this._ts),y&&(g||(_=this._zTime),!t&&e||(this._zTime=t)),this._repeat){if(d=this._yoyo,o=g+this._rDelay,this._repeat<-1&&t<0)return this.totalTime(100*o+t,e,r);if(i=ja(v%o),v===m?(s=this._repeat,i=g):((s=~~(v/o))&&s===v/o&&(i=g,s--),g<i&&(i=g)),c=Tt(this._tTime,o),!_&&this._tTime&&c!==s&&this._tTime-c*o-this._dur<=0&&(c=s),d&&1&s&&(i=g-i,p=1),s!==c&&!this._lock){var T=d&&1&c,b=T===(d&&1&s);if(s<c&&(T=!T),_=T?0:v%g?g:v,this._lock=1,this.render(_||(p?0:ja(s*o)),e,!g)._lock=0,this._tTime=v,!e&&this.parent&&At(this,"onRepeat"),this.vars.repeatRefresh&&!p&&(this.invalidate()._lock=1),_&&_!==this._time||u!=!this._ts||this.vars.onRepeat&&!this.parent&&!this._act)return this;if(g=this._dur,m=this._tDur,b&&(this._lock=2,_=T?g:-1e-4,this.render(_,!0),this.vars.repeatRefresh&&!p&&this.invalidate()),this._lock=0,!this._ts&&!u)return this;Qb(this,p)}}if(this._hasPause&&!this._forcing&&this._lock<2&&(h=function _findNextPauseTween(t,e,r){var i;if(e<r)for(i=t._first;i&&i._start<=r;){if("isPause"===i.data&&i._start>e)return i;i=i._next}else for(i=t._last;i&&i._start>=r;){if("isPause"===i.data&&i._start<e)return i;i=i._prev}}(this,ja(_),ja(i)))&&(v-=i-(i=h._start)),this._tTime=v,this._time=i,this._act=!l,this._initted||(this._onUpdate=this.vars.onUpdate,this._initted=1,this._zTime=t,_=0),!_&&i&&!e&&!s&&(At(this,"onStart"),this._tTime!==v))return this;if(_<=i&&0<=t)for(n=this._first;n;){if(a=n._next,(n._act||i>=n._start)&&n._ts&&h!==n){if(n.parent!==this)return this.render(t,e,r);if(n.render(0<n._ts?(i-n._start)*n._ts:(n._dirty?n.totalDuration():n._tDur)+(i-n._start)*n._ts,e,r),i!==this._time||!this._ts&&!u){h=0,a&&(v+=this._zTime=-X);break}}n=a}else{n=this._last;for(var w=t<0?t:i;n;){if(a=n._prev,(n._act||w<=n._end)&&n._ts&&h!==n){if(n.parent!==this)return this.render(t,e,r);if(n.render(0<n._ts?(w-n._start)*n._ts:(n._dirty?n.totalDuration():n._tDur)+(w-n._start)*n._ts,e,r||L&&(n._initted||n._startAt)),i!==this._time||!this._ts&&!u){h=0,a&&(v+=this._zTime=w?-X:X);break}}n=a}}if(h&&!e&&(this.pause(),h.render(_<=i?0:-X)._zTime=_<=i?1:-1,this._ts))return this._start=f,Ha(this),this.render(t,e,r);this._onUpdate&&!e&&At(this,"onUpdate",!0),(v===m&&this._tTime>=this.totalDuration()||!v&&_)&&(f!==this._start&&Math.abs(l)===Math.abs(this._ts)||this._lock||(!t&&g||!(v===m&&0<this._ts||!v&&this._ts<0)||za(this,1),e||t<0&&!_||!v&&!_&&m||(At(this,v===m&&0<=t?"onComplete":"onReverseComplete",!0),!this._prom||v<m&&0<this.timeScale()||this._prom())))}return this},e.add=function add(e,i){var n=this;if(t(i)||(i=xt(this,i,e)),!(e instanceof Ut)){if($(e))return e.forEach(function(t){return n.add(t,i)}),this;if(r(e))return this.addLabel(e,i);if(!s(e))return this;e=Zt.delayedCall(0,e)}return this!==e?Ka(this,e,i):this},e.getChildren=function getChildren(t,e,r,i){void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===r&&(r=!0),void 0===i&&(i=-U);for(var n=[],a=this._first;a;)a._start>=i&&(a instanceof Zt?e&&n.push(a):(r&&n.push(a),t&&n.push.apply(n,a.getChildren(!0,e,r)))),a=a._next;return n},e.getById=function getById(t){for(var e=this.getChildren(1,1,1),r=e.length;r--;)if(e[r].vars.id===t)return e[r]},e.remove=function remove(t){return r(t)?this.removeLabel(t):s(t)?this.killTweensOf(t):(ya(this,t),t===this._recent&&(this._recent=this._last),Aa(this))},e.totalTime=function totalTime(t,e){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=ja(Rt.time-(0<this._ts?t/this._ts:(this.totalDuration()-t)/-this._ts))),i.prototype.totalTime.call(this,t,e),this._forcing=0,this):this._tTime},e.addLabel=function addLabel(t,e){return this.labels[t]=xt(this,e),this},e.removeLabel=function removeLabel(t){return delete this.labels[t],this},e.addPause=function addPause(t,e,r){var i=Zt.delayedCall(0,e||T,r);return i.data="isPause",this._hasPause=1,Ka(this,i,xt(this,t))},e.removePause=function removePause(t){var e=this._first;for(t=xt(this,t);e;)e._start===t&&"isPause"===e.data&&za(e),e=e._next},e.killTweensOf=function killTweensOf(t,e,r){for(var i=this.getTweensOf(t,r),n=i.length;n--;)Nt!==i[n]&&i[n].kill(t,e);return this},e.getTweensOf=function getTweensOf(e,r){for(var i,n=[],a=Ot(e),s=this._first,o=t(r);s;)s instanceof Zt?la(s._targets,a)&&(o?(!Nt||s._initted&&s._ts)&&s.globalTime(0)<=r&&s.globalTime(s.totalDuration())>r:!r||s.isActive())&&n.push(s):(i=s.getTweensOf(a,r)).length&&n.push.apply(n,i),s=s._next;return n},e.tweenTo=function tweenTo(t,e){e=e||{};var r,i=this,n=xt(i,t),a=e.startAt,s=e.onStart,o=e.onStartParams,u=e.immediateRender,h=Zt.to(i,qa({ease:e.ease||"none",lazy:!1,immediateRender:!1,time:n,overwrite:"auto",duration:e.duration||Math.abs((n-(a&&"time"in a?a.time:i._time))/i.timeScale())||X,onStart:function onStart(){if(i.pause(),!r){var t=e.duration||Math.abs((n-(a&&"time"in a?a.time:i._time))/i.timeScale());h._dur!==t&&Ra(h,t,0,1).render(h._time,!0,!0),r=1}s&&s.apply(h,o||[])}},e));return u?h.render(0):h},e.tweenFromTo=function tweenFromTo(t,e,r){return this.tweenTo(e,qa({startAt:{time:xt(this,t)}},r))},e.recent=function recent(){return this._recent},e.nextLabel=function nextLabel(t){return void 0===t&&(t=this._time),rb(this,xt(this,t))},e.previousLabel=function previousLabel(t){return void 0===t&&(t=this._time),rb(this,xt(this,t),1)},e.currentLabel=function currentLabel(t){return arguments.length?this.seek(t,!0):this.previousLabel(this._time+X)},e.shiftChildren=function shiftChildren(t,e,r){void 0===r&&(r=0);for(var i,n=this._first,a=this.labels;n;)n._start>=r&&(n._start+=t,n._end+=t),n=n._next;if(e)for(i in a)a[i]>=r&&(a[i]+=t);return Aa(this)},e.invalidate=function invalidate(t){var e=this._first;for(this._lock=0;e;)e.invalidate(t),e=e._next;return i.prototype.invalidate.call(this,t)},e.clear=function clear(t){void 0===t&&(t=!0);for(var e,r=this._first;r;)e=r._next,this.remove(r),r=e;return this._dp&&(this._time=this._tTime=this._pTime=0),t&&(this.labels={}),Aa(this)},e.totalDuration=function totalDuration(t){var e,r,i,n=0,a=this,s=a._last,o=U;if(arguments.length)return a.timeScale((a._repeat<0?a.duration():a.totalDuration())/(a.reversed()?-t:t));if(a._dirty){for(i=a.parent;s;)e=s._prev,s._dirty&&s.totalDuration(),o<(r=s._start)&&a._sort&&s._ts&&!a._lock?(a._lock=1,Ka(a,s,r-s._delay,1)._lock=0):o=r,r<0&&s._ts&&(n-=r,(!i&&!a._dp||i&&i.smoothChildTiming)&&(a._start+=r/a._ts,a._time-=r,a._tTime-=r),a.shiftChildren(-r,!1,-Infinity),o=0),s._end>n&&s._ts&&(n=s._end),s=e;Ra(a,a===I&&a._time>n?a._time:n,1,1),a._dirty=0}return a._tDur},Timeline.updateRoot=function updateRoot(t){if(I._ts&&(na(I,Ga(t,I)),f=Rt.frame),Rt.frame>=mt){mt+=q.autoSleep||120;var e=I._first;if((!e||!e._ts)&&q.autoSleep&&Rt._listeners.length<2){for(;e&&!e._ts;)e=e._next;e||Rt.sleep()}}},Timeline}(Ut);qa(Xt.prototype,{_lock:0,_hasPause:0,_forcing:0});function ac(t,e,i,n,a,o){var u,h,l,f;if(pt[t]&&!1!==(u=new pt[t]).init(a,u.rawVars?e[t]:function _processVars(t,e,i,n,a){if(s(t)&&(t=Kt(t,a,e,i,n)),!v(t)||t.style&&t.nodeType||$(t)||Z(t))return r(t)?Kt(t,a,e,i,n):t;var o,u={};for(o in t)u[o]=Kt(t[o],a,e,i,n);return u}(e[t],n,a,o,i),i,n,o)&&(i._pt=h=new _e(i._pt,a,t,0,1,u.render,u,0,u.priority),i!==c))for(l=i._ptLookup[i._targets.indexOf(a)],f=u._props.length;f--;)l[u._props[f]]=h;return u}function gc(t,r,e,i){var n,a,s=r.ease||i||"power1.inOut";if($(r))a=e[t]||(e[t]=[]),r.forEach(function(t,e){return a.push({t:e/(r.length-1)*100,v:t,e:s})});else for(n in r)a=e[n]||(e[n]=[]),"ease"===n||a.push({t:parseFloat(t),v:r[n],e:s})}var Nt,Wt,Qt=function _addPropTween(t,e,i,n,a,o,u,h,l,f){s(n)&&(n=n(a||0,t,o));var c,d=t[e],p="get"!==i?i:s(d)?l?t[e.indexOf("set")||!s(t["get"+e.substr(3)])?e:"get"+e.substr(3)](l):t[e]():d,_=s(d)?l?re:te:$t;if(r(n)&&(~n.indexOf("random(")&&(n=ob(n)),"="===n.charAt(1)&&(!(c=ka(p,n)+(Ya(p)||0))&&0!==c||(n=c))),!f||p!==n||Wt)return isNaN(p*n)||""===n?(d||e in t||Q(e,n),function _addComplexStringPropTween(t,e,r,i,n,a,s){var o,u,h,l,f,c,d,p,_=new _e(this._pt,t,e,0,1,ue,null,n),m=0,g=0;for(_.b=r,_.e=i,r+="",(d=~(i+="").indexOf("random("))&&(i=ob(i)),a&&(a(p=[r,i],t,e),r=p[0],i=p[1]),u=r.match(it)||[];o=it.exec(i);)l=o[0],f=i.substring(m,o.index),h?h=(h+1)%5:"rgba("===f.substr(-5)&&(h=1),l!==u[g++]&&(c=parseFloat(u[g-1])||0,_._pt={_next:_._pt,p:f||1===g?f:",",s:c,c:"="===l.charAt(1)?ka(c,l)-c:parseFloat(l)-c,m:h&&h<4?Math.round:0},m=it.lastIndex);return _.c=m<i.length?i.substring(m,i.length):"",_.fp=s,(nt.test(i)||d)&&(_.e=0),this._pt=_}.call(this,t,e,p,n,_,h||q.stringFilter,l)):(c=new _e(this._pt,t,e,+p||0,n-(p||0),"boolean"==typeof d?se:ae,0,_),l&&(c.fp=l),u&&c.modifier(u,this,t),this._pt=c)},Gt=function _initTween(t,e,r){var i,n,a,s,o,u,h,l,f,c,d,p,_,m=t.vars,g=m.ease,v=m.startAt,y=m.immediateRender,T=m.lazy,b=m.onUpdate,x=m.onUpdateParams,k=m.callbackScope,M=m.runBackwards,O=m.yoyoEase,P=m.keyframes,A=m.autoRevert,C=t._dur,S=t._startAt,E=t._targets,D=t.parent,z=D&&"nested"===D.data?D.vars.targets:E,R="auto"===t._overwrite&&!B,F=t.timeline;if(!F||P&&g||(g="none"),t._ease=jt(g,V.ease),t._yEase=O?Yt(jt(!0===O?g:O,V.ease)):0,O&&t._yoyo&&!t._repeat&&(O=t._yEase,t._yEase=t._ease,t._ease=O),t._from=!F&&!!m.runBackwards,!F||P&&!m.stagger){if(p=(l=E[0]?fa(E[0]).harness:0)&&m[l.prop],i=ua(m,ft),S&&(S._zTime<0&&S.progress(1),e<0&&M&&y&&!A?S.render(-1,!0):S.revert(M&&C?ht:ut),S._lazy=0),v){if(za(t._startAt=Zt.set(E,qa({data:"isStart",overwrite:!1,parent:D,immediateRender:!0,lazy:!S&&w(T),startAt:null,delay:0,onUpdate:b,onUpdateParams:x,callbackScope:k,stagger:0},v))),t._startAt._dp=0,t._startAt._sat=t,e<0&&(L||!y&&!A)&&t._startAt.revert(ht),y&&C&&e<=0&&r<=0)return void(e&&(t._zTime=e))}else if(M&&C&&!S)if(e&&(y=!1),a=qa({overwrite:!1,data:"isFromStart",lazy:y&&!S&&w(T),immediateRender:y,stagger:0,parent:D},i),p&&(a[l.prop]=p),za(t._startAt=Zt.set(E,a)),t._startAt._dp=0,t._startAt._sat=t,e<0&&(L?t._startAt.revert(ht):t._startAt.render(-1,!0)),t._zTime=e,y){if(!e)return}else _initTween(t._startAt,X,X);for(t._pt=t._ptCache=0,T=C&&w(T)||T&&!C,n=0;n<E.length;n++){if(h=(o=E[n])._gsap||ea(E)[n]._gsap,t._ptLookup[n]=c={},dt[h.id]&&ct.length&&ma(),d=z===E?n:z.indexOf(o),l&&!1!==(f=new l).init(o,p||i,t,d,z)&&(t._pt=s=new _e(t._pt,o,f.name,0,1,f.render,f,0,f.priority),f._props.forEach(function(t){c[t]=s}),f.priority&&(u=1)),!l||p)for(a in i)pt[a]&&(f=ac(a,i,t,d,o,z))?f.priority&&(u=1):c[a]=s=Qt.call(t,o,a,"get",i[a],d,z,0,m.stringFilter);t._op&&t._op[n]&&t.kill(o,t._op[n]),R&&t._pt&&(Nt=t,I.killTweensOf(o,c,t.globalTime(e)),_=!t.parent,Nt=0),t._pt&&T&&(dt[h.id]=1)}u&&pe(t),t._onInit&&t._onInit(t)}t._onUpdate=b,t._initted=(!t._op||t._pt)&&!_,P&&e<=0&&F.render(U,!0,!0)},Kt=function _parseFuncOrString(t,e,i,n,a){return s(t)?t.call(e,i,n,a):r(t)&&~t.indexOf("random(")?ob(t):t},Jt=vt+"repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,autoRevert",Ht={};ha(Jt+",id,stagger,delay,duration,paused,scrollTrigger",function(t){return Ht[t]=1});var Zt=function(z){function Tween(e,r,i,n){var a;"number"==typeof r&&(i.duration=r,r=i,i=null);var s,o,u,h,l,f,c,d,p=(a=z.call(this,n?r:va(r))||this).vars,_=p.duration,m=p.delay,g=p.immediateRender,T=p.stagger,b=p.overwrite,x=p.keyframes,k=p.defaults,M=p.scrollTrigger,O=p.yoyoEase,P=r.parent||I,A=($(e)||Z(e)?t(e[0]):"length"in r)?[e]:Ot(e);if(a._targets=A.length?ea(A):R("GSAP target "+e+" not found. https://greensock.com",!q.nullTargetWarn)||[],a._ptLookup=[],a._overwrite=b,x||T||y(_)||y(m)){if(r=a.vars,(s=a.timeline=new Xt({data:"nested",defaults:k||{},targets:P&&"nested"===P.data?P.vars.targets:A})).kill(),s.parent=s._dp=_assertThisInitialized(a),s._start=0,T||y(_)||y(m)){if(h=A.length,c=T&&eb(T),v(T))for(l in T)~Jt.indexOf(l)&&((d=d||{})[l]=T[l]);for(o=0;o<h;o++)(u=ua(r,Ht)).stagger=0,O&&(u.yoyoEase=O),d&&yt(u,d),f=A[o],u.duration=+Kt(_,_assertThisInitialized(a),o,f,A),u.delay=(+Kt(m,_assertThisInitialized(a),o,f,A)||0)-a._delay,!T&&1===h&&u.delay&&(a._delay=m=u.delay,a._start+=m,u.delay=0),s.to(f,u,c?c(o,f,A):0),s._ease=Bt.none;s.duration()?_=m=0:a.timeline=0}else if(x){va(qa(s.vars.defaults,{ease:"none"})),s._ease=jt(x.ease||r.ease||"none");var C,S,E,D=0;if($(x))x.forEach(function(t){return s.to(A,t,">")}),s.duration();else{for(l in u={},x)"ease"===l||"easeEach"===l||gc(l,x[l],u,x.easeEach);for(l in u)for(C=u[l].sort(function(t,e){return t.t-e.t}),o=D=0;o<C.length;o++)(E={ease:(S=C[o]).e,duration:(S.t-(o?C[o-1].t:0))/100*_})[l]=S.v,s.to(A,E,D),D+=E.duration;s.duration()<_&&s.to({},{duration:_-s.duration()})}}_||a.duration(_=s.duration())}else a.timeline=0;return!0!==b||B||(Nt=_assertThisInitialized(a),I.killTweensOf(A),Nt=0),Ka(P,_assertThisInitialized(a),i),r.reversed&&a.reverse(),r.paused&&a.paused(!0),(g||!_&&!x&&a._start===ja(P._time)&&w(g)&&function _hasNoPausedAncestors(t){return!t||t._ts&&_hasNoPausedAncestors(t.parent)}(_assertThisInitialized(a))&&"nested"!==P.data)&&(a._tTime=-X,a.render(Math.max(0,-m)||0)),M&&La(_assertThisInitialized(a),M),a}_inheritsLoose(Tween,z);var e=Tween.prototype;return e.render=function render(t,e,r){var i,n,a,s,o,u,h,l,f,c=this._time,d=this._tDur,p=this._dur,_=t<0,m=d-X<t&&!_?d:t<X?0:t;if(p){if(m!==this._tTime||!t||r||!this._initted&&this._tTime||this._startAt&&this._zTime<0!=_){if(i=m,l=this.timeline,this._repeat){if(s=p+this._rDelay,this._repeat<-1&&_)return this.totalTime(100*s+t,e,r);if(i=ja(m%s),m===d?(a=this._repeat,i=p):((a=~~(m/s))&&a===m/s&&(i=p,a--),p<i&&(i=p)),(u=this._yoyo&&1&a)&&(f=this._yEase,i=p-i),o=Tt(this._tTime,s),i===c&&!r&&this._initted)return this._tTime=m,this;a!==o&&(l&&this._yEase&&Qb(l,u),!this.vars.repeatRefresh||u||this._lock||(this._lock=r=1,this.render(ja(s*a),!0).invalidate()._lock=0))}if(!this._initted){if(Ma(this,_?t:i,r,e,m))return this._tTime=0,this;if(c!==this._time)return this;if(p!==this._dur)return this.render(t,e,r)}if(this._tTime=m,this._time=i,!this._act&&this._ts&&(this._act=1,this._lazy=0),this.ratio=h=(f||this._ease)(i/p),this._from&&(this.ratio=h=1-h),i&&!c&&!e&&!a&&(At(this,"onStart"),this._tTime!==m))return this;for(n=this._pt;n;)n.r(h,n.d),n=n._next;l&&l.render(t<0?t:!i&&u?-X:l._dur*l._ease(i/this._dur),e,r)||this._startAt&&(this._zTime=t),this._onUpdate&&!e&&(_&&Ca(this,t,0,r),At(this,"onUpdate")),this._repeat&&a!==o&&this.vars.onRepeat&&!e&&this.parent&&At(this,"onRepeat"),m!==this._tDur&&m||this._tTime!==m||(_&&!this._onUpdate&&Ca(this,t,0,!0),!t&&p||!(m===this._tDur&&0<this._ts||!m&&this._ts<0)||za(this,1),e||_&&!c||!(m||c||u)||(At(this,m===d?"onComplete":"onReverseComplete",!0),!this._prom||m<d&&0<this.timeScale()||this._prom()))}}else!function _renderZeroDurationTween(t,e,r,i){var n,a,s,o=t.ratio,u=e<0||!e&&(!t._start&&function _parentPlayheadIsBeforeStart(t){var e=t.parent;return e&&e._ts&&e._initted&&!e._lock&&(e.rawTime()<0||_parentPlayheadIsBeforeStart(e))}(t)&&(t._initted||!bt(t))||(t._ts<0||t._dp._ts<0)&&!bt(t))?0:1,h=t._rDelay,l=0;if(h&&t._repeat&&(l=kt(0,t._tDur,e),a=Tt(l,h),t._yoyo&&1&a&&(u=1-u),a!==Tt(t._tTime,h)&&(o=1-u,t.vars.repeatRefresh&&t._initted&&t.invalidate())),u!==o||L||i||t._zTime===X||!e&&t._zTime){if(!t._initted&&Ma(t,e,i,r,l))return;for(s=t._zTime,t._zTime=e||(r?X:0),r=r||e&&!s,t.ratio=u,t._from&&(u=1-u),t._time=0,t._tTime=l,n=t._pt;n;)n.r(u,n.d),n=n._next;e<0&&Ca(t,e,0,!0),t._onUpdate&&!r&&At(t,"onUpdate"),l&&t._repeat&&!r&&t.parent&&At(t,"onRepeat"),(e>=t._tDur||e<0)&&t.ratio===u&&(u&&za(t,1),r||L||(At(t,u?"onComplete":"onReverseComplete",!0),t._prom&&t._prom()))}else t._zTime||(t._zTime=e)}(this,t,e,r);return this},e.targets=function targets(){return this._targets},e.invalidate=function invalidate(t){return t&&this.vars.runBackwards||(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(t),z.prototype.invalidate.call(this,t)},e.resetTo=function resetTo(t,e,r,i){d||Rt.wake(),this._ts||this.play();var n,a=Math.min(this._dur,(this._dp._time-this._start)*this._ts);return this._initted||Gt(this,a),n=this._ease(a/this._dur),function _updatePropTweens(t,e,r,i,n,a,s){var o,u,h,l,f=(t._pt&&t._ptCache||(t._ptCache={}))[e];if(!f)for(f=t._ptCache[e]=[],h=t._ptLookup,l=t._targets.length;l--;){if((o=h[l][e])&&o.d&&o.d._pt)for(o=o.d._pt;o&&o.p!==e&&o.fp!==e;)o=o._next;if(!o)return Wt=1,t.vars[e]="+=0",Gt(t,s),Wt=0,1;f.push(o)}for(l=f.length;l--;)(o=(u=f[l])._pt||u).s=!i&&0!==i||n?o.s+(i||0)+a*o.c:i,o.c=r-o.s,u.e&&(u.e=ia(r)+Ya(u.e)),u.b&&(u.b=o.s+Ya(u.b))}(this,t,e,r,i,n,a)?this.resetTo(t,e,r,i):(Ia(this,0),this.parent||xa(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},e.kill=function kill(t,e){if(void 0===e&&(e="all"),!(t||e&&"all"!==e))return this._lazy=this._pt=0,this.parent?tb(this):this;if(this.timeline){var i=this.timeline.totalDuration();return this.timeline.killTweensOf(t,e,Nt&&!0!==Nt.vars.overwrite)._first||tb(this),this.parent&&i!==this.timeline.totalDuration()&&Ra(this,this._dur*this.timeline._tDur/i,0,1),this}var n,a,s,o,u,h,l,f=this._targets,c=t?Ot(t):f,d=this._ptLookup,p=this._pt;if((!e||"all"===e)&&function _arraysMatch(t,e){for(var r=t.length,i=r===e.length;i&&r--&&t[r]===e[r];);return r<0}(f,c))return"all"===e&&(this._pt=0),tb(this);for(n=this._op=this._op||[],"all"!==e&&(r(e)&&(u={},ha(e,function(t){return u[t]=1}),e=u),e=function _addAliasesToVars(t,e){var r,i,n,a,s=t[0]?fa(t[0]).harness:0,o=s&&s.aliases;if(!o)return e;for(i in r=yt({},e),o)if(i in r)for(n=(a=o[i].split(",")).length;n--;)r[a[n]]=r[i];return r}(f,e)),l=f.length;l--;)if(~c.indexOf(f[l]))for(u in a=d[l],"all"===e?(n[l]=e,o=a,s={}):(s=n[l]=n[l]||{},o=e),o)(h=a&&a[u])&&("kill"in h.d&&!0!==h.d.kill(u)||ya(this,h,"_pt"),delete a[u]),"all"!==s&&(s[u]=1);return this._initted&&!this._pt&&p&&tb(this),this},Tween.to=function to(t,e,r){return new Tween(t,e,r)},Tween.from=function from(t,e){return Va(1,arguments)},Tween.delayedCall=function delayedCall(t,e,r,i){return new Tween(e,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:t,onComplete:e,onReverseComplete:e,onCompleteParams:r,onReverseCompleteParams:r,callbackScope:i})},Tween.fromTo=function fromTo(t,e,r){return Va(2,arguments)},Tween.set=function set(t,e){return e.duration=0,e.repeatDelay||(e.repeat=0),new Tween(t,e)},Tween.killTweensOf=function killTweensOf(t,e,r){return I.killTweensOf(t,e,r)},Tween}(Ut);qa(Zt.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0}),ha("staggerTo,staggerFrom,staggerFromTo",function(r){Zt[r]=function(){var t=new Xt,e=Mt.call(arguments,0);return e.splice("staggerFromTo"===r?5:4,0,0),t[r].apply(t,e)}});function oc(t,e,r){return t.setAttribute(e,r)}function wc(t,e,r,i){i.mSet(t,e,i.m.call(i.tween,r,i.mt),i)}var $t=function _setterPlain(t,e,r){return t[e]=r},te=function _setterFunc(t,e,r){return t[e](r)},re=function _setterFuncWithParam(t,e,r,i){return t[e](i.fp,r)},ne=function _getSetter(t,e){return s(t[e])?te:u(t[e])&&t.setAttribute?oc:$t},ae=function _renderPlain(t,e){return e.set(e.t,e.p,Math.round(1e6*(e.s+e.c*t))/1e6,e)},se=function _renderBoolean(t,e){return e.set(e.t,e.p,!!(e.s+e.c*t),e)},ue=function _renderComplexString(t,e){var r=e._pt,i="";if(!t&&e.b)i=e.b;else if(1===t&&e.e)i=e.e;else{for(;r;)i=r.p+(r.m?r.m(r.s+r.c*t):Math.round(1e4*(r.s+r.c*t))/1e4)+i,r=r._next;i+=e.c}e.set(e.t,e.p,i,e)},he=function _renderPropTweens(t,e){for(var r=e._pt;r;)r.r(t,r.d),r=r._next},fe=function _addPluginModifier(t,e,r,i){for(var n,a=this._pt;a;)n=a._next,a.p===i&&a.modifier(t,e,r),a=n},ce=function _killPropTweensOf(t){for(var e,r,i=this._pt;i;)r=i._next,i.p===t&&!i.op||i.op===t?ya(this,i,"_pt"):i.dep||(e=1),i=r;return!e},pe=function _sortPropTweensByPriority(t){for(var e,r,i,n,a=t._pt;a;){for(e=a._next,r=i;r&&r.pr>a.pr;)r=r._next;(a._prev=r?r._prev:n)?a._prev._next=a:i=a,(a._next=r)?r._prev=a:n=a,a=e}t._pt=i},_e=(PropTween.prototype.modifier=function modifier(t,e,r){this.mSet=this.mSet||this.set,this.set=wc,this.m=t,this.mt=r,this.tween=e},PropTween);function PropTween(t,e,r,i,n,a,s,o,u){this.t=e,this.s=i,this.c=n,this.p=r,this.r=a||ae,this.d=s||this,this.set=o||$t,this.pr=u||0,(this._next=t)&&(t._prev=this)}ha(vt+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger",function(t){return ft[t]=1}),ot.TweenMax=ot.TweenLite=Zt,ot.TimelineLite=ot.TimelineMax=Xt,I=new Xt({sortChildren:!1,defaults:V,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0}),q.stringFilter=Fb;function Ec(t){return(ye[t]||Te).map(function(t){return t()})}function Fc(){var t=Date.now(),o=[];2<t-Me&&(Ec("matchMediaInit"),ge.forEach(function(t){var e,r,i,n,a=t.queries,s=t.conditions;for(r in a)(e=h.matchMedia(a[r]).matches)&&(i=1),e!==s[r]&&(s[r]=e,n=1);n&&(t.revert(),i&&o.push(t))}),Ec("matchMediaRevert"),o.forEach(function(t){return t.onMatch(t)}),Me=t,Ec("matchMedia"))}var me,ge=[],ye={},Te=[],Me=0,Oe=0,Pe=((me=Context.prototype).add=function add(t,i,n){function Ew(){var t,e=l,r=a.selector;return e&&e!==a&&e.data.push(a),n&&(a.selector=cb(n)),l=a,t=i.apply(a,arguments),s(t)&&a._r.push(t),l=e,a.selector=r,a.isReverted=!1,t}s(t)&&(n=i,i=t,t=s);var a=this;return a.last=Ew,t===s?Ew(a):t?a[t]=Ew:Ew},me.ignore=function ignore(t){var e=l;l=null,t(this),l=e},me.getTweens=function getTweens(){var e=[];return this.data.forEach(function(t){return t instanceof Context?e.push.apply(e,t.getTweens()):t instanceof Zt&&!(t.parent&&"nested"===t.parent.data)&&e.push(t)}),e},me.clear=function clear(){this._r.length=this.data.length=0},me.kill=function kill(e,t){var r=this;if(e){var i=this.getTweens();this.data.forEach(function(t){"isFlip"===t.data&&(t.revert(),t.getChildren(!0,!0,!1).forEach(function(t){return i.splice(i.indexOf(t),1)}))}),i.map(function(t){return{g:t.globalTime(0),t:t}}).sort(function(t,e){return e.g-t.g||-1/0}).forEach(function(t){return t.t.revert(e)}),this.data.forEach(function(t){return!(t instanceof Zt)&&t.revert&&t.revert(e)}),this._r.forEach(function(t){return t(e,r)}),this.isReverted=!0}else this.data.forEach(function(t){return t.kill&&t.kill()});if(this.clear(),t)for(var n=ge.length;n--;)ge[n].id===this.id&&ge.splice(n,1)},me.revert=function revert(t){this.kill(t||{})},Context);function Context(t,e){this.selector=e&&cb(e),this.data=[],this._r=[],this.isReverted=!1,this.id=Oe++,t&&this.add(t)}var Ae,Ce=((Ae=MatchMedia.prototype).add=function add(t,e,r){v(t)||(t={matches:t});var i,n,a,s=new Pe(0,r||this.scope),o=s.conditions={};for(n in l&&!s.selector&&(s.selector=l.selector),this.contexts.push(s),e=s.add("onMatch",e),s.queries=t)"all"===n?a=1:(i=h.matchMedia(t[n]))&&(ge.indexOf(s)<0&&ge.push(s),(o[n]=i.matches)&&(a=1),i.addListener?i.addListener(Fc):i.addEventListener("change",Fc));return a&&e(s),this},Ae.revert=function revert(t){this.kill(t||{})},Ae.kill=function kill(e){this.contexts.forEach(function(t){return t.kill(e,!0)})},MatchMedia);function MatchMedia(t){this.contexts=[],this.scope=t}var Se={registerPlugin:function registerPlugin(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];e.forEach(function(t){return wb(t)})},timeline:function timeline(t){return new Xt(t)},getTweensOf:function getTweensOf(t,e){return I.getTweensOf(t,e)},getProperty:function getProperty(i,t,e,n){r(i)&&(i=Ot(i)[0]);var a=fa(i||{}).get,s=e?pa:oa;return"native"===e&&(e=""),i?t?s((pt[t]&&pt[t].get||a)(i,t,e,n)):function(t,e,r){return s((pt[t]&&pt[t].get||a)(i,t,e,r))}:i},quickSetter:function quickSetter(r,e,i){if(1<(r=Ot(r)).length){var n=r.map(function(t){return Ee.quickSetter(t,e,i)}),a=n.length;return function(t){for(var e=a;e--;)n[e](t)}}r=r[0]||{};var s=pt[e],o=fa(r),u=o.harness&&(o.harness.aliases||{})[e]||e,h=s?function(t){var e=new s;c._pt=0,e.init(r,i?t+i:t,c,0,[r]),e.render(1,e),c._pt&&he(1,c)}:o.set(r,u);return s?h:function(t){return h(r,u,i?t+i:t,o,1)}},quickTo:function quickTo(t,i,e){function Wx(t,e,r){return n.resetTo(i,t,e,r)}var r,n=Ee.to(t,yt(((r={})[i]="+=0.1",r.paused=!0,r),e||{}));return Wx.tween=n,Wx},isTweening:function isTweening(t){return 0<I.getTweensOf(t,!0).length},defaults:function defaults(t){return t&&t.ease&&(t.ease=jt(t.ease,V.ease)),ta(V,t||{})},config:function config(t){return ta(q,t||{})},registerEffect:function registerEffect(t){var i=t.name,n=t.effect,e=t.plugins,a=t.defaults,r=t.extendTimeline;(e||"").split(",").forEach(function(t){return t&&!pt[t]&&!ot[t]&&R(i+" effect requires "+t+" plugin.")}),_t[i]=function(t,e,r){return n(Ot(t),qa(e||{},a),r)},r&&(Xt.prototype[i]=function(t,e,r){return this.add(_t[i](t,v(e)?e:(r=e)&&{},this),r)})},registerEase:function registerEase(t,e){Bt[t]=jt(e)},parseEase:function parseEase(t,e){return arguments.length?jt(t,e):Bt},getById:function getById(t){return I.getById(t)},exportRoot:function exportRoot(t,e){void 0===t&&(t={});var r,i,n=new Xt(t);for(n.smoothChildTiming=w(t.smoothChildTiming),I.remove(n),n._dp=0,n._time=n._tTime=I._time,r=I._first;r;)i=r._next,!e&&!r._dur&&r instanceof Zt&&r.vars.onComplete===r._targets[0]||Ka(n,r,r._start-r._delay),r=i;return Ka(I,n,0),n},context:function context(t,e){return t?new Pe(t,e):l},matchMedia:function matchMedia(t){return new Ce(t)},matchMediaRefresh:function matchMediaRefresh(){return ge.forEach(function(t){var e,r,i=t.conditions;for(r in i)i[r]&&(i[r]=!1,e=1);e&&t.revert()})||Fc()},addEventListener:function addEventListener(t,e){var r=ye[t]||(ye[t]=[]);~r.indexOf(e)||r.push(e)},removeEventListener:function removeEventListener(t,e){var r=ye[t],i=r&&r.indexOf(e);0<=i&&r.splice(i,1)},utils:{wrap:function wrap(e,t,r){var i=t-e;return $(e)?lb(e,wrap(0,e.length),t):Wa(r,function(t){return(i+(t-e)%i)%i+e})},wrapYoyo:function wrapYoyo(e,t,r){var i=t-e,n=2*i;return $(e)?lb(e,wrapYoyo(0,e.length-1),t):Wa(r,function(t){return e+(i<(t=(n+(t-e)%n)%n||0)?n-t:t)})},distribute:eb,random:hb,snap:gb,normalize:function normalize(t,e,r){return Pt(t,e,0,1,r)},getUnit:Ya,clamp:function clamp(e,r,t){return Wa(t,function(t){return kt(e,r,t)})},splitColor:Ab,toArray:Ot,selector:cb,mapRange:Pt,pipe:function pipe(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return function(t){return e.reduce(function(t,e){return e(t)},t)}},unitize:function unitize(e,r){return function(t){return e(parseFloat(t))+(r||Ya(t))}},interpolate:function interpolate(e,i,t,n){var a=isNaN(e+i)?0:function(t){return(1-t)*e+t*i};if(!a){var s,o,u,h,l,f=r(e),c={};if(!0===t&&(n=1)&&(t=null),f)e={p:e},i={p:i};else if($(e)&&!$(i)){for(u=[],h=e.length,l=h-2,o=1;o<h;o++)u.push(interpolate(e[o-1],e[o]));h--,a=function func(t){t*=h;var e=Math.min(l,~~t);return u[e](t-e)},t=i}else n||(e=yt($(e)?[]:{},e));if(!u){for(s in i)Qt.call(c,e,s,"get",i[s]);a=function func(t){return he(t,c)||(f?e.p:e)}}}return Wa(t,a)},shuffle:db},install:P,effects:_t,ticker:Rt,updateRoot:Xt.updateRoot,plugins:pt,globalTimeline:I,core:{PropTween:_e,globals:S,Tween:Zt,Timeline:Xt,Animation:Ut,getCache:fa,_removeLinkedListItem:ya,reverting:function reverting(){return L},context:function context(t){return t&&l&&(l.data.push(t),t._ctx=l),l},suppressOverwrites:function suppressOverwrites(t){return B=t}}};ha("to,from,fromTo,delayedCall,set,killTweensOf",function(t){return Se[t]=Zt[t]}),Rt.add(Xt.updateRoot),c=Se.to({},{duration:0});function Jc(t,e){for(var r=t._pt;r&&r.p!==e&&r.op!==e&&r.fp!==e;)r=r._next;return r}function Lc(t,a){return{name:t,rawVars:1,init:function init(t,n,e){e._onInit=function(t){var e,i;if(r(n)&&(e={},ha(n,function(t){return e[t]=1}),n=e),a){for(i in e={},n)e[i]=a(n[i]);n=e}!function _addModifiers(t,e){var r,i,n,a=t._targets;for(r in e)for(i=a.length;i--;)(n=(n=t._ptLookup[i][r])&&n.d)&&(n._pt&&(n=Jc(n,r)),n&&n.modifier&&n.modifier(e[r],t,a[i],r))}(t,n)}}}}var Ee=Se.registerPlugin({name:"attr",init:function init(t,e,r,i,n){var a,s,o;for(a in this.tween=r,e)o=t.getAttribute(a)||"",(s=this.add(t,"setAttribute",(o||0)+"",e[a],i,n,0,0,a)).op=a,s.b=o,this._props.push(a)},render:function render(t,e){for(var r=e._pt;r;)L?r.set(r.t,r.p,r.b,r):r.r(t,r.d),r=r._next}},{name:"endArray",init:function init(t,e){for(var r=e.length;r--;)this.add(t,r,t[r]||0,e[r],0,0,0,0,0,1)}},Lc("roundProps",fb),Lc("modifiers"),Lc("snap",gb))||Se;Zt.version=Xt.version=Ee.version="3.12.2",o=1,x()&&Ft();function vd(t,e){return e.set(e.t,e.p,Math.round(1e4*(e.s+e.c*t))/1e4+e.u,e)}function wd(t,e){return e.set(e.t,e.p,1===t?e.e:Math.round(1e4*(e.s+e.c*t))/1e4+e.u,e)}function xd(t,e){return e.set(e.t,e.p,t?Math.round(1e4*(e.s+e.c*t))/1e4+e.u:e.b,e)}function yd(t,e){var r=e.s+e.c*t;e.set(e.t,e.p,~~(r+(r<0?-.5:.5))+e.u,e)}function zd(t,e){return e.set(e.t,e.p,t?e.e:e.b,e)}function Ad(t,e){return e.set(e.t,e.p,1!==t?e.b:e.e,e)}function Bd(t,e,r){return t.style[e]=r}function Cd(t,e,r){return t.style.setProperty(e,r)}function Dd(t,e,r){return t._gsap[e]=r}function Ed(t,e,r){return t._gsap.scaleX=t._gsap.scaleY=r}function Fd(t,e,r,i,n){var a=t._gsap;a.scaleX=a.scaleY=r,a.renderTransform(n,a)}function Gd(t,e,r,i,n){var a=t._gsap;a[e]=r,a.renderTransform(n,a)}function Jd(t,e){var r=this,i=this.target,n=i.style;if(t in ar&&n){if(this.tfm=this.tfm||{},"transform"===t)return cr.transform.split(",").forEach(function(t){return Jd.call(r,t,e)});if(~(t=cr[t]||t).indexOf(",")?t.split(",").forEach(function(t){return r.tfm[t]=yr(i,t)}):this.tfm[t]=i._gsap.x?i._gsap[t]:yr(i,t),0<=this.props.indexOf(dr))return;i._gsap.svg&&(this.svgo=i.getAttribute("data-svg-origin"),this.props.push(pr,e,"")),t=dr}(n||e)&&this.props.push(t,e,n[t])}function Kd(t){t.translate&&(t.removeProperty("translate"),t.removeProperty("scale"),t.removeProperty("rotate"))}function Ld(){var t,e,r=this.props,i=this.target,n=i.style,a=i._gsap;for(t=0;t<r.length;t+=3)r[t+1]?i[r[t]]=r[t+2]:r[t+2]?n[r[t]]=r[t+2]:n.removeProperty("--"===r[t].substr(0,2)?r[t]:r[t].replace(hr,"-$1").toLowerCase());if(this.tfm){for(e in this.tfm)a[e]=this.tfm[e];a.svg&&(a.renderTransform(),i.setAttribute("data-svg-origin",this.svgo||"")),(t=Ie())&&t.isStart||n[dr]||(Kd(n),a.uncache=1)}}function Md(t,e){var r={target:t,props:[],revert:Ld,save:Jd};return t._gsap||Ee.core.getCache(t),e&&e.split(",").forEach(function(t){return r.save(t)}),r}function Od(t,e){var r=ze.createElementNS?ze.createElementNS((e||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),t):ze.createElement(t);return r.style?r:ze.createElement(t)}function Pd(t,e,r){var i=getComputedStyle(t);return i[e]||i.getPropertyValue(e.replace(hr,"-$1").toLowerCase())||i.getPropertyValue(e)||!r&&Pd(t,mr(e)||e,1)||""}function Sd(){(function _windowExists(){return"undefined"!=typeof window})()&&window.document&&(De=window,ze=De.document,Re=ze.documentElement,Be=Od("div")||{style:{}},Od("div"),dr=mr(dr),pr=dr+"Origin",Be.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",Ye=!!mr("perspective"),Ie=Ee.core.reverting,Fe=1)}function Td(t){var e,r=Od("svg",this.ownerSVGElement&&this.ownerSVGElement.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),i=this.parentNode,n=this.nextSibling,a=this.style.cssText;if(Re.appendChild(r),r.appendChild(this),this.style.display="block",t)try{e=this.getBBox(),this._gsapBBox=this.getBBox,this.getBBox=Td}catch(t){}else this._gsapBBox&&(e=this._gsapBBox());return i&&(n?i.insertBefore(this,n):i.appendChild(this)),Re.removeChild(r),this.style.cssText=a,e}function Ud(t,e){for(var r=e.length;r--;)if(t.hasAttribute(e[r]))return t.getAttribute(e[r])}function Vd(e){var r;try{r=e.getBBox()}catch(t){r=Td.call(e,!0)}return r&&(r.width||r.height)||e.getBBox===Td||(r=Td.call(e,!0)),!r||r.width||r.x||r.y?r:{x:+Ud(e,["x","cx","x1"])||0,y:+Ud(e,["y","cy","y1"])||0,width:0,height:0}}function Wd(t){return!(!t.getCTM||t.parentNode&&!t.ownerSVGElement||!Vd(t))}function Xd(t,e){if(e){var r=t.style;e in ar&&e!==pr&&(e=dr),r.removeProperty?("ms"!==e.substr(0,2)&&"webkit"!==e.substr(0,6)||(e="-"+e),r.removeProperty(e.replace(hr,"-$1").toLowerCase())):r.removeAttribute(e)}}function Yd(t,e,r,i,n,a){var s=new _e(t._pt,e,r,0,1,a?Ad:zd);return(t._pt=s).b=i,s.e=n,t._props.push(r),s}function _d(t,e,r,i){var n,a,s,o,u=parseFloat(r)||0,h=(r+"").trim().substr((u+"").length)||"px",l=Be.style,f=lr.test(e),c="svg"===t.tagName.toLowerCase(),d=(c?"client":"offset")+(f?"Width":"Height"),p="px"===i,_="%"===i;return i===h||!u||gr[i]||gr[h]?u:("px"===h||p||(u=_d(t,e,r,"px")),o=t.getCTM&&Wd(t),!_&&"%"!==h||!ar[e]&&!~e.indexOf("adius")?(l[f?"width":"height"]=100+(p?h:i),a=~e.indexOf("adius")||"em"===i&&t.appendChild&&!c?t:t.parentNode,o&&(a=(t.ownerSVGElement||{}).parentNode),a&&a!==ze&&a.appendChild||(a=ze.body),(s=a._gsap)&&_&&s.width&&f&&s.time===Rt.time&&!s.uncache?ia(u/s.width*100):(!_&&"%"!==h||vr[Pd(a,"display")]||(l.position=Pd(t,"position")),a===t&&(l.position="static"),a.appendChild(Be),n=Be[d],a.removeChild(Be),l.position="absolute",f&&_&&((s=fa(a)).time=Rt.time,s.width=a[d]),ia(p?n*u/100:n&&u?100/n*u:0))):(n=o?t.getBBox()[f?"width":"height"]:t[d],ia(_?u/n*100:u/100*n)))}function be(t,e,r,i){if(!r||"none"===r){var n=mr(e,t,1),a=n&&Pd(t,n,1);a&&a!==r?(e=n,r=a):"borderColor"===e&&(r=Pd(t,"borderTopColor"))}var s,o,u,h,l,f,c,d,p,_,m,g=new _e(this._pt,t.style,e,0,1,ue),v=0,y=0;if(g.b=r,g.e=i,r+="","auto"===(i+="")&&(t.style[e]=i,i=Pd(t,e)||i,t.style[e]=r),Fb(s=[r,i]),i=s[1],u=(r=s[0]).match(rt)||[],(i.match(rt)||[]).length){for(;o=rt.exec(i);)c=o[0],p=i.substring(v,o.index),l?l=(l+1)%5:"rgba("!==p.substr(-5)&&"hsla("!==p.substr(-5)||(l=1),c!==(f=u[y++]||"")&&(h=parseFloat(f)||0,m=f.substr((h+"").length),"="===c.charAt(1)&&(c=ka(h,c)+m),d=parseFloat(c),_=c.substr((d+"").length),v=rt.lastIndex-_.length,_||(_=_||q.units[e]||m,v===i.length&&(i+=_,g.e+=_)),m!==_&&(h=_d(t,e,f,_)||0),g._pt={_next:g._pt,p:p||1===y?p:",",s:h,c:d-h,m:l&&l<4||"zIndex"===e?Math.round:0});g.c=v<i.length?i.substring(v,i.length):""}else g.r="display"===e&&"none"===i?Ad:zd;return nt.test(i)&&(g.e=0),this._pt=g}function de(t){var e=t.split(" "),r=e[0],i=e[1]||"50%";return"top"!==r&&"bottom"!==r&&"left"!==i&&"right"!==i||(t=r,r=i,i=t),e[0]=Tr[r]||r,e[1]=Tr[i]||i,e.join(" ")}function ee(t,e){if(e.tween&&e.tween._time===e.tween._dur){var r,i,n,a=e.t,s=a.style,o=e.u,u=a._gsap;if("all"===o||!0===o)s.cssText="",i=1;else for(n=(o=o.split(",")).length;-1<--n;)r=o[n],ar[r]&&(i=1,r="transformOrigin"===r?pr:dr),Xd(a,r);i&&(Xd(a,dr),u&&(u.svg&&a.removeAttribute("transform"),kr(a,1),u.uncache=1,Kd(s)))}}function ie(t){return"matrix(1, 0, 0, 1, 0, 0)"===t||"none"===t||!t}function je(t){var e=Pd(t,dr);return ie(e)?wr:e.substr(7).match(et).map(ia)}function ke(t,e){var r,i,n,a,s=t._gsap||fa(t),o=t.style,u=je(t);return s.svg&&t.getAttribute("transform")?"1,0,0,1,0,0"===(u=[(n=t.transform.baseVal.consolidate().matrix).a,n.b,n.c,n.d,n.e,n.f]).join(",")?wr:u:(u!==wr||t.offsetParent||t===Re||s.svg||(n=o.display,o.display="block",(r=t.parentNode)&&t.offsetParent||(a=1,i=t.nextElementSibling,Re.appendChild(t)),u=je(t),n?o.display=n:Xd(t,"display"),a&&(i?r.insertBefore(t,i):r?r.appendChild(t):Re.removeChild(t))),e&&6<u.length?[u[0],u[1],u[4],u[5],u[12],u[13]]:u)}function le(t,e,r,i,n,a){var s,o,u,h=t._gsap,l=n||ke(t,!0),f=h.xOrigin||0,c=h.yOrigin||0,d=h.xOffset||0,p=h.yOffset||0,_=l[0],m=l[1],g=l[2],v=l[3],y=l[4],T=l[5],b=e.split(" "),w=parseFloat(b[0])||0,x=parseFloat(b[1])||0;r?l!==wr&&(o=_*v-m*g)&&(u=w*(-m/o)+x*(_/o)-(_*T-m*y)/o,w=w*(v/o)+x*(-g/o)+(g*T-v*y)/o,x=u):(w=(s=Vd(t)).x+(~b[0].indexOf("%")?w/100*s.width:w),x=s.y+(~(b[1]||b[0]).indexOf("%")?x/100*s.height:x)),i||!1!==i&&h.smooth?(y=w-f,T=x-c,h.xOffset=d+(y*_+T*g)-y,h.yOffset=p+(y*m+T*v)-T):h.xOffset=h.yOffset=0,h.xOrigin=w,h.yOrigin=x,h.smooth=!!i,h.origin=e,h.originIsAbsolute=!!r,t.style[pr]="0px 0px",a&&(Yd(a,h,"xOrigin",f,w),Yd(a,h,"yOrigin",c,x),Yd(a,h,"xOffset",d,h.xOffset),Yd(a,h,"yOffset",p,h.yOffset)),t.setAttribute("data-svg-origin",w+" "+x)}function oe(t,e,r){var i=Ya(e);return ia(parseFloat(e)+parseFloat(_d(t,"x",r+"px",i)))+i}function ve(t,e,i,n,a){var s,o,u=360,h=r(a),l=parseFloat(a)*(h&&~a.indexOf("rad")?sr:1)-n,f=n+l+"deg";return h&&("short"===(s=a.split("_")[1])&&(l%=u)!==l%180&&(l+=l<0?u:-u),"cw"===s&&l<0?l=(l+36e9)%u-~~(l/u)*u:"ccw"===s&&0<l&&(l=(l-36e9)%u-~~(l/u)*u)),t._pt=o=new _e(t._pt,e,i,n,l,wd),o.e=f,o.u="deg",t._props.push(i),o}function we(t,e){for(var r in e)t[r]=e[r];return t}function xe(t,e,r){var i,n,a,s,o,u,h,l=we({},r._gsap),f=r.style;for(n in l.svg?(a=r.getAttribute("transform"),r.setAttribute("transform",""),f[dr]=e,i=kr(r,1),Xd(r,dr),r.setAttribute("transform",a)):(a=getComputedStyle(r)[dr],f[dr]=e,i=kr(r,1),f[dr]=a),ar)(a=l[n])!==(s=i[n])&&"perspective,force3D,transformOrigin,svgOrigin".indexOf(n)<0&&(o=Ya(a)!==(h=Ya(s))?_d(r,n,a,h):parseFloat(a),u=parseFloat(s),t._pt=new _e(t._pt,i,n,o,u-o,vd),t._pt.u=h||0,t._props.push(n));we(i,l)}var De,ze,Re,Fe,Be,Le,Ie,Ye,qe=Bt.Power0,Ve=Bt.Power1,Ue=Bt.Power2,Xe=Bt.Power3,Ne=Bt.Power4,We=Bt.Linear,Qe=Bt.Quad,Ge=Bt.Cubic,Ke=Bt.Quart,Je=Bt.Quint,He=Bt.Strong,Ze=Bt.Elastic,$e=Bt.Back,tr=Bt.SteppedEase,er=Bt.Bounce,rr=Bt.Sine,ir=Bt.Expo,nr=Bt.Circ,ar={},sr=180/Math.PI,or=Math.PI/180,ur=Math.atan2,hr=/([A-Z])/g,lr=/(left|right|width|margin|padding|x)/i,fr=/[\s,\(]\S/,cr={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},dr="transform",pr=dr+"Origin",_r="O,Moz,ms,Ms,Webkit".split(","),mr=function _checkPropPrefix(t,e,r){var i=(e||Be).style,n=5;if(t in i&&!r)return t;for(t=t.charAt(0).toUpperCase()+t.substr(1);n--&&!(_r[n]+t in i););return n<0?null:(3===n?"ms":0<=n?_r[n]:"")+t},gr={deg:1,rad:1,turn:1},vr={grid:1,flex:1},yr=function _get(t,e,r,i){var n;return Fe||Sd(),e in cr&&"transform"!==e&&~(e=cr[e]).indexOf(",")&&(e=e.split(",")[0]),ar[e]&&"transform"!==e?(n=kr(t,i),n="transformOrigin"!==e?n[e]:n.svg?n.origin:Mr(Pd(t,pr))+" "+n.zOrigin+"px"):(n=t.style[e])&&"auto"!==n&&!i&&!~(n+"").indexOf("calc(")||(n=br[e]&&br[e](t,e,r)||Pd(t,e)||ga(t,e)||("opacity"===e?1:0)),r&&!~(n+"").trim().indexOf(" ")?_d(t,e,n,r)+r:n},Tr={top:"0%",bottom:"100%",left:"0%",right:"100%",center:"50%"},br={clearProps:function clearProps(t,e,r,i,n){if("isFromStart"!==n.data){var a=t._pt=new _e(t._pt,e,r,0,0,ee);return a.u=i,a.pr=-10,a.tween=n,t._props.push(r),1}}},wr=[1,0,0,1,0,0],xr={},kr=function _parseTransform(t,e){var r=t._gsap||new Vt(t);if("x"in r&&!e&&!r.uncache)return r;var i,n,a,s,o,u,h,l,f,c,d,p,_,m,g,v,y,T,b,w,x,k,M,O,P,A,C,S,E,D,z,R,F=t.style,B=r.scaleX<0,L="deg",I=getComputedStyle(t),Y=Pd(t,pr)||"0";return i=n=a=u=h=l=f=c=d=0,s=o=1,r.svg=!(!t.getCTM||!Wd(t)),I.translate&&("none"===I.translate&&"none"===I.scale&&"none"===I.rotate||(F[dr]=("none"!==I.translate?"translate3d("+(I.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+("none"!==I.rotate?"rotate("+I.rotate+") ":"")+("none"!==I.scale?"scale("+I.scale.split(" ").join(",")+") ":"")+("none"!==I[dr]?I[dr]:"")),F.scale=F.rotate=F.translate="none"),m=ke(t,r.svg),r.svg&&(O=r.uncache?(P=t.getBBox(),Y=r.xOrigin-P.x+"px "+(r.yOrigin-P.y)+"px",""):!e&&t.getAttribute("data-svg-origin"),le(t,O||Y,!!O||r.originIsAbsolute,!1!==r.smooth,m)),p=r.xOrigin||0,_=r.yOrigin||0,m!==wr&&(T=m[0],b=m[1],w=m[2],x=m[3],i=k=m[4],n=M=m[5],6===m.length?(s=Math.sqrt(T*T+b*b),o=Math.sqrt(x*x+w*w),u=T||b?ur(b,T)*sr:0,(f=w||x?ur(w,x)*sr+u:0)&&(o*=Math.abs(Math.cos(f*or))),r.svg&&(i-=p-(p*T+_*w),n-=_-(p*b+_*x))):(R=m[6],D=m[7],C=m[8],S=m[9],E=m[10],z=m[11],i=m[12],n=m[13],a=m[14],h=(g=ur(R,E))*sr,g&&(O=k*(v=Math.cos(-g))+C*(y=Math.sin(-g)),P=M*v+S*y,A=R*v+E*y,C=k*-y+C*v,S=M*-y+S*v,E=R*-y+E*v,z=D*-y+z*v,k=O,M=P,R=A),l=(g=ur(-w,E))*sr,g&&(v=Math.cos(-g),z=x*(y=Math.sin(-g))+z*v,T=O=T*v-C*y,b=P=b*v-S*y,w=A=w*v-E*y),u=(g=ur(b,T))*sr,g&&(O=T*(v=Math.cos(g))+b*(y=Math.sin(g)),P=k*v+M*y,b=b*v-T*y,M=M*v-k*y,T=O,k=P),h&&359.9<Math.abs(h)+Math.abs(u)&&(h=u=0,l=180-l),s=ia(Math.sqrt(T*T+b*b+w*w)),o=ia(Math.sqrt(M*M+R*R)),g=ur(k,M),f=2e-4<Math.abs(g)?g*sr:0,d=z?1/(z<0?-z:z):0),r.svg&&(O=t.getAttribute("transform"),r.forceCSS=t.setAttribute("transform","")||!ie(Pd(t,dr)),O&&t.setAttribute("transform",O))),90<Math.abs(f)&&Math.abs(f)<270&&(B?(s*=-1,f+=u<=0?180:-180,u+=u<=0?180:-180):(o*=-1,f+=f<=0?180:-180)),e=e||r.uncache,r.x=i-((r.xPercent=i&&(!e&&r.xPercent||(Math.round(t.offsetWidth/2)===Math.round(-i)?-50:0)))?t.offsetWidth*r.xPercent/100:0)+"px",r.y=n-((r.yPercent=n&&(!e&&r.yPercent||(Math.round(t.offsetHeight/2)===Math.round(-n)?-50:0)))?t.offsetHeight*r.yPercent/100:0)+"px",r.z=a+"px",r.scaleX=ia(s),r.scaleY=ia(o),r.rotation=ia(u)+L,r.rotationX=ia(h)+L,r.rotationY=ia(l)+L,r.skewX=f+L,r.skewY=c+L,r.transformPerspective=d+"px",(r.zOrigin=parseFloat(Y.split(" ")[2])||0)&&(F[pr]=Mr(Y)),r.xOffset=r.yOffset=0,r.force3D=q.force3D,r.renderTransform=r.svg?Er:Ye?Sr:Or,r.uncache=0,r},Mr=function _firstTwoOnly(t){return(t=t.split(" "))[0]+" "+t[1]},Or=function _renderNon3DTransforms(t,e){e.z="0px",e.rotationY=e.rotationX="0deg",e.force3D=0,Sr(t,e)},Pr="0deg",Ar="0px",Cr=") ",Sr=function _renderCSSTransforms(t,e){var r=e||this,i=r.xPercent,n=r.yPercent,a=r.x,s=r.y,o=r.z,u=r.rotation,h=r.rotationY,l=r.rotationX,f=r.skewX,c=r.skewY,d=r.scaleX,p=r.scaleY,_=r.transformPerspective,m=r.force3D,g=r.target,v=r.zOrigin,y="",T="auto"===m&&t&&1!==t||!0===m;if(v&&(l!==Pr||h!==Pr)){var b,w=parseFloat(h)*or,x=Math.sin(w),k=Math.cos(w);w=parseFloat(l)*or,b=Math.cos(w),a=oe(g,a,x*b*-v),s=oe(g,s,-Math.sin(w)*-v),o=oe(g,o,k*b*-v+v)}_!==Ar&&(y+="perspective("+_+Cr),(i||n)&&(y+="translate("+i+"%, "+n+"%) "),!T&&a===Ar&&s===Ar&&o===Ar||(y+=o!==Ar||T?"translate3d("+a+", "+s+", "+o+") ":"translate("+a+", "+s+Cr),u!==Pr&&(y+="rotate("+u+Cr),h!==Pr&&(y+="rotateY("+h+Cr),l!==Pr&&(y+="rotateX("+l+Cr),f===Pr&&c===Pr||(y+="skew("+f+", "+c+Cr),1===d&&1===p||(y+="scale("+d+", "+p+Cr),g.style[dr]=y||"translate(0, 0)"},Er=function _renderSVGTransforms(t,e){var r,i,n,a,s,o=e||this,u=o.xPercent,h=o.yPercent,l=o.x,f=o.y,c=o.rotation,d=o.skewX,p=o.skewY,_=o.scaleX,m=o.scaleY,g=o.target,v=o.xOrigin,y=o.yOrigin,T=o.xOffset,b=o.yOffset,w=o.forceCSS,x=parseFloat(l),k=parseFloat(f);c=parseFloat(c),d=parseFloat(d),(p=parseFloat(p))&&(d+=p=parseFloat(p),c+=p),c||d?(c*=or,d*=or,r=Math.cos(c)*_,i=Math.sin(c)*_,n=Math.sin(c-d)*-m,a=Math.cos(c-d)*m,d&&(p*=or,s=Math.tan(d-p),n*=s=Math.sqrt(1+s*s),a*=s,p&&(s=Math.tan(p),r*=s=Math.sqrt(1+s*s),i*=s)),r=ia(r),i=ia(i),n=ia(n),a=ia(a)):(r=_,a=m,i=n=0),(x&&!~(l+"").indexOf("px")||k&&!~(f+"").indexOf("px"))&&(x=_d(g,"x",l,"px"),k=_d(g,"y",f,"px")),(v||y||T||b)&&(x=ia(x+v-(v*r+y*n)+T),k=ia(k+y-(v*i+y*a)+b)),(u||h)&&(s=g.getBBox(),x=ia(x+u/100*s.width),k=ia(k+h/100*s.height)),s="matrix("+r+","+i+","+n+","+a+","+x+","+k+")",g.setAttribute("transform",s),w&&(g.style[dr]=s)};ha("padding,margin,Width,Radius",function(e,r){var t="Right",i="Bottom",n="Left",o=(r<3?["Top",t,i,n]:["Top"+n,"Top"+t,i+t,i+n]).map(function(t){return r<2?e+t:"border"+t+e});br[1<r?"border"+e:e]=function(e,t,r,i,n){var a,s;if(arguments.length<4)return a=o.map(function(t){return yr(e,t,r)}),5===(s=a.join(" ")).split(a[0]).length?a[0]:s;a=(i+"").split(" "),s={},o.forEach(function(t,e){return s[t]=a[e]=a[e]||a[(e-1)/2|0]}),e.init(t,s,n)}});var Dr,zr,Rr,Fr={name:"css",register:Sd,targetTest:function targetTest(t){return t.style&&t.nodeType},init:function init(t,e,i,n,a){var s,o,u,h,l,f,c,d,p,_,m,g,v,y,T,b,w=this._props,x=t.style,k=i.vars.startAt;for(c in Fe||Sd(),this.styles=this.styles||Md(t),b=this.styles.props,this.tween=i,e)if("autoRound"!==c&&(o=e[c],!pt[c]||!ac(c,e,i,n,t,a)))if(l=typeof o,f=br[c],"function"===l&&(l=typeof(o=o.call(i,n,t,a))),"string"===l&&~o.indexOf("random(")&&(o=ob(o)),f)f(this,t,c,o,i)&&(T=1);else if("--"===c.substr(0,2))s=(getComputedStyle(t).getPropertyValue(c)+"").trim(),o+="",Dt.lastIndex=0,Dt.test(s)||(d=Ya(s),p=Ya(o)),p?d!==p&&(s=_d(t,c,s,p)+p):d&&(o+=d),this.add(x,"setProperty",s,o,n,a,0,0,c),w.push(c),b.push(c,0,x[c]);else if("undefined"!==l){if(k&&c in k?(s="function"==typeof k[c]?k[c].call(i,n,t,a):k[c],r(s)&&~s.indexOf("random(")&&(s=ob(s)),Ya(s+"")||(s+=q.units[c]||Ya(yr(t,c))||""),"="===(s+"").charAt(1)&&(s=yr(t,c))):s=yr(t,c),h=parseFloat(s),(_="string"===l&&"="===o.charAt(1)&&o.substr(0,2))&&(o=o.substr(2)),u=parseFloat(o),c in cr&&("autoAlpha"===c&&(1===h&&"hidden"===yr(t,"visibility")&&u&&(h=0),b.push("visibility",0,x.visibility),Yd(this,x,"visibility",h?"inherit":"hidden",u?"inherit":"hidden",!u)),"scale"!==c&&"transform"!==c&&~(c=cr[c]).indexOf(",")&&(c=c.split(",")[0])),m=c in ar)if(this.styles.save(c),g||((v=t._gsap).renderTransform&&!e.parseTransform||kr(t,e.parseTransform),y=!1!==e.smoothOrigin&&v.smooth,(g=this._pt=new _e(this._pt,x,dr,0,1,v.renderTransform,v,0,-1)).dep=1),"scale"===c)this._pt=new _e(this._pt,v,"scaleY",v.scaleY,(_?ka(v.scaleY,_+u):u)-v.scaleY||0,vd),this._pt.u=0,w.push("scaleY",c),c+="X";else{if("transformOrigin"===c){b.push(pr,0,x[pr]),o=de(o),v.svg?le(t,o,0,y,0,this):((p=parseFloat(o.split(" ")[2])||0)!==v.zOrigin&&Yd(this,v,"zOrigin",v.zOrigin,p),Yd(this,x,c,Mr(s),Mr(o)));continue}if("svgOrigin"===c){le(t,o,1,y,0,this);continue}if(c in xr){ve(this,v,c,h,_?ka(h,_+o):o);continue}if("smoothOrigin"===c){Yd(this,v,"smooth",v.smooth,o);continue}if("force3D"===c){v[c]=o;continue}if("transform"===c){xe(this,o,t);continue}}else c in x||(c=mr(c)||c);if(m||(u||0===u)&&(h||0===h)&&!fr.test(o)&&c in x)u=u||0,(d=(s+"").substr((h+"").length))!==(p=Ya(o)||(c in q.units?q.units[c]:d))&&(h=_d(t,c,s,p)),this._pt=new _e(this._pt,m?v:x,c,h,(_?ka(h,_+u):u)-h,m||"px"!==p&&"zIndex"!==c||!1===e.autoRound?vd:yd),this._pt.u=p||0,d!==p&&"%"!==p&&(this._pt.b=s,this._pt.r=xd);else if(c in x)be.call(this,t,c,s,_?_+o:o);else if(c in t)this.add(t,c,s||t[c],_?_+o:o,n,a);else if("parseTransform"!==c){Q(c,o);continue}m||(c in x?b.push(c,0,x[c]):b.push(c,1,s||t[c])),w.push(c)}T&&pe(this)},render:function render(t,e){if(e.tween._time||!Ie())for(var r=e._pt;r;)r.r(t,r.d),r=r._next;else e.styles.revert()},get:yr,aliases:cr,getSetter:function getSetter(t,e,r){var i=cr[e];return i&&i.indexOf(",")<0&&(e=i),e in ar&&e!==pr&&(t._gsap.x||yr(t,"x"))?r&&Le===r?"scale"===e?Ed:Dd:(Le=r||{})&&("scale"===e?Fd:Gd):t.style&&!u(t.style[e])?Bd:~e.indexOf("-")?Cd:ne(t,e)},core:{_removeProperty:Xd,_getMatrix:ke}};Ee.utils.checkPrefix=mr,Ee.core.getStyleSaver=Md,Rr=ha((Dr="x,y,z,scale,scaleX,scaleY,xPercent,yPercent")+","+(zr="rotation,rotationX,rotationY,skewX,skewY")+",transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective",function(t){ar[t]=1}),ha(zr,function(t){q.units[t]="deg",xr[t]=1}),cr[Rr[13]]=Dr+","+zr,ha("0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY",function(t){var e=t.split(":");cr[e[1]]=Rr[e[0]]}),ha("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(t){q.units[t]="px"}),Ee.registerPlugin(Fr);var Br=Ee.registerPlugin(Fr)||Ee,Lr=Br.core.Tween;e.Back=$e,e.Bounce=er,e.CSSPlugin=Fr,e.Circ=nr,e.Cubic=Ge,e.Elastic=Ze,e.Expo=ir,e.Linear=We,e.Power0=qe,e.Power1=Ve,e.Power2=Ue,e.Power3=Xe,e.Power4=Ne,e.Quad=Qe,e.Quart=Ke,e.Quint=Je,e.Sine=rr,e.SteppedEase=tr,e.Strong=He,e.TimelineLite=Xt,e.TimelineMax=Xt,e.TweenLite=Zt,e.TweenMax=Lr,e.default=Br,e.gsap=Br;if(typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})}else{delete e.default}});
jQuery(document).on('action.init_hidden_elements', function(){
"use strict";
var is_touch=trx_addons_browser_is_touch(),
is_sticky=trx_addons_browser_is_support_css_sticky(),
use_sticky=is_sticky&&! is_touch;
var $window=jQuery(window),
$document=jQuery(document),
$body=jQuery('body');
jQuery('.sc_hscroll:not(.sc_hscroll_inited)').each(function(nth){
if(nth===0&&! $body.hasClass('sc_stack_section_present') ){
$body.addClass('sc_stack_section_present');
}
var $self=jQuery(this).addClass('sc_hscroll_inited'),
$wrap=$self.find('.sc_hscroll_wrap'),
$scroller=$self.find('.sc_hscroll_scroller'),
$sections=$self.find('.sc_hscroll_section'),
$section=$sections.eq(0),
$bullets=$self.find('.sc_hscroll_bullets'),
$numbers=$self.find('.sc_hscroll_numbers'),
$progress=$self.find('.sc_hscroll_progress'),
$bg_layers=$self.find('.sc_hscroll_background'),
$parent=$self.parent(),
$spacer=$self.find('.sc_hscroll_spacer'),
total=$self.data('total'),
reverse=$self.hasClass('sc_hscroll_reverse'),
parent_in=false;
if(typeof elementorFrontend=='undefined'||! elementorFrontend.isEditMode()){
$sections.each(function(){
var $section=jQuery(this),
id=$section.data('section');
if(id&&$section.html().length < 2){
$section.empty().append(jQuery('#' + id) );
}
$section.addClass('sc_hscroll_section_inited');
});
}
trx_addons_intersection_observer_add($parent, function(item, enter, entry){
parent_in=enter;
});
var scroller_width, parent_top, section_width, section_height, spacer_height, dx, dy;
function trx_addons_sc_hscroller_calc(){
scroller_width=$scroller.outerWidth();
parent_top=$parent.offset().top;
section_width=$section.outerWidth();
section_height=$section.outerHeight();
spacer_height=$spacer.height();
dx=scroller_width - section_width;
dy=spacer_height - section_height;	//(total - 1) * section_height
$section.siblings().each(function(idx){
jQuery(this).data('hscroll-section-offset',(reverse ? -1:1) *(idx + 1) * spacer_height / total);
});
}
trx_addons_sc_hscroller_calc();
$document.on('action.resize_trx_addons', trx_addons_sc_hscroller_calc);
$document.on('action.sc_layouts_row_fixed_on action.sc_layouts_row_fixed_off', function(){
parent_top=$parent.offset().top;
section_height=$section.outerHeight();
dy=$spacer.height() - section_height;	//(total - 1) * section_height
});
var first_run=true;
function trx_addons_sc_hscroller_update(){
if(! parent_in&&! first_run) return;
var duration=0.3;
var reset=true;
var offset=Math.min(Math.max(parent_top - $window.scrollTop() - trx_addons_fixed_rows_height(), -dy), 0);
var offset2=reverse ? -dy - offset:offset;
var is_fixed=offset < 0&&offset > -dy;
if(first_run||is_fixed){
$scroller
.data({
'hscroll-offset':(reverse ? -1:1) * offset2
});
TweenMax.to($scroller, duration, {
overwrite: true,
ease: Power2.easeOut,
x: offset2 / dy * dx + 'px'
});
if(is_fixed&&! $scroller.data('animated') ){
$scroller.data('animated', true);
$self.addClass('sc_hscroll_animated');
if(! use_sticky){
$wrap.css({ 'position': 'fixed', 'bottom': 'unset', 'top': 'var(--fixed-rows-height)' });
}}
reset=first_run;
}
if(reset){
if(offset >=0){
offset2=reverse ? dy:0;
if(first_run||$scroller.data('animated') ){
$scroller
.data('animated', false)
.data({
'hscroll-offset':(reverse ? -1:1) *(-offset2)
});
TweenMax.to($scroller, duration, {
overwrite: true,
ease: Power2.easeOut,
x: (reverse ? -dx:0) + 'px'
});
$self.removeClass('sc_hscroll_animated');
if(! use_sticky){
$wrap.css({ 'position': 'absolute', 'bottom': 'unset', 'top': '0' });
}}
}else{
offset2=reverse ? 0:dy;
if(first_run||$scroller.data('animated') ){
$scroller
.data('animated', false)
.data({
'hscroll-offset':(reverse ? -1:1) *(-offset2)
});
TweenMax.to($scroller, duration, {
overwrite: true,
ease: Power2.easeOut,
x: (reverse ? 0:-dx) + 'px'
});
$self.removeClass('sc_hscroll_animated');
if(! use_sticky){
$wrap.css({ 'position': 'absolute', 'bottom': '0', 'top': 'unset' });
}}
}}
var coef=(reverse ? dy - Math.abs(offset2):Math.abs(offset2) ) / dy;
var page=Math.round(coef * dx / section_width) + 1;
if($progress.length){
if($progress.hasClass('sc_hscroll_progress_position_top')||$progress.hasClass('sc_hscroll_progress_position_bottom') ){
$progress.find('.sc_hscroll_progress_value').width(coef * 100 + '%');
}else{
$progress.find('.sc_hscroll_progress_value').height(coef * 100 + '%');
}}
if($scroller.data('last-page')!=page){
$scroller.data('last-page', page);
if($bullets.length){
$bullets
.find('.sc_hscroll_bullet')
.removeClass('sc_hscroll_bullet_active')
.eq(page - 1)
.addClass('sc_hscroll_bullet_active');
}
if($numbers.length){
$numbers.find('.sc_hscroll_number_active').text(page);
}
if($bg_layers.length){
var curr=-1,
next=-1;
$bg_layers.each(function(idx){
if(jQuery(this).hasClass('sc_hscroll_background_active') ){
curr=idx;
}
if(idx <=page - 1){
next=idx;
}});
if(next==-1){
next=curr;
}
$bg_layers
.removeClass('sc_hscroll_background_active')
.eq(next).addClass('sc_hscroll_background_active');
}}
if(first_run){
first_run=false;
$document.trigger('action.hscroll_inited', [$self]);
}}
$window.on('scroll', trx_addons_sc_hscroller_update);
$document.on('action.resize_trx_addons', trx_addons_sc_hscroller_update);
$bullets.on('click', '.sc_hscroll_bullet:not(.sc_hscroll_bullet_active)', function(){
var page=jQuery(this).index();
var offset=parent_top - trx_addons_fixed_rows_height() + page * section_height;
trx_addons_document_animate_to(offset);
});
});
});
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(x){"use strict";var t,e,i,n,W,C,o,s,r,l,a,h,u;function E(t,e,i){return[parseFloat(t[0])*(a.test(t[0])?e/100:1),parseFloat(t[1])*(a.test(t[1])?i/100:1)]}function L(t,e){return parseInt(x.css(t,e),10)||0}function N(t){return null!=t&&t===t.window}x.ui=x.ui||{},x.ui.version="1.13.3",
x.extend(x.expr.pseudos,{data:x.expr.createPseudo?x.expr.createPseudo(function(e){return function(t){return!!x.data(t,e)}}):function(t,e,i){return!!x.data(t,i[3])}}),
x.fn.extend({disableSelection:(t="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}),enableSelection:function(){return this.off(".ui-disableSelection")}}),
x.ui.focusable=function(t,e){var i,n,o,s=t.nodeName.toLowerCase();return"area"===s?(o=(i=t.parentNode).name,!(!t.href||!o||"map"!==i.nodeName.toLowerCase())&&0<(i=x("img[usemap='#"+o+"']")).length&&i.is(":visible")):(/^(input|select|textarea|button|object)$/.test(s)?(n=!t.disabled)&&(o=x(t).closest("fieldset")[0])&&(n=!o.disabled):n="a"===s&&t.href||e,n&&x(t).is(":visible")&&function(t){var e=t.css("visibility");for(;"inherit"===e;)t=t.parent(),e=t.css("visibility");return"visible"===e}(x(t)))},x.extend(x.expr.pseudos,{focusable:function(t){return x.ui.focusable(t,null!=x.attr(t,"tabindex"))}}),x.fn._form=function(){return"string"==typeof this[0].form?this.closest("form"):x(this[0].form)},
x.ui.formResetMixin={_formResetHandler:function(){var e=x(this);setTimeout(function(){var t=e.data("ui-form-reset-instances");x.each(t,function(){this.refresh()})})},_bindFormResetHandler:function(){var t;this.form=this.element._form(),this.form.length&&((t=this.form.data("ui-form-reset-instances")||[]).length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t))},_unbindFormResetHandler:function(){var t;this.form.length&&((t=this.form.data("ui-form-reset-instances")).splice(x.inArray(this,t),1),t.length?this.form.data("ui-form-reset-instances",t):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))}},x.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),
x.expr.pseudos||(x.expr.pseudos=x.expr[":"]),x.uniqueSort||(x.uniqueSort=x.unique),x.escapeSelector||(e=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,i=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},x.escapeSelector=function(t){return(t+"").replace(e,i)}),x.fn.even&&x.fn.odd||x.fn.extend({even:function(){return this.filter(function(t){return t%2==0})},odd:function(){return this.filter(function(t){return t%2==1})}}),
x.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},
x.fn.labels=function(){var t,e,i;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(e=this.eq(0).parents("label"),(t=this.attr("id"))&&(i=(i=this.eq(0).parents().last()).add((i.length?i:this).siblings()),t="label[for='"+x.escapeSelector(t)+"']",e=e.add(i.find(t).addBack(t))),this.pushStack(e)):this.pushStack([])},x.ui.plugin={add:function(t,e,i){var n,o=x.ui[t].prototype;for(n in i)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([e,i[n]])},call:function(t,e,i,n){var o,s=t.plugins[e];if(s&&(n||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(o=0;o<s.length;o++)t.options[s[o][0]]&&s[o][1].apply(t.element,i)}},
W=Math.max,C=Math.abs,o=/left|center|right/,s=/top|center|bottom/,r=/[\+\-]\d+(\.[\d]+)?%?/,l=/^\w+/,a=/%$/,h=x.fn.position,x.position={scrollbarWidth:function(){var t,e,i;return void 0!==n?n:(i=(e=x("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>")).children()[0],x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),n=t-i)},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.width<t.element[0].scrollWidth;return{width:"scroll"===i||"auto"===i&&t.height<t.element[0].scrollHeight?x.position.scrollbarWidth():0,height:e?x.position.scrollbarWidth():0}},getWithinInfo:function(t){var e=x(t||window),i=N(e[0]),n=!!e[0]&&9===e[0].nodeType;return{element:e,isWindow:i,isDocument:n,offset:!i&&!n?x(t).offset():{left:0,top:0},scrollLeft:e.scrollLeft(),scrollTop:e.scrollTop(),width:e.outerWidth(),height:e.outerHeight()}}},x.fn.position=function(f){var c,d,p,g,m,v,y,w,b,_,t,e;return f&&f.of?(v="string"==typeof(f=x.extend({},f)).of?x(document).find(f.of):x(f.of),y=x.position.getWithinInfo(f.within),w=x.position.getScrollInfo(y),b=(f.collision||"flip").split(" "),_={},e=9===(e=(t=v)[0]).nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:N(e)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:e.preventDefault?{width:0,height:0,offset:{top:e.pageY,left:e.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()},v[0].preventDefault&&(f.at="left top"),d=e.width,p=e.height,m=x.extend({},g=e.offset),x.each(["my","at"],function(){var t,e,i=(f[this]||"").split(" ");(i=1===i.length?o.test(i[0])?i.concat(["center"]):s.test(i[0])?["center"].concat(i):["center","center"]:i)[0]=o.test(i[0])?i[0]:"center",i[1]=s.test(i[1])?i[1]:"center",t=r.exec(i[0]),e=r.exec(i[1]),_[this]=[t?t[0]:0,e?e[0]:0],f[this]=[l.exec(i[0])[0],l.exec(i[1])[0]]}),1===b.length&&(b[1]=b[0]),"right"===f.at[0]?m.left+=d:"center"===f.at[0]&&(m.left+=d/2),"bottom"===f.at[1]?m.top+=p:"center"===f.at[1]&&(m.top+=p/2),c=E(_.at,d,p),m.left+=c[0],m.top+=c[1],this.each(function(){var i,t,r=x(this),l=r.outerWidth(),a=r.outerHeight(),e=L(this,"marginLeft"),n=L(this,"marginTop"),o=l+e+L(this,"marginRight")+w.width,s=a+n+L(this,"marginBottom")+w.height,h=x.extend({},m),u=E(_.my,r.outerWidth(),r.outerHeight());"right"===f.my[0]?h.left-=l:"center"===f.my[0]&&(h.left-=l/2),"bottom"===f.my[1]?h.top-=a:"center"===f.my[1]&&(h.top-=a/2),h.left+=u[0],h.top+=u[1],i={marginLeft:e,marginTop:n},x.each(["left","top"],function(t,e){x.ui.position[b[t]]&&x.ui.position[b[t]][e](h,{targetWidth:d,targetHeight:p,elemWidth:l,elemHeight:a,collisionPosition:i,collisionWidth:o,collisionHeight:s,offset:[c[0]+u[0],c[1]+u[1]],my:f.my,at:f.at,within:y,elem:r})}),f.using&&(t=function(t){var e=g.left-h.left,i=e+d-l,n=g.top-h.top,o=n+p-a,s={target:{element:v,left:g.left,top:g.top,width:d,height:p},element:{element:r,left:h.left,top:h.top,width:l,height:a},horizontal:i<0?"left":0<e?"right":"center",vertical:o<0?"top":0<n?"bottom":"middle"};d<l&&C(e+i)<d&&(s.horizontal="center"),p<a&&C(n+o)<p&&(s.vertical="middle"),W(C(e),C(i))>W(C(n),C(o))?s.important="horizontal":s.important="vertical",f.using.call(this,t,s)}),r.offset(x.extend(h,{using:t}))})):h.apply(this,arguments)},x.ui.position={fit:{left:function(t,e){var i,n=e.within,o=n.isWindow?n.scrollLeft:n.offset.left,n=n.width,s=t.left-e.collisionPosition.marginLeft,r=o-s,l=s+e.collisionWidth-n-o;n<e.collisionWidth?0<r&&l<=0?(i=t.left+r+e.collisionWidth-n-o,t.left+=r-i):t.left=!(0<l&&r<=0)&&l<r?o+n-e.collisionWidth:o:0<r?t.left+=r:0<l?t.left-=l:t.left=W(t.left-s,t.left)},top:function(t,e){var i,n=e.within,n=n.isWindow?n.scrollTop:n.offset.top,o=e.within.height,s=t.top-e.collisionPosition.marginTop,r=n-s,l=s+e.collisionHeight-o-n;o<e.collisionHeight?0<r&&l<=0?(i=t.top+r+e.collisionHeight-o-n,t.top+=r-i):t.top=!(0<l&&r<=0)&&l<r?n+o-e.collisionHeight:n:0<r?t.top+=r:0<l?t.top-=l:t.top=W(t.top-s,t.top)}},flip:{left:function(t,e){var i=e.within,n=i.offset.left+i.scrollLeft,o=i.width,i=i.isWindow?i.scrollLeft:i.offset.left,s=t.left-e.collisionPosition.marginLeft,r=s-i,s=s+e.collisionWidth-o-i,l="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,a="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,h=-2*e.offset[0];r<0?((o=t.left+l+a+h+e.collisionWidth-o-n)<0||o<C(r))&&(t.left+=l+a+h):0<s&&(0<(n=t.left-e.collisionPosition.marginLeft+l+a+h-i)||C(n)<s)&&(t.left+=l+a+h)},top:function(t,e){var i=e.within,n=i.offset.top+i.scrollTop,o=i.height,i=i.isWindow?i.scrollTop:i.offset.top,s=t.top-e.collisionPosition.marginTop,r=s-i,s=s+e.collisionHeight-o-i,l="top"===e.my[1]?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,a="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,h=-2*e.offset[1];r<0?((o=t.top+l+a+h+e.collisionHeight-o-n)<0||o<C(r))&&(t.top+=l+a+h):0<s&&(0<(n=t.top-e.collisionPosition.marginTop+l+a+h-i)||C(n)<s)&&(t.top+=l+a+h)}},flipfit:{left:function(){x.ui.position.flip.left.apply(this,arguments),x.ui.position.fit.left.apply(this,arguments)},top:function(){x.ui.position.flip.top.apply(this,arguments),x.ui.position.fit.top.apply(this,arguments)}}},x.ui.safeActiveElement=function(e){var i;try{i=e.activeElement}catch(t){i=e.body}return i=(i=i||e.body).nodeName?i:e.body},x.ui.safeBlur=function(t){t&&"body"!==t.nodeName.toLowerCase()&&x(t).trigger("blur")},
x.fn.scrollParent=function(t){var e=this.css("position"),i="absolute"===e,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,t=this.parents().filter(function(){var t=x(this);return(!i||"static"!==t.css("position"))&&n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==e&&t.length?t:x(this[0].ownerDocument||document)},
x.extend(x.expr.pseudos,{tabbable:function(t){var e=x.attr(t,"tabindex"),i=null!=e;return(!i||0<=e)&&x.ui.focusable(t,i)}}),
x.fn.extend({uniqueId:(u=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++u)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&x(this).removeAttr("id")})}});
var f,c=0,d=Array.prototype.hasOwnProperty,p=Array.prototype.slice;x.cleanData=(f=x.cleanData,function(t){for(var e,i,n=0;null!=(i=t[n]);n++)(e=x._data(i,"events"))&&e.remove&&x(i).triggerHandler("remove");f(t)}),x.widget=function(t,i,e){var n,o,s,r={},l=t.split(".")[0],a=l+"-"+(t=t.split(".")[1]);return e||(e=i,i=x.Widget),Array.isArray(e)&&(e=x.extend.apply(null,[{}].concat(e))),x.expr.pseudos[a.toLowerCase()]=function(t){return!!x.data(t,a)},x[l]=x[l]||{},n=x[l][t],o=x[l][t]=function(t,e){if(!this||!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},x.extend(o,n,{version:e.version,_proto:x.extend({},e),_childConstructors:[]}),(s=new i).options=x.widget.extend({},s.options),x.each(e,function(e,n){function o(){return i.prototype[e].apply(this,arguments)}function s(t){return i.prototype[e].apply(this,t)}r[e]="function"!=typeof n?n:function(){var t,e=this._super,i=this._superApply;return this._super=o,this._superApply=s,t=n.apply(this,arguments),this._super=e,this._superApply=i,t}}),o.prototype=x.widget.extend(s,{widgetEventPrefix:n&&s.widgetEventPrefix||t},r,{constructor:o,namespace:l,widgetName:t,widgetFullName:a}),n?(x.each(n._childConstructors,function(t,e){var i=e.prototype;x.widget(i.namespace+"."+i.widgetName,o,e._proto)}),delete n._childConstructors):i._childConstructors.push(o),x.widget.bridge(t,o),o},x.widget.extend=function(t){for(var e,i,n=p.call(arguments,1),o=0,s=n.length;o<s;o++)for(e in n[o])i=n[o][e],d.call(n[o],e)&&void 0!==i&&(x.isPlainObject(i)?t[e]=x.isPlainObject(t[e])?x.widget.extend({},t[e],i):x.widget.extend({},i):t[e]=i);return t},x.widget.bridge=function(s,e){var r=e.prototype.widgetFullName||s;x.fn[s]=function(i){var t="string"==typeof i,n=p.call(arguments,1),o=this;return t?this.length||"instance"!==i?this.each(function(){var t,e=x.data(this,r);return"instance"===i?(o=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?x.error("no such method '"+i+"' for "+s+" widget instance"):(t=e[i].apply(e,n))!==e&&void 0!==t?(o=t&&t.jquery?o.pushStack(t.get()):t,!1):void 0:x.error("cannot call methods on "+s+" prior to initialization; attempted to call method '"+i+"'")}):o=void 0:(n.length&&(i=x.widget.extend.apply(null,[i].concat(n))),this.each(function(){var t=x.data(this,r);t?(t.option(i||{}),t._init&&t._init()):x.data(this,r,new e(i,this))})),o}},x.Widget=function(){},x.Widget._childConstructors=[],x.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=c++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,n,o,s=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(s={},t=(i=t.split(".")).shift(),i.length){for(n=s[t]=x.widget.extend({},this.options[t]),o=0;o<i.length-1;o++)n[i[o]]=n[i[o]]||{},n=n[i[o]];if(t=i.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=e}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];s[t]=e}return this._setOptions(s),this},_setOptions:function(t){for(var e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(t){var e,i,n;for(e in t)n=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&n&&n.length&&(i=x(n.get()),this._removeClass(n,e),i.addClass(this._classes({element:i,keys:e,classes:t,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(o){var s=[],r=this;function t(t,e){for(var i,n=0;n<t.length;n++)i=r.classesElementLookup[t[n]]||x(),i=o.add?(function(){var i=[];o.element.each(function(t,e){x.map(r.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),r._on(x(i),{remove:"_untrackClassesElement"})}(),x(x.uniqueSort(i.get().concat(o.element.get())))):x(i.not(o.element).get()),r.classesElementLookup[t[n]]=i,s.push(t[n]),e&&o.classes[t[n]]&&s.push(o.classes[t[n]])}return(o=x.extend({element:this.element,classes:this.options.classes||{}},o)).keys&&t(o.keys.match(/\S+/g)||[],!0),o.extra&&t(o.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(i){var n=this;x.each(n.classesElementLookup,function(t,e){-1!==x.inArray(i.target,e)&&(n.classesElementLookup[t]=x(e.not(i.target).get()))}),this._off(x(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,n){var o="string"==typeof t||null===t,e={extra:o?e:i,keys:o?t:e,element:o?this.element:t,add:n="boolean"==typeof n?n:i};return e.element.toggleClass(this._classes(e),n),this},_on:function(o,s,t){var r,l=this;"boolean"!=typeof o&&(t=s,s=o,o=!1),t?(s=r=x(s),this.bindings=this.bindings.add(s)):(t=s,s=this.element,r=this.widget()),x.each(t,function(t,e){function i(){if(o||!0!==l.options.disabled&&!x(this).hasClass("ui-state-disabled"))return("string"==typeof e?l[e]:e).apply(l,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||x.guid++);var t=t.match(/^([\w:-]*)\s*(.*)$/),n=t[1]+l.eventNamespace,t=t[2];t?r.on(n,t,i):s.on(n,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=x(this.bindings.not(t).get()),this.focusable=x(this.focusable.not(t).get()),this.hoverable=x(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(x(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(x(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var n,o,s=this.options[t];if(i=i||{},(e=x.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],o=e.originalEvent)for(n in o)n in e||(e[n]=o[n]);return this.element.trigger(e,i),!("function"==typeof s&&!1===s.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},x.each({show:"fadeIn",hide:"fadeOut"},function(s,r){x.Widget.prototype["_"+s]=function(e,t,i){var n,o=(t="string"==typeof t?{effect:t}:t)?!0!==t&&"number"!=typeof t&&t.effect||r:s;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),n=!x.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),n&&x.effects&&x.effects.effect[o]?e[s](t):o!==s&&e[o]?e[o](t.duration,t.easing,i):e.queue(function(t){x(this)[s](),i&&i.call(e[0]),t()})}})});
!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","../ie","../version","../widget"],e):e(jQuery)}(function(o){"use strict";var n=!1;return o(document).on("mouseup",function(){n=!1}),o.widget("ui.mouse",{version:"1.13.3",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.on("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).on("click."+this.widgetName,function(e){if(!0===o.data(e.target,t.widgetName+".preventClickEvent"))return o.removeData(e.target,t.widgetName+".preventClickEvent"),e.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){var t,i,s;if(!n)return this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),i=1===(this._mouseDownEvent=e).which,s=!("string"!=typeof(t=this).options.cancel||!e.target.nodeName)&&o(e.target).closest(this.options.cancel).length,i&&!s&&this._mouseCapture(e)&&(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){t.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(e),!this._mouseStarted)?e.preventDefault():(!0===o.data(e.target,this.widgetName+".preventClickEvent")&&o.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return t._mouseMove(e)},this._mouseUpDelegate=function(e){return t._mouseUp(e)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0)),!0},_mouseMove:function(e){if(this._mouseMoved){if(o.ui.ie&&(!document.documentMode||document.documentMode<9)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,e),this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&o.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})});
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./mouse","../data","../plugin","../safe-active-element","../safe-blur","../scroll-parent","../version","../widget"],t):t(jQuery)}(function(P){"use strict";return P.widget("ui.draggable",P.ui.mouse,{version:"1.13.3",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(t,e){this._super(t,e),"handle"===t&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){(this.helper||this.element).is(".ui-draggable-dragging")?this.destroyOnClear=!0:(this._removeHandleClassName(),this._mouseDestroy())},_mouseCapture:function(t){var e=this.options;return!(this.helper||e.disabled||0<P(t.target).closest(".ui-resizable-handle").length||(this.handle=this._getHandle(t),!this.handle)||(this._blurActiveElement(t),this._blockFrames(!0===e.iframeFix?"iframe":e.iframeFix),0))},_blockFrames:function(t){this.iframeBlocks=this.document.find(t).map(function(){var t=P(this);return P("<div>").css("position","absolute").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(t){var e=P.ui.safeActiveElement(this.document[0]);P(t.target).closest(e).length||P.ui.safeBlur(e)},_mouseStart:function(t){var e=this.options;return this.helper=this._createHelper(t),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),P.ui.ddmanager&&(P.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=0<this.helper.parents().filter(function(){return"fixed"===P(this).css("position")}).length,this.positionAbs=this.element.offset(),this._refreshOffsets(t),this.originalPosition=this.position=this._generatePosition(t,!1),this.originalPageX=t.pageX,this.originalPageY=t.pageY,e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt),this._setContainment(),!1===this._trigger("start",t)?(this._clear(),!1):(this._cacheHelperProportions(),P.ui.ddmanager&&!e.dropBehaviour&&P.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),P.ui.ddmanager&&P.ui.ddmanager.dragStart(this,t),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(t,e){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t,!0),this.positionAbs=this._convertPositionTo("absolute"),!e){e=this._uiHash();if(!1===this._trigger("drag",t,e))return this._mouseUp(new P.Event("mouseup",t)),!1;this.position=e.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",P.ui.ddmanager&&P.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var e=this,s=!1;return P.ui.ddmanager&&!this.options.dropBehaviour&&(s=P.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||!0===this.options.revert||"function"==typeof this.options.revert&&this.options.revert.call(this.element,s)?P(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){!1!==e._trigger("stop",t)&&e._clear()}):!1!==this._trigger("stop",t)&&this._clear(),!1},_mouseUp:function(t){return this._unblockFrames(),P.ui.ddmanager&&P.ui.ddmanager.dragStop(this,t),this.handleElement.is(t.target)&&this.element.trigger("focus"),P.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new P.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(t){return!this.options.handle||!!P(t.target).closest(this.element.find(this.options.handle)).length},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(t){var e=this.options,s="function"==typeof e.helper,t=s?P(e.helper.apply(this.element[0],[t])):"clone"===e.helper?this.element.clone().removeAttr("id"):this.element;return t.parents("body").length||t.appendTo("parent"===e.appendTo?this.element[0].parentNode:e.appendTo),s&&t[0]===this.element[0]&&this._setPositionRelative(),t[0]===this.element[0]||/(fixed|absolute)/.test(t.css("position"))||t.css("position","absolute"),t},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),"left"in(t=Array.isArray(t)?{left:+t[0],top:+t[1]||0}:t)&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var t=this.offsetParent.offset(),e=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==e&&P.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),{top:(t=this._isRootNode(this.offsetParent[0])?{top:0,left:0}:t).top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){var t,e;return"relative"!==this.cssPosition?{top:0,left:0}:(t=this.element.position(),e=this._isRootNode(this.scrollParent[0]),{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())})},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,e=this.options,s=this.document[0];this.relativeContainer=null,e.containment?"window"===e.containment?this.containment=[P(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,P(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,P(window).scrollLeft()+P(window).width()-this.helperProportions.width-this.margins.left,P(window).scrollTop()+(P(window).height()||s.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:"document"===e.containment?this.containment=[0,0,P(s).width()-this.helperProportions.width-this.margins.left,(P(s).height()||s.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:e.containment.constructor===Array?this.containment=e.containment:("parent"===e.containment&&(e.containment=this.helper[0].parentNode),(e=(s=P(e.containment))[0])&&(t=/(scroll|auto)/.test(s.css("overflow")),this.containment=[(parseInt(s.css("borderLeftWidth"),10)||0)+(parseInt(s.css("paddingLeft"),10)||0),(parseInt(s.css("borderTopWidth"),10)||0)+(parseInt(s.css("paddingTop"),10)||0),(t?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(s.css("borderRightWidth"),10)||0)-(parseInt(s.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(s.css("borderBottomWidth"),10)||0)-(parseInt(s.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=s)):this.containment=null},_convertPositionTo:function(t,e){e=e||this.position;var t="absolute"===t?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*t+this.offset.parent.top*t-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*t,left:e.left+this.offset.relative.left*t+this.offset.parent.left*t-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*t}},_generatePosition:function(t,e){var s,i=this.options,o=this._isRootNode(this.scrollParent[0]),n=t.pageX,r=t.pageY;return o&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),{top:(r=e&&(this.containment&&(s=this.relativeContainer?(e=this.relativeContainer.offset(),[this.containment[0]+e.left,this.containment[1]+e.top,this.containment[2]+e.left,this.containment[3]+e.top]):this.containment,t.pageX-this.offset.click.left<s[0]&&(n=s[0]+this.offset.click.left),t.pageY-this.offset.click.top<s[1]&&(r=s[1]+this.offset.click.top),t.pageX-this.offset.click.left>s[2]&&(n=s[2]+this.offset.click.left),t.pageY-this.offset.click.top>s[3])&&(r=s[3]+this.offset.click.top),i.grid&&(e=i.grid[1]?this.originalPageY+Math.round((r-this.originalPageY)/i.grid[1])*i.grid[1]:this.originalPageY,r=!s||e-this.offset.click.top>=s[1]||e-this.offset.click.top>s[3]?e:e-this.offset.click.top>=s[1]?e-i.grid[1]:e+i.grid[1],t=i.grid[0]?this.originalPageX+Math.round((n-this.originalPageX)/i.grid[0])*i.grid[0]:this.originalPageX,n=!s||t-this.offset.click.left>=s[0]||t-this.offset.click.left>s[2]?t:t-this.offset.click.left>=s[0]?t-i.grid[0]:t+i.grid[0]),"y"===i.axis&&(n=this.originalPageX),"x"===i.axis)?this.originalPageY:r)-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:o?0:this.offset.scroll.top),left:n-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:o?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(t,e,s){return s=s||this._uiHash(),P.ui.plugin.call(this,t,[e,s,this],!0),/^(drag|start|stop)/.test(t)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),P.Widget.prototype._trigger.call(this,t,e,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),P.ui.plugin.add("draggable","connectToSortable",{start:function(e,t,s){var i=P.extend({},t,{item:s.element});s.sortables=[],P(s.options.connectToSortable).each(function(){var t=P(this).sortable("instance");t&&!t.options.disabled&&(s.sortables.push(t),t.refreshPositions(),t._trigger("activate",e,i))})},stop:function(e,t,s){var i=P.extend({},t,{item:s.element});s.cancelHelperRemoval=!1,P.each(s.sortables,function(){var t=this;t.isOver?(t.isOver=0,s.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,i))})},drag:function(s,i,o){P.each(o.sortables,function(){var t=!1,e=this;e.positionAbs=o.positionAbs,e.helperProportions=o.helperProportions,e.offset.click=o.offset.click,e._intersectsWith(e.containerCache)&&(t=!0,P.each(o.sortables,function(){return this.positionAbs=o.positionAbs,this.helperProportions=o.helperProportions,this.offset.click=o.offset.click,t=this!==e&&this._intersectsWith(this.containerCache)&&P.contains(e.element[0],this.element[0])?!1:t})),t?(e.isOver||(e.isOver=1,o._parent=i.helper.parent(),e.currentItem=i.helper.appendTo(e.element).data("ui-sortable-item",!0),e.options._helper=e.options.helper,e.options.helper=function(){return i.helper[0]},s.target=e.currentItem[0],e._mouseCapture(s,!0),e._mouseStart(s,!0,!0),e.offset.click.top=o.offset.click.top,e.offset.click.left=o.offset.click.left,e.offset.parent.left-=o.offset.parent.left-e.offset.parent.left,e.offset.parent.top-=o.offset.parent.top-e.offset.parent.top,o._trigger("toSortable",s),o.dropped=e.element,P.each(o.sortables,function(){this.refreshPositions()}),o.currentItem=o.element,e.fromOutside=o),e.currentItem&&(e._mouseDrag(s),i.position=e.position)):e.isOver&&(e.isOver=0,e.cancelHelperRemoval=!0,e.options._revert=e.options.revert,e.options.revert=!1,e._trigger("out",s,e._uiHash(e)),e._mouseStop(s,!0),e.options.revert=e.options._revert,e.options.helper=e.options._helper,e.placeholder&&e.placeholder.remove(),i.helper.appendTo(o._parent),o._refreshOffsets(s),i.position=o._generatePosition(s,!0),o._trigger("fromSortable",s),o.dropped=!1,P.each(o.sortables,function(){this.refreshPositions()}))})}}),P.ui.plugin.add("draggable","cursor",{start:function(t,e,s){var i=P("body"),s=s.options;i.css("cursor")&&(s._cursor=i.css("cursor")),i.css("cursor",s.cursor)},stop:function(t,e,s){s=s.options;s._cursor&&P("body").css("cursor",s._cursor)}}),P.ui.plugin.add("draggable","opacity",{start:function(t,e,s){e=P(e.helper),s=s.options;e.css("opacity")&&(s._opacity=e.css("opacity")),e.css("opacity",s.opacity)},stop:function(t,e,s){s=s.options;s._opacity&&P(e.helper).css("opacity",s._opacity)}}),P.ui.plugin.add("draggable","scroll",{start:function(t,e,s){s.scrollParentNotHidden||(s.scrollParentNotHidden=s.helper.scrollParent(!1)),s.scrollParentNotHidden[0]!==s.document[0]&&"HTML"!==s.scrollParentNotHidden[0].tagName&&(s.overflowOffset=s.scrollParentNotHidden.offset())},drag:function(t,e,s){var i=s.options,o=!1,n=s.scrollParentNotHidden[0],r=s.document[0];n!==r&&"HTML"!==n.tagName?(i.axis&&"x"===i.axis||(s.overflowOffset.top+n.offsetHeight-t.pageY<i.scrollSensitivity?n.scrollTop=o=n.scrollTop+i.scrollSpeed:t.pageY-s.overflowOffset.top<i.scrollSensitivity&&(n.scrollTop=o=n.scrollTop-i.scrollSpeed)),i.axis&&"y"===i.axis||(s.overflowOffset.left+n.offsetWidth-t.pageX<i.scrollSensitivity?n.scrollLeft=o=n.scrollLeft+i.scrollSpeed:t.pageX-s.overflowOffset.left<i.scrollSensitivity&&(n.scrollLeft=o=n.scrollLeft-i.scrollSpeed))):(i.axis&&"x"===i.axis||(t.pageY-P(r).scrollTop()<i.scrollSensitivity?o=P(r).scrollTop(P(r).scrollTop()-i.scrollSpeed):P(window).height()-(t.pageY-P(r).scrollTop())<i.scrollSensitivity&&(o=P(r).scrollTop(P(r).scrollTop()+i.scrollSpeed))),i.axis&&"y"===i.axis||(t.pageX-P(r).scrollLeft()<i.scrollSensitivity?o=P(r).scrollLeft(P(r).scrollLeft()-i.scrollSpeed):P(window).width()-(t.pageX-P(r).scrollLeft())<i.scrollSensitivity&&(o=P(r).scrollLeft(P(r).scrollLeft()+i.scrollSpeed)))),!1!==o&&P.ui.ddmanager&&!i.dropBehaviour&&P.ui.ddmanager.prepareOffsets(s,t)}}),P.ui.plugin.add("draggable","snap",{start:function(t,e,s){var i=s.options;s.snapElements=[],P(i.snap.constructor!==String?i.snap.items||":data(ui-draggable)":i.snap).each(function(){var t=P(this),e=t.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:t.outerWidth(),height:t.outerHeight(),top:e.top,left:e.left})})},drag:function(t,e,s){for(var i,o,n,r,l,a,h,p,c,f=s.options,d=f.snapTolerance,g=e.offset.left,u=g+s.helperProportions.width,m=e.offset.top,v=m+s.helperProportions.height,_=s.snapElements.length-1;0<=_;_--)a=(l=s.snapElements[_].left-s.margins.left)+s.snapElements[_].width,p=(h=s.snapElements[_].top-s.margins.top)+s.snapElements[_].height,u<l-d||a+d<g||v<h-d||p+d<m||!P.contains(s.snapElements[_].item.ownerDocument,s.snapElements[_].item)?(s.snapElements[_].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,t,P.extend(s._uiHash(),{snapItem:s.snapElements[_].item})),s.snapElements[_].snapping=!1):("inner"!==f.snapMode&&(i=Math.abs(h-v)<=d,o=Math.abs(p-m)<=d,n=Math.abs(l-u)<=d,r=Math.abs(a-g)<=d,i&&(e.position.top=s._convertPositionTo("relative",{top:h-s.helperProportions.height,left:0}).top),o&&(e.position.top=s._convertPositionTo("relative",{top:p,left:0}).top),n&&(e.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left),r)&&(e.position.left=s._convertPositionTo("relative",{top:0,left:a}).left),c=i||o||n||r,"outer"!==f.snapMode&&(i=Math.abs(h-m)<=d,o=Math.abs(p-v)<=d,n=Math.abs(l-g)<=d,r=Math.abs(a-u)<=d,i&&(e.position.top=s._convertPositionTo("relative",{top:h,left:0}).top),o&&(e.position.top=s._convertPositionTo("relative",{top:p-s.helperProportions.height,left:0}).top),n&&(e.position.left=s._convertPositionTo("relative",{top:0,left:l}).left),r)&&(e.position.left=s._convertPositionTo("relative",{top:0,left:a-s.helperProportions.width}).left),!s.snapElements[_].snapping&&(i||o||n||r||c)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,t,P.extend(s._uiHash(),{snapItem:s.snapElements[_].item})),s.snapElements[_].snapping=i||o||n||r||c)}}),P.ui.plugin.add("draggable","stack",{start:function(t,e,s){var i,s=s.options,s=P.makeArray(P(s.stack)).sort(function(t,e){return(parseInt(P(t).css("zIndex"),10)||0)-(parseInt(P(e).css("zIndex"),10)||0)});s.length&&(i=parseInt(P(s[0]).css("zIndex"),10)||0,P(s).each(function(t){P(this).css("zIndex",i+t)}),this.css("zIndex",i+s.length))}}),P.ui.plugin.add("draggable","zIndex",{start:function(t,e,s){e=P(e.helper),s=s.options;e.css("zIndex")&&(s._zIndex=e.css("zIndex")),e.css("zIndex",s.zIndex)},stop:function(t,e,s){s=s.options;s._zIndex&&P(e.helper).css("zIndex",s._zIndex)}}),P.ui.draggable});
!function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);
jQuery(document).on('action.init_hidden_elements', function(){
"use strict";
jQuery('.sc_icompare:not(.sc_icompare_inited)').each(function(){
var $self=jQuery(this).addClass('sc_icompare_inited'),
st=0,
sw=0,
sh=0,
ox=0,
oy=0,
$content=$self.find('.sc_icompare_content'),
$handler=$self.find('.sc_icompare_handler'),
hsize=$handler.outerWidth(),
hpos=$handler.data('handler-pos'),
dir=$self.hasClass('sc_icompare_direction_vertical') ? 'v':'h',
$img1=$self.find('.sc_icompare_image1'),
$img2=$self.find('.sc_icompare_image2'),
$txt1=$self.find('.sc_icompare_text_before'),
$txt2=$self.find('.sc_icompare_text_after'),
tx1=0,
ty1=0,
tw1=0,
th1=0,
tx2=0,
ty2=0,
tw2=0,
th2=0;
jQuery(document).on('action.resize_trx_addons', function(){ get_offset(); get_dimensions(); handler_move_to(hpos); });
jQuery(document).on('action.scroll_trx_addons', function(){ get_offset(); });
if(! $self.hasClass('sc_icompare_images_loaded') ){
trx_addons_when_images_loaded($self, function(){
get_offset();
get_dimensions();
handler_move_to(hpos);
$self.addClass('sc_icompare_images_loaded');
});
}
function get_dimensions(){
sw=$content.outerWidth();
sh=$content.outerHeight();
hsize=$handler.outerWidth();
if($txt1.length){
tw1=$txt1.outerWidth();
th1=$txt1.outerHeight();
}
if($txt2.length){
tw2=$txt2.outerWidth();
th2=$txt2.outerHeight();
}}
function get_offset(){
var off=$content.offset();
ox=off.left;
oy=off.top;
if($txt1.length){
off=$txt1.offset();
tx1=off.left - ox;
ty1=off.top - oy;
}
if($txt2.length){
off=$txt2.offset();
tx2=off.left - ox;
ty2=off.top - oy;
}
st=jQuery(window).scrollTop();
}
function handler_move_to(pos, move){
var x=sw *(dir=='v' ? pos:50) / 100,
y=sh *(dir=='h' ? pos:50) / 100;
if(move===undefined||move){
$handler.css({
left: x + 'px',
top:  y + 'px'
});
}
hpos=pos;
$handler.data('handler-pos', pos);
$img1.css({
clip: 'rect(' +(dir=='v'
? '0px, ' + x + 'px, ' + sh + 'px, 0px'
: '0px, ' + sw + 'px, ' + y + 'px, 0px'
)
+ ')'
});
$img2.css({
clip: 'rect(' +(dir=='v'
? '0px, ' + sw + 'px, ' + sh + 'px, ' + x + 'px'
: y + 'px, ' + sw + 'px, ' + sh + 'px, 0px'
)
+ ')'
});
if(dir=='v'){
if(x < tx1 + tw1){
if(! $txt1.hasClass('sc_icompare_text_hidden') ){
$txt1.addClass('sc_icompare_text_hidden');
}}else{
if($txt1.hasClass('sc_icompare_text_hidden') ){
$txt1.removeClass('sc_icompare_text_hidden');
}}
if(x > tx2){
if(! $txt2.hasClass('sc_icompare_text_hidden') ){
$txt2.addClass('sc_icompare_text_hidden');
}}else{
if($txt2.hasClass('sc_icompare_text_hidden') ){
$txt2.removeClass('sc_icompare_text_hidden');
}}
}else{
if(y < ty1 + th1){
if(! $txt1.hasClass('sc_icompare_text_hidden') ){
$txt1.addClass('sc_icompare_text_hidden');
}}else{
if($txt1.hasClass('sc_icompare_text_hidden') ){
$txt1.removeClass('sc_icompare_text_hidden');
}}
if(y > ty2){
if(! $txt2.hasClass('sc_icompare_text_hidden') ){
$txt2.addClass('sc_icompare_text_hidden');
}}else{
if($txt2.hasClass('sc_icompare_text_hidden') ){
$txt2.removeClass('sc_icompare_text_hidden');
}}
}}
if($self.hasClass('sc_icompare_event_drag') ){
$handler.draggable({
axis: dir=='v' ? 'x':'y',
drag: function(e, ui){
var pos=0;
if(dir=='v'){
if(ui.position.left >=sw){
ui.position.left=sw - 1;
}
if(ui.position.left < 1){
ui.position.left=0;
}
pos=ui.position.left * 100 / sw;
}else{
if(ui.position.top >=sh){
ui.position.top=sh - 1;
}
if(ui.position.top < 1){
ui.position.top=0;
}
pos=ui.position.top * 100 / sh;
}
handler_move_to(pos, false);
}});
}
if($self.hasClass('sc_icompare_event_move') ){
$content.on('mousemove', function(e){
if(e.clientX!==undefined){
var pos=dir=='v'
?(e.clientX - ox) * 100 / sw
:(e.clientY + st - oy) * 100 / sh;
handler_move_to(pos);
}});
}});
});
var ChartLegacy=function(s){function v(a,c,b){a=A((a-c.graphMin)/(c.steps*c.stepValue),1,0);return b*c.steps*a}function x(a,c,b,e){function h(){g+=f;var k=a.animation?A(d(g),null,0):1;e.clearRect(0,0,q,u);a.scaleOverlay?(b(k),c()):(c(),b(k));if(1>=g)D(h);else if("function"==typeof a.onAnimationComplete)a.onAnimationComplete()}var f=a.animation?1/A(a.animationSteps,Number.MAX_VALUE,1):1,d=B[a.animationEasing],g=a.animation?0:1;"function"!==typeof c&&(c=function(){});D(h)}function C(a,c,b,e,h,f){var d;a=
Math.floor(Math.log(e-h)/Math.LN10);h=Math.floor(h/(1*Math.pow(10,a)))*Math.pow(10,a);e=Math.ceil(e/(1*Math.pow(10,a)))*Math.pow(10,a)-h;a=Math.pow(10,a);for(d=Math.round(e/a);d<b||d>c;)a=d<b?a/2:2*a,d=Math.round(e/a);c=[];z(f,c,d,h,a);return{steps:d,stepValue:a,graphMin:h,labels:c}}function z(a,c,b,e,h){if(a)for(var f=1;f<b+1;f++)c.push(E(a,{value:(e+h*f).toFixed(0!=h%1?h.toString().split(".")[1].length:0)}))}function A(a,c,b){return!isNaN(parseFloat(c))&&isFinite(c)&&a>c?c:!isNaN(parseFloat(b))&&
isFinite(b)&&a<b?b:a}function y(a,c){var b={},e;for(e in a)b[e]=a[e];for(e in c)b[e]=c[e];return b}function E(a,c){var b=!/\W/.test(a)?F[a]=F[a]||E(document.getElementById(a).innerHTML):new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+a.replace(/[\r\t\n]/g," ").split("<%").join("\t").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("\t").join("');").split("%>").join("p.push('").split("\r").join("\\'")+"');}return p.join('');");return c?
b(c):b}var r=this,B={linear:function(a){return a},easeInQuad:function(a){return a*a},easeOutQuad:function(a){return-1*a*(a-2)},easeInOutQuad:function(a){return 1>(a/=0.5)?0.5*a*a:-0.5*(--a*(a-2)-1)},easeInCubic:function(a){return a*a*a},easeOutCubic:function(a){return 1*((a=a/1-1)*a*a+1)},easeInOutCubic:function(a){return 1>(a/=0.5)?0.5*a*a*a:0.5*((a-=2)*a*a+2)},easeInQuart:function(a){return a*a*a*a},easeOutQuart:function(a){return-1*((a=a/1-1)*a*a*a-1)},easeInOutQuart:function(a){return 1>(a/=0.5)?
0.5*a*a*a*a:-0.5*((a-=2)*a*a*a-2)},easeInQuint:function(a){return 1*(a/=1)*a*a*a*a},easeOutQuint:function(a){return 1*((a=a/1-1)*a*a*a*a+1)},easeInOutQuint:function(a){return 1>(a/=0.5)?0.5*a*a*a*a*a:0.5*((a-=2)*a*a*a*a+2)},easeInSine:function(a){return-1*Math.cos(a/1*(Math.PI/2))+1},easeOutSine:function(a){return 1*Math.sin(a/1*(Math.PI/2))},easeInOutSine:function(a){return-0.5*(Math.cos(Math.PI*a/1)-1)},easeInExpo:function(a){return 0==a?1:1*Math.pow(2,10*(a/1-1))},easeOutExpo:function(a){return 1==a?1:1*(-Math.pow(2,-10*a/1)+1)},easeInOutExpo:function(a){return 0==a?0:1==a?1:1>(a/=0.5)?0.5*Math.pow(2,10*(a-1)):0.5*(-Math.pow(2,-10*--a)+2)},easeInCirc:function(a){return 1<=a?a:-1*(Math.sqrt(1-(a/=1)*a)-1)},easeOutCirc:function(a){return 1*Math.sqrt(1-(a=a/1-1)*a)},easeInOutCirc:function(a){return 1>(a/=0.5)?-0.5*(Math.sqrt(1-a*a)-1):0.5*(Math.sqrt(1-(a-=2)*a)+1)},easeInElastic:function(a){var c=1.70158,b=0,e=1;if(0==a)return 0;if(1==(a/=1))return 1;b||(b=0.3);e<Math.abs(1)?(e=1,c=b/4):c=b/(2*
Math.PI)*Math.asin(1/e);return-(e*Math.pow(2,10*(a-=1))*Math.sin((1*a-c)*2*Math.PI/b))},easeOutElastic:function(a){var c=1.70158,b=0,e=1;if(0==a)return 0;if(1==(a/=1))return 1;b||(b=0.3);e<Math.abs(1)?(e=1,c=b/4):c=b/(2*Math.PI)*Math.asin(1/e);return e*Math.pow(2,-10*a)*Math.sin((1*a-c)*2*Math.PI/b)+1},easeInOutElastic:function(a){var c=1.70158,b=0,e=1;if(0==a)return 0;if(2==(a/=0.5))return 1;b||(b=1*0.3*1.5);e<Math.abs(1)?(e=1,c=b/4):c=b/(2*Math.PI)*Math.asin(1/e);return 1>a?-0.5*e*Math.pow(2,10*
(a-=1))*Math.sin((1*a-c)*2*Math.PI/b):0.5*e*Math.pow(2,-10*(a-=1))*Math.sin((1*a-c)*2*Math.PI/b)+1},easeInBack:function(a){return 1*(a/=1)*a*(2.70158*a-1.70158)},easeOutBack:function(a){return 1*((a=a/1-1)*a*(2.70158*a+1.70158)+1)},easeInOutBack:function(a){var c=1.70158;return 1>(a/=0.5)?0.5*a*a*(((c*=1.525)+1)*a-c):0.5*((a-=2)*a*(((c*=1.525)+1)*a+c)+2)},easeInBounce:function(a){return 1-B.easeOutBounce(1-a)},easeOutBounce:function(a){return(a/=1)<1/2.75?1*7.5625*a*a:a<2/2.75?1*(7.5625*(a-=1.5/2.75)*
a+0.75):a<2.5/2.75?1*(7.5625*(a-=2.25/2.75)*a+0.9375):1*(7.5625*(a-=2.625/2.75)*a+0.984375)},easeInOutBounce:function(a){return 0.5>a?0.5*B.easeInBounce(2*a):0.5*B.easeOutBounce(2*a-1)+0.5}},q=s.canvas.width,u=s.canvas.height;window.devicePixelRatio&&(s.canvas.style.width=q+"px",s.canvas.style.height=u+"px",s.canvas.height=u*window.devicePixelRatio,s.canvas.width=q*window.devicePixelRatio,s.scale(window.devicePixelRatio,window.devicePixelRatio));this.PolarArea=function(a,c){r.PolarArea.defaults={scaleOverlay:!0,
scaleOverride:!1,scaleSteps:null,scaleStepWidth:null,scaleStartValue:null,scaleShowLine:!0,scaleLineColor:"rgba(0,0,0,.1)",scaleLineWidth:1,scaleShowLabels:!0,scaleLabel:"<%=value%>",scaleFontFamily:"'Arial'",scaleFontSize:12,scaleFontStyle:"normal",scaleFontColor:"#666",scaleShowLabelBackdrop:!0,scaleBackdropColor:"rgba(255,255,255,0.75)",scaleBackdropPaddingY:2,scaleBackdropPaddingX:2,segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,animation:!0,animationSteps:100,animationEasing:"easeOutBounce",
animateRotate:!0,animateScale:!1,onAnimationComplete:null};var b=c?y(r.PolarArea.defaults,c):r.PolarArea.defaults;return new G(a,b,s)};this.Radar=function(a,c){r.Radar.defaults={scaleOverlay:!1,scaleOverride:!1,scaleSteps:null,scaleStepWidth:null,scaleStartValue:null,scaleShowLine:!0,scaleLineColor:"rgba(0,0,0,.1)",scaleLineWidth:1,scaleShowLabels:!1,scaleLabel:"<%=value%>",scaleFontFamily:"'Arial'",scaleFontSize:12,scaleFontStyle:"normal",scaleFontColor:"#666",scaleShowLabelBackdrop:!0,scaleBackdropColor:"rgba(255,255,255,0.75)",
scaleBackdropPaddingY:2,scaleBackdropPaddingX:2,angleShowLineOut:!0,angleLineColor:"rgba(0,0,0,.1)",angleLineWidth:1,pointLabelFontFamily:"'Arial'",pointLabelFontStyle:"normal",pointLabelFontSize:12,pointLabelFontColor:"#666",pointDot:!0,pointDotRadius:3,pointDotStrokeWidth:1,datasetStroke:!0,datasetStrokeWidth:2,datasetFill:!0,animation:!0,animationSteps:60,animationEasing:"easeOutQuart",onAnimationComplete:null};var b=c?y(r.Radar.defaults,c):r.Radar.defaults;return new H(a,b,s)};this.Pie=function(a,
c){r.Pie.defaults={segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,animation:!0,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,onAnimationComplete:null};var b=c?y(r.Pie.defaults,c):r.Pie.defaults;return new I(a,b,s)};this.Doughnut=function(a,c){r.Doughnut.defaults={segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,percentageInnerCutout:50,animation:!0,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,
onAnimationComplete:null};var b=c?y(r.Doughnut.defaults,c):r.Doughnut.defaults;return new J(a,b,s)};this.Line=function(a,c){r.Line.defaults={scaleOverlay:!1,scaleOverride:!1,scaleSteps:null,scaleStepWidth:null,scaleStartValue:null,scaleLineColor:"rgba(0,0,0,.1)",scaleLineWidth:1,scaleShowLabels:!0,scaleLabel:"<%=value%>",scaleFontFamily:"'Arial'",scaleFontSize:12,scaleFontStyle:"normal",scaleFontColor:"#666",scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,bezierCurve:!0,
pointDot:!0,pointDotRadius:4,pointDotStrokeWidth:2,datasetStroke:!0,datasetStrokeWidth:2,datasetFill:!0,animation:!0,animationSteps:60,animationEasing:"easeOutQuart",onAnimationComplete:null};var b=c?y(r.Line.defaults,c):r.Line.defaults;return new K(a,b,s)};this.Bar=function(a,c){r.Bar.defaults={scaleOverlay:!1,scaleOverride:!1,scaleSteps:null,scaleStepWidth:null,scaleStartValue:null,scaleLineColor:"rgba(0,0,0,.1)",scaleLineWidth:1,scaleShowLabels:!0,scaleLabel:"<%=value%>",scaleFontFamily:"'Arial'",
scaleFontSize:12,scaleFontStyle:"normal",scaleFontColor:"#666",scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,barShowStroke:!0,barStrokeWidth:2,barValueSpacing:5,barDatasetSpacing:1,animation:!0,animationSteps:60,animationEasing:"easeOutQuart",onAnimationComplete:null};var b=c?y(r.Bar.defaults,c):r.Bar.defaults;return new L(a,b,s)};var G=function(a,c,b){var e,h,f,d,g,k,j,l,m;g=Math.min.apply(Math,[q,u])/2;g-=Math.max.apply(Math,[0.5*c.scaleFontSize,0.5*c.scaleLineWidth]);
d=2*c.scaleFontSize;c.scaleShowLabelBackdrop&&(d+=2*c.scaleBackdropPaddingY,g-=1.5*c.scaleBackdropPaddingY);l=g;d=d?d:5;e=Number.MIN_VALUE;h=Number.MAX_VALUE;for(f=0;f<a.length;f++)a[f].value>e&&(e=a[f].value),a[f].value<h&&(h=a[f].value);f=Math.floor(l/(0.66*d));d=Math.floor(0.5*(l/d));m=c.scaleShowLabels?c.scaleLabel:null;c.scaleOverride?(j={steps:c.scaleSteps,stepValue:c.scaleStepWidth,graphMin:c.scaleStartValue,labels:[]},z(m,j.labels,j.steps,c.scaleStartValue,c.scaleStepWidth)):j=C(l,f,d,e,h,
m);k=g/j.steps;x(c,function(){for(var a=0;a<j.steps;a++)if(c.scaleShowLine&&(b.beginPath(),b.arc(q/2,u/2,k*(a+1),0,2*Math.PI,!0),b.strokeStyle=c.scaleLineColor,b.lineWidth=c.scaleLineWidth,b.stroke()),c.scaleShowLabels){b.textAlign="center";b.font=c.scaleFontStyle+" "+c.scaleFontSize+"px "+c.scaleFontFamily;var e=j.labels[a];if(c.scaleShowLabelBackdrop){var d=b.measureText(e).width;b.fillStyle=c.scaleBackdropColor;b.beginPath();b.rect(Math.round(q/2-d/2-c.scaleBackdropPaddingX),Math.round(u/2-k*(a+
1)-0.5*c.scaleFontSize-c.scaleBackdropPaddingY),Math.round(d+2*c.scaleBackdropPaddingX),Math.round(c.scaleFontSize+2*c.scaleBackdropPaddingY));b.fill()}b.textBaseline="middle";b.fillStyle=c.scaleFontColor;b.fillText(e,q/2,u/2-k*(a+1))}},function(e){var d=-Math.PI/2,g=2*Math.PI/a.length,f=1,h=1;c.animation&&(c.animateScale&&(f=e),c.animateRotate&&(h=e));for(e=0;e<a.length;e++)b.beginPath(),b.arc(q/2,u/2,f*v(a[e].value,j,k),d,d+h*g,!1),b.lineTo(q/2,u/2),b.closePath(),b.fillStyle=a[e].color,b.fill(),
c.segmentShowStroke&&(b.strokeStyle=c.segmentStrokeColor,b.lineWidth=c.segmentStrokeWidth,b.stroke()),d+=h*g},b)},H=function(a,c,b){var e,h,f,d,g,k,j,l,m;a.labels||(a.labels=[]);g=Math.min.apply(Math,[q,u])/2;d=2*c.scaleFontSize;for(e=l=0;e<a.labels.length;e++)b.font=c.pointLabelFontStyle+" "+c.pointLabelFontSize+"px "+c.pointLabelFontFamily,h=b.measureText(a.labels[e]).width,h>l&&(l=h);g-=Math.max.apply(Math,[l,1.5*(c.pointLabelFontSize/2)]);g-=c.pointLabelFontSize;l=g=A(g,null,0);d=d?d:5;e=Number.MIN_VALUE;
h=Number.MAX_VALUE;for(f=0;f<a.datasets.length;f++)for(m=0;m<a.datasets[f].data.length;m++)a.datasets[f].data[m]>e&&(e=a.datasets[f].data[m]),a.datasets[f].data[m]<h&&(h=a.datasets[f].data[m]);f=Math.floor(l/(0.66*d));d=Math.floor(0.5*(l/d));m=c.scaleShowLabels?c.scaleLabel:null;c.scaleOverride?(j={steps:c.scaleSteps,stepValue:c.scaleStepWidth,graphMin:c.scaleStartValue,labels:[]},z(m,j.labels,j.steps,c.scaleStartValue,c.scaleStepWidth)):j=C(l,f,d,e,h,m);k=g/j.steps;x(c,function(){var e=2*Math.PI/
a.datasets[0].data.length;b.save();b.translate(q/2,u/2);if(c.angleShowLineOut){b.strokeStyle=c.angleLineColor;b.lineWidth=c.angleLineWidth;for(var d=0;d<a.datasets[0].data.length;d++)b.rotate(e),b.beginPath(),b.moveTo(0,0),b.lineTo(0,-g),b.stroke()}for(d=0;d<j.steps;d++){b.beginPath();if(c.scaleShowLine){b.strokeStyle=c.scaleLineColor;b.lineWidth=c.scaleLineWidth;b.moveTo(0,-k*(d+1));for(var f=0;f<a.datasets[0].data.length;f++)b.rotate(e),b.lineTo(0,-k*(d+1));b.closePath();b.stroke()}c.scaleShowLabels&&
(b.textAlign="center",b.font=c.scaleFontStyle+" "+c.scaleFontSize+"px "+c.scaleFontFamily,b.textBaseline="middle",c.scaleShowLabelBackdrop&&(f=b.measureText(j.labels[d]).width,b.fillStyle=c.scaleBackdropColor,b.beginPath(),b.rect(Math.round(-f/2-c.scaleBackdropPaddingX),Math.round(-k*(d+1)-0.5*c.scaleFontSize-c.scaleBackdropPaddingY),Math.round(f+2*c.scaleBackdropPaddingX),Math.round(c.scaleFontSize+2*c.scaleBackdropPaddingY)),b.fill()),b.fillStyle=c.scaleFontColor,b.fillText(j.labels[d],0,-k*(d+
1)))}for(d=0;d<a.labels.length;d++){b.font=c.pointLabelFontStyle+" "+c.pointLabelFontSize+"px "+c.pointLabelFontFamily;b.fillStyle=c.pointLabelFontColor;var f=Math.sin(e*d)*(g+c.pointLabelFontSize),h=Math.cos(e*d)*(g+c.pointLabelFontSize);b.textAlign=e*d==Math.PI||0==e*d?"center":e*d>Math.PI?"right":"left";b.textBaseline="middle";b.fillText(a.labels[d],f,-h)}b.restore()},function(d){var e=2*Math.PI/a.datasets[0].data.length;b.save();b.translate(q/2,u/2);for(var g=0;g<a.datasets.length;g++){b.beginPath();
b.moveTo(0,d*-1*v(a.datasets[g].data[0],j,k));for(var f=1;f<a.datasets[g].data.length;f++)b.rotate(e),b.lineTo(0,d*-1*v(a.datasets[g].data[f],j,k));b.closePath();b.fillStyle=a.datasets[g].fillColor;b.strokeStyle=a.datasets[g].strokeColor;b.lineWidth=c.datasetStrokeWidth;b.fill();b.stroke();if(c.pointDot){b.fillStyle=a.datasets[g].pointColor;b.strokeStyle=a.datasets[g].pointStrokeColor;b.lineWidth=c.pointDotStrokeWidth;for(f=0;f<a.datasets[g].data.length;f++)b.rotate(e),b.beginPath(),b.arc(0,d*-1*
v(a.datasets[g].data[f],j,k),c.pointDotRadius,2*Math.PI,!1),b.fill(),b.stroke()}b.rotate(e)}b.restore()},b)},I=function(a,c,b){for(var e=0,h=Math.min.apply(Math,[u/2,q/2])-5,f=0;f<a.length;f++)e+=a[f].value;x(c,null,function(d){var g=-Math.PI/2,f=1,j=1;c.animation&&(c.animateScale&&(f=d),c.animateRotate&&(j=d));for(d=0;d<a.length;d++){var l=j*a[d].value/e*2*Math.PI;b.beginPath();b.arc(q/2,u/2,f*h,g,g+l);b.lineTo(q/2,u/2);b.closePath();b.fillStyle=a[d].color;b.fill();c.segmentShowStroke&&(b.lineWidth=
c.segmentStrokeWidth,b.strokeStyle=c.segmentStrokeColor,b.stroke());g+=l}},b)},J=function(a,c,b){for(var e=0,h=Math.min.apply(Math,[u/2,q/2])-5,f=h*(c.percentageInnerCutout/100),d=0;d<a.length;d++)e+=a[d].value;x(c,null,function(d){var k=-Math.PI/2,j=1,l=1;c.animation&&(c.animateScale&&(j=d),c.animateRotate&&(l=d));for(d=0;d<a.length;d++){var m=l*a[d].value/e*2*Math.PI;b.beginPath();b.arc(q/2,u/2,j*h,k,k+m,!1);b.arc(q/2,u/2,j*f,k+m,k,!0);b.closePath();b.fillStyle=a[d].color;b.fill();c.segmentShowStroke&&
(b.lineWidth=c.segmentStrokeWidth,b.strokeStyle=c.segmentStrokeColor,b.stroke());k+=m}},b)},K=function(a,c,b){var e,h,f,d,g,k,j,l,m,t,r,n,p,s=0;g=u;b.font=c.scaleFontStyle+" "+c.scaleFontSize+"px "+c.scaleFontFamily;t=1;for(d=0;d<a.labels.length;d++)e=b.measureText(a.labels[d]).width,t=e>t?e:t;q/a.labels.length<t?(s=45,q/a.labels.length<Math.cos(s)*t?(s=90,g-=t):g-=Math.sin(s)*t):g-=c.scaleFontSize;d=c.scaleFontSize;g=g-5-d;e=Number.MIN_VALUE;h=Number.MAX_VALUE;for(f=0;f<a.datasets.length;f++)for(l=
0;l<a.datasets[f].data.length;l++)a.datasets[f].data[l]>e&&(e=a.datasets[f].data[l]),a.datasets[f].data[l]<h&&(h=a.datasets[f].data[l]);f=Math.floor(g/(0.66*d));d=Math.floor(0.5*(g/d));l=c.scaleShowLabels?c.scaleLabel:"";c.scaleOverride?(j={steps:c.scaleSteps,stepValue:c.scaleStepWidth,graphMin:c.scaleStartValue,labels:[]},z(l,j.labels,j.steps,c.scaleStartValue,c.scaleStepWidth)):j=C(g,f,d,e,h,l);k=Math.floor(g/j.steps);d=1;if(c.scaleShowLabels){b.font=c.scaleFontStyle+" "+c.scaleFontSize+"px "+c.scaleFontFamily;
for(e=0;e<j.labels.length;e++)h=b.measureText(j.labels[e]).width,d=h>d?h:d;d+=10}r=q-d-t;m=Math.floor(r/(a.labels.length-1));n=q-t/2-r;p=g+c.scaleFontSize/2;x(c,function(){b.lineWidth=c.scaleLineWidth;b.strokeStyle=c.scaleLineColor;b.beginPath();b.moveTo(q-t/2+5,p);b.lineTo(q-t/2-r-5,p);b.stroke();0<s?(b.save(),b.textAlign="right"):b.textAlign="center";b.fillStyle=c.scaleFontColor;for(var d=0;d<a.labels.length;d++)b.save(),0<s?(b.translate(n+d*m,p+c.scaleFontSize),b.rotate(-(s*(Math.PI/180))),b.fillText(a.labels[d],
0,0),b.restore()):b.fillText(a.labels[d],n+d*m,p+c.scaleFontSize+3),b.beginPath(),b.moveTo(n+d*m,p+3),c.scaleShowGridLines&&0<d?(b.lineWidth=c.scaleGridLineWidth,b.strokeStyle=c.scaleGridLineColor,b.lineTo(n+d*m,5)):b.lineTo(n+d*m,p+3),b.stroke();b.lineWidth=c.scaleLineWidth;b.strokeStyle=c.scaleLineColor;b.beginPath();b.moveTo(n,p+5);b.lineTo(n,5);b.stroke();b.textAlign="right";b.textBaseline="middle";for(d=0;d<j.steps;d++)b.beginPath(),b.moveTo(n-3,p-(d+1)*k),c.scaleShowGridLines?(b.lineWidth=c.scaleGridLineWidth,
b.strokeStyle=c.scaleGridLineColor,b.lineTo(n+r+5,p-(d+1)*k)):b.lineTo(n-0.5,p-(d+1)*k),b.stroke(),c.scaleShowLabels&&b.fillText(j.labels[d],n-8,p-(d+1)*k)},function(d){function e(b,c){return p-d*v(a.datasets[b].data[c],j,k)}for(var f=0;f<a.datasets.length;f++){b.strokeStyle=a.datasets[f].strokeColor;b.lineWidth=c.datasetStrokeWidth;b.beginPath();b.moveTo(n,p-d*v(a.datasets[f].data[0],j,k));for(var g=1;g<a.datasets[f].data.length;g++)c.bezierCurve?b.bezierCurveTo(n+m*(g-0.5),e(f,g-1),n+m*(g-0.5),
e(f,g),n+m*g,e(f,g)):b.lineTo(n+m*g,e(f,g));b.stroke();c.datasetFill?(b.lineTo(n+m*(a.datasets[f].data.length-1),p),b.lineTo(n,p),b.closePath(),b.fillStyle=a.datasets[f].fillColor,b.fill()):b.closePath();if(c.pointDot){b.fillStyle=a.datasets[f].pointColor;b.strokeStyle=a.datasets[f].pointStrokeColor;b.lineWidth=c.pointDotStrokeWidth;for(g=0;g<a.datasets[f].data.length;g++)b.beginPath(),b.arc(n+m*g,p-d*v(a.datasets[f].data[g],j,k),c.pointDotRadius,0,2*Math.PI,!0),b.fill(),b.stroke()}}},b)},L=function(a,
c,b){var e,h,f,d,g,k,j,l,m,t,r,n,p,s,w=0;g=u;b.font=c.scaleFontStyle+" "+c.scaleFontSize+"px "+c.scaleFontFamily;t=1;for(d=0;d<a.labels.length;d++)e=b.measureText(a.labels[d]).width,t=e>t?e:t;q/a.labels.length<t?(w=45,q/a.labels.length<Math.cos(w)*t?(w=90,g-=t):g-=Math.sin(w)*t):g-=c.scaleFontSize;d=c.scaleFontSize;g=g-5-d;e=Number.MIN_VALUE;h=Number.MAX_VALUE;for(f=0;f<a.datasets.length;f++)for(l=0;l<a.datasets[f].data.length;l++)a.datasets[f].data[l]>e&&(e=a.datasets[f].data[l]),a.datasets[f].data[l]<
h&&(h=a.datasets[f].data[l]);f=Math.floor(g/(0.66*d));d=Math.floor(0.5*(g/d));l=c.scaleShowLabels?c.scaleLabel:"";c.scaleOverride?(j={steps:c.scaleSteps,stepValue:c.scaleStepWidth,graphMin:c.scaleStartValue,labels:[]},z(l,j.labels,j.steps,c.scaleStartValue,c.scaleStepWidth)):j=C(g,f,d,e,h,l);k=Math.floor(g/j.steps);d=1;if(c.scaleShowLabels){b.font=c.scaleFontStyle+" "+c.scaleFontSize+"px "+c.scaleFontFamily;for(e=0;e<j.labels.length;e++)h=b.measureText(j.labels[e]).width,d=h>d?h:d;d+=10}r=q-d-t;m=
Math.floor(r/a.labels.length);s=(m-2*c.scaleGridLineWidth-2*c.barValueSpacing-(c.barDatasetSpacing*a.datasets.length-1)-(c.barStrokeWidth/2*a.datasets.length-1))/a.datasets.length;n=q-t/2-r;p=g+c.scaleFontSize/2;x(c,function(){b.lineWidth=c.scaleLineWidth;b.strokeStyle=c.scaleLineColor;b.beginPath();b.moveTo(q-t/2+5,p);b.lineTo(q-t/2-r-5,p);b.stroke();0<w?(b.save(),b.textAlign="right"):b.textAlign="center";b.fillStyle=c.scaleFontColor;for(var d=0;d<a.labels.length;d++)b.save(),0<w?(b.translate(n+
d*m,p+c.scaleFontSize),b.rotate(-(w*(Math.PI/180))),b.fillText(a.labels[d],0,0),b.restore()):b.fillText(a.labels[d],n+d*m+m/2,p+c.scaleFontSize+3),b.beginPath(),b.moveTo(n+(d+1)*m,p+3),b.lineWidth=c.scaleGridLineWidth,b.strokeStyle=c.scaleGridLineColor,b.lineTo(n+(d+1)*m,5),b.stroke();b.lineWidth=c.scaleLineWidth;b.strokeStyle=c.scaleLineColor;b.beginPath();b.moveTo(n,p+5);b.lineTo(n,5);b.stroke();b.textAlign="right";b.textBaseline="middle";for(d=0;d<j.steps;d++)b.beginPath(),b.moveTo(n-3,p-(d+1)*
k),c.scaleShowGridLines?(b.lineWidth=c.scaleGridLineWidth,b.strokeStyle=c.scaleGridLineColor,b.lineTo(n+r+5,p-(d+1)*k)):b.lineTo(n-0.5,p-(d+1)*k),b.stroke(),c.scaleShowLabels&&b.fillText(j.labels[d],n-8,p-(d+1)*k)},function(d){b.lineWidth=c.barStrokeWidth;for(var e=0;e<a.datasets.length;e++){b.fillStyle=a.datasets[e].fillColor;b.strokeStyle=a.datasets[e].strokeColor;for(var f=0;f<a.datasets[e].data.length;f++){var g=n+c.barValueSpacing+m*f+s*e+c.barDatasetSpacing*e+c.barStrokeWidth*e;b.beginPath();
b.moveTo(g,p);b.lineTo(g,p-d*v(a.datasets[e].data[f],j,k)+c.barStrokeWidth/2);b.lineTo(g+s,p-d*v(a.datasets[e].data[f],j,k)+c.barStrokeWidth/2);b.lineTo(g+s,p);c.barShowStroke&&b.stroke();b.closePath();b.fill()}}},b)},D=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)},F={}};
var Chart=ChartLegacy;
(function(){
"use strict";
var $document=jQuery(document);
$document.on('action.init_trx_addons', function(){
var $skills_items,
$skills_canvas;
$document.on('action.init_hidden_elements', update_jquery_links);
$document.on('action.got_ajax_response', update_jquery_links);
var first_run=true;
function update_jquery_links(e){
if(first_run&&e && e.namespace=='init_hidden_elements'){
first_run=false;
return;
}
$skills_canvas=jQuery('.sc_skills_pie canvas');
$skills_items=jQuery('.sc_skills_item');
if($skills_items.length > 0){
trx_addons_intersection_observer_add($skills_items, function(item, enter){
if(enter){
trx_addons_intersection_observer_remove(item);
trx_addons_sc_skills_init();
}});
}}
update_jquery_links();
$document
.on('action.init_hidden_elements', trx_addons_sc_skills_init)
.on('action.scroll_trx_addons',    trx_addons_sc_skills_init)
.on('action.resize_trx_addons',    trx_addons_sc_skills_resize);
function trx_addons_sc_skills_init(e, container){
if($skills_items.length===0) return;
$skills_items.each(function(idx){
var skillsItem=$skills_items.eq(idx);
if(skillsItem.hasClass('inited')||! skillsItem.hasClass('trx_addons_in_viewport')||skillsItem.parents('div:hidden,article:hidden').length > 0){
return;
}
var init_ok=true;
var skills=skillsItem.parents('.sc_skills').eq(0);
var type=skills.data('type');
var total=(type=='pie'&&skills.hasClass('sc_skills_compact_on'))
? skillsItem.find('.sc_skills_data .pie')
: skillsItem.find('.sc_skills_total').eq(0);
var start=parseFloat(total.data('start'));
var stop=parseFloat(total.data('stop'));
var maximum=parseInt(total.data('max'), 10);
var startPercent=Math.round(start/maximum*100);
var stopPercent=Math.round(stop/maximum*100);
var ed=total.data('ed');
var speed=parseInt(total.data('speed'), 10);
var step=parseFloat(total.data('step'));
var duration=parseInt(total.data('duration'), 10);
if(isNaN(duration)){
duration=Math.ceil(maximum/step)*speed;
total.data('duration', duration);
}
total.data('decimals', Math.max(0,
start!=parseInt(start, 10) ? (''+start).length - 1 - (''+parseInt(start, 10)).length:0,
stop!=parseInt(stop, 10) ? (''+stop).length - 1 - (''+parseInt(stop, 10)).length:0
)
);
if(type=='bar'){
var dir=skills.data('dir');
var count=skillsItem.find('.sc_skills_count').eq(0);
if(dir=='horizontal'){
count.css('width', startPercent + '%').animate({ width: stopPercent + '%' }, duration);
}else if(dir=='vertical'){
count.css('height', startPercent + '%').animate({ height: stopPercent + '%' }, duration);
}
trx_addons_sc_skills_animate_counter(start, stop, speed, step, ed, total);
}else if(type=='counter'){
trx_addons_sc_skills_animate_counter(start, stop, speed, step, ed, total);
}else if(type=='pie'){
if(window.ChartLegacy){
var steps=parseInt(total.data('steps'), 10);
var bg_color=total.data('bg_color');
var border_color=total.data('border_color');
var cutout=parseInt(total.data('cutout'), 10);
var easing=total.data('easing');
var options=trx_addons_apply_filters('trx_addons_filter_skills_pie_options', {
segmentShowStroke: border_color!=='',
segmentStrokeColor: border_color,
segmentStrokeWidth: border_color!=='' ? 1:0,
percentageInnerCutout: cutout,
animation: true,	//skillsItem.parents('.vc_row[data-vc-full-width="true"]').length==0,
animationSteps: steps,
animationEasing: easing,
animateRotate: true,
animateScale: true 	//skillsItem.parents('.vc_row[data-vc-full-width="true"]').length==0,
});
var pieData=[];
total.each(function(){
var color=jQuery(this).data('color');
var stop=parseInt(jQuery(this).data('stop'), 10);
var stopPercent=Math.round(stop/maximum*100);
pieData.push({
value: stopPercent,
color: color
});
});
if(total.length==1){
trx_addons_sc_skills_animate_counter(start, stop, Math.round(1500/steps), step, ed, total);
pieData.push({
value: 100-stopPercent,
color: bg_color
});
}
var canvas=skillsItem.find('canvas');
canvas
.data('pie-data', pieData)
.data('pie-options', options)
.attr({width: skillsItem.width(), height: skillsItem.width()})
.css({width: skillsItem.width(), height: skillsItem.height()});
new ChartLegacy(canvas.get(0).getContext("2d")).Doughnut(pieData, options);
}else{
init_ok=false;
}}
if(init_ok) skillsItem.addClass('inited');
});
}
function trx_addons_sc_skills_animate_counter(start, stop, speed, step, ed, total){
start=Math.min(stop, start+step);
var style=total.data('style')||'counter';
if(style=='odometer'){
var digits=total.find('.sc_skills_digit'),
duration=total.data('duration');
digits.each(function(idx, item){
var $self=digits.eq(idx);
if(! $self.data('rounds')){
var rounds=idx*10 + (''+stop).substring(idx, idx+1) * 1,
delay=Math.floor(( duration - 300) / Math.max(1, rounds) );
$self.data({
'rounds': rounds,
'round': 0,
'skip': 0,
'delay': delay
});
}
trx_addons_sc_skills_animate_digit($self, idx);
});
}else{
total.text(trx_addons_round_number(start, total.data('decimals')) + ed);
if(start < stop){
setTimeout(function (){
trx_addons_sc_skills_animate_counter(start, stop, speed, step, ed, total);
}, speed);
}}
}
function trx_addons_sc_skills_animate_digit($self, idx){
var $ribbon=$self.find('.sc_skills_digit_ribbon'),
$value=$self.find('.sc_skills_digit_value'),
rounds=$self.data('rounds'),
round=$self.data('round'),
skip=$self.data('skip'),
delay=$self.data('delay') +(round < rounds ? 0:300);
if(round < rounds){
if(skip++ < idx){
$self.data('skip', skip);
setTimeout(function(){
trx_addons_sc_skills_animate_digit($self, idx);
}, delay);
}else{
round++;
var $next=$value.clone();
$next.html(round % 10);
$value.after($next);
$ribbon.animate({
'top': -$value.height()+'px'
},
delay,
'linear',
function(){
$value.remove();
$ribbon.css('top', 0);
trx_addons_sc_skills_animate_digit($self, idx);
}
);
$self.data('round', round);
}}
}
function trx_addons_sc_skills_resize(){
if($skills_canvas.length==0) return;
$skills_canvas.each(function (){
var canvas=jQuery(this);
if(! window.ChartLegacy||canvas.parents('div:hidden,article:hidden').length > 0){
return;
}
var skillsItem=canvas.parent();
if(skillsItem.width()!=canvas.width()){
var data=canvas.data('pie-data');
var opt=canvas.data('pie-options');
if(data===undefined||opt===undefined) return;
canvas.empty()
.attr({width: skillsItem.width(), height: skillsItem.width()})
.css({width: skillsItem.width(), height: skillsItem.height()});
opt.animation=false;
new ChartLegacy(canvas.get(0).getContext("2d")).Doughnut(data, opt);
}});
}});
})();
jQuery(document).on('action.init_hidden_elements', function(){
"use strict";
var $window=jQuery(window),
$document=jQuery(document),
$body=jQuery('body');
var is_touch=trx_addons_browser_is_touch(),
is_sticky=trx_addons_browser_is_support_css_sticky(),
use_sticky=is_sticky&&(! is_touch||! $body.hasClass('ua_safari') );
jQuery('.sc_squeeze:not(.sc_squeeze_inited)').each(function(nth){
var $self=jQuery(this).addClass('sc_squeeze_inited'),
$scroller=$self.find('.sc_squeeze_content'),
$viewport=$self.find('.sc_squeeze_viewport'),
$wrap=$self.find('.sc_squeeze_wrap'),
$items=$self.find('.sc_squeeze_item'),
$bullets=$self.find('.sc_squeeze_bullets'),
$numbers=$self.find('.sc_squeeze_numbers'),
$progress=$self.find('.sc_squeeze_progress'),
$titles=$self.find('.sc_squeeze_titles'),
in_viewport=false,
last_call=false;
trx_addons_intersection_observer_add($self, function(item, enter, entry){
last_call=in_viewport&&! enter;
in_viewport=enter;
});
var scroller_height, scroller_top, item_height;
function trx_addons_sc_squeeze_calc(){
scroller_height=$scroller.outerHeight();
scroller_top=$scroller.offset().top;
item_height=$items.eq(0).outerHeight();
}
trx_addons_sc_squeeze_calc();
$document.on('action.resize_trx_addons', trx_addons_sc_squeeze_calc);
$document.on('action.sc_layouts_row_fixed_on action.sc_layouts_row_fixed_off', trx_addons_sc_squeeze_calc);
var first_run=true;
function trx_addons_sc_squeeze_update(){
if(! in_viewport&&! first_run&&! last_call) return;
trx_addons_sc_squeeze_calc();
var offset=scroller_top - trx_addons_window_scroll_top() - trx_addons_fixed_rows_height();
var is_fixed=offset < 0&&offset > -scroller_height + item_height;
offset=Math.max(-scroller_height + item_height, Math.min(0, offset) );
if(first_run||last_call||is_fixed){
$wrap.css('transform', 'translateY(' + offset + 'px)');
$items.each(function(idx){
var $item=jQuery(this),
item_top=$item.offset().top - scroller_top,
scale=Math.max(0, Math.min(1, 1 -(item_top - Math.abs(offset) ) / item_height) );
$item.css('transform', 'scaleY(' + scale + ')');
});
}
if(is_fixed){
if(! $self.hasClass('sc_squeeze_fixed') ){
$self.addClass('sc_squeeze_fixed');
if(! use_sticky){
$viewport.css({ 'position': 'fixed' });
}}
}else{
if($self.hasClass('sc_squeeze_fixed') ){
$self.removeClass('sc_squeeze_fixed');
if(! use_sticky){
$viewport.css({ 'position': 'sticky' });
}}
}
first_run=false;
var coef=Math.max(0, Math.min(1, -offset /(scroller_height - item_height) ));
var page=Math.max(1, Math.min($items.length, Math.floor(-offset / item_height + 0.5) + 1) );
if($progress.length){
if($progress.hasClass('sc_squeeze_progress_position_top')||$progress.hasClass('sc_squeeze_progress_position_bottom') ){
$progress.find('.sc_squeeze_progress_value').width(coef * 100 + '%');
}else{
$progress.find('.sc_squeeze_progress_value').height(coef * 100 + '%');
}}
if($scroller.data('last-page')!=page){
$scroller.data('last-page', page);
if($bullets.length){
$bullets
.find('.sc_squeeze_bullet')
.removeClass('sc_squeeze_bullet_active')
.eq(page - 1)
.addClass('sc_squeeze_bullet_active');
}
if($numbers.length){
$numbers.find('.sc_squeeze_number_active').text(page);
}
if($titles.length){
$titles
.find('.sc_squeeze_title')
.removeClass('sc_squeeze_title_active')
.eq(page - 1)
.addClass('sc_squeeze_title_active');
}}
}
$window.on('scroll', trx_addons_sc_squeeze_update);
$document.on('action.resize_trx_addons', trx_addons_sc_squeeze_update);
$document.on('action.sc_layouts_row_fixed_on action.sc_layouts_row_fixed_off', trx_addons_sc_squeeze_update);
$bullets.on('click', '.sc_squeeze_bullet:not(.sc_squeeze_bullet_active)', function(){
var page=jQuery(this).index();
var offset=scroller_top - trx_addons_fixed_rows_height() + page * item_height;
trx_addons_document_animate_to(offset);
});
});
});
jQuery(document).on('action.init_hidden_elements', function(){
"use strict";
jQuery('.sc_switcher:not(.sc_switcher_inited)').each(function(){
var $self=jQuery(this).addClass('sc_switcher_inited'),
$slider=$self.find('.sc_switcher_slider'),
$sections_wrap=$self.find('.sc_switcher_sections'),
$sections=$self.find('.sc_switcher_section');
if(typeof elementorFrontend=='undefined'||! elementorFrontend.isEditMode()){
$sections.each(function(){
var $section=jQuery(this),
id=$section.data('section');
if(id&&$section.html().length < 2){
$section.empty().append(jQuery('#' + id) );
}
$section.addClass('sc_switcher_section_inited');
});
}
if($self.hasClass('sc_switcher_default')||$self.hasClass('sc_switcher_modern') ){
var $toggle=$self.find('.sc_switcher_controls_toggle'),
$toggle_button=$self.find('.sc_switcher_controls_toggle_button');
$toggle.on('click', function(){
sc_switcher_toggle_state(0);
});
$self.find('.sc_switcher_controls_section1').on('click', function(){
sc_switcher_toggle_state(1);
});
$self.find('.sc_switcher_controls_section2').on('click', function(){
sc_switcher_toggle_state(2);
});
}else{
var $tabs=$self.find('.sc_switcher_tab');
$tabs.find('.sc_switcher_tab_link').on('click', function(e){
var $tab=jQuery(this).parent(),
idx=$tab.index();
$tabs.removeClass('sc_switcher_tab_active');
$tab.addClass('sc_switcher_tab_active');
$sections
.removeClass('sc_switcher_section_active')
.eq(idx).addClass('sc_switcher_section_active');
$slider.get(0).style.setProperty('--trx-addons-switcher-slide-active', idx);
sc_switcher_change_height();
e.preventDefault();
return false;
});
}
sc_switcher_set_slider_width();
sc_switcher_change_height();
jQuery(document).on('action.resize_trx_addons', function(){
sc_switcher_set_slider_width();
sc_switcher_change_height();
});
function sc_switcher_toggle_state(state){
if($toggle.hasClass('sc_switcher_controls_toggle_on') ){
if(state===0||state==2){
$self.removeClass('sc_switcher_toggle_on');
$toggle.removeClass('sc_switcher_controls_toggle_on');
$sections.eq(0).removeClass('sc_switcher_section_active');
$sections.eq(1).addClass('sc_switcher_section_active');
$slider.get(0).style.setProperty('--trx-addons-switcher-slide-active', 1);
sc_switcher_change_height();
}}else{
if(state===0||state==1){
$self.addClass('sc_switcher_toggle_on');
$toggle.addClass('sc_switcher_controls_toggle_on');
$sections.eq(0).addClass('sc_switcher_section_active');
$sections.eq(1).removeClass('sc_switcher_section_active');
$slider.get(0).style.setProperty('--trx-addons-switcher-slide-active', 0);
sc_switcher_change_height();
}}
sc_switcher_set_slider_width();
}
function sc_switcher_set_slider_width(){
if($self.hasClass('sc_switcher_modern')&&$self.hasClass('sc_switcher_autowidth') ){
$toggle_button.get(0).style.setProperty('--trx-addons-switcher-toggle-offset', $self.find('.sc_switcher_controls_section1').outerWidth() + 'px');
var idx=$toggle.hasClass('sc_switcher_controls_toggle_on') ? 1:2,
cw=$self.find('.sc_switcher_controls_section' + idx).outerWidth();
$toggle_button.width(cw);
}}
function sc_switcher_change_height(){
var $active=$sections.filter('.sc_switcher_section_active');
if($active.length > 0){
$sections_wrap.css('height', $active.outerHeight());
}}
});
});
(function(){
"use strict";
jQuery(document).on('action.init_hidden_elements', trx_addons_init_audio);
jQuery(window).on('load', function(){
trx_addons_init_audio();
});
jQuery(window).on('resize', function(){
trx_addons_audio_height();
});
jQuery(window).on('elementor/frontend/init', function(){
if(typeof window.elementorFrontend!=='undefined'&&typeof window.elementorFrontend.hooks!=='undefined'){
if(elementorFrontend.isEditMode()){
elementorFrontend.hooks.addAction('frontend/element_ready/global', function($cont){
if($cont.data('widget_type')&&$cont.data('widget_type').indexOf('trx_widget_audio') >=0){
trx_addons_audio_height($cont);
}});
}}
});
function trx_addons_init_audio(){
jQuery('.trx_addons_audio_wrap:not(.inited)').addClass('inited').each(function(){
var audio_wrap=jQuery(this);
if(! audio_wrap.hasClass('list') ){
return;
}
var total=audio_wrap.find('.trx_addons_audio_player').length,
current=null;
var setCurrentItem=function(idx){
var item, volume;
if(current){
volume=current.find('.mejs-horizontal-volume-slider').attr('aria-valuenow');
current.find('audio').get(0).pause();
audio_wrap.find('.trx_addons_audio_player').removeClass('current');
if(audio_wrap.hasClass('with_playlist') ){
audio_wrap.find('.trx_addons_audio_playlist_item').removeClass('current');
}
if(audio_wrap.hasClass('cover_left')||audio_wrap.hasClass('cover_right') ){
audio_wrap.find('.trx_addons_audio_cover_item').removeClass('current');
}}
current=audio_wrap.find('.trx_addons_audio_player').eq(idx < 0 ? total - 1:idx % total);
current.addClass('current');
if(current.hasClass('with_cover') ){
audio_wrap.addClass('with_cover');
}else{
audio_wrap.removeClass('with_cover');
}
if(audio_wrap.hasClass('with_playlist') ){
audio_wrap.find('.trx_addons_audio_playlist_item').eq(idx < 0 ? total - 1:idx % total).addClass('current');
}
if(audio_wrap.hasClass('cover_left')||audio_wrap.hasClass('cover_right') ){
audio_wrap.find('.trx_addons_audio_cover_item').eq(idx < 0 ? total - 1:idx % total).addClass('current');
}
item=current.find('audio').get(0);
if(item){
if(audio_wrap.hasClass('play') ){
item.play();
}
if(audio_wrap.hasClass('mute') ){
item.setMuted(true);
}else if(audio_wrap.hasClass('unmute') ){
item.setMuted(false);
}
if(volume > 0){
var current_volume=current.find('.mejs-horizontal-volume-slider').attr('aria-valuenow');
if(current_volume!=volume){
item.setVolume(volume / 100);
}}
}};
setCurrentItem(0);
audio_wrap.find('audio').each(function(){
var id=jQuery(this).attr('id');
var item=document.getElementById(id);
if(item){
item.load();
item.pause();
}}
);
audio_wrap.on('click', '.mejs-playpause-button', function(){
if(jQuery(this).hasClass('mejs-play')){
audio_wrap.addClass('play').removeClass('pause');
}else{
audio_wrap.addClass('pause').removeClass('play');
}});
audio_wrap.on('click', '.mejs-volume-button', function(){
if(jQuery(this).hasClass('mejs-mute')){
audio_wrap.addClass('unmute').removeClass('mute');
}else{
audio_wrap.addClass('mute').removeClass('unmute');
}});
audio_wrap.on('click', '.mejs-horizontal-volume-slider', function(){
if(audio_wrap.hasClass('mute')){
audio_wrap.addClass('unmute').removeClass('mute');
}});
audio_wrap.find('.trx_addons_audio_navigation').on('click', '.nav_btn', function(e){
setCurrentItem(current.index() +(jQuery(this).hasClass('next') ? 1:-1) );
e.preventDefault();
});
audio_wrap.find('.trx_addons_audio_playlist_item').on('click', function(e){
var item=jQuery(this);
if(! item.hasClass('current')&&! item.hasClass('disabled') ){
setCurrentItem(item.index());
}
e.preventDefault();
});
});
trx_addons_audio_height();
}
function trx_addons_audio_height($cont){
if($cont===undefined){
$cont=jQuery('body');
}
$cont.find('.trx_addons_audio_wrap').each(function(){
var $self=jQuery(this);
$self.removeClass('resized');
if($self.hasClass('list') ){
var height=0;
$self.find('.trx_addons_audio_player').each(function(){
var item_h=jQuery(this).outerHeight();
if(item_h > height){
height=item_h;
}});
$self.find('.trx_addons_audio_list').height(height);
}
$self.addClass('resized');
});
}})();
(function(){
"use strict";
var $window=jQuery(window),
$document=jQuery(document);
var init_attempts=0;
var init_hidden_elements_after_all_sliders_inited=trx_addons_throttle(function(){
$document.trigger('action.init_hidden_elements', [jQuery('body')]);
}, 300, true);
$document.on('action.init_hidden_elements', function(e, container){
trx_addons_init_sliders(e, container);
});
function trx_addons_get_slides_breakpoint_value($slider, name, defa){
if(defa===undefined) defa=0;
var value=parseInt($slider.data(name)||defa, 10);
var bp=$slider.data(name + '-breakpoints');
if(bp){
var ww=trx_addons_window_width();
for(var max in bp){
if(ww <=max){
if(bp[ max ]!=''){
value=parseInt(bp[ max ], 10);
}
break;
}}
}
return value;
}
var attempts=50;
function trx_addons_init_sliders(e, container){
if(! window.Swiper&&attempts-- > 0){
setTimeout(function(){
trx_addons_init_sliders(e, container);
}, 100);
}
if(window.Swiper){
container.find('.sc_slider_controller:not(.inited)').each(function (){
var controller=jQuery(this).addClass('inited');
if(controller.find('.slider_style_controller').length > 0) return;
var slider_id=controller.data('slider-id');
if(! slider_id) return;
var controller_id=controller.attr('id');
if(controller_id==undefined){
controller_id='sc_slider_controller_' + trx_addons_get_unique_id();
controller.attr('id', controller_id);
}
var slider_cont=jQuery('#'+slider_id+' .slider_container:not(.slider_controller_container)').eq(0);
if(! slider_cont.attr('data-controller')){
slider_cont.attr('data-controller', controller_id);
}
var controller_style=controller.data('style');
var controller_effect=controller.data('effect');
var controller_direction=controller.data('direction');
var controller_interval=controller.data('interval');
var controller_per_view=trx_addons_get_slides_breakpoint_value(controller, 'slides-per-view', 1);
var controller_space=trx_addons_get_slides_breakpoint_value(controller, 'slides-space', 0);
var controller_controls=controller.data('controls');
var controller_icon_custom=controller.data('controls-icon-prev')||controller.data('controls-icon-next');
var controller_icon=controller_icon_custom ? '':controller.data('controls-icon');
var controller_icon_prev=controller_icon_custom
? controller.data('controls-icon-prev')
:(controller_icon ? controller_icon:'slider_arrow_default');
var controller_icon_next=controller_icon_custom
? controller.data('controls-icon-next')
:(controller_icon_prev ? controller_icon_prev.replace('left', 'right').replace('up', 'down'):'');
var controller_html='';
slider_cont.find('> .slider-wrapper > .swiper-slide').each(function(idx){
var slide=jQuery(this);
var image='';
if(controller_style.indexOf('thumbs')!=-1){
if(slide.data('image')){
image=slide.data('image');
}else if(slide.find('.post_thumb_bg').length > 0){
image=slide.find('.post_thumb_bg').css('background-image').replace('url(', '').replace(')', '').replace(';', '').replace('"', '');
}else if(slide.css('background-image')&&slide.css('background-image')!='none'){
image=slide.css('background-image').replace('url(', '').replace(')', '').replace(';', '').replace('"', '');
}else if(slide.find('img').length > 0){
image=slide.find('img').eq(0).attr('src');
}}
var title=controller_style.indexOf('titles')==-1
? ''
:(slide.data('title')
? slide.data('title')
: slide.find('[class*="_item_title"]').text()
);
var cats=slide.data('cats');
var date=slide.data('date');
controller_html +=trx_addons_apply_filters(
'trx_addons_filter_slider_controller_slide_html',
'<div class="slider-slide swiper-slide"'
+ ' style="'
+ (image!==undefined&&image!=='' ? 'background-image: url('+image+');':'')
+ '"'
+ '>'
+ '<div class="sc_slider_controller_info">'
+ '<span class="sc_slider_controller_info_number">'+(idx < 9 ? '0':'')+(idx+1)+'</span>'
+ '<span class="sc_slider_controller_info_title">'+(title ? title:'Slide '+(idx+1))+'</span>'
+ '</div>'
+ '</div>',
slide,
controller
);
});
controller.html(trx_addons_apply_filters(
'trx_addons_filter_slider_controller_html',
'<div id="'+controller_id+'_outer"'
+ ' class="slider_outer slider_swiper_outer slider_style_controller'
+ ' slider_outer_' + (controller_controls==1 ? 'controls slider_outer_controls_side':'nocontrols')
+ ' slider_outer_nopagination'
+ ' slider_outer_' + (controller_per_view==1 ? 'one':'multi')
+ ' slider_outer_direction_' + (controller_direction=='vertical' ? 'vertical':'horizontal')
+ '"'
+ '>'
+ '<div id="'+controller_id+'_swiper"'
+' class="slider_container slider_controller_container slider_swiper swiper-slider-container'
+ ' slider_' + (controller_controls==1 ? 'controls slider_controls_side':'nocontrols')
+ ' slider_nopagination'
+ ' slider_notitles'
+ ' slider_noresize'
+ ' slider_' + (controller_per_view==1 ? 'one':'multi')
+ ' slider_direction_' + (controller_direction=='vertical' ? 'vertical':'horizontal')
+ '"'
+ ' data-slides-min-width="' + trx_addons_apply_filters('trx_addons_filter_slider_controller_slide_width', 150) + '"'
+ ' data-controlled-slider="'+slider_id+'"'
+ ' data-direction="' + (controller_direction=='vertical' ? 'vertical':'horizontal') + '"'
+ ' data-loop="1"'
+ ' data-autoplay="' +(controller_interval > 0 ? '1':'0') + '"'
+ (controller_effect!==undefined ? ' data-effect="' + controller_effect + '"':'')
+ (controller_interval!==undefined ? ' data-interval="' + controller_interval + '"':'')
+ (controller_per_view!==undefined ? ' data-slides-per-view="' + controller_per_view + '"':'')
+ (controller_space!==undefined ? ' data-slides-space="' + controller_space + '"':'')
+ '>'
+ '<div class="slider-wrapper swiper-wrapper">'
+ controller_html
+ '</div>'
+ '</div>'
+ (controller_controls==1
? '<div class="slider_controls_wrap">'
+ '<a class="slider_prev swiper-button-prev ' +(controller_icon_custom ? '':controller_icon_prev) + '" href="#">'
+(controller_icon_custom ? '<span class="slider_prev_icon trx-addons-icon">' + controller_icon_prev + '</span>':'')
+ '</a>'
+ '<a class="slider_next swiper-button-next ' +(controller_icon_custom ? '':controller_icon_next) + '" href="#">'
+(controller_icon_custom ? '<span class="slider_next_icon trx-addons-icon">' + controller_icon_next + '</span>':'')
+ '</a>'
+ '</div>'
: ''
)
+ '</div>',
controller
)
);
});
container.find('.sc_slider_controls:not(.inited)').each(function (){
var controls=jQuery(this).addClass('inited'),
slider_id=controls.data('slider-id'),
pagination_style=controls.data('pagination-style');
if(! slider_id) return;
slider_id=jQuery('#'+slider_id+' .slider_swiper').attr('id');
if(! slider_id) return;
controls.on('click', 'a', function(e){
var s=TRX_ADDONS_STORAGE['swipers'][slider_id];
if(jQuery(this).hasClass('slider_next'))
s.slideNext();
else
s.slidePrev();
e.preventDefault();
return false;
});
var s=typeof TRX_ADDONS_STORAGE['swipers']!='undefined'&&typeof TRX_ADDONS_STORAGE['swipers'][slider_id]!='undefined' ? TRX_ADDONS_STORAGE['swipers'][slider_id]:false,
slides=jQuery('#'+slider_id+' .swiper-slide'),
spv=s
?(s.params.loop
? s.loopedSlides
: 0
)
: 0;
var total=s
?(s.params.loop
? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup)
: s.snapGrid.length
)
: slides.length;
var html='';
if(pagination_style=='thumbs'){
slides.each(function(idx){
if(idx < spv||idx >=slides.length - spv) return;
var slide=jQuery(this);
var image=slide.data('image');
html +=trx_addons_apply_filters(
'trx_addons_filter_slider_controls_html_thumb',
'<span class="slider_pagination_button_wrap swiper-pagination-button-wrap" style="width: ' + Math.round(100/total, 2) + '%;">'
+ '<span class="slider_pagination_button swiper-pagination-button"'
+ (image!==undefined ? ' style="background-image: url('+image+');"':'')
+ '></span>'
+ '</span>',
slide,
controls
);
});
controls.find('.slider_pagination_wrap').html(trx_addons_apply_filters('trx_addons_filter_slider_controls_html_thumbs', html, controls)
);
}else if(pagination_style=='fraction'){
controls.find('.slider_pagination_wrap').html(trx_addons_apply_filters('trx_addons_filter_slider_controls_html_fraction',
'<span class="slider_pagination_current swiper-pagination-current">1</span>'
+ '/'
+ '<span class="slider_pagination_total swiper-pagination-total">'+total+'</span>',
controls
)
);
}else if(pagination_style=='bullets'){
slides.each(function(idx){
if(idx < spv||idx >=slides.length - spv) return;
html +=trx_addons_apply_filters(
'trx_addons_filter_slider_controls_html_bullet',
'<span class="slider_pagination_bullet swiper-pagination-bullet" data-slide-number="'+(s ? jQuery(this).data('slide-number'):idx)+'"></span>',
idx,
controls
);
});
controls.find('.slider_pagination_wrap').html(trx_addons_apply_filters('trx_addons_filter_slider_controls_html_bullets', html, controls)
);
}else if(pagination_style=='titles'){
var pagination_title_html_tag=controls.data('pagination-html-tag') ? controls.data('pagination-html-tag'):'span';
slides.each(function(idx){
if(idx < spv||idx >=slides.length - spv) return;
var slide=jQuery(this);
var title=slide.data('title')||('Slide ' +(idx + 1) );
html +=trx_addons_apply_filters(
'trx_addons_filter_slider_controls_html_title',
'<' + pagination_title_html_tag + ' class="slider_pagination_title swiper-pagination-title">' + title + '</' + pagination_title_html_tag + '>',
slide,
controls,
);
});
controls.find('.slider_pagination_wrap').html(trx_addons_apply_filters('trx_addons_filter_slider_controls_html_titles', html, controls)
);
}
if(pagination_style!='none'){
if(controls.find('.slider_progress_bar').length > 0){
var bar=controls.find('.slider_progress_bar');
bar.parent().on('click', function(e){
var s=TRX_ADDONS_STORAGE['swipers'][slider_id];
var total=s.params.loop ? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup):s.snapGrid.length;
var slide_number=Math.max(0, Math.min(total-1, Math.floor(total * e.offsetX / jQuery(this).width())));
var slide_idx=jQuery('#'+slider_id).find('[data-slide-number="'+slide_number+'"]:not(.swiper-slide-duplicate)').index();
s.slideTo(slide_idx);
e.preventDefault();
return false;
});
}else{
controls.find('.slider_pagination_button_wrap,.slider_pagination_bullet,.slider_pagination_title').on('click', function(e){
var s=TRX_ADDONS_STORAGE['swipers'][slider_id];
var slide_idx=jQuery('#'+slider_id).find('[data-slide-number="'+jQuery(this).index()+'"]:not(.swiper-slide-duplicate)').index();
s.slideTo(slide_idx);
e.preventDefault();
return false;
});
}
jQuery('#'+slider_id).on('slider_init slide_change_start', function(e){
if(TRX_ADDONS_STORAGE['swipers'][slider_id]){
var s=TRX_ADDONS_STORAGE['swipers'][slider_id];
var current=jQuery(s.slides[s.activeIndex]).data('slide-number') + 1,
total=s.params.loop ? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup):s.snapGrid.length;
if(total > 0){
if(pagination_style=='progressbar'){
bar.width(Math.ceil(current/total*100)+'%');
}else if(pagination_style=='thumbs'){
controls.find('.slider_pagination_button')
.removeClass('slider_pagination_button_active')
.eq(current-1)
.addClass('slider_pagination_button_active');
}else if(pagination_style=='bullets'){
controls.find('.slider_pagination_bullet')
.removeClass('slider_pagination_bullet_active swiper-pagination-bullet-active')
.eq(current-1)
.addClass('slider_pagination_bullet_active swiper-pagination-bullet-active');
}else if(pagination_style=='fraction'){
controls.find('.slider_pagination_current').text(current);
}else if(pagination_style=='titles'){
controls.find('.slider_pagination_title')
.removeClass('slider_pagination_title_active swiper-pagination-title-active')
.eq(current-1)
.addClass('slider_pagination_title_active swiper-pagination-title-active');
}}
}});
}});
container.find('.slider_swiper:not(.inited)').each(function (){
var slider=jQuery(this);
if(slider.parents('div:hidden,article:hidden').length > 0){
return;
}
var loaded=true;
slider.find('img').each(function(){
var $self=jQuery(this);
if(! $self.get(0).complete&&$self.attr('loading')!='lazy') loaded=false;
});
if(! loaded&&init_attempts++ < 20){
setTimeout(function(){
trx_addons_init_sliders(e, container);
}, 100);
return;
}
var id=slider.attr('id');
if(id==undefined){
id='swiper_' + trx_addons_get_unique_id();
slider.attr('id', id);
}
var cont=slider.parent().hasClass('slider_swiper_outer')
? slider.parent().attr('id', id+'_outer')
: slider;
var cont_id=cont.attr('id');
var slave_id=slider.data('slave-id')||'';
if(slave_id!=''){
var slave_slider=jQuery('#'+slave_id+' .slider_container:not(.slider_controller_container)').eq(0);
if(slave_slider.length){
slider.attr('data-controlled-slider', slave_id);
if(! slave_slider.attr('data-controller')){
slave_slider.attr('data-controller', id);
}}else{
slave_id='';
}}
var is_controller=slider.parents('.sc_slider_controller').length > 0||slave_id;
var controller_id=slider.data('controller');
slider.find('> .slider-wrapper > .swiper-slide').each(function(idx){
jQuery(this).attr('data-slide-number', idx);
});
slider
.css({
'display': 'block',
'opacity': 0
})
.addClass(id)
.addClass('inited')
.data('settings', {mode: 'horizontal'});
var effect=slider.data('effect') ? slider.data('effect'):'slide';
var loop=slider.data('loop');
if(loop===undefined||isNaN(loop) ) loop=1;
var speed=slider.data('speed');
if(speed===undefined||isNaN(speed) ) speed=600;
var free_mode=slider.data('free-mode');
var direction=slider.data('direction');
if(direction!='vertical') direction='horizontal';
var smw=trx_addons_get_slides_breakpoint_value(slider, 'slides-min-width', 150);
if(smw===undefined){
smw=150;
slider.attr('data-slides-min-width', smw);
}
var spv=trx_addons_get_slides_breakpoint_value(slider, 'slides-per-view', 1);
if(spv==undefined||slider.parents('.widget_nav_menu').length > 0){
spv=1;
slider.attr('data-slides-per-view', spv);
}
var width=slider.width();
if(width===0){
width=slider.parent().width();
}
if(direction=='horizontal'){
if(width / spv < smw){
spv=Math.max(1, Math.floor(width / smw) );
}}
var space=trx_addons_get_slides_breakpoint_value(slider, 'slides-space', 0);
if(space==undefined) space=0;
var slides_parallax=slider.data('slides-parallax');
slides_parallax=effect=='slide'&&spv==1 ? Math.max(0, Math.min(1, slides_parallax||0) ):0;
if(direction=='vertical'&&slider.hasClass('slider_height_auto')&&slider.hasClass('slider_noresize')){
var height=0;
slider.find('.swiper-slide').each(function(idx){
if(idx >=spv) return;
height +=jQuery(this).height() +(idx > 0 ? space:0);
});
if(height > 0) slider.height(height);
}
var interval=slider.data('interval');
if(interval===undefined){
interval=Math.round(5000 *(1 + Math.random()) );
}else if(isNaN(interval) ){
interval=0;
}else{
interval=parseInt(interval, 10);
}
var noswipe=slider.hasClass('slider_noswipe')
|| slider.parents('.slider_noswipe,.elementor-edit-mode').length > 0
|| jQuery('body').hasClass('block-editor-page');
if(slider.parents('[class*="_grid_wrap"]').length > 0){
slider.css({
'max-width': width+'px'
});
}
if(TRX_ADDONS_STORAGE['swipers']===undefined){
TRX_ADDONS_STORAGE['swipers']={};}
TRX_ADDONS_STORAGE['swipers'][id]=new Swiper('.'+id, trx_addons_apply_filters('trx_addons_filter_slider_init_args', {
freeMode: free_mode > 0,
direction: direction,
initialSlide: 0,
speed: speed,
loop: loop > 0&&slider.data('slides-overflow')!=1,
loopedSlides: spv,
slidesPerView: spv,
spaceBetween: space,
centeredSlides: slider.data('slides-centered')==1,
mousewheel: slider.data('mouse-wheel')==1
? {
releaseOnEdges: true
}
: false,
grabCursor: ! is_controller&&! noswipe,
slideToClickedSlide: is_controller,
touchRatio: is_controller ? 0.2:1,
autoHeight: false,
lazy: false,
preloadImages: true,
updateOnImagesReady: true,
roundLengths: TRX_ADDONS_STORAGE['slider_round_lengths']
&& ! is_controller
&& spv==1,
effect: effect,
parallax: {
enabled: slides_parallax > 0
},
swipeHandler: noswipe ? '.slider_controls_wrap,.slider_pagination_wrap':null,
pagination: {
el: slider.hasClass('slider_pagination') ? '#'+cont_id+'>.slider_pagination_wrap,#'+cont_id+' > .slider_swiper > .slider_pagination_wrap':null,
clickable: slider.hasClass('slider_pagination') ? '#'+cont_id+' .slider_pagination_wrap':false,
type: slider.hasClass('slider_pagination')&&slider.data('pagination') ? slider.data('pagination'):'bullets',
progressbarOpposite: slider.data('pagination')=='progressbar'
&& (
(slider.data('direction')=='vertical'&&(slider.hasClass('slider_pagination_pos_bottom')||slider.hasClass('slider_pagination_pos_bottom_outside')) )
||
(slider.data('direction')=='horizontal'&&(slider.hasClass('slider_pagination_pos_left')||slider.hasClass('slider_pagination_pos_right')) )
)
},
navigation: {
nextEl: slider.hasClass('slider_controls') ? '#'+id+'>.slider_controls_wrap>.slider_next,#'+id+'~.slider_controls_wrap>.slider_next':null,
prevEl: slider.hasClass('slider_controls') ? '#'+id+'>.slider_controls_wrap>.slider_prev,#'+id+'~.slider_controls_wrap>.slider_prev':null
},
autoplay: slider.hasClass('slider_noautoplay')
|| (typeof slider.data('autoplay')!=='undefined'&&slider.data('autoplay')==0)
? false
: {
delay: interval,
disableOnInteraction: true
},
on: {
slideChangeTransitionStart: function (){
var swiper=this,
slide=jQuery(swiper.slides[swiper.activeIndex]),
slide_number=slide.data('slide-number');
cont.find('.swiper-pagination-custom > span')
.removeClass('swiper-pagination-button-active')
.eq(slide_number)
.addClass('swiper-pagination-button-active');
cont.find('.slider_titles_outside_wrap .active').removeClass('active').fadeOut();
var slaves=is_controller
? jQuery('#'+slider.data('controlled-slider'))
: jQuery('[data-slider-id="'+id.replace('_sc_', '_')+'"]');
if(slaves.length===0&&! is_controller){
slaves=jQuery('[data-slider-id="'+id.replace('_sc_', '_').replace('_swiper', '')+'"]');
if(slaves.length===0){
slaves=jQuery('[data-slider-id="'+id.replace('_sc_slider_swiper', '')+'"]');
}}
if(slaves.length > 0){
slaves.each(function(){
var controlled_slider=jQuery(this).hasClass('slider_swiper') ? jQuery(this):jQuery(this).find('.slider_swiper').eq(0);
var controlled_id=controlled_slider.attr('id');
if(controlled_id&&TRX_ADDONS_STORAGE['swipers'][controlled_id]&&jQuery('#'+controlled_id).attr('data-busy')!=1){
slider.attr('data-busy', 1);
setTimeout(function(){
slider.attr('data-busy', 0);
}, 300);
var slide_number=jQuery(swiper.slides[swiper.activeIndex]).data('slide-number');
var slide_idx=controlled_slider.find('[data-slide-number="'+slide_number+'"]:not(.swiper-slide-duplicate)').index();
TRX_ADDONS_STORAGE['swipers'][controlled_id].slideTo(slide_idx);
}});
}
slider.trigger('slide_change_start', [slider]);
},
slideChangeTransitionEnd: function (){
var swiper=this,
slide=jQuery(swiper.slides[swiper.activeIndex]),
slide_prev=jQuery(swiper.slides[swiper.lastOpenedIndex!==undefined ? swiper.lastOpenedIndex:swiper.previousIndex]),
slide_number=slide.data('slide-number');
swiper.lastOpenedIndex=swiper.activeIndex;
var titles=cont.find('.slider_titles_outside_wrap .slide_info');
if(titles.length > 0){
titles.eq(slide_number).addClass('active').fadeIn(300);
}
var video=slide_prev.find('.trx_addons_video_player:not(.with_video_autoplay)');
if(video.length > 0){
if(video.hasClass('with_cover')){
if(video.hasClass('video_play')){
video.removeClass('video_play').find('.video_embed').empty();
}}else{
var embed=video.find('.video_embed'),
html=embed.html();
embed.empty().html(html);
}}
slider.attr('data-busy', 0);
slider.trigger('slide_change_end', [slider]);
},
touchStart: function(){
slider.trigger('swiper_touch_start');
},
touchEnd: function(){
slider.trigger('swiper_touch_end');
},
/*
progress: function(){
if(slides_parallax > 0){
var swiper=this;
var axis=direction=='vertical' ? 'Y':'X';
var k=slides_parallax;
for(var i=0; i < swiper.slides.length; i++){
var offset=swiper.slides[i].progress * k *(direction=='vertical' ? swiper.height:swiper.width);
swiper.slides[i].querySelector('.slide_parallax_wrapper').style.transform="translate" + axis + "(" + offset + "px)";
}}
},
setTransition: function(e){
if(slides_parallax > 0){
var swiper=this;
for (var i=0; i < swiper.slides.length; i++){
swiper.slides[i].style.transition=e + "ms";
swiper.slides[i].querySelector('.slide_parallax_wrapper').style.transition=e + "ms";
}}
}
*/
}}, slider) );
if(slider.data('mouse-wheel')==1){
var slider_sticky_wrapper=slider.parents('.elementor-sticky');
if(slider_sticky_wrapper.length){
TRX_ADDONS_STORAGE['swipers'][id].mousewheel.disable();
var init_sticky_observer=function(){
var slider_sticky_wrapper_top=slider_sticky_wrapper.css('top')||'0px',
custom_top=Math.abs(parseFloat(slider_sticky_wrapper_top) - trx_addons_fixed_rows_height()) > 1;
trx_addons_sticky_observer_remove(id);
trx_addons_sticky_observer_create(id, slider_sticky_wrapper, function(entry, is_sticky){
if(is_sticky){
TRX_ADDONS_STORAGE['swipers'][id].mousewheel.enable();
}else{
TRX_ADDONS_STORAGE['swipers'][id].mousewheel.disable();
}}, {
rootMargin:(-(custom_top ? parseFloat(slider_sticky_wrapper_top):trx_addons_fixed_rows_height()) ) + 'px 0px 0px 0px'
});
};
init_sticky_observer();
$document.on('action.resize_trx_addons action.sc_layouts_row_fixed_on action.sc_layouts_row_fixed_off', trx_addons_debounce(init_sticky_observer, 500) );
}}
slider.trigger('slider_init', [slider]);
$document.trigger('action.slider_init', [slider, id]);
if(slider.hasClass('swiper-container') ){
slider.addClass('swiper-container-initialized');
}else{
cont.find('.swiper-container').addClass('swiper-container-initialized');
}
cont.find('.swiper-pagination-custom').on('click', '>span', function(e){
jQuery(this).siblings().removeClass('swiper-pagination-button-active');
var t=jQuery(this).addClass('swiper-pagination-button-active').index() * TRX_ADDONS_STORAGE['swipers'][id].params.slidesPerGroup;
TRX_ADDONS_STORAGE['swipers'][id].params.loop&&(t +=TRX_ADDONS_STORAGE['swipers'][id].loopedSlides);
TRX_ADDONS_STORAGE['swipers'][id].slideTo(t);
e.preventDefault();
return false;
});
cont.find('.slider_titles_outside_wrap .slide_info').eq(0).addClass('active').fadeIn(300);
slider.attr('data-busy', 1).animate({'opacity':1}, 'fast', function(){
slider.attr('data-busy', 0);
trx_addons_set_controller_height(is_controller ? slider.parents('[data-slider-id]').eq(0).attr('id'):controller_id,
is_controller ? jQuery('#'+slider.parents('[data-slider-id]').eq(0).data('slider-id')):slider
);
slider.trigger('slider_inited', [slider]);
$document.trigger('action.slider_inited', [slider, id]);
});
init_hidden_elements_after_all_sliders_inited();
$document.trigger('action.resize_trx_addons');
$window.trigger('scroll');
});
}
if(window.ElastiStack){
container.find('.slider_elastistack:not(.inited)').each(function (){
if(jQuery(this).parents('div:hidden,article:hidden').length > 0||typeof window.ElastiStack=='undefined')
return;
var slider=jQuery(this);
var id=slider.attr('id');
if(id==undefined){
id='elastistack_' + trx_addons_get_unique_id();
slider.attr('id', id);
}
var cont=slider.parent().hasClass('slider_outer') ? slider.parent().attr('id', id+'_outer'):slider;
var cont_id=cont.attr('id');
var images=slider.find('ul.stack__images').attr('id', id+'_images');
var images_id=images.attr('id');
slider.css({
'display': 'block',
'opacity': 0
})
.addClass(id)
.addClass('inited')
.data('settings', {mode: 'horizontal'});
trx_addons_resize_sliders(e, cont);
var stack=new ElastiStack(images.get(0), {
onUpdateStack:function(idx){
var titles=cont.find('.slider_titles_outside_wrap');
if(titles.length > 0){
titles.find('.active').removeClass('active').hide();
titles.find('.slide_info').eq(idx).addClass('active').fadeIn(300);
}
cont.find('.trx_addons_video_player.with_cover.video_play').removeClass('video_play').find('.video_embed').empty();
slider.trigger('slide_change_end', [slider]);
}});
cont.find('.slider_next').on('click', function(e){
stack.nextItem({ transform:'translate3d(0, -60px, 400px)' });
e.preventDefault();
return false;
});
cont.find('.slider_titles_outside_wrap .slide_info').eq(0).addClass('active').fadeIn(300);
slider.animate({'opacity':1}, 'fast', function(){
stack._setStackStyle();
});
});
}}
$document.on('action.resize_trx_addons', trx_addons_resize_sliders);
function trx_addons_resize_sliders(e, container){
if(container===undefined){
container=jQuery('body');
}
container.find('.slider_container.inited').each(function(){
var slider=jQuery(this);
if(slider.parents('div:hidden,article:hidden').length > 0) return;
var id=slider.attr('id');
var direction=slider.data('direction');
if(direction!='vertical') direction='horizontal';
var on_resize=false;
var max_width=slider.closest('.post_featured'
+ ',' + '.swiper-slide'
+ ',' + '.elementor-widget'
+ ',' + '.vc_column-inner'
+ ',' + trx_addons_apply_filters('trx_addons_filter_content_class', '.content', 'slider-resize')
+ ',' + trx_addons_apply_filters('trx_addons_filter_page_wrap_class', TRX_ADDONS_STORAGE['page_wrap_class'] ? TRX_ADDONS_STORAGE['page_wrap_class']:'.page_wrap', 'slider-resize')
+ ',' + 'body'
).width();
var slider_width=slider.width();
if(slider_width > max_width){
slider_width=Math.min(slider_width, max_width);
slider.width(slider_width);
on_resize=true;
}
var last_width=slider.data('last-width');
if(isNaN(last_width)){
last_width=0;
}
if(last_width===0||last_width!=slider_width){
if(direction!='vertical') slider.data('last-width', slider_width);
var space=trx_addons_get_slides_breakpoint_value(slider, 'slides-space', 0);
if(space==undefined){
space=0;
}
if(slider.hasClass('slider_swiper')
&& typeof TRX_ADDONS_STORAGE['swipers']!='undefined'
&& typeof TRX_ADDONS_STORAGE['swipers'][id]=='object'
&& typeof TRX_ADDONS_STORAGE['swipers'][id].params=='object'
&& typeof TRX_ADDONS_STORAGE['swipers'][id].params.spaceBetween!='undefined'
){
var gap=space;
if(trx_addons_window_width() < 1440){
var grid_element=jQuery(
'.elementor-column-gap-extended > .elementor-row > .elementor-column > .elementor-element-populated,'
+ '.elementor-column-gap-extended > .elementor-column > .elementor-element-populated'
).eq(0),
grid_gap=grid_element.length ? parseInt(grid_element.css('padding-left'), 10):0;
if(grid_gap >=10){
gap=grid_gap * 2;
}}
if(gap > 0&&TRX_ADDONS_STORAGE['swipers'][id].params.spaceBetween > gap){
TRX_ADDONS_STORAGE['swipers'][id].params.spaceBetween=gap;
space=gap;
}}
var spv=trx_addons_get_slides_breakpoint_value(slider, 'slides-per-view', 1);
if(spv==undefined||slider.parents('.widget_nav_menu').length > 0){
spv=1;
}
if(slider.hasClass('slider_swiper')
&& typeof TRX_ADDONS_STORAGE['swipers']!='undefined'
&& typeof TRX_ADDONS_STORAGE['swipers'][id]=='object'
&& typeof TRX_ADDONS_STORAGE['swipers'][id].params=='object'
){
if(typeof TRX_ADDONS_STORAGE['swipers'][id].params.slidesPerView!='undefined'&&TRX_ADDONS_STORAGE['swipers'][id].params.slidesPerView!='auto'){
if(direction=='horizontal'){
var smw=trx_addons_get_slides_breakpoint_value(slider, 'slides-min-width', 150);
if(slider_width / spv < smw){
spv=Math.max(1, Math.floor(slider_width / smw));
}
if(TRX_ADDONS_STORAGE['swipers'][id].params.slidesPerView!=spv){
TRX_ADDONS_STORAGE['swipers'][id].params.slidesPerView=spv;
TRX_ADDONS_STORAGE['swipers'][id].params.loopedSlides=spv;
}}
on_resize=true;
}
if(typeof TRX_ADDONS_STORAGE['swipers'][id].params.spaceBetween!='undefined'){
if(TRX_ADDONS_STORAGE['swipers'][id].params.spaceBetween!=space){
TRX_ADDONS_STORAGE['swipers'][id].params.spaceBetween=space;
on_resize=true;
}}
}
if(! slider.hasClass('slider_noresize')||slider.height()===0){
var slider_height=slider.height();
var slide=slider.find('.slider-slide').eq(0);
var slide_width=direction=='horizontal'
? (slider_width - (spv-1) * space) / spv
: slider_width;
var slide_height=direction=='vertical'
? (slider_height - (spv-1) * space) / spv
: slider_height;
var ratio=slider.data('ratio');
if(ratio===undefined||(''+ratio).indexOf(':') < 1){
ratio=slide_height > 0 ? slide_width+':'+slide_height:"16:9";
slider.attr('data-ratio', ratio);
}
ratio=ratio.split(':');
var ratio_x = !isNaN(ratio[0]) ? Number(ratio[0]):16;
var ratio_y = !isNaN(ratio[1]) ? Number(ratio[1]):9;
var height=Math.floor(( spv==1 ? slider_width:slide_width) / ratio_x * ratio_y);
slider.height(direction=='vertical' ? height * spv + (spv-1) * space:height);
on_resize=true;
if(slider.hasClass('slider_elastistack')){
slider.find('.slider-wrapper,.stack__images,.slider-slide').height(height);
}
trx_addons_set_controller_height(slider.data('controller'), slider, e);
}
if(on_resize&&(slider.hasClass('slider_swiper')||slider.hasClass('slider_swiper_outer'))){
if(typeof TRX_ADDONS_STORAGE['swipers']!='undefined'
&& typeof TRX_ADDONS_STORAGE['swipers'][id]=='object'
&& typeof TRX_ADDONS_STORAGE['swipers'][id].resize=='object'
&& typeof TRX_ADDONS_STORAGE['swipers'][id].resize.resizeHandler=='function'
){
TRX_ADDONS_STORAGE['swipers'][id].resize.resizeHandler(e);
}}
}});
}
function trx_addons_set_controller_height(controller_id, slider, e){
if(!controller_id&&typeof TRX_ADDONS_STORAGE['pagebuilder_preview_mode']!='undefined'&&TRX_ADDONS_STORAGE['pagebuilder_preview_mode']){
var slider_id=slider.attr('id').replace('_sc_slider', '');
if(slider_id){
controller_id=jQuery('[data-slider-id="' + slider_id + '"]').eq(0).attr('id');
}}
if(!controller_id) return;
var controller=jQuery('#'+controller_id);
if(controller.length > 0 
&& controller.hasClass('sc_slider_controller_vertical')
&& controller.hasClass('sc_slider_controller_height_auto')
){
var controller_slider=controller.hasClass('slider_container') ? controller:controller.find('.slider_container'),
controller_slider_id=controller_slider.attr('id');
var paddings=parseFloat(controller.css('paddingTop'));
if(isNaN(paddings)) paddings=0;
var controller_spv=trx_addons_get_slides_breakpoint_value(controller, 'slides-per-view', 1);
if(isNaN(controller_spv)) controller_spv=1;
controller_slider.height(Math.max((slider.parent().hasClass('slider_outer') ? slider.parent().outerHeight():slider.height()) - 2 * paddings,
controller_spv * trx_addons_apply_filters('trx_addons_filter_slider_controller_min_height', 80)
));
if((controller_slider.hasClass('slider_swiper')||controller_slider.hasClass('slider_swiper_outer'))){
if(typeof TRX_ADDONS_STORAGE['swipers'][controller_slider_id]=='object'&&typeof TRX_ADDONS_STORAGE['swipers'][controller_slider_id].resize=='object'&&typeof TRX_ADDONS_STORAGE['swipers'][controller_slider_id].resize.resizeHandler=='function'){
TRX_ADDONS_STORAGE['swipers'][controller_slider_id].resize.resizeHandler(e);
}}
}}
$document.on('action.ready_trx_addons', function(e){
if(! window.Swiper||typeof Swiper.use!='function'){
return;
}
const $=Swiper.$;
function createShadow(params, $slideEl, side){
const shadowClass=`swiper-slide-shadow${side ? `-${side}`:''}`;
const $shadowContainer=params.transformEl ? $slideEl.find(params.transformEl):$slideEl;
let $shadowEl=$shadowContainer.children(`.${shadowClass}`);
if(! $shadowEl.length){
$shadowEl=$(`<div class="swiper-slide-shadow${side ? `-${side}`:''}"></div>`);
$shadowContainer.append($shadowEl);
}
return $shadowEl;
}
function effectInit(params){
const {
effect,
swiper,
on,
setTranslate,
setTransition,
overwriteParams,
perspective,
recreateShadows,
getEffectParams
}=params;
on('beforeInit', ()=> {
if(swiper.params.effect!==effect){
return;
}
swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);
if(perspective&&perspective()){
swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);
}
const overwriteParamsResult=overwriteParams ? overwriteParams():{};
Object.assign(swiper.params, overwriteParamsResult);
Object.assign(swiper.originalParams, overwriteParamsResult);
});
on('setTranslate', ()=> {
if(swiper.params.effect!==effect){
return;
}
setTranslate();
});
on('setTransition',(_s, duration)=> {
if(swiper.params.effect!==effect){
return;
}
setTransition(duration);
});
on('transitionEnd', ()=> {
if(swiper.params.effect!==effect){
return;
}
if(recreateShadows){
if(! getEffectParams||! getEffectParams().slideShadows){
return;
}
swiper.slides.each(slideEl=> {
const $slideEl=swiper.$(slideEl);
$slideEl.find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').remove();
});
recreateShadows();
}});
let requireUpdateOnVirtual,
requestAnimationFrame=trx_addons_request_animation_frame();
on('virtualUpdate', ()=> {
if(swiper.params.effect!==effect){
return;
}
if(! swiper.slides.length){
requireUpdateOnVirtual=true;
}
requestAnimationFrame(()=> {
if(requireUpdateOnVirtual&&swiper.slides&&swiper.slides.length){
setTranslate();
requireUpdateOnVirtual=false;
}});
});
}
if(trx_addons_apply_filters('trx_addons_filter_add_effect_to_swiper', true, 'swap') ){
const effectSwapModules={
setTranslate: function setTranslate(swiper){
var swiperWidth=swiper.width;
var swiperHeight=swiper.height;
var $wrapperEl=swiper.$wrapperEl;
var slides=swiper.slides;
var slidesSizesGrid=swiper.slidesSizesGrid;
var params=swiper.params.swapEffect;
var isHorizontal=swiper.isHorizontal();
var transform=swiper.translate;
var center=isHorizontal ? -transform +(swiperWidth / 2):-transform +(swiperHeight / 2);
var rotate=isHorizontal ? params.rotate:-params.rotate;
var spaceBetween=swiper.params.spaceBetween;
var perView=swiper.params.slidesPerView;
var levelCenter=(perView - 1) / 2;
for (var i=0, length=slides.length; i < length; i +=1){
var $slideEl=slides.eq(i);
var slideSize=slidesSizesGrid[i];
var slideOffsetOrig=$slideEl[0].swiperSlideOffset;
var slideOffset=slideOffsetOrig + slideSize / 2;
var distance=center - slideOffset;
var slideOffsetNum=Math.abs(distance) < 2
? 0
: Math.ceil(Math.abs(distance) /(slideSize + spaceBetween) );
if(perView % 2===0){
slideOffsetNum=Math.max(0, slideOffsetNum - 0.5);
}
var place=distance < -1 * Math.max(1, spaceBetween)
? 1
:(distance > Math.max(1, spaceBetween)
? -1
: 0
);
distance=distance + place * slideOffsetNum * spaceBetween;
var offsetMultiplier=distance / slideSize;
var delta=Math.max(0, Math.abs(offsetMultiplier) - levelCenter);
var allow=delta > 0;
var rotateX=isHorizontal ? 0:(allow ? -place * Math.min(rotate, rotate * delta):0);
var rotateY=isHorizontal ?(allow ? -place * Math.min(rotate, rotate * delta):0):0;
var offset=allow
? distance + place * levelCenter * slideSize
: 0;
var translateX=isHorizontal ?(allow ? offset:0):0;
var translateY=isHorizontal ? 0:(allow ? offset:0);
var translateZ=-slideSize *(allow ? delta:0);
var scale=1 -(1 - params.scale) * Math.abs(offsetMultiplier);
if(Math.abs(translateX) < 0.001)	translateX=0;
if(Math.abs(translateY) < 0.001)	translateY=0;
if(Math.abs(translateZ) < 0.001)	translateZ=0;
if(Math.abs(rotateY) < 0.001)	rotateY=0;
if(Math.abs(rotateX) < 0.001)	rotateX=0;
if(Math.abs(scale) < 0.001)		scale=0;
var slideTransform="translate3d(" + translateX + "px," + translateY + "px," + translateZ + "px)"
+ " rotateX(" + rotateX + "deg)"
+ " rotateY(" + rotateY + "deg)"
+ " scale(" + scale + ")";
$slideEl.transform(slideTransform);
$slideEl[0].style.zIndex=-Math.abs(Math.round(offsetMultiplier) ) + 1;
$slideEl[0].style.opacity=perView > 1 ? Math.max(0, 1 - delta):1;
if(params.slideShadows){
let $shadowBeforeEl=isHorizontal ? $slideEl.find('.swiper-slide-shadow-left'):$slideEl.find('.swiper-slide-shadow-top');
let $shadowAfterEl=isHorizontal ? $slideEl.find('.swiper-slide-shadow-right'):$slideEl.find('.swiper-slide-shadow-bottom');
if($shadowBeforeEl.length===0){
$shadowBeforeEl=createShadow(params, $slideEl, isHorizontal ? 'left':'top');
}
if($shadowAfterEl.length===0){
$shadowAfterEl=createShadow(params, $slideEl, isHorizontal ? 'right':'bottom');
}
if($shadowBeforeEl.length){
$shadowBeforeEl[0].style.opacity=offsetMultiplier > 0 ? offsetMultiplier:0;
}
if($shadowAfterEl.length){
$shadowAfterEl[0].style.opacity=-offsetMultiplier > 0 ? -offsetMultiplier:0;
}}
}
if(trx_addons_browser_is_pointer_events()){
var ws=$wrapperEl[0].style;
ws.perspectiveOrigin=center + "px 50%";
}},
setTransition: function setTransition(swiper, duration, changeCssTransition){
const {
transformEl
}=swiper.params.swapEffect;
const $transitionElements=transformEl ? swiper.slides.find(transformEl):swiper.slides;
$transitionElements.transition(duration);
if(changeCssTransition){
$transitionElements.css({
'webkitTransitionProperty': 'transform, opacity, z-index',
'transitionProperty': 'transform, opacity, z-index',
'webkitTransitionDuration': duration + 'ms',
'transitionDuration': duration + 'ms'
});
}
if(swiper.params.slideShadows){
const $shadow=$transitionElements.find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left');
if($shadow&&$shadow.length){
$shadow.transition(duration);
if(changeCssTransition){
$shadow.css({
'webkitTransitionProperty': 'transform, opacity, z-index',
'transitionProperty': 'transform, opacity, z-index',
'webkitTransitionDuration': duration + 'ms',
'transitionDuration': duration + 'ms'
});
}}
}}
};
if(typeof Swiper.prototype.modules!='undefined'&&typeof Swiper.prototype.modules["effect-fade"]!='undefined'){
Swiper.__proto__.Swap={
setTranslate: function setTranslate(){
effectSwapModules.setTranslate(this);
},
setTransition: function setTransition(duration){
effectSwapModules.setTransition(this, duration, false);
}};
Swiper.__proto__.EffectSwap={
name: 'effect-swap',
params: {
swapEffect: {
rotate: 50,
scale: 1
}},
create: function create(){
var swiper=this;
trx_addons_object_extend(swiper, {
swapEffect: {
setTranslate: Swiper.Swap.setTranslate.bind(swiper),
setTransition: Swiper.Swap.setTransition.bind(swiper)
}});
},
on: {
beforeInit: function beforeInit(){
var swiper=this;
if(swiper.params.effect!=='swap'){
return;
}
swiper.classNames.push(swiper.params.containerModifierClass + "swap");
swiper.classNames.push(swiper.params.containerModifierClass + "3d");
swiper.params.watchSlidesProgress=true;
swiper.originalParams.watchSlidesProgress=true;
},
setTranslate: function setTranslate(){
var swiper=this;
if(swiper.params.effect!=='swap'){
return;
}
swiper.swapEffect.setTranslate();
},
setTransition: function setTransition(duration){
var swiper=this;
if(swiper.params.effect!=='swap'){
return;
}
swiper.swapEffect.setTransition(duration);
}}
};
Swiper.use([Swiper.EffectSwap]);
}else{
const EffectSwap=function(_ref){
let {
swiper,
extendParams,
on
}=_ref;
extendParams( {
swapEffect: {
rotate: 50,
scale: 1,
transformEl: null
}});
const setTranslate=()=> {
effectSwapModules.setTranslate(swiper);
};
const setTransition=duration=> {
effectSwapModules.setTransition(swiper, duration, true);
};
effectInit( {
effect: 'swap',
swiper,
on,
setTranslate,
setTransition,
perspective: ()=> true,
overwriteParams: ()=> ( {
watchSlidesProgress: true
})
});
};
Swiper.use([EffectSwap]);
}}
});
})();
;(function ($, w){
"use strict";
var methods=(function (){
var c={
bcClass: 'sf-breadcrumb',
menuClass: 'sf-js-enabled',
anchorClass: 'sf-with-ul',
menuArrowClass: 'sf-arrows'
},
ios=(function (){
var ios=/^(?![\w\W]*Windows Phone)[\w\W]*(iPhone|iPad|iPod)/i.test(navigator.userAgent);
if(ios){
$('html').css('cursor', 'pointer').on('click', $.noop);
}
return ios;
})(),
wp7=(function (){
var style=document.documentElement.style;
return ('behavior' in style&&'fill' in style&&/iemobile/i.test(navigator.userAgent));
})(),
unprefixedPointerEvents=(function (){
return (!!w.PointerEvent);
})(),
toggleMenuClasses=function ($menu, o, add){
var classes=c.menuClass,
method;
if(o.cssArrows){
classes +=' ' + c.menuArrowClass;
}
method=(add) ? 'addClass':'removeClass';
$menu[method](classes);
},
setPathToCurrent=function ($menu, o){
return $menu.find('li.' + o.pathClass).slice(0, o.pathLevels)
.addClass(o.hoverClass + ' ' + c.bcClass)
.filter(function (){
return ($(this).children(o.popUpSelector).hide().show().length);
}).removeClass(o.pathClass);
},
toggleAnchorClass=function ($li, add){
var method=(add) ? 'addClass':'removeClass';
$li.children('a')[method](c.anchorClass);
},
toggleTouchAction=function ($menu){
var msTouchAction=$menu.css('ms-touch-action');
var touchAction=$menu.css('touch-action');
touchAction=touchAction||msTouchAction;
touchAction=(touchAction==='pan-y') ? 'auto':'pan-y';
$menu.css({
'ms-touch-action': touchAction,
'touch-action': touchAction
});
},
getMenu=function ($el){
return $el.closest('.' + c.menuClass);
},
getOptions=function ($el){
return getMenu($el).data('sfOptions');
},
over=function (){
var $this=$(this),
o=getOptions($this);
clearTimeout(o.sfTimer);
$this.siblings().superfish('hide').end().superfish('show');
},
close=function (o){
o.retainPath=($.inArray(this[0], o.$path) > -1);
this.superfish('hide');
if(!this.parents('.' + o.hoverClass).length){
o.onIdle.call(getMenu(this));
if(o.$path.length){
$.proxy(over, o.$path)();
}}
},
out=function (){
var $this=$(this),
o=getOptions($this);
if(ios){
$.proxy(close, $this, o)();
}else{
clearTimeout(o.sfTimer);
o.sfTimer=setTimeout($.proxy(close, $this, o), o.delay);
}},
touchHandler=function (e){
var $this=$(this),
o=getOptions($this),
$ul=$this.siblings(e.data.popUpSelector);
if(o.onHandleTouch.call($ul)===false){
return this;
}
if($ul.length > 0&&$ul.is(':hidden')){
$this.one('click.superfish', false);
if(e.type==='MSPointerDown'||e.type==='pointerdown'){
$this.trigger('focus');
}else{
$.proxy(over, $this.parent('li'))();
}}
},
applyHandlers=function ($menu, o){
var targets='li:has(' + o.popUpSelector + ')';
if($.fn.hoverIntent&&!o.disableHI){
$menu.hoverIntent(over, out, targets);
}else{
$menu
.on('mouseenter.superfish', targets, over)
.on('mouseleave.superfish', targets, out);
}
var touchevent='MSPointerDown.superfish';
if(unprefixedPointerEvents){
touchevent='pointerdown.superfish';
}
if(!ios){
touchevent +=' touchend.superfish';
}
if(wp7){
touchevent +=' mousedown.superfish';
}
$menu
.on('focusin.superfish', 'li', over)
.on('focusout.superfish', 'li', out)
.on(touchevent, 'a', o, touchHandler);
};
return {
hide: function (instant){
if(this.length){
var $this=this,
o=getOptions($this);
if(!o){
return this;
}
var not=(o.retainPath===true) ? o.$path:'',
$ul=$this.find('li.' + o.hoverClass).add(this).not(not).removeClass(o.hoverClass).children(o.popUpSelector),
speed=o.speedOut;
if(instant){
$ul.show();
speed=0;
}
o.retainPath=false;
if(o.onBeforeHide.call($ul)===false){
return this;
}
$ul.stop(true, true).animate(o.animationOut, speed, function (){
var $this=$(this);
o.onHide.call($this);
});
}
return this;
},
show: function (){
var o=getOptions(this);
if(!o){
return this;
}
var $this=this.addClass(o.hoverClass),
$ul=$this.children(o.popUpSelector);
if(o.onBeforeShow.call($ul)===false){
return this;
}
$ul.stop(true, true).animate(o.animation, o.speed, function (){
o.onShow.call($ul);
});
return this;
},
destroy: function (){
return this.each(function (){
var $this=$(this),
o=$this.data('sfOptions'),
$hasPopUp;
if(!o){
return false;
}
$hasPopUp=$this.find(o.popUpSelector).parent('li');
clearTimeout(o.sfTimer);
toggleMenuClasses($this, o);
toggleAnchorClass($hasPopUp);
toggleTouchAction($this);
$this.off('.superfish').off('.hoverIntent');
$hasPopUp.children(o.popUpSelector).attr('style', function (i, style){
if(typeof style!=='undefined'){
return style.replace(/display[^;]+;?/g, '');
}});
o.$path.removeClass(o.hoverClass + ' ' + c.bcClass).addClass(o.pathClass);
$this.find('.' + o.hoverClass).removeClass(o.hoverClass);
o.onDestroy.call($this);
$this.removeData('sfOptions');
});
},
init: function (op){
return this.each(function (){
var $this=$(this);
if($this.data('sfOptions')){
return false;
}
var o=$.extend({}, $.fn.superfish.defaults, op),
$hasPopUp=$this.find(o.popUpSelector).parent('li');
o.$path=setPathToCurrent($this, o);
$this.data('sfOptions', o);
toggleMenuClasses($this, o, true);
toggleAnchorClass($hasPopUp, true);
toggleTouchAction($this);
applyHandlers($this, o);
$hasPopUp.not('.' + c.bcClass).superfish('hide', true);
o.onInit.call(this);
});
}};})();
$.fn.superfish=function (method, args){
if(methods[method]){
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
}
else if(typeof method==='object'||! method){
return methods.init.apply(this, arguments);
}else{
return $.error('Method ' +  method + ' does not exist on jQuery.fn.superfish');
}};
$.fn.superfish.defaults={
popUpSelector: 'ul,.sf-mega',
hoverClass: 'sfHover',
pathClass: 'overrideThisToUse',
pathLevels: 1,
delay: 800,
animation: {opacity: 'show'},
animationOut: {opacity: 'hide'},
speed: 'normal',
speedOut: 'fast',
cssArrows: true,
disableHI: false,
onInit: $.noop,
onBeforeShow: $.noop,
onShow: $.noop,
onBeforeHide: $.noop,
onHide: $.noop,
onIdle: $.noop,
onDestroy: $.noop,
onHandleTouch: $.noop
};})(jQuery, window);
(function(){
"use strict";
var $document=jQuery(document);
$document.on('action.before_ready_trx_addons', function(){
window.trx_addons_init_sfmenu=function(selector){
jQuery(selector).show().each(function(){
var $self=jQuery(this);
var is_touch_device=('ontouchstart' in document.documentElement);
var animation_in=$self.parent().data('animation-in');
if(animation_in==undefined||is_touch_device){
animation_in="none";
}
var animation_out=$self.parent().data('animation-out');
if(animation_out==undefined||is_touch_device){
animation_out="none";
}
var sf_init={
delay:		300,
speed: 		animation_in!='none' ? 500:200,
speedOut:	animation_out!='none' ? 300:200,
autoArrows: false,
dropShadows:false,
onBeforeShow: function(){
jQuery(this).each(function(){
var menu_item=jQuery(this).data('menu-state', 'before-show');
if(menu_item.hasClass('sc_layouts_submenu')&&! menu_item.hasClass('layouts_inited')&&menu_item.find('.slider_container').length > 0){
menu_item.addClass('sc_layouts_submenu_prepare');
}else{
trx_addons_do_action('trx_addons_action_menu_on_before_show', menu_item);
trx_addons_before_show_menu(menu_item);
}});
},
onShow: function(){
jQuery(this).each(function(){
var menu_item=jQuery(this);
if(menu_item.data('menu-state')!='before-show'){
trx_addons_do_action('trx_addons_action_menu_on_show', menu_item);
trx_addons_before_show_menu(menu_item);
}
menu_item.data('menu-state', 'show');
trx_addons_do_action('trx_addons_action_menu_after_show', menu_item);
trx_addons_after_show_menu(menu_item);
});
},
onBeforeHide: function(){
jQuery(this).each(function(){
var menu_item=jQuery(this);
if(menu_item.data('menu-state')=='show'){
menu_item.data('menu-state', 'before-hide');
trx_addons_do_action('trx_addons_action_menu_on_before_hide', menu_item);
trx_addons_before_hide_menu(menu_item);
}});
},
onHide: function(){
jQuery(this).each(function(){
var menu_item=jQuery(this).data('menu-state', 'hide');
trx_addons_do_action('trx_addons_action_menu_on_hide', menu_item);
trx_addons_after_hide_menu(menu_item);
});
},
onHandleTouch: function(){
var $ul=jQuery(this).parents('ul');
if(trx_addons_browser_is_ios()&&$ul.length > 1){
$ul.addClass('sc_layouts_submenu_freeze');
setTimeout(function(){
$ul.removeClass('sc_layouts_submenu_freeze');
}, 1000);
}}
};
if(animation_in=='none'){
sf_init.animation={
opacity: 'show'
};}
if(animation_out=='none'){
sf_init.animationOut={
opacity: 'hide'
};}
$self.find('.sc_layouts_submenu_wrap').on('focusout', function(e){
if(e.currentTarget&&jQuery(e.currentTarget).hasClass('sc_layouts_submenu_wrap') ){
e.stopPropagation();
return false;
}});
$self.addClass('inited').superfish(trx_addons_apply_filters('trx_addons_filter_menu_init_args', sf_init) );
function trx_addons_before_show_menu(menu_item){
var in_columns=menu_item.parents('li[class*="columns-"]').length > 0
&&(! menu_item.parent().attr('class')
|| menu_item.parent().attr('class').indexOf('columns-')==-1
);
if(! in_columns){
trx_addons_shift_submenu(menu_item);
var animated=false;
trx_addons_do_action('trx_addons_action_menu_before_animation_in', menu_item, animation_in, animation_out);
if(animation_in!='none'){
animated=trx_addons_apply_filters('trx_addons_filter_menu_animation_in', false, menu_item, animation_in, animation_out);
if(! animated){
if(menu_item.hasClass('animated')&&menu_item.hasClass(animation_out)){
menu_item.removeClass('animated faster '+animation_out);
}
menu_item.addClass('animated fast '+animation_in);
animated=true;
}}
$document.trigger('action.before_show_submenu', [menu_item]);
}
return animated;
}
function trx_addons_after_show_menu(menu_item){
if(menu_item.hasClass('sc_layouts_submenu')){
if(! menu_item.hasClass('layouts_inited')){
trx_addons_stretch_submenu(menu_item);
$document.trigger('action.init_hidden_elements', [menu_item]);
if(menu_item.find('.slider_container').length > 0){
$document.on('action.slider_inited', function(e, slider, id){
trx_addons_before_show_menu(menu_item);
menu_item
.removeClass('sc_layouts_submenu_prepare')
.addClass('layouts_inited');
});
}else{
menu_item.addClass('layouts_inited');
}}
$document.trigger('action.resize_trx_addons', [menu_item]);
}
$document.trigger('action.after_show_submenu', [menu_item]);
}
function trx_addons_before_hide_menu(menu_item){
menu_item.find('.trx_addons_video_player.with_cover.video_play').removeClass('video_play').find('.video_embed').empty();
var animated=false;
trx_addons_do_action('trx_addons_action_menu_before_animation_out', menu_item, animation_in, animation_out);
if(animation_out!='none'){
animated=trx_addons_apply_filters('trx_addons_filter_menu_animation_out', false, menu_item, animation_in, animation_out);
if(! animated){
if(menu_item.parents('[class*="columns-"]').length===0){
if(menu_item.hasClass('animated')&&menu_item.hasClass(animation_in)){
menu_item.removeClass('animated fast '+animation_in);
}
if(menu_item.data('menu-state')=='show'||menu_item.data('menu-state')=='before-hide'){
menu_item.addClass('animated faster '+animation_out);
animated=true;
}}
}}
$document.trigger('action.before_hide_submenu', [menu_item]);
return animated;
}
function trx_addons_after_hide_menu(menu_item){
setTimeout(function(){
if(menu_item.data('menu-state')=='hide'){
menu_item.removeAttr('style');
var bg=menu_item.find('> .sc_layouts_menu_stretch_bg');
if(bg.length){
bg.removeAttr('style')
.css({
'background-color': menu_item.css('background-color')
});
}
var container=menu_item.data('reset-style');
if(container){
menu_item.find(container).removeAttr('style');
}
$document.trigger('action.after_hide_submenu', [menu_item]);
}}, 500);
}});
};
trx_addons_init_sfmenu('.sc_layouts_menu:not(.inited):not(.sc_layouts_submenu_dropdown) > ul:not(.inited)');
trx_addons_menu_collapse();
jQuery('.sc_layouts_menu:not(.inited)').each(function(){
if(jQuery(this).find('>ul.inited').length==1) jQuery(this).addClass('inited');
});
jQuery('.menu_hover_slide_line:not(.slide_inited),.menu_hover_slide_box:not(.slide_inited)').each(function(){
var menu=jQuery(this).addClass('slide_inited');
var style=menu.hasClass('menu_hover_slide_line') ? 'line':'box';
setTimeout(function(){
if(jQuery.fn.spasticNav!==undefined){
menu.find('>ul').spasticNav({
style: style,
colorOverride: false
});
}}, 500);
});
jQuery('.sc_layouts_menu_mobile_button_burger:not(.inited)').each(function(){
var burger=jQuery(this);
var popup=burger.find('.sc_layouts_menu_popup');
if(popup.length==1){
burger.addClass('inited').on('click', '>a', function(e){
popup.toggleClass('opened').slideToggle();
e.preventDefault();
return false;
});
popup.on('click', 'a', function(e){
var $item=jQuery(this);
if($item.next().hasClass('sub-menu')){
$item.parent().siblings().find('>.sub-menu').fadeOut();
$item.next().fadeToggle();
e.preventDefault();
return false;
}});
$document.on('click', function(e){
jQuery('.sc_layouts_menu_popup.opened').removeClass('opened').slideUp();
});
}});
jQuery('.menu_mobile:not(.inited_blur)'
+ ',.trx-addons-mobile-menu-outer-container:not(.inited_blur)'
)
.addClass('inited_blur')
.on('keydown', function(e){
if(e.key!=='Tab') return;
const modal=document.querySelector('.menu_mobile.opened,.trx-addons-mobile-menu-outer-container.trx-addons-vertical-toggle-open');
if(! modal) return;
const focusableElements=Array.from(modal.querySelectorAll('a, [tabindex]')
).filter(el=> {
return (
! el.closest('[hidden]') &&
! el.hasAttribute('disabled') &&
el.offsetParent!==null
);
});
if(focusableElements.length===0) return;
const first=focusableElements[0];
const last=focusableElements[focusableElements.length - 1];
const focused=document.activeElement;
if(e.shiftKey){
if(focused===first||! modal.contains(focused) ){
e.preventDefault();
last.focus();
}}else{
if(focused===last||! modal.contains(focused) ){
e.preventDefault();
first.focus();
}}
});
jQuery('.sc_layouts_menu:not(.inited_kbd)'
+ ',.menu_mobile_nav_area:not(.inited_kbd)'
+ ',.trx-addons-nav-menu-container:not(.inited_kbd)'
+ ',.trx-addons-mobile-menu-container:not(.inited_kbd)'
)
.addClass('inited_kbd')
.on('keydown', 'li > a', function(e){
var handled=false,
link=jQuery(this),
li=link.parent(),
ul=li.parent(),
li_parent=ul.parent().prop('tagName')=='LI' ? ul.parent():false,
item=false,
is_new_menu=li.hasClass('trx-addons-nav-menu-item'),
is_mobile_menu=li.closest('.inited_kbd').hasClass('trx-addons-mobile-menu-container')||li.closest('.inited_kbd').hasClass('menu_mobile_nav_area');
if(32==e.which){
link.trigger('click');
handled=true;
}else if(27==e.which){
if(li_parent){
if(is_new_menu){
li.trigger('mouseleave');
ul.trigger('mouseleave');
}
item=li_parent.find('> a');
if(item.length > 0){
if(is_new_menu){
li_parent.trigger('mouseenter');
}
item.get(0).focus();
}}
handled=true;
}else if(37==e.which){
if(li_parent){
item=li_parent.find('> a');
if(item.length > 0){
if(is_mobile_menu){
item.find('> .open_child_menu,> .trx-addons-menu-link-text > .trx-addons-dropdown-icon').trigger('click');
}
if(is_new_menu){
li.trigger('mouseleave');
li_parent.trigger('mouseenter');
}
item.get(0).focus();
}}else if(li.index() > 0){
item=li.prev().find('> a');
if(item.length > 0){
if(is_new_menu){
li.trigger('mouseleave');
item.closest('li').trigger('mouseenter');
}
item.eq(0).focus();
}}
handled=true;
}else if(38==e.which){
if(li.index() > 0){
item=li.prev().find('> a');
if(item.length > 0){
if(is_new_menu){
li.trigger('mouseleave');
item.closest('li').trigger('mouseenter');
}
item.get(0).focus();
}}else if(li_parent){
item=li_parent.find('> a');
if(item.length > 0){
if(is_new_menu){
li.trigger('mouseleave');
li_parent.trigger('mouseenter');
}
item.get(0).focus();
}}
handled=true;
}else if(39==e.which){
if(li_parent){
if(li.find('> ul').length==1){
if(is_mobile_menu){
li.find('a > .open_child_menu,> a > .trx-addons-menu-link-text > .trx-addons-dropdown-icon').trigger('click');
}
item=li.find('> ul > li:first-child a');
if(item.length > 0){
if(is_new_menu){
li.trigger('mouseleave');
item.closest('li').trigger('mouseenter');
}
item.get(0).focus();
}}
}else if(is_mobile_menu&&li.find('> ul').length==1){
li.find('> a > .open_child_menu,> a > .trx-addons-menu-link-text > .trx-addons-dropdown-icon').trigger('click');
}else if(li.next().prop('tagName')=='LI'){
item=li.next().find('> a');
if(item.length > 0){
if(is_new_menu){
li.trigger('mouseleave');
item.closest('li').trigger('mouseenter');
}
item.get(0).focus();
}}
handled=true;
}else if(40==e.which){
if(li_parent||li.find('> ul').length===0||(is_mobile_menu&&! li.hasClass('trx-addons-active-menu')&&! li.hasClass('opened')&&li.next().prop('tagName')=='LI') ){
if(li.next().prop('tagName')=='LI'){
item=li.next().find('> a');
if(item.length > 0){
if(is_new_menu){
li.trigger('mouseleave');
item.closest('li').trigger('mouseenter');
}
item.get(0).focus();
}}
}else if(li.find('> ul').length==1){
item=li.find('> ul > li:first-child a');
if(item.length > 0){
if(is_new_menu){
li.trigger('mouseleave');
item.closest('li').trigger('mouseenter');
}
item.get(0).focus();
}}
handled=true;
}
if(handled){
var $body=jQuery('body');
if(! $body.hasClass('show_outline') ){
$body.addClass('show_outline');
}
e.preventDefault();
return false;
}
return true;
});
});
$document.on('action.resize_trx_addons', function(){
trx_addons_menu_collapse();
});
function trx_addons_menu_collapse(){
if(TRX_ADDONS_STORAGE['menu_collapse']==0){
return;
}
jQuery('.sc_layouts_menu:not(.sc_layouts_menu_no_collapse):not(.sc_layouts_menu_dir_vertical),.elementor-widget-trx_elm_nav_menu.trx-addons-nav-hor .trx-addons-nav-menu-container-collapse').each(function(){
var nav=jQuery(this);
if(nav.parents('div:hidden,section:hidden,article:hidden').length > 0){
return;
}
var ul=nav.find('>ul:not(.sc_layouts_menu_no_collapse).inited,>ul.trx-addons-nav-menu');
if(ul.length===0){		//||ul.find('> li').length < 2
return;
}
var li_collapse_new=ul.hasClass('trx-addons-nav-menu');
var li_collapse_class=li_collapse_new ? 'trx-addons-nav-menu-collapse':'menu-collapse';
var li_collapse_classes=[ 'menu-item', li_collapse_class ];
if(li_collapse_new){
li_collapse_classes.push('menu-item-type-custom');
li_collapse_classes.push('menu-item-object-custom');
li_collapse_classes.push('menu-item-has-children');
li_collapse_classes.push('trx-addons-nav-menu-item');
}
function check_menu_wrapper(item){
var allow_any_wrapper=trx_addons_apply_filters('trx_addons_filter_menu_collapse_allow_any_wrapper', true);
var rez=allow_any_wrapper;
if(! allow_any_wrapper){
var wrappers_list=trx_addons_apply_filters(
'trx_addons_filter_menu_collapse_wrapper_classes',
[
'sc_layouts_column',
'wpb_wrapper',
'elementor-widget-wrap',
'e-con',
'e-con-inner',
'wp-block-column',
'kt-inside-inner-col'
]
);
for (var i=0; i < wrappers_list.length; i++){
if(item.hasClass(wrappers_list[i]) ){
rez=true;
break;
}}
}
return rez;
}
function check_item_delimiter(item){
var delimiters_list=trx_addons_apply_filters(
'trx_addons_filter_menu_collapse_delimiter_classes',
[
'vc_empty_space',
'vc_separator',
'elementor-widget-spacer',
'elementor-widget-divider',
'wp-block-spacer',
'wp-block-separator',
'wp-block-kadence-spacer',
'wp-block-coblocks-shape-divider'
]
);
var rez=false;
for (var i=0; i < delimiters_list.length; i++){
if(item.hasClass(delimiters_list[i]) ){
rez=true;
break;
}}
return rez;
}
var sc_layouts_item_wrapper=nav.parents('.sc_layouts_item,.elementor-element').eq(0),
sc_layouts_item=sc_layouts_item_wrapper.length > 0 ? sc_layouts_item_wrapper:nav,
sc_layouts_item_parent=sc_layouts_item.parent();
if(! check_menu_wrapper(sc_layouts_item_parent) ){
return;
}
var w_max=sc_layouts_item_parent.width()
-(Math.ceil(parseFloat(sc_layouts_item.css('marginLeft')) ) + Math.ceil(parseFloat(sc_layouts_item.css('marginRight')) ))
- 2;
var w_siblings=0,
in_group=0,
ul_id=ul.attr('id'),
gap=sc_layouts_item_parent.css('gap')||'0';
gap=gap.split(' ');
gap=gap.length > 1 ? parseFloat(gap[1]):parseFloat(gap[0]);
if(isNaN(gap)||gap < 0){
gap=0;
}
sc_layouts_item_parent.find('>div' +(sc_layouts_item_parent.attr('class').indexOf('elementor-') >=0||sc_layouts_item_parent.attr('class').indexOf('e-con') >=0 ? '.elementor-element':'') ).each(function(){
if(in_group > 1){
return;
}
var $self=jQuery(this);
if(check_item_delimiter($self) ){
if(in_group==1){
in_group=2;
}else{
w_siblings=0;
}}else{
if($self.find('#' + ul_id).length > 0){
in_group=1;
}else{
w_siblings +=($self.outerWidth() + Math.ceil(parseFloat($self.css('marginLeft')) ) + Math.ceil(parseFloat($self.css('marginRight')) )) + gap;
}}
});
w_max -=w_siblings;
var w_all=0;
var move=false;
var li_collapse=ul.find('> li.' + li_collapse_classes.join('.'));
if(li_collapse.length===0){
var li_collapse_text=nav.data('collapse-text')||'';
var li_collapse_icon=nav.data('collapse-icon')||TRX_ADDONS_STORAGE['menu_collapse_icon'];
if(! li_collapse_icon||li_collapse_icon=='none'){
li_collapse_icon=nav.data('collapse-menu-icon');
}
var li_collapse_icon_class=li_collapse_icon&&li_collapse_icon.indexOf('<')==-1 ?  ' ' + li_collapse_icon:'';
ul.append('<li class="' + li_collapse_classes.join(' ') + '">'
+ '<a href="#" class="' +(li_collapse_new ? 'trx-addons-menu-link trx-addons-menu-link-parent':'sf-with-ul') + li_collapse_icon_class + '">'
+(li_collapse_new
? '<span class="trx-addons-menu-link-text">'
+(li_collapse_text
? '<span class="trx-addons-menu-link-text-inner">' + li_collapse_text + '</span>'
: ''
)
+(li_collapse_icon&&! li_collapse_icon_class
? '<span class="trx-addons-dropdown-icon trx-addons-icon">' + li_collapse_icon + '</span>'
: ''
)
+ '</span>'
: ''
)
+ '</a>'
+ '<ul class="' +(li_collapse_new ? 'trx-addons-submenu':'submenu') + '"></ul>'
+ '</li>'
);
li_collapse=ul.find('> li.' + li_collapse_classes.join('.'));
}
var li_collapse_ul=li_collapse.find('> ul');
ul.find('> li').each(function(idx){
var cur_item=jQuery(this);
cur_item.data('index', idx);
if(move||cur_item.attr('id')=='blob'){
return;
}
var cur_item_width = ! cur_item.hasClass(li_collapse_class)||cur_item.css('display')!='none'
? cur_item.outerWidth()
+ Math.ceil(parseFloat(cur_item.css('marginLeft') ))
+ Math.ceil(parseFloat(cur_item.css('marginRight') ))
: 0;
w_all +=cur_item_width;
if(w_all > w_max){
move=true;
}});
if(move){
li_collapse.show();
w_all=li_collapse.outerWidth()
+ Math.ceil(parseFloat(li_collapse.css('marginLeft') ))
+ Math.ceil(parseFloat(li_collapse.css('marginRight') ));
var items=ul.find("> li:not('." + li_collapse_class + "'):not(#blob)"),
visible=nav.data('collapse-visible')||0,
cnt_visible=0;
items.each(function(idx){
var cur_item=jQuery(this);
var cur_width=cur_item.outerWidth()
+ Math.ceil(parseFloat(cur_item.css('marginLeft') ))
+ Math.ceil(parseFloat(cur_item.css('marginRight') ));
if(w_all <=w_max){
w_all +=cur_width;
}
if(w_all > w_max&&cnt_visible >=visible){
cur_item
.addClass('sc_layouts_menu_collapsed_item')
.attr('class', cur_item.attr('class').replace('trx_addons_stretch_', 'trx_addons_nostretch_') )
.find('> ul')
.attr('style', '');
if(li_collapse_new){
cur_item.addClass('trx-addons-submenu-item')
.find('> a').addClass('trx-addons-submenu-link')
.find('> .trx-addons-menu-link-text').addClass('trx-addons-submenu-link-text')
.find('> .trx-addons-dropdown-icon').html(nav.data('collapse-submenu-icon') );
}
var moved=false;
li_collapse_ul.find('>li').each(function(){
if(! moved&&Number(jQuery(this).data('index') ) > idx){
cur_item
.attr('data-width', cur_width)
.insertBefore(jQuery(this) );
moved=true;
}});
if(! moved){
cur_item
.attr('data-width', cur_width)
.appendTo(li_collapse_ul);
}}else{
cnt_visible++;
}});
$document.trigger('action.menu-collapse-items-moved', ['collapse']);
}else{
var items=li_collapse_ul.find('>li');
var cnt=0;
move=true;
items.each(function(){
if(! move){
return;
}
if(items.length - cnt==1){
w_all -=(li_collapse.outerWidth()
+ Math.ceil(parseFloat(li_collapse.css('marginLeft') ))
+ Math.ceil(parseFloat(li_collapse.css('marginRight') ))
);
}
var $item=jQuery(this);
w_all +=parseFloat($item.data('width') );
if(w_all < w_max){
if(li_collapse_new){
$item.removeClass('trx-addons-submenu-item')
.find('> a').removeClass('trx-addons-submenu-link')
.find('> .trx-addons-menu-link-text').removeClass('trx-addons-submenu-link-text')
.find('> .trx-addons-dropdown-icon').html(nav.data('collapse-menu-icon') );
}
$item
.attr('class', $item.attr('class').replace('trx_addons_nostretch_', 'trx_addons_stretch_') )
.insertBefore(li_collapse);
if($item.hasClass('sc_layouts_menu_collapsed_item') ){
$item.removeClass('sc_layouts_menu_collapsed_item').find('>ul').removeAttr('style');
}
cnt++;
}else{
move=false;
}});
if(items.length - cnt===0){
li_collapse.hide();
}
if(cnt){
$document.trigger('action.menu-collapse-items-moved', ['expand']);
}}
});
}
window.trx_addons_stretch_submenu=function(menu_item){
var done=false;
if(! menu_item.length){
return done;
}
var parent_class=menu_item.parent().attr('class');
if(TRX_ADDONS_STORAGE['menu_stretch']==1
&& ! menu_item.hasClass('trx_addons_no_stretch')
&& parent_class.indexOf('trx_addons_no_stretch')==-1
&& ! menu_item.parents('.sc_layouts_menu').hasClass('sc_layouts_menu_dir_vertical')
&& trx_addons_apply_filters('trx_addons_filter_stretch_menu',
menu_item.hasClass('sc_layouts_submenu')
|| parent_class.indexOf('columns-')!=-1
|| parent_class.indexOf('trx_addons_stretch_')!=-1,
menu_item
)
){
var menu=menu_item.parents("ul");
if(menu.length==1){
var $body=jQuery('body'),
li=menu_item.parents("li").eq(0),
stretch_to=trx_addons_apply_filters('trx_addons_filter_stretch_menu_to',
li.hasClass('trx_addons_stretch_window')
? 'window'
:(li.hasClass('trx_addons_stretch_window_boxed')
? 'window_boxed'
: 'content'
),
menu_item
),
content_wrap_selector=trx_addons_apply_filters('trx_addons_filter_stretch_menu_content_wrap_selector', '.content_wrap', menu_item),
content_wrap=jQuery(content_wrap_selector).eq(0);
if(! content_wrap.length){
$body.append(trx_addons_apply_filters('trx_addons_filter_stretch_menu_content_wrap_html',
'<div class="content_wrap" style="height:0;visibility:hidden;"></div>',
menu_item
));
content_wrap=jQuery(content_wrap_selector).eq(0);
if(! content_wrap.length){
content_wrap=trx_addons_apply_filters('trx_addons_filter_stretch_menu_content_wrap', content_wrap, menu_item);
}}
if(content_wrap.length==1){
if(li.css('position')!='relative'){
var par=li.parents().filter(function(){
return jQuery(this).css('position')=='relative';
}).eq(0);
if(par.length > 0){
li=par;
}}
var bw=$body.innerWidth(),
cw=trx_addons_apply_filters('trx_addons_filter_stretch_menu_content_wrap_width', content_wrap.innerWidth(), menu_item, content_wrap),
cw_offset=content_wrap.offset().left,
li_offset=li.offset().left;
menu_item
.css({
'width':(stretch_to=='window' ? bw:cw) + 'px',
'max-width': 'none',
'left': -li_offset +(stretch_to=='window' ? 0:cw_offset) + 'px',
'right': 'auto',
'transform': 'none'
});
if(stretch_to=='window'){
menu_item
.data('reset-style', '.elementor-section-boxed > .elementor-container,.e-con-boxed > .e-con-inner')
.find('.elementor-section-boxed > .elementor-container,.e-con-boxed > .e-con-inner').css({'max-width': 'none' });
}else if(stretch_to=='window_boxed'){
var bg=menu_item.find('> .sc_layouts_menu_stretch_bg');
if(bg.length===0){
menu_item.append('<span class="sc_layouts_menu_stretch_bg"></span>');
bg=menu_item.find('> .sc_layouts_menu_stretch_bg');
bg.css({
'background-color': menu_item.css('background-color')
});
}
bg.css({
'left': -(cw_offset + 1) + 'px',
'right': -(bw - cw_offset - cw + 1) + 'px'
});
}
done=true;
$document.trigger('action.resize_trx_addons', [menu_item]);
}}
}
return done;
};
window.trx_addons_shift_submenu=function(menu_item){
var window_width=jQuery(window).width(),
page_wrap=jQuery(trx_addons_apply_filters('trx_addons_filter_page_wrap_class', TRX_ADDONS_STORAGE['page_wrap_class'] ? TRX_ADDONS_STORAGE['page_wrap_class']:'.page_wrap', 'menu-before-show')).eq(0),
page_wrap_width=page_wrap.length > 0 ? page_wrap.width():window_width,
page_wrap_offset=page_wrap.length > 0 ? page_wrap.offset().left:0,
par=menu_item.parents("ul").eq(0),
par_offset=par.length > 0 ? par.offset().left:0,
par_width=par.length > 0 ? par.outerWidth():0,
ul_width=menu_item.outerWidth(),
rtl=jQuery('body').hasClass('rtl');
if(menu_item.parents("ul").length > 1&&menu_item.parents('.sc_layouts_menu_nav').length){
if(( ! rtl&&(
(par_offset + par_width + ul_width > page_wrap_offset + page_wrap_width - 10&&par_offset - ul_width > page_wrap_offset)
||
(par_offset + par_width + ul_width > window_width&&par_offset - ul_width > 0)
)
)
||
(rtl&&(
(par_offset - ul_width < page_wrap_offset + 10&&par_offset + par_width + ul_width < page_wrap_offset + page_wrap_width)
||
(par_offset - ul_width < 0&&par_offset + par_width + ul_width < window_width)
)
)
){
menu_item.addClass('submenu_left');
}else{
menu_item.removeClass('submenu_left');
}}
if(menu_item.parents(TRX_ADDONS_STORAGE['header_wrap_class']).length > 0){
var wide=trx_addons_stretch_submenu(menu_item);
if(! wide||menu_item.parents('.trx-addons-nav-menu-collapse').length){
var ul_pos=menu_item.data('ul_pos'),
submenu_left=(menu_item.hasClass('submenu_left')&&! rtl)||(! menu_item.hasClass('submenu_left')&&rtl),
submenu_centered=menu_item.parent().css('position').indexOf('static') >=0;
if(ul_pos===undefined&&! submenu_centered){
ul_pos=parseFloat(menu_item.css(submenu_left ? 'right':'left') );
}
if(isNaN(ul_pos)){
ul_pos=0;
}
var ul_offset=menu_item.parents("ul").length > 1
? par_offset + ul_pos
:(submenu_centered
? par_offset + par_width / 2 - ul_width / 2
: menu_item.parent().offset().left
);
if(submenu_left){
if(ul_offset < 0){
if(menu_item.data('ul_pos')==undefined){
menu_item.data('ul_pos', ul_pos);
}
menu_item.css({
'right': ul_pos + ul_offset + 'px',
'left': 'auto',
'transform': 'none'
});
}}else{
if(ul_offset + ul_width >=window_width){
if(menu_item.data('ul_pos')==undefined){
menu_item.data('ul_pos', ul_pos);
}
menu_item.css({
'left':(( submenu_centered ? par_width / 2:ul_pos) -(ul_offset + ul_width - window_width) ) + 'px',
});
}else if(ul_offset < 0){
if(menu_item.data('ul_pos')==undefined){
menu_item.data('ul_pos', ul_pos);
}
menu_item.css({
'left': submenu_centered ? par_width / 2 - ul_offset:0
});
}}
var ul_height=menu_item.outerHeight(),
w_height=jQuery(window).height(),
menu=menu_item.parents('.sc_layouts_menu').eq(0),
row_offset=menu.length ? menu.offset().top - jQuery(window).scrollTop():0,
row_height=0,
par_top=0;
par=menu_item.parent();
par_offset=0;
while(par.length > 0){
par_top=par.position().top;
par_offset +=par_top + par.parent().position().top;
row_height=par.outerHeight();
if(par_top===0) break;
par=par.parents('li').eq(0);
}
if(row_offset + par_offset + ul_height > w_height){
if(par_offset > ul_height){
menu_item.css({
'top': 'auto',
'bottom': '-' +(menu_item.css('padding-bottom')||0)
});
}else{
menu_item.css({
'top': '-' +(par_offset - row_height - 2) + 'px',
'bottom': 'auto'
});
}}
}}
};})();
(function(){
"use strict";
jQuery(document)
.on('action.add_googlemap_styles', healthic_trx_addons_add_googlemap_styles)
.on('action.init_hidden_elements', healthic_trx_addons_init);
function healthic_trx_addons_add_googlemap_styles(e){
if(typeof TRX_ADDONS_STORAGE=='undefined') return;
TRX_ADDONS_STORAGE['googlemap_styles']['dark']=[{"featureType":"all","elementType":"labels.text.fill","stylers":[{"saturation":36},{"color":"#333333"},{"lightness":40}]},{"featureType":"all","elementType":"labels.text.stroke","stylers":[{"visibility":"on"},{"color":"#ffffff"},{"lightness":16}]},{"featureType":"all","elementType":"labels.icon","stylers":[{"visibility":"off"}]},{"featureType":"administrative","elementType":"geometry.fill","stylers":[{"color":"#fefefe"},{"lightness":20}]},{"featureType":"administrative","elementType":"geometry.stroke","stylers":[{"color":"#fefefe"},{"lightness":17},{"weight":1.2}]},{"featureType":"landscape","elementType":"geometry","stylers":[{"lightness":20},{"color":"#13162b"}]},{"featureType":"poi","elementType":"geometry","stylers":[{"color":"#13162b"},{"lightness":21}]},{"featureType":"poi.park","elementType":"geometry","stylers":[{"color":"#5fc6ca"},{"lightness":21}]},{"featureType":"road","elementType":"all","stylers":[{"visibility":"simplified"},{"color":"#cccdd2"}]},{"featureType":"road","elementType":"geometry","stylers":[{"color":"#13162b"}]},{"featureType":"road","elementType":"geometry.fill","stylers":[{"color":"#ff0000"}]},{"featureType":"road.highway","elementType":"geometry.fill","stylers":[{"color":"#13162b"},{"lightness":17}]},{"featureType":"road.highway","elementType":"geometry.stroke","stylers":[{"color":"#ffffff"},{"lightness":29},{"weight":0.2}]},{"featureType":"road.arterial","elementType":"geometry","stylers":[{"color":"#13162b"},{"lightness":18}]},{"featureType":"road.local","elementType":"geometry","stylers":[{"color":"#13162b"},{"lightness":16}]},{"featureType":"transit","elementType":"geometry","stylers":[{"color":"#13162b"},{"lightness":19}]},{"featureType":"water","elementType":"geometry","stylers":[{"color":"#f4f9fc"},{"lightness":17}]}];
}
function healthic_trx_addons_init(e, container){
if(arguments.length < 2){
var container=jQuery('body');
}
if(container===undefined||container.length===undefined||container.length==0){
return;
}
container.find('.sc_countdown_item canvas:not(.inited)').addClass('inited').attr('data-color', HEALTHIC_STORAGE['alter_link_color']);
}})();
jQuery(document).on('action.ready_trx_addons', function(){
"use strict";
jQuery('.sc_layouts_logo,.custom-logo-link').on('click', function(e){
if(jQuery(this).attr('href')=='#'||location.href==jQuery(this).attr('href')){
trx_addons_document_animate_to(0);
e.preventDefault();
return false;
}});
});
(function(){
"use strict";
var trx_addons_once_resize=false;
var $window=jQuery(window),
$document=jQuery(document),
$body=jQuery('body'),
$scheme_watchers=jQuery('.watch_scheme');
var $animated_items,
$scheme_sections,
$stack_sections;
var is_edit_mode=$body.hasClass('elementor-editor-active');
$document.on('action.got_ajax_response', update_jquery_links);
$document.on('action.init_hidden_elements', update_jquery_links);
var first_run=true;
function update_jquery_links(e){
if(first_run&&e && e.namespace=='init_hidden_elements'){
first_run=false;
return;
}
$animated_items=jQuery('.animated-item');
$scheme_sections=jQuery('[class*="scheme_"]:visible');
$stack_sections=jQuery('.sc_stack_section_effect_slide:not(.elementor-element-edit-mode)');
}
update_jquery_links();
if(typeof TRX_ADDONS_STORAGE!='undefined'&&TRX_ADDONS_STORAGE['popup_engine']!='none'){
$document.on('action.init_hidden_elements', function(e, cont){
cont.find('a.esgbox').attr('data-elementor-open-lightbox', 'no');
if(trx_addons_apply_filters('trx_addons_filter_disable_elementor_lightbox', true) ){
cont.find(trx_addons_apply_filters('trx_addons_filter_disable_elementor_lightbox_selector',
'a[href$=".jpg"]:not([data-elementor-open-lightbox="yes"]):not([data-elementor-lightbox-slideshow]),'
+ 'a[href$=".jpeg"]:not([data-elementor-open-lightbox="yes"]):not([data-elementor-lightbox-slideshow]),'
+ 'a[href$=".png"]:not([data-elementor-open-lightbox="yes"]):not([data-elementor-lightbox-slideshow]),'
+ 'a[href$=".gif"]:not([data-elementor-open-lightbox="yes"]):not([data-elementor-lightbox-slideshow])') )
.attr('data-elementor-open-lightbox', 'no');
}});
}
$window.on('elementor/frontend/init', function(){
if(typeof window.elementorFrontend!=='undefined'&&typeof window.elementorFrontend.hooks!=='undefined'){
is_edit_mode=elementorFrontend.isEditMode();
if(is_edit_mode){
var init_hidden_elements_immediately=false,
init_hidden_elements_throttled=trx_addons_throttle(function(){
init_hidden_elements_immediately=true;
init_hidden_elements($body);
}, 2500, true),
init_hidden_elements=function($cont){
if($body.hasClass('cpt_layouts-template')
|| $body.hasClass('cpt_layouts-template-default')
|| $body.hasClass('single-cpt_layouts')
|| $body.hasClass('single-elementor_library')
){
$body.find('.elementor-element.elementor-widget').addClass('sc_layouts_item');
}
jQuery('#toc_menu').remove();
$document.trigger('action.init_hidden_elements', [$cont]);
if($cont.parents('.elementor-section-stretched').length > 0&&! trx_addons_once_resize){
trx_addons_once_resize=true;
$document.trigger('action.resize_trx_addons', [$cont.parents('.elementor-section-stretched')]);
}else{
$document.trigger('action.resize_trx_addons', [$cont]);
}
trx_addons_elementor_prepare_animate_items();
};
elementorFrontend.hooks.addAction('frontend/element_ready/global', function($cont){
if(init_hidden_elements_immediately){	//&&! $cont.hasClass('e-child') ){	// Init child elements later (after parent inited)
init_hidden_elements($cont);
}else{
init_hidden_elements_throttled();
}});
elementorFrontend.hooks.addAction('frontend/element_ready/global', function($cont){
if($cont.data('widget_type')&&$cont.data('widget_type').indexOf('nested-tabs')===0){
trx_addons_elementor_add_subtitle_to_nested_tabs($cont);
}});
elementorFrontend.hooks.addFilter('frontend/handlers/menu_anchor/scroll_top_distance', function(scrollTop){
return scrollTop - trx_addons_fixed_rows_height();
});
if($body.hasClass('cpt_layouts-template')||$body.hasClass('cpt_layouts-template-default')||$body.hasClass('single-cpt_layouts')){
jQuery('.elementor-element.elementor-widget').addClass('sc_layouts_item');
}
jQuery('.trx_addons_layout_editor_mask').each(function(){
var $cont=jQuery(this).parent();
if($cont.css('position')=='static'){
$cont.css('position', 'relative');
}});
jQuery('.trx_addons_layout_editor_link:not(.inited)')
.addClass('inited')
.on('click', function(e){
e.stopImmediatePropagation();
return true;
});
jQuery('.trx_addons_layout_editor_selector_trigger:not(.inited)')
.addClass('inited')
.on('click', function(e){
jQuery(this).next().slideToggle();
jQuery(this).parent().toggleClass('trx_addons_layout_editor_selector_opened');
e.preventDefault();
return false;
});
jQuery('.trx_addons_layout_editor_selector_list_item:not(.inited)')
.addClass('inited')
.on('click', function(e){
var $self=jQuery(this),
layout_id=$self.data('layout-id'),
layout_type=$self.data('layout-type'),
layout_url=$self.data('layout-url'),
layout_title=$self.text(),
post_id=$self.data('post-id');
$self.parent().prevAll('.trx_addons_layout_editor_selector_trigger').eq(0).trigger('click');
var link=$self.parent().prevAll('.trx_addons_layout_editor_link').eq(0),
text=link.text();
link
.attr('href', layout_url)
.text(text.replace(/"[^"]*"/, '"' + layout_title + '"') );
if(layout_id&&layout_type&&post_id&&elementor){
var settings=elementor.settings,
model=settings.page.model,
theme_slug=TRX_ADDONS_STORAGE['theme_slug'];
var override_name=theme_slug + '_options_override_' + layout_type + '_type',
field_name=theme_slug + '_options_field_' + layout_type + '_type';
if(model.attributes.hasOwnProperty(override_name)){
model.set(override_name, '1');
}
if(model.attributes.hasOwnProperty(field_name)){
model.set(field_name, 'custom');
}
var override_name2=theme_slug + '_options_override_' + layout_type + '_style',
field_name2=theme_slug + '_options_field_' + layout_type + '_style';
if(model.attributes.hasOwnProperty(override_name2) ){
model.set(override_name2, '1');
}
if(model.attributes.hasOwnProperty(field_name2) ){
model.set(field_name2, layout_type + '-custom-' + layout_id);
}
var sec_number=layout_type=='sidebar' ? 1:(layout_type=='header' ? 3:4);
elementor
.getPanelView()
.setPage('page_settings')
.activateTab('advanced')
.activateSection('section_theme_options_' + sec_number)
._renderChildren();
elementor.panel.$el.find('input[data-setting="'+override_name+'"]').trigger('change');
elementor.panel.$el.find('select[data-setting="'+field_name+'"]').trigger('input');
elementor.panel.$el.find('input[data-setting="'+override_name2+'"]').trigger('change');
elementor.panel.$el.find('select[data-setting="'+field_name2+'"]').trigger('input');
}
e.preventDefault();
return false;
});
}else{
if(typeof elementorFrontend.config!=='undefined'
&& typeof elementorFrontend.config.settings!=='undefined'
&& typeof elementorFrontend.config.settings.general==='undefined'
){
elementorFrontend.config.settings.general={
'elementor_stretched_section_container': TRX_ADDONS_STORAGE['elementor_stretched_section_container']
};}
setTimeout(function(){
trx_addons_once_resize=true;
$document.trigger('action.resize_trx_addons');
}, 2);
trx_addons_elementor_prepare_animate_items();
}
/*
elementorFrontend.hooks.addAction('frontend/element_ready/section', function($element){
if(typeof window.MutationObserver!=='undefined'){
if($element.hasClass('elementor-section-stretched')&&! $element.hasClass('stretch_observer_inited') ){
$element.addClass('stretch_observer_inited').data('old-width', $element.is(':visible') ? $element.width():0);
var id=$element.data('id');
trx_addons_create_observer(
'check_stretch_row-' + id,
$element,
function(mutationsList){
if(! $element.is(':visible')||$element.css('display')=='none') return;
var new_width=$element.width();
if(new_width&&new_width!=$element.data('old-width') ){
$document.trigger('action.stretch_section_elementor', [ $element ]);
$element.data('old-width', new_width);
}},
{ childList: false, subtree: false, attributes:true, attributeFilter:['style'] }
);
}}
});
*/
}});
if($scheme_watchers.length > 0){
$document.on('action.scroll_trx_addons', function(){
$scheme_watchers.each(function(idx){
var item=$scheme_watchers.eq(idx),
item_dom=item.get(0),
scheme_present=false,
item_offset, item_cx, item_cy;
if(typeof item_dom.getBoundingClientRect=='function'){
item_offset=item_dom.getBoundingClientRect();
item_cx=$window.scrollLeft() + item_offset.left + item_offset.width / 2;
item_cy=$window.scrollTop() + item_offset.top + item_offset.height / 2;
}else{
item_offset=item.offset();
item_cx=item_offset.left + item.width() / 2;
item_cy=item_offset.top + item.height() / 2;
}
$scheme_sections.each(function(idx2){
var section=$scheme_sections.eq(idx2),
section_offset=section.offset(),
section_left=section_offset.left,
section_top=section_offset.top;
if(section_left < item_cx&&section_left + section.outerWidth() > item_cx
&& section_top < item_cy&&section_top + section.outerHeight() > item_cy
){
var scheme=trx_addons_get_class_by_prefix(section.attr('class'), 'scheme_');
if(! item.hasClass(scheme)){
item.attr('class', trx_addons_chg_class_by_prefix(item.attr('class'), 'scheme_', scheme) );
}
scheme_present=true;
}});
if(! scheme_present){
item.attr('class', trx_addons_chg_class_by_prefix(item.attr('class'), 'scheme_', '') );
}});
});
}
if($body.hasClass('fixed_blocks_sticky') ){
var $sections_wrap=false;
$document.on('action.resize_trx_addons', function(){
if($stack_sections.length===0) return;
if($sections_wrap===false){
$sections_wrap=$stack_sections.eq(0).parents('.elementor-section-wrap,.e-con-inner').eq(0);
if($sections_wrap.length===0){
$sections_wrap=$stack_sections.eq(0).parents('.elementor').eq(0);
}}
if($sections_wrap.length){
var left=$sections_wrap.offset().left;
if(typeof TRX_ADDONS_STORAGE['elementor_stretched_section_container']!='undefined'){
var $page_wrap=jQuery(TRX_ADDONS_STORAGE['elementor_stretched_section_container']).eq(0);
if($page_wrap.length > 0){
left -=$page_wrap.offset().left;
}}
$stack_sections.each(function(){
var $self=jQuery(this);
if($self.hasClass('elementor-section-stretched') ){
var options={
'left': 'unset',
};
if($self.hasClass('sc_stack_section_zoom_on') ){
options['marginLeft']=(-1) * left + 'px';
}else{
options['transform']='translateX(' + (-1) * left + 'px)';
}
$self.css(options);
}});
}});
}
$document.on('action.init_hidden_elements', function(e, cont){
var tabs=cont.hasClass('elementor-widget-tabs') ? cont:jQuery('.elementor-widget-tabs');
if(tabs.hasClass('sc_tabs_open_on_hover_on')&&! tabs.hasClass('sc_tabs_open_on_hover_inited')){
tabs
.addClass('sc_tabs_open_on_hover_inited')
.on('mouseenter', '.elementor-tab-title:not(.elementor-active)', function(e){
jQuery(this).trigger('click');
});
}});
$document.on('action.init_hidden_elements', function(e, cont){
var tabs=cont.hasClass('elementor-widget-tabs') ? cont:jQuery('.elementor-widget-tabs');
if(! tabs.hasClass('sc_tabs_hidden_inited')){
tabs
.addClass('sc_tabs_hidden_inited')
.on('touchstart mousedown', '.elementor-tab-title:not(.elementor-active)', function(e){
var $active=jQuery(this).siblings('.elementor-active');
if($active.length){
var $tab_content=tabs.find('.elementor-tab-content[data-tab="' + $active.data('tab') + '"]');
if($tab_content.length){
$document.trigger('action.deactivate_tab', [$tab_content]);
}}
})
.on('click', '.elementor-tab-title', function(e){
var $self=jQuery(this);
var $tab_content=tabs.find('.elementor-tab-content[data-tab="' + $self.data('tab') + '"]');
setTimeout(function(){
$document.trigger('action.activate_tab', [$tab_content]);
$document.trigger('action.init_hidden_elements', [$tab_content]);
$document.trigger('action.resize_trx_addons');
}, $tab_content.height() > 50 ? 0:600);
});
}});
/*
$document.on('action.init_hidden_elements', function(e, cont){
var tabs=cont&&cont.hasClass('elementor-widget-tabs') ? cont:jQuery('.elementor-widget-tabs');
if(! tabs.hasClass('sc_tabs_height_inited')){
tabs
.addClass('sc_tabs_height_inited')
.on('mousedown', '.elementor-tab-title', function(e){
var wrap=tabs.find('.elementor-tabs-content-wrapper'),
height=wrap.find('.elementor-tab-content:visible').outerHeight();
wrap.css('min-height', height + 'px');
setTimeout(function(){
wrap.css('min-height', 0);
}, 500);
});
}});
*/
$document.on('action.activate_tab', function(e, cont){
cont.find('.elementor-widget-image-carousel .swiper-container, .elementor-background-slideshow.swiper-container').each(function(){
var swiper=jQuery(this).data('swiper');
if(swiper){
swiper.update();
}});
});
function trx_addons_elementor_add_subtitle_to_nested_tabs($cont){
var settings=trx_addons_elementor_get_settings_by_cid($cont.data('model-cid'), ['tabs', 'icon_position']);
if(settings.tabs&&settings.tabs){
var icon_placement=[ 'block-start', 'block-end', 'top', 'bottom' ].indexOf(settings.icon_position) >=0 ? 'inside':(settings.tabs_icon_placement||'inside'),
title_tag=settings.tabs_title_html_tag||'span',
subtitle_tag=icon_placement=='inside' ? settings.tabs_subtitle_html_tag||'span':'span';
for (var i=0; i < settings.tabs.length; i++){
var tab=settings.tabs[i];
if(tab){
var $tab=$cont.find('.e-n-tab-title[data-tab-index="' +(i + 1) + '"]');
if($tab.length){
var $newTab=jQuery('<div></div>', {
html: $tab.html(),
});
jQuery.each($tab.get(0).attributes, function(){
$newTab.attr(this.name, this.value);
});
$tab.replaceWith($newTab);
$tab=$cont.find('.e-n-tab-title[data-tab-index="' +(i + 1) + '"]');
var $text=$tab.find('.e-n-tab-title-text');
if(title_tag!='span'){
var $newText=jQuery('<' + title_tag + '></' + title_tag + '>', { html: $text.html() });
jQuery.each($text.get(0).attributes, function(){
$newText.attr(this.name, this.value);
});
$text.replaceWith($newText);
$text=$tab.find('.e-n-tab-title-text');
}
if(tab.tab_subtitle){
$tab
.toggleClass('e-n-tab-title-with-subtitle', true)
.toggleClass('e-n-tab-title-icon-placement-inside', icon_placement=='inside')
.toggleClass('e-n-tab-title-icon-placement-outside', icon_placement=='outside');
if(icon_placement=='outside'){
$tab.find('>.e-n-tab-subtitle').remove();
if($text.find('.e-n-tab-title-text-inner').length===0){
$text.html('<span class="e-n-tab-title-text-inner">' + $text.html() + '</span>');
}
var $subtitle=$text.find('.e-n-tab-subtitle');
if($subtitle.length===0){
$text.append('<' + subtitle_tag + ' class="e-n-tab-subtitle">' + tab.tab_subtitle + '</' + subtitle_tag + '>');
}else{
$subtitle.html(tab.tab_subtitle);
}}else{
$text.find('.e-n-tab-subtitle').remove();
$text.find('.e-n-tab-title-text-inner').contents().unwrap();
var $subtitle=$tab.find('>.e-n-tab-subtitle');
if($subtitle.length===0){
$tab.append('<' + subtitle_tag + ' class="e-n-tab-subtitle">' + tab.tab_subtitle + '</' + subtitle_tag + '>');
}else{
$subtitle.html(tab.tab_subtitle);
}}
}else{
$tab
.removeClass('e-n-tab-title-with-subtitle e-n-tab-title-icon-placement-inside e-n-tab-title-icon-placement-outside')
.find('.e-n-tab-subtitle').remove()
.end()
.find('.e-n-tab-title-text-inner').contents().unwrap();
}}
}}
}}
$document.on('action.prepare_popup_elements', function(e, cont, mfp){
var max_delay=0,
items=cont.find('.animated-item,'
+ '.animated[class*="animation_type_"],'
+ '[data-settings*="animation"][class*="animation_type_"]'
);
items.each(function(idx){
var $self=jQuery(this),
block=$self.hasClass('animation_type_block')||$self.hasClass('animated-separate'),
sc=block ? $self:$self.parents('.animated-separate'),
params=sc.data('animation-settings')||sc.data('settings'),
delay=trx_addons_elementor_animate_items_delay(params, sc, $self, idx, items.length),
animation=trx_addons_elementor_animate_items_animation(params);
if(delay > max_delay){
max_delay=delay;
}
$self
.addClass('elementor-invisible trx_addons_invisible')
.removeClass('animated ' + animation + ' ' + trx_addons_elementor_animate_items_animation_revert_name(animation) );
if(block||! mfp){
trx_addons_elementor_animate_item($self, idx, items.length, false);
}});
cont.data({
'animation-delay': max_delay
});
if(mfp&&mfp.st){
mfp.st.removalDelay=max_delay + 300;
}});
$document.on('action.close_popup_elements', function(e, cont){
var max_delay=cont.data('animation-delay')||0,
items=cont.find('.animated-item,.animated[class*="animation_type_"]');
items.each(function(idx){
var $self=jQuery(this),
block=$self.hasClass('animation_type_block'),
sc=block ? $self:$self.parents('.animated-separate'),
params=sc.data(block ? 'settings':'animation-settings');
if(! params){
return;
}
var reverted=sc.data('animation-reverted'),
animation=reverted ? reverted:trx_addons_elementor_animate_items_animation(params);
$self.removeClass('animated ' + animation);
if(! reverted){
var revert_params=trx_addons_elementor_animate_items_animation_revert_params(sc, params, max_delay);
sc
.data(block ? 'settings':'animation-settings', revert_params)
.data('animation-reverted', animation);
setTimeout(function(){
sc
.data(block ? 'settings':'animation-settings', params)
.data('animation-reverted', '');
}, max_delay);
}
trx_addons_elementor_animate_item($self, idx, items.length, false);
});
});
function trx_addons_elementor_prepare_animations_for_toggle_sections(){
jQuery('.sc_section_toggle_on:not(.sc_section_toggle_inited)').each(function(){
var sc=jQuery(this).addClass('sc_section_toggle_inited'),
sc_cont=sc.find('>.elementor-container,>.e-con-inner'),
cid=sc.data('model-cid'),
params=cid ? trx_addons_elementor_get_settings_by_cid(cid, ['_animation','animation']):sc.data('settings'),
type=trx_addons_get_class_by_prefix(sc.attr('class'), 'animation_type_').replace('animation_type_', ''),
item_params={},
item_speed='',
item_duration=500;
var save_height=function(){
if(sc.hasClass('sc_section_toggle_state_show') ){
sc_cont.data('height', sc_cont.outerHeight());
}};
$document.on('action.resize_trx_addons', save_height);
if(sc.hasClass('animated-slow') ){
item_speed='animated-slow';
item_duration=1000;
}else if(sc.hasClass('animated-fast') ){
item_speed='animated-fast';
item_duration=300;
}
if(params){
for (var i in params){
if(i.slice(0, 10)=='_animation'||i.slice(0, 9)=='animation'){
item_params[i]=params[i];
delete params[i];
}}
sc.removeClass('animated animation_type_' + type + ' '
+ trx_addons_elementor_animate_items_animation(item_params)
+(item_speed ? ' ' + item_speed:'')
+(! sc.hasClass('elementor-element-edit-mode') ? ' elementor-invisible trx_addons_invisible':'')
);
if(! cid){
sc
.attr('data-settings', JSON.stringify(params))
.data('settings', params);
}
sc_cont
.addClass('animation_type_' + type
+ ' ' + item_speed
+(! sc.hasClass('elementor-element-edit-mode') ? ' elementor-invisible trx_addons_invisible':'')
)
.attr('data-settings', JSON.stringify(item_params) );
}else{
item_speed='';
item_duration=0;
}
var id=sc.attr('id');
if(id){
var $link=jQuery('a[href="#' + id + '"]');
if($link.length){
$link
.addClass('sc_section_toggle_state_' +(sc.hasClass('sc_section_toggle_state_show') ? 'show':'hide') )
.on('click', function(e){
e.preventDefault();
e.stopImmediatePropagation();
var state=sc.hasClass('sc_section_toggle_state_show') ? 'show':'hide',
action=state=='show' ? 'hide':'show',
max_delay=0,
easing=typeof jQuery.easing['easeOutSine']!='undefined' ? 'easeOutSine':'linear';
jQuery(this)
.removeClass('sc_section_toggle_state_' + state)
.addClass('sc_section_toggle_state_' + action);
if(action=='show'){
var h=sc_cont.data('height')||trx_addons_window_height() * 0.4;
sc
.addClass('sc_section_toggle_animated_show')
.animate({ height: h + 'px' }, 500, easing , function(){
sc
.css({
'overflow': 'hidden'
})
.removeClass('sc_section_toggle_animated_show sc_section_toggle_state_' + state)
.addClass('sc_section_toggle_state_' + action);
$document.trigger('action.prepare_popup_elements', [sc]);
$document.trigger('action.init_hidden_elements', [sc]);
trx_addons_elementor_animate_items_scroll();
max_delay=(sc.data('animation-delay')||0) + item_duration;
setTimeout(function(){
sc.css({
'height': 'auto',
'overflow': 'unset'
});
}, max_delay);
});
}else{
max_delay=(sc.data('animation-delay')||0) + item_duration;
sc
.addClass('sc_section_toggle_animated_hide')
.css({
'overflow': 'hidden'
});
$document.trigger('action.close_popup_elements', [sc]);
setTimeout(function(){
sc
.animate({'height': 0 }, 500, easing, function(){
sc
.removeClass('sc_section_toggle_animated_hide sc_section_toggle_state_' + state)
.addClass('sc_section_toggle_state_' + action);
});
}, max_delay);
}
return false;
});
if(sc.hasClass('sc_section_toggle_close_on') ){
sc.append('<div class="sc_section_toggle_close_button trx_addons_button_close"><span class="trx_addons_button_close_icon"></span></div>');
sc.find('>.sc_section_toggle_close_button').on('click', function(){
$link.trigger('click');
});
}}
}});
}
$document.on('action.init_hidden_elements', function(e, cont){
trx_addons_elementor_prepare_animate_items();
});
$document.on('action.slider_init', function(e, slider, id){
if(slider.hasClass('slider_wait_for_init') ){
slider.removeClass('slider_wait_for_init');
trx_addons_elementor_prepare_animate_items();
}});
window.trx_addons_elementor_prepare_animate_items=function(force, $el){
if(! force){
trx_addons_elementor_prepare_animations_for_toggle_sections();
}
var $check_items=force&&$el&&$el.length
? $el
: jQuery('[class*="animation_type_"]:not(.animation_type_block)' +(! force ? ':not(.animated-separate)':'') );
$check_items.each(function(){
var sc=jQuery(this),
is_section=sc.hasClass('elementor-section')||sc.hasClass('elementor-container')||sc.hasClass('elementor-row'),
section=sc.hasClass('elementor-section')
? sc
:(sc.hasClass('elementor-container')||sc.hasClass('elementor-row')
? sc.parents('.elementor-section')
: false
),
is_container=sc.hasClass('e-con')||sc.hasClass('e-con-inner'),
container=sc.hasClass('e-con')
? sc
:(sc.hasClass('e-con-inner')
? sc.parent()
: false
),
sc_name=sc.data('widget_type');
if(sc_name){
sc_name=sc_name.split('.');
sc_name='.' + sc_name[0].replace('trx_', '') + '_item';
if(sc.find(sc_name).length===0){
sc_name='.post_item';
if(sc.find(sc_name).length===0){
sc_name='[class*="_column-"]';
}}
}else{
sc_name=is_container&&sc.find('>.e-con-inner>.e-con,>.e-con-inner>.elementor-element,>.e-con').length > 1
? '>.e-con-inner>.e-con,>.e-con-inner>.elementor-element,>.e-con'
:(is_section&&sc.find('>.elementor-container>.elementor-row>.elementor-column,>.elementor-container>.elementor-column,>.elementor-row>.elementor-column,>.elementor-column').length > 1
? '>.elementor-container>.elementor-row>.elementor-column,>.elementor-container>.elementor-column,>.elementor-row>.elementor-column,>.elementor-column'
: '[class*="_column-"]'
);
}
if(( ! is_section||sc_name.indexOf('.elementor-column') < 0)&&(! is_container||sc_name.indexOf('.e-con') < 0)){
sc_name +=sc_name&&TRX_ADDONS_STORAGE['elementor_animate_items'] ? ',' + TRX_ADDONS_STORAGE['elementor_animate_items']:'';
}
var items=sc.find(sc_name);
if(items.length&&items.eq(0).parent().hasClass('swiper-wrapper')
&& ! items.eq(0).parent().parent().hasClass('swiper-initialized')
&& ! items.eq(0).parent().parent().hasClass('swiper-container-initialized')
){
items.eq(0).parent().parent().addClass('slider_wait_for_init');
return;
}
if(items.length===0){
sc.addClass('animation_type_block');
return;
}
var animation_type=trx_addons_get_class_by_prefix(sc.attr('class'), 'animation_type_').replace('animation_type_', '');
var cid=sc.data('model-cid'),
params=cid ? trx_addons_elementor_get_settings_by_cid(cid, ['_animation','animation']):sc.data('settings'),
item_params={},
item_speed=sc.hasClass('animated-slow')
? 'animated-slow'
:(sc.hasClass('animated-fast')
? 'animated-fast'
: ''
);
if(! params){
return;
}
for (var i in params){
if(i.slice(0, 10)=='_animation'||i.slice(0, 9)=='animation'){
item_params[(i.slice(0, 9)=='animation' ? '_':'') + i ]=typeof params[i]=='object' ? params[i]['size']:params[i];
delete params[i];
}}
sc.removeClass('elementor-invisible trx_addons_invisible animated '
+ trx_addons_elementor_animate_items_animation(item_params)
+(sc.data('last-animation') ? ' ' + sc.data('last-animation'):'')
+(item_speed ? ' ' + item_speed:'')
)
.addClass('animated-separate')
.data('last-animation', trx_addons_elementor_animate_items_animation(item_params) );
if(! cid){
sc
.attr('data-settings', JSON.stringify(params) )
.data('settings', params);
}else{
var delay=item_params['_animation_delay']||item_params['animation_delay']||0;
setTimeout(function(){
sc.removeClass('animated animated-slow animated-fast ' + trx_addons_elementor_animate_items_animation(item_params) );
var items=sc.find('.animated-item');
if(items.length){
items
.removeClass('animated animated-slow animated-fast ' + trx_addons_elementor_animate_items_animation(item_params) )
.addClass('elementor-invisible trx_addons_invisible');
}
if(force||items.length){
trx_addons_elementor_animate_items_scroll(force||items.length);
}}, delay ? delay + 10:0);
}
sc
.attr('data-animation-settings', JSON.stringify(item_params) )
.data('animation-settings', item_params);
items.each(function(idx){
var item=jQuery(this),
allowed=trx_addons_elementor_text_animation_allowed(item);
if([ 'sequental', 'random' ].indexOf(animation_type) >=0&&allowed.indexOf(animation_type) < 0){
animation_type='word';
}
if(['line', 'word', 'char'].indexOf(animation_type) >=0&&allowed.indexOf(animation_type) >=0){
if(allowed.indexOf('sequental') >=0&&allowed.indexOf('word') >=0){
item=item.parent();
if(item.length===0){
return;
}}
if(item.data('animation-prepared')===undefined){
var html=item.html();
if(animation_type=='word'||animation_type=='line'){
html=trx_addons_wrap_words(
html,
'<span class="sc_item_animated_block elementor-invisible trx_addons_invisible animated-item' +(item_speed ? ' ' + item_speed:'') + '">',
'</span>'
);
}else{
html=trx_addons_wrap_chars(
html,
'<span class="sc_item_animated_block elementor-invisible trx_addons_invisible animated-item' +(item_speed ? ' ' + item_speed:'') + '">',
'</span>',
'<span class="sc_item_word">',
'</span>',
);
}
item.html(trx_addons_apply_filters('trx_addons_filter_animation_wrap_items', html) ).data('animation-prepared', true);
if(animation_type=='line'){
trx_addons_elementor_animate_items_recalc_lines(sc);
}}
}else{
if(item_speed){
item.addClass(item_speed);
}
item.addClass('animated-item' + (
(! section||! section.hasClass('elementor-element-edit-mode') )
&&(! container||! container.hasClass('elementor-element-edit-mode') )
? ' elementor-invisible trx_addons_invisible'
: ''
))
.attr('data-animation-index', idx);
}
if(item.data('animation')!==undefined){
item.removeAttr('data-animation');
}});
});
$animated_items=force&&$el&&$el.length ? $el.find('.animated-item'):jQuery('.animated-item');
if(force&&! is_edit_mode){
trx_addons_elementor_animate_items_scroll(force);
}};
function trx_addons_elementor_text_animation_allowed($item){
var allowed='';
if(TRX_ADDONS_STORAGE['elementor_animate_as_text']){
for(var i in TRX_ADDONS_STORAGE['elementor_animate_as_text']){
if($item.hasClass(i) ){
allowed=TRX_ADDONS_STORAGE['elementor_animate_as_text'][i];
break;
}}
}
return allowed;
}
window.trx_addons_elementor_get_settings_by_cid=function(cid, keys){
if(typeof elementorFrontend!='undefined'){
var settings=elementorFrontend.config.elements.data[cid].attributes;
if(keys){
var params={};
for(var s in settings){
for(var i=0; i < keys.length; i++){
if(s.indexOf(keys[i])===0){
if(typeof settings[s]=='object'&&settings[s].hasOwnProperty('models')){
var tmp=[];
for(var m=0; m < settings[s]['models'].length; m++){
tmp.push(settings[s]['models'][m]['attributes']);
}
params[s]=tmp;
}else{
params[s]=settings[s];
}
break;
}}
}
return params;
}
return settings;
}
return false;
};
window.trx_addons_elementor_get_settings=function($element, keys){
var elementSettings={},
modelCID=$element.data('model-cid');
if(is_edit_mode&&modelCID){
var settings=elementorFrontend.config.elements.data[modelCID],
settingsKeys=elementorFrontend.config.elements.keys[settings.attributes.widgetType||settings.attributes.elType];
jQuery.each(settings.getActiveControls(), function(controlKey){
var allowed=settingsKeys.indexOf(controlKey)!==-1;
if(allowed&&keys){
allowed=false;
for(var i=0; i < keys.length; i++){
if(controlKey.indexOf(keys[i])===0){
allowed=true;
break;
}}
}
if(allowed){
if(typeof settings.attributes[ controlKey ]=='object'&&settings.attributes[ controlKey ].hasOwnProperty('models')){
var tmp=[];
for(var m=0; m < settings.attributes[ controlKey ]['models'].length; m++){
tmp.push(settings[s]['models'][m]['attributes']);
}
elementSettings[ controlKey ]=tmp;
}else{
elementSettings[ controlKey ]=settings.attributes[ controlKey ];
}}
});
}else{
elementSettings=$element.data('settings')||{};}
return elementSettings;
};
$document.on('action.resize_trx_addons', function(){
trx_addons_elementor_animate_items_recalc_lines();
});
function trx_addons_elementor_animate_items_recalc_lines(sc){
if(sc===undefined){
sc=jQuery('.animation_type_line');
}
sc.each(function(){
var $self=jQuery(this),
line_idx=0,
line_offset={ top: 0, left: 999999 };
$self.find('.animated-item').each(function(){
var $item=jQuery(this);
var offset=$item.offset();
if(offset.top - line_offset.top > $item.height() / 2&&offset.left < line_offset.left){
line_offset.top=offset.top;
line_idx++;
}
line_offset.left=offset.left;
$item
.attr('data-animation-line', line_idx - 1)
.data('animation-line', line_idx - 1);
});
sc
.attr('data-animation-lines', line_idx)
.data('animation-lines', line_idx);
});
}
$document.on('action.scroll_trx_addons', function(){
trx_addons_elementor_animate_items_scroll();
});
function trx_addons_elementor_animate_items_scroll(force){
var cnt=0;
$animated_items.each(function(idx){
var item=jQuery(this);	//$animated_items.eq(idx);
if(! force&&(item.hasClass('animated')||item.hasClass('wait-for-animation')) ) return;
var item_top=item.offset().top,
window_top=$window.scrollTop(),
window_height=$window.height(),
item_idx=item.data('animation-index');
item_idx=item_idx!==undefined ? Number(item_idx):cnt;
if(item_top + 50 < window_top + window_height){
var item_height=item.outerHeight(),
need_animation=item_top + item_height > window_top;
trx_addons_elementor_animate_item(item, item_idx, $animated_items.length - idx + cnt, force, need_animation);
if(need_animation){
cnt++;
}}
});
}
function trx_addons_elementor_animate_item(item, idx, total, force, need_animation){
var block=item.hasClass('animation_type_block'),
sc=block ? item:item.parents('.animated-separate');
if(( sc.hasClass('elementor-container')||sc.hasClass('e-con-inner'))&&sc.parent().hasClass('sc_section_toggle_state_hide') ){
return;
}
var item_params=sc.data(block ? 'settings':'animation-settings'),
item_delay=trx_addons_elementor_animate_items_delay(item_params, sc, item, idx, total),
item_animation=trx_addons_elementor_animate_items_animation(item_params),
item_duration=item_params['_animation_duration']||item_params['animation_duration']||'';
if(! need_animation){
if(item.data('last-animation')&&item.data('last-animation')!=item_animation){
item.removeClass(item.data('last-animation'));
item.data('last-animation', '');
}
if(item.hasClass('elementor-invisible')){
item.removeClass('elementor-invisible');
}
if(item.hasClass('trx_addons_invisible')){
item.removeClass('trx_addons_invisible');
}
if(! item.hasClass('animated')){
item.addClass('animated');
}}else{
item.addClass('wait-for-animation');
setTimeout(function(){
item
.removeClass('wait-for-animation')
.addClass('animated' + (item_duration ? ' animated-' + item_duration:''))
.addClass(item_animation)
.removeClass('elementor-invisible trx_addons_invisible');
}, item_delay);
}}
function trx_addons_elementor_animate_items_delay(params, sc, item, idx, total){
var animation_type=trx_addons_get_class_by_prefix(sc.attr('class'), 'animation_type_').replace('animation_type_', '');
var delay=params&&params._animation_delay!==''&&params._animation_delay!==undefined
? params._animation_delay
:(params&&params.animation_delay!==''&&params.animation_delay!==undefined
? params.animation_delay
: 0
);
var stagger=params&&params._animation_stagger!==''&&params._animation_stagger!==undefined
? params._animation_stagger
: sc.data('animation-stagger');
if(stagger===''||stagger===undefined){
stagger=delay;
delay=0;
}
if(stagger===''||stagger===undefined){
stagger=150;
}
if(animation_type=='random'){
delay +=trx_addons_random(0, stagger);
}else{
if(animation_type=='line'){
idx=item.data('animation-line');
total=sc.data('animation-lines');
}
delay +=stagger *(sc.data('animation-reverted')
?(item.hasClass('menu-item') ? item.siblings('.menu-item').length + 1 - item.index():Math.max(0, total - idx) )
:(item.hasClass('menu-item') ? item.index():idx)
);
}
return delay;
}
function trx_addons_elementor_animate_items_animation(params){
var device=$body.data('elementor-device-mode');
if(! device||device=='desktop'){
device='';
}else{
device='_' + device;
}
var animation='';
if(typeof params!='undefined'){
if(typeof params["_animation" + device]!='undefined'){
animation=params["_animation" + device];
}else if(typeof params["_animation"]!='undefined'){
animation=params["_animation"];
}else if(typeof params["animation" + device]!='undefined'){
animation=params["animation" + device];
}else if(typeof params["animation"]!='undefined'){
animation=params["animation"];
}}
return animation;
}
function trx_addons_elementor_animate_items_animation_revert_name(animation){
animation=animation.replace('In', 'Out');
if(animation.indexOf('Up') >=0){
animation=animation.replace('Up', 'Down');
}else if(animation.indexOf('Down') >=0){
animation=animation.replace('Down', 'Up');
}
return animation;
}
function trx_addons_elementor_animate_items_animation_revert_params(sc, params, max_delay){
var device=$body.data('elementor-device-mode');
if(! device||device=='desktop'){
device='';
}else{
device='_' + device;
}
if(params){
var revert_params=trx_addons_object_clone(params);
if(typeof revert_params["_animation" + device]!='undefined'){
revert_params["_animation" + device]=trx_addons_elementor_animate_items_animation_revert_name(revert_params["_animation" + device]);
}else if(typeof revert_params["_animation"]!='undefined'){
revert_params["_animation"]=trx_addons_elementor_animate_items_animation_revert_name(revert_params["_animation"]);
}else if(typeof revert_params["animation" + device]!='undefined'){
revert_params["animation" + device]=trx_addons_elementor_animate_items_animation_revert_name(revert_params["animation" + device]);
}else if(typeof revert_params["animation"]!='undefined'){
revert_params["animation"]=trx_addons_elementor_animate_items_animation_revert_name(revert_params["animation"]);
}
if(sc.hasClass('animation_type_block') ){
revert_params._animation_delay=revert_params._animation_delay
? Math.max(0, max_delay - revert_params._animation_delay)
: max_delay;
}
return revert_params;
}
return params;
}
$document.on('action.init_hidden_elements', function(e, cont){
trx_addons_elementor_add_bg_text(cont);
});
function trx_addons_elementor_add_bg_text(cont){
if(cont.hasClass('elementor-section')||cont.hasClass('e-con')){
cont.find('>.trx_addons_bg_text').remove();
trx_addons_elementor_add_bg_text_in_row(cont);
}else{
jQuery(( is_edit_mode
? '.elementor-section.elementor-element-edit-mode,.e-con.elementor-element-edit-mode'
: '.trx_addons_has_bg_text:not(.trx_addons_has_bg_text_inited)'
)
).each(function(){
var $self=jQuery(this);
if(is_edit_mode){
$self.find('>.trx_addons_bg_text').remove();
}
trx_addons_elementor_add_bg_text_in_row($self);
});
}}
function trx_addons_elementor_add_bg_text_in_row(row){
var data=row.data('bg-text'),
cid='',
rtl=$body.hasClass('rtl');
if(! data){
cid=row.data('model-cid');
if(cid){
data=trx_addons_elementor_get_settings_by_cid(cid, ['bg_text']);
}}
if(! data){
return;
}
if(data['bg_text']){
if(! row.hasClass('trx_addons_has_bg_text') ){
row.addClass('trx_addons_has_bg_text');
}
data['bg_text']=data['bg_text'].replace(/\r/g, ' ').replace(/\n/g, ' ');
data['bg_text']=trx_addons_prepare_macros(data['bg_text'], { 'class': 'trx_addons_bg_text_item' });
var row_cont=row.addClass('trx_addons_has_bg_text_inited');
var chars='', in_tag=false, in_amp=false, amp='', in_divider=false, ch;
var delimiter_image=typeof data['bg_text_delimiter_image']=='object'
? data['bg_text_delimiter_image']['url']
: data['bg_text_delimiter_image'];
var delimiter_svg=data['bg_text_delimiter_svg']||'';
var delimiter_icon = ! trx_addons_is_off(data['bg_text_delimiter_icon']) ? data['bg_text_delimiter_icon']:'';
if(data['bg_text_effect']!='none'){
for(var i=0; i < data['bg_text'].length; i++){
ch=data['bg_text'].substr(i,1);
if(! in_tag){
if(ch=='<'){
in_tag=true;
}else{
if(ch=='&'){
in_amp=true;
amp +=ch;
}else if(in_amp){
amp +=ch;
if(ch==';'){
chars +='<span class="trx_addons_bg_text_item trx_addons_bg_text_char">' + amp + '</span>';
in_amp=false;
amp='';
}}else{
if(ch=='['){
chars +=ch;
in_divider=true;
}else if(in_divider){
chars +=ch;
if(ch==']'){
in_divider=false;
}}else{
chars +='<span class="trx_addons_bg_text_item trx_addons_bg_text_char">' +(ch==' ' ? '&nbsp;':ch) + '</span>';
}}
}}
if(in_tag){
chars +=ch;
if(ch=='>'){
in_tag=false;
}}
}}else{
chars='<span class="trx_addons_bg_text_item trx_addons_bg_text_char">' + data['bg_text'] + '</span>';
}
var marquee_speed=typeof data['bg_text_marquee']=='object'
?(data['bg_text_marquee']['size']
? data['bg_text_marquee']['size']
: 0
)
: data['bg_text_marquee'],
marquee_dir=typeof data['bg_text_reverse']!='undefined'
?(data['bg_text_reverse'] > 0
?(rtl ? -1:1)
:(rtl ? 1:-1)
)
:(rtl ? 1:-1),
overlay=typeof data['bg_text_overlay']=='object'
? data['bg_text_overlay']['url']
: data['bg_text_overlay'];
if(chars.indexOf('[divider]') > 0){
if(delimiter_icon||delimiter_image){
chars=chars.replaceAll('[divider]',(data['bg_text_effect']=='none' ? '</span>':'') + '<span class="trx_addons_bg_text_item trx_addons_bg_text_char'
+ ' trx_addons_bg_text_delimiter'
+(! delimiter_image&&delimiter_icon ? ' trx_addons_bg_text_delimiter_icon ' + delimiter_icon:' trx_addons_bg_text_delimiter_image')
+(data[ 'bg_text_delimiter_rotation' ] > 0 ? ' trx_addons_bg_text_delimiter_rotation':'')
+ '">'
+(delimiter_image
?(delimiter_svg
? delimiter_svg
: '<img src="' + delimiter_image + '" />')
: ''
)
+ '</span>' +(data['bg_text_effect']=='none' ? '<span class="trx_addons_bg_text_item trx_addons_bg_text_char">':'') );
}else{
chars=chars.replaceAll('[divider]', '');
}}
if(marquee_speed > 0&&(delimiter_icon||delimiter_image) ){
chars +='<span class="trx_addons_bg_text_item trx_addons_bg_text_char'
+ ' trx_addons_bg_text_delimiter'
+(! delimiter_image&&delimiter_icon ? ' trx_addons_bg_text_delimiter_icon ' + delimiter_icon:' trx_addons_bg_text_delimiter_image')
+(data[ 'bg_text_delimiter_rotation' ] > 0 ? ' trx_addons_bg_text_delimiter_rotation':'')
+ '">'
+(delimiter_image
?(delimiter_svg
? delimiter_svg
: '<img src="' + delimiter_image + '" />')
: ''
)
+ '</span>';
}
row_cont.prepend('<div class="trx_addons_bg_text'
+(marquee_speed > 0 ? ' trx_addons_marquee_wrap':'')
+(( ! rtl&&marquee_dir > 0)||(rtl&&marquee_dir < 0) ? ' trx_addons_marquee_reverse':'')
+ '">'
+ '<div class="trx_addons_bg_text_inner'
+ ' trx_addons_bg_text_effect_' + data['bg_text_effect']
+(marquee_speed > 0
? ' trx_addons_marquee_element' +(data['bg_text_left']['size']!=0 ? ' trx_addons_marquee_element_with_offset':'')
: ''
)
+(cid=='' ? ' trx_addons_show_on_scroll':' trx_addons_showed_on_scroll trx_addons_in_preview_mode')
+ '"'
+ '>'
+ chars
+ '</div>'
+(overlay
? '<div class="trx_addons_bg_text_overlay trx_addons_show_on_scroll"></div>'
: ''
)
+ '</div>'
);
$document.trigger('action.got_ajax_response', ['']);
if(marquee_speed > 0&&cid===''){
var marquee_wrap=row_cont.find('.trx_addons_marquee_wrap').eq(0),
marquee_chars=Math.min(100,
data['bg_text_effect']=='none'
? trx_addons_clear_tags(data['bg_text']).length +(delimiter_icon||delimiter_image ? 1:0)
: marquee_wrap.find('.trx_addons_bg_text_item').length
);
setTimeout(function(){
trx_addons_elementor_marquee(marquee_wrap, marquee_dir, marquee_speed, true, data['bg_text_effect'], data['bg_text_marquee_hover'], data['bg_text_accelerate']);
}, data['bg_text_effect']!='none' ? marquee_chars * 100 + 800:0);
}}
}
window.trx_addons_elementor_marquee=function(marquee_wrap, marquee_dir, marquee_speed, start, effect, pause_on_hover, accelerate, accelerate_coef){
var elements=marquee_wrap.find('.trx_addons_marquee_element'),
mw=elements.eq(0).outerWidth(),
mpw=marquee_wrap.width(),
mpw_min=320,
mpw_max=1920,
divider_min=1680 - marquee_speed * marquee_speed * 2,
divider_max=1920,
divider=divider_min +(mpw - mpw_min) /(mpw_max - mpw_min) *(divider_max - divider_min),
time_per_pixel=(50 - Math.min(15, marquee_speed) * 3) / divider,
with_offset=elements.eq(0).hasClass('trx_addons_marquee_element_with_offset'),
coeff_max=trx_addons_apply_filters('trx_addons_filter_marquee_coeff_max', Math.max(2, Math.ceil(mpw / mw) )),
coeff=with_offset&&marquee_wrap.data('marquee-loop') ? Math.min(marquee_wrap.data('marquee-loop') + 1, coeff_max):1;
if(! accelerate_coef||accelerate_coef < 1){
accelerate_coef=8;
}
if(effect=='none'&&elements.eq(0).hasClass('trx_addons_show_on_scroll')&&! elements.eq(0).hasClass('trx_addons_showed_on_scroll') ){
elements.eq(0).removeClass('trx_addons_show_on_scroll').addClass('trx_addons_showed_on_scroll');
}
if(elements.eq(0).hasClass('trx_addons_showed_on_scroll') ){
if(start){
for (var i=1; i < Math.ceil(( mpw + mw *(with_offset ? coeff_max + 1:2) ) / mw); i++){
var element_clone=elements.eq(0).clone();
element_clone.removeAttr('id');
elements.eq(0).after(element_clone);
}
elements=marquee_wrap.find('.trx_addons_marquee_element');
}
var delimiters=marquee_wrap.find('.trx_addons_bg_text_delimiter_rotation,.trx_addons_marquee_rotation').css({
'transform-origin': 'center center',
'transition': 'none',
'transition-delay': 'unset',
'transition-duration': 'unset',
'perspective': 'unset'
}),
delimiters_loop=delimiters.length > 0 ? Math.max(1, Math.ceil(mpw /(delimiters.eq(0).outerHeight() * Math.PI) / 2) ):0;
var kill_tween=function($element, data_name){
var tween_obj=$element.data(data_name)||null;
if(tween_obj){
tween_obj.kill();
}};
elements.each(function(idx){
var $self=jQuery(this);
var restartTween=trx_addons_throttle(function(){
var tween_obj=elements.eq(idx).data('tweenmax-object');
if(tween_obj&&tween_obj.timeScale() > 1&&tween_obj.progress() > 0.98){
completeTween();
}}, 50);
var completeTween=function(){
if(idx==elements.length - 1){
var tween_obj=elements.eq(idx).data('tweenmax-object');
if(tween_obj){
var diff=(1 - tween_obj.progress()) * mw;
marquee_wrap.data('marquee-loop',(marquee_wrap.data('marquee-loop')||0) + 1);
elements.each(function(idx2){
kill_tween(elements.eq(idx2), 'tweenmax-object');
elements.eq(idx2).data('tweenmax-object', TweenMax.to(elements.eq(idx2),
0,
{
overwrite: true,
x:(with_offset ? mw * Math.min(coeff, coeff_max - 1) * marquee_dir:0) - diff * marquee_dir,
y: 0,
ease: Power0.easeNone
}
));
});
if(delimiters_loop > 0){
delimiters.each(function(idx2){
kill_tween(delimiters.eq(idx2), 'tweenmax-delimiter');
delimiters.eq(idx2).data('tweenmax-delimiter', TweenMax.to(delimiters.eq(idx2),
0,
{
overwrite: true,
rotation: 0,
ease: Power0.easeNone
}
));
});
}
setTimeout(function(){
trx_addons_elementor_marquee(marquee_wrap, marquee_dir, marquee_speed, false, effect, pause_on_hover, accelerate, accelerate_coef);
}, 1);
}}
};
kill_tween($self, 'tweenmax-object');
$self
.data('tweenmax-object', TweenMax.to(elements.eq(idx),
mw * time_per_pixel,
{
overwrite: true,
x: mw * coeff * marquee_dir,
y: 0,
ease: Power0.easeNone,
onUpdate: function(){
var tween_obj=elements.eq(idx).data('tweenmax-object');
if(tween_obj&&tween_obj.timeScale() > 1&&tween_obj.progress() > 0.9){
restartTween();
}},
onComplete: completeTween
}
));
if(delimiters_loop > 0&&idx==elements.length - 1){
delimiters.each(function(idx2){
kill_tween(delimiters.eq(idx2), 'tweenmax-delimiter');
delimiters.eq(idx2).data('tweenmax-delimiter', TweenMax.to(delimiters.eq(idx2),
mw * time_per_pixel,
{
overwrite: true,
rotation: delimiters_loop * 360 * marquee_dir,
ease: Power0.easeNone
}
));
});
}});
if(pause_on_hover){
marquee_wrap
.on('mouseenter', function(){
elements.each(function(idx2){
var tween_obj=elements.eq(idx2).data('tweenmax-object');
if(tween_obj){
tween_obj.pause();
}});
if(delimiters_loop > 0){
delimiters.each(function(idx2){
var tween_delimiter=delimiters.eq(idx2).data('tweenmax-delimiter');
if(tween_delimiter){
tween_delimiter.pause();
}});
}})
.on('mouseleave', function(){
elements.each(function(idx2){
var tween_obj=elements.eq(idx2).data('tweenmax-object');
if(tween_obj){
tween_obj.resume();
}});
if(delimiters_loop > 0){
delimiters.each(function(idx2){
var tween_delimiter=delimiters.eq(idx2).data('tweenmax-delimiter');
if(tween_delimiter){
tween_delimiter.resume();
}});
}});
}}else{
setTimeout(function(){
trx_addons_elementor_marquee(marquee_wrap, marquee_dir, marquee_speed, start, effect, pause_on_hover, accelerate, accelerate_coef);
}, effect!='none' ? elements.eq(0).find('.trx_addons_bg_text_char').length * 100 + 800:0);
}
if(accelerate){
var wheel_time=0,
wheel_stop=false,
wheel_accelerate={
value: 1
},
wheel_handler=function(e){
if(wheel_stop){
return true;
}
if(wheel_time==e.timeStamp){
e.preventDefault();
return false;
}
wheel_time=e.timeStamp;
var wheel_tween=elements.eq(0).data('tweenmax-accelerate')||null;
if(wheel_tween){
wheel_tween.kill();
wheel_accelerate.value=1;
}
kill_tween(elements.eq(0), 'tweenmax-accelerate');
elements.eq(0).data('tweenmax-accelerate', TweenMax.to(wheel_accelerate,
2.0,
{
overwrite: true,
value: accelerate_coef * 2 - 1,
ease: Power4.easeOut,
onUpdate: function(){
var coeff=wheel_accelerate.value==1
? 1 
:(wheel_accelerate.value <=accelerate_coef
? wheel_accelerate.value
: accelerate_coef * 2 - wheel_accelerate.value
);
elements.each(function(idx2){
var tween_obj=elements.eq(idx2).data('tweenmax-object');
if(tween_obj){
tween_obj.timeScale(coeff);
}});
if(delimiters_loop > 0){
delimiters.each(function(idx2){
var tween_delimiter=delimiters.eq(idx2).data('tweenmax-delimiter');
if(tween_delimiter){
tween_delimiter.timeScale(coeff);
}});
}},
onComplete: function(){
wheel_accelerate.value=1;
elements.each(function(idx2){
var tween_obj=elements.eq(idx2).data('tweenmax-object');
if(tween_obj){
tween_obj.timeScale(1);
}});
if(delimiters_loop > 0){
delimiters.each(function(idx2){
var tween_delimiter=delimiters.eq(idx2).data('tweenmax-delimiter');
if(tween_delimiter){
tween_delimiter.timeScale(1);
}});
}}
}
));
};
TRX_ADDONS_STORAGE['marquee_mousewheel_inited']=true;
$document.on('action.stop_wheel_handlers', function(e){
wheel_stop=true;
});
$document.on('action.start_wheel_handlers', function(e){
wheel_stop=false;
});
window.addEventListener('mousewheel', wheel_handler, { passive: false });
$window.on('DOMMouseScroll', wheel_handler);
}};})();
(function(){
'use strict';
var GET_SIZES_ON_SCROLL=false;
var $window=jQuery(window),
$document=jQuery(document),
$body=jQuery('body');
var edit_mode=false,
animation_allowed=true,
motion_step=0,
motion_period=250;
var parallax_items=[];
var bp_params={
range_start: { default: 0 },
range_end: { default: 40 },
sticky_offset: { default: 0 },
lag: { default: 0 },
x_start: { default: 0, unit: 'px' },
x_end: { default: 0, unit: 'px' },
y_start: { default: 0, unit: 'px' },
y_end: { default: 0, unit: 'px' },
scale_start: { default: 100 },
scale_end: { default: 100 },
rotate_start: { default: 0 },
rotate_end: { default: 0 },
opacity_start: { default: 1 },
opacity_end: { default: 1 },
crop_start: { default: 0 },
crop_end: { default: 100 },
blur_start: { default: 0 },
blur_end: { default: 0 },
backdrop_blur_start: { default: 0 },
backdrop_blur_end: { default: 0 }};
$document.on('action.after_add_content', function(e, $cont){
if($cont&&$cont.length){
$cont
.find('.trx_addons_parallax_layers_inited,.trx_addons_parallax_blocks_inited')
.removeClass('trx_addons_parallax_layers_inited trx_addons_parallax_blocks_inited');
}});
$document.on('action.got_ajax_response action.init_hidden_elements', function(e){
setTimeout(function(){
var items=jQuery('.trx_addons_parallax_layers:not(.trx_addons_parallax_layers_inited)');
if(items.length > 0){
items.each(function(){
var layers=new trx_addons_parallax(jQuery(this).addClass('trx_addons_parallax_layers_inited'), 'layers');
if(layers.init()){
parallax_items.push(layers);
}});
}
items=jQuery('.trx_addons_parallax_blocks:not(.trx_addons_parallax_blocks_inited)');
if(items.length > 0){
items.each(function(){
var $self=jQuery(this);
if($self.hasClass('sc_parallax_text_separate_on') ){
var $inner_obj=parallax_text_prepare($self);
if($inner_obj&&$inner_obj.length){
items.add($inner_obj);
$self.removeClass('trx_addons_parallax_blocks');
}}else{
var blocks=new trx_addons_parallax($self.addClass('trx_addons_parallax_blocks_inited'), 'blocks');
if(blocks.init()){
parallax_items.push(blocks);
}}
});
}}, 0);
});
$window.on('elementor/frontend/init', function(){
edit_mode=Boolean(window.elementorFrontend.isEditMode());
window.elementorFrontend.hooks.addAction('frontend/element_ready/container',  parallax_init);	
window.elementorFrontend.hooks.addAction('frontend/element_ready/section', parallax_init);
window.elementorFrontend.hooks.addAction('frontend/element_ready/column',  parallax_init);
window.elementorFrontend.hooks.addAction('frontend/element_ready/element', parallax_init);
window.elementorFrontend.hooks.addAction('frontend/element_ready/widget',  parallax_init);
});
function parallax_init($init_obj){
if(edit_mode){
parallax_remove_handlers($init_obj);
}
var layers=new trx_addons_parallax($init_obj, 'layers');
if(layers.init()){
parallax_items.push(layers);
}
$init_obj.addClass('trx_addons_parallax_layers_inited');
if($init_obj.hasClass('sc_parallax_text_separate_on') ){
var $inner_obj=parallax_text_prepare($init_obj);
if($inner_obj&&$inner_obj.length){
$inner_obj.each(function(){
var $self=jQuery(this);
var blocks=new trx_addons_parallax($self, 'blocks');
if(blocks.init()){
parallax_items.push(blocks);
}
$self.addClass('trx_addons_parallax_blocks_inited');
});
}}else{
var blocks=new trx_addons_parallax($init_obj, 'blocks');
if(blocks.init()){
parallax_items.push(blocks);
}}
$init_obj.addClass('trx_addons_parallax_blocks_inited');
}
function parallax_remove_handlers($init_obj){
if(animation_allowed&&parallax_items.length){
if($init_obj.hasClass('sc_parallax_text_separate_on') ){
$init_obj.find('.sc_parallax_text_block').each(function(){
var $self=jQuery(this);
parallax_items=parallax_items.filter(function(item){
return ! item.remove_handlers($self);
});
});
}else{
parallax_items=parallax_items.filter(function(item){
return ! item.remove_handlers($init_obj);
});
}}
}
function parallax_text_prepare($init_obj, settings){
var params;
if(! settings){
if(! edit_mode){
params=$init_obj.data('parallax-params')||false;
if(params){
settings=[];
settings.push(parallax_bp_settings(params) );
}}else{
settings=get_editor_settings($init_obj, 'blocks');
}}
if(! settings||settings.length===0||['chars', 'words'].indexOf(settings[0].text)==-1||! $init_obj.data('element_type')){
return false;
}
var sc=($init_obj.data('element_type')=='widget' ? $init_obj.data('widget_type'):$init_obj.data('element_type')).split('.')[0],
$inner_obj=$init_obj.find('.sc_parallax_text_block');
if($inner_obj.length===0){
$inner_obj=$init_obj.find(sc=='trx_sc_title'
? '.sc_item_title_text,.sc_item_subtitle'
:(sc=='trx_sc_supertitle'
? '.sc_supertitle_text'
:(sc=='heading'
? '.elementor-heading-title'
: 'p'
)
)
);
if($inner_obj.length > 0){
$inner_obj.each(function(idx){
$inner_obj.eq(idx)
.html(settings[0].text=='chars'
? parallax_text_wrap_chars($inner_obj.eq(idx).html(), true)
: parallax_text_wrap_words($inner_obj.eq(idx).html())
);
});
$inner_obj=$inner_obj.find('.sc_parallax_text_block');
if(settings[0].text_separate){
$inner_obj.each(function(idx){
params=trx_addons_object_clone(settings[0]);
if(params.lag > 0){
params.lag=trx_addons_window_width() < TRX_ADDONS_STORAGE['mobile_breakpoint_scroll_lag_off'] ? 0:params.lag *(idx + 1);
}
$inner_obj.eq(idx).attr('data-parallax-params', JSON.stringify(params) );
});
}}
}
return $inner_obj;
}
function parallax_text_wrap_chars(txt, wrap_words){
return trx_addons_wrap_chars(txt,
'<span class="sc_parallax_text_block">',
'</span>',
wrap_words ? '<span class="sc_parallax_word_wrap">':'',
wrap_words ? '</span>':''
);
}
function parallax_text_wrap_words(txt){
return trx_addons_wrap_words(txt, '<span class="sc_parallax_text_block">', '</span>');
}
function get_editor_settings($target, init_type){
if(! window.elementor||! window.elementor.hasOwnProperty('elements') ){
return false;
}
var elements=window.elementor.elements;
if(! elements.models){
return false;
}
var section_id=$target.data('id'),
section_cid=$target.data('model-cid'),
section_data={};
function get_section_data(idx, obj){
if(0 < Object.keys(section_data).length){
return;
}else if(section_id==obj.id){
section_data=obj.attributes.settings.attributes;
}else if(obj.attributes&&obj.attributes.elements&&obj.attributes.elements.models){
jQuery.each(obj.attributes.elements.models, get_section_data);
}}
jQuery.each(elements.models, get_section_data);
if(0===Object.keys(section_data).length){
return false;
}
var settings=[];
if(init_type=='layers'&&section_data.hasOwnProperty('parallax_blocks') ){
jQuery.each(section_data[ 'parallax_blocks' ].models, function(index, obj){
settings.push(obj.attributes);
});
}else if(init_type=='blocks'
&&(section_data.hasOwnProperty('parallax')&&section_data.parallax=='parallax'
||
section_data.hasOwnProperty('parallax_mouse')&&section_data.parallax_mouse=='mouse'
)
){
var parallax_on=section_data.hasOwnProperty('parallax')&&section_data.parallax=='parallax',
mouse_on=section_data.hasOwnProperty('parallax_mouse')&&section_data.parallax_mouse=='mouse';
var data={
parallax: 	   parallax_on ? 1:0,
type:          parallax_on&&section_data.hasOwnProperty('parallax_type') ? section_data.parallax_type:'object',
flow:          parallax_on&&section_data.hasOwnProperty('parallax_flow') ? section_data.parallax_flow:'default',
crop:          parallax_on&&section_data.hasOwnProperty('parallax_crop') ? section_data.parallax_crop:'none',
duration:      parallax_on&&section_data.hasOwnProperty('parallax_duration') ? section_data.parallax_duration.size:1,
delay:         parallax_on&&section_data.hasOwnProperty('parallax_delay') ? section_data.parallax_delay.size:0,
squeeze:       parallax_on&&section_data.hasOwnProperty('parallax_squeeze') ? section_data.parallax_squeeze.size:1,
ease:          parallax_on&&section_data.hasOwnProperty('parallax_ease') ? section_data.parallax_ease:'power2',
transition:    parallax_on&&section_data.hasOwnProperty('parallax_transition') ? section_data.parallax_transition:1,
text:          parallax_on&&section_data.hasOwnProperty('parallax_text') ? section_data.parallax_text:'block',
text_separate: parallax_on&&section_data.hasOwnProperty('parallax_text_separate') ? section_data.parallax_text_separate:0,
text_wrap:     parallax_on&&section_data.hasOwnProperty('parallax_text_wrap') ? 1:0,
mouse:             mouse_on ? 1:0,
mouse_type:        mouse_on&&section_data.hasOwnProperty('parallax_mouse_type') ? section_data.parallax_mouse_type:'transform3d',
mouse_tilt_amount: mouse_on&&section_data.hasOwnProperty('parallax_mouse_tilt_amount') ? section_data.parallax_mouse_tilt_amount.size:70,
mouse_speed:       mouse_on&&section_data.hasOwnProperty('parallax_mouse_speed') ? section_data.parallax_mouse_speed.size:10,
mouse_z:           mouse_on&&section_data.hasOwnProperty('parallax_mouse_z') ? section_data.parallax_mouse_z.size:'',
mouse_handler:     mouse_on&&section_data.hasOwnProperty('parallax_mouse_handler') ? section_data.parallax_mouse_handler:'row'
};
var suffix_prev='', suffix='', param_name='', param_prev='', defa={};
for(var resp in TRX_ADDONS_STORAGE['elementor_breakpoints']){
suffix=resp=='desktop' ? '':'_' + resp;
for(var param in bp_params){
defa=bp_params[ param ];
param_name=param + suffix;
param_prev=param + suffix_prev;
if(suffix&&! section_data.hasOwnProperty('parallax_' + param_name) ) continue;
data[ param_name ]=section_data.hasOwnProperty('parallax_' + param_name)&&section_data[ 'parallax_' + param_name ]['size']!==''
? section_data[ 'parallax_' + param_name ]['size']
:(! suffix ? defa['default']:data[ param_prev ]);
if(defa['unit']){
data[ param_name + '_unit' ]=section_data.hasOwnProperty('parallax_' + param_name)&&section_data[ 'parallax_' + param_name ].hasOwnProperty('unit')&&section_data[ 'parallax_' + param_name ]['size']!==''
? section_data[ 'parallax_' + param_name ]['unit']
:(! suffix ? defa['unit']:data[ param_prev + '_unit' ]);
}
if(! suffix){
data[ param_name + '_desktop' ]=data[ param_name ];
if(defa['unit']){
data[ param_name + '_unit_desktop' ]=data[ param_name + '_unit' ];
}}
}
if(typeof data['x_start' + suffix]!='undefined'&&typeof data['x_end' + suffix]!='undefined'){
if(data['x_end' + suffix]==0) data['x_end' + suffix + '_unit']=data['x_start' + suffix + '_unit'];
else if(data['x_start' + suffix]==0) data['x_start' + suffix + '_unit']=data['x_end' + suffix + '_unit'];
}
if(typeof data['y_start' + suffix]!='undefined'&&typeof data['y_end' + suffix]!='undefined'){
if(data['y_end' + suffix]==0) data['y_end' + suffix + '_unit']=data['y_start' + suffix + '_unit'];
else if(data['y_start' + suffix]==0) data['y_start' + suffix + '_unit']=data['y_end' + suffix + '_unit'];
}
suffix_prev=suffix;
}
settings.push(parallax_bp_settings(data) );
}
return 0!==settings.length ? settings:false;
}
function parallax_bp_settings(settings){
if(! settings.hasOwnProperty('last_bp') ){
settings['last_bp']='desktop';
for(var param in bp_params){
var param_name=param + '_desktop';
if(! settings.hasOwnProperty(param_name)&&settings.hasOwnProperty(param) ){
settings[ param_name ]=settings[ param ];
if(bp_params[ param ]['unit']){
settings[ param_name + '_unit' ]=settings[ param + '_unit' ];
}}
}}
var bp=trx_addons_get_responsive_breakpoint();
if(bp!=settings['last_bp']){
for(var param in bp_params){
var param_name=param + '_' + bp;
if(settings.hasOwnProperty(param_name) ){
settings[ param ]=settings[ param_name ];
if(bp_params[ param ]['unit']){
settings[ param + '_unit' ]=settings[ param_name + '_unit' ];
}}
}
settings['last_bp']=bp;
}
return settings;
}
window.trx_addons_parallax=function($target, init_type){
var self=this,
settings=false,
parallax_type='none',
$targetLayers=$target,
$targetBlocks=$target,
target_id=$target.data('id');
if(! target_id){
target_id='parallax' + trx_addons_get_unique_id();
$target.data('id', target_id);
}
var scroll_list=[],
mouse_list=[],
motion_list=[];
var on_start_inited=false;
var wst=trx_addons_window_scroll_top() + trx_addons_fixed_rows_height(),
ww=trx_addons_window_width(),
wh=trx_addons_window_height() - trx_addons_fixed_rows_height(),
is_safari     = !!navigator.userAgent.match(/Version\/[\d\.]+.*Safari/),
platform=navigator.platform;
var tl=0,
tt=0,
tw=0,
th=0,
tx=0,
ty=0,
cx=0,
cy=0,
dx=0,
dy=0;
self.init=function(){
if(! edit_mode){
if(init_type=='layers'){
settings=$target.data('parallax-blocks')||false;
if(settings){
parallax_type='layers';
}}else{
var params=$target.data('parallax-params')||false;
if(params){
settings=[];
settings.push(params);
parallax_type='blocks';
}}
}else{
settings=get_editor_settings($target, init_type);
if(settings){
parallax_type=init_type;
}}
if(! settings){
return false;
}
if(settings[0].mouse==1){
parallax_type +='|layers';
var layout_data={
selector: $target,
image: false,
size: 'auto',
prop: settings[0].mouse_type||'transform3d',
type: 'mouse',
x: 0,
y: 0,
z: settings[0].mouse_z||0,
speed: 2 *(( settings[0].mouse_speed ? settings[0].mouse_speed:10) / 100),
tilt_amount: settings[0].mouse_tilt_amount||70,
motion_dir: 'round',
motion_time: 5
};
mouse_list.push(layout_data);
}
if(init_type=='layers'||settings[0].mouse==1){
if(settings[0].mouse_handler=='window'){
$targetLayers=$body;
}else if(settings[0].mouse_handler=='content'){
$targetLayers=jQuery(trx_addons_apply_filters('trx_addons_filter_page_wrap_class', TRX_ADDONS_STORAGE['page_wrap_class'] ? TRX_ADDONS_STORAGE['page_wrap_class']:'.page_wrap', 'elementor-parallax') ).eq(0);
}else if(settings[0].mouse_handler=='row'){
if(init_type!='layers'){
$targetLayers=$target.hasClass('trx_addons_parallax_blocks')
? $target.parent()
: $target.parents('.elementor-section,.e-con.e-parent').eq(0);
}}else if(settings[0].mouse_handler=='column'){
$targetLayers=$target.hasClass('trx_addons_parallax_blocks')
? $target.parent()
: $target.parents('.elementor-column,.e-con.e-child').eq(0);
}else if(settings[0].mouse_handler=='parent'){
$targetLayers=$target.parent();
}else if(settings[0].mouse_handler&&'.#'.indexOf(settings[0].mouse_handler.substring(0, 1))!=-1){
$targetLayers=$target.parents(settings[0].mouse_handler);
}else if(settings[0].mouse_type=='tilt'){
var $tilt_trigger=$target.parents('.trx_addons_tilt_trigger');
if($tilt_trigger.length > 0){
$targetLayers=$tilt_trigger.eq(0);
}}
$targetLayers.data('mouse-handler', settings[0].mouse_handler);
}
if(parallax_type.indexOf('layers') >=0){
if(init_type=='layers'){
self.create_layers();
}
if(animation_allowed){
if(! $targetLayers.attr('data-mousemove-' + target_id) ){
$targetLayers.attr('data-mousemove-' + target_id, target_id);
$targetLayers.on('mousemove.trx_addons_parallax', self.mouse_move_handler);
$targetLayers.on('mouseleave.trx_addons_parallax', self.mouse_leave_handler);
}
if(motion_list.length > 0){
$targetLayers.attr('data-motionmove-' + target_id, setInterval(self.motion_move_handler, motion_period) );
}}
}
if(parallax_type.indexOf('blocks') >=0){
settings[0].selector=$targetBlocks;
settings[0].hsection=$targetBlocks.parents('.sc_hscroll_section');
settings[0].hscroller=settings[0].hsection.length ? settings[0].hsection.parents('.sc_hscroll_scroller'):false;
if(settings[0].flow=='sticky'){	//$targetBlocks.hasClass('sc_parallax_sticky') ){
$targetBlocks.css('top',(100 - settings[0].range_start) + '%');
}
scroll_list.push(settings[0]);
settings[0].selector.addClass('trx_addons_parallax_blocks_need_start');
}
if(! GET_SIZES_ON_SCROLL){
self.get_blocks_sizes();
$document.on('action.init_hidden_elements action.hscroll_inited', self.get_blocks_sizes);
$document.on('action.sc_layouts_row_fixed_on action.sc_layouts_row_fixed_off', self.get_blocks_sizes);
$document.on('action.resize_trx_addons', self.get_blocks_sizes);
}
if(animation_allowed){
on_start_inited=false;
var on_start_init=trx_addons_throttle(function(){
if(! on_start_inited){
on_start_inited=true;
self.scroll_update(true);
setTimeout(function(){
self.scroll_handler();
}, 10);
}}, 100);
$document.on('action.resize_trx_addons action.scroll_trx_addons action.hscroll_inited', self.scroll_handler);
$document.on('action.resize_trx_addons action.scroll_trx_addons action.hscroll_inited action.init_hidden_elements action.sc_layouts_row_fixed_on action.sc_layouts_row_fixed_off', on_start_init);
}
return true;
};
self.remove_handlers=function($init_obj, force){
var found=$target.is($init_obj)||force;
if(found){
var id=$init_obj.data('id');
$init_obj.attr('style', '');
if($init_obj.attr('data-mousemove-' + id) ){
$init_obj.removeAttr('data-mousemove-' + id);
$init_obj.off('mousemove.trx_addons_parallax', self.mouse_move_handler);
$init_obj.off('mouseleave.trx_addons_parallax', self.mouse_leave_handler);
}
if($init_obj.attr('data-motionmove-' + id) ){
clearInterval($init_obj.attr('data-motionmove-' + id) );
$init_obj.removeAttr('data-motionmove-' + id);
}}
return found;
};
self.get_blocks_sizes=function(){
jQuery.each(scroll_list, function(index, block){
var hscroller_offset=block.hsection.length ? block.hscroller.data('hscroll-offset')||0:0;
var hsection_offset=block.hsection.length ? block.hsection.data('hscroll-section-offset')||0:0;
hscroller_offset +=hsection_offset;
if(! block.hasOwnProperty('sizes')||block.flow=='entrance'){
block.sizes={
width: block.selector.outerWidth(),
height: block.selector.outerHeight(),
top: block.selector.offset().top + hscroller_offset
};}
if(block.flow=='sticky'){	//block.selector.hasClass('sc_parallax_sticky') ){
var $parent=block.selector.parent();
block.sizes.parent_selector=$parent;
block.sizes.parent_height=$parent.length ? $parent.outerHeight():0;
block.sizes.parent_top=$parent.length ? $parent.offset().top + hscroller_offset:0;
}});
};
self.create_layers=function(){
$target.find('> .sc_parallax_block').remove();
var bg_parallax_present=false;
jQuery.each(settings, function(index, block){
var image=block['image'].url,
speed=block['speed'].size,
z_index=block['z_index'].size,
bg_size=block['bg_size'] ? block['bg_size']:'auto',
type=block['type'] ? block['type']:'none',
anim_prop=block['animation_prop']
?(['scroll', 'motion'].indexOf(type)!=-1&&block['animation_prop']!='background'
? 'transform'
: block['animation_prop']
)
: 'background',
left=block['left'].size,
top=block['top'].size,
motion_dir=block['motion_dir'] ? block['motion_dir']:'round',
motion_time=block['motion_time'] ? block['motion_time'].size:5,
tilt_amount=block['mouse_tilt_amount'] ? block['mouse_tilt_amount'].size:70,
mouse_handler=block['mouse_handler'] ? block['mouse_handler']:'row',
bg_parallax=block['bg_parallax']&&type=='scroll'&&anim_prop=='background' ? block['bg_parallax']:false,
$layout=null;
if(bg_parallax){
bg_parallax_present=true;
}
if(''!==image||'none'!==type){
var layout_init={
'z-index': z_index
};
if('none'===type){
layout_init['left']=left + '%';
layout_init['top']=top + '%';
}
$layout=jQuery('<div class="sc_parallax_block'
+ ' sc_parallax_block_type_' + type
+ ' sc_parallax_block_animation_' +(bg_parallax ? 'bg_parallax':anim_prop)
+ (is_safari ? ' is-safari':'')
+ ('MacIntel'==platform ? ' is-mac':'')
+ (typeof block['class']!=='undefined'&&block['class']!='' ? ' ' + block['class']:'')
+ '">'
+ '<div class="sc_parallax_block_image"'
+(bg_parallax
? ' parallax="' +(speed / 100) + '"'
: ''
)
+ '></div>'
+ '</div>')
.prependTo($target)
.css(layout_init);
layout_init={
'background-image': 'url(' + image + ')',
'background-size': bg_size,
'background-position-x': left + '%',
'background-position-y': top + '%'
};
$layout.find('> .sc_parallax_block_image').css(layout_init);
var layout_data={
selector: $layout,
image: image,
size: bg_size,
bg_parallax: bg_parallax,
prop: anim_prop,
type: type,
x: left,
y: top,
z: z_index,
speed: 2 *(speed / 100),
tilt_amount: tilt_amount,
mouse_handler: mouse_handler,
motion_dir: motion_dir,
motion_time: motion_time
};
if('scroll'===type){
layout_data.hsection=layout_data.selector.parents('.sc_hscroll_section');
layout_data.hscroller=layout_data.hsection.length ? layout_data.hsection.parents('.sc_hscroll_scroller'):false;
scroll_list.push(layout_data);
}else if('mouse'===type){
mouse_list.push(layout_data);
}else if('motion'===type){
motion_list.push(layout_data);
}}
});
if(bg_parallax_present){
trx_addons_bg_parallax($target.get(0));
}};
var in_out_last_state='';
self.get_block_params=function(block){
var params=trx_addons_object_merge( {}, parallax_bp_settings(block) );
if(typeof params.type=='undefined') params.type='object';
if(typeof params.flow=='undefined') params.flow='default';
if(typeof params.crop=='undefined') params.crop='none';
if(typeof params.range_start=='undefined') params.range_start=0;
if(typeof params.range_end=='undefined') params.range_end=40;
if(params.range_end <=params.range_start){
params.range_end=Math.min(100, params.range_start + params.range_end);
}
if(typeof params.sticky_offset=='undefined') params.sticky_offset=0;
if(params.flow=='entrance'){
params.range_end=100;
}else if(params.flow=='sticky'){
params.range_end=params.range_start;
}
if(typeof params.duration=='undefined') params.duration=1;
if(typeof params.delay=='undefined') params.delay=0;
if(typeof params.squeeze=='undefined') params.squeeze=1;
if(typeof params.ease=='undefined') params.ease="power2";
if(typeof params.transition=='undefined') params.transition=1;
if(typeof params.lag=='undefined') params.lag=0;
if(typeof params.x_start=='undefined') params.x_start=0;
if(typeof params.x_start_unit=='undefined') params.x_start_unit='px';
if(typeof params.x_end=='undefined') params.x_end=0;
if(typeof params.x_end_unit=='undefined') params.x_end_unit='px';
if(typeof params.y_start=='undefined') params.y_start=0;
if(typeof params.y_start_unit=='undefined') params.y_start_unit='px';
if(typeof params.y_end=='undefined') params.y_end=0;
if(typeof params.y_end_unit=='undefined') params.y_end_unit='px';
if(typeof params.scale_start=='undefined') params.scale_start=100;
if(typeof params.scale_end=='undefined') params.scale_end=100;
if(typeof params.rotate_start=='undefined') params.rotate_start=0;
if(typeof params.rotate_end=='undefined') params.rotate_end=0;
if(typeof params.opacity_start=='undefined') params.opacity_start=1;
if(typeof params.opacity_end=='undefined') params.opacity_end=1;
if(typeof params.crop_start=='undefined') params.crop_start=100;
if(typeof params.crop_end=='undefined') params.crop_end=100;
if(typeof params.blur_start=='undefined') params.blur_start=0;
if(typeof params.blur_end=='undefined') params.blur_end=0;
if(typeof params.backdrop_blur_start=='undefined') params.backdrop_blur_start=0;
if(typeof params.backdrop_blur_end=='undefined') params.backdrop_blur_end=0;
if(typeof params.text=='undefined') params.text='block';
if(typeof params.text_separate=='undefined') params.text_separate=0;
if(params.flow=='in_out'){
var w_top=wst + wh *(1 - params.range_end / 100),
w_bottom=wst + wh *(1 - params.range_start / 100),
obj_height=params.sizes.height,
obj_top=params.sizes.top +(ww < TRX_ADDONS_STORAGE['mobile_breakpoint_scroll_lag_off'] ? 0:params.lag),
obj_bottom=obj_top + obj_height;
if(w_top >=obj_bottom||in_out_last_state=='out'){
in_out_last_state=w_top >=obj_bottom ? 'out':'';
params.in_out_state='out';
params.force=w_top < obj_bottom;
params.range_start=params.range_end;
params.range_end=100;
params.x_start=0;
params.y_start=0;
params.scale_start=100;
params.rotate_start=0;
params.opacity_start=1;
params.crop_start=100;
params.crop=self.crop_reverse(params, 'out');
params.blur_start=0;
params.backdrop_blur_start=0;
}else if(w_bottom <=obj_top||in_out_last_state=='in'){
in_out_last_state=w_bottom <=obj_top ? 'in':'';
params.in_out_state='in';
params.force=w_bottom > obj_top;
params.range_end=params.range_start;
params.range_start=0;
params.x_end=0;
params.y_end=0;
params.scale_end=100;
params.rotate_end=0;
params.opacity_end=1;
params.crop_end=100;
params.crop=self.crop_reverse(params, 'in');
params.blur_end=0;
params.backdrop_blur_end=0;
}else{
params.in_out_state='';
params.x_start=params.x_end=0;
params.y_start=params.y_end=0;
params.scale_start=params.scale_end=100;
params.rotate_start=params.rotate_end=0;
params.opacity_start=params.opacity_end=1;
params.crop_start=params.crop_end=100;
params.blur_start=params.blur_end=0;
params.backdrop_blur_start=params.backdrop_blur_end=0;
}}
return params;
};
self.scroll_handler=function(e){
if(! animation_allowed){
return;
}
wst=trx_addons_window_scroll_top() + trx_addons_fixed_rows_height();
ww=trx_addons_window_width();
wh=trx_addons_window_height() - trx_addons_fixed_rows_height();
if(on_start_inited){
self.scroll_update();
}};
self.scroll_update=function(force){
if(GET_SIZES_ON_SCROLL){
self.get_blocks_sizes();
}
jQuery.each(scroll_list, function(index, block){
if(parallax_type.indexOf('layers') >=0){
if(( ! block.bg_parallax||block.prop!='background')&&block.speed!==undefined){
var $image=block.selector.find('.sc_parallax_block_image').eq(0),
speed=block.speed,
offset_top=block.sizes.top,
h=block.sizes.height,
y=(wst + wh - offset_top) / h * 100;
if(wst < offset_top - wh) y=0;
if(wst > offset_top + h)  y=200;
y=parseFloat(speed * y).toFixed(1);
if('background'===block.prop){
$image.css({
'background-position': block.x + '% calc(' + block.y + '% + ' + y + 'px)'
});
}else{
$image.css({
'transform': 'translateY(' + y + 'px)'
});
}}
}
if(parallax_type.indexOf('blocks') >=0){
var params=self.get_block_params(block);
var w_top=wst + wh *(1 - params.range_end / 100),
w_bottom=wst + wh *(1 - params.range_start / 100),
w_delta=params.flow=='entrance' ? 0:100,
obj=params.selector,
obj_width=params.sizes.width,
obj_height=params.sizes.height,
obj_top=params.sizes.top
+(ww < TRX_ADDONS_STORAGE['mobile_breakpoint_scroll_lag_off'] ? 0:params.lag),
obj_bottom=obj_top + obj_height,
parent_top=params.flow=='sticky'
? params.sizes.parent_top
: 0,
parent_bottom=params.flow=='sticky'
? parent_top + params.sizes.parent_height *(1 - params.sticky_offset / 100)
: 0;
var entrance_complete=obj.hasClass('sc_parallax_entrance_complete'),
bottom_delta=params.flow=='entrance'&&params.range_start==0
? wh *(1 - params.range_start / 100) / 10
: 0;
var obj_visible=true;
if(obj.data('inited')===undefined&&params.flow!='sticky'){
if(obj_top > w_bottom){
obj_top=w_bottom + w_delta - bottom_delta;
obj_visible=false;
}else if(obj_bottom < w_top){
obj_bottom=w_top - w_delta;
obj_visible=false;
}
obj.data('inited', 1);
}
if(( force||params.force)
||(! entrance_complete
&& w_top - w_delta <=(params.flow=='sticky'
? parent_bottom
:(params.flow=='in_out'&&params.in_out_state=='in'
? obj_top
: obj_bottom
)
)
&&(params.flow=='sticky'
? parent_top
:(params.flow=='in_out'&&params.in_out_state=='out'
? obj_bottom
: obj_top
)
) <=w_bottom + w_delta - bottom_delta
)
){
if(params.flow=='entrance'){
var entrance_start=false;
if(! obj.data('entrance-inited') ){
if(obj_bottom <=w_top - w_delta){
obj.addClass('sc_parallax_entrance_complete');
}else{
entrance_start=true;
}
obj.data('entrance-inited', 1);
}else if(! obj.hasClass('sc_parallax_entrance_complete')){
obj.addClass('sc_parallax_entrance_complete');
}}
var delta, shift;
if(params.flow=='entrance'){
delta=1;
shift=entrance_start ? 0:1;
}else if(params.flow=='sticky'){
var obj_anchor=obj_top + Math.round(obj_height *(100 - params.range_start) / 100);
delta=Math.max(1, parent_bottom - obj_bottom);
shift=Math.max(0, w_bottom - obj_anchor);
if(force){
block.selector.css('top', 'calc(' +(100 - params.range_start) + '% - ' +(obj_anchor - obj_top) + 'px)');
}}else if(params.flow=='in_out'){
delta=Math.max(1, wh *(params.range_end - params.range_start) / 100);
shift=w_bottom -(params.in_out_state=='in' ? obj_top:obj_bottom);
}else{
delta=Math.max(1, wh *(params.range_end - params.range_start) / 100 + obj_height);
shift=w_bottom - obj_top;
}
var x_start_in_px=params.x_start_unit=='px'||params.x_start_unit==params.x_end_unit ? params.x_start:trx_addons_units2px(params.x_start + params.x_start_unit, obj, 'x'),
x_end_in_px=params.x_end_unit=='px'||params.x_start_unit==params.x_end_unit ? params.x_end:trx_addons_units2px(params.x_end + params.x_end_unit, obj, 'x'),
y_start_in_px=params.y_start_unit=='px'||params.y_start_unit==params.y_end_unit ? params.y_start:trx_addons_units2px(params.y_start + params.y_start_unit, obj, 'y'),
y_end_in_px=params.y_end_unit=='px'||params.y_start_unit==params.y_end_unit ? params.y_end:trx_addons_units2px(params.y_end + params.y_end_unit, obj, 'y'),
step_x=x_start_in_px!=x_end_in_px ?(x_end_in_px - x_start_in_px) / delta:0,
step_y=y_start_in_px!=y_end_in_px ?(y_end_in_px - y_start_in_px) / delta:0,
step_scale=params.scale_start!=params.scale_end ?(params.scale_end - params.scale_start) / 100 / delta:0,
step_rotate=params.rotate_start!=params.rotate_end ?(params.rotate_end - params.rotate_start) / delta:0,
step_opacity=params.opacity_start!=params.opacity_end ?(params.opacity_end - params.opacity_start) / delta:0,
step_blur=params.blur_start!=params.blur_end ?(params.blur_end - params.blur_start) / delta:0,
step_backdrop_blur=params.backdrop_blur_start!=params.backdrop_blur_end ?(params.backdrop_blur_end - params.backdrop_blur_start) / delta:0,
step_crop = ! trx_addons_is_off(params.crop)&&params.crop_start!=params.crop_end ?(params.crop_end - params.crop_start) / delta:0;
var scroller_init={
overwrite: true,
ease: self.get_ease(params.flow=='entrance' ? params.ease:'power2')
},
val=false;
if(step_x!==0){
val=Math.round(x_start_in_px + shift * step_x);
if(x_start_in_px < x_end_in_px&&val < x_start_in_px||x_start_in_px > x_end_in_px&&val > x_start_in_px){
val=x_start_in_px;
}
if(x_start_in_px < x_end_in_px&&val > x_end_in_px||x_start_in_px > x_end_in_px&&val < x_end_in_px){
val=x_end_in_px;
}
scroller_init.x=val +(params.x_start_unit==params.x_end_unit ? params.x_start_unit:'px');
}
if(step_y!==0){
val=Math.round(y_start_in_px + shift * step_y);
if(y_start_in_px < y_end_in_px&&val < y_start_in_px||y_start_in_px > y_end_in_px&&val > y_start_in_px){
val=y_start_in_px;
}
if(y_start_in_px < y_end_in_px&&val > y_end_in_px||y_start_in_px > y_end_in_px&&val < y_end_in_px){
val=y_end_in_px;
}
scroller_init.y=val +(params.y_start_unit==params.y_end_unit ? params.y_start_unit:'px');
}
if(step_rotate!==0){
val=trx_addons_round_number(params.rotate_start + shift * step_rotate, 2);
if(params.rotate_start < params.rotate_end&&val < params.rotate_start||params.rotate_start > params.rotate_end&&val > params.rotate_start){
val=params.rotate_start;
}
if(params.rotate_start < params.rotate_end&&val > params.rotate_end||params.rotate_start > params.rotate_end&&val < params.rotate_end){
val=params.rotate_end;
}
scroller_init.rotation=val;
}
if(step_scale!==0){
val=trx_addons_round_number(params.scale_start / 100 + shift * step_scale, 2);
if(params.scale_start < params.scale_end&&val < params.scale_start / 100||params.scale_start > params.scale_end&&val > params.scale_start / 100){
val=params.scale_start / 100;
}
if(params.scale_start < params.scale_end&&val > params.scale_end / 100||params.scale_start > params.scale_end&&val < params.scale_end / 100){
val=params.scale_end / 100;
}
scroller_init.scale=val;
}
if(step_opacity!==0){
val=trx_addons_round_number(params.opacity_start + shift * step_opacity, 2);
if(params.opacity_start < params.opacity_end&&val < params.opacity_start||params.opacity_start > params.opacity_end&&val > params.opacity_start){
val=params.opacity_start;
}
if(params.opacity_start < params.opacity_end&&val > params.opacity_end||params.opacity_start > params.opacity_end&&val < params.opacity_end){
val=params.opacity_end;
}
scroller_init.opacity=Math.max(0, Math.min(1, val) );
}
if(step_blur!==0){
val=trx_addons_round_number(params.blur_start + shift * step_blur, 2);
if(params.blur_start < params.blur_end&&val < params.blur_start||params.blur_start > params.blur_end&&val > params.blur_start){
val=params.blur_start;
}
if(params.blur_start < params.blur_end&&val > params.blur_end||params.blur_start > params.blur_end&&val < params.blur_end){
val=params.blur_end;
}
scroller_init.filter='blur(' + Math.max(0, val) + ')';
}
if(step_backdrop_blur!==0){
val=trx_addons_round_number(params.backdrop_blur_start + shift * step_backdrop_blur, 2);
if(params.backdrop_blur_start < params.backdrop_blur_end&&val < params.backdrop_blur_start||params.backdrop_blur_start > params.backdrop_blur_end&&val > params.backdrop_blur_start){
val=params.backdrop_blur_start;
}
if(params.backdrop_blur_start < params.backdrop_blur_end&&val > params.backdrop_blur_end||params.backdrop_blur_start > params.backdrop_blur_end&&val < params.backdrop_blur_end){
val=params.backdrop_blur_end;
}
scroller_init.backdropFilter='blur(' + Math.max(0, val) + 'px)';
}
if(step_crop!==0){
val=trx_addons_round_number(params.crop_start + shift * step_crop, 2);
if(params.crop_start < params.crop_end&&val < params.crop_start||params.crop_start > params.crop_end&&val > params.crop_start){
val=params.crop_start;
}
if(params.crop_start < params.crop_end&&val > params.crop_end||params.crop_start > params.crop_end&&val < params.crop_end){
val=params.crop_end;
}
scroller_init.crop=Math.max(0, Math.min(100, val) );
scroller_init.onUpdate=function(t){
obj.css('clip-path', self.clip_path(obj.prop('crop'), params.crop, obj) );
};}
obj.data('trx-parallax-scroller-init', scroller_init);
if([ 'chars', 'words'].indexOf(params.text)!=-1&&obj.data('element_type')!==undefined){
var $inner_obj=parallax_text_prepare(obj, [params]);
if($inner_obj&&$inner_obj.length > 0){
$inner_obj.addClass('trx_addons_parallax_blocks_need_start');
obj.removeClass('trx_addons_parallax_blocks_need_start');
obj=$inner_obj;
}}
if(step_crop!==0){
obj.each(function(){
if(jQuery(this).prop('crop')===undefined){
jQuery(this).prop('crop', scroller_init.crop);
}});
}
var set_start_position=force;
if(val!==false){
var animate=function(){
obj.each(function(idx){
var duration=Math.max(0, params.duration);
if(( duration==0||(params.transition!==undefined&&! params.transition) )){
if(! obj.eq(idx).hasClass('trx_addons_no_transition') ){
obj.eq(idx).addClass('trx_addons_no_transition');
}}
if(idx===0||set_start_position){
TweenMax.to(obj.eq(idx), set_start_position ? 0:duration, scroller_init);
if(set_start_position&&! obj.eq(idx).hasClass('trx_addons_parallax_blocks_on_start') ){
obj.eq(idx).addClass('trx_addons_parallax_blocks_on_start');
}}else{
setTimeout(function(){
TweenMax.to(obj.eq(idx), duration, scroller_init);
},(params.text=='chars' ? 75:250) * idx * params.squeeze);
}});
};
if(params.flow=='entrance'&&params.delay > 0&&! entrance_start){
setTimeout(animate, params.delay * 1000);
}else{
animate();
}}else if(set_start_position){
obj.addClass('trx_addons_parallax_blocks_on_start');
}}
}});
};
self.crop_reverse=function(params, state){
var crop_in=params.crop_orig ? params.crop_orig:params.crop,
crop_out=crop_in;
if(state=='out'){
if(! params.crop_orig) params.crop_orig=crop_in;
if(crop_in=='wipe_left_right') crop_out='wipe_right_left';
else if(crop_in=='wipe_right_left') crop_out='wipe_left_right';
else if(crop_in=='wipe_top_bottom') crop_out='wipe_bottom_top';
else if(crop_in=='wipe_bottom_top') crop_out='wipe_top_bottom';
else if(crop_in=='corner_top_left') crop_out='corner_bottom_right';
else if(crop_in=='corner_top_right') crop_out='corner_bottom_left';
else if(crop_in=='corner_bottom_left') crop_out='corner_top_right';
else if(crop_in=='corner_bottom_right') crop_out='corner_top_left';
else if(crop_in=='box_left') crop_out='box_right';
else if(crop_in=='box_right') crop_out='box_left';
else if(crop_in=='box_top') crop_out='box_bottom';
else if(crop_in=='box_bottom') crop_out='box_top';
}
return state=='in' ? crop_in:crop_out;
};
self.clip_path=function(val, type, obj){
var clip='';
if(type=='circle'){
clip='circle(' + val + '% at center)';
}else if(type=='ellipse_hor'){
clip='ellipse(' + Math.min(100, val * 1.2) + '% ' + val + '% at center)';
}else if(type=='ellipse_ver'){
clip='ellipse(' + val + '% ' + Math.min(100, val * 2.5) + '% at center)';
}else{
var border_radius=obj.data('trx-addons-clip-border-radius')===undefined
? obj.find('>.elementor-widget-container').css('border-radius')
: obj.data('trx-addons-clip-border-radius');
if(obj.data('trx-addons-clip-border-radius')===undefined){
obj.data('trx-addons-clip-border-radius', border_radius);
}
var x_divider=['wipe_out_vertical', 'box_center', 'box_top', 'box_bottom'].indexOf(type)!=-1 ? 2:1;
var y_divider=['wipe_out_horizontal', 'box_center', 'box_left', 'box_right'].indexOf(type)!=-1 ? 2:1;
var shift_top=['wipe_bottom_top', 'wipe_out_horizontal', 'corner_bottom_left', 'corner_bottom_right', 'box_center', 'box_left', 'box_right', 'box_bottom'].indexOf(type)!=-1 ? 1:0;
var shift_bottom=['wipe_top_bottom', 'wipe_out_horizontal', 'corner_top_left', 'corner_top_right', 'box_center', 'box_left', 'box_right', 'box_top'].indexOf(type)!=-1 ? 1:0;
var shift_left=['wipe_right_left', 'wipe_out_vertical', 'corner_top_right', 'corner_bottom_right', 'box_center', 'box_top', 'box_right', 'box_bottom'].indexOf(type)!=-1 ? 1:0;
var shift_right=['wipe_left_right', 'wipe_out_vertical', 'corner_top_left', 'corner_bottom_left', 'box_center', 'box_top', 'box_left', 'box_bottom'].indexOf(type)!=-1 ? 1:0;
clip='inset('
+(shift_top ?(100 - val) / y_divider:0) + '% '
+(shift_right ?(100 - val) / x_divider:0) + '% '
+(shift_bottom ?(100 - val) / y_divider:0) + '% '
+(shift_left ?(100 - val) / x_divider:0) + '%'
+(parseFloat(border_radius) > 0 ? ' round ' + border_radius:'')
+ ')';
}
return clip;
};
self.mouse_move_handler=function(e){
if(tw===0){
tl=$targetLayers.offset().left;
tt=$targetLayers.offset().top;
tw=$targetLayers.width();
th=['window', 'content'].indexOf($targetLayers.data('mouse-handler'))!=-1
? Math.min(trx_addons_window_height(), $targetLayers.height())
: $targetLayers.height();
cx=Math.ceil(tw / 2);
cy=Math.ceil(th / 2);
}
wst=trx_addons_window_scroll_top() + trx_addons_fixed_rows_height();
ww=trx_addons_window_width();
wh=trx_addons_window_height() - trx_addons_fixed_rows_height();
dx=e.clientX - tl - cx;
dy=['window', 'content'].indexOf($targetLayers.data('mouse-handler'))!=-1
? e.clientY - cy
: e.clientY + wst - tt - cy;
tx=-1 *(dx / cx);
ty=-1 *(dy / cy);
jQuery.each(mouse_list, self.mouse_move_update);
};
self.mouse_leave_handler=function(e){
jQuery.each(mouse_list, function(index, block){
var $image=block.selector.find('.sc_parallax_block_image').eq(0);
if($image.length===0){
$image=block.selector;
}
var x=0, y=0, z=0;
var scroller_init=block.selector.data('trx-parallax-scroller-init');
if(scroller_init){
x=x * 1 + trx_addons_units2px(( scroller_init.css ? scroller_init.css.x:scroller_init.x)||0, block, 'x');
y=y * 1 + trx_addons_units2px(( scroller_init.css ? scroller_init.css.y:scroller_init.y)||0, block, 'y');
}
if(block.prop=='background'){
TweenMax.to($image,
1.5,
{
overwrite: true,
backgroundPositionX: block.x + '%',
backgroundPositionY: block.y + '%',
ease: Power2.easeOut
}
);
}else if(block.prop=='transform'){
TweenMax.to($image,
1.5,
{
overwrite: true,
x: x,
y: y,
ease:Power2.easeOut
}
);
}else if(block.prop=='transform3d'){
TweenMax.to($image,
1.5,
{
overwrite: true,
x: x,
y: y,
z: z,
rotationX: 0,
rotationY: 0,
ease:Power2.easeOut
}
);
}else if(block.prop=='tilt'){
TweenMax.to($image,
0.2,
{
overwrite: true,
x: x,
y: y,
z: z,
rotationX: 0,
rotationY: 0,
scale: 1,
transformPerspective: 1500,
ease:Power2.easeOut
}
);
}});
};
self.mouse_move_update=function(index, block, time, ease){
var	$image=block.selector.find('.sc_parallax_block_image').eq(0),
speed=block.speed,
x=parseFloat(tx * 125 * speed).toFixed(1),
y=parseFloat(ty * 125 * speed).toFixed(1),
z=block.z * 50,
rotate_x=parseFloat(tx * 25 * speed).toFixed(1),
rotate_y=parseFloat(ty * 25 * speed).toFixed(1);
var scroller_init=block.selector.data('trx-parallax-scroller-init');
if(scroller_init){
x=x * 1 + trx_addons_units2px(( scroller_init.css ? scroller_init.css.x:scroller_init.x)||0, block, 'x');
y=y * 1 + trx_addons_units2px(( scroller_init.css ? scroller_init.css.y:scroller_init.y)||0, block, 'y');
}
if($image.length===0){
$image=block.selector;
}
if(block.prop=='background'){
var bx=block.x * 1 + x / ww * 100,
by=block.y * 1 + y / wh * 100;
TweenMax.to($image,
time===undefined ? 1:time,
{
overwrite: true,
backgroundPositionX: bx + '%',	// 'calc(' + block.x + '%' +(x > 0 ? ' + ' + x:' - ' + Math.round(Math.abs(x) )) + 'px)',
backgroundPositionY: by + '%',	// 'calc(' + block.y + '%' +(y > 0 ? ' + ' + y:' - ' + Math.round(Math.abs(y) )) + 'px)',
ease: ease===undefined ? Power2.easeOut:ease
}
);
}else if(block.prop=='transform'){
TweenMax.to($image,
time===undefined ? 1:time,
{
overwrite: true,
x: x,
y: y,
ease: ease===undefined ? Power2.easeOut:ease
}
);
}else if(block.prop=='transform3d'){
TweenMax.to($image,
time===undefined ? 2:time,
{
overwrite: true,
x: x,
y: y,
z: z,
rotationX: rotate_y,
rotationY: -rotate_x,
ease: ease===undefined ? Power2.easeOut:ease
}
);
}else if(block.prop=='tilt'){
var m=block.tilt_amount > 0 ? block.tilt_amount:70,
k=['window', 'content'].indexOf($targetLayers.data('mouse-handler'))!=-1 ? 2:4;
z=Math.max(0, block.z);
if(isNaN(z)) z=0;
TweenMax.set($image,
{
transformOrigin: ((dx + cx) * 25 / tw + 40) + "% " + ((dy + cy) * 25 / th + 40) + "%",
transformPerspective: 1000 + 500 * z
}
);
TweenMax.to($image,
time===undefined ? 0.5:time,
{
overwrite: true,
rotationX:  dy /(m - k * z),	//(m - 2 * z)	//(m *(z + 2) / 2)
rotationY: -dx /(m - k * z),	//(m - 2 * z)	//(m *(z + 2) / 2)
y: ty * 2 * z,
x: tx * 2 * z,
z: 2 * z,
scale: 1 + z / 100,
ease: ease===undefined ? Power2.easeOut:ease
}
);
}};
self.motion_move_handler=function(){
if(tw===0){
tl=$targetLayers.offset().left;
tt=$targetLayers.offset().top;
tw=$targetLayers.width();
th=$targetLayers.height();
cx=Math.ceil(tw / 2);
cy=Math.ceil(th / 2);
}
jQuery.each(motion_list, function(index, block){
var fi,
delta=(( motion_period * motion_step) %(block['motion_time'] * 1000) ) /(block['motion_time'] * 1000),
angle=2 * Math.PI * delta;
if(block['motion_dir']=='round'){
fi=Math.atan2(tw / 2 * Math.sin(angle), th / 2 * Math.cos(angle));
dx=tw / 2 * Math.cos(fi);
dy=th / 2 * Math.sin(fi);
}else if(block['motion_dir']=='random'){
dx=-tw + tw * 2 * Math.random();
dy=-th + th * 2 * Math.random();
}else{
dx=block['motion_dir']=='vertical' ? 0:tw / 2 * Math.cos(angle);
dy=block['motion_dir']=='horizontal' ? 0:th / 2 * Math.sin(angle);
}
tx=-1 *(dx / cx);
ty=-1 *(dy / cy);
if(block['motion_dir']=='random'){
if(delta===0){
self.mouse_move_update(index, block, block['motion_time'], Power0.easeNone);
}}else{
self.mouse_move_update(index, block, block['motion_time'], block['motion_dir']=='round' ? Power0.easeNone:Power2.easeOut);
}});
motion_step++;
};
self.get_ease=function(name){
name=name.toLowerCase();
if(name=='none'||name=='line'||name=='linear'||name=='power0')
return Power0.easeNone;
else if(name=='power1')
return Power1.easeOut;
else if(name=='power2')
return Power2.easeOut;
else if(name=='power3')
return Power3.easeOut;
else if(name=='power4')
return Power4.easeOut;
else if(name=='back')
return Back.easeOut;
else if(name=='elastic')
return Elastic.easeOut;
else if(name=='bounce')
return Bounce.easeOut;
else if(name=='rough')
return Rough.easeOut;
else if(name=='slowmo')
return SlowMo.easeOut;
else if(name=='stepped')
return Stepped.easeOut;
else if(name=='circ')
return Circ.easeOut;
else if(name=='expo')
return Expo.easeOut;
else if(name=='sine')
return Sine.easeOut;
};};
window.trx_addons_bg_parallax=function(clip){
var parallax=clip.querySelectorAll('.sc_parallax_block_image[parallax]'),
parallaxDetails=[],
sticky=false;
var fixedPos=document.createElement('div');
fixedPos.style.position='fixed';
fixedPos.style.top='0';
fixedPos.style.width='1px';
fixedPos.style.height='1px';
fixedPos.style.zIndex=1;
document.body.insertBefore(fixedPos, document.body.firstChild);
for(var i=0; i < parallax.length; i++){
var elem=parallax[i];
var container=elem.parentNode;
if(getComputedStyle(container).overflow!='visible'){
console.error('Need non-scrollable container to apply perspective for', elem);
continue;
}
if(clip&&container.parentNode!=clip){
console.warn('Currently we only track a single overflow clip, but elements from multiple clips found.', elem);
}
clip=container.parentNode;
if(getComputedStyle(clip).overflow=='visible'){
console.error('Parent of sticky container should be scrollable element', elem);
}
var perspectiveElement;
if(sticky||getComputedStyle(clip).webkitOverflowScrolling){
sticky=true;
perspectiveElement=container;
}else{
perspectiveElement=clip;
container.style.transformStyle='preserve-3d';
}
perspectiveElement.style.perspectiveOrigin='bottom right';
perspectiveElement.style.perspective='1px';
if(sticky){
elem.style.position='-webkit-sticky';
elem.style.top='0';
}
elem.style.transformOrigin='bottom right';
var previousCover=parallax[i].previousElementSibling;
while (previousCover&&previousCover.hasAttribute('parallax')){
previousCover=previousCover.previousElementSibling;
}
var nextCover=parallax[i].nextElementSibling;
while (nextCover&&!nextCover.hasAttribute('parallax-cover')){
nextCover=nextCover.nextElementSibling;
}
parallaxDetails.push({
'node': parallax[i],
'top': parallax[i].offsetTop,
'sticky': !!sticky,
'nextCover': nextCover,
'previousCover': previousCover
});
}
for(i=0; i < parallax.length; i++){
parallax[i].parentNode.insertBefore(parallax[i], parallax[i].parentNode.firstChild);
}
clip.addEventListener('scroll', function(){
for (var i=0; i < parallaxDetails.length; i++){
var container=parallaxDetails[i].node.parentNode;
var previousCover=parallaxDetails[i].previousCover;
var nextCover=parallaxDetails[i].nextCover;
var parallaxStart=previousCover ? (previousCover.offsetTop + previousCover.offsetHeight):0;
var parallaxEnd=nextCover ? nextCover.offsetTop:container.offsetHeight;
var threshold=200;
var visible=parallaxStart - threshold - clip.clientHeight < clip.scrollTop &&
parallaxEnd + threshold > clip.scrollTop;
var display='block';
if(parallaxDetails[i].node.style.display!=display){
parallaxDetails[i].node.style.display=display;
}}
});
var bg_parallax_resize=function(details){
for (var i=0; i < details.length; i++){
var container=details[i].node.parentNode;
var clip=container.parentNode;
var previousCover=details[i].previousCover;
var nextCover=details[i].nextCover;
var rate=details[i].node.getAttribute('parallax');
var parallaxStart=previousCover ? (previousCover.offsetTop + previousCover.offsetHeight):0;
var scrollbarWidth=details[i].sticky ? 0:clip.offsetWidth - clip.clientWidth;
var parallaxElem=details[i].sticky ? container:clip;
var height=details[i].node.offsetHeight;
var depth=0;
if(rate){
depth=1 - (1 / rate);
}else{
var parallaxEnd=nextCover ? nextCover.offsetTop:container.offsetHeight;
depth=(height - parallaxEnd + parallaxStart) / (height - clip.clientHeight);
}
if(details[i].sticky){
depth=1.0 / depth;
}
var scale=1.0 / (1.0 - depth);
var dx=scrollbarWidth * (scale - 1);
var dy=details[i].sticky
? -(clip.scrollHeight - parallaxStart - height) * (1 - scale)
: (parallaxStart - depth * (height - clip.clientHeight)) * scale;
details[i].node.style.transform='scale(' + (1 - depth) + ') translate3d(' + dx + 'px, ' + dy + 'px, ' + depth + 'px)';
}};
window.addEventListener('resize', bg_parallax_resize.bind(null, parallaxDetails));
bg_parallax_resize(parallaxDetails);
};})();