(function($){
"use strict";
var JetEngineRegisteredStores=window.JetEngineRegisteredStores||{};
var JetEngineStores=window.JetEngineStores||{};
var JetEngine={
currentMonth: null,
currentRequest: {},
activeCalendarDay: null,
lazyLoading: false,
addedScripts: [],
addedStyles: [],
addedPostCSS: [],
assetsPromises: [],
initDone: false,
commonInit: function(){
JetEngine.commonEvents();
$(window).on('jet-popup/render-content/ajax/success', JetEngine.initStores);
window.JetPlugins.hooks.addFilter('jet-popup.show-popup.data',
'JetEngine.popupData',
(popupData, $popup, $triggeredBy)=> {
if(! $triggeredBy){
return popupData;
}
if($triggeredBy.data('popupIsJetEngine') ){
popupData=JetEngine.prepareJetPopup(popupData, { 'is-jet-engine': true }, $triggeredBy);
}
return popupData;
}
);
JetEngine.initStores();
JetEngine.customUrlActions.init();
},
commonEvents: function($scope){
$scope=$scope||$(document);
$scope
.on('jet-filter-content-rendered', JetEngine.calendarCache.clear)
.on('change.JetEngine', '.jet-calendar-caption__date-select', JetEngine.selectCalendarMonth)
.on('click.JetEngine', '.jet-calendar-nav__link', JetEngine.switchCalendarMonth)
.on('click.JetEngine', '.jet-calendar-week__day-mobile-overlay', JetEngine.showCalendarEvent)
.on('click.JetEngine', '.jet-listing-dynamic-link__link[data-delete-link="1"]', JetEngine.showConfirmDeleteDialog)
.on('jet-filter-content-rendered', JetEngine.maybeReinitSlider)
.on('click.JetEngine', '.jet-add-to-store', JetEngine.addToStore)
.on('click.JetEngine', '.jet-remove-from-store', JetEngine.removeFromStore)
.on('click.JetEngine', '.jet-engine-listing-overlay-wrap:not([data-url*="event=hover"])', JetEngine.handleListingItemClick)
.on('jet-filter-content-rendered', JetEngine.filtersCompatibility)
.on('click.JetEngine', '.jet-container[data-url]', JetEngine.handleContainerURL)
.on('change.JetEngine', '.jet-listing-dynamic-link .qty', JetEngine.handleProductQuantityChange);
},
handleProductQuantityChange: function(event){
event.preventDefault();
event.stopPropagation();
const $this=$(this);
$this.closest(".jet-listing-dynamic-link").find(".jet-woo-add-to-cart").data("quantity", $this.val()).attr("data-quantity", $this.val());
},
handleContainerURL: function(){
var $this=$(this),
url=$this.data('url'),
target=$this.data('target');
if(! target){
window.location=url;
}else{
window.open(url, '_blank').focus();
}},
filtersCompatibility: function(event, $provider, filtersInstance, providerType){
let providers={
'jet-engine': true,
'jet-engine-calendar': true,
'jet-data-table': true,
};
if(! providers[ providerType ]){
return;
}
if(window.JetPopupFrontend&&window.JetPopupFrontend.initAttachedPopups){
window.JetPopupFrontend.initAttachedPopups($provider);
}},
init: function(){
var widgets={
'jet-listing-dynamic-field.default':JetEngine.widgetDynamicField,
'jet-listing-grid.default': JetEngine.widgetListingGrid,
};
$.each(widgets, function(widget, callback){
window.elementorFrontend.hooks.addAction('frontend/element_ready/' + widget, callback);
});
window.elementorFrontend.elements.$window.on('elementor/nested-tabs/activate',
(event, content)=> {
const $content=$(content);
setTimeout(()=> {
JetEngine.maybeReinitSlider(event, $content);
JetEngine.widgetDynamicField($content);
});
}
);
window.elementorFrontend.hooks.addFilter('jet-popup/widget-extensions/popup-data',
JetEngine.prepareJetPopup
);
window.JetPlugins.hooks.addFilter('jet-popup.show-popup.data',
'JetEngine.popupData',
(popupData, $popup, $triggeredBy)=> {
if(! $triggeredBy){
return popupData;
}
if($triggeredBy.data('popupIsJetEngine') ){
popupData=JetEngine.prepareJetPopup(popupData, { 'is-jet-engine': true }, $triggeredBy);
}
return popupData;
}
);
JetEngine.updateAddedStyles();
},
initBricks: function($scope){
if(window.bricksIsFrontend){
return;
}
$scope=$scope||$('body');
JetEngine.initBlocks($scope);
},
initBlocks: function($scope){
$scope=$scope||$('body');
window.JetPlugins.init($scope, [
{
block: 'jet-engine/listing-grid',
callback: JetEngine.widgetListingGrid
},
{
block: 'jet-engine/dynamic-field',
callback: JetEngine.widgetDynamicField
}
]);
},
initFrontStores: function($scope){
$scope=$scope||$('body');
$('.jet-add-to-store.is-front-store', $scope).each(function(){
var $this=$(this),
args=$this.data('args'),
store=JetEngineStores[ args.store.type ],
count=0;
args=JetEngine.ensureJSON(args);
if(! store){
return;
}
if(store.inStore(args.store.slug, '' + args.post_id) ){
JetEngine.switchDataStoreStatus($this);
}});
$('.jet-remove-from-store.is-front-store', $scope).each(function(){
var $this=$(this),
args=$this.data('args'),
store=JetEngineStores[ args.store.type ],
count=0;
args=JetEngine.ensureJSON(args);
if(! store){
return;
}
if(! store.inStore(args.store.slug, '' + args.post_id) ){
$this.addClass('is-hidden');
}else{
$this.removeClass('is-hidden');
}});
},
initStores: function(){
JetEngine.initFrontStores();
$.each(JetEngineRegisteredStores, function(storeSlug, storeType){
var store=JetEngineStores[ storeType ],
storeData=null,
count=0;
if(! store){
return;
}
storeData=store.getStore(storeSlug);
if(storeData&&storeData.length){
count=storeData.length;
}
$('span.jet-engine-data-store-count[data-store="' + storeSlug + '"]').text(count);
});
JetEngine.loadFrontStoresItems();
},
loadFrontStoresItems: function($scope){
$scope=$scope||$('body');
$('.jet-listing-not-found.jet-listing-grid__items', $scope).each(function(){
var $this=$(this),
nav=$this.data('nav'),
isStore=$this.data('is-store-listing'),
query=nav.query||{};
nav=JetEngine.ensureJSON(nav);
if(query&&query.post__in&&query.post__in.length&&0 >=query.post__in.indexOf('is-front') ){
var storeType=query.post__in[1],
storeSlug=query.post__in[2],
store=JetEngineStores[ storeType ],
posts=[],
$container=$this.closest('.jet-listing-grid');
if(! store){
return;
}
if(! $container.length){
$container=$this.closest('.jet-listing-grid--blocks');
}
if(! $container.length){
$container=$this.closest('.brxe-jet-engine-listing-grid')
}
posts=store.getStore(storeSlug);
if(! posts.length){
return;
}
query.front_store__in=posts;
query.is_front_store=true;
JetEngine.ajaxGetListing({
handler: 'get_listing',
container: $container,
masonry: false,
slider: false,
append: false,
query: query,
widgetSettings: nav.widget_settings,
}, function(response){
JetEngine.widgetListingGrid($container);
});
}else if(isStore){
$(document).trigger('jet-listing-grid-init-store', $this);
}});
},
dataStores: {
queues: {},
getQueue: function(store){
if(!(this.queues?.[ store ] instanceof Promise) ){
this.queues[ store ]=Promise.resolve();
}
return this.queues[ store ];
},
addToQueue: function(store, callback){
this.queues[ store ]=this.getQueue(store).then(callback);
},
},
removeFromStore: function(event){
event.preventDefault();
event.stopPropagation();
var $this=$(this),
args=$this.data('args'),
isDataStoreBtn=$this.hasClass('jet-data-store-link');
args=JetEngine.ensureJSON(args);
if(args.store.is_front){
var store=JetEngineStores[ args.store.type ],
count=0;
if(! store){
return;
}
if(! store.inStore(args.store.slug, '' + args.post_id) ){
var storePosts=store.getStore(args.store.slug);
count=storePosts.length;
}else{
count=store.remove(args.store.slug, args.post_id);
}
$('.jet-add-to-store[data-store="' + args.store.slug + '"][data-post="' + args.post_id + '"]').each(function(){
JetEngine.switchDataStoreStatus($(this), true);
});
$('.jet-data-store-link.jet-remove-from-store[data-store="' + args.store.slug + '"][data-post="' + args.post_id + '"]').each(function(){
JetEngine.switchDataStoreStatus($(this), true);
});
$('span.jet-engine-data-store-count[data-store="' + args.store.slug + '"]').text(count);
if(args.remove_from_listing){
$this.closest('.jet-listing-dynamic-post-' + args.post_id).remove();
}
JetEngine.dataStoreSyncListings(args);
$(document).trigger('jet-engine-data-stores-on-remove', args);
return;
}
if($this.hasClass('jet-store-processing') ){
return;
}
$this.css('opacity', 0.3);
$this.addClass('jet-store-processing');
JetEngine.dataStores.addToQueue(args.store.slug, ()=> {
return $.ajax({
url: JetEngineSettings.ajaxurl,
type: 'POST',
dataType: 'json',
data: {
action: 'jet_engine_remove_from_store_' + args.store.slug,
store: args.store.slug,
post_id: args.post_id,
},
}).done(function(response){
$this.css('opacity', 1);
$this.removeClass('jet-store-processing');
if(response.success){
if(! isDataStoreBtn){
$this.addClass('is-hidden');
}
$('.jet-add-to-store[data-store="' + args.store.slug + '"][data-post="' + args.post_id + '"]').each(function(){
JetEngine.switchDataStoreStatus($(this), true);
});
$('.jet-data-store-link.jet-remove-from-store[data-store="' + args.store.slug + '"][data-post="' + args.post_id + '"]').each(function(){
JetEngine.switchDataStoreStatus($(this), true);
});
JetEngine.dataStoreSyncListings(args);
if(args.remove_from_listing){
$this.closest('.jet-listing-grid__item[data-post="' + args.post_id + '"]').remove();
}
if(response.data.fragments){
$.each(response.data.fragments, function(selector, value){
$(selector).html(value);
});
}
$(document).trigger('jet-engine-data-stores-on-remove', args);
}else{
alert(response.data.message);
}
return response;
}).done(function(response){
if(args.remove_from_listing){
$this.closest('.jet-listing-grid__item').remove();
}
if(response.success){
$('span.jet-engine-data-store-count[data-store="' + args.store.slug + '"]').text(response.data.count);
}}).fail(function(jqXHR, textStatus, errorThrown){
$this.css('opacity', 1);
$this.removeClass('jet-store-processing');
alert(errorThrown);
});
});
},
triggerPopup: function(popupID, isJetEngine, postID){
if(! popupID){
return;
}
var popupData={
popupId: 'jet-popup-' + popupID,
};
if(isJetEngine){
popupData.isJetEngine=true;
popupData.postId=postID;
}
$(window).trigger({
type: 'jet-popup-open-trigger',
popupData: popupData
});
},
dataStoreSyncListings: function(args){
if(! args.synch_id||typeof args.synch_id!=='string'){
return;
}
const ids=args.synch_id.split(/[\s,]+/).map(( id)=> id.replace(/\s/, '') ).filter(( id)=> !! id);
ids.forEach(function(id){
let $container=$('#' + id),
$elemContainer=$container.find('> .elementor-widget-container');
if(! $container.length){
return;
}
let $items=$container.find('.jet-listing-grid__items'),
posts=[],
nav=$items.data('nav')||{},
query=nav.query||{},
postID=window.elementorFrontendConfig?.post?.id||0;
nav=JetEngine.ensureJSON(nav);
if($container.hasClass('brxe-jet-engine-listing-grid') ){
postID=window.bricksData.postId;
}
if($container.hasClass('jet-listing-grid--blocks')){
postID=JetEngineSettings.post_id;
}
if(args?.store?.is_front&&Object.keys(query).length){
let store=JetEngineStores[ args.store.type ];
posts=store.getStore(args.store.slug);
if(! posts.length){
posts=[ 'is-front', args.store.type, args.store.slug ];
}
query.front_store__in=posts;
query.is_front_store=true;
}
let options={
handler: 'get_listing',
container: $elemContainer.length ? $elemContainer:$container,
masonry: false,
slider: false,
append: false,
query: query,
widgetSettings: nav.widget_settings,
postID: postID,
elementID: $container.data('id'),
};
JetEngine.ajaxGetListing(options, function(response){
JetEngine.widgetListingGrid($container);
});
});
},
addToStore: function(event){
event.preventDefault();
event.stopPropagation();
var $this=$(this),
args=$this.data('args');
args=JetEngine.ensureJSON(args);
if($this.hasClass('in-store') ){
if(args.popup){
JetEngine.triggerPopup(args.popup, args.isJetEngine, args.post_id);
}else if('_blank'===$this.attr('target') ){
window.open($this.attr('href') );
}else{
window.location=$this.attr('href');
}
return;
}
if(args.store.is_front){
var store=JetEngineStores[ args.store.type ],
count=0;
if(! store){
return;
}
if(store.inStore(args.store.slug, '' + args.post_id) ){
var storePosts=store.getStore(args.store.slug);
count=storePosts.length;
}else{
count=store.addToStore(args.store.slug, args.post_id, args.store.size);
if(false===count){
return;
}}
if(args.popup){
JetEngine.triggerPopup(args.popup, args.isJetEngine, args.post_id);
}
JetEngine.switchDataStoreStatus($this);
$('span.jet-engine-data-store-count[data-store="' + args.store.slug + '"]').text(count);
$('.jet-remove-from-store[data-store="' + args.store.slug + '"][data-post="' + args.post_id + '"]').removeClass('is-hidden');
JetEngine.dataStoreSyncListings(args);
$(document).trigger('jet-engine-data-stores-on-add', args);
return;
}
if($this.hasClass('jet-store-processing') ){
return;
}
$this.css('opacity', 0.3);
$this.addClass('jet-store-processing');
$(document).trigger('jet-engine-on-add-to-store', [ $this, args ]);
JetEngine.dataStores.addToQueue(args.store.slug, ()=> {
return $.ajax({
url: JetEngineSettings.ajaxurl,
type: 'POST',
dataType: 'json',
data: {
action: 'jet_engine_add_to_store_' + args.store.slug,
store: args.store.slug,
post_id: args.post_id,
},
}).done(function(response){
$this.css('opacity', 1);
$this.removeClass('jet-store-processing');
if(response.success){
JetEngine.switchDataStoreStatus($this);
$('.jet-remove-from-store[data-store="' + args.store.slug + '"][data-post="' + args.post_id + '"]').removeClass('is-hidden');
if(response.data.fragments){
$.each(response.data.fragments, function(selector, value){
$(selector).html(value);
});
}
JetEngine.dataStoreSyncListings(args);
if(args.popup){
JetEngine.triggerPopup(args.popup, args.isJetEngine, args.post_id);
}}else{
alert(response.data.message);
}
$(document).trigger('jet-engine-data-stores-on-add', args);
return response;
}).done(function(response){
if(response.success){
$('span.jet-engine-data-store-count[data-store="' + args.store.slug + '"]').text(response.data.count);
}}).fail(function(jqXHR, textStatus, errorThrown){
$this.css('opacity', 1);
$this.removeClass('jet-store-processing');
alert(errorThrown);
});
});
},
switchDataStoreStatus: function($item, toInitial){
var isDataStoreLink=$item.hasClass('jet-data-store-link'),
$label=$item.find('.jet-listing-dynamic-link__label, .jet-data-store-link__label'),
$icon=$item.find('.jet-listing-dynamic-link__icon, .jet-data-store-link__icon'),
args=$item.data('args'),
replaceLabel,
replaceURL,
replaceIcon;
args=JetEngine.ensureJSON(args);
toInitial=toInitial||false;
if(isDataStoreLink){
switch(args.action_after_added){
case 'remove_from_store':
if(toInitial){
$item.addClass('jet-add-to-store');
$item.removeClass('jet-remove-from-store');
$item.removeClass('in-store');
}else{
$item.addClass('jet-remove-from-store');
$item.removeClass('jet-add-to-store');
$item.addClass('in-store');
}
break;
case 'hide':
if(toInitial){
$item.removeClass('is-hidden');
}else{
$item.addClass('is-hidden');
}
return;
}}
if(toInitial){
replaceLabel=args.label;
replaceIcon=args.icon;
replaceURL='#';
}else{
replaceLabel=args.added_label;
replaceIcon=args.added_icon;
replaceURL=args.added_url;
}
if($label.length){
$label.replaceWith(replaceLabel);
}else{
$item.append(replaceLabel);
}
if($icon.length){
$icon.replaceWith(replaceIcon);
}else{
$item.prepend(replaceIcon);
}
if(isDataStoreLink&&'remove_from_store'===args.action_after_added){
return;
}
$item.attr('href', replaceURL);
if(toInitial){
$item.removeClass('in-store');
}else if(! $item.hasClass('in-store') ){
$item.addClass('in-store');
}},
showConfirmDeleteDialog: function(event){
event.preventDefault();
event.stopPropagation();
var $this=$(this);
if(window.confirm($this.data('delete-message') )){
window.location=$this.attr('href');
}},
handleListingItemClick: function(event){
var url=$(this).data('url'),
target=$(this).data('target')||false;
if(url){
event.preventDefault();
if(window.elementorFrontend&&window.elementorFrontend.isEditMode()){
return;
}
if(-1!==url.indexOf('#jet-engine-action') ){
JetEngine.customUrlActions.runAction(url);
}else{
if('_blank'===target){
window.open(url);
return;
}
window.location=url;
}}
},
customUrlActions: {
selectorOnClick: 'a[href^="#jet-engine-action"][href*="event=click"]',
selectorOnHover: 'a[href^="#jet-engine-action"][href*="event=hover"], [data-url^="#jet-engine-action"][data-url*="event=hover"]',
init: function(){
var timeout=null;
$(document).on('click.JetEngine', this.selectorOnClick, function(event){
event.preventDefault();
JetEngine.customUrlActions.actionHandler(event)
});
$(document).on('click.JetEngine', this.selectorOnHover, function(event){
if('A'===event.currentTarget.nodeName){
event.preventDefault();
}});
$(document).on({
'mouseenter.JetEngine': function(event){
if(timeout){
clearTimeout(timeout);
}
timeout=setTimeout(function(){
JetEngine.customUrlActions.actionHandler(event)
}, window.JetEngineSettings.hoverActionTimeout);
},
'mouseleave.JetEngine': function(){
if(timeout){
clearTimeout(timeout);
timeout=null;
}},
}, this.selectorOnHover);
},
actions: {},
addAction: function(name, callback){
this.actions[ name ]=callback;
},
actionHandler: function(event){
var url=$(event.currentTarget).attr('href')||$(event.currentTarget).attr('data-url');
this.runAction(url);
},
runAction: function(url){
var queryParts=url.split('&'),
settings={};
queryParts.forEach(function(item){
if(-1!==item.indexOf('=') ){
var pair=item.split('=');
settings[ pair[0] ]=decodeURIComponent(pair[1]);
}});
if(! settings.action){
return;
}
var actionCb=this.actions[ settings.action ];
if(! actionCb){
return;
}
actionCb(settings);
}},
prepareJetPopup: function(popupData, widgetData, $scope){
var postId=null;
if(widgetData['is-jet-engine']){
popupData['isJetEngine']=true;
var $gridItems=$scope.closest('.jet-listing-grid__items'),
$gridItem=$scope.closest('.jet-listing-grid__item'),
$calendarItem=$scope.closest('.jet-calendar-week__day-event'),
$itemObject=$scope.closest('[data-item-object]'),
filterProvider=false,
filterQueryId='default';
if($gridItems.length){
popupData['listingSource']=$gridItems.data('listing-source');
popupData['listingId']=$gridItems.data('listing-id');
popupData['queryId']=$gridItems.data('query-id');
}else{
var $queryItems=$scope.closest('[data-query-id]'),
$listingSource=$scope.closest('[data-listing-source]');
if($queryItems.length){
popupData['queryId']=$queryItems.data('query-id');
}
if($listingSource.length){
popupData['listingSource']=$listingSource.data('listing-source');
}}
if($itemObject?.length){
popupData['postId']=$itemObject.data('item-object');
filterProvider=$itemObject.data('render-type');
if(! filterProvider&&$itemObject.hasClass('jet-dynamic-table__row') ){
filterProvider='jet-data-table';
}}else if($gridItem.length){
popupData['postId']=$gridItem.data('post-id');
filterProvider='jet-engine';
}else if($calendarItem.length){
popupData['postId']=$calendarItem.data('post-id');
filterProvider='jet-engine-calendar';
}else if(window.elementorFrontendConfig&&window.elementorFrontendConfig.post){
popupData['postId']=window.elementorFrontendConfig.post.id;
}
if(window.JetEngineFormsEditor&&window.JetEngineFormsEditor.hasEditor){
popupData['hasEditor']=true;
}
if(window.JetSmartFilters){
switch(filterProvider){
case 'jet-engine':
var nav=$gridItems.data('nav');
if(nav.widget_settings?._element_id){
filterQueryId=nav.widget_settings._element_id;
}
break;
case 'jet-engine-calendar':
var settings=$calendarItem.closest('.jet-listing-calendar').data('settings');
if(settings._element_id){
filterQueryId=settings._element_id;
}
break;
case 'jet-data-table':
const table=$scope.closest('.jet-dynamic-table');
const queryId=table[0].dataset.queryId;
const customIds=JetEngineSettings.query_builder.custom_ids;
if(customIds.length!==0&&customIds?.[ queryId ]){
filterQueryId=customIds[ queryId ];
}
break;
}
filterProvider=window.JetPlugins.hooks.applyFilters('jet-engine.prepareJetPopupData.filterProvider', filterProvider, $scope, widgetData);
filterQueryId=window.JetPlugins.hooks.applyFilters('jet-engine.prepareJetPopupData.filterQueryId', filterQueryId, $scope, widgetData);
if(popupData.queryId&&filterProvider
&& window.JetSmartFilters?.filterGroups?.[ filterProvider + '/' + filterQueryId ]?.currentQuery
){
popupData['filtered_query']=window.JetSmartFilters.filterGroups[ filterProvider + '/' + filterQueryId ].currentQuery;
}}
}
return popupData;
},
showCalendarEvent: function(event){
var $this=$(this),
$day=$this.closest('.jet-calendar-week__day'),
$week=$day.closest('.jet-calendar-week'),
$events=$day.find('.jet-calendar-week__day-content'),
activeClass='calendar-event-active';
if($day.hasClass(activeClass) ){
$day.removeClass(activeClass);
JetEngine.activeCalendarDay.remove();
JetEngine.activeCalendarDay=null;
return;
}
if(JetEngine.activeCalendarDay){
JetEngine.activeCalendarDay.remove();
$('.' + activeClass).removeClass(activeClass);
JetEngine.activeCalendarDay=null;
}
$day.addClass('calendar-event-active');
JetEngine.activeCalendarDay=$('<tr class="jet-calendar-week"><td colspan="7" class="jet-calendar-week__day jet-calendar-week__day-mobile"><div class="jet-calendar-week__day-mobile-event">' + $events.html() + '</div></td></tr>');
JetEngine.activeCalendarDay.find('.jet-popup-attach-event-inited').removeClass('jet-popup-attach-event-inited');
JetEngine.initElementsHandlers(JetEngine.activeCalendarDay);
JetEngine.activeCalendarDay.insertAfter($week);
},
widgetListingGrid: function($scope){
var widgetID=$scope.closest('.elementor-widget').data('id'),
$wrapper=$scope.find('.jet-listing-grid').first(),
hasLazyLoad=$wrapper.hasClass('jet-listing-grid--lazy-load'),
$listing=$scope.find('.jet-listing-grid__items').first(),
$slider=$listing.parent('.jet-listing-grid__slider'),
$masonry=$listing.hasClass('jet-listing-grid__masonry') ? $listing:false,
navSettings=$listing.data('nav'),
masonryGrid=false,
listingType='elementor';
if(! widgetID){
widgetID=$scope.data('element-id');
listingType=$scope.data('listing-type');
}
navSettings=JetEngine.ensureJSON(navSettings);
if(hasLazyLoad){
var lazyLoadOptions=$wrapper.data('lazy-load'),
$container=$scope.find('.elementor-widget-container'),
widgetSettings=false;
if(! $container.length){
$container=$scope;
}
if(window.elementorFrontend&&window.elementorFrontend.isEditMode()
&& $wrapper.closest('.elementor[data-elementor-type]').hasClass('elementor-edit-mode')
){
widgetSettings=JetEngine.getEditorElementSettings($scope.closest('.elementor-widget') );
widgetID=false;
}
if(! widgetSettings){
widgetSettings=$scope.data('widget-settings');
}
JetEngine.lazyLoadListing({
container:      $container,
elementID:      widgetID,
postID:         lazyLoadOptions.post_id,
queriedID:      lazyLoadOptions.queried_id||false,
offset:         lazyLoadOptions.offset||'0px',
query:          lazyLoadOptions.query||{},
listingType:    listingType,
widgetSettings: widgetSettings,
extraProps:     lazyLoadOptions.extra_props||false,
});
return;
}
if($slider.length){
JetEngine.initSlider($slider);
}
if($masonry&&$masonry.length){
JetEngine.initMasonry($masonry);
if($scope.hasClass('brxe-jet-engine-listing-grid') ){
$(window).on('load', function(){
JetEngine.runMasonry($masonry);
});
}}
if(navSettings&&navSettings.enabled){
JetEngine.loadMoreListing({
container: $listing,
settings: navSettings,
masonry: $masonry,
slider: $slider,
elementID: widgetID,
});
}
if(window.elementorFrontend&&window.elementorFrontend.isEditMode()
&& $wrapper.closest('.elementor-element-edit-mode').length
){
JetEngine.initElementsHandlers($wrapper);
}},
initMasonry: function($masonry, masonrySettings){
imagesLoaded($masonry, function(){
JetEngine.runMasonry($masonry, masonrySettings);
});
},
runMasonry: function($masonry, masonrySettings){
var defaultSettings={
itemSelector: '> .jet-listing-grid__item',
columnsKey:   'columns',
};
masonrySettings=masonrySettings||{};
masonrySettings=$.extend({}, defaultSettings, masonrySettings);
var $eWidget=$masonry.closest('.elementor-widget'),
$items=$(masonrySettings.itemSelector, $masonry),
options=$masonry.data('masonry-grid-options')||{};
options=JetEngine.ensureJSON(options);
$items.css({
marginTop: ''
});
const { gap }=options;
let margin=null;
if(gap){
margin={
x: +gap.horizontal,
y: +gap.vertical,
};}
var args={
container: $masonry[0],
margin: margin ? margin:0,
};
if($eWidget.length){
var settings=JetEngine.getElementorElementSettings($eWidget),
breakpoints={},
eBreakpoints=window.elementorFrontend.config.responsive.activeBreakpoints,
columnsKey=masonrySettings.columnsKey;
args.columns=settings[columnsKey + '_widescreen'] ? +settings[columnsKey + '_widescreen']:+settings[columnsKey];
Object.keys(eBreakpoints).reverse().forEach(function(breakpointName){
if(settings[columnsKey + '_' + breakpointName]){
if('widescreen'===breakpointName){
breakpoints[eBreakpoints[breakpointName].value - 1]=+settings[columnsKey];
}else{
breakpoints[eBreakpoints[breakpointName].value]=+settings[columnsKey + '_' + breakpointName];
}}
});
args.breakAt=breakpoints;
}else{
args.columns=options.columns.desktop;
args.breakAt={
1025: options.columns.tablet,
768:  options.columns.mobile,
};}
var masonryInstance=Macy(args);
masonryInstance.runOnImageLoad(function (){
masonryInstance.recalculate(true);
}, true);
$masonry.on('jet-engine/listing/recalculate-masonry-listing', function(){
masonryInstance.runOnImageLoad(function (){
masonryInstance.recalculate(true);
}, true);
});
$(document).on('jet-engine/listing/recalculate-masonry', function(){
masonryInstance.recalculate(true);
});
},
ajaxGetListing: function(options, doneCallback, failCallback){
var container=options.container||false,
handler=options.handler||false,
masonry=options.masonry||false,
slider=options.slider||false,
append=options.append||false,
query=options.query||{},
widgetSettings=options.widgetSettings||{},
postID=options.postID||false,
queriedID=options.queriedID||false,
elementID=options.elementID||false,
page=options.page||1,
preventCSS=options.preventCSS||false,
listingType=options.listingType||false,
extraProps=options.extraProps||false,
isEditMode=window.elementorFrontend&&window.elementorFrontend.isEditMode();
doneCallback=doneCallback||function(response){};
if(! container||! handler){
return;
}
if(! preventCSS){
container.css({
pointerEvents: 'none',
opacity: '0.5',
cursor: 'default',
});
}
var requestData={
action: 'jet_engine_ajax',
handler: handler,
query: query,
widget_settings: widgetSettings,
page_settings: {
post_id: postID,
queried_id: queriedID,
element_id: elementID,
page: page,
},
listing_type: listingType,
isEditMode: isEditMode,
addedPostCSS: JetEngine.addedPostCSS
};
if(extraProps){
Object.assign(requestData, extraProps);
}
$.ajax({
url: JetEngineSettings.ajaxlisting,
type: 'POST',
dataType: 'json',
data: requestData,
}).done(function(response){
if(!preventCSS){
container.css({
pointerEvents: '',
opacity: '',
cursor: '',
});
}
if(response.success){
JetEngine.enqueueAssetsFromResponse(response);
container.data('page', page);
var $html=$(response.data.html);
JetEngine.initFrontStores($html);
if(slider&&slider.length){
var $slider=slider.find('> .jet-listing-grid__items');
if(! $slider.hasClass('slick-initialized') ){
if(append){
container.append($html);
}else{
container.html($html);
}
var itemsCount=container.find('> .jet-listing-grid__item').length;
slider.addClass('jet-listing-grid__slider');
JetEngine.initSlider(slider, { itemsCount: itemsCount });
}else{
$html.each(function(index, el){
$slider.slick('slickAdd', el);
});
}}else{
if(append){
container.append($html);
}else{
container.html($html);
}
if(masonry&&masonry.length){
masonry.trigger('jet-engine/listing/recalculate-masonry-listing');
}}
JetEngine.reinitBricksScripts(elementID);
Promise.all(JetEngine.assetsPromises).then(function(){
JetEngine.initElementsHandlers($html);
JetEngine.assetsPromises=[];
});
if(response.data.fragments){
for(var selector in response.data.fragments){
var $selector=$(selector);
if($selector.length){
$selector.html(response.data.fragments[ selector ]);
}}
}}
$(document).trigger('jet-engine/listing/ajax-get-listing/done', [ $html, options ]);
}).done(doneCallback).fail(function(){
container.removeAttr('style');
if(failCallback){
failCallback.call();
}});
},
loadMoreListing: function(args){
var instance={
setup: function(){
this.container=args.container;
this.masonry=args.masonry;
this.slider=args.slider;
this.settings=args.settings;
this.elementID=args.elementID;
this.wrapper=this.container.closest('.jet-listing-grid');
this.type=this.settings.type||'click';
this.page=parseInt(this.container.data('page'), 10)||0;
this.pages=parseInt(this.container.data('pages'), 10)||0;
this.queriedID=this.container.data('queried-id')||false;
},
init: function(){
this.setup();
switch(this.type){
case 'click':
this.handleMore();
break;
case 'scroll':
if(( ! window.elementorFrontend||! window.elementorFrontend.isEditMode())&&! this.slider.length){
this.handleInfiniteScroll();
}
break;
}},
handleMore: function(){
if(! this.settings.more_el){
return;
}
var self=this,
$button=$(this.settings.more_el);
if(! $button.length){
return;
}
if(! this.pages||this.page===this.pages&&! window.elementor){
$button.css('display', 'none');
}else{
$button.removeAttr('style');
}
$(document)
.off('click', this.settings.more_el)
.on('click', this.settings.more_el, function(event){
event.preventDefault();
if(! self.pages||self.page >=self.pages){
$button.css('display', 'none');
return;
}
$button.css({
pointerEvents: 'none',
opacity: '0.5',
cursor: 'default',
});
self.ajaxGetItems(function(response){
$button.removeAttr('style');
if(response.success&&self.page===self.pages){
$button.css('display', 'none');
}}, function(){
$button.button.removeAttr('style');
}
);
});
},
handleInfiniteScroll: function(){
if(this.container.hasClass('jet-listing-not-found') ){
return;
}
if(! this.pages||this.page===this.pages){
return;
}
var self=this,
$trigger=this.wrapper.find('.jet-listing-grid__loader'),
offset='0%';
if(! $trigger.length){
$trigger=$('<div>', {
class: 'jet-listing-grid__loading-trigger'
});
this.wrapper.append($trigger);
}
if(this.settings.widget_settings&&this.settings.widget_settings.load_more_offset){
var offsetValue=this.settings.widget_settings.load_more_offset;
switch(typeof offsetValue){
case 'object':
var size=offsetValue.size ? offsetValue.size:'0',
unit=offsetValue.unit ? offsetValue.unit:'px';
offset=size + unit;
break;
case 'number':
case 'string':
offset=offsetValue + 'px';
break;
}}
var observer=new IntersectionObserver(
function(entries, observer){
if(entries[0].isIntersecting){
self.ajaxGetItems(function(){
if(self.page!==self.pages){
setTimeout(function(){
observer.observe(entries[0].target);
}, 250);
}});
observer.unobserve(entries[0].target);
}},
{
rootMargin: '0% 0% ' + offset + ' 0%',
}
);
observer.observe($trigger[0]);
},
ajaxGetItems: function(doneCallback, failCallback){
var self=this;
this.page++;
this.wrapper.addClass('jet-listing-grid-loading');
JetEngine.ajaxGetListing({
handler:        'listing_load_more',
container:      this.container,
masonry:        this.masonry,
slider:         this.slider,
append:         true,
query:          this.settings.query,
widgetSettings: this.settings.widget_settings,
page:           this.page,
elementID:      this.elementID,
queriedID:      this.queriedID,
preventCSS:     !! this.wrapper.find('.jet-listing-grid__loader').length,
}, function(response){
JetEngine.lazyLoading=false;
self.wrapper.removeClass('jet-listing-grid-loading');
if(doneCallback){
doneCallback(response);
}
$(document).trigger('jet-engine/listing-grid/after-load-more', [args, response]);
}, function(){
JetEngine.lazyLoading=false;
self.wrapper.removeClass('jet-listing-grid-loading');
if(failCallback){
failCallback();
}});
},
};
instance.init();
},
lazyLoadListing: function(args){
var $wrapper=args.container.find('.jet-listing-grid'),
observer=new IntersectionObserver(
function(entries, observer){
if(entries[0].isIntersecting){
JetEngine.lazyLoading=true;
if(! $wrapper.length){
$wrapper=args.container;
}
$wrapper.addClass('jet-listing-grid-loading');
JetEngine.ajaxGetListing({
handler: 'get_listing',
container: args.container,
masonry: false,
slider: false,
append: false,
elementID: args.elementID,
postID: args.postID,
queriedID: args.queriedID,
query: args.query,
widgetSettings: args.widgetSettings,
listingType: args.listingType,
preventCSS: true,
extraProps: args.extraProps,
}, function(response){
$wrapper.removeClass('jet-listing-grid-loading');
var $widget=args.container.closest('.elementor-widget');
if(! $widget.length){
$widget=args.container.closest('.jet-listing-grid--blocks');
}
if(! $widget.length){
$widget=args.container;
}
if($widget.length){
$widget.find('.jet-listing-grid').first().removeClass('jet-listing-grid--lazy-load');
}
JetEngine.widgetListingGrid($widget);
JetEngine.loadFrontStoresItems($widget);
JetEngine.lazyLoading=false;
let needReInitFilters=false;
let isFrontend=JetEngine.isFrontend();
if(isFrontend&&window.JetSmartFilterSettings){
if(response.data.filters_data){
$.each(response.data.filters_data, function(param, data){
if('extra_props'===param){
window.JetSmartFilterSettings[ param ]=$.extend({},
window.JetSmartFilterSettings[ param ],
data
);
}else{
if(window.JetSmartFilterSettings[ param ]['jet-engine']){
window.JetSmartFilterSettings[ param ]['jet-engine']=$.extend({},
window.JetSmartFilterSettings[ param ]['jet-engine'],
data
);
}else{
window.JetSmartFilterSettings[ param ]['jet-engine']=data;
}}
});
needReInitFilters=true;
}
if(response.data.indexer_data){
const {
provider=false,
query={}}=response.data.indexer_data;
window.JetSmartFilters.setIndexedData(provider, query);
}}
if(needReInitFilters&&window.JetSmartFilters){
window.JetSmartFilters.reinitFilters();
}
$(document).trigger('jet-engine/listing-grid/after-lazy-load', [ args, response ]);
}, function(){
JetEngine.lazyLoading=false;
if(! $wrapper.length){
$wrapper=args.container;
}
$wrapper.removeClass('jet-listing-grid-loading');
});
observer.unobserve(entries[0].target);
}},
{
rootMargin: '0% 0% ' + args.offset + ' 0%'
}
);
observer.observe(args.container[0]);
},
ensureJSON: function(maybeJSON){
if(! maybeJSON){
return maybeJSON;
}
if('string'===typeof maybeJSON){
console.log(maybeJSON);
}
return maybeJSON;
},
initSlider: function($slider, customOptions){
var $eWidget=$slider.closest('.elementor-widget'),
options=$slider.data('slider_options'),
windowWidth=$(window).width(),
tabletBP=1025,
mobileBP=768,
tabletSlides, mobileSlides, defaultOptions, slickOptions;
options=JetEngine.ensureJSON(options);
customOptions=customOptions||{};
options=$.extend({}, options, customOptions);
if($eWidget.length){
var settings=JetEngine.getElementorElementSettings($eWidget),
responsive=[],
deviceMode=elementorFrontend.getCurrentDeviceMode(),
eBreakpoints=window.elementorFrontend.config.responsive.activeBreakpoints;
options.slidesToShow=settings.columns_widescreen ? +settings.columns_widescreen:+settings.columns;
Object.keys(eBreakpoints).reverse().forEach(function(breakpointName){
if(settings['columns_' + breakpointName]){
if('widescreen'===breakpointName){
responsive.push({
breakpoint: eBreakpoints[breakpointName].value,
settings: {
slidesToShow: +settings['columns'],
}});
}else{
var breakpointSettings={
breakpoint: eBreakpoints[breakpointName].value + 1,
settings:   {
slidesToShow: +settings['columns_' + breakpointName],
}};
if(options.slidesToScroll > breakpointSettings.settings.slidesToShow){
breakpointSettings.settings.slidesToScroll=breakpointSettings.settings.slidesToShow;
}
responsive.push(breakpointSettings);
}}
});
options.responsive=responsive;
}else{
if(! options.slidesToShow){
options.slidesToShow={
desktop: 3,
tablet: 1,
mobile: 1,
}}
if(options.itemsCount <=options.slidesToShow.desktop&&windowWidth >=tabletBP){
$slider.removeClass('jet-listing-grid__slider');
return;
}else if(options.itemsCount <=options.slidesToShow.tablet&&tabletBP > windowWidth&&windowWidth >=mobileBP){
$slider.removeClass('jet-listing-grid__slider');
return;
}else if(options.itemsCount <=options.slidesToShow.mobile&&windowWidth < mobileBP){
$slider.removeClass('jet-listing-grid__slider');
return;
}
if(options.slidesToShow.tablet){
tabletSlides=options.slidesToShow.tablet;
}else{
tabletSlides=1===options.slidesToShow.desktop ? 1:2;
}
if(options.slidesToShow.mobile){
mobileSlides=options.slidesToShow.mobile;
}else{
mobileSlides=1;
}
options.slidesToShow=options.slidesToShow.desktop;
options.responsive=[
{
breakpoint: 1025,
settings: {
slidesToShow: tabletSlides,
slidesToScroll: options.slidesToScroll > tabletSlides ? tabletSlides:options.slidesToScroll
}},
{
breakpoint: 768,
settings: {
slidesToShow: mobileSlides,
slidesToScroll: 1
}}
];
}
defaultOptions={
customPaging: function(slider, i){
return $('<span />').text(i + 1).attr('role', 'tab');
},
slide: '.jet-listing-grid__item',
dotsClass: 'jet-slick-dots',
};
slickOptions=$.extend({}, defaultOptions, options);
var $sliderItems=$slider.find('> .jet-listing-grid__items');
if(slickOptions.infinite){
$sliderItems.on('init', function(){
var $items=$(this),
$clonedSlides=$('> .slick-list > .slick-track > .slick-cloned.jet-listing-grid__item', $items);
if(!$clonedSlides.length){
return;
}
JetEngine.initElementsHandlers($clonedSlides);
if($slider.find('.bricks-lazy-hidden').length){
bricksLazyLoad();
}});
}
if(slickOptions.rtl){
$sliderItems.on('init', function(){
var $items=$(this),
$lazyImages=$('img[loading=lazy]', $items),
lazyImageObserver=new IntersectionObserver(
function(entries, observer){
entries.forEach(function(entry){
if(entry.isIntersecting){
if(! entry.target.complete){
entry.target.removeAttribute('loading');
}
observer.unobserve(entry.target);
}});
}
);
$lazyImages.each(function(){
const $img=$(this);
lazyImageObserver.observe($img[0]);
});
});
}
if($sliderItems.hasClass('slick-initialized') ){
$sliderItems.slick('refresh', true);
return;
}
if(slickOptions.variableWidth){
slickOptions.slidesToShow=1;
slickOptions.slidesToScroll=1;
slickOptions.responsive=null;
}
$sliderItems.on('init.JetEngine',
()=> {
$sliderItems.find('.slick-active').each((i, el)=> {
JetEngine.rerunElementorAnimation($(el) );
}
);
}
);
$sliderItems.on('afterChange.JetEngine',
()=> {
$sliderItems.find('.slick-active').each((i, el)=> {
JetEngine.rerunElementorAnimation($(el) );
}
);
}
);
$sliderItems.slick(slickOptions);
$sliderItems.off('init.JetEngine');
},
maybeReinitSlider: function(event, $scope){
var $slider=$scope.find('.jet-listing-grid__slider');
if($slider.length){
$slider.each(function(){
JetEngine.initSlider($(this) );
});
}},
rerunElementorAnimation: function($scope, forceRerun=false){
let selector='.elementor-element[data-settings*="_animation"]';
if(! forceRerun){
selector +=':is(.elementor-invisible, :not(.jet-engine-animation-rerun))';
}
$scope.find(selector).each((i, el)=> {
const settings=JSON.parse(el.dataset.settings||'{}');
const $el=$(el);
if(settings._animation){
const classes=`animated ${settings._animation}`;
$el.removeClass(classes);
setTimeout(
()=> {
$el.removeClass('elementor-invisible').addClass(classes);
$el.addClass('jet-engine-animation-rerun');
},
settings._animation_delay
);
}}
);
},
widgetDynamicField: function($scope){
var $slider=$scope.find('.jet-engine-gallery-slider');
if($slider.length){
if($.isFunction($.fn.imagesLoaded) ){
$slider.imagesLoaded().always(function(instance){
var $eWidget=$slider.closest('.elementor-widget');
if($slider.hasClass('slick-initialized') ){
$slider.slick('refresh', true);
}else{
var atts=$slider.data('atts');
atts=JetEngine.ensureJSON(atts);
if($eWidget.length){
var settings=JetEngine.getElementorElementSettings($scope),
eBreakpoints=window.elementorFrontend.config.responsive.activeBreakpoints,
responsive=[];
if(settings.img_slider_cols||settings.img_slider_cols_widescreen){
atts.slidesToShow=settings.img_slider_cols_widescreen ? +settings.img_slider_cols_widescreen:+settings.img_slider_cols;
}
Object.keys(eBreakpoints).reverse().forEach(function(breakpointName){
if(settings['img_slider_cols_' + breakpointName]){
if('widescreen'===breakpointName){
responsive.push({
breakpoint: eBreakpoints[breakpointName].value,
settings:   {
slidesToShow: +settings['img_slider_cols'],
}});
}else{
var breakpointSettings={
breakpoint: eBreakpoints[breakpointName].value + 1,
settings:   {
slidesToShow: +settings['img_slider_cols_' + breakpointName],
}};
responsive.push(breakpointSettings);
}}
});
atts.responsive=responsive;
}
$slider.slick(atts);
}});
}}
$slider.on('init', function (event, slick){
const slider=event.target;
if(!slider.classList.contains('jet-engine-gallery-lightbox')||! window?.PhotoSwipeLightbox){
return;
}
let lightbox=new PhotoSwipeLightbox({
mainClass: 'brx',
gallery: slider,
children: 'a',
showHideAnimationType: 'none',
zoomAnimationDuration: false,
pswpModule: PhotoSwipe5,
});
lightbox.addFilter('numItems', numItems=> slick.slideCount);
lightbox.addFilter('clickedIndex', function (clickedIndex, e){
const slide=e.target.closest('.slick-slide');
if(!slide){
return clickedIndex;
}
if(clickedIndex >=slick.slideCount){
return clickedIndex % slick.slideCount;
}
return clickedIndex;
});
lightbox.addFilter('thumbEl', (thumbnail, itemData, index)=> {
return thumbnail;
});
lightbox.addFilter('thumbBounds', (thumbBounds, itemData, index)=> {
return thumbBounds;
});
lightbox.init();
});
var $masonry=$scope.find('.jet-engine-gallery-grid--masonry');
if($masonry.length){
JetEngine.initMasonry($masonry, {
columnsKey: 'img_columns',
itemSelector: '> .jet-engine-gallery-grid__item',
});
}},
calendarCache: {
entries: {},
iterate: function(iterator, callback){
if(typeof iterator?.forEach==='function'){
iterator.forEach(callback);
}else if(typeof iterator?.next==='function'){
let next;
while(next=iterator.next(), ! next.done){
callback.call(this, next.value);
}}
},
get: function(cacheId, month){
return JetEngine.calendarCache.entries[ cacheId ]?.get(month)||false;
},
set: function(cacheId, month, content, settings={}, timestamp=false){
if(! JetEngine.calendarCache.entries[ cacheId ]){
JetEngine.calendarCache.entries[ cacheId ]=new Map();
}
if(! JetEngine.calendarCache.entries[ cacheId ].has(month)
&& JetEngine.calendarCache.entries[ cacheId ].size >(settings['max_cache'] ?? 12) - 1
){
let deletedKey;
const mapKeys=JetEngine.calendarCache.entries[ cacheId ].keys();
if(settings['__switch_direction'] < 0){
let maxDate=false;
JetEngine.calendarCache.iterate(mapKeys,
function(key){
const parsedDate=Date.parse(key);
if(! maxDate||parsedDate > maxDate){
maxDate=parsedDate;
deletedKey=key;
}}
);
}else{
let minDate=false;
JetEngine.calendarCache.iterate(mapKeys,
function(key){
const parsedDate=Date.parse(key);
if(! minDate||parsedDate < minDate){
minDate=parsedDate;
deletedKey=key;
}}
);
}
JetEngine.calendarCache.entries[ cacheId ].delete(deletedKey);
}
if(! timestamp){
timestamp=Date.now();
}
JetEngine.calendarCache.entries[ cacheId ].set(month, [ content, timestamp ]);
},
update: function(cacheId, month, content, settings={}){
let cached=JetEngine.calendarCache.get(cacheId, month);
JetEngine.calendarCache.set(cacheId, month, content, settings, cached[1] ?? false);
},
deleteExpiredEntries: function(cacheId, cacheTimeout){
for(const cacheId in JetEngine.calendarCache.entries){
if(! document.querySelector(`.jet-calendar[data-cache-id="${cacheId}"]`) ){
delete JetEngine.calendarCache.entries[ cacheId ];
}}
if(! JetEngine.calendarCache.entries[ cacheId ]){
return;
}
JetEngine.calendarCache.iterate(JetEngine.calendarCache.entries[ cacheId ].keys(),
function(month){
if(JetEngine.calendarCache.isExpired(cacheId, month, cacheTimeout) ){
JetEngine.calendarCache.entries[ cacheId ].delete(month);
}}
);
},
isExpired: function(cacheId, month, cacheTimeout){
if(cacheTimeout < 0){
return false;
}
const cached=JetEngine.calendarCache.get(cacheId, month);
if(! cached||! Array.isArray(cached) ){
return true;
}
return ! cached[1]||cached[1] < Date.now() - cacheTimeout;
},
clear: function(e, $calendar){
const cacheId=$calendar.data('cache-id')||false;
if(! cacheId){
return;
}
JetEngine.calendarCache.entries[ cacheId ]=new Map();
},
modifyJetSmartFiltersSetiings: function($widget, widgetType, monthData){
if(! window.JetSmartFilterSettings||! window.JetSmartFilterSettings.settings){
return;
}
if(! window.JetSmartFilterSettings.settings['jet-engine-calendar']){
return;
}
monthData=monthData.split(' ');
const month=monthData[0],
year=monthData[1];
let widgetId;
switch(widgetType){
case 'block':
widgetId=$widget.closest('.jet-listing-calendar-block')[0].id;
if(! widgetId){
widgetId='default';
}
if(window.JetSmartFilterSettings.settings['jet-engine-calendar'][ widgetId ]){
window.JetSmartFilterSettings.settings['jet-engine-calendar'][ widgetId ]['start_from_month']=month;
window.JetSmartFilterSettings.settings['jet-engine-calendar'][ widgetId ]['start_from_year']=year;
}
break;
case 'bricks':
widgetId=$widget.data('element-id');
if(! widgetId){
break;
}
for(const id in window.JetSmartFilterSettings.settings['jet-engine-calendar']){
if(window.JetSmartFilterSettings.settings['jet-engine-calendar'][ id ]?._id===widgetId){
window.JetSmartFilterSettings.settings['jet-engine-calendar'][ id ]['start_from_month']=month;
window.JetSmartFilterSettings.settings['jet-engine-calendar'][ id ]['start_from_year']=year;
break;
}}
break;
case 'elementor':
widgetId=$widget.closest('.elementor-widget-jet-listing-calendar')[0].id;
if(! widgetId){
widgetId='default';
}
if(window.JetSmartFilterSettings.settings['jet-engine-calendar']?.[ widgetId ]){
window.JetSmartFilterSettings.settings['jet-engine-calendar'][ widgetId ]['start_from_month']=month;
window.JetSmartFilterSettings.settings['jet-engine-calendar'][ widgetId ]['start_from_year']=year;
}
break;
}},
},
selectCalendarMonth: function($event){
let wrapper=this.closest('.jet-calendar-caption__dates');
if(! JetEngine.updateDateSelectLabels(wrapper) ){
return;
}
JetEngine.switchCalendarMonth.bind(wrapper)()
},
updateDateSelectLabels: function(wrapper){
let month=wrapper.querySelector('.jet-calendar-caption__date-select.select-month'),
year=wrapper.querySelector('.jet-calendar-caption__date-select.select-year');
if(! month||! year){
return false;
}
let monthLabel=wrapper.querySelector('.jet-calendar-caption__date-select-label.select-month'),
yearLabel=wrapper.querySelector('.jet-calendar-caption__date-select-label.select-year');
wrapper.setAttribute('data-month', month.value + ' ' + year.value);
const monthOption=month.querySelector(`option[value="${month.value}"]`),
yearOption=year.querySelector(`option[value="${year.value}"]`);
monthLabel.innerHTML=monthOption.innerHTML;
yearLabel.innerHTML=yearOption.innerHTML;
return true;
},
switchCalendarMonth: function($event){
var $this=$(this),
$calendar=$this.closest('.jet-calendar'),
$widget=$this.closest('.elementor-widget-jet-listing-calendar'),
widgetID=$widget.closest('.elementor-widget').data('id'),
settings=$calendar.data('settings'),
post=$calendar.data('post'),
month=$this.data('month');
settings=JetEngine.ensureJSON(settings);
if(this.classList.contains('nav-link-prev') ){
settings['__switch_direction']=-1;
}else if(this.classList.contains('nav-link-next') ){
settings['__switch_direction']=1;
}else{
settings['__switch_direction']=0;
}
let widgetType='elementor';
if(! $widget.length){
$widget=$calendar.closest('.jet-listing-calendar-block');
widgetType='block';
}
if(! $widget.length){
$widget=$calendar.closest('.brxe-jet-listing-calendar');
widgetID=$widget.data('element-id');
widgetType='bricks';
}
JetEngine.calendarCache.modifyJetSmartFiltersSetiings($widget, widgetType, month);
const cacheId=$calendar.data('cache-id')||false,
cacheTimeout=(settings['cache_timeout'] ?? 0) * 1000;
if(cacheId&&cacheTimeout){
JetEngine.calendarCache.deleteExpiredEntries(cacheId, cacheTimeout);
if(window.bricksIsFrontend){
$calendar.find('.accordion-item.listening, .brxe-accordion-nested > .listening')
.removeClass('listening brx-open');
}
JetEngine.calendarCache.update(cacheId, settings['prev_month'], $calendar.prop('outerHTML'), settings);
const cached=JetEngine.calendarCache.get(cacheId, month);
if(cached?.length&&cached[0]&&! JetEngine.calendarCache.isExpired(cacheId, month, cacheTimeout) ){
let replacement=$(cached[0]);
replacement.removeClass('jet-calendar-loading');
$calendar.replaceWith(replacement[0]);
JetEngine.initElementsHandlers($widget);
JetEngine.updateDateSelectLabels($widget[0]);
JetEngine.reinitBricksScripts(widgetID);
$(document).trigger('jet-engine-request-calendar-cached', [ $widget ]);
return;
}}
$calendar.addClass('jet-calendar-loading');
JetEngine.currentRequest={
jet_engine_action: 'jet_engine_calendar_get_month',
month: month,
settings: settings,
post: post,
};
$(document).trigger('jet-engine-request-calendar');
$.ajax({
url: JetEngineSettings.ajaxlisting,
type: 'POST',
dataType: 'json',
data: JetEngine.currentRequest,
}).done(function(response){
if(response.success){
$calendar.replaceWith(response.data.content);
if(cacheId&&cacheTimeout){
JetEngine.calendarCache.set(cacheId, month, response.data.content, settings);
}
JetEngine.initElementsHandlers($widget);
JetEngine.reinitBricksScripts(widgetID);
$(document).trigger('jet-engine-request-calendar-done', [ $widget ]);
}
$calendar.removeClass('jet-calendar-loading');
});
},
initElementsHandlers: function($selector){
window.JetPlugins.init($selector);
$selector.find('[data-element_type]').each(function(){
var $this=$(this),
elementType=$this.data('element_type');
if(!elementType){
return;
}
if(! window?.elementorFrontend?.hooks?.doAction){
return;
}
if('widget'===elementType){
elementType=$this.data('widget_type');
window.elementorFrontend.hooks.doAction('frontend/element_ready/widget', $this, $);
}
window.elementorFrontend.hooks.doAction('frontend/element_ready/global', $this, $);
window.elementorFrontend.hooks.doAction('frontend/element_ready/' + elementType, $this, $);
});
if(window.elementorFrontend){
const elementorLazyLoad=new Event("elementor/lazyload/observe");
document.dispatchEvent(elementorLazyLoad);
}
if(window.JetPopupFrontend&&window.JetPopupFrontend.initAttachedPopups){
$selector.find('.jet-popup-attach-event-inited').removeClass('jet-popup-attach-event-inited');
window.JetPopupFrontend.initAttachedPopups($selector);
}},
getElementorElementSettings: function($scope){
if(window.elementorFrontend&&window.elementorFrontend.isEditMode()&&$scope.hasClass('elementor-element-edit-mode') ){
return JetEngine.getEditorElementSettings($scope);
}
return $scope.data('settings')||{};},
getEditorElementSettings: function($scope){
var modelCID=$scope.data('model-cid'),
elementData;
if(! modelCID){
return {};}
if(! window.elementorFrontend.hasOwnProperty('config') ){
return {};}
if(! window.elementorFrontend.config.hasOwnProperty('elements') ){
return {};}
if(! window.elementorFrontend.config.elements.hasOwnProperty('data') ){
return {};}
elementData=window.elementorFrontend.config.elements.data[ modelCID ];
if(! elementData){
return {};}
return elementData.toJSON();
},
debounce: function(threshold, callback){
var timeout;
return function debounced($event){
function delayed(){
callback.call(this, $event);
timeout=null;
}
if(timeout){
clearTimeout(timeout);
}
timeout=setTimeout(delayed, threshold);
};},
updateAddedStyles: function(){
if(window.JetEngineSettings&&window.JetEngineSettings.addedPostCSS){
$.each(window.JetEngineSettings.addedPostCSS, function(ind, cssID){
JetEngine.addedStyles.push('elementor-post-' + cssID);
JetEngine.addedPostCSS.push(cssID);
});
}},
enqueueAssetsFromResponse: function(response){
if(response.data.scripts){
JetEngine.enqueueScripts(response.data.scripts);
}
if(response.data.styles){
JetEngine.enqueueStyles(response.data.styles);
}},
enqueueScripts: function(scripts){
$.each(scripts, function(handle, scriptHtml){
JetEngine.enqueueScript(handle, scriptHtml)
});
},
enqueueStyles: function(styles){
$.each(styles, function(handle, styleHtml){
JetEngine.enqueueStyle(handle, styleHtml)
});
},
enqueueScript: function(handle, scriptHtml){
if(-1!==JetEngine.addedScripts.indexOf(handle) ){
return;
}
if(! scriptHtml){
return;
}
var selector='script[id="' + handle + '-js"]';
if($(selector).length){
return;
}
var scriptsTags=scriptHtml.match(/<script[\s\S]*?<\/script>/gm);
if(scriptsTags.length){
for(var i=0; i < scriptsTags.length; i++){
JetEngine.assetsPromises.push(new Promise(function(resolve, reject){
var $tag=$(scriptsTags[i]);
if($tag[0].src){
var tag=document.createElement('script');
tag.type=$tag[0].type;
tag.src=$tag[0].src;
tag.id=$tag[0].id;
tag.async=false;
tag.onload=function(){
resolve();
};
document.body.append(tag);
}else{
$('body').append(scriptsTags[i]);
resolve();
}})
);
}}
JetEngine.addedScripts.push(handle);
},
enqueueStyle: function(handle, styleHtml){
if(-1!==handle.indexOf('google-fonts') ){
JetEngine.enqueueGoogleFonts(handle, styleHtml);
return;
}
if(-1!==JetEngine.addedStyles.indexOf(handle) ){
return;
}
var selector='link[id="' + handle + '-css"],style[id="' + handle + '"]';
if($(selector).length){
return;
}
$('head').append(styleHtml);
JetEngine.addedStyles.push(handle);
if(-1!==handle.indexOf('elementor-post') ){
var postID=handle.replace('elementor-post-', '');
JetEngine.addedPostCSS.push(postID);
}},
enqueueGoogleFonts: function(handle, styleHtml){
var selector='link[id="' + handle + '-css"]';
if($(selector).length){}
$('head').append(styleHtml);
},
isFrontend: function (){
if(typeof window.elementorFrontend!=='undefined'){
return !window.elementorFrontend.isEditMode();
}
if(typeof window.bricksIsFrontend!=='undefined'){
return window.bricksIsFrontend;
}
return true;
},
reinitBricksScripts: function (elementId){
if(!window.bricksIsFrontend){
return;
}
document.dispatchEvent(new CustomEvent("bricks/ajax/query_result/displayed", {
detail: {
queryId: elementId||null
}})
);
},
filters:(function(){
var callbacks={};
return {
addFilter: function(name, callback){
if(! callbacks.hasOwnProperty(name) ){
callbacks[name]=[];
}
callbacks[name].push(callback);
},
applyFilters: function(name, value, args){
if(! callbacks.hasOwnProperty(name) ){
return value;
}
if(args===undefined){
args=[];
}
var container=callbacks[ name ];
var cbLen=container.length;
for (var i=0; i < cbLen; i++){
if(typeof container[i]==='function'){
value=container[i](value, args);
}}
return value;
}};})()
};
$(window).on('elementor/frontend/init', JetEngine.init);
window.JetEngine=JetEngine;
document.addEventListener('jet-smart-filters/inited', function(){
window.JetSmartFilters.events.subscribe('ajaxFilters/updated', function(provider, queryId){
window.JetEngine.initFrontStores(window.JetSmartFilters?.filterGroups?.[ provider + '/' + queryId ]?.$provider);
});
});
JetEngine.commonInit();
window.addEventListener('DOMContentLoaded', function(){
setTimeout(()=> JetEngine.initBlocks());
JetEngine.initDone=true;
});
window.jetEngineBricks=function(){
JetEngine.initBricks();
}
$(window).trigger('jet-engine/frontend/loaded');
const initFilterConflictHandler=function(){
const conflictHandler=class FilterConflictHandler {
isResolving=false;
constructor(){
this.init();
}
init(e){
JetSmartFilters.events.subscribe('fiter/change',(filter)=> {
if(this.isResolving||filter?.filterConflictHandlerBlocked){
return;
}
this.isResolving=true;
if(! [ 'map-sync', 'user-geolocation', 'location-distance' ].includes(filter?.name) ){
return;
}
let conflictingTypes=[];
switch(filter.name){
case 'map-sync':
conflictingTypes=[ 'user-geolocation', 'location-distance' ];
break;
case 'location-distance':
conflictingTypes=[ 'map-sync', 'user-geolocation' ];
break;
default:
conflictingTypes=[ 'map-sync' ];
}
this.resetConflictingFilters(filter, conflictingTypes);
});
}
resetConflictingFilters(filter, conflictingTypes){
for(const conflictingFilter of this.getFilters(filter, conflictingTypes) ){
conflictingFilter.reset();
conflictingFilter.dataValue=false;
conflictingFilter.wasChanged ? conflictingFilter.wasChanged():conflictingFilter.wasСhanged();
}
this.isResolving=false;
}
getFilters(filter, types){
if(! types.length){
return [];
}
let filters=[];
filter.filterGroup.filters.forEach((f)=> {
if(! types.includes(f.name) ){
return;
}
filters.push(f);
}
);
return filters;
}};
new conflictHandler();
}
document.addEventListener('jet-smart-filters/inited', initFilterConflictHandler);
}(jQuery) );
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).flatpickr=n()}(this,(function(){"use strict";var e=function(){return(e=Object.assign||function(e){for(var n,t=1,a=arguments.length;t<a;t++)for(var i in n=arguments[t])Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i]);return e}).apply(this,arguments)};function n(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var a=Array(e),i=0;for(n=0;n<t;n++)for(var o=arguments[n],r=0,l=o.length;r<l;r++,i++)a[i]=o[r];return a}var t=["onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition"],a={_disable:[],allowInput:!1,allowInvalidPreload:!1,altFormat:"F j, Y",altInput:!1,altInputClass:"form-control input",animate:"object"==typeof window&&-1===window.navigator.userAgent.indexOf("MSIE"),ariaDateFormat:"F j, Y",autoFillDefaultTime:!0,clickOpens:!0,closeOnSelect:!0,conjunction:", ",dateFormat:"Y-m-d",defaultHour:12,defaultMinute:0,defaultSeconds:0,disable:[],disableMobile:!1,enableSeconds:!1,enableTime:!1,errorHandler:function(e){return"undefined"!=typeof console&&console.warn(e)},getWeek:function(e){var n=new Date(e.getTime());n.setHours(0,0,0,0),n.setDate(n.getDate()+3-(n.getDay()+6)%7);var t=new Date(n.getFullYear(),0,4);return 1+Math.round(((n.getTime()-t.getTime())/864e5-3+(t.getDay()+6)%7)/7)},hourIncrement:1,ignoredFocusElements:[],inline:!1,locale:"default",minuteIncrement:5,mode:"single",monthSelectorType:"dropdown",nextArrow:"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:"<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},i={weekdays:{shorthand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longhand:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},months:{shorthand:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longhand:["January","February","March","April","May","June","July","August","September","October","November","December"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(e){var n=e%100;if(n>3&&n<21)return"th";switch(n%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}},rangeSeparator:" to ",weekAbbreviation:"Wk",scrollTitle:"Scroll to increment",toggleTitle:"Click to toggle",amPM:["AM","PM"],yearAriaLabel:"Year",monthAriaLabel:"Month",hourAriaLabel:"Hour",minuteAriaLabel:"Minute",time_24hr:!1},o=function(e,n){return void 0===n&&(n=2),("000"+e).slice(-1*n)},r=function(e){return!0===e?1:0};function l(e,n){var t;return function(){var a=this,i=arguments;clearTimeout(t),t=setTimeout((function(){return e.apply(a,i)}),n)}}var c=function(e){return e instanceof Array?e:[e]};function s(e,n,t){if(!0===t)return e.classList.add(n);e.classList.remove(n)}function d(e,n,t){var a=window.document.createElement(e);return n=n||"",t=t||"",a.className=n,void 0!==t&&(a.textContent=t),a}function u(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function f(e,n){return n(e)?e:e.parentNode?f(e.parentNode,n):void 0}function m(e,n){var t=d("div","numInputWrapper"),a=d("input","numInput "+e),i=d("span","arrowUp"),o=d("span","arrowDown");if(-1===navigator.userAgent.indexOf("MSIE 9.0")?a.type="number":(a.type="text",a.pattern="\\d*"),void 0!==n)for(var r in n)a.setAttribute(r,n[r]);return t.appendChild(a),t.appendChild(i),t.appendChild(o),t}function g(e){try{return"function"==typeof e.composedPath?e.composedPath()[0]:e.target}catch(n){return e.target}}var p=function(){},h=function(e,n,t){return t.months[n?"shorthand":"longhand"][e]},v={D:p,F:function(e,n,t){e.setMonth(t.months.longhand.indexOf(n))},G:function(e,n){e.setHours((e.getHours()>=12?12:0)+parseFloat(n))},H:function(e,n){e.setHours(parseFloat(n))},J:function(e,n){e.setDate(parseFloat(n))},K:function(e,n,t){e.setHours(e.getHours()%12+12*r(new RegExp(t.amPM[1],"i").test(n)))},M:function(e,n,t){e.setMonth(t.months.shorthand.indexOf(n))},S:function(e,n){e.setSeconds(parseFloat(n))},U:function(e,n){return new Date(1e3*parseFloat(n))},W:function(e,n,t){var a=parseInt(n),i=new Date(e.getFullYear(),0,2+7*(a-1),0,0,0,0);return i.setDate(i.getDate()-i.getDay()+t.firstDayOfWeek),i},Y:function(e,n){e.setFullYear(parseFloat(n))},Z:function(e,n){return new Date(n)},d:function(e,n){e.setDate(parseFloat(n))},h:function(e,n){e.setHours((e.getHours()>=12?12:0)+parseFloat(n))},i:function(e,n){e.setMinutes(parseFloat(n))},j:function(e,n){e.setDate(parseFloat(n))},l:p,m:function(e,n){e.setMonth(parseFloat(n)-1)},n:function(e,n){e.setMonth(parseFloat(n)-1)},s:function(e,n){e.setSeconds(parseFloat(n))},u:function(e,n){return new Date(parseFloat(n))},w:p,y:function(e,n){e.setFullYear(2e3+parseFloat(n))}},D={D:"",F:"",G:"(\\d\\d|\\d)",H:"(\\d\\d|\\d)",J:"(\\d\\d|\\d)\\w+",K:"",M:"",S:"(\\d\\d|\\d)",U:"(.+)",W:"(\\d\\d|\\d)",Y:"(\\d{4})",Z:"(.+)",d:"(\\d\\d|\\d)",h:"(\\d\\d|\\d)",i:"(\\d\\d|\\d)",j:"(\\d\\d|\\d)",l:"",m:"(\\d\\d|\\d)",n:"(\\d\\d|\\d)",s:"(\\d\\d|\\d)",u:"(.+)",w:"(\\d\\d|\\d)",y:"(\\d{2})"},w={Z:function(e){return e.toISOString()},D:function(e,n,t){return n.weekdays.shorthand[w.w(e,n,t)]},F:function(e,n,t){return h(w.n(e,n,t)-1,!1,n)},G:function(e,n,t){return o(w.h(e,n,t))},H:function(e){return o(e.getHours())},J:function(e,n){return void 0!==n.ordinal?e.getDate()+n.ordinal(e.getDate()):e.getDate()},K:function(e,n){return n.amPM[r(e.getHours()>11)]},M:function(e,n){return h(e.getMonth(),!0,n)},S:function(e){return o(e.getSeconds())},U:function(e){return e.getTime()/1e3},W:function(e,n,t){return t.getWeek(e)},Y:function(e){return o(e.getFullYear(),4)},d:function(e){return o(e.getDate())},h:function(e){return e.getHours()%12?e.getHours()%12:12},i:function(e){return o(e.getMinutes())},j:function(e){return e.getDate()},l:function(e,n){return n.weekdays.longhand[e.getDay()]},m:function(e){return o(e.getMonth()+1)},n:function(e){return e.getMonth()+1},s:function(e){return e.getSeconds()},u:function(e){return e.getTime()},w:function(e){return e.getDay()},y:function(e){return String(e.getFullYear()).substring(2)}},b=function(e){var n=e.config,t=void 0===n?a:n,o=e.l10n,r=void 0===o?i:o,l=e.isMobile,c=void 0!==l&&l;return function(e,n,a){var i=a||r;return void 0===t.formatDate||c?n.split("").map((function(n,a,o){return w[n]&&"\\"!==o[a-1]?w[n](e,i,t):"\\"!==n?n:""})).join(""):t.formatDate(e,n,i)}},C=function(e){var n=e.config,t=void 0===n?a:n,o=e.l10n,r=void 0===o?i:o;return function(e,n,i,o){if(0===e||e){var l,c=o||r,s=e;if(e instanceof Date)l=new Date(e.getTime());else if("string"!=typeof e&&void 0!==e.toFixed)l=new Date(e);else if("string"==typeof e){var d=n||(t||a).dateFormat,u=String(e).trim();if("today"===u)l=new Date,i=!0;else if(t&&t.parseDate)l=t.parseDate(e,d);else if(/Z$/.test(u)||/GMT$/.test(u))l=new Date(e);else{for(var f=void 0,m=[],g=0,p=0,h="";g<d.length;g++){var w=d[g],b="\\"===w,C="\\"===d[g-1]||b;if(D[w]&&!C){h+=D[w];var M=new RegExp(h).exec(e);M&&(f=!0)&&m["Y"!==w?"push":"unshift"]({fn:v[w],val:M[++p]})}else b||(h+=".")}l=t&&t.noCalendar?new Date((new Date).setHours(0,0,0,0)):new Date((new Date).getFullYear(),0,1,0,0,0,0),m.forEach((function(e){var n=e.fn,t=e.val;return l=n(l,t,c)||l})),l=f?l:void 0}}if(l instanceof Date&&!isNaN(l.getTime()))return!0===i&&l.setHours(0,0,0,0),l;t.errorHandler(new Error("Invalid date provided: "+s))}}};function M(e,n,t){return void 0===t&&(t=!0),!1!==t?new Date(e.getTime()).setHours(0,0,0,0)-new Date(n.getTime()).setHours(0,0,0,0):e.getTime()-n.getTime()}var y=function(e,n,t){return 3600*e+60*n+t},x=864e5;function E(e){var n=e.defaultHour,t=e.defaultMinute,a=e.defaultSeconds;if(void 0!==e.minDate){var i=e.minDate.getHours(),o=e.minDate.getMinutes(),r=e.minDate.getSeconds();n<i&&(n=i),n===i&&t<o&&(t=o),n===i&&t===o&&a<r&&(a=e.minDate.getSeconds())}if(void 0!==e.maxDate){var l=e.maxDate.getHours(),c=e.maxDate.getMinutes();(n=Math.min(n,l))===l&&(t=Math.min(c,t)),n===l&&t===c&&(a=e.maxDate.getSeconds())}return{hours:n,minutes:t,seconds:a}}"function"!=typeof Object.assign&&(Object.assign=function(e){for(var n=[],t=1;t<arguments.length;t++)n[t-1]=arguments[t];if(!e)throw TypeError("Cannot convert undefined or null to object");for(var a=function(n){n&&Object.keys(n).forEach((function(t){return e[t]=n[t]}))},i=0,o=n;i<o.length;i++){var r=o[i];a(r)}return e});function k(p,v){var w={config:e(e({},a),I.defaultConfig),l10n:i};function k(){var e;return(null===(e=w.calendarContainer)||void 0===e?void 0:e.getRootNode()).activeElement||document.activeElement}function T(e){return e.bind(w)}function S(){var e=w.config;!1===e.weekNumbers&&1===e.showMonths||!0!==e.noCalendar&&window.requestAnimationFrame((function(){if(void 0!==w.calendarContainer&&(w.calendarContainer.style.visibility="hidden",w.calendarContainer.style.display="block"),void 0!==w.daysContainer){var n=(w.days.offsetWidth+1)*e.showMonths;w.daysContainer.style.width=n+"px",w.calendarContainer.style.width=n+(void 0!==w.weekWrapper?w.weekWrapper.offsetWidth:0)+"px",w.calendarContainer.style.removeProperty("visibility"),w.calendarContainer.style.removeProperty("display")}}))}function _(e){if(0===w.selectedDates.length){var n=void 0===w.config.minDate||M(new Date,w.config.minDate)>=0?new Date:new Date(w.config.minDate.getTime()),t=E(w.config);n.setHours(t.hours,t.minutes,t.seconds,n.getMilliseconds()),w.selectedDates=[n],w.latestSelectedDateObj=n}void 0!==e&&"blur"!==e.type&&function(e){e.preventDefault();var n="keydown"===e.type,t=g(e),a=t;void 0!==w.amPM&&t===w.amPM&&(w.amPM.textContent=w.l10n.amPM[r(w.amPM.textContent===w.l10n.amPM[0])]);var i=parseFloat(a.getAttribute("min")),l=parseFloat(a.getAttribute("max")),c=parseFloat(a.getAttribute("step")),s=parseInt(a.value,10),d=e.delta||(n?38===e.which?1:-1:0),u=s+c*d;if(void 0!==a.value&&2===a.value.length){var f=a===w.hourElement,m=a===w.minuteElement;u<i?(u=l+u+r(!f)+(r(f)&&r(!w.amPM)),m&&L(void 0,-1,w.hourElement)):u>l&&(u=a===w.hourElement?u-l-r(!w.amPM):i,m&&L(void 0,1,w.hourElement)),w.amPM&&f&&(1===c?u+s===23:Math.abs(u-s)>c)&&(w.amPM.textContent=w.l10n.amPM[r(w.amPM.textContent===w.l10n.amPM[0])]),a.value=o(u)}}(e);var a=w._input.value;O(),ye(),w._input.value!==a&&w._debouncedChange()}function O(){if(void 0!==w.hourElement&&void 0!==w.minuteElement){var e,n,t=(parseInt(w.hourElement.value.slice(-2),10)||0)%24,a=(parseInt(w.minuteElement.value,10)||0)%60,i=void 0!==w.secondElement?(parseInt(w.secondElement.value,10)||0)%60:0;void 0!==w.amPM&&(e=t,n=w.amPM.textContent,t=e%12+12*r(n===w.l10n.amPM[1]));var o=void 0!==w.config.minTime||w.config.minDate&&w.minDateHasTime&&w.latestSelectedDateObj&&0===M(w.latestSelectedDateObj,w.config.minDate,!0),l=void 0!==w.config.maxTime||w.config.maxDate&&w.maxDateHasTime&&w.latestSelectedDateObj&&0===M(w.latestSelectedDateObj,w.config.maxDate,!0);if(void 0!==w.config.maxTime&&void 0!==w.config.minTime&&w.config.minTime>w.config.maxTime){var c=y(w.config.minTime.getHours(),w.config.minTime.getMinutes(),w.config.minTime.getSeconds()),s=y(w.config.maxTime.getHours(),w.config.maxTime.getMinutes(),w.config.maxTime.getSeconds()),d=y(t,a,i);if(d>s&&d<c){var u=function(e){var n=Math.floor(e/3600),t=(e-3600*n)/60;return[n,t,e-3600*n-60*t]}(c);t=u[0],a=u[1],i=u[2]}}else{if(l){var f=void 0!==w.config.maxTime?w.config.maxTime:w.config.maxDate;(t=Math.min(t,f.getHours()))===f.getHours()&&(a=Math.min(a,f.getMinutes())),a===f.getMinutes()&&(i=Math.min(i,f.getSeconds()))}if(o){var m=void 0!==w.config.minTime?w.config.minTime:w.config.minDate;(t=Math.max(t,m.getHours()))===m.getHours()&&a<m.getMinutes()&&(a=m.getMinutes()),a===m.getMinutes()&&(i=Math.max(i,m.getSeconds()))}}A(t,a,i)}}function F(e){var n=e||w.latestSelectedDateObj;n&&n instanceof Date&&A(n.getHours(),n.getMinutes(),n.getSeconds())}function A(e,n,t){void 0!==w.latestSelectedDateObj&&w.latestSelectedDateObj.setHours(e%24,n,t||0,0),w.hourElement&&w.minuteElement&&!w.isMobile&&(w.hourElement.value=o(w.config.time_24hr?e:(12+e)%12+12*r(e%12==0)),w.minuteElement.value=o(n),void 0!==w.amPM&&(w.amPM.textContent=w.l10n.amPM[r(e>=12)]),void 0!==w.secondElement&&(w.secondElement.value=o(t)))}function N(e){var n=g(e),t=parseInt(n.value)+(e.delta||0);(t/1e3>1||"Enter"===e.key&&!/[^\d]/.test(t.toString()))&&ee(t)}function P(e,n,t,a){return n instanceof Array?n.forEach((function(n){return P(e,n,t,a)})):e instanceof Array?e.forEach((function(e){return P(e,n,t,a)})):(e.addEventListener(n,t,a),void w._handlers.push({remove:function(){return e.removeEventListener(n,t,a)}}))}function Y(){De("onChange")}function j(e,n){var t=void 0!==e?w.parseDate(e):w.latestSelectedDateObj||(w.config.minDate&&w.config.minDate>w.now?w.config.minDate:w.config.maxDate&&w.config.maxDate<w.now?w.config.maxDate:w.now),a=w.currentYear,i=w.currentMonth;try{void 0!==t&&(w.currentYear=t.getFullYear(),w.currentMonth=t.getMonth())}catch(e){e.message="Invalid date supplied: "+t,w.config.errorHandler(e)}n&&w.currentYear!==a&&(De("onYearChange"),q()),!n||w.currentYear===a&&w.currentMonth===i||De("onMonthChange"),w.redraw()}function H(e){var n=g(e);~n.className.indexOf("arrow")&&L(e,n.classList.contains("arrowUp")?1:-1)}function L(e,n,t){var a=e&&g(e),i=t||a&&a.parentNode&&a.parentNode.firstChild,o=we("increment");o.delta=n,i&&i.dispatchEvent(o)}function R(e,n,t,a){var i=ne(n,!0),o=d("span",e,n.getDate().toString());return o.dateObj=n,o.$i=a,o.setAttribute("aria-label",w.formatDate(n,w.config.ariaDateFormat)),-1===e.indexOf("hidden")&&0===M(n,w.now)&&(w.todayDateElem=o,o.classList.add("today"),o.setAttribute("aria-current","date")),i?(o.tabIndex=-1,be(n)&&(o.classList.add("selected"),w.selectedDateElem=o,"range"===w.config.mode&&(s(o,"startRange",w.selectedDates[0]&&0===M(n,w.selectedDates[0],!0)),s(o,"endRange",w.selectedDates[1]&&0===M(n,w.selectedDates[1],!0)),"nextMonthDay"===e&&o.classList.add("inRange")))):o.classList.add("flatpickr-disabled"),"range"===w.config.mode&&function(e){return!("range"!==w.config.mode||w.selectedDates.length<2)&&(M(e,w.selectedDates[0])>=0&&M(e,w.selectedDates[1])<=0)}(n)&&!be(n)&&o.classList.add("inRange"),w.weekNumbers&&1===w.config.showMonths&&"prevMonthDay"!==e&&a%7==6&&w.weekNumbers.insertAdjacentHTML("beforeend","<span class='flatpickr-day'>"+w.config.getWeek(n)+"</span>"),De("onDayCreate",o),o}function W(e){e.focus(),"range"===w.config.mode&&oe(e)}function B(e){for(var n=e>0?0:w.config.showMonths-1,t=e>0?w.config.showMonths:-1,a=n;a!=t;a+=e)for(var i=w.daysContainer.children[a],o=e>0?0:i.children.length-1,r=e>0?i.children.length:-1,l=o;l!=r;l+=e){var c=i.children[l];if(-1===c.className.indexOf("hidden")&&ne(c.dateObj))return c}}function J(e,n){var t=k(),a=te(t||document.body),i=void 0!==e?e:a?t:void 0!==w.selectedDateElem&&te(w.selectedDateElem)?w.selectedDateElem:void 0!==w.todayDateElem&&te(w.todayDateElem)?w.todayDateElem:B(n>0?1:-1);void 0===i?w._input.focus():a?function(e,n){for(var t=-1===e.className.indexOf("Month")?e.dateObj.getMonth():w.currentMonth,a=n>0?w.config.showMonths:-1,i=n>0?1:-1,o=t-w.currentMonth;o!=a;o+=i)for(var r=w.daysContainer.children[o],l=t-w.currentMonth===o?e.$i+n:n<0?r.children.length-1:0,c=r.children.length,s=l;s>=0&&s<c&&s!=(n>0?c:-1);s+=i){var d=r.children[s];if(-1===d.className.indexOf("hidden")&&ne(d.dateObj)&&Math.abs(e.$i-s)>=Math.abs(n))return W(d)}w.changeMonth(i),J(B(i),0)}(i,n):W(i)}function K(e,n){for(var t=(new Date(e,n,1).getDay()-w.l10n.firstDayOfWeek+7)%7,a=w.utils.getDaysInMonth((n-1+12)%12,e),i=w.utils.getDaysInMonth(n,e),o=window.document.createDocumentFragment(),r=w.config.showMonths>1,l=r?"prevMonthDay hidden":"prevMonthDay",c=r?"nextMonthDay hidden":"nextMonthDay",s=a+1-t,u=0;s<=a;s++,u++)o.appendChild(R("flatpickr-day "+l,new Date(e,n-1,s),0,u));for(s=1;s<=i;s++,u++)o.appendChild(R("flatpickr-day",new Date(e,n,s),0,u));for(var f=i+1;f<=42-t&&(1===w.config.showMonths||u%7!=0);f++,u++)o.appendChild(R("flatpickr-day "+c,new Date(e,n+1,f%i),0,u));var m=d("div","dayContainer");return m.appendChild(o),m}function U(){if(void 0!==w.daysContainer){u(w.daysContainer),w.weekNumbers&&u(w.weekNumbers);for(var e=document.createDocumentFragment(),n=0;n<w.config.showMonths;n++){var t=new Date(w.currentYear,w.currentMonth,1);t.setMonth(w.currentMonth+n),e.appendChild(K(t.getFullYear(),t.getMonth()))}w.daysContainer.appendChild(e),w.days=w.daysContainer.firstChild,"range"===w.config.mode&&1===w.selectedDates.length&&oe()}}function q(){if(!(w.config.showMonths>1||"dropdown"!==w.config.monthSelectorType)){var e=function(e){return!(void 0!==w.config.minDate&&w.currentYear===w.config.minDate.getFullYear()&&e<w.config.minDate.getMonth())&&!(void 0!==w.config.maxDate&&w.currentYear===w.config.maxDate.getFullYear()&&e>w.config.maxDate.getMonth())};w.monthsDropdownContainer.tabIndex=-1,w.monthsDropdownContainer.innerHTML="";for(var n=0;n<12;n++)if(e(n)){var t=d("option","flatpickr-monthDropdown-month");t.value=new Date(w.currentYear,n).getMonth().toString(),t.textContent=h(n,w.config.shorthandCurrentMonth,w.l10n),t.tabIndex=-1,w.currentMonth===n&&(t.selected=!0),w.monthsDropdownContainer.appendChild(t)}}}function $(){var e,n=d("div","flatpickr-month"),t=window.document.createDocumentFragment();w.config.showMonths>1||"static"===w.config.monthSelectorType?e=d("span","cur-month"):(w.monthsDropdownContainer=d("select","flatpickr-monthDropdown-months"),w.monthsDropdownContainer.setAttribute("aria-label",w.l10n.monthAriaLabel),P(w.monthsDropdownContainer,"change",(function(e){var n=g(e),t=parseInt(n.value,10);w.changeMonth(t-w.currentMonth),De("onMonthChange")})),q(),e=w.monthsDropdownContainer);var a=m("cur-year",{tabindex:"-1"}),i=a.getElementsByTagName("input")[0];i.setAttribute("aria-label",w.l10n.yearAriaLabel),w.config.minDate&&i.setAttribute("min",w.config.minDate.getFullYear().toString()),w.config.maxDate&&(i.setAttribute("max",w.config.maxDate.getFullYear().toString()),i.disabled=!!w.config.minDate&&w.config.minDate.getFullYear()===w.config.maxDate.getFullYear());var o=d("div","flatpickr-current-month");return o.appendChild(e),o.appendChild(a),t.appendChild(o),n.appendChild(t),{container:n,yearElement:i,monthElement:e}}function V(){u(w.monthNav),w.monthNav.appendChild(w.prevMonthNav),w.config.showMonths&&(w.yearElements=[],w.monthElements=[]);for(var e=w.config.showMonths;e--;){var n=$();w.yearElements.push(n.yearElement),w.monthElements.push(n.monthElement),w.monthNav.appendChild(n.container)}w.monthNav.appendChild(w.nextMonthNav)}function z(){w.weekdayContainer?u(w.weekdayContainer):w.weekdayContainer=d("div","flatpickr-weekdays");for(var e=w.config.showMonths;e--;){var n=d("div","flatpickr-weekdaycontainer");w.weekdayContainer.appendChild(n)}return G(),w.weekdayContainer}function G(){if(w.weekdayContainer){var e=w.l10n.firstDayOfWeek,t=n(w.l10n.weekdays.shorthand);e>0&&e<t.length&&(t=n(t.splice(e,t.length),t.splice(0,e)));for(var a=w.config.showMonths;a--;)w.weekdayContainer.children[a].innerHTML="\n      <span class='flatpickr-weekday'>\n        "+t.join("</span><span class='flatpickr-weekday'>")+"\n      </span>\n      "}}function Z(e,n){void 0===n&&(n=!0);var t=n?e:e-w.currentMonth;t<0&&!0===w._hidePrevMonthArrow||t>0&&!0===w._hideNextMonthArrow||(w.currentMonth+=t,(w.currentMonth<0||w.currentMonth>11)&&(w.currentYear+=w.currentMonth>11?1:-1,w.currentMonth=(w.currentMonth+12)%12,De("onYearChange"),q()),U(),De("onMonthChange"),Ce())}function Q(e){return w.calendarContainer.contains(e)}function X(e){if(w.isOpen&&!w.config.inline){var n=g(e),t=Q(n),a=!(n===w.input||n===w.altInput||w.element.contains(n)||e.path&&e.path.indexOf&&(~e.path.indexOf(w.input)||~e.path.indexOf(w.altInput)))&&!t&&!Q(e.relatedTarget),i=!w.config.ignoredFocusElements.some((function(e){return e.contains(n)}));a&&i&&(w.config.allowInput&&w.setDate(w._input.value,!1,w.config.altInput?w.config.altFormat:w.config.dateFormat),void 0!==w.timeContainer&&void 0!==w.minuteElement&&void 0!==w.hourElement&&""!==w.input.value&&void 0!==w.input.value&&_(),w.close(),w.config&&"range"===w.config.mode&&1===w.selectedDates.length&&w.clear(!1))}}function ee(e){if(!(!e||w.config.minDate&&e<w.config.minDate.getFullYear()||w.config.maxDate&&e>w.config.maxDate.getFullYear())){var n=e,t=w.currentYear!==n;w.currentYear=n||w.currentYear,w.config.maxDate&&w.currentYear===w.config.maxDate.getFullYear()?w.currentMonth=Math.min(w.config.maxDate.getMonth(),w.currentMonth):w.config.minDate&&w.currentYear===w.config.minDate.getFullYear()&&(w.currentMonth=Math.max(w.config.minDate.getMonth(),w.currentMonth)),t&&(w.redraw(),De("onYearChange"),q())}}function ne(e,n){var t;void 0===n&&(n=!0);var a=w.parseDate(e,void 0,n);if(w.config.minDate&&a&&M(a,w.config.minDate,void 0!==n?n:!w.minDateHasTime)<0||w.config.maxDate&&a&&M(a,w.config.maxDate,void 0!==n?n:!w.maxDateHasTime)>0)return!1;if(!w.config.enable&&0===w.config.disable.length)return!0;if(void 0===a)return!1;for(var i=!!w.config.enable,o=null!==(t=w.config.enable)&&void 0!==t?t:w.config.disable,r=0,l=void 0;r<o.length;r++){if("function"==typeof(l=o[r])&&l(a))return i;if(l instanceof Date&&void 0!==a&&l.getTime()===a.getTime())return i;if("string"==typeof l){var c=w.parseDate(l,void 0,!0);return c&&c.getTime()===a.getTime()?i:!i}if("object"==typeof l&&void 0!==a&&l.from&&l.to&&a.getTime()>=l.from.getTime()&&a.getTime()<=l.to.getTime())return i}return!i}function te(e){return void 0!==w.daysContainer&&(-1===e.className.indexOf("hidden")&&-1===e.className.indexOf("flatpickr-disabled")&&w.daysContainer.contains(e))}function ae(e){var n=e.target===w._input,t=w._input.value.trimEnd()!==Me();!n||!t||e.relatedTarget&&Q(e.relatedTarget)||w.setDate(w._input.value,!0,e.target===w.altInput?w.config.altFormat:w.config.dateFormat)}function ie(e){var n=g(e),t=w.config.wrap?p.contains(n):n===w._input,a=w.config.allowInput,i=w.isOpen&&(!a||!t),o=w.config.inline&&t&&!a;if(13===e.keyCode&&t){if(a)return w.setDate(w._input.value,!0,n===w.altInput?w.config.altFormat:w.config.dateFormat),w.close(),n.blur();w.open()}else if(Q(n)||i||o){var r=!!w.timeContainer&&w.timeContainer.contains(n);switch(e.keyCode){case 13:r?(e.preventDefault(),_(),fe()):me(e);break;case 27:e.preventDefault(),fe();break;case 8:case 46:t&&!w.config.allowInput&&(e.preventDefault(),w.clear());break;case 37:case 39:if(r||t)w.hourElement&&w.hourElement.focus();else{e.preventDefault();var l=k();if(void 0!==w.daysContainer&&(!1===a||l&&te(l))){var c=39===e.keyCode?1:-1;e.ctrlKey?(e.stopPropagation(),Z(c),J(B(1),0)):J(void 0,c)}}break;case 38:case 40:e.preventDefault();var s=40===e.keyCode?1:-1;w.daysContainer&&void 0!==n.$i||n===w.input||n===w.altInput?e.ctrlKey?(e.stopPropagation(),ee(w.currentYear-s),J(B(1),0)):r||J(void 0,7*s):n===w.currentYearElement?ee(w.currentYear-s):w.config.enableTime&&(!r&&w.hourElement&&w.hourElement.focus(),_(e),w._debouncedChange());break;case 9:if(r){var d=[w.hourElement,w.minuteElement,w.secondElement,w.amPM].concat(w.pluginElements).filter((function(e){return e})),u=d.indexOf(n);if(-1!==u){var f=d[u+(e.shiftKey?-1:1)];e.preventDefault(),(f||w._input).focus()}}else!w.config.noCalendar&&w.daysContainer&&w.daysContainer.contains(n)&&e.shiftKey&&(e.preventDefault(),w._input.focus())}}if(void 0!==w.amPM&&n===w.amPM)switch(e.key){case w.l10n.amPM[0].charAt(0):case w.l10n.amPM[0].charAt(0).toLowerCase():w.amPM.textContent=w.l10n.amPM[0],O(),ye();break;case w.l10n.amPM[1].charAt(0):case w.l10n.amPM[1].charAt(0).toLowerCase():w.amPM.textContent=w.l10n.amPM[1],O(),ye()}(t||Q(n))&&De("onKeyDown",e)}function oe(e,n){if(void 0===n&&(n="flatpickr-day"),1===w.selectedDates.length&&(!e||e.classList.contains(n)&&!e.classList.contains("flatpickr-disabled"))){for(var t=e?e.dateObj.getTime():w.days.firstElementChild.dateObj.getTime(),a=w.parseDate(w.selectedDates[0],void 0,!0).getTime(),i=Math.min(t,w.selectedDates[0].getTime()),o=Math.max(t,w.selectedDates[0].getTime()),r=!1,l=0,c=0,s=i;s<o;s+=x)ne(new Date(s),!0)||(r=r||s>i&&s<o,s<a&&(!l||s>l)?l=s:s>a&&(!c||s<c)&&(c=s));Array.from(w.rContainer.querySelectorAll("*:nth-child(-n+"+w.config.showMonths+") > ."+n)).forEach((function(n){var i,o,s,d=n.dateObj.getTime(),u=l>0&&d<l||c>0&&d>c;if(u)return n.classList.add("notAllowed"),void["inRange","startRange","endRange"].forEach((function(e){n.classList.remove(e)}));r&&!u||(["startRange","inRange","endRange","notAllowed"].forEach((function(e){n.classList.remove(e)})),void 0!==e&&(e.classList.add(t<=w.selectedDates[0].getTime()?"startRange":"endRange"),a<t&&d===a?n.classList.add("startRange"):a>t&&d===a&&n.classList.add("endRange"),d>=l&&(0===c||d<=c)&&(o=a,s=t,(i=d)>Math.min(o,s)&&i<Math.max(o,s))&&n.classList.add("inRange")))}))}}function re(){!w.isOpen||w.config.static||w.config.inline||de()}function le(e){return function(n){var t=w.config["_"+e+"Date"]=w.parseDate(n,w.config.dateFormat),a=w.config["_"+("min"===e?"max":"min")+"Date"];void 0!==t&&(w["min"===e?"minDateHasTime":"maxDateHasTime"]=t.getHours()>0||t.getMinutes()>0||t.getSeconds()>0),w.selectedDates&&(w.selectedDates=w.selectedDates.filter((function(e){return ne(e)})),w.selectedDates.length||"min"!==e||F(t),ye()),w.daysContainer&&(ue(),void 0!==t?w.currentYearElement[e]=t.getFullYear().toString():w.currentYearElement.removeAttribute(e),w.currentYearElement.disabled=!!a&&void 0!==t&&a.getFullYear()===t.getFullYear())}}function ce(){return w.config.wrap?p.querySelector("[data-input]"):p}function se(){"object"!=typeof w.config.locale&&void 0===I.l10ns[w.config.locale]&&w.config.errorHandler(new Error("flatpickr: invalid locale "+w.config.locale)),w.l10n=e(e({},I.l10ns.default),"object"==typeof w.config.locale?w.config.locale:"default"!==w.config.locale?I.l10ns[w.config.locale]:void 0),D.D="("+w.l10n.weekdays.shorthand.join("|")+")",D.l="("+w.l10n.weekdays.longhand.join("|")+")",D.M="("+w.l10n.months.shorthand.join("|")+")",D.F="("+w.l10n.months.longhand.join("|")+")",D.K="("+w.l10n.amPM[0]+"|"+w.l10n.amPM[1]+"|"+w.l10n.amPM[0].toLowerCase()+"|"+w.l10n.amPM[1].toLowerCase()+")",void 0===e(e({},v),JSON.parse(JSON.stringify(p.dataset||{}))).time_24hr&&void 0===I.defaultConfig.time_24hr&&(w.config.time_24hr=w.l10n.time_24hr),w.formatDate=b(w),w.parseDate=C({config:w.config,l10n:w.l10n})}function de(e){if("function"!=typeof w.config.position){if(void 0!==w.calendarContainer){De("onPreCalendarPosition");var n=e||w._positionElement,t=Array.prototype.reduce.call(w.calendarContainer.children,(function(e,n){return e+n.offsetHeight}),0),a=w.calendarContainer.offsetWidth,i=w.config.position.split(" "),o=i[0],r=i.length>1?i[1]:null,l=n.getBoundingClientRect(),c=window.innerHeight-l.bottom,d="above"===o||"below"!==o&&c<t&&l.top>t,u=window.pageYOffset+l.top+(d?-t-2:n.offsetHeight+2);if(s(w.calendarContainer,"arrowTop",!d),s(w.calendarContainer,"arrowBottom",d),!w.config.inline){var f=window.pageXOffset+l.left,m=!1,g=!1;"center"===r?(f-=(a-l.width)/2,m=!0):"right"===r&&(f-=a-l.width,g=!0),s(w.calendarContainer,"arrowLeft",!m&&!g),s(w.calendarContainer,"arrowCenter",m),s(w.calendarContainer,"arrowRight",g);var p=window.document.body.offsetWidth-(window.pageXOffset+l.right),h=f+a>window.document.body.offsetWidth,v=p+a>window.document.body.offsetWidth;if(s(w.calendarContainer,"rightMost",h),!w.config.static)if(w.calendarContainer.style.top=u+"px",h)if(v){var D=function(){for(var e=null,n=0;n<document.styleSheets.length;n++){var t=document.styleSheets[n];if(t.cssRules){try{t.cssRules}catch(e){continue}e=t;break}}return null!=e?e:(a=document.createElement("style"),document.head.appendChild(a),a.sheet);var a}();if(void 0===D)return;var b=window.document.body.offsetWidth,C=Math.max(0,b/2-a/2),M=D.cssRules.length,y="{left:"+l.left+"px;right:auto;}";s(w.calendarContainer,"rightMost",!1),s(w.calendarContainer,"centerMost",!0),D.insertRule(".flatpickr-calendar.centerMost:before,.flatpickr-calendar.centerMost:after"+y,M),w.calendarContainer.style.left=C+"px",w.calendarContainer.style.right="auto"}else w.calendarContainer.style.left="auto",w.calendarContainer.style.right=p+"px";else w.calendarContainer.style.left=f+"px",w.calendarContainer.style.right="auto"}}}else w.config.position(w,e)}function ue(){w.config.noCalendar||w.isMobile||(q(),Ce(),U())}function fe(){w._input.focus(),-1!==window.navigator.userAgent.indexOf("MSIE")||void 0!==navigator.msMaxTouchPoints?setTimeout(w.close,0):w.close()}function me(e){e.preventDefault(),e.stopPropagation();var n=f(g(e),(function(e){return e.classList&&e.classList.contains("flatpickr-day")&&!e.classList.contains("flatpickr-disabled")&&!e.classList.contains("notAllowed")}));if(void 0!==n){var t=n,a=w.latestSelectedDateObj=new Date(t.dateObj.getTime()),i=(a.getMonth()<w.currentMonth||a.getMonth()>w.currentMonth+w.config.showMonths-1)&&"range"!==w.config.mode;if(w.selectedDateElem=t,"single"===w.config.mode)w.selectedDates=[a];else if("multiple"===w.config.mode){var o=be(a);o?w.selectedDates.splice(parseInt(o),1):w.selectedDates.push(a)}else"range"===w.config.mode&&(2===w.selectedDates.length&&w.clear(!1,!1),w.latestSelectedDateObj=a,w.selectedDates.push(a),0!==M(a,w.selectedDates[0],!0)&&w.selectedDates.sort((function(e,n){return e.getTime()-n.getTime()})));if(O(),i){var r=w.currentYear!==a.getFullYear();w.currentYear=a.getFullYear(),w.currentMonth=a.getMonth(),r&&(De("onYearChange"),q()),De("onMonthChange")}if(Ce(),U(),ye(),i||"range"===w.config.mode||1!==w.config.showMonths?void 0!==w.selectedDateElem&&void 0===w.hourElement&&w.selectedDateElem&&w.selectedDateElem.focus():W(t),void 0!==w.hourElement&&void 0!==w.hourElement&&w.hourElement.focus(),w.config.closeOnSelect){var l="single"===w.config.mode&&!w.config.enableTime,c="range"===w.config.mode&&2===w.selectedDates.length&&!w.config.enableTime;(l||c)&&fe()}Y()}}w.parseDate=C({config:w.config,l10n:w.l10n}),w._handlers=[],w.pluginElements=[],w.loadedPlugins=[],w._bind=P,w._setHoursFromDate=F,w._positionCalendar=de,w.changeMonth=Z,w.changeYear=ee,w.clear=function(e,n){void 0===e&&(e=!0);void 0===n&&(n=!0);w.input.value="",void 0!==w.altInput&&(w.altInput.value="");void 0!==w.mobileInput&&(w.mobileInput.value="");w.selectedDates=[],w.latestSelectedDateObj=void 0,!0===n&&(w.currentYear=w._initialDate.getFullYear(),w.currentMonth=w._initialDate.getMonth());if(!0===w.config.enableTime){var t=E(w.config),a=t.hours,i=t.minutes,o=t.seconds;A(a,i,o)}w.redraw(),e&&De("onChange")},w.close=function(){w.isOpen=!1,w.isMobile||(void 0!==w.calendarContainer&&w.calendarContainer.classList.remove("open"),void 0!==w._input&&w._input.classList.remove("active"));De("onClose")},w.onMouseOver=oe,w._createElement=d,w.createDay=R,w.destroy=function(){void 0!==w.config&&De("onDestroy");for(var e=w._handlers.length;e--;)w._handlers[e].remove();if(w._handlers=[],w.mobileInput)w.mobileInput.parentNode&&w.mobileInput.parentNode.removeChild(w.mobileInput),w.mobileInput=void 0;else if(w.calendarContainer&&w.calendarContainer.parentNode)if(w.config.static&&w.calendarContainer.parentNode){var n=w.calendarContainer.parentNode;if(n.lastChild&&n.removeChild(n.lastChild),n.parentNode){for(;n.firstChild;)n.parentNode.insertBefore(n.firstChild,n);n.parentNode.removeChild(n)}}else w.calendarContainer.parentNode.removeChild(w.calendarContainer);w.altInput&&(w.input.type="text",w.altInput.parentNode&&w.altInput.parentNode.removeChild(w.altInput),delete w.altInput);w.input&&(w.input.type=w.input._type,w.input.classList.remove("flatpickr-input"),w.input.removeAttribute("readonly"));["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach((function(e){try{delete w[e]}catch(e){}}))},w.isEnabled=ne,w.jumpToDate=j,w.updateValue=ye,w.open=function(e,n){void 0===n&&(n=w._positionElement);if(!0===w.isMobile){if(e){e.preventDefault();var t=g(e);t&&t.blur()}return void 0!==w.mobileInput&&(w.mobileInput.focus(),w.mobileInput.click()),void De("onOpen")}if(w._input.disabled||w.config.inline)return;var a=w.isOpen;w.isOpen=!0,a||(w.calendarContainer.classList.add("open"),w._input.classList.add("active"),De("onOpen"),de(n));!0===w.config.enableTime&&!0===w.config.noCalendar&&(!1!==w.config.allowInput||void 0!==e&&w.timeContainer.contains(e.relatedTarget)||setTimeout((function(){return w.hourElement.select()}),50))},w.redraw=ue,w.set=function(e,n){if(null!==e&&"object"==typeof e)for(var a in Object.assign(w.config,e),e)void 0!==ge[a]&&ge[a].forEach((function(e){return e()}));else w.config[e]=n,void 0!==ge[e]?ge[e].forEach((function(e){return e()})):t.indexOf(e)>-1&&(w.config[e]=c(n));w.redraw(),ye(!0)},w.setDate=function(e,n,t){void 0===n&&(n=!1);void 0===t&&(t=w.config.dateFormat);if(0!==e&&!e||e instanceof Array&&0===e.length)return w.clear(n);pe(e,t),w.latestSelectedDateObj=w.selectedDates[w.selectedDates.length-1],w.redraw(),j(void 0,n),F(),0===w.selectedDates.length&&w.clear(!1);ye(n),n&&De("onChange")},w.toggle=function(e){if(!0===w.isOpen)return w.close();w.open(e)};var ge={locale:[se,G],showMonths:[V,S,z],minDate:[j],maxDate:[j],positionElement:[ve],clickOpens:[function(){!0===w.config.clickOpens?(P(w._input,"focus",w.open),P(w._input,"click",w.open)):(w._input.removeEventListener("focus",w.open),w._input.removeEventListener("click",w.open))}]};function pe(e,n){var t=[];if(e instanceof Array)t=e.map((function(e){return w.parseDate(e,n)}));else if(e instanceof Date||"number"==typeof e)t=[w.parseDate(e,n)];else if("string"==typeof e)switch(w.config.mode){case"single":case"time":t=[w.parseDate(e,n)];break;case"multiple":t=e.split(w.config.conjunction).map((function(e){return w.parseDate(e,n)}));break;case"range":t=e.split(w.l10n.rangeSeparator).map((function(e){return w.parseDate(e,n)}))}else w.config.errorHandler(new Error("Invalid date supplied: "+JSON.stringify(e)));w.selectedDates=w.config.allowInvalidPreload?t:t.filter((function(e){return e instanceof Date&&ne(e,!1)})),"range"===w.config.mode&&w.selectedDates.sort((function(e,n){return e.getTime()-n.getTime()}))}function he(e){return e.slice().map((function(e){return"string"==typeof e||"number"==typeof e||e instanceof Date?w.parseDate(e,void 0,!0):e&&"object"==typeof e&&e.from&&e.to?{from:w.parseDate(e.from,void 0),to:w.parseDate(e.to,void 0)}:e})).filter((function(e){return e}))}function ve(){w._positionElement=w.config.positionElement||w._input}function De(e,n){if(void 0!==w.config){var t=w.config[e];if(void 0!==t&&t.length>0)for(var a=0;t[a]&&a<t.length;a++)t[a](w.selectedDates,w.input.value,w,n);"onChange"===e&&(w.input.dispatchEvent(we("change")),w.input.dispatchEvent(we("input")))}}function we(e){var n=document.createEvent("Event");return n.initEvent(e,!0,!0),n}function be(e){for(var n=0;n<w.selectedDates.length;n++){var t=w.selectedDates[n];if(t instanceof Date&&0===M(t,e))return""+n}return!1}function Ce(){w.config.noCalendar||w.isMobile||!w.monthNav||(w.yearElements.forEach((function(e,n){var t=new Date(w.currentYear,w.currentMonth,1);t.setMonth(w.currentMonth+n),w.config.showMonths>1||"static"===w.config.monthSelectorType?w.monthElements[n].textContent=h(t.getMonth(),w.config.shorthandCurrentMonth,w.l10n)+" ":w.monthsDropdownContainer.value=t.getMonth().toString(),e.value=t.getFullYear().toString()})),w._hidePrevMonthArrow=void 0!==w.config.minDate&&(w.currentYear===w.config.minDate.getFullYear()?w.currentMonth<=w.config.minDate.getMonth():w.currentYear<w.config.minDate.getFullYear()),w._hideNextMonthArrow=void 0!==w.config.maxDate&&(w.currentYear===w.config.maxDate.getFullYear()?w.currentMonth+1>w.config.maxDate.getMonth():w.currentYear>w.config.maxDate.getFullYear()))}function Me(e){var n=e||(w.config.altInput?w.config.altFormat:w.config.dateFormat);return w.selectedDates.map((function(e){return w.formatDate(e,n)})).filter((function(e,n,t){return"range"!==w.config.mode||w.config.enableTime||t.indexOf(e)===n})).join("range"!==w.config.mode?w.config.conjunction:w.l10n.rangeSeparator)}function ye(e){void 0===e&&(e=!0),void 0!==w.mobileInput&&w.mobileFormatStr&&(w.mobileInput.value=void 0!==w.latestSelectedDateObj?w.formatDate(w.latestSelectedDateObj,w.mobileFormatStr):""),w.input.value=Me(w.config.dateFormat),void 0!==w.altInput&&(w.altInput.value=Me(w.config.altFormat)),!1!==e&&De("onValueUpdate")}function xe(e){var n=g(e),t=w.prevMonthNav.contains(n),a=w.nextMonthNav.contains(n);t||a?Z(t?-1:1):w.yearElements.indexOf(n)>=0?n.select():n.classList.contains("arrowUp")?w.changeYear(w.currentYear+1):n.classList.contains("arrowDown")&&w.changeYear(w.currentYear-1)}return function(){w.element=w.input=p,w.isOpen=!1,function(){var n=["wrap","weekNumbers","allowInput","allowInvalidPreload","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],i=e(e({},JSON.parse(JSON.stringify(p.dataset||{}))),v),o={};w.config.parseDate=i.parseDate,w.config.formatDate=i.formatDate,Object.defineProperty(w.config,"enable",{get:function(){return w.config._enable},set:function(e){w.config._enable=he(e)}}),Object.defineProperty(w.config,"disable",{get:function(){return w.config._disable},set:function(e){w.config._disable=he(e)}});var r="time"===i.mode;if(!i.dateFormat&&(i.enableTime||r)){var l=I.defaultConfig.dateFormat||a.dateFormat;o.dateFormat=i.noCalendar||r?"H:i"+(i.enableSeconds?":S":""):l+" H:i"+(i.enableSeconds?":S":"")}if(i.altInput&&(i.enableTime||r)&&!i.altFormat){var s=I.defaultConfig.altFormat||a.altFormat;o.altFormat=i.noCalendar||r?"h:i"+(i.enableSeconds?":S K":" K"):s+" h:i"+(i.enableSeconds?":S":"")+" K"}Object.defineProperty(w.config,"minDate",{get:function(){return w.config._minDate},set:le("min")}),Object.defineProperty(w.config,"maxDate",{get:function(){return w.config._maxDate},set:le("max")});var d=function(e){return function(n){w.config["min"===e?"_minTime":"_maxTime"]=w.parseDate(n,"H:i:S")}};Object.defineProperty(w.config,"minTime",{get:function(){return w.config._minTime},set:d("min")}),Object.defineProperty(w.config,"maxTime",{get:function(){return w.config._maxTime},set:d("max")}),"time"===i.mode&&(w.config.noCalendar=!0,w.config.enableTime=!0);Object.assign(w.config,o,i);for(var u=0;u<n.length;u++)w.config[n[u]]=!0===w.config[n[u]]||"true"===w.config[n[u]];t.filter((function(e){return void 0!==w.config[e]})).forEach((function(e){w.config[e]=c(w.config[e]||[]).map(T)})),w.isMobile=!w.config.disableMobile&&!w.config.inline&&"single"===w.config.mode&&!w.config.disable.length&&!w.config.enable&&!w.config.weekNumbers&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);for(u=0;u<w.config.plugins.length;u++){var f=w.config.plugins[u](w)||{};for(var m in f)t.indexOf(m)>-1?w.config[m]=c(f[m]).map(T).concat(w.config[m]):void 0===i[m]&&(w.config[m]=f[m])}i.altInputClass||(w.config.altInputClass=ce().className+" "+w.config.altInputClass);De("onParseConfig")}(),se(),function(){if(w.input=ce(),!w.input)return void w.config.errorHandler(new Error("Invalid input element specified"));w.input._type=w.input.type,w.input.type="text",w.input.classList.add("flatpickr-input"),w._input=w.input,w.config.altInput&&(w.altInput=d(w.input.nodeName,w.config.altInputClass),w._input=w.altInput,w.altInput.placeholder=w.input.placeholder,w.altInput.disabled=w.input.disabled,w.altInput.required=w.input.required,w.altInput.tabIndex=w.input.tabIndex,w.altInput.type="text",w.input.setAttribute("type","hidden"),!w.config.static&&w.input.parentNode&&w.input.parentNode.insertBefore(w.altInput,w.input.nextSibling));w.config.allowInput||w._input.setAttribute("readonly","readonly");ve()}(),function(){w.selectedDates=[],w.now=w.parseDate(w.config.now)||new Date;var e=w.config.defaultDate||("INPUT"!==w.input.nodeName&&"TEXTAREA"!==w.input.nodeName||!w.input.placeholder||w.input.value!==w.input.placeholder?w.input.value:null);e&&pe(e,w.config.dateFormat);w._initialDate=w.selectedDates.length>0?w.selectedDates[0]:w.config.minDate&&w.config.minDate.getTime()>w.now.getTime()?w.config.minDate:w.config.maxDate&&w.config.maxDate.getTime()<w.now.getTime()?w.config.maxDate:w.now,w.currentYear=w._initialDate.getFullYear(),w.currentMonth=w._initialDate.getMonth(),w.selectedDates.length>0&&(w.latestSelectedDateObj=w.selectedDates[0]);void 0!==w.config.minTime&&(w.config.minTime=w.parseDate(w.config.minTime,"H:i"));void 0!==w.config.maxTime&&(w.config.maxTime=w.parseDate(w.config.maxTime,"H:i"));w.minDateHasTime=!!w.config.minDate&&(w.config.minDate.getHours()>0||w.config.minDate.getMinutes()>0||w.config.minDate.getSeconds()>0),w.maxDateHasTime=!!w.config.maxDate&&(w.config.maxDate.getHours()>0||w.config.maxDate.getMinutes()>0||w.config.maxDate.getSeconds()>0)}(),w.utils={getDaysInMonth:function(e,n){return void 0===e&&(e=w.currentMonth),void 0===n&&(n=w.currentYear),1===e&&(n%4==0&&n%100!=0||n%400==0)?29:w.l10n.daysInMonth[e]}},w.isMobile||function(){var e=window.document.createDocumentFragment();if(w.calendarContainer=d("div","flatpickr-calendar"),w.calendarContainer.tabIndex=-1,!w.config.noCalendar){if(e.appendChild((w.monthNav=d("div","flatpickr-months"),w.yearElements=[],w.monthElements=[],w.prevMonthNav=d("span","flatpickr-prev-month"),w.prevMonthNav.innerHTML=w.config.prevArrow,w.nextMonthNav=d("span","flatpickr-next-month"),w.nextMonthNav.innerHTML=w.config.nextArrow,V(),Object.defineProperty(w,"_hidePrevMonthArrow",{get:function(){return w.__hidePrevMonthArrow},set:function(e){w.__hidePrevMonthArrow!==e&&(s(w.prevMonthNav,"flatpickr-disabled",e),w.__hidePrevMonthArrow=e)}}),Object.defineProperty(w,"_hideNextMonthArrow",{get:function(){return w.__hideNextMonthArrow},set:function(e){w.__hideNextMonthArrow!==e&&(s(w.nextMonthNav,"flatpickr-disabled",e),w.__hideNextMonthArrow=e)}}),w.currentYearElement=w.yearElements[0],Ce(),w.monthNav)),w.innerContainer=d("div","flatpickr-innerContainer"),w.config.weekNumbers){var n=function(){w.calendarContainer.classList.add("hasWeeks");var e=d("div","flatpickr-weekwrapper");e.appendChild(d("span","flatpickr-weekday",w.l10n.weekAbbreviation));var n=d("div","flatpickr-weeks");return e.appendChild(n),{weekWrapper:e,weekNumbers:n}}(),t=n.weekWrapper,a=n.weekNumbers;w.innerContainer.appendChild(t),w.weekNumbers=a,w.weekWrapper=t}w.rContainer=d("div","flatpickr-rContainer"),w.rContainer.appendChild(z()),w.daysContainer||(w.daysContainer=d("div","flatpickr-days"),w.daysContainer.tabIndex=-1),U(),w.rContainer.appendChild(w.daysContainer),w.innerContainer.appendChild(w.rContainer),e.appendChild(w.innerContainer)}w.config.enableTime&&e.appendChild(function(){w.calendarContainer.classList.add("hasTime"),w.config.noCalendar&&w.calendarContainer.classList.add("noCalendar");var e=E(w.config);w.timeContainer=d("div","flatpickr-time"),w.timeContainer.tabIndex=-1;var n=d("span","flatpickr-time-separator",":"),t=m("flatpickr-hour",{"aria-label":w.l10n.hourAriaLabel});w.hourElement=t.getElementsByTagName("input")[0];var a=m("flatpickr-minute",{"aria-label":w.l10n.minuteAriaLabel});w.minuteElement=a.getElementsByTagName("input")[0],w.hourElement.tabIndex=w.minuteElement.tabIndex=-1,w.hourElement.value=o(w.latestSelectedDateObj?w.latestSelectedDateObj.getHours():w.config.time_24hr?e.hours:function(e){switch(e%24){case 0:case 12:return 12;default:return e%12}}(e.hours)),w.minuteElement.value=o(w.latestSelectedDateObj?w.latestSelectedDateObj.getMinutes():e.minutes),w.hourElement.setAttribute("step",w.config.hourIncrement.toString()),w.minuteElement.setAttribute("step",w.config.minuteIncrement.toString()),w.hourElement.setAttribute("min",w.config.time_24hr?"0":"1"),w.hourElement.setAttribute("max",w.config.time_24hr?"23":"12"),w.hourElement.setAttribute("maxlength","2"),w.minuteElement.setAttribute("min","0"),w.minuteElement.setAttribute("max","59"),w.minuteElement.setAttribute("maxlength","2"),w.timeContainer.appendChild(t),w.timeContainer.appendChild(n),w.timeContainer.appendChild(a),w.config.time_24hr&&w.timeContainer.classList.add("time24hr");if(w.config.enableSeconds){w.timeContainer.classList.add("hasSeconds");var i=m("flatpickr-second");w.secondElement=i.getElementsByTagName("input")[0],w.secondElement.value=o(w.latestSelectedDateObj?w.latestSelectedDateObj.getSeconds():e.seconds),w.secondElement.setAttribute("step",w.minuteElement.getAttribute("step")),w.secondElement.setAttribute("min","0"),w.secondElement.setAttribute("max","59"),w.secondElement.setAttribute("maxlength","2"),w.timeContainer.appendChild(d("span","flatpickr-time-separator",":")),w.timeContainer.appendChild(i)}w.config.time_24hr||(w.amPM=d("span","flatpickr-am-pm",w.l10n.amPM[r((w.latestSelectedDateObj?w.hourElement.value:w.config.defaultHour)>11)]),w.amPM.title=w.l10n.toggleTitle,w.amPM.tabIndex=-1,w.timeContainer.appendChild(w.amPM));return w.timeContainer}());s(w.calendarContainer,"rangeMode","range"===w.config.mode),s(w.calendarContainer,"animate",!0===w.config.animate),s(w.calendarContainer,"multiMonth",w.config.showMonths>1),w.calendarContainer.appendChild(e);var i=void 0!==w.config.appendTo&&void 0!==w.config.appendTo.nodeType;if((w.config.inline||w.config.static)&&(w.calendarContainer.classList.add(w.config.inline?"inline":"static"),w.config.inline&&(!i&&w.element.parentNode?w.element.parentNode.insertBefore(w.calendarContainer,w._input.nextSibling):void 0!==w.config.appendTo&&w.config.appendTo.appendChild(w.calendarContainer)),w.config.static)){var l=d("div","flatpickr-wrapper");w.element.parentNode&&w.element.parentNode.insertBefore(l,w.element),l.appendChild(w.element),w.altInput&&l.appendChild(w.altInput),l.appendChild(w.calendarContainer)}w.config.static||w.config.inline||(void 0!==w.config.appendTo?w.config.appendTo:window.document.body).appendChild(w.calendarContainer)}(),function(){w.config.wrap&&["open","close","toggle","clear"].forEach((function(e){Array.prototype.forEach.call(w.element.querySelectorAll("[data-"+e+"]"),(function(n){return P(n,"click",w[e])}))}));if(w.isMobile)return void function(){var e=w.config.enableTime?w.config.noCalendar?"time":"datetime-local":"date";w.mobileInput=d("input",w.input.className+" flatpickr-mobile"),w.mobileInput.tabIndex=1,w.mobileInput.type=e,w.mobileInput.disabled=w.input.disabled,w.mobileInput.required=w.input.required,w.mobileInput.placeholder=w.input.placeholder,w.mobileFormatStr="datetime-local"===e?"Y-m-d\\TH:i:S":"date"===e?"Y-m-d":"H:i:S",w.selectedDates.length>0&&(w.mobileInput.defaultValue=w.mobileInput.value=w.formatDate(w.selectedDates[0],w.mobileFormatStr));w.config.minDate&&(w.mobileInput.min=w.formatDate(w.config.minDate,"Y-m-d"));w.config.maxDate&&(w.mobileInput.max=w.formatDate(w.config.maxDate,"Y-m-d"));w.input.getAttribute("step")&&(w.mobileInput.step=String(w.input.getAttribute("step")));w.input.type="hidden",void 0!==w.altInput&&(w.altInput.type="hidden");try{w.input.parentNode&&w.input.parentNode.insertBefore(w.mobileInput,w.input.nextSibling)}catch(e){}P(w.mobileInput,"change",(function(e){w.setDate(g(e).value,!1,w.mobileFormatStr),De("onChange"),De("onClose")}))}();var e=l(re,50);w._debouncedChange=l(Y,300),w.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&P(w.daysContainer,"mouseover",(function(e){"range"===w.config.mode&&oe(g(e))}));P(w._input,"keydown",ie),void 0!==w.calendarContainer&&P(w.calendarContainer,"keydown",ie);w.config.inline||w.config.static||P(window,"resize",e);void 0!==window.ontouchstart?P(window.document,"touchstart",X):P(window.document,"mousedown",X);P(window.document,"focus",X,{capture:!0}),!0===w.config.clickOpens&&(P(w._input,"focus",w.open),P(w._input,"click",w.open));void 0!==w.daysContainer&&(P(w.monthNav,"click",xe),P(w.monthNav,["keyup","increment"],N),P(w.daysContainer,"click",me));if(void 0!==w.timeContainer&&void 0!==w.minuteElement&&void 0!==w.hourElement){var n=function(e){return g(e).select()};P(w.timeContainer,["increment"],_),P(w.timeContainer,"blur",_,{capture:!0}),P(w.timeContainer,"click",H),P([w.hourElement,w.minuteElement],["focus","click"],n),void 0!==w.secondElement&&P(w.secondElement,"focus",(function(){return w.secondElement&&w.secondElement.select()})),void 0!==w.amPM&&P(w.amPM,"click",(function(e){_(e)}))}w.config.allowInput&&P(w._input,"blur",ae)}(),(w.selectedDates.length||w.config.noCalendar)&&(w.config.enableTime&&F(w.config.noCalendar?w.latestSelectedDateObj:void 0),ye(!1)),S();var n=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);!w.isMobile&&n&&de(),De("onReady")}(),w}function T(e,n){for(var t=Array.prototype.slice.call(e).filter((function(e){return e instanceof HTMLElement})),a=[],i=0;i<t.length;i++){var o=t[i];try{if(null!==o.getAttribute("data-fp-omit"))continue;void 0!==o._flatpickr&&(o._flatpickr.destroy(),o._flatpickr=void 0),o._flatpickr=k(o,n||{}),a.push(o._flatpickr)}catch(e){console.error(e)}}return 1===a.length?a[0]:a}"undefined"!=typeof HTMLElement&&"undefined"!=typeof HTMLCollection&&"undefined"!=typeof NodeList&&(HTMLCollection.prototype.flatpickr=NodeList.prototype.flatpickr=function(e){return T(this,e)},HTMLElement.prototype.flatpickr=function(e){return T([this],e)});var I=function(e,n){return"string"==typeof e?T(window.document.querySelectorAll(e),n):e instanceof Node?T([e],n):T(e,n)};return I.defaultConfig={},I.l10ns={en:e({},i),default:e({},i)},I.localize=function(n){I.l10ns.default=e(e({},I.l10ns.default),n)},I.setDefaults=function(n){I.defaultConfig=e(e({},I.defaultConfig),n)},I.parseDate=C({}),I.formatDate=b({}),I.compareDates=M,"undefined"!=typeof jQuery&&void 0!==jQuery.fn&&(jQuery.fn.flatpickr=function(e){return T(this,e)}),Date.prototype.fp_incr=function(e){return new Date(this.getFullYear(),this.getMonth(),this.getDate()+("string"==typeof e?parseInt(e,10):e))},"undefined"!=typeof window&&(window.flatpickr=I),I}));
(()=>{"use strict";var e,r,a,n={},b={};function __webpack_require__(e){var r=b[e];if(void 0!==r)return r.exports;var a=b[e]={exports:{}};return n[e](a,a.exports,__webpack_require__),a.exports}__webpack_require__.m=n,e=[],__webpack_require__.O=(r,a,n,b)=>{if(!a){var i=1/0;for(o=0;o<e.length;o++){for(var[a,n,b]=e[o],c=!0,t=0;t<a.length;t++)(!1&b||i>=b)&&Object.keys(__webpack_require__.O).every((e=>__webpack_require__.O[e](a[t])))?a.splice(t--,1):(c=!1,b<i&&(i=b));if(c){e.splice(o--,1);var _=n();void 0!==_&&(r=_)}}return r}b=b||0;for(var o=e.length;o>0&&e[o-1][2]>b;o--)e[o]=e[o-1];e[o]=[a,n,b]},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((r,a)=>(__webpack_require__.f[a](e,r),r)),[])),__webpack_require__.u=e=>635===e?"code-highlight.b9addbc842a50347c9ab.bundle.min.js":519===e?"video-playlist.909c41acbc73cb741e9d.bundle.min.js":375===e?"paypal-button.f4f64e46173f50701949.bundle.min.js":786===e?"0726b2d81686a5392236.bundle.min.js":857===e?"stripe-button.49130d6eecb5ebc8afbd.bundle.min.js":581===e?"progress-tracker.8cccdda9737c272489fc.bundle.min.js":961===e?"animated-headline.c009d6fa482515df23f8.bundle.min.js":692===e?"media-carousel.8d26e5df1a1527329fde.bundle.min.js":897===e?"carousel.3620fca501cb18163600.bundle.min.js":416===e?"countdown.0e9e688751d29d07a8d3.bundle.min.js":292===e?"hotspot.5033ed75928eff79cb95.bundle.min.js":325===e?"form.71055747203b48a65a24.bundle.min.js":543===e?"gallery.06be1c07b9901f53d709.bundle.min.js":970===e?"lottie.a287ccfe024bea61e651.bundle.min.js":334===e?"nav-menu.8521a0597c50611efdc6.bundle.min.js":887===e?"popup.f7b15b2ca565b152bf98.bundle.min.js":535===e?"load-more.8b46f464e573feab5dd7.bundle.min.js":396===e?"posts.aec59265318492b89cb5.bundle.min.js":726===e?"portfolio.4cd5da34009c30cb5d70.bundle.min.js":316===e?"share-buttons.63d984f8c96d1e053bc0.bundle.min.js":829===e?"slides.c0029640cbdb48199471.bundle.min.js":158===e?"social.d71d263bd937f0906192.bundle.min.js":404===e?"table-of-contents.3be1ab725f562d10dd86.bundle.min.js":345===e?"archive-posts.16a93245d08246e5e540.bundle.min.js":798===e?"search-form.b7065999d77832a1b764.bundle.min.js":6===e?"woocommerce-menu-cart.54f2e75f6769dce707e2.bundle.min.js":80===e?"woocommerce-purchase-summary.88a2d8ca449739e34f9f.bundle.min.js":354===e?"woocommerce-checkout-page.6ba1f1f2aa99210fa1cf.bundle.min.js":4===e?"woocommerce-cart.480d117b95956d1f28a5.bundle.min.js":662===e?"woocommerce-my-account.d54826f355f9822b0ec0.bundle.min.js":621===e?"woocommerce-notices.00f9132bbbd683277a27.bundle.min.js":787===e?"product-add-to-cart.c32f5d5e404511d68720.bundle.min.js":993===e?"loop.89cc81d2188312a17a17.bundle.min.js":932===e?"loop-carousel.cd9a95b2e4dd2a239b81.bundle.min.js":550===e?"ajax-pagination.2090b5f4906bcda1dcc2.bundle.min.js":727===e?"mega-menu.82093824ddb3f5531ab4.bundle.min.js":87===e?"mega-menu-stretch-content.480e081cebe071d683e8.bundle.min.js":912===e?"menu-title-keyboard-handler.f0362773c21105d2c65c.bundle.min.js":33===e?"nested-carousel.db797a097fdc5532ef4a.bundle.min.js":225===e?"taxonomy-filter.a32526f3e4a201b5fce1.bundle.min.js":579===e?"off-canvas.137463f629e2b7cbaf02.bundle.min.js":1===e?"contact-buttons.99a987d66bcc2ade0ee6.bundle.min.js":61===e?"contact-buttons-var-10.16cf733dc3d3b250fef4.bundle.min.js":249===e?"floating-bars-var-2.75c36e8b0bacbac6105e.bundle.min.js":440===e?"floating-bars-var-3.cdf99fd0b063a0032d53.bundle.min.js":187===e?"search.5d88e65c03029f91931d.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={},a="elementor-pro:",__webpack_require__.l=(e,n,b,i)=>{if(r[e])r[e].push(n);else{var c,t;if(void 0!==b)for(var _=document.getElementsByTagName("script"),o=0;o<_.length;o++){var d=_[o];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==a+b){c=d;break}}c||(t=!0,(c=document.createElement("script")).charset="utf-8",c.timeout=120,__webpack_require__.nc&&c.setAttribute("nonce",__webpack_require__.nc),c.setAttribute("data-webpack",a+b),c.src=e),r[e]=[n];var onScriptComplete=(a,n)=>{c.onerror=c.onload=null,clearTimeout(u);var b=r[e];if(delete r[e],c.parentNode&&c.parentNode.removeChild(c),b&&b.forEach((e=>e(n))),a)return a(n)},u=setTimeout(onScriptComplete.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=onScriptComplete.bind(null,c.onerror),c.onload=onScriptComplete.bind(null,c.onload),t&&document.head.appendChild(c)}},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var r=__webpack_require__.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var a=r.getElementsByTagName("script");if(a.length)for(var n=a.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=a[n--].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={978:0};__webpack_require__.f.j=(r,a)=>{var n=__webpack_require__.o(e,r)?e[r]:void 0;if(0!==n)if(n)a.push(n[2]);else if(978!=r){var b=new Promise(((a,b)=>n=e[r]=[a,b]));a.push(n[2]=b);var i=__webpack_require__.p+__webpack_require__.u(r),c=new Error;__webpack_require__.l(i,(a=>{if(__webpack_require__.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var b=a&&("load"===a.type?"missing":a.type),i=a&&a.target&&a.target.src;c.message="Loading chunk "+r+" failed.\n("+b+": "+i+")",c.name="ChunkLoadError",c.type=b,c.request=i,n[1](c)}}),"chunk-"+r,r)}else e[r]=0},__webpack_require__.O.j=r=>0===e[r];var webpackJsonpCallback=(r,a)=>{var n,b,[i,c,t]=a,_=0;if(i.some((r=>0!==e[r]))){for(n in c)__webpack_require__.o(c,n)&&(__webpack_require__.m[n]=c[n]);if(t)var o=t(__webpack_require__)}for(r&&r(a);_<i.length;_++)b=i[_],__webpack_require__.o(e,b)&&e[b]&&e[b][0](),e[b]=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([[313],{3e3:(e,t,n)=>{"use strict";var s=n(6784);n(2258);var i=s(n(4906)),o=s(n(2450)),r=s(n(4409)),a=s(n(7937)),l=s(n(8098)),c=s(n(6275)),d=s(n(3268)),u=s(n(4992));class ElementorProFrontend extends elementorModules.ViewModule{onInit(){super.onInit(),this.config=ElementorProFrontendConfig,this.modules={},this.initOnReadyComponents()}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"),e=elementorFrontend.hooks.applyFilters("elementor-pro/frontend/handlers",e),jQuery.each(e,((e,t)=>{this.modules[e]=new t})),this.modules.linkActions={addAction:(...e)=>{elementorFrontend.utils.urlActions.addAction(...e)}}}onElementorFrontendInit(){this.initModules()}initOnReadyComponents(){this.utils={controls:new d.default,DropdownMenuHeightController:u.default}}}window.elementorProFrontend=new ElementorProFrontend},3268:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=class Controls{getControlValue(e,t,n){let s;return s="object"==typeof e[t]&&n?e[t][n]:e[t],s}getResponsiveControlValue(e,t,n=""){const s=elementorFrontend.getCurrentDeviceMode(),i=this.getControlValue(e,t,n);if("widescreen"===s){const s=this.getControlValue(e,`${t}_widescreen`,n);return s||0===s?s:i}const o=elementorFrontend.breakpoints.getActiveBreakpointsList({withDesktop:!0});let r=s,a=o.indexOf(s),l="";for(;a<=o.length;){if("desktop"===r){l=i;break}const s=`${t}_${r}`,c=this.getControlValue(e,s,n);if(c||0===c){l=c;break}a++,r=o[a]}return l}}},4992:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=class DropdownMenuHeightController{constructor(e){this.widgetConfig=e}calculateStickyMenuNavHeight(){this.widgetConfig.elements.$dropdownMenuContainer.css(this.widgetConfig.settings.menuHeightCssVarName,"");const e=this.widgetConfig.elements.$dropdownMenuContainer.offset().top-jQuery(window).scrollTop();return elementorFrontend.elements.$window.height()-e}calculateMenuTabContentHeight(e){return elementorFrontend.elements.$window.height()-e[0].getBoundingClientRect().top}isElementSticky(){return this.widgetConfig.elements.$element.hasClass("elementor-sticky")||this.widgetConfig.elements.$element.parents(".elementor-sticky").length}getMenuHeight(){return this.isElementSticky()?this.calculateStickyMenuNavHeight()+"px":this.widgetConfig.settings.dropdownMenuContainerMaxHeight}setMenuHeight(e){this.widgetConfig.elements.$dropdownMenuContainer.css(this.widgetConfig.settings.menuHeightCssVarName,e)}reassignMobileMenuHeight(){const e=this.isToggleActive()?this.getMenuHeight():0;return this.setMenuHeight(e)}reassignMenuHeight(e){if(!this.isElementSticky()||0===e.length)return;const t=elementorFrontend.elements.$window.height()-e[0].getBoundingClientRect().top;e.height()>t&&(e.css("height",this.calculateMenuTabContentHeight(e)+"px"),e.css("overflow-y","scroll"))}resetMenuHeight(e){this.isElementSticky()&&(e.css("height","initial"),e.css("overflow-y","visible"))}isToggleActive(){const e=this.widgetConfig.elements.$menuToggle;return this.widgetConfig.attributes?.menuToggleState?"true"===e.attr(this.widgetConfig.attributes.menuToggleState):e.hasClass(this.widgetConfig.classes.menuToggleActiveClass)}}},2258:(e,t,n)=>{"use strict";n.p=ElementorProFrontendConfig.urls.assets+"js/"},4409:(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(635).then(n.bind(n,7193))))}}t.default=_default},4906:(e,t,n)=>{"use strict";var s=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n(820));class _default extends elementorModules.Module{constructor(){super(),elementorFrontend.elementsHandler.attachHandler("global",i.default,null)}}t.default=_default},820:(e,t,n)=>{"use strict";var s=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n(739));class _default extends elementorModules.frontend.handlers.Base{__construct(...e){super.__construct(...e),this.toggle=elementorFrontend.debounce(this.toggle,200)}getDefaultSettings(){return{selectors:{container:".elementor-widget-container"}}}getDefaultElements(){const e=this.getSettings("selectors");let t=this.$element.find(e.container);return 0===t.length&&(t=this.$element),{$container:t}}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,r=this.$element;const a=this.getElementType();if("element"===n&&!["section","container"].includes(a)){let e;i=r,e="column"===a?".elementor-widget-wrap":".elementor-widget-container",o=r.find("> "+e),r=0===o.length?this.$element:o}const l={type:n,interactions:s,elementSettings:t,$element:r,$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 l.range||"fixed"!==this.getCurrentDeviceSetting("_position")||(l.range="page"),"fixed"===this.getCurrentDeviceSetting("_position")&&(l.isFixedPosition=!0),"background"===n&&"column"===this.getElementType()&&(l.addBackgroundLayerTo=" > .elementor-element-populated"),l}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();const e=window.matchMedia("(prefers-reduced-motion: reduce)");e&&e.matches||(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},3039:(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,...s){t.affectedRange&&(t.affectedRange.start>n&&(n=t.affectedRange.start),t.affectedRange.end<n&&(n=t.affectedRange.end)),this[e](t,n,...s)}refresh(){this.rulesVariables={},this.CSSTransformVariables=[],this.$element.css({transform:"",filter:"",opacity:"","will-change":""})}onInit(){this.$element=this.getSettings("$targetElement"),this.refresh()}}t.default=_default},3323:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;class _default extends elementorModules.ViewModule{__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)}onInsideViewport=()=>{this.run(),this.animationFrameRequest=requestAnimationFrame(this.onInsideViewport)};runCallback(...e){this.getSettings("callback")(...e)}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},5481:(e,t,n)=>{"use strict";var s=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n(3323));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}}},2647:(e,t,n)=>{"use strict";var s=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n(3323));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},739:(e,t,n)=>{"use strict";var s=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n(2647)),o=s(n(5481)),r=s(n(3039));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(){const e=this.getSettings();this.actions.setCSSTransformVariables(e.elementSettings),this.prepareSpecialActions(),jQuery.each(e.interactions,((e,t)=>{this.interactions[e]=new this.interactionsTypes[e]({motionFX:this,callback:(...e)=>{jQuery.each(t,((t,n)=>this.actions.runAction(t,n,...e)))}}),this.interactions[e].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},8098:(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(375).then(n.bind(n,466)))),elementorFrontend.elementsHandler.attachHandler("stripe-button",(()=>Promise.all([n.e(786),n.e(857)]).then(n.bind(n,9036))))}}t.default=_default},6275:(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(581).then(n.bind(n,287))))}}t.default=_default},2450:(e,t,n)=>{"use strict";var s=n(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n(2121));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},2121:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s=n(6550);t.default=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,isScrollSnapActive:(0,s.isScrollSnapActive)(),handleScrollbarWidth:elementorFrontend.isEditMode()},n=elementorFrontend.elements.$wpAdminBar,i=this.isContainerElement(this.$element[0])&&!this.isContainerElement(this.$element[0].parentElement);return n.length&&"top"===e.sticky&&"fixed"===n.css("position")&&(t.offset+=n.height()),e.sticky_parent&&!i&&(t.parent=".e-con, .e-con-inner, .elementor-widget-wrap"),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()},isContainerElement:e=>["e-con","e-con-inner"].some((t=>e?.classList.contains(t)))})},7937:(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(519).then(n.bind(n,4161)).then((({default:t})=>{elementorFrontend.elementsHandler.addHandler(t,{$element:e,toggleSelf:!1})}))}))}}t.default=_default},6550:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isScrollSnapActive=t.escapeHTML=void 0;t.escapeHTML=e=>{const t={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"};return e.replace(/[&<>'"]/g,(e=>t[e]||e))};t.isScrollSnapActive=()=>"yes"===(elementorFrontend.isEditMode()?elementor.settings.page.model.attributes?.scroll_snap:elementorFrontend.config.settings.page?.scroll_snap)},6784: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=3e3,e(e.s=t)}]);