PageSourceSearch

https://ecomobi.com/wp-content/plugins/anywhere-elementor-pro/build/index.js?ver=2.26

js ecomobi.com collected 2026-10-03 20:12:14 UTC 184,766 bytes, 4,780 lines download raw bytes

vendor: 3,684 bytes, lines 1-91
1/******/ (function(modules) { // webpackBootstrap
2/******/ 	// The module cache
3/******/ 	var installedModules = {};
4/******/
5/******/ 	// The require function
6/******/ 	function __webpack_require__(moduleId) {
7/******/
8/******/ 		// Check if module is in cache
9/******/ 		if(installedModules[moduleId]) {
10/******/ 			return installedModules[moduleId].exports;
11/******/ 		}
12/******/ 		// Create a new module (and put it into the cache)
13/******/ 		var module = installedModules[moduleId] = {
14/******/ 			i: moduleId,
15/******/ 			l: false,
16/******/ 			exports: {}
17/******/ 		};
18/******/
19/******/ 		// Execute the module function
20/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21/******/
22/******/ 		// Flag the module as loaded
23/******/ 		module.l = true;
24/******/
25/******/ 		// Return the exports of the module
26/******/ 		return module.exports;
27/******/ 	}
28/******/
29/******/
30/******/ 	// expose the modules object (__webpack_modules__)
31/******/ 	__webpack_require__.m = modules;
32/******/
33/******/ 	// expose the module cache
34/******/ 	__webpack_require__.c = installedModules;
35/******/
36/******/ 	// define getter function for harmony exports
37/******/ 	__webpack_require__.d = function(exports, name, getter) {
38/******/ 		if(!__webpack_require__.o(exports, name)) {
39/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
40/******/ 		}
41/******/ 	};
42/******/
43/******/ 	// define __esModule on exports
44/******/ 	__webpack_require__.r = function(exports) {
45/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47/******/ 		}
48/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
49/******/ 	};
50/******/
51/******/ 	// create a fake namespace object
52/******/ 	// mode & 1: value is a module id, require it
53/******/ 	// mode & 2: merge all properties of value into the ns
54/******/ 	// mode & 4: return value when already ns object
55/******/ 	// mode & 8|1: behave like require
56/******/ 	__webpack_require__.t = function(value, mode) {
57/******/ 		if(mode & 1) value = __webpack_require__(value);
58/******/ 		if(mode & 8) return value;
59/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60/******/ 		var ns = Object.create(null);
61/******/ 		__webpack_require__.r(ns);
62/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64/******/ 		return ns;
65/******/ 	};
66/******/
67/******/ 	// getDefaultExport function for compatibility with non-harmony modules
68/******/ 	__webpack_require__.n = function(module) {
69/******/ 		var getter = module && module.__esModule ?
70/******/ 			function getDefault() { return module['default']; } :
71/******/ 			function getModuleExports() { return module; };
72/******/ 		__webpack_require__.d(getter, 'a', getter);
73/******/ 		return getter;
74/******/ 	};
75/******/
76/******/ 	// Object.prototype.hasOwnProperty.call
77/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78/******/
79/******/ 	// __webpack_public_path__
80/******/ 	__webpack_require__.p = "";
81/******/
82/******/
83/******/ 	// Load entry module and return exports
84/******/ 	return __webpack_require__(__webpack_require__.s = 4);
85/******/ })
86/************************************************************************/
87/******/ ([
88/* 0 */
89/***/ (function(module, __webpack_exports__, __webpack_require__) {
90
91"use strict";
92// ESM COMPAT FLAG
93__webpack_require__.r(__webpack_exports__);
94
95// EXPORTS
96__webpack_require__.d(__webpack_exports__, "isEditMode", function() { return /* binding */ isEditMode; });
97__webpack_require__.d(__webpack_exports__, "SwiperBase", function() { return /* binding */ SwiperBase; });
98
99// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/validateNamespace.js
100/**
101 * Validate a namespace string.
102 *
103 * @param  {string} namespace The namespace to validate - should take the form
104 *                            `vendor/plugin/function`.
105 *
106 * @return {boolean}             Whether the namespace is valid.
107 */
108function validateNamespace(namespace) {
109  if ('string' !== typeof namespace || '' === namespace) {
110    // eslint-disable-next-line no-console
111    console.error('The namespace must be a non-empty string.');
112    return false;
113  }
114
115  if (!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(namespace)) {
116    // eslint-disable-next-line no-console
117    console.error('The namespace can only contain numbers, letters, dashes, periods, underscores and slashes.');
118    return false;
119  }
120
121  return true;
122}
123
124/* harmony default export */ var build_module_validateNamespace = (validateNamespace);
125//# sourceMappingURL=validateNamespace.js.map
126// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/validateHookName.js
127/**
128 * Validate a hookName string.
129 *
130 * @param  {string} hookName The hook name to validate. Should be a non empty string containing
131 *                           only numbers, letters, dashes, periods and underscores. Also,
132 *                           the hook name cannot begin with `__`.
133 *
134 * @return {boolean}            Whether the hook name is valid.
135 */
136function validateHookName(hookName) {
137  if ('string' !== typeof hookName || '' === hookName) {
138    // eslint-disable-next-line no-console
139    console.error('The hook name must be a non-empty string.');
140    return false;
141  }
142
143  if (/^__/.test(hookName)) {
144    // eslint-disable-next-line no-console
145    console.error('The hook name cannot begin with `__`.');
146    return false;
147  }
148
149  if (!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(hookName)) {
150    // eslint-disable-next-line no-console
151    console.error('The hook name can only contain numbers, letters, dashes, periods and underscores.');
152    return false;
153  }
154
155  return true;
156}
157
158/* harmony default export */ var build_module_validateHookName = (validateHookName);
159//# sourceMappingURL=validateHookName.js.map
160// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/createAddHook.js
161/**
162 * Internal dependencies
163 */
164
165
166
167/**
168 * Returns a function which, when invoked, will add a hook.
169 *
170 * @param  {Object}   hooks Stored hooks, keyed by hook name.
171 *
172 * @return {Function}       Function that adds a new hook.
173 */
174
175function createAddHook(hooks) {
176  /**
177   * Adds the hook to the appropriate hooks container.
178   *
179   * @param {string}   hookName  Name of hook to add
180   * @param {string}   namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.
181   * @param {Function} callback  Function to call when the hook is run
182   * @param {?number}  priority  Priority of this hook (default=10)
183   */
184  return function addHook(hookName, namespace, callback) {
185    var priority = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;
186
187    if (!build_module_validateHookName(hookName)) {
188      return;
189    }
190
191    if (!build_module_validateNamespace(namespace)) {
192      return;
193    }
194
195    if ('function' !== typeof callback) {
196      // eslint-disable-next-line no-console
197      console.error('The hook callback must be a function.');
198      return;
199    } // Validate numeric priority
200
201
202    if ('number' !== typeof priority) {
203      // eslint-disable-next-line no-console
204      console.error('If specified, the hook priority must be a number.');
205      return;
206    }
207
208    var handler = {
209      callback: callback,
210      priority: priority,
211      namespace: namespace
212    };
213
214    if (hooks[hookName]) {
215      // Find the correct insert index of the new hook.
216      var handlers = hooks[hookName].handlers;
217      var i;
218
219      for (i = handlers.length; i > 0; i--) {
220        if (priority >= handlers[i - 1].priority) {
221          break;
222        }
223      }
224
225      if (i === handlers.length) {
226        // If append, operate via direct assignment.
227        handlers[i] = handler;
228      } else {
229        // Otherwise, insert before index via splice.
230        handlers.splice(i, 0, handler);
231      }
231 // We may also be currently executing this hook.  If the callback
232      // we're adding would come after the current callback, there's no
233      // problem; otherwise we need to increase the execution index of
234      // any other runs by 1 to account for the added element.
235
236
237      (hooks.__current || []).forEach(function (hookInfo) {
238        if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {
239          hookInfo.currentIndex++;
240        }
241      });
242    } else {
243      // This is the first hook of its type.
244      hooks[hookName] = {
245        handlers: [handler],
246        runs: 0
247      };
248    }
249
250    if (hookName !== 'hookAdded') {
251      doAction('hookAdded', hookName, namespace, callback, priority);
252    }
253  };
254}
255
256/* harmony default export */ var build_module_createAddHook = (createAddHook);
257//# sourceMappingURL=createAddHook.js.map
258// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/createRemoveHook.js
259/**
260 * Internal dependencies
261 */
262
263
264
265/**
266 * Returns a function which, when invoked, will remove a specified hook or all
267 * hooks by the given name.
268 *
269 * @param  {Object}   hooks      Stored hooks, keyed by hook name.
270 * @param  {boolean}     removeAll  Whether to remove all callbacks for a hookName, without regard to namespace. Used to create `removeAll*` functions.
271 *
272 * @return {Function}            Function that removes hooks.
273 */
274
275function createRemoveHook(hooks, removeAll) {
276  /**
277   * Removes the specified callback (or all callbacks) from the hook with a
278   * given hookName and namespace.
279   *
280   * @param {string}    hookName  The name of the hook to modify.
281   * @param {string}    namespace The unique namespace identifying the callback in the form `vendor/plugin/function`.
282   *
283   * @return {number}             The number of callbacks removed.
284   */
285  return function removeHook(hookName, namespace) {
286    if (!build_module_validateHookName(hookName)) {
287      return;
288    }
289
290    if (!removeAll && !build_module_validateNamespace(namespace)) {
291      return;
292    } // Bail if no hooks exist by this name
293
294
295    if (!hooks[hookName]) {
296      return 0;
297    }
298
299    var handlersRemoved = 0;
300
301    if (removeAll) {
302      handlersRemoved = hooks[hookName].handlers.length;
303      hooks[hookName] = {
304        runs: hooks[hookName].runs,
305        handlers: []
306      };
307    } else {
308      // Try to find the specified callback to remove.
309      var handlers = hooks[hookName].handlers;
310
311      var _loop = function _loop(i) {
312        if (handlers[i].namespace === namespace) {
313          handlers.splice(i, 1);
314          handlersRemoved++; // This callback may also be part of a hook that is
315          // currently executing.  If the callback we're removing
316          // comes after the current callback, there's no problem;
317          // otherwise we need to decrease the execution index of any
318          // other runs by 1 to account for the removed element.
319
320          (hooks.__current || []).forEach(function (hookInfo) {
321            if (hookInfo.name === hookName && hookInfo.currentIndex >= i) {
322              hookInfo.currentIndex--;
323            }
324          });
325        }
326      };
327
328      for (var i = handlers.length - 1; i >= 0; i--) {
329        _loop(i);
330      }
331    }
332
333    if (hookName !== 'hookRemoved') {
334      doAction('hookRemoved', hookName, namespace);
335    }
336
337    return handlersRemoved;
338  };
339}
340
341/* harmony default export */ var build_module_createRemoveHook = (createRemoveHook);
342//# sourceMappingURL=createRemoveHook.js.map
343// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/createHasHook.js
344/**
345 * Returns a function which, when invoked, will return whether any handlers are
346 * attached to a particular hook.
347 *
348 * @param  {Object}   hooks Stored hooks, keyed by hook name.
349 *
350 * @return {Function}       Function that returns whether any handlers are
351 *                          attached to a particular hook and optional namespace.
352 */
353function createHasHook(hooks) {
354  /**
355   * Returns whether any handlers are attached for the given hookName and optional namespace.
356   *
357   * @param {string}  hookName  The name of the hook to check for.
358   * @param {?string} namespace Optional. The unique namespace identifying the callback
359   *                                      in the form `vendor/plugin/function`.
360   *
361   * @return {boolean} Whether there are handlers that are attached to the given hook.
362   */
363  return function hasHook(hookName, namespace) {
364    // Use the namespace if provided.
365    if ('undefined' !== typeof namespace) {
366      return hookName in hooks && hooks[hookName].handlers.some(function (hook) {
367        return hook.namespace === namespace;
368      });
369    }
370
371    return hookName in hooks;
372  };
373}
374
375/* harmony default export */ var build_module_createHasHook = (createHasHook);
376//# sourceMappingURL=createHasHook.js.map
377// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
378function _arrayLikeToArray(arr, len) {
379  if (len == null || len > arr.length) len = arr.length;
380
381  for (var i = 0, arr2 = new Array(len); i < len; i++) {
382    arr2[i] = arr[i];
383  }
384
385  return arr2;
386}
387// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
388
389function _arrayWithoutHoles(arr) {
390  if (Array.isArray(arr)) return _arrayLikeToArray(arr);
391}
392// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
393function _iterableToArray(iter) {
394  if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
395}
396// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
397
398function _unsupportedIterableToArray(o, minLen) {
399  if (!o) return;
400  if (typeof o === "string") return _arrayLikeToArray(o, minLen);
401  var n = Object.prototype.toString.call(o).slice(8, -1);
402  if (n === "Object" && o.constructor) n = o.constructor.name;
403  if (n === "Map" || n === "Set") return Array.from(o);
404  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
405}
406// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
407function _nonIterableSpread() {
408  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
409}
410// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
411
412
413
414
415function _toConsumableArray(arr) {
416  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
417}
418// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/createRunHook.js
419
420
421/**
422 * Returns a function which, when invoked, will execute all callbacks
423 * registered to a hook of the specified type, optionally returning the final
424 * value of the call chain.
425 *
426 * @param  {Object}   hooks          Stored hooks, keyed by hook name.
427 * @param  {?boolean}    returnFirstArg Whether each hook callback is expected to
428 *                                   return its first argument.
429 *
430 * @return {Function}                Function that runs hook callbacks.
431 */
432function createRunHook(hooks, returnFirstArg) {
433  /**
434   * Runs all callbacks for the specified hook.
435   *
436   * @param  {string} hookName The name of the hook to run.
437   * @param  {...*}   args     Arguments to pass to the hook callbacks.
438   *
439   * @return {*}               Return value of runner, if applicable.
440   */
441  return function runHooks(hookName) {
442    if (!hooks[hookName]) {
443      hooks[hookName] = {
444        handlers: [],
445        runs: 0
446      };
447    }
448
449    hooks[hookName].runs++;
450    var handlers = hooks[hookName].handlers; // The following code is stripped from production builds.
451
452    if (false) {}
453
454    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
455      args[_key - 1] = arguments[_key];
456    }
457
458    if (!handlers || !handlers.length) {
459      return returnFirstArg ? args[0] : undefined;
460    }
461
462    var hookInfo = {
463      name: hookName,
464      currentIndex: 0
465    };
466
467    hooks.__current.push(hookInfo);
468
469    while (hookInfo.currentIndex < handlers.length) {
470      var handler = handlers[hookInfo.currentIndex];
471      var result = handler.callback.apply(null, args);
472
473      if (returnFirstArg) {
474        args[0] = result;
475      }
476
477      hookInfo.currentIndex++;
478    }
479
480    hooks.__current.pop();
481
482    if (returnFirstArg) {
483      return args[0];
484    }
485  };
486}
487
488/* harmony default export */ var build_module_createRunHook = (createRunHook);
489//# sourceMappingURL=createRunHook.js.map
490// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/createCurrentHook.js
491/**
492 * Returns a function which, when invoked, will return the name of the
493 * currently running hook, or `null` if no hook of the given type is currently
494 * running.
495 *
496 * @param  {Object}   hooks          Stored hooks, keyed by hook name.
497 *
498 * @return {Function}                Function that returns the current hook.
499 */
500function createCurrentHook(hooks) {
501  /**
502   * Returns the name of the currently running hook, or `null` if no hook of
503   * the given type is currently running.
504   *
505   * @return {?string}             The name of the currently running hook, or
506   *                               `null` if no hook is currently running.
507   */
508  return function currentHook() {
509    if (!hooks.__current || !hooks.__current.length) {
510      return null;
511    }
512
513    return hooks.__current[hooks.__current.length - 1].name;
514  };
515}
516
517/* harmony default export */ var build_module_createCurrentHook = (createCurrentHook);
518//# sourceMappingURL=createCurrentHook.js.map
519// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/createDoingHook.js
520/**
521 * Returns a function which, when invoked, will return whether a hook is
522 * currently being executed.
523 *
524 * @param  {Object}   hooks Stored hooks, keyed by hook name.
525 *
526 * @return {Function}       Function that returns whether a hook is currently
527 *                          being executed.
528 */
529function createDoingHook(hooks) {
530  /**
531   * Returns whether a hook is currently being executed.
532   *
533   * @param  {?string} hookName The name of the hook to check for.  If
534   *                            omitted, will check for any hook being executed.
535   *
536   * @return {boolean}             Whether the hook is being executed.
537   */
538  return function doingHook(hookName) {
539    // If the hookName was not passed, check for any current hook.
540    if ('undefined' === typeof hookName) {
541      return 'undefined' !== typeof hooks.__current[0];
542    } // Return the __current hook.
543
544
545    return hooks.__current[0] ? hookName === hooks.__current[0].name : false;
546  };
547}
548
549/* harmony default export */ var build_module_createDoingHook = (createDoingHook);
550//# sourceMappingURL=createDoingHook.js.map
551// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/createDidHook.js
552/**
553 * Internal dependencies
554 */
555
556/**
557 * Returns a function which, when invoked, will return the number of times a
558 * hook has been called.
559 *
560 * @param  {Object}   hooks Stored hooks, keyed by hook name.
561 *
562 * @return {Function}       Function that returns a hook's call count.
563 */
564
565function createDidHook(hooks) {
566  /**
567   * Returns the number of times an action has been fired.
568   *
569   * @param  {string} hookName The hook name to check.
570   *
571   * @return {number}          The number of times the hook has run.
572   */
573  return function didHook(hookName) {
574    if (!build_module_validateHookName(hookName)) {
575      return;
576    }
577
578    return hooks[hookName] && hooks[hookName].runs ? hooks[hookName].runs : 0;
579  };
580}
581
582/* harmony default export */ var build_module_createDidHook = (createDidHook);
583//# sourceMappingURL=createDidHook.js.map
584// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/createHooks.js
585/**
586 * Internal dependencies
587 */
588
589
590
591
592
593
594
595/**
596 * Returns an instance of the hooks object.
597 *
598 * @return {Object} Object that contains all hooks.
599 */
600
601function createHooks() {
602  var actions = Object.create(null);
603  var filters = Object.create(null);
604  actions.__current = [];
605  filters.__current = [];
606  return {
607    addAction: build_module_createAddHook(actions),
608    addFilter: build_module_createAddHook(filters),
609    removeAction: build_module_createRemoveHook(actions),
610    removeFilter: build_module_createRemoveHook(filters),
611    hasAction: build_module_createHasHook(actions),
612    hasFilter: build_module_createHasHook(filters),
613    removeAllActions: build_module_createRemoveHook(actions, true),
614    removeAllFilters: build_module_createRemoveHook(filters, true),
615    doAction: build_module_createRunHook(actions),
616    applyFilters: build_module_createRunHook(filters, true),
617    currentAction: build_module_createCurrentHook(actions),
618    currentFilter: build_module_createCurrentHook(filters),
619    doingAction: build_module_createDoingHook(actions),
620    doingFilter: build_module_createDoingHook(filters),
621    didAction: build_module_createDidHook(actions),
622    didFilter: build_module_createDidHook(filters),
623    actions: actions,
624    filters: filters
625  };
626}
627
628/* harmony default export */ var build_module_createHooks = (createHooks);
629//# sourceMappingURL=createHooks.js.map
630// CONCATENATED MODULE: ./node_modules/@wordpress/hooks/build-module/index.js
631/**
632 * Internal dependencies
633 */
634
635
636var _createHooks = build_module_createHooks(),
637    addAction = _createHooks.addAction,
638    addFilter = _createHooks.addFilter,
639    removeAction = _createHooks.removeAction,
640    removeFilter = _createHooks.removeFilter,
641    hasAction = _createHooks.hasAction,
642    hasFilter = _createHooks.hasFilter,
643    removeAllActions = _createHooks.removeAllActions,
644    removeAllFilters = _createHooks.removeAllFilters,
645    doAction = _createHooks.doAction,
646    applyFilters = _createHooks.applyFilters,
647    currentAction = _createHooks.currentAction,
648    currentFilter = _createHooks.currentFilter,
649    doingAction = _createHooks.doingAction,
650    doingFilter = _createHooks.doingFilter,
651    didAction = _createHooks.didAction,
652    didFilter = _createHooks.didFilter,
653    build_module_actions = _createHooks.actions,
654    build_module_filters = _createHooks.filters;
655
656
657//# sourceMappingURL=index.js.map
658// CONCATENATED MODULE: ./src/js/base.js
659
660
661window.aep = {
662    hooks : build_module_createHooks()
663}
664
665const isEditMode = () => {
666    return false;
667}
668
669class SwiperBase{
670
671    constructor(data, wid, scope = null) {
672
673        let swiper = [];
674        let swiperContainer = '.elementor-element-' + wid + ' .ae-swiper-container';
675		let active_breakpoints = elementorFrontend.config.responsive.activeBreakpoints;
676		let wclass = '.elementor-element-' + wid;
677
678        if (scope !== null) {
679			wid = scope.data('id');
680			let slideId = scope.find('.ae-swiper-container').data('ae-slider-id');
681			swiperContainer = '.elementor-element-' + wid + ' [data-ae-slider-id="' + slideId + '"]';
682			wclass = '.elementor-element-' + wid + ' .ae-slider-id-' + slideId;
683		}
684		
685        if (typeof data === "undefined") {
686            return false;
687        }
688
689        // Special Case Only For AE-Woo-Gallery
690        if(data.hasOwnProperty('widget')){
691            if(data.widget == 'ae-woo-gallery' ){
692                if (data.navigation != 'no') {
693                    swiper['navigation'] = {
694                        nextEl: '.ae-swiper-button-next',
695                        prevEl: '.ae-swiper-button-prev',
696                    }
697                }
698                swiper['pagination']= {
699                    el: '.ae-swiper-pagination',
700                    type: 'bullets',
701                    clickable: true,
702                }
703                swiper['init'] = false;
704            }
705        }else{
706            swiper = {
707                direction: data.direction,
708                speed: data.speed,
709                autoHeight: data.autoHeight,
710                autoplay: data.autoplay,
711                effect: data.effect,
712                loop: data.loop,
713                //zoom: data.zoom,
714                wrapperClass: 'ae-swiper-wrapper',
715                slideClass: 'ae-swiper-slide',
716                observer: true,
717                observeParents: true,
718            }
719
720            const res_props = {
721                'slidesPerView' : 'slidesPerView',
722                'slidesPerGroup' : 'slidesPerGroup',
723                'spaceBetween' : 'spaceBetween'
724            }
725            // Minimum Screen Set
726            if(active_breakpoints.hasOwnProperty('mobile')){
727                for (const key in res_props) {
728                    if (data.hasOwnProperty(key)) {
729                        swiper[key] = data[key].mobile;       
730                    }
731                }
732            }
733    
734            if (data.loop && data.hasOwnProperty('slidersPerView')) {
735                if (document.querySelectorAll(wclass + ' .ae-swiper-slide').length < data.slidesPerView.tablet) {
736                    swiper['loop'] = false;
737                }
738            }
739
740            const arr = {};
741
742            // Responsive BreakPoints Sets
743            if(data.hasOwnProperty('breakpoints_value')){
744                Object.keys(data.breakpoints_value).map(key => {
745                    //console.log('Key', key);
746                    
747                    const value = parseInt(data.breakpoints_value[key]); 
748                    //console.log('Value', value);
749                    if(key === 'desktop'){
750                        key = 'default';
751                    }
752                    const spaceBetween = parseInt(data.spaceBetween[key]);
753                    const slidesPerView = parseInt(data.slidesPerView[key]);
754                    const slidesPerGroup = parseInt(data.slidesPerGroup[key]);
755                    arr[value - 1] = {
756                        spaceBetween,
757                        slidesPerView,
758                        slidesPerGroup
759                    };
760                });
761            }
762    
763            // BreakPoints
764            const bp = aepro.breakpoints;
765    
766            // let breakpoints = {};
767            // breakpoints[bp.lg - 1] = {
768            //     spaceBetween: data.spaceBetween.tablet,
769            //     slidesPerView: data.slidesPerView.tablet,
770            //     slidesPerGroup: data.slidesPerGroup.tablet,
771            // };
772            // breakpoints[bp.md - 1] = {
773            //     spaceBetween: data.spaceBetween.mobile,
774            //     slidesPerView: data.slidesPerView.mobile,
775            //     slidesPerGroup: data.slidesPerGroup.mobile,
776            // };
777    
778            swiper['breakpoints'] = arr;
779    
780            swiper['keyboard'] = (data.keyboard === 'yes') ? { enabled: true, onlyInViewport: true } : false;
781    
782            if (data.navigation === 'yes') {
783                swiper['navigation'] = {
784                    nextEl: wclass + ' .ae-swiper-button-next',
785                    prevEl: wclass + ' .ae-swiper-button-prev',
786                }
787            }
788    
789            if (data.ptype !== '') {
790                swiper['pagination'] = {
791                    el: wclass + ' .ae-swiper-pagination',
792                    type: data.ptype,
793                    clickable: data.clickable
794                }
795            }
796            if (data.scrollbar == 'yes') {
797    
798                swiper['scrollbar'] = {
799                    el: wclass + ' .ae-swiper-scrollbar',
800                    hide: true
801                };
802            }
803            swiper['init'] = false;
804        }
805
806        // Special Case For AE-Woo-Gallery-Widget
807        if(data.hasOwnProperty('widget')){
808            if(data.widget === 'ae-woo-gallery'){
809                swiper = this.ae_woo_gallery_update_object(data,swiper);
810            }
811        }
812        
813        //if ('undefined' === typeof Swiper) {
814            const asyncSwiper = elementorFrontend.utils.swiper;
815            new asyncSwiper( jQuery( swiperContainer ), swiper).then((newSwiperInstance) => {
816                const mswiper = newSwiperInstance;
817                this.after_swiper_load_func(mswiper);
818                const pause_on_hover = data.pause_on_hover;
819                if (pause_on_hover == 'yes') {
820                    this.pause_on_hover_func(mswiper, pause_on_hover, wid);
821                }
822
823                elementorFrontend.hooks.doAction( `aepro/trigger/swiper/widget/${wid}`, mswiper);
824            });
825        /* } else {
826            console.log('Swiper', swiper);
827            const mswiper = new Swiper('.elementor-element-' + wid + ' .ae-swiper-container', swiper);
828            //if ('undefined' !== typeof mswiper.$wrapperEl) {
829                this.after_swiper_load_func(mswiper);
830                const pause_on_hover = data.pause_on_hover;
831                if (pause_on_hover == 'yes') {
832                    this.pause_on_hover_func(mswiper, pause_on_hover, wid);
833                }
834           //}
835
836            elementorFrontend.hooks.doAction( `aepro/trigger/swiper/widget/${wid}`, mswiper);
837        } */
838        
839        jQuery('.elementor-element-' + wid + ' .ae-swiper-container').css('visibility', 'visible');
840        
841
842        // TODO:: Swiper post initialize actions
843
844        // TODO:: Swiper sticky section fix
845    }
846    after_swiper_load_func(mswiper) {
847        if (mswiper.length > 0) {
848
849                mswiper.forEach(function (slider) {
850
851                    slider.on('slideChangeTransitionStart', function () {
852
853                        // set dynamic background
854                        slider.$wrapperEl.find('.ae-featured-bg-yes').each(function () {
855                            if (jQuery(this).css('background-image') == 'none') {
856                                let img = jQuery(this).attr('data-ae-bg');
857                                jQuery(this).css('background-image', 'url(' + img + ')');
858                            }
859                        });
860                        slider.$wrapperEl.find('.ae-bg-color-yes').each(function () {
861                            let color = jQuery(this).attr('data-ae-bg-color');
862                            let blank_color = 'rgba(0, 0, 0, 0)';
863                            if (jQuery(this).css('background-color') === blank_color) {
864                                jQuery(this).css('background-color', color);
865                            }
866                        });
867
868                        // reveal animated widgets
869                        slider.$wrapperEl.find('.swiper-slide-duplicate').find('.elementor-invisible').each(function () {
870                            // get settings
871                            elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
872                        });
873
874                        slider.$wrapperEl.find('.swiper-slide').find('.animated').each(function () {
875                            // get settings
876                             elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
877                        });
878
879                    });
880
881                    slider.on('click', function () {
882
883                        const clickedSlide = mswiper.clickedSlide;
884                        if (typeof clickedSlide === 'undefined') {
885                            return;
886                        }
887
888                        const wrapper = clickedSlide.querySelector('.ae-link-yes');
889
890                        if (wrapper === null || wrapper.length == 0) {
891                            return;
892                        } else {
893                            const url = jQuery(wrapper).data('ae-url');
894                            if (url !== undefined) {
895                                if (jQuery(wrapper).data('ae-url') && jQuery(wrapper).hasClass('ae-new-window-yes')) {
896                                    window.open(jQuery(wrapper).data('ae-url'));
897                                } else {
898                                    location.href = jQuery(wrapper).data('ae-url');
899                                }
900                            }
901                        }
902                    });
903
904                    slider.init();
905                });
906
907            } else {
908
909                mswiper.on('slideChangeTransitionStart', function () {
910                    // set dynamic background
911                    mswiper.$wrapperEl.find('.ae-featured-bg-yes').each(function () {
912                        
913                        if (jQuery(this).css('background-image') == 'none') {
914                            let img = jQuery(this).attr('data-ae-bg');
915                            jQuery(this).css('background-image', 'url(' + img + ')');
916                        }
917                    });
918
919                    mswiper.$wrapperEl.find('.ae-bg-color-yes').each(function () {
920                        let color = jQuery(this).attr('data-ae-bg-color');
921                            let blank_color = 'rgba(0, 0, 0, 0)';
922                            if (jQuery(this).css('background-color') === blank_color) {
923                                jQuery(this).css('background-color', color);
924                            }
925                    });
926                    // reveal animated widgets
927                    mswiper.$wrapperEl.find('.swiper-slide-duplicate').find('.elementor-invisible').each(function () {
928                        // get settings
929                         elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
930                    });
931
932                    mswiper.$wrapperEl.find('.swiper-slide').find('.animated').each(function () {
933                        // get settings
934                         elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
935                    });
936                });
937                
938
939                mswiper.on('click', function () {
940
941                    const clickedSlide = mswiper.clickedSlide;
942                    if (typeof clickedSlide === 'undefined') {
943                        return;
944                    }
945
946                    const wrapper = clickedSlide.querySelector('.ae-link-yes');
947
948                    if (wrapper === null || wrapper.length == 0) {
949                        return;
950                    } else {
951                        const url = jQuery(wrapper).data('ae-url');
952                        if (url !== undefined) {
953                            if (jQuery(wrapper).data('ae-url') && jQuery(wrapper).hasClass('ae-new-window-yes')) {
954                                window.open(jQuery(wrapper).data('ae-url'));
955                            } else {
956                                location.href = jQuery(wrapper).data('ae-url');
957                            }
958                        }
959                    }
960                });
961
962                mswiper.init();
963
964            }
965    }
966
967    pause_on_hover_func(mswiper, pause_on_hover, wid) {
968        jQuery('.elementor-element-' + wid + ' .ae-swiper-container').hover(function () {
969            mswiper.autoplay.stop();
970        }, function () {
971            mswiper.autoplay.start();
972        });
973    }
974
975    ae_woo_gallery_update_object(data,swiper){
976        if (data.navigation != 'no') {
977            swiper['navigation'] = {
978                nextEl: '.ae-swiper-button-next',
979                prevEl: '.ae-swiper-button-prev',
980            }
981        }
982        swiper['pagination']= {
983            el: '.ae-swiper-pagination',
984            type: 'bullets',
985            clickable: true,
986        }
987        Object.keys(swiper).map(key =>{
988            const value = swiper[key];
989            if(typeof value === 'object'){
990                Object.keys(value).map(val =>{
991                    const v = value[val];
992                    if(typeof v === 'undefined' ){
993                        delete value[val];   
994                    }
995                })
996            }else{
997                if(typeof value === 'undefined'){
998                    delete swiper[key];
999                }
1000                
1001            }
1002        });
1003        return swiper;
1004    }
1005}
1006
1007/***/ }),
1008/* 1 */
1009/***/ (function(module, __webpack_exports__, __webpack_require__) {
1010
1011"use strict";
1012__webpack_require__.r(__webpack_exports__);
1013/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
1014
1015
1016const BgSliderHandler = ( $scope , $ ) => {
1017    
1018    let wid = $scope.data('id');
1019    let ae_slider_id = $scope.data('ae_slider');
1020    let slider_images;
1021    let aepro_slides = [];
1022    let aepro_slides_json = [];
1023    let aepro_transition;
1024    let aepro_animation;
1025    let aepro_custom_overlay;
1026    let aepro_overlay;
1027    let aepro_cover;
1028    let aepro_delay;
1029    let aepro_timer;
1030    let slider_wrapper;
1031    if ($scope.children('.aepro-section-bs').children('.aepro-section-bs-inner').hasClass('edit-mode')) {
1032        slider_wrapper = $scope.children('.aepro-section-bs').children('.aepro-section-bs-inner');
1033        slider_images = slider_wrapper.data('aepro-bg-slider');
1034        aepro_transition = slider_wrapper.data('aepro-bg-slider-transition');
1035        aepro_animation = slider_wrapper.data('aepro-bg-slider-animation');
1036        aepro_custom_overlay = slider_wrapper.data('aepro-bg-custom-overlay');
1037        aepro_cover = slider_wrapper.data('aepro-bg-slider-cover');
1038        aepro_delay = slider_wrapper.data('aepro-bs-slider-delay');
1039        aepro_timer = slider_wrapper.data('aepro-bs-slider-timer');
1040
1041        if(aepro_custom_overlay == 'yes'){
1042            aepro_overlay = aepro.plugin_url + '/includes/assets/lib/vegas/overlays/' + slider_wrapper.data('aepro-bg-slider-overlay');
1043        }else{
1044            if(slider_wrapper.data('aepro-bg-slider-overlay')){
1045                aepro_overlay = aepro.plugin_url + '/includes/assets/lib/vegas/overlays/' + slider_wrapper.data('aepro-bg-slider-overlay');
1046            }else{
1047                aepro_overlay = aepro.plugin_url + '/includes/assets/lib/vegas/overlays/' + slider_wrapper.data('aepro-bg-slider-overlay');
1048            }
1049        }
1050
1051        if(typeof slider_images != 'undefined'){
1052            aepro_slides = slider_images.split(",");
1053
1054            jQuery.each(aepro_slides,function(key,value){
1055                var slide = [];
1056                slide.src = value;
1057                aepro_slides_json.push(slide);
1058            });
1059
1060            slider_wrapper.vegas({
1061                slides: aepro_slides_json,
1062                transition:aepro_transition,
1063                animation: aepro_animation,
1064                overlay: aepro_overlay,
1065                cover: aepro_cover,
1066                delay: aepro_delay,
1067                timer: aepro_timer,
1068                init: function(){
1069                    if(aepro_custom_overlay == 'yes') {
1070                        var ob_vegas_overlay = slider_wrapper.children('.vegas-overlay');
1071                        ob_vegas_overlay.css('background-image', '');
1072                    }
1073                }
1074            });
1075
1076        }
1077    } else {
1078        if (ae_slider_id) {
1079            slider_wrapper = jQuery(".elementor-element-" + wid + "[data-ae_slider='" + ae_slider_id + "']").children('.aepro-section-bs').children('.aepro-section-bs-inner');
1080            aepro_slides = slider_wrapper.data('aepro-bg-slider');
1081            if (aepro_slides) {
1082                slider_images = aepro_slides.slides;
1083                aepro_transition = aepro_slides.transition;
1084                aepro_animation = aepro_slides.animation;
1085                aepro_overlay = aepro_slides.overlay;
1086                aepro_custom_overlay = aepro_slides.overlay;
1087                aepro_cover = aepro_slides.cover;
1088                aepro_delay = aepro_slides.delay;
1089                aepro_timer = aepro_slides.timer;
1090                if (typeof slider_images != 'undefined') {
1091            
1092
1093                    slider_wrapper.vegas({
1094                        slides: slider_images,
1095                        transition: aepro_transition,
1096                        animation: aepro_animation,
1097                        overlay: aepro_overlay,
1098                        cover: aepro_cover,
1099                        delay: aepro_delay,
1100                        timer: aepro_timer,
1101                        init: function () {
1102                            if (aepro_custom_overlay == 'yes') {
1103                                var ob_vegas_overlay = slider_wrapper.children('.vegas-overlay');
1104                                ob_vegas_overlay.css('background-image', aepro_overlay);
1105                            }
1106                        }
1107                    });
1108
1109                }
1110            }
1111        }
1112    }
1113};
1114
1115const DynamicBgHandler = function ($scope, $) {
1116    var scope_id = $scope.data('id');
1117    const dynamicBackground = $scope.find('.dynamic-background').data('dynamic_bg');
1118    if ($scope.hasClass("elementor-element-edit-mode")) {
1119        var data = {
1120            post_id : aepro.queried_page.ID,
1121            action: 'ae_repeater_data',
1122            nonce: aepro.aep_nonce
1123        }
1124   
1125        if (dynamicBackground) {
1126            if (dynamicBackground.acf_field_type == 'repeater') {
1127                //For Repeater Background Image
1128                if (dynamicBackground.show_featured_bg == 'yes' && dynamicBackground.bg_source == 'custom_field') {
1129            
1130                    let fieldName = dynamicBackground.cf_field_key;
1131                    let imageSize = dynamicBackground.image_size;
1132
1133                    data['fieldType'] = 'image';
1134                    data['image_size'] = imageSize;
1135                    data['fieldName'] = fieldName;
1136                    jQuery.ajax({
1137                        url: aepro.ajaxurl,
1138                        dataType: 'json',
1139                        data: data,
1140                        
1141                        method: 'POST',
1142                        success: function (res) {
1143                            if (res.data) {
1144                                if (res.data['field_type'] == 'image')
1145                                    $scope.css('background-image', 'url(' + res.data['value'][0] + ')');
1146                            }
1147                            
1148                        }
1149                    });
1150                }
1151
1152                //For Repeater Background Color
1153                if (dynamicBackground.enable_bg_color == 'yes' && dynamicBackground.bg_color_source == 'custom_field') {
1154                    let fieldName = dynamicBackground.cf_color_field_key;
1155
1156                    data['fieldType'] = 'color';
1157                    data['fieldName'] = fieldName;
1158                    jQuery.ajax({
1159                        url: aepro.ajaxurl,
1160                        dataType: 'json',
1161                        data: data,
1162                    
1163                        method: 'POST',
1164                        success: function (res) {
1165                            if (res.data) {
1166                                if (res.data['field_type'] == 'color')
1167                                    $scope.css('background-color', res.data['value']);
1168                            }
1169                        }
1170                    });
1171                }
1172            }
1173
1174            //For Flexible Background Color
1175            if (dynamicBackground.acf_field_type == 'flexible_content') {
1176                if (dynamicBackground.show_featured_bg == 'yes' && dynamicBackground.bg_source == 'custom_field') {
1177                    if (dynamicBackground.bg_flexible_field == 'yes') {
1178                        let flexibleField = dynamicBackground.cf_field_key;
1179                        let fieldName = dynamicBackground.flex_sub_field;
1180                        let imageSize = dynamicBackground.image_size;
1181                        data['flexible_field'] = flexibleField;
1182
1183                        data['fieldType'] = 'image';
1184                        data['image_size'] = imageSize;
1185                        data['fieldName'] = fieldName;
1186                        jQuery.ajax({
1187                            url: aepro.ajaxurl,
1188                            dataType: 'json',
1189                            data: data,
1190                        
1191                            method: 'POST',
1192                            success: function (res) {
1193                                if (res.data) {
1194                                    if (res.data['field_type'] == 'image')
1195                                        $scope.css('background-image', 'url(' + res.data['value'][0] + ')');
1196                                }
1197                            
1198                            }
1199                        });
1200                    }
1201                }
1202            
1203                //For Flexible Background Color
1204                if (dynamicBackground.enable_bg_color == 'yes' && dynamicBackground.bg_color_source == 'custom_field') {
1205                    if (dynamicBackground.bg_color_flexible_field == 'yes') {
1206                        let flexibleField = dynamicBackground.cf_color_field_key;
1207                        let fieldName = dynamicBackground.flex_color_sub_field;
1208                        data['flexible_field'] = flexibleField;
1209
1210                        data['fieldType'] = 'color';
1211                        data['fieldName'] = fieldName;
1212                        jQuery.ajax({
1213                            url: aepro.ajaxurl,
1214                            dataType: 'json',
1215                            data: data,
1216                        
1217                            method: 'POST',
1218                            success: function (res) {
1219                                if (res.data) {
1220                                    if (res.data['field_type'] == 'color')
1221                                        $scope.css('background-color', res.data['value']);
1222                                }
1223                            
1224                            }
1225                        });
1226                    }
1227                }
1228            }
1229        }
1230        
1231    }   
1232     
1233    
1234
1235    //Dynamic Background Image
1236    if ( $scope.data( 'ae-bg' ) ){
1237        $scope.css('background-image','url(' + $scope.data( 'ae-bg' ) + ')');
1238    }
1239
1240    //Dynamic Background Color
1241    if ($scope.data('ae-bg-color')) {
1242        $scope.css('background-color', $scope.data( 'ae-bg-color' ));
1243    }
1244
1245    // TODO:: Add BGSLIDER
1246    BgSliderHandler( $scope , $);
1247
1248    if(elementorFrontend.isEditMode()){
1249        return;
1250    }
1251
1252    if($scope.parents('.ae-carousel-yes').length > 0){
1253        return;
1254    }
1255
1256    if($scope.parents('.facetwp-template ').length > 0 ) {
1257        return;
1258    }
1259
1260
1261    if ( $scope.data( 'ae-url' ) && $scope.hasClass('ae-link-yes') ){
1262        $scope.on('click', function (e) {
1263            if ( $scope.data( 'ae-url' ) && $scope.hasClass('ae-new-window-yes') ) {
1264                window.open($scope.data('ae-url'));
1265            }else{
1266                location.href = $scope.data('ae-url');
1267            }
1268        })
1269    }
1270};
1271
1272/* harmony default export */ __webpack_exports__["default"] = (DynamicBgHandler);
1273
1274( function( $ ) {
1275
1276    $(window).on( 'elementor/frontend/init', function() {
1277        elementorFrontend.hooks.addAction('frontend/element_ready/global', DynamicBgHandler);
1278    });
1279})(jQuery);
1280
1281/***/ }),
1282/* 2 */
1283/***/ (function(module, __webpack_exports__, __webpack_require__) {
1284
1285"use strict";
1286__webpack_require__.r(__webpack_exports__);
1287const createHTMLMapMarker = ({ OverlayView = google.maps.OverlayView, ...args}) => {
1288  class HTMLMapMarker extends OverlayView {
1289    constructor() {
1290      super();
1291      this.position = args.position;
1292      this.html = args.html;
1293      this.markerIndex = args.markerIndex;
1294      this.animation = args.animation;
1295      this.setMap(args.map);
1296    }
1297
1298    createDiv() {
1299      this.div = document.createElement("div");
1300      this.div.classList.add('ae-map-marker-icon-wrapper');
1301      this.div.style.position = "absolute";
1302      if (this.html) {
1303        this.div.innerHTML = this.html;
1304      }
1305      google.maps.event.addDomListener(this.div, "click", event => {
1306        google.maps.event.trigger(this, "click");
1307      });
1308    }
1309
1310    appendDivToOverlay() {
1311      const panes = this.getPanes();
1312      panes.overlayImage.appendChild(this.div);
1313    }
1314
1315    getPopup() {
1316      return document.querySelector('#infowindow-' + this.markerIndex);
1317    }
1318
1319    positionDiv() {
1320      const point = this.getProjection().fromLatLngToDivPixel(this.position);
1321      //let offset = 50;
1322      if (point) {
1323        //this.div.style.left = `${point.x - 12}
1323px`;
1324        //this.div.style.top = `${point.y - offset}px`;
1325        this.div.style.left = `${point.x}px`;
1326        this.div.style.top = `${point.y}px`;
1327      }
1328    }
1329
1330    draw() {
1331      if (!this.div) {
1332        this.createDiv();
1333        this.appendDivToOverlay();
1334        this.addAnimation();
1335      }
1336      this.positionDiv();
1337    }
1338
1339    addAnimation() {
1340      this.div.classList.add(this.animation);
1341    }
1342
1343    removeAnimation() {
1344      this.div.classList.remove(this.animation);
1345    }
1346
1347    toggleAnimation() {
1348      this.div.classList.toggle(this.animation);
1349    }
1350
1351    remove() {
1352      if (this.div) {
1353        this.div.parentNode.removeChild(this.div);
1354        this.div = null;
1355      }
1356    }
1357
1358    getPosition() {
1359      return this.position;
1360    }
1361
1362    getDraggable() {
1363      return false;
1364    }
1365  }
1366
1367  return new HTMLMapMarker();
1368};
1369
1370/* harmony default export */ __webpack_exports__["default"] = (createHTMLMapMarker);
1371
1372
1373/***/ }),
1374/* 3 */
1375/***/ (function(module, __webpack_exports__, __webpack_require__) {
1376
1377"use strict";
1378__webpack_require__.r(__webpack_exports__);
1379const customOverlay =  ({ OverlayView = google.maps.OverlayView, ...args}) => {
1380  class CustomOverlay extends OverlayView {
1381    constructor() {
1382      super();
1383      this.position = args.position;
1384      this.html = args.html;
1385      this.markerIndex = args.markerIndex;
1386      this.setMap(args.map);
1387    }
1388
1389    createDiv() {
1390      this.div = document.createElement("div");
1391      this.div.classList.add('ae-map-infowindow-wrapper');
1392      this.div.style.position = "absolute";
1393      if (this.html) {
1394        this.div.innerHTML = this.html;
1395      }
1396    }
1397
1398    appendDivToOverlay() {
1399      const panes = this.getPanes();
1400      panes.overlayImage.appendChild(this.div);
1401    }
1402
1403    positionDiv() {
1404      const point = this.getProjection().fromLatLngToDivPixel(this.position);
1405      //let offset = 50;
1406      if (point) {
1407        //this.div.style.left = `${point.x - 12}px`;
1408        //this.div.style.top = `${point.y - offset}px`;
1409        this.div.style.left = `${point.x}px`;
1410        this.div.style.top = `${point.y}px`;
1411      }
1412    }
1413
1414    draw() {
1415      if (!this.div) {
1416        this.createDiv();
1417        this.appendDivToOverlay();
1418      }
1419      this.positionDiv();
1420    }
1421
1422    remove() {
1423      if (this.div) {
1424        this.div.parentNode.removeChild(this.div);
1425        this.div = null;
1426      }
1427    }
1428
1429    getPosition() {
1430      return this.position;
1431    }
1432
1433    getDraggable() {
1434      return false;
1435    }
1436  }
1437
1438  return new CustomOverlay();
1439};
1440
1441/* harmony default export */ __webpack_exports__["default"] = (customOverlay);
1442
1443
1444/***/ }),
1445/* 4 */
1446/***/ (function(module, exports, __webpack_require__) {
1447
1448__webpack_require__(0);
1449__webpack_require__(5);
1450__webpack_require__(6);
1451__webpack_require__(7);
1452__webpack_require__(8);
1453__webpack_require__(9);
1454__webpack_require__(10);
1455__webpack_require__(11);
1456__webpack_require__(12);
1457__webpack_require__(13);
1458__webpack_require__(14);
1459__webpack_require__(15);
1460__webpack_require__(16);
1461__webpack_require__(17);
1462__webpack_require__(18);
1463__webpack_require__(3);
1464__webpack_require__(19);
1465__webpack_require__(1);
1466__webpack_require__(20);
1467__webpack_require__(21);
1468__webpack_require__(2);
1469__webpack_require__(22);
1470__webpack_require__(23);
1471__webpack_require__(24);
1472__webpack_require__(25);
1473__webpack_require__(26);
1474__webpack_require__(27);
1475__webpack_require__(28);
1476__webpack_require__(29);
1477__webpack_require__(30);
1478__webpack_require__(31);
1479__webpack_require__(32);
1480__webpack_require__(33);
1481__webpack_require__(34);
1482__webpack_require__(35);
1483__webpack_require__(36);
1484module.exports = __webpack_require__(37);
1485
1486
1487/***/ }),
1488/* 5 */
1489/***/ (function(module, __webpack_exports__, __webpack_require__) {
1490
1491"use strict";
1492__webpack_require__.r(__webpack_exports__);
1493/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
1494/* harmony import */ var _dynamic_bg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
1495
1496
1497(function($){
1498    const AcfFlexibleCarousel = ( $scope , $ ) => {
1499        // Carousel
1500        if($scope.find('.ae-swiper-outer-wrapper').hasClass('ae-carousel-yes')) {
1501            const wid = $scope.data('id');
1502            const outer_wrapper = $scope.find('.ae-swiper-outer-wrapper');
1503            const swiper_settings = outer_wrapper.data('swiper-settings');
1504            new _base__WEBPACK_IMPORTED_MODULE_0__["SwiperBase"]( swiper_settings, wid );
1505        }
1506
1507        if(elementorFrontend.isEditMode()){
1508            
1509            $scope.find('.elementor-section').each(function(){
1510                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
1511            });
1512
1513            $scope.find('.elementor-column').each(function(){
1514                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
1515            });
1516        }   
1517    }
1518    $(window).on( 'elementor/frontend/init', function() {
1519        elementorFrontend.hooks.addAction('frontend/element_ready/ae-acf-flexible-content.carousel', AcfFlexibleCarousel);
1520    });
1521})( jQuery );
1522
1523/***/ }),
1524/* 6 */
1525/***/ (function(module, exports) {
1526
1527(function($){
1528    const AcfFlexibleGrid = ( $scope , $ ) => {
1529        const grid = $scope.find('.ae-acf-fc-collection');
1530        // Masonry Layout
1531        if($scope.find('.ae-acf-fc-outer-wrapper').hasClass('ae-acf-fc-masonry-yes')){
1532             const $grid_obj = grid.masonry({
1533                 horizontalOrder: true
1534             });
1535             $grid_obj.imagesLoaded().progress(function(){
1536                 $grid_obj.masonry('layout');
1537             });
1538
1539         }
1540         if(elementorFrontend.isEditMode()){
1541            
1542            $scope.find('.elementor-section').each(function(){
1543                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
1544            });
1545
1546            $scope.find('.elementor-column').each(function(){
1547                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
1548            });
1549        }
1550    }
1551    $(window).on( 'elementor/frontend/init', function() {
1552        elementorFrontend.hooks.addAction('frontend/element_ready/ae-acf-flexible-content.grid', AcfFlexibleGrid);
1553    });
1554})( jQuery );
1555
1556/***/ }),
1557/* 7 */
1558/***/ (function(module, __webpack_exports__, __webpack_require__) {
1559
1560"use strict";
1561__webpack_require__.r(__webpack_exports__);
1562/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
1563
1564
1565( function( $ ) {
1566
1567    var ACFGalleryCarousel = function ( $scope , $ ) {
1568        const outer_wrapper =  $scope.find('.ae-swiper-outer-wrapper');
1569        const wid = $scope.data('id');
1570        const swiper_settings = outer_wrapper.data('swiper-settings');
1571
1572        new _base__WEBPACK_IMPORTED_MODULE_0__["SwiperBase"]( swiper_settings, wid, $scope);
1573    };
1574
1575    $(window).on( 'elementor/frontend/init', function() {
1576        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-acf-gallery.carousel', 	 ACFGalleryCarousel );
1577    });
1578
1579})( jQuery );
1580
1581
1582
1583/***/ }),
1584/* 8 */
1585/***/ (function(module, exports) {
1586
1587(function($){
1588    const ACFGalleryGrid = ( $scope , $ ) => {
1589        var $wrapper = $scope.find('.ae-grid-wrapper');
1590        if($scope.find('.ae-grid-wrapper').hasClass('ae-masonry-yes')){
1591            var grid = $scope.find('.ae-grid');
1592            var $grid_obj = grid.masonry({
1593            });
1594
1595            $grid_obj.imagesLoaded().progress(function(){
1596                $grid_obj.masonry('layout');
1597            });
1598        }
1599        if(!$wrapper.hasClass('ae-hover-direction-effect')) {
1600            $scope.find('.ae-grid-item').hover(function(){
1601                $(this).find('.ae-grid-overlay').addClass('animated');
1602            });
1603         }
1604        if($wrapper.hasClass('ae-hover-direction-effect')){
1605            const  overlay_speed = parseInt($wrapper.attr('data-overlay-speed'));
1606            $scope.find('.ae-grid-item').hover(function () {
1607                $(this).find('.ae-grid-overlay').addClass('aep-overlay');
1608            });
1609            
1610            $wrapper.find('.ae-grid-item' ).hoverdir({
1611                speed: overlay_speed,
1612                hoverElem : '.ae-grid-overlay'
1613            });
1614        };
1615    };
1616
1617    $(window).on( 'elementor/frontend/init', function() {
1618       
1619        elementorFrontend.hooks.addAction('frontend/element_ready/ae-acf-gallery.grid', ACFGalleryGrid);
1620    });
1621})(jQuery);
1622
1623
1624
1625/***/ }),
1626/* 9 */
1627/***/ (function(module, exports) {
1628
1629(function($){
1630    const ACFGalleryJustified = ( $scope , $ ) => {
1631        var $wrapper = $scope.find('.ae-jg-wrapper');
1632        if(!$wrapper.hasClass('justified-gallery')){
1633            return;
1634        }
1635        if($scope.find('.justified-gallery')){
1636            const grid_wrap = $scope.find('.justified-gallery');
1637            const jg_settings = grid_wrap.data('jg-settings');
1638            const rowHeight = (jg_settings.row_height.size === '') ? 200 :jg_settings.row_height.size;
1639            const gap = (jg_settings.gap.size === '') ? 10 :jg_settings.gap.size;
1640            const max_row = (jg_settings.max_row === '') ? 0 :jg_settings.max_row;
1641            const last_row = jg_settings.last_row;
1642            
1643            $(grid_wrap).justifiedGallery({
1644                rowHeight: rowHeight, 
1645                margins: gap,
1646                lastRow: last_row,
1647                maxRowsCount : max_row,
1648                cssAnimation: true,
1649                captions : false,
1650            });
1651            if(!$wrapper.hasClass('ae-hover-direction-effect')) {
1652                $scope.find('.ae-jg-item-inner').hover(function(){
1653                    $(this).find('.ae-grid-overlay').addClass('animated');
1654                });
1655             }
1656             if($wrapper.hasClass('ae-hover-direction-effect')){
1657                const  overlay_speed = parseInt($wrapper.attr('data-overlay-speed'));
1658                $scope.find('.ae-jg-item-inner').hover(function () {
1659                    $(this).find('.ae-grid-overlay').addClass('aep-overlay');
1660                });
1661                
1662                $wrapper.find('.ae-jg-item-inner').hoverdir({
1663                        speed: overlay_speed,
1664                        hoverElem : '.ae-grid-overlay'
1665                });
1666                
1667            };
1668        }
1669    }; 
1670
1671    $(window).on( 'elementor/frontend/init', function() {
1672        elementorFrontend.hooks.addAction('frontend/element_ready/ae-acf-gallery.justified', ACFGalleryJustified);
1673    });
1674})(jQuery);
1675
1676/***/ }),
1677/* 10 */
1678/***/ (function(module, exports) {
1679
1680(function($){
1681    const ACFGallerySmartGrid = ( $scope , $ ) => {
1682        var $wrapper = $scope.find('.ae-acf-gallery-layout-smart-grid');
1683        console.log($wrapper);
1684        if ($scope.find('.ae-acf-gallery-layout-smart-grid')) {
1685            let grid_wrapper = $scope.find('.ae-grid-wrapper');
1686            let ae_grid = grid_wrapper.find('.ae-grid');
1687            let ae_grid_smart = grid_wrapper.find('.ae-grid-smart');
1688            if (($('body').data('elementor-device-mode') == 'tablet' || $('body').hasClass('elementor-device-tablet'))
1689                || ($('body').data('elementor-device-mode') == 'mobile' || $('body').hasClass('elementor-device-mobile'))) {
1690                $(ae_grid_smart).prepend(ae_grid.html());
1691                ae_grid.hide();
1692            }
1693        }
1694
1695        if(!$wrapper.hasClass('ae-hover-direction-effect')) {
1696            $scope.find('.ae-grid-item').hover(function(){
1697                $(this).find('.ae-grid-overlay').addClass('animated');
1698            });
1699         }
1700        if($wrapper.hasClass('ae-hover-direction-effect')){
1701            console.log("Enter");
1702            const  overlay_speed = parseInt($wrapper.attr('data-overlay-speed'));
1703            $scope.find('.ae-grid-item-inner').hover(function () {
1704                $(this).find('.ae-grid-overlay').addClass('aep-overlay');
1705            });
1706            
1707            $wrapper.find('.ae-grid-item-inner' ).hoverdir({
1708                    speed: overlay_speed,
1709                    hoverElem : '.ae-grid-overlay'
1710            });
1711           
1712        };
1713    };
1714
1715
1716    $(window).on( 'elementor/frontend/init', function() {
1717        elementorFrontend.hooks.addAction('frontend/element_ready/ae-acf-gallery.smart_grid', ACFGallerySmartGrid);
1718    });
1719})(jQuery);
1720
1721
1722
1723/***/ }),
1724/* 11 */
1725/***/ (function(module, __webpack_exports__, __webpack_require__) {
1726
1727"use strict";
1728__webpack_require__.r(__webpack_exports__);
1729/* harmony import */ var _dynamic_bg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1);
1730
1731(function ($) {
1732
1733    const ACFRepeaterAccordionHandler = ($scope, $) => {
1734        const tid = $scope.find('.ae-accordion').data('tab-id');
1735        const title = $scope.find('[data-tab-id="' + tid + '"] > .ae-accordion-item > .elementor-tab-title.ae-tab-title');
1736        const speed = $scope.find('.ae-accordion[data-tab-id="' + tid + '"]').data('transition-speed');
1737        const expand_button = $scope.find('[data-tab-id="' + tid + '"] .ae-accordion-toggle-button.expand');
1738        const collapse_button = $scope.find('[data-tab-id="' + tid + '"] .ae-accordion-toggle-button.collapse');
1739        let acc_status = 'start';
1740        (title).on('click', function (e) {
1741            e.preventDefault();
1742            collapse_button.removeClass('active');
1743            expand_button.removeClass('active');
1744            acc_status = 'start';
1745            const $this = $(this);
1746            if ($this.hasClass("ae-active")) {
1747                $this.removeClass("ae-active");
1748                $this.next().slideUp(speed);
1749            } else {
1750                $this
1751                    .parent()
1752                    .parent()
1753                    .find(".elementor-tab-title.ae-tab-title")
1754                    .removeClass("ae-active");
1755                $this
1756                    .parent()
1757                    .parent()
1758                    .find(".ae-tab-content.ae-acf-repeater-accordion")
1759                    .slideUp(speed);
1760                $this.toggleClass("ae-active");
1761                //$this.next().css({ opacity: '0' });
1762                $this.next().slideDown(speed, 'linear', function () {
1763                    $this.next().css({ opacity: '1'});
1764                    /* $this.next().find('.elementor-section').each(function () {
1765                        elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
1766                    });
1767
1768                    $this.next().find('.elementor-column').each(function(){
1769                        elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
1770                    });
1771                    
1772                    $this.next().find('.elementor-widget').each(function(){
1773                        elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
1774                    }); */
1775                });
1776            }
1777            if ('undefined' !== typeof $this.data('hashtag')) {
1778                window.location.hash = $this.data('hashtag');
1779            }
1780
1781            // setTimeout(function () {
1782                /* Initialise ACF Gallery on Ajax */
1783               /*  $this.siblings('.ae-tab-content').find('.elementor-widget-ae-acf-gallery').each(function () {
1784                    elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
1785                });
1786                 
1787                $this.siblings('.ae-tab-content').find('[data-widget_type="ae-post-blocks-adv.carousel"]').each(function () {
1788                    elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
1789                }); */
1790                 
1791                
1792             //}, 50);
1793        });
1794        (expand_button).on('click',function(e){
1795            e.preventDefault();
1796            const $this = $(this);
1797            var role = $(this).data('role');
1798            if(acc_status == role){
1799                return;
1800            }else{
1801                acc_status = role;
1802                collapse_button.removeClass('active');
1803                $this.toggleClass('active');
1804                title.each(function(index,element){
1805                    $(element).addClass('ae-active');
1806                    var content = $(element).next();
1807                    content.slideDown(speed);
1808                    content.addClass('ae-active');
1809                });
1810            }
1811        });
1812        (collapse_button).on('click',function(e){
1813            e.preventDefault();
1814            const $this = $(this);
1815            var role = $(this).data('role');
1816            if(acc_status == role){
1817                return;
1818            } else {
1819                acc_status = role;
1820                expand_button.removeClass('active');
1821                $this.toggleClass('active');
1822                title.each(function (index, element) {
1823                    $(element).removeClass('ae-active'); 
1824                    var content = $(element).next();
1825                    content.slideUp(speed);
1826                    //content.removeClass('ae-active');
1827                });
1828            }
1829        });
1830
1831        let $hashtag = window.location.hash.substring(1);
1832        if ($hashtag) {
1833            let $tab = title.filter('[data-hashtag="' + $hashtag + '"]');
1834            if ($tab.length > 0) {
1835                if (!$tab.hasClass('ae-active')) {
1836                    jQuery($tab).trigger('click');
1837                }
1838                let $tab_offset = parseInt(jQuery($tab).offset().top);
1839                jQuery('html, body').animate({
1840                    scrollTop: $tab_offset - 100
1841                }, 1000);
1842            }
1843		}
1844		
1845		//Refresh Dynamic BG in Edit Mode
1846		if (isEditMode) {
1847            const sections = $scope.find('.elementor-section');
1848            $.each(sections, function (key, $section) {
1849                Object(_dynamic_bg__WEBPACK_IMPORTED_MODULE_0__["default"])($($section), $);
1850            });
1851
1852            const columns = $scope.find('.elementor-column');
1853            $.each(columns, function (key, $column) {
1854                Object(_dynamic_bg__WEBPACK_IMPORTED_MODULE_0__["default"])($($column), $);
1855            });
1856        }
1857    };
1858
1859    $(window).on( 'elementor/frontend/init', function() {
1860        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-acf-repeater.accordion',  ACFRepeaterAccordionHandler );
1861    });
1862
1863})(jQuery);
1864
1865/***/ }),
1866/* 12 */
1867/***/ (function(module, __webpack_exports__, __webpack_require__) {
1868
1869"use strict";
1870__webpack_require__.r(__webpack_exports__);
1871/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
1872/* harmony import */ var _dynamic_bg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
1873
1874
1875(function ($) {
1876	$(window).on('elementor/frontend/init', function () {
1877		var ModuleHandler = elementorModules.frontend.handlers.Base,
1878			ACFRepeaterDefaultHandler;
1879		ACFRepeaterDefaultHandler = ModuleHandler.extend({
1880			getDefaultSettings: function getDefaultSettings() {
1881				return {
1882					selectors: {
1883						container: '.ae-acf-repeater-wrapper',
1884						item: '.ae-acf-repeater-item:not(.ae-hide)',
1885						grid_gap: '.grid-gap',
1886						swiper_wrapper: '.ae-swiper-outer-wrapper',
1887					},
1888					settings: this.getElementSettings(),
1889				};
1890			},
1891			getDefaultElements: function getDefaultElements() {
1892				const selectors = this.getSettings('selectors');
1893				return {
1894					container: this.$element.find(selectors.container),
1895					items: this.$element.find(selectors.item),
1896					grid_gap: this.$element.find(selectors.grid_gap),
1897					swiper_wrapper: this.$element.find(selectors.swiper_wrapper),
1898				};
1899			},
1900			onInit: function onInit() {
1901				const { container } = this.getDefaultElements();
1902				const that = this;
1903				container.imagesLoaded().done(function () {
1904					that.runMasonry();
1905				});
1906
1907				window.addEventListener('resize', this.runMasonry.bind(this));
1908
1909				this.runPager();
1910				this.runSwiper();
1911				this.runLoadMore();
1912
1913				//Refresh Dynamic BG in Edit Mode
1914				if (elementorFrontend.isEditMode()) {
1915					const sections = this.$element.find('.elementor-section');
1916					$.each(sections, function (key, $section) {
1917						Object(_dynamic_bg__WEBPACK_IMPORTED_MODULE_1__["default"])($($section), $);
1918					});
1919
1920					const columns = this.$element.find('.elementor-column');
1921					$.each(columns, function (key, $column) {
1922						Object(_dynamic_bg__WEBPACK_IMPORTED_MODULE_1__["default"])($($column), $);
1923					});
1924				}
1925			},
1926			onElementChange: function onElementChange(propertyName) {
1927				if (propertyName === 'item_row_gap') {
1928					this.runMasonry();
1929				}
1930			},
1931			runLoadMore: function runLoadMore() {
1932				const { settings } = this.getSettings();
1933				if (settings.grid_pagination != 'yes') return;
1934				const $scope = this.$element;
1935				const { container } = this.getDefaultElements();
1936				let load_more_wrapper = $scope.find('.ae-load-more-wrapper');
1937				const number_of_pages = load_more_wrapper.data('page-count');
1938				const load_more_button = load_more_wrapper.find('.ae-load-more-button');
1939				const no_load_more_text = load_more_wrapper.find('.ae-no-load-more-text');
1940				const load_more_loader = load_more_wrapper.find('.ae-load-more-loader');
1941				let page_num = load_more_wrapper.data('current-page');
1942				let masonry = this;
1943				load_more_button.on('click', function (e) {
1944					e.preventDefault();
1945					load_more_loader.removeClass('ae-hide');
1946					if (page_num < number_of_pages) {
1947						page_num = page_num + 1;
1948					}
1949					load_more_wrapper.attr('data-current-page', page_num);
1950					let page = 'page-' + page_num;
1951					let repeater_item = container.find('.ae-acf-repeater-item');
1952					setTimeout(function () {
1953						load_more_loader.addClass('ae-hide');
1954						$(repeater_item).each(function () {
1955							if ($(this).hasClass(page)) {
1956								$(this).removeClass('ae-hide');
1957							}
1958						});
1959						if (page_num == number_of_pages) {
1960							load_more_button.addClass('ae-hide');
1961							no_load_more_text.removeClass('ae-hide');
1962						}
1963						
1964						masonry.runMasonry();
1965					}, 1000);
1966				});
1967			},
1968			runPager: function runPager() {
1969				const { settings }
1969 = this.getSettings();
1970				if (settings.grid_pagination != 'yes') return;
1971				const $scope = this.$element;
1972				const { container } = this.getDefaultElements();
1973				let pagination_wrapper = $scope.find('.ae-pagination-wrapper');
1974				const number_of_pages = pagination_wrapper.data('page-count');
1975				let page_numbers = pagination_wrapper.find('.page-numbers');
1976				let page_num = pagination_wrapper.data('current-page');
1977				let masonry = this;
1978				$(page_numbers).each(function () {
1979					$(this).on('click', function (e) {
1980						e.preventDefault();
1981						if ($(this).hasClass('current')) {
1982							return false;
1983						}
1984						page_num = pagination_wrapper.data('current-page');
1985						if ($(this).hasClass('prev')) {
1986							if (page_num > 1) {
1987								page_num = page_num - 1;
1988							}
1989						} else if ($(this).hasClass('next')) {
1990							if (page_num < number_of_pages) {
1991								page_num = page_num + 1;
1992							}
1993						} else {
1994							page_num = $(this).data('page');
1995						}
1996						
1997						pagination_wrapper.find('.page-numbers').removeClass('current');
1998						pagination_wrapper.find('.page-numbers').removeAttr('disabled');
1999						pagination_wrapper.find('.page-numbers.page[data-page="' + (page_num) + '"]').addClass('current').attr('disabled', 'disabled');
2000						pagination_wrapper.data('current-page', page_num);
2001
2002						if (page_num == 1) {
2003							pagination_wrapper.find('.prev').addClass('current');
2004							pagination_wrapper.find('.prev').attr('disabled', 'disabled');
2005						} else if (page_num == number_of_pages) {
2006							pagination_wrapper.find('.next').addClass('current');
2007							pagination_wrapper.find('.next').attr('disabled', 'disabled');
2008						}
2009						
2010						let page = 'page-' + page_num;
2011
2012						let repeater_item = container.find('.ae-acf-repeater-item');
2013						$(repeater_item).each(function () {
2014							if (!$(this).hasClass('ae-hide')) {
2015								$(this).addClass('ae-hide');
2016							}
2017							if ($(this).hasClass(page)) {
2018								$(this).removeClass('ae-hide');
2019							}
2020						});
2021
2022						if (settings['pagination_scroll_top_offset']) {
2023							pagination_scroll_top_offset = settings['pagination_scroll_top_offset']['size'];
2024							if (document.body.dataset.elementorDeviceMode != 'desktop') {
2025								pagination_scroll_top_offset = settings['pagination_scroll_top_offset_' + document.body.dataset.elementorDeviceMode]['size'];
2026							}
2027							var pagination_scroll_top_offset = pagination_scroll_top_offset
2028							jQuery('html,body').animate({
2029								scrollTop: container.offset().top - pagination_scroll_top_offset
2030							},
2031								'slow');
2032						}
2033
2034						masonry.runMasonry();
2035					});
2036				});
2037			},
2038			runMasonry: function runMasonry() {
2039				const { settings } = this.getSettings();
2040
2041				const { container, items, grid_gap } = this.getDefaultElements();
2042				if (settings.masonry_grid != 'yes') return;
2043				var heights = [],
2044				distanceFromTop = 0,
2045				columnsCount = 3,
2046				verticalSpaceBetween = 10;
2047
2048				distanceFromTop = container.position().top;
2049				columnsCount = container.css('grid-template-columns').split(' ').length;
2050				verticalSpaceBetween = grid_gap.width();
2051				distanceFromTop += parseInt(container.css('margin-top'), 10);
2052				
2053				items.each(function (index) {
2054					var row = Math.floor(index / columnsCount),
2055						$item = jQuery(this),
2056						itemHeight = $item[0].getBoundingClientRect().height + verticalSpaceBetween;
2057					if (row) {
2058						
2059						var itemPosition = $item.position(),
2060							indexAtRow = index % columnsCount,
2061							pullHeight = itemPosition.top - distanceFromTop - heights[indexAtRow];
2062						
2063						//pullHeight -= parseInt($item.css('margin-top'), 10);
2064						
2065						pullHeight *= -1;
2066						$item.css('margin-top', pullHeight + 'px');
2067						heights[indexAtRow] += itemHeight;
2068					} else {
2069						heights.push(itemHeight);
2070						$item.css('margin-top', 0);
2071					}
2072					$item.css('visibility', 'visible');
2073					
2074				});
2075				
2076			},
2077			runSwiper: function runSwiper() {
2078				const { settings } = this.getSettings();
2079				if (settings.layout_mode != 'carousel') return;
2080
2081				const widget_id = this.$element.data('id');
2082				const { swiper_wrapper }
2082 = this.getDefaultElements();
2083				const swiper_settings = swiper_wrapper.data('swiper-settings');
2084				new _base__WEBPACK_IMPORTED_MODULE_0__["SwiperBase"](swiper_settings, widget_id);
2085
2086			},
2087		});
2088		elementorFrontend.hooks.addAction('frontend/element_ready/ae-acf-repeater.default', function ($scope) {
2089			elementorFrontend.elementsHandler.addHandler(ACFRepeaterDefaultHandler, {
2090				$element: $scope
2091			  });
2092		});
2093	});
2094})(jQuery);
2095
2096/***/ }),
2097/* 13 */
2098/***/ (function(module, __webpack_exports__, __webpack_require__) {
2099
2100"use strict";
2101__webpack_require__.r(__webpack_exports__);
2102/* harmony import */ var _dynamic_bg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1);
2103
2104(function ($) {
2105
2106    const ACFRepeaterTabsHandler = ( $scope, $ ) => {
2107        tabsLoad($scope, $);
2108        $(window).on('resize', function () {
2109           tabsLoad($scope, $);
2110        });
2111    };
2112
2113    const tabsLoad = ($scope, $) => {
2114        const tid = $scope.find('.ae-acf-repeater-tabs').data('tab-id');
2115        var defaultActiveTab = $scope.find('.ae-acf-repeater-tabs').data('active-tab'),
2116            $tabsTitles,
2117            $tabs,
2118            $active,
2119            $content,
2120            $counter = 0;
2121
2122        
2123        if (document.body.dataset.elementorDeviceMode == 'mobile') {
2124            $tabsTitles = $scope.find('[data-tab-id="' + tid + '"] > .ae-acf-repeater-tabs-content-wrapper > .ae-acf-repeater-tab-mobile-title');    
2125        } else {
2126            $tabsTitles = $scope.find('[data-tab-id="' + tid + '"] > .ae-acf-repeater-tabs-wrapper > .ae-acf-repeater-tab-desktop-title');
2127        }
2128        
2129        $tabs = $scope.find('[data-tab-id="' + tid + '"] > .ae-acf-repeater-tabs-content-wrapper > .ae-acf-repeater-tab-content');
2130
2131        $counter = 1;
2132
2133        const activateTab = (tabIndex) => {
2134            if ( $active ) {
2135                $active.removeClass( 'active' );
2136                $content.hide();
2137            }
2138
2139            $active = $tabsTitles.filter( '[data-tab="' + tabIndex + '"]' );
2140            $active.addClass( 'active' );
2141
2142            $content = $tabs.filter( '[data-tab="' + tabIndex + '"]' );
2143            $content.show();
2144
2145           
2146
2147            
2148            if ('undefined' !== typeof $active.data('hashtag')) {
2149                window.location.hash = $active.data('hashtag');
2150            }
2151        };
2152
2153        
2154        $tabsTitles.on( 'click', function() { 
2155            activateTab( this.dataset.tab );
2156
2157        });
2158
2159        let $hashtag = window.location.hash.substring(1);
2160        if ($hashtag) {
2161            let $tab = $tabsTitles.filter('[data-hashtag="' + $hashtag + '"]');
2162            if ($tab.length > 0) {
2163                if (!$tab.hasClass('ae-active')) {
2164                    defaultActiveTab = $tab.data('tab');
2165                }
2166                jQuery('html, body').animate({
2167                    scrollTop: parseInt(jQuery($tab).offset().top) - 100
2168                }, 1000);
2169            } else {
2170                if ( ! defaultActiveTab ) {
2171                    defaultActiveTab = 1;
2172                }
2173            }
2174        } else {
2175            if ( ! defaultActiveTab ) {
2176                defaultActiveTab = 1;
2177            }
2178        }
2179		activateTab(defaultActiveTab);
2180		
2181		if (isEditMode) {
2182            const sections = $scope.find('.elementor-section');
2183            $.each(sections, function (key, $section) {
2184                Object(_dynamic_bg__WEBPACK_IMPORTED_MODULE_0__["default"])($($section), $);
2185            });
2186
2187            const columns = $scope.find('.elementor-column');
2188            $.each(columns, function (key, $column) {
2189                Object(_dynamic_bg__WEBPACK_IMPORTED_MODULE_0__["default"])($($column), $);
2190            });
2191        }
2192    };
2193
2194    $(window).on( 'elementor/frontend/init', function() {
2195        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-acf-repeater.tabs',   ACFRepeaterTabsHandler );
2196    });
2197})(jQuery);
2198
2199/***/ }),
2200/* 14 */
2201/***/ (function(module, exports) {
2202
2203const FoldToUnfold = ($scope, $) => {
2204
2205    if($scope.find('.ae-acf-wrapper').hasClass('ae-acf-unfold-yes')) {
2206        const acfcontent = $scope.find('.ae-acf-wrapper');
2207        const acfcontentinner = $scope.find('.ae-acf-content-wrapper');
2208        const acfcontentunfold = acfcontent.find('.ae-acf-unfold');
2209        const acfcontentunfoldlink = acfcontentunfold.find('.ae-acf-unfold-link');
2210        const acfcontentunfoldlinktext = acfcontentunfold.find('.ae-acf-unfold-button-text');
2211        const acfcontentunfoldlinkicon = acfcontentunfold.find('.ae-acf-unfold-button-icon');
2212        let totalHeight = 0;
2213        totalHeight = acfcontentinner.outerHeight();
2214        if(totalHeight){
2215            totalHeight += acfcontentunfold.outerHeight();
2216        }
2217        if((acfcontentinner.outerHeight() <= acfcontentunfold.data('unfold-max-height')) && acfcontentunfold.data('auto-hide-unfold') == 'yes' ){
2218            acfcontentunfold.css({ 'display': 'none'});
2219        }else {
2220            acfcontentunfoldlink.on('click', function () {
2221                if (acfcontentunfold.hasClass('fold')) {
2222                    acfcontent.css({
2223                        'height': acfcontent.outerHeight(),
2224                        'max-height': 9999
2225                    }).animate({'height': totalHeight}, {'duration': acfcontentunfold.data('animation-speed')});
2226                    acfcontentunfold.toggleClass('fold');
2227                    acfcontentunfoldlinktext.html(acfcontentunfold.data('fold-text'));
2228                    acfcontentunfoldlinkicon.html('<i class="' + acfcontentunfold.data('fold-icon') + '"></i>');
2229                } else {
2230                    acfcontent.css({'max-height': totalHeight}).animate({'max-height': acfcontentunfold.data('unfold-max-height')}, {'duration': acfcontentunfold.data('animation-speed')});
2231                    acfcontentunfold.toggleClass('fold');
2232                    acfcontentunfoldlinktext.html(acfcontentunfold.data('unfold-text'))
2233                    acfcontentunfoldlinkicon.html('<i class="' + acfcontentunfold.data('unfold-icon') + '"></i>');
2234                }
2235
2236            });
2237        }
2238
2239    }
2240};
2241
2242(function($){
2243
2244    $(window).on( 'elementor/frontend/init', function() {
2245        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-acf.wysiwyg', FoldToUnfold );
2246        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-acf.text-area',   FoldToUnfold );
2247    });
2248
2249})(jQuery);
2250
2251/***/ }),
2252/* 15 */
2253/***/ (function(module, __webpack_exports__, __webpack_require__) {
2254
2255"use strict";
2256__webpack_require__.r(__webpack_exports__);
2257/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
2258
2259
2260(function($){
2261    const AeTaxonomyBlocksAccordionHandler = ( $scope , $ ) => {
2262        const wid = $scope.data('id');
2263        const outer_wrapper = $scope.find('.ae-taxonomy-widget-wrapper');
2264        const expand_button = $scope.find('.ae-accordion-toggle-button.expand');
2265        const collapse_button = $scope.find('.ae-accordion-toggle-button.collapse');
2266        const items = $scope.find(".ae-accordion-item");
2267        const swiper_settings = outer_wrapper.data('swiper-settings');
2268        let title_nav = '';
2269        // if($(outer_wrapper).hasClass('ae-swiper-nav-align-title')){
2270        //     const next_button = $scope.find('.ae-term-blocks-title .ae-swiper-button-next');
2271        //     const prev_button = $scope.find('.ae-term-blocks-title .ae-swiper-button-prev');
2272        //     console.log('next button -> ', next_button);
2273        //     console.log('prev button -> ', prev_button);
2274        //     next_button.on('click', function(e){
2275        //         e.preventDefault();
2276        //         const $this = $(this);
2277        //         const curr_item = $this.closest('.ae-accordion-item');
2278        //         const el = $(curr_item).find('.ae-swiper-container');
2279        //         console.log(el);
2280        //     })
2281        // }
2282        
2283        let acc_status = 'start';
2284        let toggle = '';
2285        
2286        if ($scope.hasClass('ae-tb-layout-carousel')) {
2287            $.each(items,function(i,item){
2288                let tid = $(item).data('item-id');
2289                new _base__WEBPACK_IMPORTED_MODULE_0__["SwiperBase"](swiper_settings, tid);
2290            })
2291            
2292        }
2293        if(outer_wrapper.hasClass('ae-toggle-yes')){
2294            toggle = true;
2295        }
2296
2297        if(elementorFrontend.isEditMode()){
2298            
2299            $scope.find('.elementor-section').each(function(){
2300                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
2301            });
2302
2303            $scope.find('.elementor-column').each(function(){
2304                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
2305            });
2306        }
2307
2308            
2309    };
2310
2311    $(window).on( 'elementor/frontend/init', function() {
2312        elementorFrontend.hooks.addAction('frontend/element_ready/ae-taxonomy-blocks.term_post_loop', AeTaxonomyBlocksAccordionHandler);
2313    });
2314})(jQuery);
2315
2316/***/ }),
2317/* 16 */
2318/***/ (function(module, __webpack_exports__, __webpack_require__) {
2319
2320"use strict";
2321__webpack_require__.r(__webpack_exports__);
2322/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
2323
2324
2325(function($){
2326    const AeTaxonomyBlocks = ( $scope , $ ) => {
2327        
2328        if ($scope.find('.ae-taxonomy-widget-wrapper').hasClass('ae-carousel-yes')) {
2329            
2330            const wid = $scope.data('id');
2331            const outer_wrapper = $scope.find('.ae-swiper-outer-wrapper');
2332            const swiper_settings = outer_wrapper.data('swiper-settings');
2333            new _base__WEBPACK_IMPORTED_MODULE_0__["SwiperBase"](swiper_settings, wid);
2334        }
2335            
2336    };
2337
2338    $(window).on( 'elementor/frontend/init', function() {
2339        elementorFrontend.hooks.addAction('frontend/element_ready/ae-taxonomy-blocks.card', AeTaxonomyBlocks);
2340        elementorFrontend.hooks.addAction('frontend/element_ready/ae-taxonomy-blocks.classic', AeTaxonomyBlocks);
2341    });
2342})(jQuery);
2343
2344/***/ }),
2345/* 17 */
2346/***/ (function(module, exports) {
2347
2348(function($){
2349
2350    const CFGoogleMap = ( $scope , $) => {
2351
2352        if($scope.find('.ae-cf-gmap').length) {
2353            
2354            const add_marker = ($marker, map) => {
2355                // var
2356                const latlng = new google.maps.LatLng($marker.attr('data-lat'), $marker.attr('data-lng'));
2357
2358                // create marker
2359                var marker = new google.maps.Marker({
2360                    position: latlng,
2361                    map: map,
2362                });
2363
2364                // add to array
2365                map.markers.push(marker);
2366
2367                // if marker contains HTML, add it to an infoWindow
2368
2369                if ($marker.html()) {
2370                    // create info window
2371                    var infowindow = new google.maps.InfoWindow({
2372                        content: $marker.html()
2373                    });
2374
2375                    // show info window when marker is clicked
2376                    google.maps.event.addListener(marker, 'click', function () {
2377                        infowindow.open(map, marker);
2378                    });
2379                }
2380            }
2381
2382            const new_map = ($el) => {
2383                const zoom = $scope.find('.ae-cf-gmap').data('zoom');
2384                const $markers = $el.find('.marker');
2385                const styles = $scope.find('.ae-cf-gmap').data('styles');
2386                
2387                // vars
2388                const args = {
2389                    zoom: zoom,
2390                    center: new google.maps.LatLng(0, 0),
2391                    mapTypeId: google.maps.MapTypeId.ROADMAP,
2392                    styles: styles
2393                };
2394
2395                // create map
2396                const map = new google.maps.Map($el[0], args);
2397
2398                // add a markers reference
2399                map.markers = [];
2400
2401                // add markers
2402                console.log({$markers});
2403                $markers.each(function () {
2404                    add_marker(jQuery(this), map);
2405                });
2406
2407                // center map
2408                center_map(map, zoom);
2409
2410                // return
2411                return map;
2412            }
2413
2414            
2415
2416            const center_map = (map, zoom) => {
2417
2418                // vars
2419                var bounds = new google.maps.LatLngBounds();
2420                // loop through all markers and create bounds
2421                jQuery.each(map.markers, function (i, marker) {
2422                    var latlng = new google.maps.LatLng(marker.position.lat(), marker.position.lng());
2423                    bounds.extend(latlng);
2424                });
2425
2426                // only 1 marker?
2427                if (map.markers.length == 1) {
2428                    // set center of map
2429                    map.setCenter(bounds.getCenter());
2430                    map.setZoom(zoom);
2431                }
2432                else {
2433                    // fit to bounds
2434                    map.fitBounds(bounds);
2435                }
2436            }
2437
2438            map = new_map($scope.find('.ae-cf-gmap'));
2439        }
2440
2441        
2442
2443    };
2444
2445    $(window).on( 'elementor/frontend/init', function() {
2446        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-cf-google-map.default', 	CFGoogleMap );
2447    });
2448})(jQuery);
2449
2450/***/ }),
2451/* 18 */
2452/***/ (function(module, exports) {
2453
2454(function($){
2455
2456    const CustomFieldHandler = function ( $scope , $ ) {
2457
2458        if(elementorFrontend.isEditMode()){
2459            return;
2460        }
2461
2462        if($scope.find('.ae-cf-wrapper').hasClass('hide')){
2463            $scope.find('.ae-cf-wrapper').closest('.elementor-widget-ae-custom-field').hide();
2464        }
2465    };
2466
2467    $(window).on( 'elementor/frontend/init', function() {
2468        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-custom-field.default', CustomFieldHandler );
2469    });
2470
2471})(jQuery);
2472
2473/***/ }),
2474/* 19 */
2475/***/ (function(module, exports) {
2476
2477(function ($) {
2478    'use strict';
2479
2480    function Hoverdir(element, options) {
2481        this.$el = $(element);
2482        // set options
2483        this.options = $.extend(true, {}, this.defaults, options);
2484        // initialize visibility to false for show and hide method
2485        this.isVisible = false;
2486        // get the hover for this element
2487        this.$hoverElem = this.$el.find(this.options.hoverElem);
2488        // transition properties
2489        this.transitionProp = 'all ' + this.options.speed + 'ms ' + this.options.easing;
2490        // support for CSS transitions
2491        this.support = this._supportsTransitions();
2492        // load the events
2493        this._loadEvents();
2494    }
2495
2496    Hoverdir.prototype = {
2497        defaults: {
2498            speed: 300,
2499            easing: 'ease',
2500            hoverDelay: 0,
2501            inverse: false,
2502            hoverElem: 'div'
2503        },
2504        constructor: Hoverdir,
2505        /**
2506         * Detect if CSS transitions are supported
2507         *
2508         * @return {Boolean}
2509         */
2510        _supportsTransitions: function () {
2511            if (typeof Modernizr !== 'undefined') {
2512                return Modernizr.csstransitions;
2513            } else {
2514                var b = document.body || document.documentElement,
2515                    s = b.style,
2516                    p = 'transition';
2517
2518                if (typeof s[p] === 'string') {
2519                    return true;
2520                }
2521
2522                // Tests for vendor specific prop
2523                var v = ['Moz', 'webkit', 'Webkit', 'Khtml', 'O', 'ms'];
2524                p = p.charAt(0).toUpperCase() + p.substr(1);
2525
2526                for (var i = 0; i < v.length; i++) {
2527                    if (typeof s[v[i] + p] === 'string') {
2528                        return true;
2529                    }
2530                }
2531
2532                return false;
2533            }
2534        },
2535        /**
2536         * Bind the events to the element
2537         */
2538        _loadEvents: function () {
2539            this.$el.on('mouseenter.hoverdir mouseleave.hoverdir', $.proxy(function (event) {
2540                this.direction = this._getDir({x: event.pageX, y: event.pageY});
2541
2542                if (event.type === 'mouseenter') {
2543                    this._showHover();
2544                }
2545                else {
2546                    this._hideHover();
2547                }
2548            }, this));
2549        },
2550        /**
2551         * Show the hover of the element
2552         */
2553        _showHover: function () {
2554            var styleCSS = this._getStyle(this.direction);
2555
2556            if (this.support) {
2557                this.$hoverElem.css('transition', '');
2558            }
2559
2560            this.$hoverElem.hide().css(styleCSS.from);
2561            clearTimeout(this.tmhover);
2562
2563            this.tmhover = setTimeout($.proxy(function () {
2564                this.$hoverElem.show(0, $.proxy(function () {
2565                    if (this.support) {
2566                        this.$hoverElem.css('transition', this.transitionProp);
2567                    }
2568                    this._applyAnimation(styleCSS.to);
2569
2570                }, this));
2571            }, this), this.options.hoverDelay);
2572
2573            this.isVisible = true;
2574        },
2575        /**
2576         * Hide the hover to the element
2577         */
2578        _hideHover: function () {
2579            var styleCSS = this._getStyle(this.direction);
2580            if (this.support) {
2581                this.$hoverElem.css('transition', this.transitionProp);
2582            }
2583            clearTimeout(this.tmhover);
2584            this._applyAnimation(styleCSS.from);
2585            this.isVisible = false;
2586        },
2587        /**
2588         * get the direction when the event is triggered
2589         * credits : http://stackoverflow.com/a/3647634
2590         *
2591         * @param {Object} coordinates
2592         * @returns {Interger}
2593         */
2594        _getDir: function (coordinates) {
2595            // the width and height of the current div
2596            var w = this.$el.width(),
2597                h = this.$el.height(),
2598                // calculate the x and y to get an angle to the center of the div from that x and y.
2599                // gets the x value relative to the center of the DIV and "normalize" it
2600                x = (coordinates.x - this.$el.offset().left - (w / 2)) * (w > h ? (h / w) : 1),
2601                y = (coordinates.y - this.$el.offset().top - (h / 2)) * (h > w ? (w / h) : 1),
2602                // the angle and the direction from where the mouse came in/went out clockwise (TRBL=0123);
2603                // first calculate the angle of the point,
2604                // add 180 deg to get rid of the negative values
2605                // divide by 90 to get the quadrant
2606                // add 3 and do a modulo by 4 to shift the quadrants to a proper clockwise TRBL (top/right/bottom/left) **/
2607                direction = Math.round((((Math.atan2(y, x) * (180 / Math.PI)) + 180) / 90) + 3) % 4;
2608            return direction;
2609        },
2610        /**
2611         * get the style when the event is triggered
2612         *
2613         * @param {(Interger|String)} direction
2614         * @returns {Object}
2615         */
2616        _getStyle: function (direction) {
2617            var fromStyle, toStyle,
2618                slideFromTop = {'left': '0', 'top': '-100%'},
2619            slideFromBottom = {'left': '0', 'top': '100%'},
2620            slideFromLeft = {'left': '-100%', 'top': '0'},
2621            slideFromRight = {'left': '100%', 'top': '0'},
2622            slideTop = {'top': '0'},
2623            slideLeft = {'left': '0'};
2624
2625            switch (direction) {
2626                case 0:
2627                case 'top':
2628                    // from top
2629                    fromStyle = !this.options.inverse ? slideFromTop : slideFromBottom;
2630                    toStyle = slideTop;
2631                    break;
2632                case 1:
2633                case 'right':
2634                    // from right
2635                    fromStyle = !this.options.inverse ? slideFromRight : slideFromLeft;
2636                    toStyle = slideLeft;
2637                    break;
2638                case 2:
2639                case 'bottom':
2640                    // from bottom
2641                    fromStyle = !this.options.inverse ? slideFromBottom : slideFromTop;
2642                    toStyle = slideTop;
2643                    break;
2644                case 3:
2645                case 'left':
2646                    // from left
2647                    fromStyle = !this.options.inverse ? slideFromLeft : slideFromRight;
2648                    toStyle = slideLeft;
2649                    break;
2650            }
2651
2652            return {from: fromStyle, to: toStyle};
2653        },
2654        /**
2655         * Apply a transition or fallback to jquery animate based on Modernizr.csstransitions support
2656         *
2657         * @param {Object} styleCSS
2658         */
2659        _applyAnimation: function (styleCSS) {
2660            $.fn.applyStyle = this.support ? $.fn.css : $.fn.animate;
2661            this.$hoverElem.stop().applyStyle(styleCSS, $.extend(true, [], {duration: this.options.speed}));
2662        },
2663        /**
2664         * Show $hoverElem from the direction in argument
2665         *
2666         * @param {String} [direction=top] direction
2667         */
2668        show: function (direction) {
2669            this.$el.off('mouseenter.hoverdir mouseleave.hoverdir');
2670            if (!this.isVisible) {
2671                this.direction = direction || 'top';
2672                this._showHover();
2673            }
2674        },
2675        /**
2676         * Hide $hoverElem from the direction in argument
2677         *
2678         * @param {String} [direction=bottom] direction
2679         */
2680        hide: function (direction) {
2681            this.rebuild();
2682            if (this.isVisible) {
2683                this.direction = direction || 'bottom';
2684                this._hideHover();
2685            }
2686        },
2687        setOptions: function (options) {
2688            this.options = $.extend(true, {}, this.defaults, this.options, options);
2689        },
2690        /**
2691         * Unbinds the plugin.
2692         */
2693        destroy: function () {
2694            this.$el.off('mouseenter.hoverdir mouseleave.hoverdir');
2695            this.$el.data('hoverdir', null);
2696        },
2697        /**
2698         * Bind the plugin.
2699         */
2700        rebuild: function (options) {
2701            if (typeof options === 'object') {
2702                this.setOptions(options);
2703            }
2704            this._loadEvents();
2705        }
2706    };
2707
2708    $.fn.hoverdir = function (option, parameter) {
2709        return this.each(function () {
2710            var data = $(this).data('hoverdir');
2711            var options = typeof option === 'object' && option;
2712
2713            // Initialize hoverdir.
2714            if (!data) {
2715                data = new Hoverdir(this, options);
2716                $(this).data('hoverdir', data);
2717            }
2718
2719            // Call hoverdir method.
2720            if (typeof option === 'string') {
2721                data[option](parameter);
2722
2723                if (option === 'destroy') {
2724                    $(this).data('hoverdir', false);
2725                }
2726            }
2727        });
2728    };
2729
2730    $.fn.hoverdir.Constructor = Hoverdir;
2731})(jQuery);
2732
2733/***/ }),
2734/* 20 */
2735/***/ (function(module, __webpack_exports__, __webpack_require__) {
2736
2737"use strict";
2738__webpack_require__.r(__webpack_exports__);
2739/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
2740
2741
2742(function($){
2743    const AeDynamicCalendar = ($scope, $) => {
2744        const settings = $scope.data('settings');
2745        const wid = $scope.data('id');
2746        const wclass = '.elementor-element-' + wid;
2747        const outer_wrapper = $scope.find('.ae-swiper-outer-wrapper');
2748        const calendar_wrapper = $scope.find('.ae-dc-wrapper');
2749        const calendar = $scope.find('.ae-dc-render');
2750        let listing = $scope.find('.ae-dc-listing');
2751        let post_date = calendar.find('.ae-dc-dates .ae-dc-post-date');
2752
2753        const hidelist = (hideClass, listing, calendar) => {
2754            if (!listing.hasClass('no-posts')) {
2755                if (hideClass == 'hidden') {
2756                    listing.css('z-index', '10');
2757                    listing.css('opacity', '1');
2758                    if ($scope.hasClass('ae-dc-listing-align-overlap')) {
2759                        calendar.css('opacity', '0');
2760                    }
2761                    listing.removeClass('hidden');
2762                } else {
2763                    listing.css('opacity', '0');
2764                    listing.css('z-index', '1');
2765                    if ($scope.hasClass('ae-dc-listing-align-overlap')) {
2766                        calendar.css('opacity', '1');
2767                    }
2768                    listing.addClass('hidden');
2769                }
2770            }
2771        }
2772
2773        if (elementorFrontend.isEditMode() || settings.listing_render == 'load') {
2774            if ($scope.find('.ae-outer-wrapper').hasClass('ae-carousel-yes')) {
2775                let carousel = listing.find('.dc-listing-item');
2776                let carouselHtml = '';
2777                $.each(carousel, function (i, val) {
2778                    carouselHtml = carouselHtml + val.outerHTML;
2779                });
2780                $scope.find('.dc-listing-container .ae-swiper-wrapper').html(carouselHtml);
2781                $scope.find('.dc-listing-container .ae-swiper-wrapper').find('.dc-listing-item').show();
2782                const swiper_settings = outer_wrapper.data('swiper-settings');
2783                
2784                //Swiper object destroyed if found.
2785                let mswiper = document.querySelector(wclass + ' .ae-swiper-container').swiper
2786                if (mswiper !== undefined) mswiper.destroy(true, true);
2787                
2788                //Carousel Initialize
2789                new _base__WEBPACK_IMPORTED_MODULE_0__["SwiperBase"](swiper_settings, wid);
2790            }
2791        }
2792
2793        if (!elementorFrontend.isEditMode()) {
2794            if (settings.listing_render == 'click') {
2795                hidelist('', listing, calendar);
2796            }
2797        }
2798
2799        jQuery(document).on('click', wclass + ' .ae-dc-dates .ae-dc-post-date', function (e) {
2800            const clostbtn = $scope.find('.ae-listing-close');
2801            listing = $scope.find('.ae-dc-listing');
2802            hidelist('hidden', listing, calendar);
2803            e.preventDefault();
2804            if ($scope.hasClass('ae-dc-listing-align-overlap')) {
2805                listing.css('z-index', '100');
2806                listing.show();
2807                clostbtn.on('click', function () {
2808                    hidelist('', listing, calendar);
2809                    listing.css('z-index', '8');
2810                });
2811            }
2812            if ($scope.find('.ae-outer-wrapper').hasClass('ae-carousel-yes')) {
2813                let carousel = listing.find('.dc-listing-item.ae-dc-' + $(this).data('dc-date'));
2814                let carouselHtml = '';
2815                $.each(carousel, function (i, val) {
2816                    carouselHtml = carouselHtml + val.outerHTML;
2817                });
2818                $scope.find('.dc-listing-container .ae-swiper-wrapper').html(carouselHtml);
2819                $scope.find('.dc-listing-container .ae-swiper-wrapper').find('.dc-listing-item.ae-dc-' + $(this).data('dc-date')).show();
2820                const swiper_settings = outer_wrapper.data('swiper-settings');
2821                
2822                //Swiper object destroyed if found.
2823                let mswiper = document.querySelector(wclass + ' .ae-swiper-container').swiper
2824                if (mswiper !== undefined) mswiper.destroy(true, true);
2825                
2826                //Carousel Initialize
2827                new _base__WEBPACK_IMPORTED_MODULE_0__["SwiperBase"](swiper_settings, wid);
2828            } else {
2829                listing.find('.dc-listing-item').hide();
2830                listing.find('.dc-listing-item.ae-dc-' + $(this).data('dc-date')).show();
2831            }
2832
2833            if ($scope.hasClass('ae-dc-listing-align-overlap')) {
2834                let container = document.querySelector(wclass + ' .ae-swiper-container');
2835                let container_height = container.offsetHeight;
2836                //calendar_wrapper.css('height', container_height + 'px');
2837            }
2838            
2839        });
2840        
2841    };
2842
2843    $(window).on( 'elementor/frontend/init', function() {
2844        elementorFrontend.hooks.addAction('frontend/element_ready/ae-dynamic-calendar.skin_1', AeDynamicCalendar);
2845    });
2846})(jQuery);
2847
2848/***/ }),
2849/* 21 */
2850/***/ (function(module, __webpack_exports__, __webpack_require__) {
2851
2852"use strict";
2853__webpack_require__.r(__webpack_exports__);
2854/* harmony import */ var _html_map_marker_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2);
2855/* harmony import */ var _custom_overlay_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
2856/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
2857
2858
2859
2860(function ($) {
2861
2862    const DynamicMap = ($scope, $) => {
2863        
2864        if ($scope.find('.ae-dynamic-map-wrapper').length) {
2865            const wid = $scope.data('id');
2866            const wclass = '.elementor-element-' + wid;
2867            let settings = {};
2868            let map;
2869            let activeInfoWindow = false;
2870            let currentMarker;
2871            let marker_cluster = [];
2872            let animation;
2873
2874            // Carousel
2875            if($scope.find('.ae-swiper-outer-wrapper').hasClass('ae-carousel-yes')) {
2876                const wid = $scope.data('id');
2877                const outer_wrapper = $scope.find('.ae-swiper-outer-wrapper');
2878                const swiper_settings = outer_wrapper.data('swiper-settings');
2879                new _base__WEBPACK_IMPORTED_MODULE_2__["SwiperBase"](swiper_settings, wid);
2880            }
2881
2882            //Map options
2883            if (typeof document.querySelector(wclass + ' .ae-dynamic-map-wrapper').dataset.map_options !== 'undefined') {
2884                settings = JSON.parse(document.querySelector(wclass + ' .ae-dynamic-map-wrapper').dataset.map_options);
2885            }
2886
2887            //Listing marker interaction
2888            const marker_item = document.querySelectorAll(wclass + ' .ae-map-listing .ae-marker-item');
2889            if (settings['listing_marker_sync']) {
2890                marker_item.forEach(node => {
2891                    node.addEventListener('click', function (el) {
2892                        el.preventDefault();
2893                        marker_item.forEach(node => {
2894                            node.classList.remove('ae-marker-active');
2895                        });
2896                        el.currentTarget.classList.add('ae-marker-active');
2897
2898                        var id = el.currentTarget.dataset.id;
2899                        var clicked_marker = map.markers[id];
2900                        if (settings['marker_click_action'] != 'post_link') {
2901                            google.maps.event.trigger(map.markers[id], 'click');
2902                        }
2903
2904                        var divHeightOfTheMap = document.querySelector(wclass + ' .ae-map-render').clientHeight;
2905                        var offSetFromBottom = 100;
2906                        var offSetFromLeft = 0;
2907                        map.setCenter(clicked_marker.getPosition());
2908                        map.panBy(offSetFromLeft, -(divHeightOfTheMap / 2 - offSetFromBottom));
2909
2910                        if (document.querySelector(wclass + ' .ae-responsive-btn')) {
2911                            if (document.querySelector(wclass + ' .ae-listing-responsive-mode-yes.' + document.querySelector('body').dataset.elementorDeviceMode)) {
2912                                let map_listing = document.querySelector(wclass + ' .ae-map-listing');
2913                                let map_render = document.querySelector(wclass + ' .ae-map-render');
2914                                let responsive_btn = document.querySelector(wclass + ' .ae-responsive-btn');
2915                                let responsive_btn_a = document.querySelector(wclass + ' .ae-responsive-btn a');
2916
2917                                responsive_mode(responsive_btn_a, map_render, map_listing, responsive_btn);
2918                            }
2919                        }
2920                    });
2921                });
2922            }
2923
2924            //Google Map
2925            if (document.querySelector(wclass + ' .ae-dynamic-map-wrapper').dataset.map_type === 'google_map') {
2926                // create marker
2927                const add_marker = ($marker_div, map) => {
2928                    const $marker = $marker_div.data('marker');
2929                    const latlng = new google.maps.LatLng($marker.lat, $marker.lng);
2930                    let icon = '<div class="ae-map-marker" id="temp"><img src="/wp-content/plugins/anywhere-elementor-pro/includes/assets/images/map-icon.png" /></div>';
2931                    animation = settings['markerAnimation'];
2932                    if (settings['marker_type'] === 'default') {
2933                        var marker = Object(_html_map_marker_js__WEBPACK_IMPORTED_MODULE_0__["default"])({
2934                            position: latlng,
2935                            map: map,
2936                            html: icon,
2937                            markerIndex: $marker.marker_index,
2938                            animation: animation,
2939                        });
2940                    } else {
2941                        if (settings['marker']['icon']) {
2942                            icon = settings['marker']['icon'];
2943                        }
2944                        if (settings['marker']['icon'] && settings['marker']['type'] === '
2944image') {
2945                            var marker = Object(_html_map_marker_js__WEBPACK_IMPORTED_MODULE_0__["default"])({
2946                                position: latlng,
2947                                map: map,
2948                                html: icon,
2949                                markerIndex: $marker.marker_index,
2950                                animation: animation,
2951                            });
2952                        } else if (settings['marker']['icon'] && (settings['marker']['type'] === 'icon' || settings['marker']['type'] === 'svg')) {
2953                            var marker = Object(_html_map_marker_js__WEBPACK_IMPORTED_MODULE_0__["default"])({
2954                                position: latlng,
2955                                map: map,
2956                                html: icon,
2957                                markerIndex: $marker.marker_index,
2958                                animation: animation,
2959                            });
2960                        } else if (settings['marker_type'] === 'dynamic' && settings['marker']['type'] === 'image') {
2961                            if ($marker.marker) {
2962                                icon = $marker.marker;
2963                            }
2964                             var marker = Object(_html_map_marker_js__WEBPACK_IMPORTED_MODULE_0__["default"])({
2965                                position: latlng,
2966                                map: map,
2967                                html: icon,
2968                                markerIndex: $marker.marker_index,
2969                                animation: animation,
2970                            });
2971                            
2972                        }
2973                    }
2974
2975                    // add to array
2976                    map.markers.push(marker);
2977
2978                    // add to cluster
2979                    marker_cluster[$marker.marker_index] = marker;
2980
2981                    // if marker contains HTML, add it to an infoWindow
2982                    if ($marker_div.html()) {
2983                        // create info window
2984
2985                        // show info window when marker is clicked
2986                        google.maps.event.addListener(marker, 'click', function (i) {
2987                           
2988                            if (settings['marker_click_action'] == 'info_window') {
2989                                const popup = document.querySelector(wclass + ' #infowindow_id_' + marker.markerIndex);
2990                                marker.removeAnimation(animation);
2991                                if (activeInfoWindow) {
2992                                    activeInfoWindow.style.display = 'none';
2993                                    if (marker != currentMarker) {
2994                                        currentMarker.addAnimation(animation);
2995                                    }
2996                                }
2997                                activeInfoWindow = popup;
2998                                currentMarker = marker;
2999
3000                                popup.style.display = 'block';
3001                                popup.style.bottom = marker.div.offsetHeight + 15 + 'px';
3002
3003                                var divHeightOfTheMap = document.querySelector(wclass + ' .ae-map-render').clientHeight;
3004                                var offSetFromBottom = 100;
3005                                var offSetFromLeft = 0;
3006                                
3007                                map.setCenter(marker.getPosition());
3008                                //map.setCenter(new google.maps.LatLng(marker.getPosition().lat(), map.getCenter().lng()));
3009                                map.panBy(offSetFromLeft, -(divHeightOfTheMap / 2 - offSetFromBottom));
3010
3011                                $scope.find('.elementor-section').each(function () {
3012                                    elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
3013                                });
3014
3015                                $scope.find('.elementor-column').each(function () {
3016                                    elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
3017                                });
3018                                
3019                                $scope.find('.elementor-widget').each(function () {
3020                                    elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
3021                                });
3022
3023                                let iw_close_btn = document.querySelector(wclass + ' #infowindow_id_' + marker.markerIndex + ' .ae-infowindow-close-btn');
3024                                iw_close_btn.addEventListener('click', function () {
3025                                    popup.style.display = 'none';
3026                                    marker.addAnimation(animation);
3027                                    activeInfoWindow = false;
3028                                });
3029                            }
3030
3031                            if (settings['marker_click_action'] == 'post_link') {
3032                                if ($marker.open_in_new_window == 'yes') {
3033                                    window.open($marker.post_link);
3034                                } else {
3035                                    window.location.href = $marker.post_link;
3036                                }
3037                            } else {
3038
3039                                //Listing marker interaction
3040                                if (settings['listing_marker_sync']) {
3041                                    marker_item.forEach(node => {
3042                                        node.classList.remove('ae-marker-active');
3043                                    });
3044
3045                                    if (document.querySelector(wclass + ' .ae-swiper-container')) {
3046                                        let $mswiper = document.querySelector(wclass + ' .ae-swiper-container').swiper;
3047                                        if (marker_item[marker.markerIndex]) {
3048                                            $mswiper.slideTo(marker.markerIndex);
3049                                            marker_item[marker.markerIndex].classList.add('ae-marker-active');
3050                                        }
3051                                    } else {
3052                                        if (marker_item[marker.markerIndex]) {
3053                                            marker_item[marker.markerIndex].classList.add('ae-marker-active');
3054                                            let scrollDiv = marker_item[marker.markerIndex].offsetTop;
3055                                            document.querySelector(wclass + ' .ae-map-listing').scrollTo({ top: scrollDiv, behavior: 'smooth' });
3056                                        }
3057                                    }
3058                                }
3059                            }
3060
3061                            if (!activeInfoWindow) {
3062                                marker.toggleAnimation (animation);
3063                            }
3064
3065                        });
3066                    }
3067                }
3068
3069                const add_infowindow = ($marker_div, map) => {
3070                    const $marker = $marker_div.data('marker');
3071                    const latlng = new google.maps.LatLng($marker.lat, $marker.lng);
3072                    const CustomOverlay = Object(_custom_overlay_js__WEBPACK_IMPORTED_MODULE_1__["default"])({
3073                                position: latlng,
3074                                map: map,
3075                                html: '<div class="ae-map-infowindow" id="infowindow_id_' + $marker.marker_index + '"><div class="infowindow">' + $marker_div.html() + '</div><button class="ae-infowindow-close-btn" title="Close" type="button" class="gm-ui-hover-effect"><img src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M19%206.41L17.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z%22/%3E%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22/%3E%3C/svg%3E" alt=""></button></div>',
3076                                markerIndex: $marker.marker_index
3077                            })
3078                }
3079
3080                const map_options = [
3081                    'backgroundColor',
3082                    'clickableIcons',
3083                    'disableDefaultUI',
3084                    'disableDoubleClickZoom',
3085                    'mapTypeId',
3086                    'zoom',
3087                    'mapTypeControl',
3088                    'streetViewControl',
3089                    'zoomControl',
3090                    'fullscreenControl',
3091                    'gestureHandling',
3092                    'scrollwheel',
3093                    'styles'
3094                ];
3095
3096                const new_map = ($el) => {
3097                    const $markers = $el.find('.marker');
3098                    const styles = $scope.find('.ae-map-render').data('map-style');
3099                    const args = {};
3100
3101                    map_options.forEach(option => {
3102                        if (typeof settings[option] != "undefined") {
3103                            args[option] = settings[option];
3104                        }
3105                    
3106                    });
3107
3108                    // create map
3109                    const map = new google.maps.Map($el[0], args);
3110
3111                    // add a markers reference
3112                    map.markers = [];
3113
3114                    // add markers
3115                    $markers.each(function () {
3116                        add_marker(jQuery(this), map);
3117                        add_infowindow(jQuery(this), map);
3118                    });
3119
3120                    // center map
3121                    center_map(map, settings['zoom']);
3122
3123                    // marker cluster
3124                        cluster(map);
3125
3126                    // return
3127                    return map;
3128                }
3129
3130                const cluster = (map) => {
3131                    var cluster_image = {
3132				        imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'
3133                    };
3134                    
3135                    if( 0 < marker_cluster.length && settings['markerCluster']) {
3136                        var markerCluster = new MarkerClusterer(
3137                            map,
3138                            marker_cluster,
3139                            cluster_image
3140                        );
3141                    }
3142                }
3143
3144                const center_map = (map, zoom) => {
3145
3146                    // vars
3147                    var bounds = new google.maps.LatLngBounds();
3148                    // loop through all markers and create bounds
3149                    jQuery.each(map.markers, function (i, marker) {
3150                        var latlng = new google.maps.LatLng(marker.position.lat(), marker.position.lng());
3151                        bounds.extend(latlng);
3152                    });
3153
3154                    // only 1 marker?
3155                    if (map.markers.length == 1) {
3156                        // set center of map
3157                        map.setCenter(bounds.getCenter());
3158                        map.setZoom(zoom);
3159                    }
3160                    else {
3161                        //map.setCenter(bounds.getCenter());
3162                        map.setCenter(map.markers[0].getPosition());
3163                        map.setZoom(zoom);
3164                        // fit to bounds
3165                        if (settings['auto_center'] == 'yes') {
3166                            map.fitBounds(bounds);
3167                        }
3168                    }
3169                }
3170
3171                if ($scope.find('.ae-map-render').length) {
3172                    map = new_map($scope.find('.ae-map-render'));
3173                }
3174
3175            }
3176           
3177            if (document.querySelector(wclass + ' .ae-responsive-btn')) {
3178                if (document.querySelector(wclass + ' .ae-listing-responsive-mode-yes.' + document.querySelector('body').dataset.elementorDeviceMode)) {
3179
3180                    let map_wrapper = document.querySelector(wclass + ' .ae-dynamic-map-wrapper');
3181
3182                    let map_render = document.querySelector(wclass + ' .ae-map-render');
3183                    let map_listing = document.querySelector(wclass + ' .ae-map-listing')
3184                    let responsive_btn = document.querySelector(wclass + ' .ae-responsive-btn');
3185                    let responsive_btn_a = document.querySelector(wclass + ' .ae-responsive-btn a');
3186
3187                    let map_render_height = map_render.offsetHeight;
3188                    let responsive_btn_height = responsive_btn.offsetHeight;
3189                    let map_wrapper_height = map_render_height + responsive_btn_height;
3190                    map_listing.style.setProperty('height', map_render_height + 'px');
3191
3192                    responsive_btn_a.addEventListener("click", function (e) {
3193                        e.preventDefault();
3194                        responsive_mode(this, map_render, map_listing, responsive_btn);
3195                    });
3196                }
3197            }
3198
3199            const responsive_mode = ($this, map_render, map_listing, responsive_btn) => {
3200                if (responsive_btn.classList.contains('hide-list')) {
3201                    map_listing.style.setProperty('z-index', '10');
3202                    map_listing.style.setProperty('opacity', '1');
3203                    map_render.style.setProperty('opacity', '0');
3204                    responsive_btn.classList.remove('hide-list');
3205                    $this.innerHTML = $this.dataset.close_list_text;
3206                } else {
3207                    map_listing.style.setProperty('z-index', '1');
3208                    map_listing.style.setProperty('opacity', '0');
3209                    map_render.style.setProperty('opacity', '1');
3210                    responsive_btn.classList.add('hide-list');
3211                    $this.innerHTML = $this.dataset.show_list_text;
3212                }
3213            }
3214        }
3215
3216        
3217
3218    };
3219
3220    $(window).on( 'elementor/frontend/init', function() {
3221        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-dynamic-map.default', DynamicMap );
3222    });
3223})(jQuery);
3224
3225/***/ }),
3226/* 22 */
3227/***/ (function(module, __webpack_exports__, __webpack_require__) {
3228
3229"use strict";
3230__webpack_require__.r(__webpack_exports__);
3231/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
3232
3233
3234( function( $ ) {
3235
3236    var PodsGallery = function ( $scope , $ ) {
3237        var $wrapper = $scope.find('.ae-grid-wrapper');
3238        if($scope.hasClass('ae-pods-gallery-carousel')) {
3239            const outer_wrapper = $scope.find('.ae-swiper-outer-wrapper');
3240            const wid = $scope.data('id');
3241            const swiper_settings = outer_wrapper.data('swiper-settings');
3242
3243            new _base__WEBPACK_IMPORTED_MODULE_0__["SwiperBase"](swiper_settings, wid);
3244        }
3245
3246        if($scope.hasClass('ae-pods-gallery-grid')) {
3247            if ($scope.find('.ae-grid-wrapper').hasClass('ae-masonry-yes')) {
3248                var grid = $scope.find('.ae-grid');
3249                var $grid_obj = grid.masonry({
3250
3251                });
3252
3253                $grid_obj.imagesLoaded().progress(function () {
3254                    $grid_obj.masonry('layout');
3255                });
3256            }
3257
3258            if(!$wrapper.hasClass('ae-hover-direction-effect')) {
3259                $scope.find('.ae-grid-item').hover(function(){
3260                    $(this).find('.ae-grid-overlay').addClass('animated');
3261                });
3262            }
3263            if($wrapper.hasClass('ae-hover-direction-effect')){
3264                const  overlay_speed = parseInt($wrapper.attr('data-overlay-speed'));
3265                $scope.find('.ae-grid-item').hover(function () {
3266                    $(this).find('.ae-grid-overlay').addClass('aep-overlay');
3267                });
3268                $wrapper.find('.ae-grid-item' ).hoverdir({
3269                        speed: overlay_speed,
3270                        hoverElem : '.ae-grid-overlay'
3271                });
3272            };
3273        }
3274    };
3275
3276    $(window).on( 'elementor/frontend/init', function() {
3277        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-pods.file_gallery', PodsGallery );
3278    });
3279
3280})( jQuery );
3281
3282/***/ }),
3283/* 23 */
3284/***/ (function(module, exports) {
3285
3286(function($){
3287
3288    const PortfolioHandler = ( $scope , $ ) => {
3289        if($scope.find('.ae-post-widget-wrapper').hasClass('ae-masonry-yes')){
3290            var grid = $scope.find('.ae-post-list-wrapper');
3291            var $grid_obj = grid.masonry();
3292
3293            $grid_obj.imagesLoaded().progress(function(){
3294                $grid_obj.masonry('layout');
3295            });
3296        }
3297
3298        $scope.find('article.ae-post-list-item').css('opacity', '1');
3299    };
3300
3301    $(window).on( 'elementor/frontend/init', function() {
3302        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-portfolio.default', PortfolioHandler );
3303    });
3304
3305})(jQuery);
3306
3307/***/ }),
3308/* 24 */
3309/***/ (function(module, __webpack_exports__, __webpack_require__) {
3310
3311"use strict";
3312__webpack_require__.r(__webpack_exports__);
3313/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
3314/* harmony import */ var _dynamic_bg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
3315
3316
3317
3318( function( $ ) {
3319
3320    const PostBlocksAdvHandler = ($scope, $) => {
3321
3322        const grid = $scope.find('.ae-post-list-wrapper');
3323
3324        // Carousel
3325        if($scope.find('.ae-swiper-outer-wrapper').hasClass('ae-carousel-yes')) {
3326            const wid = $scope.data('id');
3327            const outer_wrapper = $scope.find('.ae-swiper-outer-wrapper');
3328            const swiper_settings = outer_wrapper.data('swiper-settings');
3329            new _base__WEBPACK_IMPORTED_MODULE_0__["SwiperBase"]( swiper_settings, wid );
3330        }
3331
3332        if(elementorFrontend.isEditMode()){
3333            
3334            $scope.find('.elementor-section').each(function(){
3335                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
3336            });
3337
3338            $scope.find('.elementor-column').each(function(){
3339                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
3340            });
3341        }
3342
3343
3344    }
3345
3346    $(window).on( 'elementor/frontend/init', function() {
3347        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-post-blocks-adv.carousel', 	PostBlocksAdvHandler );
3348    });
3349
3350
3351})(jQuery);
3352
3353/***/ }),
3354/* 25 */
3355/***/ (function(module, exports) {
3356
3357(function($){
3358
3359    const PostBlockAdvAccordionHandler = ( $scope , $ ) => {
3360        const title = $scope.find('.ae-tab-title');
3361        const accordion_content = $scope.find('.ae-tab-content');
3362        const expand_button = $scope.find('.ae-accordion-toggle-button.expand');
3363        const collapse_button = $scope.find('.ae-accordion-toggle-button.collapse');
3364        const speed = $scope.find('.ae-accordion').data('transition-speed');
3365        let acc_status = 'start';
3366        (title).on('click',function (e) {
3367            e.preventDefault();
3368            collapse_button.removeClass('active');
3369            expand_button.removeClass('active');
3370            acc_status = 'start';
3371            const $this = $(this);
3372            if ($this.hasClass("ae-active")) {
3373                $this.removeClass("ae-active");
3374                $this.next().slideUp(speed);
3375            } else {
3376                $this
3377                    .parent()
3378                    .parent()
3379                    .find(".ae-tab-title")
3380                    .removeClass("ae-active");
3381                $this
3382                    .parent()
3383                    .parent()
3384                    .find(".ae-tab-content")
3385                    .slideUp(speed);
3386                $this.toggleClass("ae-active");
3387                $this.next().slideToggle(speed);
3388            }
3389
3390            if ('undefined' !== typeof $this.data('hashtag')) {
3391                window.location.hash = $this.data('hashtag');
3392            }
3393
3394            setTimeout(function () {
3395                /* Initialise ACF Gallery on Ajax */
3396                $this.siblings('.ae-tab-content').find('.elementor-widget-ae-acf-gallery').each(function () {
3397                    elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
3398                });
3399            }, 100);
3400        });
3401        (expand_button).on('click', function (e) {
3402            e.preventDefault();
3403            const $this = $(this);
3404            var role = $(this).data('role');
3405            if(acc_status == role){
3406                return;
3407            }else{
3408                acc_status = role;
3409                collapse_button.removeClass('active');
3410                $this.toggleClass('active');
3411                title.each(function(index,element){
3412                    $(element).addClass('ae-active');
3413                    var content = $(element).next();
3414                    content.slideDown(speed);
3415                    content.addClass('ae-active');
3416                });
3417            }
3418        });
3419        (collapse_button).on('click',function(e){
3420            e.preventDefault();
3421            const $this = $(this);
3422            var role = $(this).data('role');
3423            if(acc_status == role){
3424                return;
3425            } else {
3426                acc_status = role;
3427                expand_button.removeClass('active');
3428                $this.toggleClass('active');
3429                title.each(function (index, element) {
3430                    $(element).removeClass('ae-active'); 
3431                    var content = $(element).next();
3432                    content.slideUp(speed);
3433                    //content.removeClass('elementor-active');
3434                     
3435                });
3436            }
3437        });
3438        let $hashtag = window.location.hash.substring(1);
3439        if ($hashtag) {
3440            let $tab = title.filter('[data-hashtag="' + $hashtag + '"]');
3441            if ($tab.length > 0) {
3442                if (!$tab.hasClass('ae-active')) {
3443                    jQuery($tab).trigger('click');
3444                }
3445                let $tab_offset = parseInt(jQuery($tab).offset().top);
3446                jQuery('html, body').animate({
3447                    scrollTop: $tab_offset - 100
3448                }, 1000);
3449
3450            }
3451        }
3452
3453        if(elementorFrontend.isEditMode()){
3454            
3455            $scope.find('.elementor-section').each(function(){
3456                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
3457            });
3458
3459            $scope.find('.elementor-column').each(function(){
3460                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
3461            });
3462        }
3463    };
3464
3465    $(window).on( 'elementor/frontend/init', function() {
3466        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-post-blocks-adv.accordion',  PostBlockAdvAccordionHandler );
3467    });
3468
3469})(jQuery);
3470
3471/***/ }),
3472/* 26 */
3473/***/ (function(module, exports) {
3474
3475(function ($) {
3476    
3477	let wid, wclass;
3478    const safariResize = ($scope) => {
3479        // Targetting collapsed images in pjax loading box (safari bug)
3480        let imgLoad = imagesLoaded($scope.find('.ae-element-post-image > .ae_thumb_wrapper img'));
3481        imgLoad.on('progress', function (instance, image) {
3482            if (image.isLoaded && image.img.height == 0) {
3483                var naturalH = image.img.naturalHeight,
3484                    naturalW = image.img.naturalWidth;
3485                if (image.img.parentElement.clientWidth < naturalW) {
3486                    var ratio = naturalH / naturalW;
3487                    naturalW = image.img.parentElement.clientWidth;
3488                    naturalH = naturalW * ratio;
3489                }
3490                image.img.setAttribute("style", "width: " + naturalW + "px; height: " + naturalH + "px; display:none;");
3491                $(image.img).fadeIn();
3492            }
3493        });
3494    };
3495
3496    const _ias =  ( $scope , $, grid ) => {
3497
3498        wid = $scope.data('id');
3499        wclass = '.elementor-element-' + wid;
3500
3501
3502        const ias = grid;
3503        let msnry = '';
3504        if($scope.find('.ae-outer-wrapper').hasClass('ae-masonry-yes')) {
3505            msnry = grid.data('masonry');
3506        }
3507        const $ias_obj = ias.infiniteScroll({
3508            path: '.next',
3509            append: wclass + ' .ae-post-item-' + wid,
3510            status: wclass + ' .scroller-status',
3511            hideNav: wclass + ' .ae-pagination-wrapper',
3512            outlayer: msnry,
3513            button: wclass + ' .view-more-button',
3514            history: $scope.find('.ae-outer-wrapper').data('ias-history'),
3515        });
3516
3517        ias.on('append.infiniteScroll', function(event, response, path, items) {
3518
3519            $scope.find('.ae-post-collection').find('.ae-cf-wrapper').each(function() {
3520                if ($(this).hasClass('hide')) {
3521                    $(this).closest('.elementor-widget-ae-custom-field').hide();
3522                }
3523            });
3524
3525            /* EAE Modal Popup Widget compatibility on IAS ajax */
3526
3527            /* if($scope.find('.eae-popup-link').length){
3528
3529                const $close_btn = $scope.find('.eae-popup-wrapper').data('close-btn');
3530
3531                const $magnific = $scope.find('.eae-popup-link').eaePopup({
3532                    type: 'inline',
3533
3534                    mainClass: 'eae-popup eae-popup-' + $scope.find('.eae-popup-link').data('id') + ' eae-wrap-' + $scope.find('.eae-popup-link').data('ctrl-id'),
3535
3536                    closeBtnInside: $scope.find('.eae-popup-wrapper').data('close-in-out'),
3537
3538                    closeMarkup: '<i class="eae-close ' + $close_btn + '"> </i>',
3539                });
3540
3541            } */
3542            /* EAE Modal Popup Widget compatibility on IAS ajax */
3543
3544            if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1)  {
3545                safariResize($scope);
3546            } else if (navigator.userAgent.indexOf('iPad') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {
3547                safariResize($scope);
3548            }
3549
3550            if (navigator.userAgent.indexOf('Safari') != -1 || navigator.userAgent.indexOf('iPad') != -1 || navigator.userAgent.indexOf('iPhone') != -1 && navigator.userAgent.indexOf('Chrome') == -1){
3551				//var ias_image = $scope.find('.ae-post-list-wrapper').find('.wp-post-image');
3552				var ias_image = $scope.find('.ae-post-collection').find('img');
3553                ias_image.each(function (index, ias_image) {
3554                    ias_image.outerHTML = ias_image.outerHTML;
3555                });
3556            }
3557
3558            let appendedPostItem = document.querySelectorAll('.ae-post-item');
3559
3560            appendedPostItem.forEach(function (el) {
3561                el.classList.remove("appended");
3562            });
3563            items.forEach(function (el) {
3564                el.classList.add("appended");
3565            });
3566            /* Initialise ACF Gallery on Ajax */
3567           /*  $scope.find('.ae-post-item.appended .elementor-widget-ae-acf-gallery').each(function () {
3568                elementorFrontend.elementsHandler.runReadyTrigger($(this));
3569            }); */
3570
3571            $scope.find('.ae-post-item.appended .elementor-section').each(function(){
3572                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
3573            });
3574
3575            $scope.find('.ae-post-item.appended .elementor-column').each(function(){
3576                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
3577            });
3578            
3579            $scope.find('.ae-post-item.appended .elementor-widget').each(function(){
3580                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
3581            });
3582        });
3583
3584        if($scope.find('.ae-outer-wrapper').hasClass('ae-ias-load-with-button-yes')) {
3585            var $viewMoreButton = $('.view-more-button');
3586
3587            // get Infinite Scroll instance
3588            var infScroll = ias.data('infiniteScroll');
3589
3590            ias.on('load.infiniteScroll', onPageLoad);
3591            var loadCount = $scope.find('.ae-outer-wrapper').data('load-offset-page');
3592            function onPageLoad() {
3593                if (infScroll.loadCount == loadCount) {
3594                    // after 2nd page loaded
3595                    // disable loading on scroll
3596                    ias.infiniteScroll('option', {
3597                        loadOnScroll: false,
3598                    });
3599                    // show button
3600                    $viewMoreButton.show();
3601                    // remove event listener
3602                    ias.off('load.infiniteScroll', onPageLoad);
3603                }
3604            }
3605
3606            if (loadCount == 0) {
3607                ias.infiniteScroll('option', {
3608                    loadOnScroll: false,
3609                });
3610                // show button
3611                $viewMoreButton.show();
3612                // remove event listener
3613                var $scroller_status = $scope.find('.scroller-status');
3614                $scroller_status.hide();
3615                //ias.off('load.infiniteScroll', onPageLoad);
3616            }
3617        }
3618
3619        ias.on( 'last.infiniteScroll', function( event, response, path ) {
3620            // parse JSON
3621            $scope.find('.load-more-wrapper').hide();
3622            // do something with JSON...
3623        });
3624    };
3625
3626    const PostBlocksAdvHandler = ($scope, $) => {
3627		
3628		wid = $scope.data('id');
3629		wclass = '.elementor-element-' + wid;
3630		
3631        const grid = $scope.find('.ae-post-collection');
3632        // Masonry Layout
3633        if($scope.find('.ae-outer-wrapper').hasClass('ae-masonry-yes')){
3634             const $grid_obj = grid.masonry({
3635                 horizontalOrder: true
3636             });
3637             $grid_obj.imagesLoaded().progress(function(){
3638                 $grid_obj.masonry('layout');
3639             });
3640
3641         }
3642
3643        // Infinite Scroll
3644        const ias_grid = $scope.find('.ae-outer-wrapper[data-wid=' + wid + '] > .ae-post-collection');
3645        if ($scope.find('.ae-outer-wrapper').hasClass('ae-ias-yes')) {
3646            if ($scope.find('.ae-pagination-wrapper .page-numbers').length) {
3647                _ias($scope, $, ias_grid)
3648            }else{
3649                $scope.find('.scroller-status').hide();
3650                $scope.find('.load-more-wrapper').hide();
3651            }
3652        }
3653
3654        /* Filter Dropdown item selected */
3655        var device_mode = jQuery('body').data('elementor-device-mode');
3656
3657        //Elementor Editor
3658        if (elementorFrontend.isEditMode()) {
3659            device_mode = elementor.channels.deviceMode.request('currentMode');
3660            var filter = $scope.find('.aep-filter-bar.' + device_mode);
3661            $scope.find('.aep-filter-bar').hide();
3662            filter.show();
3663            elementor.channels.deviceMode.on('change', function(){
3664                device_mode = elementor.channels.deviceMode.request('currentMode');
3665                filter = $scope.find('.aep-filter-bar.' + device_mode);
3666                $scope.find('.aep-filter-bar').hide();
3667                filter.show();
3668            });
3669        }
3670
3671        var filter_dropdown = $scope.find('.' + device_mode + ' .ae-dropdown');
3672        if (filter_dropdown.find('.ae-menu .filter-items.active').length) {
3673            var cur_term = filter_dropdown.find('.filter-items.active a').html();
3674            filter_dropdown.find('.dropdown-filter-text').html(cur_term);
3675            filter_dropdown.addClass('active');
3676        } else {
3677            var default_filter_text = filter_dropdown.find('.dropdown-filter-text').html();
3678            filter_dropdown.find('.dropdown-filter-text').html(default_filter_text);
3679        }
3680
3681        if(elementorFrontend.isEditMode()){
3682            
3683            $scope.find('.elementor-section').each(function(){
3684                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
3685            });
3686
3687            $scope.find('.elementor-column').each(function(){
3688                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
3689            });
3690        }
3691
3692        let $hashtag = window.location.hash.substring(1);
3693        if ($hashtag) {
3694            let device = jQuery('body').data('elementor-device-mode');
3695            let filter_dropdown = $scope.find('.' + device + ' .filter-items');
3696            let $tab = filter_dropdown.filter('[data-hashtag="' + $hashtag + '"]');
3697            if ($tab.length > 0) {
3698                if (!$tab.hasClass('ae-active')) {
3699                    jQuery($tab).find('a').trigger('click');
3700                }
3701                let $tab_offset = parseInt(jQuery($tab).offset().top);
3702                jQuery('html, body').animate({
3703                    scrollTop: $tab_offset - 100
3704                }, 1000);
3705
3706            }
3707        }
3708
3709    }
3710
3711    $(window).on( 'elementor/frontend/init', function() {
3712        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-post-blocks-adv.grid', 	PostBlocksAdvHandler );
3713    });
3714
3715
3716
3717
3718    $(document).on('click', '.facetwp-template.elementor-widget-ae-post-blocks-adv .ae-pagination-wrapper a', function(e) {
3719        e.preventDefault();
3720        var $this = jQuery(this);
3721        var wrapper = jQuery(this).closest('.ae-outer-wrapper');
3722        var ae_post_overlay = wrapper.siblings('.ae-post-overlay');
3723        ae_post_overlay.show();
3724        var matches = $this.attr('href').match(/\/page\/(\d+)/);
3725        if (null !== matches) {
3726            FWP.paged = parseInt(matches[1]);
3727            FWP.soft_refresh = true;
3728            FWP.refresh();
3729        } else {
3730            FWP.paged = 1;
3731            FWP.soft_refresh = true;
3732            FWP.refresh();
3733        }
3734
3735    });
3736
3737    if(jQuery('.ae-outer-wrapper').parents('.facetwp-template ').length > 0 ) {
3738        var facetWP_flag = false;
3739        $(document).on('facetwp-refresh', function() {
3740            var wrapper = jQuery('.ae-outer-wrapper');
3741            var ae_post_overlay = wrapper.siblings('.ae-post-overlay');
3742            ae_post_overlay.show();
3743        });
3744        $(document).on('facetwp-loaded', function () {
3745            var widget_wrapper = jQuery('.facetwp-template.elementor-widget-ae-post-blocks-adv');
3746            var wrapper = jQuery('.ae-outer-wrapper');
3747            var ae_post_overlay = wrapper.siblings('.ae-post-overlay');
3748            if(wrapper.data('item-reveal-animation') == 'yes') {
3749                ae_post_overlay.show();
3750                wrapper.removeClass('transit-in');
3751                wrapper.addClass('transit-out');
3752                setTimeout(function () {
3753                    wrapper.find('.ae-featured-bg-yes').each(function () {
3754                        img = jQuery(this).attr('data-ae-bg');
3755                        jQuery(this).css('background-image', 'url(' + img + ')');
3756                    });
3757
3758                    if (wrapper.find('.ae-link-yes').data('ae-url')) {
3759                        wrapper.find('.ae-link-yes').on('click', function (e) {
3760                            if (jQuery(this).data('ae-url') && jQuery(this).hasClass('ae-new-window-yes')) {
3761                                window.open(jQuery(this).data('ae-url'));
3762                            } else {
3763                                location.href = jQuery(this).data('ae-url');
3764                            }
3765                        });
3766                    }
3767
3768                    // hide black custom field widget wrapper
3769                    wrapper.find('.ae-cf-wrapper.hide').each(function () {
3770                        jQuery(this).closest('.elementor-widget-ae-custom-field').hide();
3771                    });
3772
3773                    // reinitialize masonry
3774                    if (wrapper.hasClass('ae-masonry-yes')) {
3775                        var grid = wrapper.find('.ae-post-collection');
3776                        var $grid_obj = grid.masonry({
3777                            horizontalOrder: true
3778                        });
3779
3780                        $grid_obj.imagesLoaded().progress(function () {
3781                            $grid_obj.masonry('layout');
3782                        });
3783                    }
3784
3785                    wrapper.find('.elementor-invisible').each(function () {
3786                        // get settings
3787                        settings = jQuery(this).data('settings');
3788                        animation = settings.animation || settings._animation;
3789
3790                        jQuery(this).removeClass('elementor-invisible').removeClass(animation).addClass(animation);
3791
3792                    });
3793
3794                    wrapper.find('article.ae-post-item').css('opacity', '1');
3795                    ae_post_overlay.hide();
3796
3797                    var disable_scroll_on_ajax_load = wrapper.data('disable_scroll_on_ajax_load');
3798                    if (disable_scroll_on_ajax_load == 'no') {
3799                        if (facetWP_flag) {
3800                           var settings = widget_wrapper.data('settings');
3801                            pagination_scroll_top_offset = settings['grid_pagination_scroll_top_offset']['size'];
3802                            if (document.body.dataset.elementorDeviceMode != 'desktop') {
3803                                pagination_scroll_top_offset = settings['grid_pagination_scroll_top_offset_' + document.body.dataset.elementorDeviceMode]['size'];
3804                            }
3805                            //var pagination_scroll_top_offset = wrapper.data('pagination_scroll_top_offset');
3806                            var pagination_scroll_top_offset = pagination_scroll_top_offset
3807                            jQuery('html,body').animate({
3808                                    scrollTop: wrapper.offset().top - pagination_scroll_top_offset
3809                                },
3810                                'slow');
3811                        }
3812                    }
3813
3814                    if (wrapper.find('.eae-popup-link').length) {
3815
3816                        $close_btn = wrapper.find('.eae-popup-wrapper').data('close-btn');
3817
3818                        $magnific = wrapper.find('.eae-popup-link').eaePopup({
3819                            type: 'inline',
3820
3821                            mainClass: 'eae-popup eae-popup-' + wrapper.find('.eae-popup-link').data('id') + ' eae-wrap-' + wrapper.find('.eae-popup-link').data('ctrl-id'),
3822
3823                            closeBtnInside: wrapper.find('.eae-popup-wrapper').data('close-in-out'),
3824
3825                            closeMarkup: '<i class="eae-close ' + $close_btn + '"> </i>',
3826                        });
3827
3828                    }
3829                    facetWP_flag = true;
3830                }, wrapper.data('overlay-animation-speed'));
3831                setTimeout(function () {
3832                    ae_post_overlay.hide();
3833                    wrapper.removeClass('transit-out');
3834                    wrapper.addClass('transit-in');
3835                }, wrapper.data('overlay-animation-speed'));
3836            }else{
3837                ae_post_overlay.show();
3838                wrapper.find('.ae-featured-bg-yes').each(function () {
3839                    img = jQuery(this).attr('data-ae-bg');
3840                    jQuery(this).css('background-image', 'url(' + img + ')');
3841                });
3842
3843                if (wrapper.find('.ae-link-yes').data('ae-url')) {
3844                    wrapper.find('.ae-link-yes').on('click', function (e) {
3845                        if (jQuery(this).data('ae-url') && jQuery(this).hasClass('ae-new-window-yes')) {
3846                            window.open(jQuery(this).data('ae-url'));
3847                        } else {
3848                            location.href = jQuery(this).data('ae-url');
3849                        }
3850                    });
3851                }
3852
3853                // hide black custom field widget wrapper
3854                wrapper.find('.ae-cf-wrapper.hide').each(function () {
3855                    jQuery(this).closest('.elementor-widget-ae-custom-field').hide();
3856                });
3857
3858                // reinitialize masonry
3859                if (wrapper.hasClass('ae-masonry-yes')) {
3860                    var grid = wrapper.find('.ae-post-collection');
3861                    var $grid_obj = grid.masonry({
3862                        horizontalOrder: true
3863                    });
3864
3865                    $grid_obj.imagesLoaded().progress(function () {
3866                        $grid_obj.masonry('layout');
3867                    });
3868                }
3869
3870                wrapper.find('.elementor-invisible').each(function () {
3871                    // get settings
3872                    settings = jQuery(this).data('settings');
3873                    animation = settings.animation || settings._animation;
3874
3875                    jQuery(this).removeClass('elementor-invisible').removeClass(animation).addClass(animation);
3876
3877                });
3878
3879                wrapper.find('article.ae-post-item').css('opacity', '1');
3880
3881                var disable_scroll_on_ajax_load = wrapper.data('disable_scroll_on_ajax_load');
3882                if (disable_scroll_on_ajax_load == 'no') {
3883                    if (facetWP_flag) {
3884                        var settings = widget_wrapper.data('settings');
3885                        pagination_scroll_top_offset = settings['grid_pagination_scroll_top_offset']['size'];
3886                        if (document.body.dataset.elementorDeviceMode != 'desktop') {
3887                            pagination_scroll_top_offset = settings['grid_pagination_scroll_top_offset_' + document.body.dataset.elementorDeviceMode]['size'];
3888                        }
3889                        //var pagination_scroll_top_offset = wrapper.data('pagination_scroll_top_offset');
3890                        var pagination_scroll_top_offset = pagination_scroll_top_offset
3891                        jQuery('html,body').animate({
3892                                scrollTop: wrapper.offset().top - pagination_scroll_top_offset
3893                            },
3894                            'slow');
3895                    }
3896                }
3897
3898                if (wrapper.find('.eae-popup-link').length) {
3899
3900                    $close_btn = wrapper.find('.eae-popup-wrapper').data('close-btn');
3901
3902                    $magnific = wrapper.find('.eae-popup-link').eaePopup({
3903                        type: 'inline',
3904
3905                        mainClass: 'eae-popup eae-popup-' + wrapper.find('.eae-popup-link').data('id') + ' eae-wrap-' + wrapper.find('.eae-popup-link').data('ctrl-id'),
3906
3907                        closeBtnInside: wrapper.find('.eae-popup-wrapper').data('close-in-out'),
3908
3909                        closeMarkup: '<i class="eae-close ' + $close_btn + '"> </i>',
3910                    });
3911
3912                }
3913                facetWP_flag = true;
3914                ae_post_overlay.hide();
3915            }
3916        });
3917    }
3918
3919    //Search and Filter Pro
3920    if ($('.searchandfilter').length > 0) {
3921        $(document).on("sf:ajaxfinish", ".searchandfilter", function () {
3922            var wrapper = jQuery('.ae-outer-wrapper');
3923
3924            // hide black custom field widget wrapper
3925            wrapper.find('.ae-cf-wrapper.hide').each(function () {
3926                jQuery(this).closest('.elementor-widget-ae-custom-field').hide();
3927            });
3928
3929            // reinitialize masonry
3930            if (wrapper.hasClass('ae-masonry-yes')) {
3931                var grid = wrapper.find('.ae-post-collection');
3932                var $grid_obj = grid.masonry({
3933                    horizontalOrder: true
3934                });
3935
3936                $grid_obj.imagesLoaded().progress(function () {
3937                    $grid_obj.masonry('layout');
3938                });
3939            }
3940
3941            /* EAE Modal Popup Widget compatibility on post block ajax */
3942
3943            if (wrapper.find('.eae-popup-link').length) {
3944
3945                $close_btn = wrapper.find('.eae-popup-wrapper').data('close-btn');
3946
3947                $magnific = wrapper.find('.eae-popup-link').eaePopup({
3948                    type: 'inline',
3949
3950                    mainClass: 'eae-popup eae-popup-' + wrapper.find('.eae-popup-link').data('id') + ' eae-wrap-' + wrapper.find('.eae-popup-link').data('ctrl-id'),
3951
3952                    closeBtnInside: wrapper.find('.eae-popup-wrapper').data('close-in-out'),
3953
3954                    closeMarkup: '<i class="eae-close ' + $close_btn + '"> </i>',
3955                });
3956
3957            }
3958            /* EAE Modal Popup Widget compatibility on post block ajax */
3959
3960            wrapper.find('.elementor-section').each(function(){
3961                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
3962            });
3963
3964            wrapper.find('.elementor-column').each(function(){
3965                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
3966            });
3967            
3968            wrapper.find('.elementor-widget').each(function(){
3969                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
3970            });
3971        });
3972    }
3973
3974})(jQuery);
3975
3976/***/ }),
3977/* 27 */
3978/***/ (function(module, exports) {
3979
3980(function($){
3981
3982    const PostBlocksAdvTabsHandler = ( $scope, $ ) => {
3983
3984        var defaultActiveTab = $scope.find( '.ae-post-blocks-adv-tabs' ).data( 'active-tab' ),
3985            $tabsTitles = $scope.find( '.ae-post-blocks-adv-tab-title' ),
3986            $tabs = $scope.find( '.ae-post-blocks-adv-tab-content' ),
3987            $active,
3988            $content;
3989
3990        if ( ! defaultActiveTab ) {
3991            defaultActiveTab = 1;
3992        }
3993
3994        const activateTab = ( tabIndex ) => {
3995            if ( $active ) {
3996                $active.removeClass( 'active' );
3997                $content.hide();
3998            }
3999
4000            $active = $tabsTitles.filter( '[data-tab="' + tabIndex + '"]' );
4001            $active.addClass( 'active' );
4002
4003            $content = $tabs.filter( '[data-tab="' + tabIndex + '"]' );
4004            $content.show();
4005        };
4006
4007        activateTab( defaultActiveTab );
4008        $tabsTitles.on( 'click', function() {
4009            activateTab( this.dataset.tab );
4010
4011            /* Initialise ACF Gallery on Ajax */
4012            $tabs.find('.elementor-widget-ae-acf-gallery').each(function () {
4013                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
4014            });
4015        });
4016
4017        if(elementorFrontend.isEditMode()){
4018            
4019            $scope.find('.elementor-section').each(function(){
4020                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
4021            });
4022
4023            $scope.find('.elementor-column').each(function(){
4024                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
4025            });
4026        }
4027    };
4028
4029    $(window).on( 'elementor/frontend/init', function() {
4030        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-post-blocks-adv.tabs',   PostBlocksAdvTabsHandler );
4031    });
4032})(jQuery);
4033
4034/***/ }),
4035/* 28 */
4036/***/ (function(module, __webpack_exports__, __webpack_require__) {
4037
4038"use strict";
4039__webpack_require__.r(__webpack_exports__);
4040/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
4041/* harmony import */ var _dynamic_bg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
4042
4043
4044
4045( function( $ ) {
4046
4047    const safariResize = ($scope) => {
4048        // Targetting collapsed images in pjax loading box (safari bug)
4049        let imgLoad = imagesLoaded( $scope.find('.ae-element-post-image > .ae_thumb_wrapper img') );
4050        imgLoad.on( 'progress', function( instance, image ) {
4051            if(image.isLoaded && image.img.height == 0){
4052                var naturalH = image.img.naturalHeight,
4053                    naturalW = image.img.naturalWidth;
4054                if( image.img.parentElement.clientWidth < naturalW ){
4055                    var ratio = naturalH / naturalW;
4056                    naturalW = image.img.parentElement.clientWidth;
4057                    naturalH = naturalW * ratio;
4058                }
4059                image.img.setAttribute("style","width: "+naturalW+"px; height: "+naturalH+"px; display:none;");
4060                $(image.img).fadeIn();
4061            }
4062        });
4063    }
4064
4065    const _ias =  ( $scope , $, grid ) => {
4066
4067        const wid = $scope.data('id');
4068        const wclass = '.elementor-element-' + wid;
4069
4070
4071        const ias = grid;
4072        let msnry = '';
4073        if($scope.find('.ae-post-widget-wrapper').hasClass('ae-masonry-yes')) {
4074            msnry = grid.data('masonry');
4075        }
4076        const $ias_obj = ias.infiniteScroll({
4077            path: '.next',
4078            append: wclass + ' .ae-post-list-item-' + wid,
4079            status: wclass + ' .scroller-status',
4080            hideNav: wclass + ' .ae-pagination-wrapper',
4081            outlayer: msnry,
4082            button: wclass + ' .view-more-button',
4083            history: $scope.find('.ae-post-widget-wrapper').data('ias-history'),
4084        });
4085
4086        ias.on('append.infiniteScroll', function(event, response, path, items) {
4087
4088            $scope.find('.ae-post-list-wrapper').find('.ae-cf-wrapper').each(function() {
4089                if ($(this).hasClass('hide')) {
4090                    $(this).closest('.elementor-widget-ae-custom-field').hide();
4091                }
4092            });
4093
4094            /* EAE Modal Popup Widget compatibility on IAS ajax */
4095
4096            /* if($scope.find('.eae-popup-link').length){
4097
4098                const $close_btn = $scope.find('.eae-popup-wrapper').data('close-btn');
4099
4100                const $magnific = $scope.find('.eae-popup-link').eaePopup({
4101                    type: 'inline',
4102
4103                    mainClass: 'eae-popup eae-popup-' + $scope.find('.eae-popup-link').data('id') + ' eae-wrap-' + $scope.find('.eae-popup-link').data('ctrl-id'),
4104
4105                    closeBtnInside: $scope.find('.eae-popup-wrapper').data('close-in-out'),
4106
4107                    closeMarkup: '<i class="eae-close ' + $close_btn + '"> </i>',
4108                });
4109
4110            } */
4111            /* EAE Modal Popup Widget compatibility on IAS ajax */
4112
4113            if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1)  {
4114                safariResize($scope);
4115            } else if (navigator.userAgent.indexOf('iPad') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {
4116                safariResize($scope);
4117            }
4118
4119            if (navigator.userAgent.indexOf('Safari') != -1 || navigator.userAgent.indexOf('iPad') != -1 || navigator.userAgent.indexOf('iPhone') != -1 && navigator.userAgent.indexOf('Chrome') == -1){
4120				//var ias_image = $scope.find('.ae-post-list-wrapper').find('.wp-post-image');
4121				var ias_image = $scope.find('.ae-post-list-wrapper').find('img');
4122                ias_image.each(function (index, ias_image) {
4123                    ias_image.outerHTML = ias_image.outerHTML;
4124                });
4125            }
4126
4127            let appendedPostItem = document.querySelectorAll('.ae-post-list-item');
4128
4129            appendedPostItem.forEach(function (el) {
4130                el.classList.remove("appended");
4131            });
4132            items.forEach(function (el) {
4133                el.classList.add("appended");
4134            });
4135            /* Initialise ACF Gallery on Ajax */
4136           /*  $scope.find('.ae-post-list-item.appended .elementor-widget-ae-acf-gallery').each(function () {
4137                elementorFrontend.elementsHandler.runReadyTrigger($(this));
4138            }); */
4139
4140            $scope.find('.ae-post-list-item.appended .elementor-section').each(function(){
4141                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
4142            });
4143
4144            $scope.find('.ae-post-list-item.appended .elementor-column').each(function(){
4145                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
4146            });
4147            
4148            $scope.find('.ae-post-list-item.appended .elementor-widget').each(function(){
4149                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
4150            });
4151
4152        });
4153
4154        if($scope.find('.ae-post-widget-wrapper').hasClass('ae-ias-load-with-button-yes')) {
4155            var $viewMoreButton = $('.view-more-button');
4156
4157            // get Infinite Scroll instance
4158            var infScroll = ias.data('infiniteScroll');
4159
4160            ias.on('load.infiniteScroll', onPageLoad);
4161            var loadCount = $scope.find('.ae-post-widget-wrapper').data('load-offset-page') - 1;
4162            function onPageLoad() {
4163                if (infScroll.loadCount == loadCount) {
4164                    // after 2nd page loaded
4165                    // disable loading on scroll
4166                    ias.infiniteScroll('option', {
4167                        loadOnScroll: false,
4168                    });
4169                    // show button
4170                    $viewMoreButton.show();
4171                    // remove event listener
4172                    ias.off('load.infiniteScroll', onPageLoad);
4173                }
4174            }
4175        }
4176
4177        ias.on( 'last.infiniteScroll', function( event, response, path ) {
4178            // parse JSON
4179            $scope.find('.load-more-wrapper').hide();
4180            // do something with JSON...
4181        });
4182    };
4183
4184    const PostBlocksHandler = ($scope, $) => {
4185
4186        const grid = $scope.find('.ae-post-list-wrapper');
4187
4188        // Masonry Layout
4189        if($scope.find('.ae-post-widget-wrapper').hasClass('ae-masonry-yes')){
4190            const $grid_obj = grid.masonry({
4191                horizontalOrder: true
4192            });
4193            $grid_obj.imagesLoaded().progress(function(){
4194                $grid_obj.masonry('layout');
4195            });
4196        }
4197
4198        // Infinite Scroll
4199        if ($scope.find('.ae-post-widget-wrapper').hasClass('ae-ias-yes')) {
4200            if ($scope.find('.ae-pagination-wrapper .page-numbers').length) {
4201                //_ias($scope, $, grid);
4202                _ias($scope, $, $scope.find('.ae-post-widget-wrapper > .ae-post-list-wrapper'));
4203            }else{
4204                $scope.find('.scroller-status').hide();
4205                $scope.find('.load-more-wrapper').hide();
4206            }
4207        }
4208
4209        // Carousel
4210        if($scope.find('.ae-post-widget-wrapper').hasClass('ae-carousel-yes')) {
4211            const wid = $scope.data('id');
4212            const outer_wrapper = $scope.find('.ae-swiper-outer-wrapper');
4213            const swiper_settings = outer_wrapper.data('swiper-settings');
4214            new _base__WEBPACK_IMPORTED_MODULE_0__["SwiperBase"]( swiper_settings, wid );
4215        }
4216
4217        if(elementorFrontend.isEditMode()){
4218            
4219            $scope.find('.elementor-section').each(function(){
4220                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
4221            });
4222
4223            $scope.find('.elementor-column').each(function(){
4224                elementorFrontend.elementsHandler.runReadyTrigger(jQuery(this));
4225            });
4226        }
4227
4228    }
4229
4230    $(window).on( 'elementor/frontend/init', function() {
4231        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-post-blocks.default', 	PostBlocksHandler );
4232    });
4233
4234
4235})(jQuery);
4236
4237/***/ }),
4238/* 29 */
4239/***/ (function(module, exports) {
4240
4241(function($){
4242
4243    var ContentUnfold = function ( $scope, $ ) {
4244
4245        if($scope.find('.ae-element-post-content').hasClass('ae-post-content-unfold-yes')) {
4246            const postcontent = $scope.find('.ae-element-post-content');
4247            const postcontentinner = $scope.find('.ae-element-post-content-inner');
4248            const postcontentunfold = postcontent.find('.ae-post-content-unfold');
4249            const postcontentunfoldlink = postcontentunfold.find('.ae-post-content-unfold-link');
4250            let totalHeight = 0;
4251            totalHeight = postcontentinner.outerHeight();
4252            if(totalHeight){
4253                totalHeight += postcontentunfold.outerHeight();
4254            }
4255            if((postcontentinner.outerHeight() <= postcontentunfold.data('unfold-max-height')) && postcontentunfold.data('auto-hide-unfold') == 'yes' ){
4256                postcontentunfold.css({ 'display': 'none'});
4257            }else{
4258                postcontentunfoldlink.on( 'click', function() {
4259                    if(postcontentunfold.hasClass('fold')){
4260                        postcontent.css({ 'height': postcontent.outerHeight(), 'max-height': 9999 }).animate({ 'height': totalHeight }, {'duration': postcontentunfold.data('animation-speed')});
4261                        postcontentunfold.toggleClass('fold');
4262                        postcontentunfoldlink.html(postcontentunfold.data('fold-text'));
4263                    }else{
4264                        postcontent.css({ 'max-height': totalHeight }).animate({ 'max-height' : postcontentunfold.data('unfold-max-height') }, {'duration': postcontentunfold.data('animation-speed')});
4265                        postcontentunfold.toggleClass('fold');
4266                        postcontentunfoldlink.html(postcontentunfold.data('unfold-text'))
4267                    }
4268
4269                });
4270            }
4271        }
4272    };
4273
4274    $(window).on( 'elementor/frontend/init', function() {
4275        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-post-content.default',    ContentUnfold );
4276    });
4277
4278})(jQuery);
4279
4280/***/ }),
4281/* 30 */
4282/***/ (function(module, exports) {
4283
4284(function($){
4285
4286    const PostImageHandler = ($scope , $ ) => {
4287
4288        if($scope.find('.ae_thumb_wrapper').hasClass('ae_image_ratio_yes')) {
4289
4290            const imageParent = $scope.find('.ae-post-image');
4291            const image = $scope.find('.ae-post-image img');
4292
4293            const imageParentRatio = imageParent.outerHeight() / imageParent.outerWidth();
4294            const imageRatio = image.height() / image.width();
4295
4296            if(imageRatio < imageParentRatio){
4297                imageParent.addClass( 'ae-post-image-fit' );
4298            }else{
4299                imageParent.removeClass( 'ae-post-image-fit' );
4300            }
4301        }
4302    };
4303
4304    $(window).on( 'elementor/frontend/init', function() {
4305        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-post-image.default',  PostImageHandler );
4306    });
4307
4308})(jQuery);
4309
4310/***/ }),
4311/* 31 */
4312/***/ (function(module, exports) {
4313
4314(function ($) {
4315    
4316    var TriggerHandler = function (widget_target, $) {
4317        const $scope = $(widget_target);
4318        const settings = $scope.data('settings');
4319        
4320        if (typeof settings === "undefined") {
4321            return false;
4322        }
4323
4324        let trigger_targets = settings.trigger_target.split(',');
4325        
4326        jQuery.each(trigger_targets, function (i, trigger_target) {
4327            //For Swiper: Carousels/Sliders
4328            let trigger_toggle = false;
4329            let wrapper = $scope.find('.ae-triggers');
4330            let button = $scope.find('.ae-trigger');
4331            Array.from(wrapper).forEach((el) => {
4332                const trigger_data = JSON.parse(el.dataset.trigger_settings);
4333                if (trigger_data.trigger_type == 'carousel') {
4334                    let $mswiper = document.querySelector('.elementor-element-' + trigger_target + ' .ae-swiper-container').swiper;
4335                    if ('undefined' === typeof $mswiper) {
4336                        return;
4337                    }
4338                    trigger_toggle = $mswiper.autoplay.running;
4339                    if (trigger_data.trigger_action == 'play_pause') {
4340                        if (trigger_toggle) {
4341                            trigger_toggle = false;
4342                            el.classList.add('active');
4343                            if ('undefined' !== typeof trigger_data.selected_icon_secondary) {
4344                                el.querySelector('.ae-trigger-icon i').classList.removeMany(trigger_data.selected_icon.value);
4345                                el.querySelector('.ae-trigger-icon i').classList.addMany(trigger_data.selected_icon_secondary.value);
4346                            }
4347                            if ('undefined' !== typeof trigger_data.secondary_text) {
4348                                el.setAttribute('title', trigger_data.secondary_text);
4349                                el.querySelector('.ae-trigger-text').innerHTML = trigger_data.secondary_text;
4350                            }
4351                        } else if (trigger_data.trigger_action == 'play_pause') {
4352                            el.classList.add('active');
4353                        } else if(trigger_data.trigger_action == 'pause_slide'){
4354                            el.classList.add('active');
4355                        }
4356                    }
4357                }
4358            });
4359
4360            $scope.find('.ae-trigger').on('click', function (e) {
4361
4362                e.preventDefault();
4363                const $this = $(this);
4364                const trigger_data = $this.parent('.ae-triggers').data('trigger_settings');
4365                if (trigger_data.trigger_type == 'carousel') {
4366                    $scope.find('.ae-triggers').removeClass('active');
4367                    $this.parent('.ae-triggers').addClass('active');
4368                    let $mswiper = document.querySelector('.elementor-element-' + trigger_target + ' .ae-swiper-container').swiper;
4369                    switch (trigger_data.trigger_action) {
4370                        case 'next_slide':
4371                            $mswiper.slideNext();
4372                            break;
4373                        case 'prev_slide':
4374                            $mswiper.slidePrev();
4375                            break;
4376                        case 'first_slide':
4377                            if ($mswiper.params.loop == 'yes') {
4378                                $mswiper.slideTo(3);
4379                            } else {
4380                                $mswiper.slideTo(0);
4381                            }
4382                            break;
4383                        case 'last_slide':
4384                            var totalSlides = $('.elementor-element-' + trigger_target + ' .ae-swiper-container .swiper-slide:not(.swiper-slide-duplicate)').length;
4385                            $mswiper.slideTo(totalSlides);
4386                            break;
4387                        case 'play_slide':
4388                            $mswiper.autoplay.start();
4389                            break;
4390                        case 'pause_slide':
4391                            $mswiper.autoplay.stop();
4392                            break;
4393                        case 'play_pause':
4394                            if (trigger_toggle) {
4395                                $mswiper.autoplay.stop();
4396                                trigger_toggle = false;
4397                                if ('undefined' !== typeof trigger_data.selected_icon_secondary) {
4398                                    $this.find('.ae-trigger-icon i').removeClass(trigger_data.selected_icon_secondary.value);
4399                                    $this.find('.ae-trigger-icon i').addClass(trigger_data.selected_icon.value);
4400                                }
4401                                if ('undefined' !== typeof trigger_data.text) {
4402                                    $this.attr('title', trigger_data.text);
4403                                    $this.find('.ae-trigger-text').html(trigger_data.text);
4404                                }
4405                            } else {
4406                                $mswiper.autoplay.start();
4407                                trigger_toggle = true;
4408                                if ('undefined' !== typeof trigger_data.selected_icon) {
4409                                    $this.find('.ae-trigger-icon i').removeClass(trigger_data.selected_icon.value);
4410                                    $this.find('.ae-trigger-icon i').addClass(trigger_data.selected_icon_secondary.value);
4411                                }
4412                                if ('undefined' !== typeof trigger_data.secondary_text) {
4413                                    $this.attr('title', trigger_data.secondary_text);
4414                                    $this.find('.ae-trigger-text').html(trigger_data.secondary_text);
4415                                }
4416                            }
4417                            break;
4418                        // code block
4419                    }
4420                }
4421            });
4422
4423
4424            //For Accordions
4425            const accordion = $('.elementor-element-' + trigger_target);
4426            const accordion_setting = accordion.data('settings');
4427            const widget_type = accordion.data('widget_type');
4428            let active_class = 'ae-active';
4429            if (widget_type === 'ae-acf-repeater.accordion') {
4430                active_class = 'elementor-active';
4431            }
4432
4433            jQuery.each($scope.find('.ae-triggers'), function (i, item) {
4434                const trigger = jQuery(item);
4435                const trigger_data = trigger.data('trigger_settings');
4436                if (trigger_data.trigger_type == 'accordion') {
4437                    if (accordion_setting.accordion_accordion_state == 'all_open') {
4438                        if (trigger_data.trigger_action == 'expand') {
4439                            trigger.addClass('active');
4440                            trigger_toggle = true;
4441                        }
4442                    }
4443                    if (accordion_setting.accordion_accordion_state == 'all_closed') {
4444                        if (trigger_data.trigger_action == 'collapse') {
4445                            trigger.addClass('active');
4446                            trigger_toggle = false;
4447                        }
4448                    }
4449                    if ('undefined' !== typeof trigger_data.selected_icon_secondary) {
4450                        item.querySelector('.ae-trigger-icon i').classList.removeMany(trigger_data.selected_icon.value);
4451                        item.querySelector('.ae-trigger-icon i').classList.addMany(trigger_data.selected_icon_secondary.value);
4452                    }
4453                    if ('undefined' !== typeof trigger_data.secondary_text) {
4454                        item.setAttribute('title', trigger_data.secondary_text);
4455                        item.querySelector('.ae-trigger-text').innerHTML = trigger_data.secondary_text;
4456                    }
4457                }
4458            });
4459
4460            $scope.find('.ae-trigger').on('click', function (e) {
4461                e.preventDefault();
4462                const $this = $(this);
4463                const trigger_data = $this.parent('.ae-triggers').data('trigger_settings');
4464                if (trigger_data.trigger_type == 'accordion') {
4465                    $scope.find('.ae-triggers').removeClass('active');
4466                    $this.parent('.ae-triggers').addClass('active');
4467                    const el_target = $('.elementor-element-' + trigger_target);
4468                    const title = $('.elementor-element-' + trigger_target + ' .ae-tab-title');
4469                    var content = $('.elementor-element-' + trigger_target + ' .ae-tab-content');
4470                    const speed = $scope.find('.ae-accordion').data('transition-speed');
4471                    switch (trigger_data.trigger_action) {
4472                        case 'expand_collapse':
4473                            if (trigger_toggle) {
4474                                title.each(function (index, element) {
4475                                    $(element).removeClass(active_class);
4476                                    var content = $(element).next();
4477                                    content.slideUp(speed);
4478                                });
4479                                trigger_toggle = false;
4480                                if ('undefined' !== typeof trigger_data.selected_icon_secondary) {
4481                                    $this.find('.ae-trigger-icon i').removeClass(trigger_data.selected_icon_secondary.value);
4482                                    $this.find('.ae-trigger-icon i').addClass(trigger_data.selected_icon.value);
4483                                }
4484                                if ('undefined' !== typeof trigger_data.text) {
4485                                    $this.attr('title', trigger_data.text);
4486                                    $this.find('.ae-trigger-text').html(trigger_data.text);
4487                                }
4488                            } else {
4489                                title.each(function (index, element) {
4490                                    $(element).addClass(active_class);
4491                                    var content = $(element).next();
4492                                    content.slideDown(speed);
4493                                    content.addClass(active_class);
4494                                });
4495                                trigger_toggle = true;
4496                                if ('undefined' !== typeof trigger_data.selected_icon) {
4497                                    $this.find('.ae-trigger-icon i').removeClass(trigger_data.selected_icon.value);
4498                                    $this.find('.ae-trigger-icon i').addClass(trigger_data.selected_icon_secondary.value);
4499                                }
4500                                if ('undefined' !== typeof trigger_data.secondary_text) {
4501                                    $this.attr('title', trigger_data.secondary_text);
4502                                    $this.find('.ae-trigger-text').html(trigger_data.secondary_text);
4503                                }
4504                            }
4505                            break;
4506                        case 'expand':
4507                            title.each(function (index, element) {
4508                                $(element).addClass(active_class);
4509                                var content = $(element).next();
4510                                content.slideDown(speed);
4511                                content.addClass(active_class);
4512                            });
4513                            break;
4514                        case 'collapse':
4515                            title.each(function (index, element) {
4516                                $(element).removeClass(active_class);
4517                                var content = $(element).next();
4518                                content.slideUp(speed);
4519                            });
4520                            break;
4521                        case 'next':
4522                            var tab = 0;
4523                            var current_title = title.parent().find('.ae-tab-title.' + active_class);
4524                            if (!current_title.length) {
4525                                tab = tab + 1;
4526                            } else {
4527                                tab = current_title.data('tab') + 1;
4528                            }
4529                            var next_title = el_target.find('.ae-tab-title[data-tab="' + tab + '"');
4530
4531                            if (next_title.length) {
4532                                next_title.addClass(active_class);
4533                                next_title.next().slideDown(speed);
4534                                current_title.removeClass(active_class);
4535                                current_title.next().slideUp(speed);
4536                            }
4537
4538                            break;
4539                        case 'prev':
4540                            var tab = 0;
4541                            var current_title = title.parent().find('.ae-tab-title.' + active_class);
4542                            if (!current_title.length) {
4543                                tab = title.length;
4544                            } else {
4545                                tab = current_title.data('tab') - 1;
4546                            }
4547                            var next_title = el_target.find('.ae-tab-title[data-tab="' + tab + '"');
4548                            if (next_title.length) {
4549                                next_title.addClass(active_class);
4550                                next_title.next().slideDown(speed);
4551                                current_title.removeClass(active_class);
4552                                current_title.next().slideUp(speed);
4553                            }
4554                        
4555                            break;
4556                        default:
4557                        // code block
4558                    }
4559                }
4560            });
4561        });
4562    };
4563    
4564
4565    DOMTokenList.prototype.addMany = function(classes) {
4566        var array = classes.split(' ');
4567        for (var i = 0, length = array.length; i < length; i++) {
4568        this.add(array[i]);
4569        }
4570    }
4571
4572    DOMTokenList.prototype.removeMany = function(classes) {
4573        var array = classes.split(' ');
4574        for (var i = 0, length = array.length; i < length; i++) {
4575        this.remove(array[i]);
4576        }
4577    }
4578
4579    $(window).on('load', function () {
4580        const widget_triggers = $('.elementor-widget-ae-trigger');
4581        $.each(widget_triggers, function (i, widget_trigger) {
4582            TriggerHandler(widget_trigger, $);
4583        });
4584    });
4585
4586})( jQuery );
4587
4588
4589/***/ }),
4590/* 32 */
4591/***/ (function(module, exports) {
4592
4593(function($){
4594
4595	const WooAddToCartHandler = ($scope, $) => {
4596		let cartQuantity = $scope.find('.ae-element-woo-add-to-cart .quantity input');
4597		cartQuantity.on('change', function () {
4598			let quantityVal = $(this).val();
4599			let addTooCartBtn = $(this).parent().siblings('.ae-element-woo-add-to-cart-btn');
4600			addTooCartBtn.attr('data-quantity', quantityVal);
4601		});
4602    };
4603
4604	$(window).on('elementor/frontend/init', function () {
4605        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-woo-add-to-cart.default', 	WooAddToCartHandler );
4606    });
4607
4608})(jQuery);
4609
4610/***/ }),
4611/* 33 */
4612/***/ (function(module, __webpack_exports__, __webpack_require__) {
4613
4614"use strict";
4615__webpack_require__.r(__webpack_exports__);
4616/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
4617
4618
4619( function( $ ) {
4620
4621    var WooProductCarousel = function ( $scope , $ ) {
4622        const outer_wrapper =  $scope.find('.ae-swiper-outer-wrapper');
4623        const wid = $scope.data('id');
4624        const swiper_settings = outer_wrapper.data('swiper-settings');
4625
4626        new _base__WEBPACK_IMPORTED_MODULE_0__["SwiperBase"]( swiper_settings, wid);
4627    };
4628
4629    $(window).on( 'elementor/frontend/init', function() {
4630        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-woo-products.carousel', 	 WooProductCarousel );
4631    });
4632
4633})( jQuery );
4634
4635
4636/***/ }),
4637/* 34 */
4638/***/ (function(module, __webpack_exports__, __webpack_require__) {
4639
4640"use strict";
4641__webpack_require__.r(__webpack_exports__);
4642/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
4643
4644(function($){
4645
4646var WooProductImgeGallery = function ( $scope, $ ) {
4647
4648    if($scope.parents('.elementor-editor-active').length){
4649        jQuery( '.woocommerce-product-gallery' ).each( function() {
4650            jQuery( this ).wc_product_gallery();
4651            wc_single_product_params.zoom_enabled = 0;
4652        } );
4653    }
4654
4655    let outer_wrapper =  $scope.find('.ae-swiper-outer-wrapper');
4656    if(outer_wrapper.length){
4657        const wid = $scope.data('id');
4658        const swiper_settings = outer_wrapper.data('swiper-settings');
4659        new _base__WEBPACK_IMPORTED_MODULE_0__["SwiperBase"]( swiper_settings, wid, $scope);
4660    }
4661
4662};
4663    $(window).on( 'elementor/frontend/init', function() {
4664        elementorFrontend.hooks.addAction('frontend/element_ready/ae-woo-gallery.default', WooProductImgeGallery);
4665    });
4666
4667})(jQuery);
4668
4669/***/ }),
4670/* 35 */
4671/***/ (function(module, exports) {
4672
4673(function($){
4674    const WooProductsGrid = ( $scope , $ ) => {
4675
4676        if($scope.hasClass('ae-masonry-yes')){
4677            const grid = $scope.find('.ae-grid');
4678            const $grid_obj = grid.masonry({
4679
4680            });
4681
4682            $grid_obj.imagesLoaded().progress(function(){
4683                $grid_obj.masonry('layout');
4684            });
4685
4686            $(window).resize(function(){
4687                // Todo:: Overlap on render mode
4688                //$grid_obj.masonry('layout');
4689            });
4690        }
4691
4692        $scope.find('.ae-grid-item-inner').hover(function(){
4693            $(this).find('.ae-grid-overlay').addClass('animated');
4694        });
4695    };
4696
4697    $(window).on( 'elementor/frontend/init', function() {
4698        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-woo-products.grid',   WooProductsGrid );
4699    });
4700
4701})(jQuery);
4702
4703/***/ }),
4704/* 36 */
4705/***/ (function(module, exports) {
4706
4707(function($){
4708
4709    const WooRatingHandler = ( $scope, $ ) => {
4710        const ratinglink = $scope.find('.woocommerce-review-link');
4711        const tabsTitles = $( '.ae-woo-tab-title' );
4712        const tabs = $( '.ae-woo-tab-content' );
4713
4714        ratinglink.on('click', function () {
4715            if(tabsTitles.length) {
4716                tabsTitles.removeClass('active');
4717                tabs.hide();
4718                tabsTitles.filter('[data-hashtag="reviews"]').addClass('active');
4719                tabs.filter('[data-hashtag="reviews"]').show();
4720            }
4721        })
4722    };
4723
4724    $(window).on( 'elementor/frontend/init', function() {
4725        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-woo-rating.default',  WooRatingHandler );
4726    });
4727
4728})
4729
4730/***/ }),
4731/* 37 */
4732/***/ (function(module, exports) {
4733
4734(function($){
4735
4736    const WooTabsHandler = ( $scope, $ ) => {
4737
4738        var defaultActiveTab = $scope.find( '.ae-woo-tabs' ).data( 'active-tab' ),
4739            $tabsTitles = $scope.find( '.ae-woo-tab-title' ),
4740            $tabs = $scope.find( '.ae-woo-tab-content' ),
4741            $active,
4742            $content;
4743
4744        if ( ! defaultActiveTab ) {
4745            defaultActiveTab = 1;
4746        }
4747
4748        const activateTab = ( tabIndex ) => {
4749            if ( $active ) {
4750                $active.removeClass( 'active' );
4751                $content.hide();
4752            }
4753
4754            $active = $tabsTitles.filter( '[data-tab="' + tabIndex + '"]' );
4755            $active.addClass( 'active' );
4756
4757            $content = $tabs.filter( '[data-tab="' + tabIndex + '"]' );
4758            $content.show();
4759        };
4760
4761        activateTab( defaultActiveTab );
4762        $tabsTitles.on( 'click', function() {
4763            activateTab( this.dataset.tab );
4764        });
4765
4766        let $reviewtaglink = window.location.hash.substring(1);
4767        if($reviewtaglink === 'reviews'){
4768            let $reviewtab = $tabsTitles.filter('[data-hashtag="reviews"]' );
4769            activateTab( $reviewtab.data('tab') );
4770        }
4771    };
4772
4773    $(window).on( 'elementor/frontend/init', function() {
4774        elementorFrontend.hooks.addAction( 'frontend/element_ready/ae-woo-tabs.default', WooTabsHandler );
4775    });
4776
4777})(jQuery);
4778
4779/***/ })
4780/******/ ]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.