(function (){
'use strict';
var CHEVRON_PREV='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 25"><path d="M15.5 5 8.5 12.5 15.5 20" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>';
var CHEVRON_NEXT='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 25"><path d="M9.5 5 16.5 12.5 9.5 20" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>';
function doInitLiveSlider(el){
el.setAttribute('data-ecs-swiper-init', '1');
var settings=JSON.parse(el.getAttribute('data-ecs-slider-settings')||'{}');
if(settings.navigation){
settings.navigation={
prevEl: el.querySelector('.elementor-swiper-button-prev'),
nextEl: el.querySelector('.elementor-swiper-button-next'),
};}
if(settings.pagination){
settings.pagination.el=el.querySelector('.swiper-pagination');
}
new Swiper(el, settings);
}
function initLiveSlider(el){
if(el.hasAttribute('data-ecs-swiper-init') ){
return;
}
if(el.offsetWidth===0&&typeof ResizeObserver!=='undefined'){
el.setAttribute('data-ecs-swiper-init', 'pending');
var ro=new ResizeObserver(function(entries){
if(entries[ 0 ].contentRect.width > 0){
ro.disconnect();
el.removeAttribute('data-ecs-swiper-init');
doInitLiveSlider(el);
}});
ro.observe(el);
return;
}
doInitLiveSlider(el);
}
function initAllLiveSliders(){
document.querySelectorAll('.ecs-swiper:not([data-ecs-swiper-init])').forEach(initLiveSlider);
}
function getEditorSettings(containerId){
try {
return window.parent.elementor.getContainer(containerId).settings.toJSON();
} catch(e){
return {};}}
function buildSwiperConfig(s){
var navigation=s.ecs_navigation||'arrows';
var showArrows=navigation==='arrows'||navigation==='both';
var showDots=navigation==='dots'||navigation==='both';
var colsDesktop=parseInt(s.ecs_slider_columns, 10)||1;
var colsTablet=parseInt(s.ecs_slider_columns_tablet, 10)||colsDesktop;
var colsMobile=parseInt(s.ecs_slider_columns_mobile, 10)||colsTablet;
var layoutTablet=s.ecs_container_type_tablet||'';
var layoutMobile=s.ecs_container_type_mobile||'';
var config={
slidesPerView: colsDesktop,
loop:          s.ecs_loop==='yes',
speed:         parseInt(s.ecs_speed, 10)||500,
spaceBetween:  parseInt(s.ecs_space_between, 10)||0,
breakpoints: {
0: {
slidesPerView: colsMobile,
enabled: layoutMobile!=='flex'&&layoutMobile!=='grid',
},
768: {
slidesPerView: colsTablet,
enabled: layoutTablet!=='flex'&&layoutTablet!=='grid',
},
1025: {
slidesPerView: colsDesktop,
enabled: true,
},
},
};
if(s.ecs_autoplay==='yes'){
config.autoplay={
delay:                parseInt(s.ecs_autoplay_speed, 10)||3000,
pauseOnMouseEnter:    s.ecs_pause_on_hover==='yes',
disableOnInteraction: false,
};}
return { config: config, showArrows: showArrows, showDots: showDots };}
function destroyEditorSlider(containerEl){
var existing=containerEl.querySelector(':scope > .ecs-editor-swiper');
if(existing){
var inner=containerEl.querySelector(':scope > .e-con-inner');
var scope=inner||containerEl;
existing.querySelectorAll(':scope > .swiper-wrapper > .swiper-slide:not(.swiper-slide-duplicate)').forEach(function(slide){
var child=Array.from(slide.children).find(function(el){
return el.dataset&&el.dataset.id;
});
if(child){
scope.appendChild(child);
}});
if(existing.swiper){
existing.swiper.destroy(true, true);
}
existing.remove();
}
containerEl.classList.remove('ecs-editor-slider-active');
containerEl.removeAttribute('data-ecs-slider-key');
containerEl.removeAttribute('data-ecs-rebuild-key');
}
function sliderKey(children){
return children.map(function(el){ return el.getAttribute('data-id'); }).join(',');
}
function rebuildKey(built){
return(built.showArrows ? 'a':'') +(built.showDots ? 'd':'');
}
function buildEditorSlider(containerEl){
var id=containerEl.getAttribute('data-id');
var settings=getEditorSettings(id);
var inner=containerEl.querySelector(':scope > .e-con-inner');
var scope=inner||containerEl;
var children=Array.from(scope.children).filter(function(el){
return el.dataset&&el.dataset.id;
});
if(! children.length){
return;
}
var built=buildSwiperConfig(settings);
built.config.loop=false;
var swiperEl=document.createElement('div');
swiperEl.className='swiper ecs-swiper ecs-editor-swiper';
var wrapperEl=document.createElement('div');
wrapperEl.className='swiper-wrapper';
children.forEach(function(child){
var slide=document.createElement('div');
slide.className='swiper-slide';
slide.appendChild(child);
wrapperEl.appendChild(slide);
});
swiperEl.appendChild(wrapperEl);
if(built.showArrows){
swiperEl.insertAdjacentHTML('beforeend',
'<div class="elementor-swiper-button elementor-swiper-button-prev" role="button" tabindex="0">' + CHEVRON_PREV + '</div>' +
'<div class="elementor-swiper-button elementor-swiper-button-next" role="button" tabindex="0">' + CHEVRON_NEXT + '</div>'
);
built.config.navigation={
prevEl: swiperEl.querySelector('.elementor-swiper-button-prev'),
nextEl: swiperEl.querySelector('.elementor-swiper-button-next'),
};}
if(built.showDots){
swiperEl.insertAdjacentHTML('beforeend', '<div class="swiper-pagination"></div>');
built.config.pagination={
el:        swiperEl.querySelector('.swiper-pagination'),
clickable: true,
};}
containerEl.classList.add('ecs-editor-slider-active');
containerEl.appendChild(swiperEl);
containerEl.setAttribute('data-ecs-slider-key', sliderKey(children) );
containerEl.setAttribute('data-ecs-rebuild-key', rebuildKey(built) );
if(typeof Swiper!=='undefined'){
new Swiper(swiperEl, built.config);
}}
function syncEditorSlider(containerEl){
if(containerEl.classList.contains('ecs-editor-slider-active') &&
! containerEl.querySelector(':scope > .ecs-editor-swiper')
){
destroyEditorSlider(containerEl);
}
var swiperEl=containerEl.querySelector(':scope > .ecs-editor-swiper');
var inner=containerEl.querySelector(':scope > .e-con-inner');
var scope=inner||containerEl;
var children;
if(swiperEl){
var slideChildren=Array.from(swiperEl.querySelectorAll(':scope > .swiper-wrapper > .swiper-slide:not(.swiper-slide-duplicate)')
).map(function(slide){
return Array.from(slide.children).find(function(el){
return el.dataset&&el.dataset.id;
});
}).filter(Boolean);
var newScopeChildren=Array.from(scope.children).filter(function(el){
return el.dataset&&el.dataset.id;
});
children=slideChildren.concat(newScopeChildren);
}else{
children=Array.from(scope.children).filter(function(el){
return el.dataset&&el.dataset.id;
});
}
var cached=containerEl.getAttribute('data-ecs-slider-key');
if(cached!==null&&cached===sliderKey(children) ){
return;
}
destroyEditorSlider(containerEl);
if(children.length){
buildEditorSlider(containerEl);
}}
function getResolvedType(containerEl){
var id=containerEl.getAttribute('data-id');
if(! id){ return 'flex'; }
try {
var device=window.parent.elementor.channels.deviceMode.request('currentMode')||'desktop';
var settings=window.parent.elementor.getContainer(id).settings;
var suffixes={ desktop: '', tablet: '_tablet', mobile: '_mobile' };
var order=device==='mobile'  ? [ 'mobile', 'tablet', 'desktop' ]
: device==='tablet'  ? [ 'tablet', 'desktop' ]
: [ 'desktop' ];
for(var i=0; i < order.length; i++){
var val=settings.get('ecs_container_type' + suffixes[ order[ i ] ]);
if(val){ return val; }}
return 'flex';
} catch(e){ return 'flex'; }}
function syncAllEditorSliders(){
document.querySelectorAll('.ecs-editor-slider-active').forEach(function(el){
if(getResolvedType(el)!=='slider'){
destroyEditorSlider(el);
}else if(! el.querySelector(':scope > .ecs-editor-swiper') ){
destroyEditorSlider(el);
syncEditorSlider(el);
}});
document.querySelectorAll('.e-con[class*="-slider"]').forEach(function(el){
if(! el.classList.contains('ecs-editor-slider-active')&&getResolvedType(el)==='slider'){
syncEditorSlider(el);
}});
}
function updateEditorSliderParams(containerEl){
var swiperEl=containerEl.querySelector(':scope > .ecs-editor-swiper');
if(! swiperEl||! swiperEl.swiper){
syncEditorSlider(containerEl);
return;
}
var id=containerEl.getAttribute('data-id');
var settings=getEditorSettings(id);
var built=buildSwiperConfig(settings);
var swiper=swiperEl.swiper;
var currRebuildKey=rebuildKey(built);
var prevRebuildKey=containerEl.getAttribute('data-ecs-rebuild-key');
if(prevRebuildKey!==null&&prevRebuildKey!==currRebuildKey){
syncEditorSlider(containerEl);
return;
}
swiper.params.slidesPerView=built.config.slidesPerView;
swiper.params.speed=built.config.speed;
swiper.params.spaceBetween=built.config.spaceBetween;
swiper.params.breakpoints=built.config.breakpoints;
if(built.config.autoplay){
swiper.params.autoplay=built.config.autoplay;
if(swiper.autoplay&&! swiper.autoplay.running){
swiper.autoplay.start();
}}else if(swiper.autoplay&&swiper.autoplay.running){
swiper.autoplay.stop();
swiper.params.autoplay=false;
}
swiper.update();
}
function updateAllEditorSliderParams(){
document.querySelectorAll('.ecs-editor-slider-active').forEach(function(el){
el.removeAttribute('data-ecs-slider-key');
syncEditorSlider(el);
});
}
var inEditMode = !! (
window.elementorFrontend &&
typeof elementorFrontend.isEditMode==='function' &&
elementorFrontend.isEditMode()
);
if(inEditMode){
var suppressObserver=false;
var observer=new MutationObserver(function(mutations){
if(suppressObserver){ return; }
var relevant=false;
for(var i=0; i < mutations.length; i++){
var m=mutations[ i ];
var t=m.target;
if(t&&t.classList&&(
t.classList.contains('ecs-editor-swiper') ||
t.classList.contains('swiper-wrapper') ||
t.classList.contains('swiper-slide')
)){
continue;
}
relevant=true;
break;
}
if(relevant){
suppressObserver=true;
syncAllEditorSliders();
Promise.resolve().then(function (){ suppressObserver=false; });
}});
function setupEditor(){
syncAllEditorSliders();
observer.observe(document.body, {
childList:       true,
subtree:         true,
attributes:      true,
attributeFilter: [ 'class', 'data-id' ],
});
setTimeout(syncAllEditorSliders, 800);
try {
var settingsTimer=null;
window.parent.elementor.channels.editor.on('change', function (){
clearTimeout(settingsTimer);
settingsTimer=setTimeout(updateAllEditorSliderParams, 150);
});
window.parent.elementor.channels.data.on('command:after', function (){
clearTimeout(settingsTimer);
settingsTimer=setTimeout(updateAllEditorSliderParams, 150);
});
window.parent.elementor.channels.deviceMode.on('change', function (){
clearTimeout(settingsTimer);
settingsTimer=setTimeout(syncAllEditorSliders, 200);
});
} catch(e){  }}
window.ecsSliderSettingsChanged=function (){
document.querySelectorAll('.ecs-editor-slider-active').forEach(function(el){
el.removeAttribute('data-ecs-slider-key');
syncEditorSlider(el);
});
syncAllEditorSliders();
};
if(document.readyState==='loading'){
document.addEventListener('DOMContentLoaded', function (){
setTimeout(setupEditor, 300);
});
}else{
setTimeout(setupEditor, 300);
}}else{
if(document.readyState==='loading'){
document.addEventListener('DOMContentLoaded', initAllLiveSliders);
}else{
initAllLiveSliders();
}
if(typeof MutationObserver!=='undefined'){
var liveObserver=new MutationObserver(function(mutations){
var found=false;
for(var i=0; i < mutations.length; i++){
var added=mutations[ i ].addedNodes;
for(var j=0; j < added.length; j++){
var node=added[ j ];
if(node.nodeType!==1){ continue; }
if((node.classList&&node.classList.contains('ecs-swiper') ) ||
(node.querySelector&&node.querySelector('.ecs-swiper:not([data-ecs-swiper-init])') )
){
found=true;
break;
}}
if(found){ break; }}
if(found){ initAllLiveSliders(); }});
liveObserver.observe(document.body, { childList: true, subtree: true });
}}
})();