PageSourceSearch

https://www.nelsonmandelachildrensfund.com/wp-content/plugins/xpro…/assets/js/xpro-widgets.js?ver=1.4.25

js nelsonmandelachildrensfund.com collected 2026-10-02 05:11:32 UTC 47,450 bytes, 842 lines download raw bytes

1!(function (e, t) {
2    "use strict";
3    let o = {
4        init: function () {
5            let t = {
6                widget: o.BackgroundOverlay,
7                "xpro-simple-gallery.default": o.SimpleGallery,
8                "xpro-simple-portfolio.default": o.SimplePortfolio,
9                "xpro-progress-bar.default": o.ProgressBar,
10                "xpro-pie-chart.default": o.PieChart,
11                "xpro-counter.default": o.Counter,
12                "xpro-horizontal-menu.default": o.HorizontalMenu,
13                "xpro-team.default": o.Team,
14                "xpro-before-after.default": o.BeforeAfter,
15                "xpro-content-toggle.default": o.ContentToggle,
16                "xpro-news-ticker.default": o.NewsTicker,
17                "xpro-table.default": o.Table,
18                "xpro-icon-box.default": o.IconBox,
19                "xpro-post-grid.default": o.PostGrid,
20                "xpro-hot-spot.default": o.HotSpot,
21                "xpro-image-scroller.default": o.ImageScroller,
22                "xpro-horizontal-timeline.default": o.HorizontalTimeline,
23                "xpro-contact-form.default": o.ContactForm,
24                "xpro-search.default": o.Search,
25                "xpro-course-grid.default": o.CourseGrid,
26                "xpro-woo-product-grid.default": o.ProductGrid,
27                "xpro-hero-slider.default": o.HeroSlider,
28            };
29            e.each(t, function (e, t) {
30                elementorFrontend.hooks.addAction("frontend/element_ready/" + e, t);
31            }),
32                e("body").on("click.onWrapperLink", "[data-xpro-element-link]", function () {
33                    var t,
34                        o,
35                        i = e(this),
36                        n = i.data("xpro-element-link"),
37                        r = i.data("id"),
38                        a = document.createElement("a");
39                    (a.id = "xpro-addons-wrapper-link-" + r),
40                        (a.href = n.url),
41                        (a.target = n.is_external ? "_blank" : "_self"),
42                        (a.rel = n.nofollow ? "nofollow noreferer" : ""),
43                        (a.style.display = "none"),
44                        document.body.appendChild(a),
45                        (t = document.getElementById(a.id)).click(),
46                        (o = setTimeout(function () {
47                            document.body.removeChild(t), clearTimeout(o);
48                        }));
49                }),
50                e("[data-xpro-equal-height]").each(function () {
51                    var t = e(this),
52                        o = e(this).data("xpro-equal-height");
53                    if ("widgets" === o) {
54                        let i = e(this).find(".elementor-widget"),
55                            n = 0;
56                        i.each(function () {
57                            n = Math.max(n, e(this).outerHeight());
58                        }),
59                            i.css({ minHeight: n + "px" });
60                    } else {
61                        let r = 0;
62                        setTimeout(function () {
63                            t.find(o).each(function () {
64                                r = Math.max(r, e(this).outerHeight());
65                            }),
66                                t.find(o).css({ minHeight: r + "px" });
67                        }, 100);
68                    }
69                });
70        },
71        BackgroundOverlay: function e(t) {
72            t.hasClass("elementor-element-edit-mode") && t.addClass("xpro-widget-bg-overlay");
73        },
74        getElementSettings: function (e, t) {
75            var i = {},
76                n = e.data("model-cid");
77            if (elementorFrontend.isEditMode() && n) {
78                var r = elementorFrontend.config.elements.data[n],
79                    a = r.attributes.widgetType || r.attributes.elType,
80                    l = elementorFrontend.config.elements.keys[a];
81                l ||
82                    ((l = elementorFrontend.config.elements.keys[a] = []),
83                    jQuery.each(r.controls, function (e, t) {
84                        t.frontend_available && l.push(e);
85                    })),
86                    jQuery.each(r.getActiveControls(), function (e) {
87                        -1 !== l.indexOf(e) && (i[e] = r.attributes[e]);
88                    });
89            } else i = e.data("settings") || {};
90            return o.getItems(i, t);
91        },
92        getItems: function (e, t) {
93            if (t) {
94                var o = t.split("."),
95                    i = o.splice(0, 1);
96                if (!o.length) return e[i];
97                if (!e[i]) return;
98                return this.getItems(e[i], o.join("."));
99            }
100            return e;
101        },
102        SimpleGallery: function (t) {
103            let i = o.getElementSettings(t),
104                n = t.find(".xpro-elementor-gallery-wrapper"),
105                r = t.find(".xpro-elementor-gallery-filter > ul"),
106                a = r.attr("data-default-filter");
107            setTimeout(function () {
108                n.cubeportfolio({
109                    filters: r,
110                    layoutMode: "grid",
111                    defaultFilter: a,
112                    animationType: i.filter_animation,
113                    gridAdjustment: "responsive",
114                    mediaQueries: [
115                        { width: elementorFrontend.config.breakpoints.lg, cols: i.item_per_row || 3, options: { gapHorizontal: i.margin.size || 0, gapVertical: i.margin.size || 0 } },
116                        { width: elementorFrontend.config.breakpoints.md, cols: i.item_per_row_tablet || 2, options: { gapHorizontal: i.margin_tablet.size || 0, gapVertical: i.margin_tablet.size || 0 } },
117                        { width: 0, cols: i.item_per_row_mobile || 1, options: { gapHorizontal: i.margin_mobile.size || 0, gapVertical: i.margin_mobile.size || 0 } },
118                    ],
119                    caption: i.hover_effect || "zoom",
120                    displayType: "sequentially",
121                    displayTypeSpeed: 80,
122                });
123            }, 500),
124                "none" !== i.popup &&
125                    n.lightGallery({
126                        pager: !0,
127                        addClass: "xpro-gallery-popup-style-" + i.popup,
128                        selector: "[data-xpro-lightbox]",
129                        thumbnail: "yes" === i.thumbnail,
130                        exThumbImage: "data-src",
131                        thumbWidth: 130,
132                        thumbMargin: 15,
133                        closable: !1,
134                        showThumbByDefault: "yes" === i.thumbnail_by_default,
135                        thumbContHeight: 150,
136                        subHtmlSelectorRelative: !0,
137                        hideBarsDelay: 99999999,
138                        share: "yes" === i.share,
139                        download: "yes" === i.download,
140                    });
141            let l = t.find(".xpro-filter-dropdown-tablet,.xpro-filter-dropdown-mobile"),
142                s = t.find('[data-filter="' + a + '"]'),
143                p = l.find("li.cbp-filter-item-active").text();
144            l.find(".xpro-select-content").text(p || s.text()),
145                l.on("click", function () {
146                    e(this).toggleClass("active");
147                }),
148                l.find(".cbp-l-filters-button > li").on("click", function () {
149                    l.find(".xpro-select-content").text(e(this).text());
150                });
151        },
152        SimplePortfolio: function (t) {
153            let i = o.getElementSettings(t),
154                n = t.find(".xpro-elementor-gallery-wrapper"),
155                r = t.find(".xpro-elementor-gallery-filter > ul"),
156                a = r.attr("data-default-filter");
157            u(),
158                setTimeout(function () {
159                    n.cubeportfolio({
160                        filters: r,
161                        layoutMode: "grid",
162                        defaultFilter: a,
163                        animationType: i.filter_animation,
164                        gridAdjustment: "responsive",
165                        lightboxGallery: !1,
166                        mediaQueries: [
167                            { width: elementorFrontend.config.breakpoints.lg, cols: i.item_per_row || 3, options: { gapHorizontal: i.margin.size || 0, gapVertical: i.margin.size || 0 } },
168                            { width: elementorFrontend.config.breakpoints.md, cols: i.item_per_row_tablet || 2, options: { gapHorizontal: i.margin_tablet.size || 0, gapVertical: i.margin_tablet.size || 0 } },
169                            { width: 0, cols: i.item_per_row_mobile || 1, options: { gapHorizontal: i.margin_mobile.size || 0, gapVertical: i.margin_mobile.size || 0 } },
170                        ],
171                        caption: i.hover_effect || "zoom",
172                        displayType: "sequentially",
173                        displayTypeSpeed: 80,
174                    });
175                }, 500);
176            let l = t.find(".xpro-filter-dropdown-tablet,.xpro-filter-dropdown-mobile"),
177                s = t.find('[data-filter="' + a + '"]'),
178                p = l.find("li.cbp-filter-item-active").text();
179            l.find(".xpro-select-content").text(p || s.text()),
180                l.on("click", function () {
181                    e(this).toggleClass("active");
182                }),
183                l.find(".cbp-l-filters-button > li").on("click", function () {
184                    l.find(".xpro-select-content").text(e(this).text());
185                });
186            var d = null;
187            let c = new TimelineLite();
188            function f(o, i) {
189                let n = e(o).data("title");
190                "false" !== (d = e(o).data("src-preview")) &&
191                    (e(o).siblings().removeClass("xpro-preview-demo-item-open"),
192                    e(o).addClass("xpro-preview-demo-item-open"),
193                    t.find(".xpro-preview .xpro-preview-prev-demo,.xpro-preview .xpro-preview-next-demo").removeClass("xpro-preview-inactive"),
194                    e(o).prev("[data-src-preview]").length <= 0 && t.find(".xpro-preview .xpro-preview-prev-demo").addClass("xpro-preview-inactive"),
195                    e(o).next("[data-src-preview]").length <= 0 && t.find(".xpro-preview .xpro-preview-next-demo").addClass("xpro-preview-inactive"),
196                    t.find(".xpro-preview .xpro-preview-header-info").html(""),
197                    n && t.find(".xpro-preview .xpro-preview-header-info").append(`<div class="xpro-preview-demo-name">${n}</div>`),
198                    t.find(".xpro-preview .xpro-preview-iframe").attr("src", d),
199                    e("body").addClass("xpro-preview-active"),
200                    t.find(".xpro-preview").addClass("active"));
201            }
202            function u() {
203                t.find(".xpro-preview-demo-item").removeClass("xpro-preview-demo-item-open"),
204                    t.find(".xpro-preview .xpro-preview-iframe").removeAttr("src"),
205                    e("body").removeClass("xpro-preview-active"),
206                    t.find(".xpro-preview").removeClass("active");
207            }
208            function m() {
209                "1" === i.popup_animation && c.to(t.find(".xpro-portfolio-loader-style-1 li"), { duration: 0.4, scaleX: 1, transformOrigin: "bottom right" }),
210                    "2" === i.popup_animation && c.to(t.find(".xpro-portfolio-loader-style-2 li"), { duration: 0.4, scaleX: 1, transformOrigin: "bottom left" }),
211                    setTimeout(function () {
212                        "1" === i.popup_animation && c.to(t.find(".xpro-portfolio-loader-style-1 li"), { duration: 0.4, scaleX: 0, transformOrigin: "bottom left" }),
213                            "2" === i.popup_animation && c.to(t.find(".xpro-portfolio-loader-style-2 li"), { duration: 0.4, scaleX: 0, transformOrigin: "bottom right" });
214                    }, 2500);
215            }
216            c.seek(0).clear(),
217                (c = new TimelineLite()),
218                t.find(".xpro-preview-iframe").on("load", function () {
219                    e(this).addClass("loaded"), e(this).contents().find("html").attr("id", "xpro-portfolio-html-main");
220                }),
221                t.on("click", ".xpro-preview-type-popup", function (t) {
222                    e(t.target).is(".xpro-preview-demo-import-open") || (m(), f(this, t));
223                }),
224                t.on("click", ".xpro-preview-type-link", function (t) {
225                    let o = "";
226                    return "" !== (o = e(this).data("src-preview")) && window.open(o, i.preview_target), !1;
227                }),
228                t.on("click", ".xpro-preview-type-none", function (e) {
229                    return !1;
230                }),
231                t.on("click", ".xpro-preview-prev-demo", function (e) {
232                    var o = t.find(".xpro-preview-demo-item-open").prev("[data-src-preview]");
233                    o.length > 0 && (m(), f(o, e)), e.preventDefault();
234                }),
235                t.on("click", ".xpro-preview-next-demo", function (e) {
236                    var o = t.find(".xpro-preview-demo-item-open").next("[data-src-preview]");
237                    o.length > 0 && (m(), f(o, e)), e.preventDefault();
238                }),
239                t.on("click", ".xpro-preview-close", function (e) {
240                    e.preventDefault(),
241                        e.stopPropagation(),
242                        m(),
243                        setTimeout(function () {
244                            u();
245                        }, 2e3);
246                });
247        },
248        ProgressBar: function (t) {
249            let i = o.getElementSettings(t),
250                n = t.find(".xpro-progress-count"),
251                r = t.find(".xpro-progress-track");
252            t.find(".xpro-progress-bar").waypoint(
253                function () {
254                    "yes" === i.show_count &&
255                        n.animate(
256                            { Counter: i.value },
257                            {
258                                duration: 1e3 * i.duration.size || 3e3,
259                                easing: "swing",
260                                step: function (t) {
261                                    e(this).text(Math.ceil(t)),
262                                        e(this)
263                                            .parents(".xpro-progress-counter")
264                                            .find(".xpro-progress-count-less")
265                                            .text(100 - Math.ceil(t));
266                                },
267                            }
268                        ),
269                        r.animate({ width: i.value + "%" }, 1e3 * i.duration.size || 3e3);
270                },
271                { offset: "100%" }
272            );
273        },
274        PieChart: function (t) {
275            let i = o.getElementSettings(t);
276            t.find(".xpro-pie-chart").easyPieChart({
277                scaleColor: "transparent",
278                lineWidth: i.chart_bar_size.size,
279                lineCap: i.layout,
280                barColor: function () {
281                    var e = this.renderer.getCtx(),
282                        t = this.renderer.getCanvas(),
283                        o = e.createLinearGradient(0, 0, t.width, 0);
284                    return o.addColorStop(0, i.bar_color_1 || "#6ec1e4"), o.addColorStop(1, i.bar_color_2 || "#6ec1e4"), o;
285                },
286                trackColor: i.track_color || "#f5f5f5",
287                size: i.chart_size.size,
288                rotate: 0,
289                animate: 1e3 * i.duration.size || 2e3,
290            }),
291                t.find(".xpro-pie-chart").waypoint(
292                    function () {
293                        t.find(".xpro-pie-chart-count").animate(
294                            { Counter: i.value },
295                            {
296                                duration: 1e3 * i.duration.size || 2e3,
297                                easing: "swing",
298                                step: function (t) {
299                                    e(this).text(Math.ceil(t) + "%");
300                                },
301                            }
302                        ),
303                            t.find(".xpro-pie-chart").data("easyPieChart").update(i.value);
304                    },
305                    { offset: "100%" }
306                );
307        },
308        Counter: function (t) {
309            let i = o.getElementSettings(t);
310            let r = "";
311            let a = t.find(".xpro-counter-lottie-animation");
312            i.lottie_url ? (r = i.lottie_url.url) : i.svg_upload && (r = i.svg_upload.url),
313            lottie.loadAnimation({ container: a[0], renderer: "svg", loop: i.loop || !0, autoplay: i.autoplay || !0, path: r });
314            "yes" === i.animate_counter &&
315                new Waypoint({
316                    element: t.find(".xpro-counter-wrapper")[0],
317                    handler: function () {
318                        t.find(".xpro-counter-item > .value").animate(
319                            { Counter: i.value },
320                            {
321                                duration: 1e3 * i.duration.size || 2e3,
322                                easing: "swing",
323                                step: function (t) {
324                                    e(this).text(Math.ceil(t));
325                                },
326                            }
327                        ),
328                            this.destroy();
329                    },
330                    offset: "100%",
331                });
332        },
333        HorizontalMenu: function (t) {
334            let i = o.getElementSettings(t),
335                n = t.find(".xpro-elementor-horizontal-menu-toggler"),
336                r = t.find(".xpro-elementor-horizontal-menu-close"),
337                a = t.find(".xpro-elementor-horizontal-menu-overlay"),
338                l = t.find(".dropdown > a > .xpro-dropdown-menu-toggle");
339                e(".xpro-elementor-nav-link").on("click", function (t) {
340                    r.click();
341                });
342            if (
343                (t.find(".dropdown li").each(function (t) {
344                    if (e("ul", this).length) {
345                        let o = e("ul:first", this);
346                        o.offset().left + o.width() <= e(window).width() ? e(this).removeClass("xpro-edge") : e(this).addClass("xpro-edge");
347                    }
348                }),
349                "yes" === i.one_page_navigation)
350            ) {
351                function s(o = !1) {
352                    var n = e(document).scrollTop(),
353                        r = i.scroll_offset.size || 100;
354                    t.find(".xpro-elementor-horizontal-navbar-nav li").each(function () {
355                        let i = e(this),
356                            a = i.find(".xpro-elementor-nav-link").attr("href"),
357                            l = a.indexOf("#");
358                        if (-1 !== l) {
359                            let s = e(a.substring(l));
360                            o && s.length && t.find(".xpro-elementor-horizontal-navbar-nav li:not(:first-child)").removeClass("current_page_item"),
361                                s.length && s.position().top - r <= n && s.position().top + s.height() > n && (t.find(".xpro-elementor-horizontal-navbar-nav li").removeClass("current_page_item"), i.addClass("current_page_item"));
362                        }
363                    });
364                }
365                e(".xpro-elementor-nav-link").on("click", function (t) {
366                    r.click();
367                    let o = e(this).attr("href"),
368                        n = o.indexOf("#");
369                    if (-1 !== n) {
370                        let r = e(o.substring(n));
371                        if (r.length) {
372                            var a = this.hash;
373                            t.stopPropagation(),
374                                e("html, body").animate({ scrollTop: e(r).offset().top - (i.scroll_offset.size || 100) + 20 }, 500, function () {
375                                    window.location.hash = a;
376                                });
377                        }
378                    }
379                }),
380                    s(!0),
381                    e(document).on("scroll", function () {
382                        s();
383                    });
384            }
385            if ("none" !== i.responsive_show) {
386                let p = "tablet" === i.responsive_show ? 1025 : 768;
387                n.on("click", function (e) {
388                    e.preventDefault(), t.find(".xpro-elementor-horizontal-navbar-wrapper").toggleClass("active"), t.find(".xpro-elementor-horizontal-menu
388-overlay").toggleClass("active");
389                }),
390                    r.on("click", function (e) {
391                        e.preventDefault(), t.find(".xpro-elementor-horizontal-navbar-wrapper").removeClass("active"), t.find(".xpro-elementor-horizontal-menu-overlay").removeClass("active");
392                    }),
393                    a.on("click", function (o) {
394                        o.preventDefault(), t.find(".xpro-elementor-horizontal-navbar-wrapper").removeClass("active"), e(this).removeClass("active");
395                    }),
396                    l.on("click", function (t) {
397                        e(window).width() < p && (t.preventDefault(), t.stopPropagation(), e(this).parent().toggleClass("active"), e(this).parent().next(".xpro-elementor-dropdown-menu").slideToggle());
398                    }),
399                    e(window).resize(function () {
400                        e(window).width() > p ? t.find(".xpro-elementor-dropdown-menu").show() : t.find(".xpro-elementor-dropdown-menu").hide(),
401                            t.find(".xpro-elementor-horizontal-navbar-wrapper").removeClass("active"),
402                            t.find(".xpro-elementor-horizontal-menu-overlay").removeClass("active"),
403                            t.find(".dropdown > a").removeClass("active");
404                    });
405            }
406        },
407        Team: function (t) {
408            let i = o.getElementSettings(t);
409            if (
410                ("3" === i.layout &&
411                    t.find(".xpro-team-layout-3").hover(
412                        function () {
413                            e(this).find(".xpro-team-description").slideDown(200);
414                        },
415                        function () {
416                            e(this).find(".xpro-team-description").slideUp(200);
417                        }
418                    ),
419                "7" === i.layout &&
420                    t.find(".xpro-team-layout-7").hover(
421                        function () {
422                            e(this).find(".xpro-team-description").slideDown(200), e(this).find(".xpro-team-social-list").slideDown(250);
423                        },
424                        function () {
425                            e(this).find(".xpro-team-description").slideUp(200), e(this).find(".xpro-team-social-list").slideUp(250);
426                        }
427                    ),
428                "8" === i.layout &&
429                    t.find(".xpro-team-layout-8").hover(
430                        function () {
431                            e(this).find(".xpro-team-content").slideDown(200);
432                        },
433                        function () {
434                            e(this).find(".xpro-team-content").slideUp(200);
435                        }
436                    ),
437                "9" === i.layout)
438            ) {
439                let n = t.find(".xpro-team-image > img").height(),
440                    r = t.find(".xpro-team-inner-content").height();
441                t.find(".xpro-team-inner-content").width(n), t.find(".xpro-team-inner-content").css("left", r + "px");
442            }
443            "14" === i.layout &&
444                t.find(".xpro-team-layout-14").hover(
445                    function () {
446                        e(this).find(".xpro-team-description").slideDown(200), e(this).find(".xpro-team-social-list").slideDown(250);
447                    },
448                    function () {
449                        e(this).find(".xpro-team-description").slideUp(200), e(this).find(".xpro-team-social-list").slideUp(250);
450                    }
451                );
452        },
453        BeforeAfter: function (e) {
454            let t = o.getElementSettings(e);
455            e.find(".xpro-compare-item").XproCompare({
456                default_offset_pct: t.visible_ratio.size / 100 || 0.5,
457                orientation: t.orientation,
458                is_wiggle: "yes" === t.wiggle,
459                wiggle_timeout: t.wiggle ? 1e3 * t.wiggle_timeout.size : 1e3,
460                move_on_hover: "yes" === t.mouse_move,
461            });
462        },
463        ContentToggle: function (t) {
464            o.getElementSettings(t),
465                t.find(".xpro-content-toggle-button").on("click", function (t) {
466                    t.preventDefault(), e(this).parents(".xpro-content-toggle-button-wrapper").toggleClass("active");
467                });
468        },
469        NewsTicker: function (t) {
470            let i = o.getElementSettings(t),
471                n = t.find(".xpro-news-ticker"),
472                r;
473                
474            e(".e-route-panel-editor-content").length && (r = ".elementor-preview-responsive-wrapper"),
475                n.owlCarousel({
476                    items: 1,
477                    smartSpeed: 1e3,
478                    loop: !0,
479                    nav: !1,
480                    dots: !1,
481                    mouseDrag: !1,
482                    touchDrag: !1,
483                    rtl: "rtl" === i.direction,
484                    responsiveBaseElement: r,
485                    autoplay: "yes" === i.autoplay,
486                    autoplayTimeout: "yes" === i.autoplay ? 1e3 * i.autoplay_timeout.size : 3e3,
487                    animateOut: "fade" === i.effect && "fadeOut",
488                    animateIn: "fade" === i.effect && "fadeIn",
489                }),
490                t.find(".xpro-news-ticker-next").click(function () {
491                    n.trigger("next.owl.carousel", [1e3]),
492                        t.find(".xpro-news-ticker-pause").find("i").removeClass("fa-pause"),
493                        t.find(".xpro-news-ticker-pause").find("i").addClass("fa-play"),
494                        t.find(".xpro-news-ticker-pause").addClass("active"),
495                        n.trigger("stop.owl.autoplay");
496                }),
497                t.find(".xpro-news-ticker-prev").click(function () {
498                    n.trigger("prev.owl.carousel", [1e3]),
499                        t.find(".xpro-news-ticker-pause").find("i").removeClass("fa-pause"),
500                        t.find(".xpro-news-ticker-pause").find("i").addClass("fa-play"),
501                        t.find(".xpro-news-ticker-pause").addClass("active"),
502                        n.trigger("stop.owl.autoplay");
503                }),
504                t.find(".xpro-news-ticker-close").click(function () {
505                    t.find(".xpro-news-ticker-wrapper").fadeOut("slow");
506                });
507        },
508        Table: function (t) {
509            let o = t.find(".xpro-table-head-column-cell");
510            t.find(".xpro-table-body-row").each(function (t, i) {
511                e(i)
512                    .find(".xpro-table-body-row-cell")
513                    .each(function (t, i) {
514                        e(i).prev().prop("colspan") > 1 && 0 !== e(i).prop("colspan") && (t += e(i).prev().prop("colspan") - 1), e(i).prepend('<div class="xpro-table-head-column-cell">' + o.eq(t).html() + "</div>");
515                    });
516            });
517        },
518        IconBox: function (e) {
519            let t = o.getElementSettings(e),
520                i = e.find(".elementor-widget-xpro-icon-box"),
521                n = e.find(".xpro-box-icon-item"),
522                r = "",
523                a = e.find("#xpro-icon-box-lottie");
524            "" !== t.hover_animation &&
525                i.hover(
526                    function () {
527                        n.addClass("animated " + t.icon_hover_animation);
528                    },
529                    function () {
530                        n.removeClass("animated " + t.icon_hover_animation);
531                    }
532                ),
533                t.lottie_url ? (r = t.lottie_url.url) : t.svg_upload && (r = t.svg_upload.url),
534                lottie.loadAnimation({ container: a[0], renderer: "svg", loop: t.loop || !0, autoplay: t.autoplay || !0, path: r });
535        },
536        PostGrid: function (e) {
537            let t = o.getElementSettings(e),
538                i = e.find(".xpro-post-grid-main");
539            e.find(".xpro-post-grid-item"),
540                i.cubeportfolio({
541                    layoutMode: "grid",
542                    gridAdjustment: "responsive",
543                    lightboxGallery: !1,
544                    mediaQueries: [
545                        { width: elementorFrontend.config.breakpoints.lg, cols: t.column_grid || 3, options: { gapHorizontal: t.space_between.size, gapVertical: t.space_between.size } },
546                        { width: elementorFrontend.config.breakpoints.md, cols: t.column_grid_tablet || 2, options: { gapHorizontal: t.space_between_tablet.size || 0, gapVertical: t.space_between_tablet.size || 0 } },
547                        { width: 0, cols: t.column_grid_mobile || 1, options: { gapHorizontal: t.space_between_mobile.size || 0, gapVertical: t.space_between_mobile.size || 0 } },
548                    ],
549                    displayType: "default",
550                    displayTypeSpeed: 0,
551                });
552        },
553        HotSpot: function (t) {
554           let i= o.getElementSettings(t);
555                t.find(".xpro-post-grid-main"),
556                t.find(".xpro-hotspot-type-click").on("click", function (t) {
557                    t.preventDefault(), e(this).find(".xpro-hotspot-tooltip-text").toggleClass("active");
558                });
559                function showTooltipsSequentially() {
560                var tooltips = t.find(".xpro-hotspot-animations");
561                var index = 0;
562                var duration =  3 * 1000;
563                tooltips.css({ opacity: 0 });
564                function showNextTooltip() {
565                    tooltips.stop(true, true).css({ opacity: 0 });
566                    var currentTooltip = jQuery(tooltips[index]);
567                        currentTooltip.stop(true, true).animate({ opacity: 1 }, 500, function () {
568                                setTimeout(function () {
569                                    currentTooltip.animate({ opacity: 0 }, 500, function () {
570                                        index = (index + 1) % tooltips.length;
571                                        showNextTooltip();
572                                    });
573                                }, duration);
574                            });
575                        }
576                    showNextTooltip();
577                }
578                setTimeout(showTooltipsSequentially, 500);
579        },
580        ImageScroller: function (e) {
581            let t = o.getElementSettings(e),
582                i = e.find(".xpro-scroll-image-inner"),
583                n = e.find(".xpro-image-scroll-img > img"),
584                r = 0;
585            "mouse-hover" === t.trigger_type &&
586                i.imagesLoaded(function () {
587                    (r = "vertical" === t.direction_type ? n.height() - i.height() : n.width() - i.width()),
588                        "yes" === t.reverse
589                            ? (n.css("transform", ("vertical" === t.direction_type ? "translateY" : "translateX") + "( -" + r + "px)"),
590                              i.hover(
591                                  function () {
592                                      n.css("transform", ("vertical" === t.direction_type ? "translateY" : "translateX") + "(0px)");
593                                  },
594                                  function () {
595                                      n.css("transform", ("vertical" === t.direction_type ? "translateY" : "translateX") + "( -" + r + "px)");
596                                  }
597                              ))
598                            : i.hover(
599                                  function () {
600                                      n.css("transform", ("vertical" === t.direction_type ? "translateY" : "translateX") + "( -" + r + "px)");
601                                  },
602                                  function () {
603                                      n.css("transform", ("vertical" === t.direction_type ? "translateY" : "translateX") + "(0px)");
604                                  }
605                              );
606                });
607        },
608        HorizontalTimeline: function (t) {
609            let i = o.getElementSettings(t),
610                n = t.find(".xpro-horizontal-timeline"),
611                r,
612                a = 767;
613            function l() {
614                if ("yes" === i.reverse && e(window).width() >= a) {
615                    let o = t.find(".xpro-horiz-equal-height > div"),
616                        n = 0;
617                    o.each(function () {
618                        n = Math.max(n, e(this).outerHeight());
619                    }),
620                        o.parent().css({ minHeight: n + "px" });
621                } else {
622                    let r = t.find(".xpro-horizontal-timeline-content > div"),
623                        l = 0;
624                    r.each(function () {
625                        l = Math.max(l, e(this).outerHeight());
626                    }),
627                        r.parent().css({ minHeight: l + "px" });
628                    let s = t.find(".xpro-horizontal-timeline-date > div"),
629                        p = 0;
630                    s.each(function () {
631                        p = Math.max(p, e(this).outerHeight());
632                    }),
633                        s.parent().css({ minHeight: p + "px" });
634                }
635            }
636            e(".e-route-panel-editor-content").length && (r = ".elementor-preview-responsive-wrapper"),
637                e(".elementor-editor-active").length && (a = 750),
638                n.owlCarousel({
639                    loop: "yes" === i.loop,
640                    center: "yes" === i.center,
641                    nav: "yes" === i.nav,
642                    navText: ["", ""],
643                    dots: "yes" === i.dots,
644                    mouseDrag: "yes" === i.mouse_drag,
645                    rtl: "yes" === i.rtl,
646                    touchDrag: !0,
647                    autoHeight: !1,
648                    autoWidth: "yes" === i.custom_width,
649                    responsiveBaseElement: r,
650                    autoplay: "yes" === i.autoplay,
651                    autoplayTimeout: "yes" === i.autoplay ? 1e3 * i.autoplay_timeout.size : 3e3,
652                    autoplayHoverPause: !0,
653                    smartSpeed: 500,
654                    responsive: { 0: { items: i.item_per_row_mobile || 1 }, 768: { items: i.item_per_row_tablet || 1 }, 1024: { items: i.item_per_row || 2 } },
655                }),
656                setTimeout(function () {
657                    l();
658                }, 300),
659                e(window).on("resize", function () {
660                    setTimeout(function () {
661                        l();
662                    }, 500);
663                });
664        },
665        ContactForm: function (t) {
666            let i = o.getElementSettings(t),
667                n = t.find(".xpro-contact-form"),
668                r = (t.find(".xpro-contact-form-submit-button"), t.find(".xpro-contact-form-submit-button > i")),
669                a = !1,
670                l = n.attr("action");
671                function safe_tags(str) {
672                    return str.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;') ;
673                }
674            n.on("submit", function (o) {
675                o.preventDefault(), r.show();
676                let s = n.serializeArray(),
677                    p = [],
678                    d = !0,
679                    c = null,
680                    f = "",
681                    u = 0;
682                if (
683                    (i.recaptcha && (a = t.find(".g-recaptcha-response").val()),
684                    e.each(s, function (e, o) {
685                        "" !== o.value && "g-recaptcha-response" !== o.name && ((p[u] = { name: t.find("label[for=" + o.name.replaceAll("[]", "") + "]").text() || "", value: o.value }), u++);
686                    }),
687                    p.length ? (f = p.map((e) => Object.entries(e).reduce((e, t, o) => `${e}${o > 0 ? "&&" : ""}${t[0]}=${t[1]}`, ""))) : (d = !1),
688                    t.find('.xpro-contact-form-require [required="required"]').each(function (t) {
689                        "" === e(this).val() && (d = !1);
690                    }),
691                    !d)
692                ) {
693                    (c = '<div class="xpro-alert xpro-alert-danger">' + safe_tags(i.required_field_message) + "</div>"), t.find(".xpro-contact-form-message").hide().html(c).slideDown(), r.hide();
694                    return;
695                }
696                if (i.recaptcha && !a) {
697                    (c = '<div class="xpro-alert xpro-alert-danger">' + safe_tags(i.captcha_message) + "</div>"), t.find(".xpro-contact-form-message").hide().html(c).slideDown(), r.hide();
698                    return;
699                }
700                t.find(".xpro-contact-form-message").slideUp(),
701                    e.ajax({ method: "POST", url: l, data: { postData: JSON.stringify(f), formName: i.form_name, formSubject: i.form_subject, captcha: a } }).done(function (e) {
702                        e.success
703                            ? ((c = '<div class="xpro-alert xpro-alert-success">' + safe_tags(i.success_message) + "</div>"), t.find(".xpro-contact-form-message").hide().html(c).slideDown())
704                            : ((c = '<div class="xpro-alert xpro-alert-danger">' + safe_tags(i.error_message) + "</div>"), t.find(".xpro-contact-form-message").hide().html(c).slideDown()),
705                            r.hide(),
706                            i.recaptcha && grecaptcha.reset();
707                    });
708            });
709        },
710        Search: function (e) {
711            let t = o.getElementSettings(e);
712            ("4" === t.layout || "5" === t.layout) &&
713                (e.find(".xpro-elementor-search-button").on("click", function (t) {
714                    t.preventDefault(), t.stopPropagation(), e.find(".xpro-elementor-search-layout-4 .xpro-elementor-search-inner").fadeIn(400), e.find(".xpro-elementor-search-layout-5 .xpro-elementor-search-inner").slideDown(400);
715                }),
716                e.find(".xpro-elementor-search-button-close").on("click", function (t) {
717                    t.preventDefault(), t.stopPropagation(), e.find(".xpro-elementor-search-layout-4 .xpro-elementor-search-inner").fadeOut(400), e.find(".xpro-elementor-search-layout-5 .xpro-elementor-search-inner").slideUp(400);
718                }));
719        },
720        CourseGrid: function (e) {
721            let t = o.getElementSettings(e),
722                i = e.find(".xpro-post-grid-main");
723            e.find(".xpro-post-grid-item"),
724                i.cubeportfolio({
725                    layoutMode: "grid",
726                    gridAdjustment: "responsive",
727                    mediaQueries: [
728                        { width: elementorFrontend.config.breakpoints.lg, cols: t.column_grid || 3, options: { gapHorizontal: t.space_between.size, gapVertical: t.space_between.size } },
729                        { width: elementorFrontend.config.breakpoints.md, cols: t.column_grid_tablet || 2, options: { gapHorizontal: t.space_between_tablet.size || 0, gapVertical: t.space_between_tablet.size || 0 } },
730                        { width: 0, cols: t.column_grid_mobile || 1, options: { gapHorizontal: t.space_between_mobile.size || 0, gapVertical: t.space_between_mobile.size || 0 } },
731                    ],
732                    displayType: "default",
733                    displayTypeSpeed: 0,
734                });
735        },
736        ProductGrid: function (t) {
737            let i = o.getElementSettings(t),
738                n = t.find(".xpro-woo-product-grid-main");
739            t.find(".xpro-woo-product-grid-item"),
740                t.find(".xpro-hv-qv-btn").click(function (o) {
741                    o.preventDefault();
742                    let i = e(this).attr("id"),
743                        n = { action: "load_quick_view_product_data", nonce: XproElementorAddons.nonce, id: i };
744                    e.ajax({
745                        url: XproElementorAddons.ajax_url,
746                        type: "post",
747                        data: n,
748                        dataType: "html",
749                        cache: !1,
750                        beforeSend: function () {
751                            t.find(".xpro-qv-loader-wrapper").css("display", "unset"), t.find(".xpro-qv-popup-wrapper").css("display", "none");
752                        },
753                        complete: function () {
754                            t.find(".xpro-qv-loader-wrapper").css("display", "none"), t.find(".xpro-qv-popup-wrapper").css("display", "unset"), t.find(".xpro-qv-popup-overlay").css({ opacity: "1", visibility: "visible" });
755                        },
756                        success: function (o) {
757                            t.find("#xpro_elementor_fetch_qv_data").html(o),
758                                e(".xpro-woo-qv-content-sec .variations_form").wc_variation_form().find(".variations select:eq(0)").trigger("change"),
759                                e(".xpro-woo-qv-content-sec .variations_form").trigger("wc_variation_form");
760                        },
761                    });
762                }),
763                t.on("click", ".xpro-woo-qv-cross", function (e) {
764                    e.preventDefault(), t.find(".xpro-qv-popup-wrapper").css("display", "none"), t.find(".xpro-qv-popup-overlay").css({ opacity: "0", visibility: "hidden" });
765                }),
766                t.on("click", ".xpro-qv-popup-overlay", function (e) {
767                    e.preventDefault(), t.find(".xpro-qv-popup-wrapper").css("display", "none"), t.find(".xpro-qv-popup-overlay").css({ opacity: "0", visibility: "hidden" });
768                }),
769                e(document).keyup(function (e) {
770                    27 === e.keyCode && (t.find(".xpro-qv-popup-wrapper").css("display", "none"), t.find(".xpro-qv-popup-overlay").css({ opacity: "0", visibility: "hidden" }));
771                }),
772                t.on("click", "#xpro_elementor_fetch_qv_data .single_add_to_cart_button:not(.disabled)", function (o) {
773                    if ((o.preventDefault(), "" !== e(this).parents("form").attr("action"))) return (window.location.href = e(this).parents("form").attr("action")), !1;
774                    let i = e(this).closest("form");
775                    if (!i[0].checkValidity()) return i[0].reportValidity(), !1;
776                    let n = e(this),
777                        r = e(this).val();
778                    if ((e('input[name="variation_id"]').val(), e('input[name="quantity"]').val(), t.find(".woocommerce-grouped-product-list-item").length)) {
779                        let a = e("input.qty"),
780                            l = [];
781                        e.each(a, function (t, o) {
782                            let i = e(this).attr("name");
783                            (i = (i = i.replace("quantity[", "")).replace("]", "")), (i = parseInt(i)), e(this).val() && (l[i] = e(this).val());
784                        });
785                    }
786                    let s = i.serialize();
787                    n.is(".single_add_to_cart_button") &&
788                        (n.removeClass("added"),
789                        n.addClass("loading"),
790                        e.ajax({
791                            url: XproElementorAddons.ajax_url,
792                            type: "POST",
793                            data: "action=add_cart_single_product_ajax&product_id=" + r + "&nonce=" + XproElementorAddons.nonce + "&" + s,
794                            success: function (t) {
795                                e(document.body).trigger("wc_fragment_refresh"), n.removeClass("loading"), n.addClass("added");
796                            },
797                        }));
798                }),
799                n.cubeportfolio({
800                    layoutMode: "grid",
801                    gridAdjustment: "responsive",
802                    mediaQueries: [
803                        { width: elementorFrontend.config.breakpoints.lg, cols: i.column_grid || 3, options: { gapHorizontal: i.space_between.size, gapVertical: i.space_between.size } },
804                        { width: elementorFrontend.config.breakpoints.md, cols: i.column_grid_tablet || 2, options: { gapHorizontal: i.space_between_tablet.size || 0, gapVertical: i.space_between_tablet.size || 0 } },
805                        { width: 0, cols: i.column_grid_mobile || 1, options: { gapHorizontal: i.space_between_mobile.size || 0, gapVertical: i.space_between_mobile.size || 0 } },
806                    ],
807                    displayType: "default",
808                    displayTypeSpeed: 0,
809                });
810        },
811        HeroSlider: function (t) {
812            o.getElementSettings(t);
813            var i = t.find(".xpro-hero-slider").data("xpro-hero-slider-setting");
814            new Swiper(t.find(".xpro-hero-slider")[0], {
815                parallax: !0,
816                speed: 100 * i.slide_speed,
817                spaceBetween: 0,
818                effect: i.slide_effect,
819                fadeEffect: { crossFade: !0 },
820                loop: i.loop,
821                autoplay: { enabled: i.autoplay, disableOnInteraction: !0, delay: i.autoplay_timeout ? 1e3 * i.autoplay_timeout : 3e3 },
822                pagination: { el: t.find(".swiper-pagination")[0], clickable: !0 },
823                navigation: { nextEl: t.find(".swiper-button-next")[0], prevEl: t.find(".swiper-button-prev")[0] },
824                allowTouchMove: i.mouse_drag,
825            }).on("slideChangeTransitionStart", function () {
826                var t = this;
827                e(t.slides[t.activeIndex])
828                    .find("[data-animation]")
829                    .each(function () {
830                        var o = e(this),
831                            i = "animated " + o.data("animation");
832                        o.addClass(i).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function () {
833                            o.removeClass(i);
834                        }),
835                            e(t.slides).removeClass("xpro-animation-init"),
836                            e(t.slides[t.activeIndex]).addClass("xpro-animation-init");
837                    });
838            });
839        },
840    };
841    e(window).on("elementor/frontend/init", o.init);
842})(jQuery, window.elementorFrontend);

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.