;(function($){
var plugin={};
var defaults={
mode: 'horizontal',
slideSelector: '',
infiniteLoop: true,
hideControlOnEnd: false,
speed: 500,
easing: null,
slideMargin: 0,
startSlide: 0,
randomStart: false,
captions: false,
ticker: false,
tickerHover: false,
adaptiveHeight: false,
adaptiveHeightSpeed: 500,
video: false,
useCSS: false,
preloadImages: 'visible',
responsive: true,
touchEnabled: true,
swipeThreshold: 50,
oneToOneTouch: true,
preventDefaultSwipeX: true,
preventDefaultSwipeY: false,
pager: false,
pagerType: 'full',
pagerShortSeparator: ' / ',
pagerSelector: null,
buildPager: null,
pagerCustom: null,
controls: true,
nextText: 'Next',
prevText: 'Prev',
nextSelector: null,
prevSelector: null,
autoControls: false,
startText: 'Start',
stopText: 'Stop',
autoControlsCombine: false,
autoControlsSelector: null,
auto: true,
pause: 4000,
autoStart: true,
autoDirection: 'next',
autoHover: false,
autoDelay: 0,
minSlides: 4,
maxSlides: 4,
moveSlides: 1,
slideWidth: 200,
onSliderLoad: function(){},
onSlideBefore: function(){},
onSlideAfter: function(){},
onSlideNext: function(){},
onSlidePrev: function(){}}
$.fn.bxSlider=function(options){
if(this.length==0) return this;
if(this.length > 1){
this.each(function(){$(this).bxSlider(options)});
return this;
}
var slider={};
var el=this;
plugin.el=this;
var windowWidth=$(window).width();
var windowHeight=$(window).height();
var init=function(){
slider.settings=$.extend({}, defaults, options);
slider.settings.slideWidth=parseInt(slider.settings.slideWidth);
slider.children=el.children(slider.settings.slideSelector);
if(slider.children.length < slider.settings.minSlides) slider.settings.minSlides=slider.children.length;
if(slider.children.length < slider.settings.maxSlides) slider.settings.maxSlides=slider.children.length;
if(slider.settings.randomStart) slider.settings.startSlide=Math.floor(Math.random() * slider.children.length);
slider.active={ index: slider.settings.startSlide }
slider.carousel=slider.settings.minSlides > 1||slider.settings.maxSlides > 1;
if(slider.carousel) slider.settings.preloadImages='all';
slider.minThreshold=(slider.settings.minSlides * slider.settings.slideWidth) + ((slider.settings.minSlides - 1) * slider.settings.slideMargin);
slider.maxThreshold=(slider.settings.maxSlides * slider.settings.slideWidth) + ((slider.settings.maxSlides - 1) * slider.settings.slideMargin);
slider.working=false;
slider.controls={};
slider.interval=null;
slider.animProp=slider.settings.mode=='vertical' ? 'top':'left';
slider.usingCSS=slider.settings.useCSS&&slider.settings.mode!='fade'&&(function(){
var div=document.createElement('div');
var props=['WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];
for(var i in props){
if(div.style[props[i]]!==undefined){
slider.cssPrefix=props[i].replace('Perspective', '').toLowerCase();
slider.animProp='-' + slider.cssPrefix + '-transform';
return true;
}}
return false;
}());
if(slider.settings.mode=='vertical') slider.settings.maxSlides=slider.settings.minSlides;
el.data("origStyle", el.attr("style"));
el.children(slider.settings.slideSelector).each(function(){
$(this).data("origStyle", $(this).attr("style"));
});
setup();
}
var setup=function(){
el.wrap('<div class="bx-wrapper"><div class="bx-viewport"></div></div>');
slider.viewport=el.parent();
slider.loader=$('<div class="bx-loading" />');
slider.viewport.prepend(slider.loader);
el.css({
width: slider.settings.mode=='horizontal' ? (slider.children.length * 100 + 215) + '%':'auto',
position: 'relative'
});
if(slider.usingCSS&&slider.settings.easing){
el.css('-' + slider.cssPrefix + '-transition-timing-function', slider.settings.easing);
}else if(!slider.settings.easing){
slider.settings.easing='swing';
}
var slidesShowing=getNumberSlidesShowing();
slider.viewport.css({
width: '100%',
overflow: 'hidden',
position: 'relative'
});
slider.viewport.parent().css({
maxWidth: getViewportMaxWidth()
});
if(!slider.settings.pager){
slider.viewport.parent().css({
margin: '0 auto 0px'
});
}
slider.children.css({
'float': slider.settings.mode=='horizontal' ? 'left':'none',
listStyle: 'none',
position: 'relative'
});
slider.children.css('width', getSlideWidth());
if(slider.settings.mode=='horizontal'&&slider.settings.slideMargin > 0) slider.children.css('marginRight', slider.settings.slideMargin);
if(slider.settings.mode=='vertical'&&slider.settings.slideMargin > 0) slider.children.css('marginBottom', slider.settings.slideMargin);
if(slider.settings.mode=='fade'){
slider.children.css({
position: 'absolute',
zIndex: 0,
display: 'none'
});
slider.children.eq(slider.settings.startSlide).css({zIndex: 50, display: 'block'});
}
slider.controls.el=$('<div class="bx-controls" />');
if(slider.settings.captions) appendCaptions();
slider.active.last=slider.settings.startSlide==getPagerQty() - 1;
if(slider.settings.video) el.fitVids();
var preloadSelector=slider.children.eq(slider.settings.startSlide);
if(slider.settings.preloadImages=="all") preloadSelector=slider.children;
if(!slider.settings.ticker){
if(slider.settings.pager) appendPager();
if(slider.settings.controls) appendControls();
if(slider.settings.auto&&slider.settings.autoControls) appendControlsAuto();
if(slider.settings.controls||slider.settings.autoControls||slider.settings.pager) slider.viewport.after(slider.controls.el);
}else{
slider.settings.pager=false;
}
loadElements(preloadSelector, start);
}
var loadElements=function(selector, callback){
var total=selector.find('img, iframe').length;
if(total==0){
callback();
return;
}
var count=0;
selector.find('img, iframe').each(function(){
$(this).one('load', function(){
if(++count==total) callback();
}).each(function(){
if(this.complete) $(this).load();
});
});
}
var start=function(){
if(slider.settings.infiniteLoop&&slider.settings.mode!='fade'&&!slider.settings.ticker){
var slice=slider.settings.mode=='vertical' ? slider.settings.minSlides:slider.settings.maxSlides;
var sliceAppend=slider.children.slice(0, slice).clone().addClass('bx-clone');
var slicePrepend=slider.children.slice(-slice).clone().addClass('bx-clone');
el.append(sliceAppend).prepend(slicePrepend);
}
slider.loader.remove();
setSlidePosition();
if(slider.settings.mode=='vertical') slider.settings.adaptiveHeight=true;
slider.viewport.height(getViewportHeight());
el.redrawSlider();
slider.settings.onSliderLoad(slider.active.index);
slider.initialized=true;
if(slider.settings.responsive) $(window).bind('resize', resizeWindow);
if(slider.settings.auto&&slider.settings.autoStart) initAuto();
if(slider.settings.ticker) initTicker();
if(slider.settings.pager) updatePagerActive(slider.settings.startSlide);
if(slider.settings.controls) updateDirectionControls();
if(slider.settings.touchEnabled&&!slider.settings.ticker) initTouch();
}
var getViewportHeight=function(){
var height=0;
var children=$();
if(slider.settings.mode!='vertical'&&!slider.settings.adaptiveHeight){
children=slider.children;
}else{
if(!slider.carousel){
children=slider.children.eq(slider.active.index);
}else{
var currentIndex=slider.settings.moveSlides==1 ? slider.active.index:slider.active.index * getMoveBy();
children=slider.children.eq(currentIndex);
for (i=1; i <=slider.settings.maxSlides - 1; i++){
if(currentIndex + i >=slider.children.length){
children=children.add(slider.children.eq(i - 1));
}else{
children=children.add(slider.children.eq(currentIndex + i));
}}
}}
if(slider.settings.mode=='vertical'){
children.each(function(index){
height +=$(this).outerHeight();
});
if(slider.settings.slideMargin > 0){
height +=slider.settings.slideMargin * (slider.settings.minSlides - 1);
}}else{
height=Math.max.apply(Math, children.map(function(){
return $(this).outerHeight(false);
}).get());
}
return height;
}
var getViewportMaxWidth=function(){
var width='100%';
if(slider.settings.slideWidth > 0){
if(slider.settings.mode=='horizontal'){
width=(slider.settings.maxSlides * slider.settings.slideWidth) + ((slider.settings.maxSlides - 1) * slider.settings.slideMargin);
}else{
width=slider.settings.slideWidth;
}}
return width;
}
var getSlideWidth=function(){
var newElWidth=slider.settings.slideWidth;
var wrapWidth=slider.viewport.width();
if(slider.settings.slideWidth==0 ||
(slider.settings.slideWidth > wrapWidth&&!slider.carousel) ||
slider.settings.mode=='vertical'){
newElWidth=wrapWidth;
}else if(slider.settings.maxSlides > 1&&slider.settings.mode=='horizontal'){
if(wrapWidth > slider.maxThreshold){
}else if(wrapWidth < slider.minThreshold){
newElWidth=(wrapWidth - (slider.settings.slideMargin * (slider.settings.minSlides - 1))) / slider.settings.minSlides;
}}
return newElWidth;
}
var getNumberSlidesShowing=function(){
var slidesShowing=1;
if(slider.settings.mode=='horizontal'&&slider.settings.slideWidth > 0){
if(slider.viewport.width() < slider.minThreshold){
slidesShowing=slider.settings.minSlides;
}else if(slider.viewport.width() > slider.maxThreshold){
slidesShowing=slider.settings.maxSlides;
}else{
var childWidth=slider.children.first().width();
slidesShowing=Math.floor(slider.viewport.width() / childWidth);
}}else if(slider.settings.mode=='vertical'){
slidesShowing=slider.settings.minSlides;
}
return slidesShowing;
}
var getPagerQty=function(){
var pagerQty=0;
if(slider.settings.moveSlides > 0){
if(slider.settings.infiniteLoop){
pagerQty=slider.children.length / getMoveBy();
}else{
var breakPoint=0;
var counter=0
while (breakPoint < slider.children.length){
++pagerQty;
breakPoint=counter + getNumberSlidesShowing();
counter +=slider.settings.moveSlides <=getNumberSlidesShowing() ? slider.settings.moveSlides:getNumberSlidesShowing();
}}
}else{
pagerQty=Math.ceil(slider.children.length / getNumberSlidesShowing());
}
return pagerQty;
}
var getMoveBy=function(){
if(slider.settings.moveSlides > 0&&slider.settings.moveSlides <=getNumberSlidesShowing()){
return slider.settings.moveSlides;
}
return getNumberSlidesShowing();
}
var setSlidePosition=function(){
if(slider.children.length > slider.settings.maxSlides&&slider.active.last&&!slider.settings.infiniteLoop){
if(slider.settings.mode=='horizontal'){
var lastChild=slider.children.last();
var position=lastChild.position();
setPositionProperty(-(position.left - (slider.viewport.width() - lastChild.width())), 'reset', 0);
}else if(slider.settings.mode=='vertical'){
var lastShowingIndex=slider.children.length - slider.settings.minSlides;
var position=slider.children.eq(lastShowingIndex).position();
setPositionProperty(-position.top, 'reset', 0);
}}else{
var position=slider.children.eq(slider.active.index * getMoveBy()).position();
if(slider.active.index==getPagerQty() - 1) slider.active.last=true;
if(position!=undefined){
if(slider.settings.mode=='horizontal') setPositionProperty(-position.left, 'reset', 0);
else if(slider.settings.mode=='vertical') setPositionProperty(-position.top, 'reset', 0);
}}
}
var setPositionProperty=function(value, type, duration, params){
if(slider.usingCSS){
var propValue=slider.settings.mode=='vertical' ? 'translate3d(0, ' + value + 'px, 0)':'translate3d(' + value + 'px, 0, 0)';
el.css('-' + slider.cssPrefix + '-transition-duration', duration / 1000 + 's');
if(type=='slide'){
el.css(slider.animProp, propValue);
el.bind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd', function(){
el.unbind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd');
updateAfterSlideTransition();
});
}else if(type=='reset'){
el.css(slider.animProp, propValue);
}else if(type=='ticker'){
el.css('-' + slider.cssPrefix + '-transition-timing-function', 'linear');
el.css(slider.animProp, propValue);
el.bind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd', function(){
el.unbind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd');
setPositionProperty(params['resetValue'], 'reset', 0);
tickerLoop();
});
}}else{
var animateObj={};
animateObj[slider.animProp]=value;
if(type=='slide'){
el.animate(animateObj, duration, slider.settings.easing, function(){
updateAfterSlideTransition();
});
}else if(type=='reset'){
el.css(slider.animProp, value)
}else if(type=='ticker'){
el.animate(animateObj, speed, 'linear', function(){
setPositionProperty(params['resetValue'], 'reset', 0);
tickerLoop();
});
}}
}
var populatePager=function(){
var pagerHtml='';
var pagerQty=getPagerQty();
for(var i=0; i < pagerQty; i++){
var linkContent='';
if(slider.settings.buildPager&&$.isFunction(slider.settings.buildPager)){
linkContent=slider.settings.buildPager(i);
slider.pagerEl.addClass('bx-custom-pager');
}else{
linkContent=i + 1;
slider.pagerEl.addClass('bx-default-pager');
}
pagerHtml +='<div class="bx-pager-item"><a href="" data-slide-index="' + i + '" class="bx-pager-link">' + linkContent + '</a></div>';
};
slider.pagerEl.html(pagerHtml);
}
var appendPager=function(){
if(!slider.settings.pagerCustom){
slider.pagerEl=$('<div class="bx-pager" />');
if(slider.settings.pagerSelector){
$(slider.settings.pagerSelector).html(slider.pagerEl);
}else{
slider.controls.el.addClass('bx-has-pager').append(slider.pagerEl);
}
populatePager();
}else{
slider.pagerEl=$(slider.settings.pagerCustom);
}
slider.pagerEl.delegate('a', 'click', clickPagerBind);
}
var appendControls=function(){
slider.controls.next=$('<a class="bx-next" href="">' + slider.settings.nextText + '</a>');
slider.controls.prev=$('<a class="bx-prev" href="">' + slider.settings.prevText + '</a>');
slider.controls.next.bind('click', clickNextBind);
slider.controls.prev.bind('click', clickPrevBind);
if(slider.settings.nextSelector){
$(slider.settings.nextSelector).append(slider.controls.next);
}
if(slider.settings.prevSelector){
$(slider.settings.prevSelector).append(slider.controls.prev);
}
if(!slider.settings.nextSelector&&!slider.settings.prevSelector){
slider.controls.directionEl=$('<div class="bx-controls-direction" />');
slider.controls.directionEl.append(slider.controls.prev).append(slider.controls.next);
slider.controls.el.addClass('bx-has-controls-direction').append(slider.controls.directionEl);
}}
var appendControlsAuto=function(){
slider.controls.start=$('<div class="bx-controls-auto-item"><a class="bx-start" href="">' + slider.settings.startText + '</a></div>');
slider.controls.stop=$('<div class="bx-controls-auto-item"><a class="bx-stop" href="">' + slider.settings.stopText + '</a></div>');
slider.controls.autoEl=$('<div class="bx-controls-auto" />');
slider.controls.autoEl.delegate('.bx-start', 'click', clickStartBind);
slider.controls.autoEl.delegate('.bx-stop', 'click', clickStopBind);
if(slider.settings.autoControlsCombine){
slider.controls.autoEl.append(slider.controls.start);
}else{
slider.controls.autoEl.append(slider.controls.start).append(slider.controls.stop);
}
if(slider.settings.autoControlsSelector){
$(slider.settings.autoControlsSelector).html(slider.controls.autoEl);
}else{
slider.controls.el.addClass('bx-has-controls-auto').append(slider.controls.autoEl);
}
updateAutoControls(slider.settings.autoStart ? 'stop':'start');
}
var appendCaptions=function(){
slider.children.each(function(index){
var title=$(this).find('img:first').attr('title');
if(title!=undefined&&('' + title).length){
$(this).append('<div class="bx-caption"><span>' + title + '</span></div>');
}});
}
var clickNextBind=function(e){
if(slider.settings.auto) el.stopAuto();
el.goToNextSlide();
e.preventDefault();
}
var clickPrevBind=function(e){
if(slider.settings.auto) el.stopAuto();
el.goToPrevSlide();
e.preventDefault();
}
var clickStartBind=function(e){
el.startAuto();
e.preventDefault();
}
var clickStopBind=function(e){
el.stopAuto();
e.preventDefault();
}
var clickPagerBind=function(e){
if(slider.settings.auto) el.stopAuto();
var pagerLink=$(e.currentTarget);
var pagerIndex=parseInt(pagerLink.attr('data-slide-index'));
if(pagerIndex!=slider.active.index) el.goToSlide(pagerIndex);
e.preventDefault();
}
var updatePagerActive=function(slideIndex){
var len=slider.children.length;
if(slider.settings.pagerType=='short'){
if(slider.settings.maxSlides > 1){
len=Math.ceil(slider.children.length/slider.settings.maxSlides);
}
slider.pagerEl.html((slideIndex + 1) + slider.settings.pagerShortSeparator + len);
return;
}
slider.pagerEl.find('a').removeClass('active');
slider.pagerEl.each(function(i, el){ $(el).find('a').eq(slideIndex).addClass('active'); });
}
var updateAfterSlideTransition=function(){
if(slider.settings.infiniteLoop){
var position='';
if(slider.active.index==0){
position=slider.children.eq(0).position();
}else if(slider.active.index==getPagerQty() - 1&&slider.carousel){
position=slider.children.eq((getPagerQty() - 1) * getMoveBy()).position();
}else if(slider.active.index==slider.children.length - 1){
position=slider.children.eq(slider.children.length - 1).position();
}
if(slider.settings.mode=='horizontal'){ setPositionProperty(-position.left, 'reset', 0);; }
else if(slider.settings.mode=='vertical'){ setPositionProperty(-position.top, 'reset', 0);; }}
slider.working=false;
slider.settings.onSlideAfter(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index);
}
var updateAutoControls=function(state){
if(slider.settings.autoControlsCombine){
slider.controls.autoEl.html(slider.controls[state]);
}else{
slider.controls.autoEl.find('a').removeClass('active');
slider.controls.autoEl.find('a:not(.bx-' + state + ')').addClass('active');
}}
var updateDirectionControls=function(){
if(getPagerQty()==1){
slider.controls.prev.addClass('disabled');
slider.controls.next.addClass('disabled');
}else if(!slider.settings.infiniteLoop&&slider.settings.hideControlOnEnd){
if(slider.active.index==0){
slider.controls.prev.addClass('disabled');
slider.controls.next.removeClass('disabled');
}else if(slider.active.index==getPagerQty() - 1){
slider.controls.next.addClass('disabled');
slider.controls.prev.removeClass('disabled');
}else{
slider.controls.prev.removeClass('disabled');
slider.controls.next.removeClass('disabled');
}}
}
var initAuto=function(){
if(slider.settings.autoDelay > 0){
var timeout=setTimeout(el.startAuto, slider.settings.autoDelay);
}else{
el.startAuto();
}
if(slider.settings.autoHover){
el.hover(function(){
if(slider.interval){
el.stopAuto(true);
slider.autoPaused=true;
}}, function(){
if(slider.autoPaused){
el.startAuto(true);
slider.autoPaused=null;
}});
}}
var initTicker=function(){
var startPosition=0;
if(slider.settings.autoDirection=='next'){
el.append(slider.children.clone().addClass('bx-clone'));
}else{
el.prepend(slider.children.clone().addClass('bx-clone'));
var position=slider.children.first().position();
startPosition=slider.settings.mode=='horizontal' ? -position.left:-position.top;
}
setPositionProperty(startPosition, 'reset', 0);
slider.settings.pager=false;
slider.settings.controls=false;
slider.settings.autoControls=false;
if(slider.settings.tickerHover&&!slider.usingCSS){
slider.viewport.hover(function(){
el.stop();
}, function(){
var totalDimens=0;
slider.children.each(function(index){
totalDimens +=slider.settings.mode=='horizontal' ? $(this).outerWidth(true):$(this).outerHeight(true);
});
var ratio=slider.settings.speed / totalDimens;
var property=slider.settings.mode=='horizontal' ? 'left':'top';
var newSpeed=ratio * (totalDimens - (Math.abs(parseInt(el.css(property)))));
tickerLoop(newSpeed);
});
}
tickerLoop();
}
var tickerLoop=function(resumeSpeed){
speed=resumeSpeed ? resumeSpeed:slider.settings.speed;
var position={left: 0, top: 0};
var reset={left: 0, top: 0};
if(slider.settings.autoDirection=='next'){
position=el.find('.bx-clone').first().position();
}else{
reset=slider.children.first().position();
}
var animateProperty=slider.settings.mode=='horizontal' ? -position.left:-position.top;
var resetValue=slider.settings.mode=='horizontal' ? -reset.left:-reset.top;
var params={resetValue: resetValue};
setPositionProperty(animateProperty, 'ticker', speed, params);
}
var initTouch=function(){
slider.touch={
start: {x: 0, y: 0},
end: {x: 0, y: 0}}
slider.viewport.bind('touchstart', onTouchStart);
}
var onTouchStart=function(e){
if(slider.working){
e.preventDefault();
}else{
slider.touch.originalPos=el.position();
var orig=e.originalEvent;
slider.touch.start.x=orig.changedTouches[0].pageX;
slider.touch.start.y=orig.changedTouches[0].pageY;
slider.viewport.bind('touchmove', onTouchMove);
slider.viewport.bind('touchend', onTouchEnd);
}}
var onTouchMove=function(e){
var orig=e.originalEvent;
var xMovement=Math.abs(orig.changedTouches[0].pageX - slider.touch.start.x);
var yMovement=Math.abs(orig.changedTouches[0].pageY - slider.touch.start.y);
if((xMovement * 3) > yMovement&&slider.settings.preventDefaultSwipeX){
e.preventDefault();
}else if((yMovement * 3) > xMovement&&slider.settings.preventDefaultSwipeY){
e.preventDefault();
}
if(slider.settings.mode!='fade'&&slider.settings.oneToOneTouch){
var value=0;
if(slider.settings.mode=='horizontal'){
var change=orig.changedTouches[0].pageX - slider.touch.start.x;
value=slider.touch.originalPos.left + change;
}else{
var change=orig.changedTouches[0].pageY - slider.touch.start.y;
value=slider.touch.originalPos.top + change;
}
setPositionProperty(value, 'reset', 0);
}}
var onTouchEnd=function(e){
slider.viewport.unbind('touchmove', onTouchMove);
var orig=e.originalEvent;
var value=0;
slider.touch.end.x=orig.changedTouches[0].pageX;
slider.touch.end.y=orig.changedTouches[0].pageY;
if(slider.settings.mode=='fade'){
var distance=Math.abs(slider.touch.start.x - slider.touch.end.x);
if(distance >=slider.settings.swipeThreshold){
slider.touch.start.x > slider.touch.end.x ? el.goToNextSlide():el.goToPrevSlide();
el.stopAuto();
}}else{
var distance=0;
if(slider.settings.mode=='horizontal'){
distance=slider.touch.end.x - slider.touch.start.x;
value=slider.touch.originalPos.left;
}else{
distance=slider.touch.end.y - slider.touch.start.y;
value=slider.touch.originalPos.top;
}
if(!slider.settings.infiniteLoop&&((slider.active.index==0&&distance > 0)||(slider.active.last&&distance < 0))){
setPositionProperty(value, 'reset', 200);
}else{
if(Math.abs(distance) >=slider.settings.swipeThreshold){
distance < 0 ? el.goToNextSlide():el.goToPrevSlide();
el.stopAuto();
}else{
setPositionProperty(value, 'reset', 200);
}}
}
slider.viewport.unbind('touchend', onTouchEnd);
}
var resizeWindow=function(e){
var windowWidthNew=$(window).width();
var windowHeightNew=$(window).height();
if(windowWidth!=windowWidthNew||windowHeight!=windowHeightNew){
windowWidth=windowWidthNew;
windowHeight=windowHeightNew;
el.redrawSlider();
}}
el.goToSlide=function(slideIndex, direction){
if(slider.working||slider.active.index==slideIndex) return;
slider.working=true;
slider.oldIndex=slider.active.index;
if(slideIndex < 0){
slider.active.index=getPagerQty() - 1;
}else if(slideIndex >=getPagerQty()){
slider.active.index=0;
}else{
slider.active.index=slideIndex;
}
slider.settings.onSlideBefore(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index);
if(direction=='next'){
slider.settings.onSlideNext(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index);
}else if(direction=='prev'){
slider.settings.onSlidePrev(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index);
}
slider.active.last=slider.active.index >=getPagerQty() - 1;
if(slider.settings.pager) updatePagerActive(slider.active.index);
if(slider.settings.controls) updateDirectionControls();
if(slider.settings.mode=='fade'){
if(slider.settings.adaptiveHeight&&slider.viewport.height()!=getViewportHeight()){
slider.viewport.animate({height: getViewportHeight()}, slider.settings.adaptiveHeightSpeed);
}
slider.children.filter(':visible').fadeOut(slider.settings.speed).css({zIndex: 0});
slider.children.eq(slider.active.index).css('zIndex', 51).fadeIn(slider.settings.speed, function(){
$(this).css('zIndex', 50);
updateAfterSlideTransition();
});
}else{
if(slider.settings.adaptiveHeight&&slider.viewport.height()!=getViewportHeight()){
slider.viewport.animate({height: getViewportHeight()}, slider.settings.adaptiveHeightSpeed);
}
var moveBy=0;
var position={left: 0, top: 0};
if(!slider.settings.infiniteLoop&&slider.carousel&&slider.active.last){
if(slider.settings.mode=='horizontal'){
var lastChild=slider.children.eq(slider.children.length - 1);
position=lastChild.position();
moveBy=slider.viewport.width() - lastChild.outerWidth();
}else{
var lastShowingIndex=slider.children.length - slider.settings.minSlides;
position=slider.children.eq(lastShowingIndex).position();
}}else if(slider.carousel&&slider.active.last&&direction=='prev'){
var eq=slider.settings.moveSlides==1 ? slider.settings.maxSlides - getMoveBy():((getPagerQty() - 1) * getMoveBy()) - (slider.children.length - slider.settings.maxSlides);
var lastChild=el.children('.bx-clone').eq(eq);
position=lastChild.position();
}else if(direction=='next'&&slider.active.index==0){
position=el.find('> .bx-clone').eq(slider.settings.maxSlides).position();
slider.active.last=false;
}else if(slideIndex >=0){
var requestEl=slideIndex * getMoveBy();
position=slider.children.eq(requestEl).position();
}
if("undefined"!==typeof(position)){
var value=slider.settings.mode=='horizontal' ? -(position.left - moveBy):-position.top;
setPositionProperty(value, 'slide', slider.settings.speed);
}}
}
el.goToNextSlide=function(){
if(!slider.settings.infiniteLoop&&slider.active.last) return;
var pagerIndex=parseInt(slider.active.index) + 1;
el.goToSlide(pagerIndex, 'next');
}
el.goToPrevSlide=function(){
if(!slider.settings.infiniteLoop&&slider.active.index==0) return;
var pagerIndex=parseInt(slider.active.index) - 1;
el.goToSlide(pagerIndex, 'prev');
}
el.startAuto=function(preventControlUpdate){
if(slider.interval) return;
slider.interval=setInterval(function(){
slider.settings.autoDirection=='next' ? el.goToNextSlide():el.goToPrevSlide();
}, slider.settings.pause);
if(slider.settings.autoControls&&preventControlUpdate!=true) updateAutoControls('stop');
}
el.stopAuto=function(preventControlUpdate){
if(!slider.interval) return;
clearInterval(slider.interval);
slider.interval=null;
if(slider.settings.autoControls&&preventControlUpdate!=true) updateAutoControls('start');
}
el.getCurrentSlide=function(){
return slider.active.index;
}
el.getSlideCount=function(){
return slider.children.length;
}
el.redrawSlider=function(){
slider.children.add(el.find('.bx-clone')).outerWidth(getSlideWidth());
slider.viewport.css('height', getViewportHeight());
if(!slider.settings.ticker) setSlidePosition();
if(slider.active.last) slider.active.index=getPagerQty() - 1;
if(slider.active.index >=getPagerQty()) slider.active.last=true;
if(slider.settings.pager&&!slider.settings.pagerCustom){
populatePager();
updatePagerActive(slider.active.index);
}}
el.destroySlider=function(){
if(!slider.initialized) return;
slider.initialized=false;
$('.bx-clone', this).remove();
slider.children.each(function(){
$(this).data("origStyle")!=undefined ? $(this).attr("style", $(this).data("origStyle")):$(this).removeAttr('style');
});
$(this).data("origStyle")!=undefined ? this.attr("style", $(this).data("origStyle")):$(this).removeAttr('style');
$(this).unwrap().unwrap();
if(slider.controls.el) slider.controls.el.remove();
if(slider.controls.next) slider.controls.next.remove();
if(slider.controls.prev) slider.controls.prev.remove();
if(slider.pagerEl) slider.pagerEl.remove();
$('.bx-caption', this).remove();
if(slider.controls.autoEl) slider.controls.autoEl.remove();
clearInterval(slider.interval);
if(slider.settings.responsive) $(window).unbind('resize', resizeWindow);
}
el.reloadSlider=function(settings){
if(settings!=undefined) options=settings;
el.destroySlider();
init();
}
init();
return this;
}})(jQuery);
(()=>{"use strict";var e,r,_,a={},n={};function __webpack_require__(e){var r=n[e];if(void 0!==r)return r.exports;var _=n[e]={exports:{}};return a[e](_,_.exports,__webpack_require__),_.exports}__webpack_require__.m=a,e=[],__webpack_require__.O=(r,_,a,n)=>{if(!_){var c=1/0;for(o=0;o<e.length;o++){for(var[_,a,n]=e[o],i=!0,t=0;t<_.length;t++)(!1&n||c>=n)&&Object.keys(__webpack_require__.O).every((e=>__webpack_require__.O[e](_[t])))?_.splice(t--,1):(i=!1,n<c&&(c=n));if(i){e.splice(o--,1);var b=a();void 0!==b&&(r=b)}}return r}n=n||0;for(var o=e.length;o>0&&e[o-1][2]>n;o--)e[o]=e[o-1];e[o]=[_,a,n]},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((r,_)=>(__webpack_require__.f[_](e,r),r)),[])),__webpack_require__.u=e=>714===e?"code-highlight.28a979661569ddbbf60d.bundle.min.js":721===e?"video-playlist.20d0d34e5188d18f240e.bundle.min.js":256===e?"paypal-button.3d0d5af7df85963df32c.bundle.min.js":156===e?"stripe-button.7c183c3003a91f048606.bundle.min.js":241===e?"progress-tracker.e19e2547639d7d9dac17.bundle.min.js":26===e?"animated-headline.ffb4bb4ce1b16b11446d.bundle.min.js":534===e?"media-carousel.0ff23fb71c8407fa6255.bundle.min.js":369===e?"carousel.36aa659d3ca597704333.bundle.min.js":804===e?"countdown.b0ef6392ec4ff09ca2f2.bundle.min.js":888===e?"hotspot.6ab1751404c381bfe390.bundle.min.js":680===e?"form.72b77b99d67b130634d2.bundle.min.js":121===e?"gallery.9c61bb9957e10e6d7bda.bundle.min.js":288===e?"lottie.147bf20db94f86cc4295.bundle.min.js":42===e?"nav-menu.3de49ba5ef86f9a22ff5.bundle.min.js":50===e?"popup.483b906ddaa1af17ff14.bundle.min.js":985===e?"load-more.80eb3caec79a44347d74.bundle.min.js":287===e?"posts.4e0ec95059abf8573a38.bundle.min.js":824===e?"portfolio.c62d64841537ab8eb283.bundle.min.js":58===e?"share-buttons.0bdd88c45462dfb2b073.bundle.min.js":114===e?"slides.8e4c7cc58ad39c5630ac.bundle.min.js":443===e?"social.2d2e44e8608690943f29.bundle.min.js":838===e?"table-of-contents.a695231ee79a390b7620.bundle.min.js":685===e?"archive-posts.bf30b7cf2d022d6e0828.bundle.min.js":858===e?"search-form.a396372f407d3c16a0ef.bundle.min.js":102===e?"woocommerce-menu-cart.37905d32f638831bc09d.bundle.min.js":1===e?"woocommerce-purchase-summary.46445ab1120a8c28c05c.bundle.min.js":124===e?"woocommerce-checkout-page.b18af78282979b6f74e4.bundle.min.js":859===e?"woocommerce-cart.fc30c6cb753d4098eff5.bundle.min.js":979===e?"woocommerce-my-account.3ee10d01e625dad87f73.bundle.min.js":497===e?"woocommerce-notices.da27b22c491f7cbe9158.bundle.min.js":void 0,__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},_="elementor-pro:",__webpack_require__.l=(e,a,n,c)=>{if(r[e])r[e].push(a);else{var i,t;if(void 0!==n)for(var b=document.getElementsByTagName("script"),o=0;o<b.length;o++){var u=b[o];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==_+n){i=u;break}}i||(t=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,__webpack_require__.nc&&i.setAttribute("nonce",__webpack_require__.nc),i.setAttribute("data-webpack",_+n),i.src=e),r[e]=[a];var onScriptComplete=(_,a)=>{i.onerror=i.onload=null,clearTimeout(d);var n=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach((e=>e(a))),_)return _(a)},d=setTimeout(onScriptComplete.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=onScriptComplete.bind(null,i.onerror),i.onload=onScriptComplete.bind(null,i.onload),t&&document.head.appendChild(i)}},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var r=__webpack_require__.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var _=r.getElementsByTagName("script");_.length&&(e=_[_.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={396:0};__webpack_require__.f.j=(r,_)=>{var a=__webpack_require__.o(e,r)?e[r]:void 0;if(0!==a)if(a)_.push(a[2]);else if(396!=r){var n=new Promise(((_,n)=>a=e[r]=[_,n]));_.push(a[2]=n);var c=__webpack_require__.p+__webpack_require__.u(r),i=new Error;__webpack_require__.l(c,(_=>{if(__webpack_require__.o(e,r)&&(0!==(a=e[r])&&(e[r]=void 0),a)){var n=_&&("load"===_.type?"missing":_.type),c=_&&_.target&&_.target.src;i.message="Loading chunk "+r+" failed.\n("+n+": "+c+")",i.name="ChunkLoadError",i.type=n,i.request=c,a[1](i)}}),"chunk-"+r,r)}else e[r]=0},__webpack_require__.O.j=r=>0===e[r];var webpackJsonpCallback=(r,_)=>{var a,n,[c,i,t]=_,b=0;if(c.some((r=>0!==e[r]))){for(a in i)__webpack_require__.o(i,a)&&(__webpack_require__.m[a]=i[a]);if(t)var o=t(__webpack_require__)}for(r&&r(_);b<c.length;b++)n=c[b],__webpack_require__.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return __webpack_require__.O(o)},r=self.webpackChunkelementor_pro=self.webpackChunkelementor_pro||[];r.forEach(webpackJsonpCallback.bind(null,0)),r.push=webpackJsonpCallback.bind(null,r.push.bind(r))})()})();
(self.webpackChunkelementor_pro=self.webpackChunkelementor_pro||[]).push([[819],{2:(e,t,n)=>{"use strict";var s=n(3203);n(4242);var i=s(n(4774)),o=s(n(9575)),r=s(n(6254)),a=s(n(5161)),l=s(n(5039)),c=s(n(9210));class ElementorProFrontend extends elementorModules.ViewModule{onInit(){super.onInit(),this.config=ElementorProFrontendConfig,this.modules={}}bindEvents(){jQuery(window).on("elementor/frontend/init",this.onElementorFrontendInit.bind(this))}initModules(){let e={motionFX:i.default,sticky:o.default,codeHighlight:r.default,videoPlaylist:a.default,payments:l.default,progressTracker:c.default};elementorProFrontend.trigger("elementor-pro/modules/init:before"),elementorProFrontend.trigger("elementor-pro/modules/init/before"),e=elementorFrontend.hooks.applyFilters("elementor-pro/frontend/handlers",e),jQuery.each(e,((e,t)=>{this.modules[e]=new t})),this.modules.linkActions={addAction:function(){elementorFrontend.utils.urlActions.addAction(...arguments)}}}onElementorFrontendInit(){this.initModules()}}window.elementorProFrontend=new ElementorProFrontend},4242:(e,t,n)=>{"use strict";n.p=ElementorProFrontendConfig.urls.assets+"js/"},6254:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("code-highlight",(()=>n.e(714).then(n.bind(n,8604))))}}t.default=_default},4774:(e,t,n)=>{"use strict";var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n(3515));class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("global",i.default,null)}}t.default=_default},3515:(e,t,n)=>{"use strict";var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n(5469));class _default extends elementorModules.frontend.handlers.Base{__construct(){super.__construct(...arguments),this.toggle=elementorFrontend.debounce(this.toggle,200)}getDefaultSettings(){return{selectors:{container:".elementor-widget-container"}}}getDefaultElements(){const e=this.getSettings("selectors");return{$container:this.$element.find(e.container)}}bindEvents(){elementorFrontend.elements.$window.on("resize",this.toggle)}unbindEvents(){elementorFrontend.elements.$window.off("resize",this.toggle)}addCSSTransformEvents(){this.getElementSettings("motion_fx_motion_fx_scrolling")&&!this.isTransitionEventAdded&&(this.isTransitionEventAdded=!0,this.elements.$container.on("mouseenter",(()=>{this.elements.$container.css("--e-transform-transition-duration","")})))}initEffects(){this.effects={translateY:{interaction:"scroll",actions:["translateY"]},translateX:{interaction:"scroll",actions:["translateX"]},rotateZ:{interaction:"scroll",actions:["rotateZ"]},scale:{interaction:"scroll",actions:["scale"]},opacity:{interaction:"scroll",actions:["opacity"]},blur:{interaction:"scroll",actions:["blur"]},mouseTrack:{interaction:"mouseMove",actions:["translateXY"]},tilt:{interaction:"mouseMove",actions:["tilt"]}}}prepareOptions(e){const t=this.getElementSettings(),n="motion_fx"===e?"element":"background",s={};jQuery.each(t,((n,i)=>{const o=new RegExp("^"+e+"_(.+?)_effect"),r=n.match(o);if(!r||!i)return;const a={},l=r[1];jQuery.each(t,((t,n)=>{const s=new RegExp(e+"_"+l+"_(.+)"),i=t.match(s);if(!i)return;"effect"!==i[1]&&("object"==typeof n&&(n=Object.keys(n.sizes).length?n.sizes:n.size),a[i[1]]=n)}));const c=this.effects[l],d=c.interaction;s[d]||(s[d]={}),c.actions.forEach((e=>s[d][e]=a))}));let i,o=this.$element;const r=this.getElementType();if("element"===n&&!["section","container"].includes(r)){let e;i=o,e="column"===r?elementorFrontend.config.legacyMode.elementWrappers?".elementor-column-wrap":".elementor-widget-wrap":".elementor-widget-container",o=o.find("> "+e)}const a={type:n,interactions:s,elementSettings:t,$element:o,$dimensionsElement:i,refreshDimensions:this.isEdit,range:t[e+"_range"],classes:{element:"elementor-motion-effects-element",parent:"elementor-motion-effects-parent",backgroundType:"elementor-motion-effects-element-type-background",container:"elementor-motion-effects-container",layer:"elementor-motion-effects-layer",perspective:"elementor-motion-effects-perspective"}};return a.range||"fixed"!==this.getCurrentDeviceSetting("_position")||(a.range="page"),"fixed"===this.getCurrentDeviceSetting("_position")&&(a.isFixedPosition=!0),"background"===n&&"column"===this.getElementType()&&(a.addBackgroundLayerTo=" > .elementor-element-populated"),a}activate(e){const t=this.prepareOptions(e);jQuery.isEmptyObject(t.interactions)||(this[e]=new i.default(t))}deactivate(e){this[e]&&(this[e].destroy(),delete this[e])}toggle(){const e=elementorFrontend.getCurrentDeviceMode(),t=this.getElementSettings();["motion_fx","background_motion_fx"].forEach((n=>{const s=t[n+"_devices"];(!s||-1!==s.indexOf(e))&&(t[n+"_motion_fx_scrolling"]||t[n+"_motion_fx_mouse"])?this[n]?this.refreshInstance(n):this.activate(n):this.deactivate(n)}))}refreshInstance(e){const t=this[e];if(!t)return;const n=this.prepareOptions(e);t.setSettings(n),t.refresh()}onInit(){super.onInit(),this.initEffects(),this.addCSSTransformEvents(),this.toggle()}onElementChange(e){if(/motion_fx_((scrolling)|(mouse)|(devices))$/.test(e))return"motion_fx_motion_fx_scrolling"===e&&this.addCSSTransformEvents(),void this.toggle();const t=e.match(".*?(motion_fx|_transform)");if(t){const e=t[0].match("(_transform)")?"motion_fx":t[0];this.refreshInstance(e),this[e]||this.activate(e)}/^_position/.test(e)&&["motion_fx","background_motion_fx"].forEach((e=>{this.refreshInstance(e)}))}onDestroy(){super.onDestroy(),["motion_fx","background_motion_fx"].forEach((e=>{this.deactivate(e)}))}}t.default=_default},2292:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{getMovePointFromPassedPercents(e,t){return+(t/e*100).toFixed(2)}getEffectValueFromMovePoint(e,t){return e*t/100}getStep(e,t){return"element"===this.getSettings("type")?this.getElementStep(e,t):this.getBackgroundStep(e,t)}getElementStep(e,t){return-(e-50)*t.speed}getBackgroundStep(e,t){const n=this.getSettings("dimensions.movable"+t.axis.toUpperCase());return-this.getEffectValueFromMovePoint(n,e)}getDirectionMovePoint(e,t,n){let s;return e<n.start?"out-in"===t?s=0:"in-out"===t?s=100:(s=this.getMovePointFromPassedPercents(n.start,e),"in-out-in"===t&&(s=100-s)):e<n.end?"in-out-in"===t?s=0:"out-in-out"===t?s=100:(s=this.getMovePointFromPassedPercents(n.end-n.start,e-n.start),"in-out"===t&&(s=100-s)):"in-out"===t?s=0:"out-in"===t?s=100:(s=this.getMovePointFromPassedPercents(100-n.end,100-e),"in-out-in"===t&&(s=100-s)),s}translateX(e,t){e.axis="x",e.unit="px",this.transform("translateX",t,e)}translateY(e,t){e.axis="y",e.unit="px",this.transform("translateY",t,e)}translateXY(e,t,n){this.translateX(e,t),this.translateY(e,n)}tilt(e,t,n){const s={speed:e.speed/10,direction:e.direction};this.rotateX(s,n),this.rotateY(s,100-t)}rotateX(e,t){e.axis="x",e.unit="deg",this.transform("rotateX",t,e)}rotateY(e,t){e.axis="y",e.unit="deg",this.transform("rotateY",t,e)}rotateZ(e,t){e.unit="deg",this.transform("rotateZ",t,e)}scale(e,t){const n=this.getDirectionMovePoint(t,e.direction,e.range);this.updateRulePart("transform","scale",1+e.speed*n/1e3)}transform(e,t,n){n.direction&&(t=100-t),this.updateRulePart("transform",e,this.getStep(t,n)+n.unit)}setCSSTransformVariables(e){this.CSSTransformVariables=[],jQuery.each(e,((e,t)=>{const n=e.match(/_transform_(.+?)_effect/m);if(n&&t){if("perspective"===n[1])return void this.CSSTransformVariables.unshift(n[1]);if(this.CSSTransformVariables.includes(n[1]))return;this.CSSTransformVariables.push(n[1])}}))}opacity(e,t){const n=this.getDirectionMovePoint(t,e.direction,e.range),s=e.level/10,i=1-s+this.getEffectValueFromMovePoint(s,n);this.$element.css({opacity:i,"will-change":"opacity"})}blur(e,t){const n=this.getDirectionMovePoint(t,e.direction,e.range),s=e.level-this.getEffectValueFromMovePoint(e.level,n);this.updateRulePart("filter","blur",s+"px")}updateRulePart(e,t,n){this.rulesVariables[e]||(this.rulesVariables[e]={}),this.rulesVariables[e][t]||(this.rulesVariables[e][t]=!0,this.updateRule(e));const s=`--${t}`;this.$element[0].style.setProperty(s,n)}updateRule(e){let t="";t+=this.concatTransformCSSProperties(e),t+=this.concatTransformMotionEffectCSSProperties(e),this.$element.css(e,t)}concatTransformCSSProperties(e){let t="";return"transform"===e&&jQuery.each(this.CSSTransformVariables,((e,n)=>{const s=n;n.startsWith("flip")&&(n=n.replace("flip","scale"));const i=n.startsWith("rotate")||n.startsWith("skew")?"deg":"px",o=n.startsWith("scale")?1:0+i;t+=`${n}(var(--e-transform-${s}, ${o}))`})),t}concatTransformMotionEffectCSSProperties(e){let t="";return jQuery.each(this.rulesVariables[e],(e=>{t+=`${e}(var(--${e}))`})),t}runAction(e,t,n){t.affectedRange&&(t.affectedRange.start>n&&(n=t.affectedRange.start),t.affectedRange.end<n&&(n=t.affectedRange.end));for(var s=arguments.length,i=new Array(s>3?s-3:0),o=3;o<s;o++)i[o-3]=arguments[o];this[e](t,n,...i)}refresh(){this.rulesVariables={},this.CSSTransformVariables=[],this.$element.css({transform:"",filter:"",opacity:"","will-change":""})}onInit(){this.$element=this.getSettings("$targetElement"),this.refresh()}}t.default=_default},371:(e,t,n)=>{"use strict";var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n(3231));class _default extends elementorModules.ViewModule{constructor(){super(...arguments),(0,i.default)(this,"onInsideViewport",(()=>{this.run(),this.animationFrameRequest=requestAnimationFrame(this.onInsideViewport)}))}__construct(e){this.motionFX=e.motionFX,this.intersectionObservers||this.setElementInViewportObserver()}setElementInViewportObserver(){this.intersectionObserver=elementorModules.utils.Scroll.scrollObserver({callback:e=>{e.isInViewport?this.onInsideViewport():this.removeAnimationFrameRequest()}});const e="page"===this.motionFX.getSettings("range")?elementorFrontend.elements.$body[0]:this.motionFX.elements.$parent[0];this.intersectionObserver.observe(e)}runCallback(){this.getSettings("callback")(...arguments)}removeIntersectionObserver(){this.intersectionObserver&&this.intersectionObserver.unobserve(this.motionFX.elements.$parent[0])}removeAnimationFrameRequest(){this.animationFrameRequest&&cancelAnimationFrame(this.animationFrameRequest)}destroy(){this.removeAnimationFrameRequest(),this.removeIntersectionObserver()}onInit(){super.onInit()}}t.default=_default},3802:(e,t,n)=>{"use strict";var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n(371));class MouseMoveInteraction extends i.default{bindEvents(){MouseMoveInteraction.mouseTracked||(elementorFrontend.elements.$window.on("mousemove",MouseMoveInteraction.updateMousePosition),MouseMoveInteraction.mouseTracked=!0)}run(){const e=MouseMoveInteraction.mousePosition,t=this.oldMousePosition;if(t.x===e.x&&t.y===e.y)return;this.oldMousePosition={x:e.x,y:e.y};const n=100/innerWidth*e.x,s=100/innerHeight*e.y;this.runCallback(n,s)}onInit(){this.oldMousePosition={},super.onInit()}}t.default=MouseMoveInteraction,MouseMoveInteraction.mousePosition={},MouseMoveInteraction.updateMousePosition=e=>{MouseMoveInteraction.mousePosition={x:e.clientX,y:e.clientY}}},5931:(e,t,n)=>{"use strict";var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n(371));class _default extends i.default{run(){if(pageYOffset===this.windowScrollTop)return!1;this.onScrollMovement(),this.windowScrollTop=pageYOffset}onScrollMovement(){this.updateMotionFxDimensions(),this.updateAnimation(),this.resetTransitionVariable()}resetTransitionVariable(){this.motionFX.$element.css("--e-transform-transition-duration","100ms")}updateMotionFxDimensions(){this.motionFX.getSettings().refreshDimensions&&this.motionFX.defineDimensions()}updateAnimation(){let e;e="page"===this.motionFX.getSettings("range")?elementorModules.utils.Scroll.getPageScrollPercentage():this.motionFX.getSettings("isFixedPosition")?elementorModules.utils.Scroll.getPageScrollPercentage({},window.innerHeight):elementorModules.utils.Scroll.getElementViewportPercentage(this.motionFX.elements.$parent),this.runCallback(e)}}t.default=_default},5469:(e,t,n)=>{"use strict";var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n(5931)),o=s(n(3802)),r=s(n(2292));class _default extends elementorModules.ViewModule{getDefaultSettings(){return{type:"element",$element:null,$dimensionsElement:null,addBackgroundLayerTo:null,interactions:{},refreshDimensions:!1,range:"viewport",classes:{element:"motion-fx-element",parent:"motion-fx-parent",backgroundType:"motion-fx-element-type-background",container:"motion-fx-container",layer:"motion-fx-layer",perspective:"motion-fx-perspective"}}}bindEvents(){this.defineDimensions=this.defineDimensions.bind(this),elementorFrontend.elements.$window.on("resize elementor-pro/motion-fx/recalc",this.defineDimensions)}unbindEvents(){elementorFrontend.elements.$window.off("resize elementor-pro/motion-fx/recalc",this.defineDimensions)}addBackgroundLayer(){const e=this.getSettings();this.elements.$motionFXContainer=jQuery("<div>",{class:e.classes.container}),this.elements.$motionFXLayer=jQuery("<div>",{class:e.classes.layer}),this.updateBackgroundLayerSize(),this.elements.$motionFXContainer.prepend(this.elements.$motionFXLayer);(e.addBackgroundLayerTo?this.$element.find(e.addBackgroundLayerTo):this.$element).prepend(this.elements.$motionFXContainer)}removeBackgroundLayer(){this.elements.$motionFXContainer.remove()}updateBackgroundLayerSize(){const e=this.getSettings(),t={x:0,y:0},n=e.interactions.mouseMove,s=e.interactions.scroll;n&&n.translateXY&&(t.x=10*n.translateXY.speed,t.y=10*n.translateXY.speed),s&&(s.translateX&&(t.x=10*s.translateX.speed),s.translateY&&(t.y=10*s.translateY.speed)),this.elements.$motionFXLayer.css({width:100+t.x+"%",height:100+t.y+"%"})}defineDimensions(){const e=this.getSettings("$dimensionsElement")||this.$element,t=e.offset(),n={elementHeight:e.outerHeight(),elementWidth:e.outerWidth(),elementTop:t.top,elementLeft:t.left};n.elementRange=n.elementHeight+innerHeight,this.setSettings("dimensions",n),"background"===this.getSettings("type")&&this.defineBackgroundLayerDimensions()}defineBackgroundLayerDimensions(){const e=this.getSettings("dimensions");e.layerHeight=this.elements.$motionFXLayer.height(),e.layerWidth=this.elements.$motionFXLayer.width(),e.movableX=e.layerWidth-e.elementWidth,e.movableY=e.layerHeight-e.elementHeight,this.setSettings("dimensions",e)}initInteractionsTypes(){this.interactionsTypes={scroll:i.default,mouseMove:o.default}}prepareSpecialActions(){const e=this.getSettings(),t=!(!e.interactions.mouseMove||!e.interactions.mouseMove.tilt);this.elements.$parent.toggleClass(e.classes.perspective,t)}cleanSpecialActions(){const e=this.getSettings();this.elements.$parent.removeClass(e.classes.perspective)}runInteractions(){var e=this;const t=this.getSettings();this.actions.setCSSTransformVariables(t.elementSettings),this.prepareSpecialActions(),jQuery.each(t.interactions,((t,n)=>{this.interactions[t]=new this.interactionsTypes[t]({motionFX:this,callback:function(){for(var t=arguments.length,s=new Array(t),i=0;i<t;i++)s[i]=arguments[i];jQuery.each(n,((t,n)=>e.actions.runAction(t,n,...s)))}}),this.interactions[t].run()}))}destroyInteractions(){this.cleanSpecialActions(),jQuery.each(this.interactions,((e,t)=>t.destroy())),this.interactions={}}refresh(){this.actions.setSettings(this.getSettings()),"background"===this.getSettings("type")&&(this.updateBackgroundLayerSize(),this.defineBackgroundLayerDimensions()),this.actions.refresh(),this.destroyInteractions(),this.runInteractions()}destroy(){this.destroyInteractions(),this.actions.refresh();const e=this.getSettings();this.$element.removeClass(e.classes.element),this.elements.$parent.removeClass(e.classes.parent),"background"===e.type&&(this.$element.removeClass(e.classes.backgroundType),this.removeBackgroundLayer())}onInit(){super.onInit();const e=this.getSettings();this.$element=e.$element,this.elements.$parent=this.$element.parent(),this.$element.addClass(e.classes.element),this.elements.$parent=this.$element.parent(),this.elements.$parent.addClass(e.classes.parent),"background"===e.type&&(this.$element.addClass(e.classes.backgroundType),this.addBackgroundLayer()),this.defineDimensions(),e.$targetElement="element"===e.type?this.$element:this.elements.$motionFXLayer,this.interactions={},this.actions=new r.default(e),this.initInteractionsTypes(),this.runInteractions()}}t.default=_default},5039:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("paypal-button",(()=>n.e(256).then(n.bind(n,4452)))),elementorFrontend.elementsHandler.attachHandler("stripe-button",(()=>n.e(156).then(n.bind(n,7121))))}}t.default=_default},9210:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("progress-tracker",(()=>n.e(241).then(n.bind(n,2177))))}}t.default=_default},9575:(e,t,n)=>{"use strict";var s=n(3203);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n(2090));class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("section",i.default,null),elementorFrontend.elementsHandler.attachHandler("container",i.default,null),elementorFrontend.elementsHandler.attachHandler("widget",i.default,null)}}t.default=_default},2090:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=elementorModules.frontend.handlers.Base.extend({currentConfig:{},debouncedReactivate:null,bindEvents(){elementorFrontend.addListenerOnce(this.getUniqueHandlerID()+"sticky","resize",this.reactivateOnResize)},unbindEvents(){elementorFrontend.removeListeners(this.getUniqueHandlerID()+"sticky","resize",this.reactivateOnResize)},isStickyInstanceActive(){return void 0!==this.$element.data("sticky")},getResponsiveSetting(e){const t=this.getElementSettings();return elementorFrontend.getCurrentDeviceSetting(t,e)},getResponsiveSettingList:e=>["",...Object.keys(elementorFrontend.config.responsive.activeBreakpoints)].map((t=>t?`${e}_${t}`:e)),getConfig(){const e=this.getElementSettings(),t={to:e.sticky,offset:this.getResponsiveSetting("sticky_offset"),effectsOffset:this.getResponsiveSetting("sticky_effects_offset"),classes:{sticky:"elementor-sticky",stickyActive:"elementor-sticky--active elementor-section--handles-inside",stickyEffects:"elementor-sticky--effects",spacer:"elementor-sticky__spacer"},isRTL:elementorFrontend.config.is_rtl,handleScrollbarWidth:elementorFrontend.isEditMode()},n=elementorFrontend.elements.$wpAdminBar;return e.sticky_parent&&(t.parent=".e-container, .elementor-widget-wrap"),n.length&&"top"===e.sticky&&"fixed"===n.css("position")&&(t.offset+=n.height()),this.$element[0].parentElement?.classList.contains("e-container")?t.relativeTarget="document":t.relativeTarget="parent",t},activate(){this.currentConfig=this.getConfig(),this.$element.sticky(this.currentConfig)},deactivate(){this.isStickyInstanceActive()&&this.$element.sticky("destroy")},run(e){if(this.getElementSettings("sticky")){var t=elementorFrontend.getCurrentDeviceMode();-1!==this.getElementSettings("sticky_on").indexOf(t)?!0===e?this.reactivate():this.isStickyInstanceActive()||this.activate():this.deactivate()}else this.deactivate()},reactivateOnResize(){clearTimeout(this.debouncedReactivate),this.debouncedReactivate=setTimeout((()=>{const e=this.getConfig();JSON.stringify(e)!==JSON.stringify(this.currentConfig)&&this.run(!0)}),300)},reactivate(){this.deactivate(),this.activate()},onElementChange(e){-1!==["sticky","sticky_on"].indexOf(e)&&this.run(!0);-1!==[...this.getResponsiveSettingList("sticky_offset"),...this.getResponsiveSettingList("sticky_effects_offset"),"sticky_parent"].indexOf(e)&&this.reactivate()},onDeviceModeChange(){setTimeout((()=>this.run(!0)))},onInit(){elementorModules.frontend.handlers.Base.prototype.onInit.apply(this,arguments),elementorFrontend.isEditMode()&&elementor.listenTo(elementor.channels.deviceMode,"change",(()=>this.onDeviceModeChange())),this.run()},onDestroy(){elementorModules.frontend.handlers.Base.prototype.onDestroy.apply(this,arguments),this.deactivate()}});t.default=n},5161:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.hooks.addAction("frontend/element_ready/video-playlist.default",(e=>{n.e(721).then(n.bind(n,1580)).then((t=>{let{default:n}=t;elementorFrontend.elementsHandler.addHandler(n,{$element:e,toggleSelf:!1})}))}))}}t.default=_default},3231:e=>{e.exports=function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},e.exports.__esModule=!0,e.exports.default=e.exports},3203:e=>{e.exports=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports}},e=>{var t;t=2,e(e.s=t)}]);