1!(function (e) { 2 "use strict"; 3 let t = { 4 init: function () { 5 let o = { 6 widget: t.BackgroundOverlay, 7 "xpro-simple-gallery.default": t.SimpleGallery, 8 "xpro-simple-portfolio.default": t.SimplePortfolio, 9 "xpro-progress-bar.default": t.ProgressBar, 10 "xpro-pie-chart.default": t.PieChart, 11 "xpro-line-chart.default": t.LineChart, 12 "xpro-counter.default": t.Counter, 13 "xpro-social-chat.default": t.SocialChat, 14 "xpro-horizontal-menu.default": t.HorizontalMenu, 15 "xpro-team.default": t.Team, 16 "xpro-before-after.default": t.BeforeAfter, 17 "xpro-content-toggle.default": t.ContentToggle, 18 "xpro-news-ticker.default": t.NewsTicker, 19 "xpro-table.default": t.Table, 20 "xpro-icon-box.default": t.IconBox, 21 "xpro-post-grid.default": t.PostGrid, 22 "xpro-hot-spot.default": t.HotSpot, 23 "xpro-image-scroller.default": t.ImageScroller, 24 "xpro-horizontal-timeline.default": t.HorizontalTimeline, 25 "xpro-contact-form.default": t.ContactForm, 26 "xpro-search.default": t.Search, 27 "xpro-course-grid.default": t.CourseGrid, 28 "xpro-woo-product-grid.default": t.ProductGrid, 29 "xpro-hero-slider.default": t.HeroSlider, 30 }; 31 e.each(o, function (e, t) { 32 elementorFrontend.hooks.addAction("frontend/element_ready/" + e, t); 33 }), 34 e("body").on("click.onWrapperLink", "[data-xpro-element-link]", function () { 35 var t, 36 o, 37 i = e(this), 38 n = i.data("xpro-element-link"), 39 r = i.data("id"), 40 a = document.createElement("a"); 41 n && 42 n.url && 43 (/^https?:\/\//i.test(n.url) || (n.url = "https://" + n.url), 44 (a.id = "xpro-addons-wrapper-link-" + r), 45 (a.href = n.url), 46 (a.target = n.is_external ? "_blank" : "_self"), 47 (a.rel = n.nofollow ? "nofollow noreferer" : ""), 48 (a.style.display = "none"), 49 document.body.appendChild(a), 50 (t = document.getElementById(a.id)).click(), 51 (o = setTimeout(function () { 52 document.body.removeChild(t), clearTimeout(o); 53 }))); 54 }), 55 e("[data-xpro-equal-height]").each(function () { 56 var t = e(this), 57 o = e(this).data("xpro-equal-height"); 58 if ("widgets" === o) { 59 let t = e(this).find(".elementor-widget"), 60 o = 0; 61 t.each(function () { 62 o = Math.max(o, e(this).outerHeight()); 63 }), 64 t.css({ minHeight: o + "px" }); 65 } else { 66 let i = 0; 67 setTimeout(function () { 68 t.find(o).each(function () { 69 i = Math.max(i, e(this).outerHeight()); 70 }), 71 t.find(o).css({ minHeight: i + "px" }); 72 }, 100); 73 } 74 }); 75 }, 76 BackgroundOverlay: function (e) { 77 e.hasClass("elementor-element-edit-mode") && e.addClass("xpro-widget-bg-overlay"); 78 }, 79 getElementSettings: function (e, o) { 80 var i = {}, 81 n = e.data("model-cid"); 82 if (elementorFrontend.isEditMode() && n) { 83 var r = elementorFrontend.config.elements.data[n], 84 a = r.attributes.widgetType || r.attributes.elType, 85 l = elementorFrontend.config.elements.keys[a]; 86 l || 87 ((l = elementorFrontend.config.elements.keys[a] = []), 88 jQuery.each(r.controls, function (e, t) { 89 t.frontend_available && l.push(e); 90 })), 91 jQuery.each(r.getActiveControls(), function (e) { 92 -1 !== l.indexOf(e) && (i[e] = r.attributes[e]); 93 }); 94 } else i = e.data("settings") || {}; 95 return t.getItems(i, o); 96 }, 97 getItems: function (e, t) { 98 if (t) { 99 var o = t.split("."), 100 i = o.splice(0, 1); 101 if (!o.length) return e[i]; 102 if (!e[i]) return; 103 return this.getItems(e[i], o.join(".")); 104 } 105 return e; 106 }, 107 SimpleGallery: function (o) { 108 let i = t.getElementSettings(o), 109 n = o.find(".xpro-elementor-gallery-wrapper"), 110 r = o.find(".xpro-elementor-gallery-filter > ul"), 111 a = r.attr("data-default-filter"); 112 setTimeout(function () { 113 n.cubeportfolio({ 114 filters: r, 115 layoutMode: "grid", 116 defaultFilter: a, 117 animationType: i.filter_animation, 118 gridAdjustment: "responsive", 119 mediaQueries: [ 120 { 121 width: elementorFrontend.config.breakpoints.lg, 122 cols: i.item_per_row || 3, 123 options: { gapHorizontal: i.margin.size || 0, gapVertical: i.margin.size || 0 }, 124 }, 125 { 126 width: elementorFrontend.config.breakpoints.md, 127 cols: i.item_per_row_tablet || 2,
128 options: { 129 gapHorizontal: i.margin_tablet.size || 0, 130 gapVertical: i.margin_tablet.size || 0, 131 }, 132 }, 133 { 134 width: 0, 135 cols: i.item_per_row_mobile || 1, 136 options: { 137 gapHorizontal: i.margin_mobile.size || 0, 138 gapVertical: i.margin_mobile.size || 0, 139 }, 140 }, 141 ], 142 caption: i.hover_effect || "zoom", 143 displayType: "sequentially", 144 displayTypeSpeed: 80, 145 }); 146 }, 500), 147 "none" !== i.popup && 148 n.lightGallery({ 149 pager: !0, 150 addClass: "xpro-gallery-popup-style-" + i.popup, 151 selector: "[data-xpro-lightbox]", 152 thumbnail: "yes" === i.thumbnail, 153 exThumbImage: "data-src", 154 thumbWidth: 130, 155 thumbMargin: 15, 156 closable: !1, 157 showThumbByDefault: "yes" === i.thumbnail_by_default, 158 thumbContHeight: 150, 159 subHtmlSelectorRelative: !0, 160 hideBarsDelay: 99999999, 161 share: "yes" === i.share, 162 download: "yes" === i.download, 163 }); 164 let l = o.find(".xpro-filter-dropdown-tablet,.xpro-filter-dropdown-mobile"), 165 s = o.find('[data-filter="' + a + '"]'), 166 p = l.find("li.cbp-filter-item-active").text(); 167 l.find(".xpro-select-content").text(p || s.text()), 168 l.on("click", function () { 169 e(this).toggleClass("active"); 170 }), 171 l.find(".cbp-l-filters-button > li").on("click", function () { 172 l.find(".xpro-select-content").text(e(this).text()); 173 }); 174 }, 175 SimplePortfolio: function (o) { 176 let i = t.getElementSettings(o), 177 n = o.find(".xpro-elementor-gallery-wrapper"), 178 r = o.find(".xpro-elementor-gallery-filter > ul"), 179 a = r.attr("data-default-filter"); 180 u(), 181 setTimeout(function () { 182 n.cubeportfolio({ 183 filters: r, 184 layoutMode: "grid", 185 defaultFilter: a, 186 animationType: i.filter_animation, 187 gridAdjustment: "responsive", 188 lightboxGallery: !1, 189 mediaQueries: [ 190 { 191 width: elementorFrontend.config.breakpoints.lg, 192 cols: i.item_per_row || 3, 193 options: { gapHorizontal: i.margin.size || 0, gapVertical: i.margin.size || 0 }, 194 }, 195 { 196 width: elementorFrontend.config.breakpoints.md, 197 cols: i.item_per_row_tablet || 2, 198 options: { 199 gapHorizontal: i.margin_tablet.size || 0, 200 gapVertical: i.margin_tablet.size || 0, 201 }, 202 }, 203 { 204 width: 0, 205 cols: i.item_per_row_mobile || 1, 206 options: { 207 gapHorizontal: i.margin_mobile.size || 0, 208 gapVertical: i.margin_mobile.size || 0, 209 }, 210 }, 211 ], 212 caption: i.hover_effect || "zoom", 213 displayType: "sequentially",
214 displayTypeSpeed: 80, 215 }); 216 }, 500); 217 let l = o.find(".xpro-filter-dropdown-tablet,.xpro-filter-dropdown-mobile"), 218 s = o.find('[data-filter="' + a + '"]'), 219 p = l.find("li.cbp-filter-item-active").text(); 220 l.find(".xpro-select-content").text(p || s.text()), 221 l.on("click", function () { 222 e(this).toggleClass("active"); 223 }), 224 l.find(".cbp-l-filters-button > li").on("click", function () { 225 l.find(".xpro-select-content").text(e(this).text()); 226 }); 227 var d = null; 228 let c = new TimelineLite(); 229 function f(t, i) { 230 let n = e(t).data("title"); 231 "false" !== (d = e(t).data("src-preview")) && 232 (e(t).siblings().removeClass("xpro-preview-demo-item-open"), 233 e(t).addClass("xpro-preview-demo-item-open"), 234 o 235 .find(".xpro-preview .xpro-preview-prev-demo,.xpro-preview .xpro-preview-next-demo") 236 .removeClass("xpro-preview-inactive"), 237 e(t).prev("[data-src-preview]").length <= 0 && 238 o.find(".xpro-preview .xpro-preview-prev-demo").addClass("xpro-preview-inactive"), 239 e(t).next("[data-src-preview]").length <= 0 && 240 o.find(".xpro-preview .xpro-preview-next-demo").addClass("xpro-preview-inactive"), 241 o.find(".xpro-preview .xpro-preview-header-info").html(""), 242 n && 243 o 244 .find(".xpro-preview .xpro-preview-header-info") 245 .append(`<div class="xpro-preview-demo-name">${n}</div>`), 246 o.find(".xpro-preview .xpro-preview-iframe").attr("src", d), 247 e("body").addClass("xpro-preview-active"), 248 o.find(".xpro-preview").addClass("active")); 249 } 250 function u() { 251 o.find(".xpro-preview-demo-item").removeClass("xpro-preview-demo-item-open"), 252 o.find(".xpro-preview .xpro-preview-iframe").removeAttr("src"), 253 e("body").removeClass("xpro-preview-active"), 254 o.find(".xpro-preview").removeClass("active"); 255 } 256 function m() { 257 "1" === i.popup_animation && 258 c.to(o.find(".xpro-portfolio-loader-style-1 li"), { 259 duration: 0.4, 260 scaleX: 1, 261 transformOrigin: "bottom right", 262 }), 263 "2" === i.popup_animation && 264 c.to(o.find(".xpro-portfolio-loader-style-2 li"), { 265 duration: 0.4, 266 scaleX: 1, 267 transformOrigin: "bottom left", 268 }), 269 setTimeout(function () { 270 "1" === i.popup_animation && 271 c.to(o.find(".xpro-portfolio-loader-style-1 li"), { 272 duration: 0.4, 273 scaleX: 0, 274 transformOrigin: "bottom left", 275 }), 276 "2" === i.popup_animation && 277 c.to(o.find(".xpro-portfolio-loader-style-2 li"), { 278 duration: 0.4, 279 scaleX: 0, 280 transformOrigin: "bottom right", 281 }); 282 }, 2500); 283 } 284 c.seek(0).clear(), 285 (c = new TimelineLite()), 286 o.find(".xpro-preview-iframe").on("load", function () { 287 e(this).addClass("loaded"), e(this).contents().find("html").attr("id", "xpro-portfolio-html-main"); 288 }), 289 o.on("click", ".xpro-preview-type-popup", function (t) { 290 e(t.target).is(".xpro-preview-demo-import-open") || (m(), f(this)); 291 }), 292 o.on("click", ".xpro-preview-type-link", function (t) { 293 let o = ""; 294 return "" !== (o = e(this).data("src-preview")) && window.open(o, i.preview_target), !1; 295 }), 296 o.on("click", ".xpro-preview-type-none", function (e) { 297 return !1; 298 }), 299 o.on("click", ".xpro-preview-prev-demo", function (e) { 300 var t = o.find(".xpro-preview-demo-item-open").prev("[data-src-preview]"); 301 t.length > 0 && (m(), f(t)), e.preventDefault(); 302 }), 303 o.on("click", ".xpro-preview-next-demo", function (e) { 304 var t = o.find(".xpro-preview-demo-item-open").next("[data-src-preview]"); 305 t.length > 0 && (m(), f(t)), e.preventDefault(); 306 }), 307 o.on("click", ".xpro-preview-close", function (e) { 308 e.preventDefault(), 309 e.stopPropagation(), 310 m(), 311 setTimeout(function () { 312 u(); 313 }, 2e3); 314 }); 315 }, 316 ProgressBar: function (o) { 317 let i = t.getElementSettings(o), 318 n = o.find(".xpro-progress-count"), 319 r = o.find(".xpro-progress-track"); 320 o.find(".xpro-progress-bar").waypoint( 321 function () { 322 "yes" === i.show_count && 323 n.animate( 324 { Counter: i.value }, 325 { 326 duration: 1e3 * i.duration.size || 3e3, 327 easing: "swing", 328 step: function (t) { 329 e(this).text(Math.ceil(t)), 330 e(this) 331 .parents(".xpro-progress-counter") 332 .find(".xpro-progress-count-less") 333 .text(100 - Math.ceil(t)); 334 }, 335 } 336 ), 337 r.animate({ width: i.value + "%" }, 1e3 * i.duration.size || 3e3); 338 }, 339 { offset: "100%" } 340 ); 341 }, 342 PieChart: function (o) { 343 let i = t.getElementSettings(o); 344 o.find(".xpro-pie-chart").easyPieChart({ 345 scaleColor: "transparent", 346 lineWidth: i.chart_bar_size.size, 347 lineCap: i.layout, 348 barColor: function () { 349 var e = this.renderer.getCtx(), 350 t = this.renderer.getCanvas(), 351 o = e.createLinearGradient(0, 0, t.width, 0); 352 return (
353 o.addColorStop(0, i.bar_color_1 || "#6ec1e4"), o.addColorStop(1, i.bar_color_2 || "#6ec1e4"), o 354 ); 355 }, 356 trackColor: i.track_color || "#f5f5f5", 357 size: i.chart_size.size, 358 rotate: 0, 359 animate: 1e3 * i.duration.size || 2e3, 360 }), 361 o.find(".xpro-pie-chart").waypoint( 362 function () { 363 o.find(".xpro-pie-chart-count").animate( 364 { Counter: i.value }, 365 { 366 duration: 1e3 * i.duration.size || 2e3, 367 easing: "swing", 368 step: function (t) { 369 e(this).text(Math.ceil(t) + "%"); 370 }, 371 } 372 ), 373 o.find(".xpro-pie-chart").data("easyPieChart").update(i.value); 374 }, 375 { offset: "100%" } 376 ); 377 }, 378 LineChart: function (e) { 379 const t = e.find(".xpro-line-chart-js"); 380 if (!t.length) return; 381 const o = t[0]; 382 o.xproChart instanceof Chart && o.xproChart.destroy(); 383 const i = o.getContext("2d"); 384 if (!i) return; 385 let n = t.data("settings"); 386 if ("string" == typeof n) 387 try { 388 n = JSON.parse(n); 389 } catch (e) { 390 return void console.error("Line Chart JSON Parse Error:", e); 391 } 392 if (n && n.data && n.data.datasets && 0 !== n.data.datasets.length) 393 try { 394 o.xproChart = new Chart(i, n); 395 } catch (e) { 396 console.error("Line Chart Creation Error:", e); 397 } 398 else console.warn("No data available for line chart"); 399 }, 400 Counter: function (o) { 401 let i = t.getElementSettings(o), 402 n = "", 403 r = o.find(".xpro-counter-lottie-animation"); 404 i.lottie_url ? (n = i.lottie_url.url) : i.svg_upload && (n = i.svg_upload.url), 405 lottie.loadAnimation({ 406 container: r[0], 407 renderer: "svg", 408 loop: i.loop || !0, 409 autoplay: i.autoplay || !0, 410 path: n, 411 }), 412 "yes" === i.animate_counter && 413 new Waypoint({ 414 element: o.find(".xpro-counter-wrapper")[0], 415 handler: function () { 416 o.find(".xpro-counter-item > .value").animate( 417 { Counter: i.value }, 418 { 419 duration: 1e3 * i.duration.size || 2e3, 420 easing: "swing", 421 step: function (t) { 422 e(this).text(Math.ceil(t)); 423 }, 424 } 425 ), 426 this.destroy(); 427 }, 428 offset: "100%", 429 }); 430 }, 431 SocialChat: function (e) { 432 let o = t.getElementSettings(e), 433 i = e.find(".xpro-social-chat-widget"), 434 n = e.find(".xpro-social-chat-main-btn"); 435 e.find(".xpro-social-chat-channel"); 436 const r = o.xpro_fab_trigger || "click"; 437 console.log("Trigger Type:", r), 438 console.log("t.xpro_fab_trigger:", o.xpro_fab_trigger), 439 "click" === r && 440 n.on("click", function (e) { 441 e.preventDefault(), i.toggleClass("active"); 442 }), 443 "hover" === r && 444 (i.on("mouseenter", function () { 445 i.addClass("active"); 446 }), 447 i.on("mouseleave", function () { 448 i.removeClass("active"); 449 })), 450 jQuery(document).on("click", function (e) { 451 i.is(e.target) || 0 !== i.has(e.target).length || i.removeClass("active"); 452 }); 453 }, 454 HorizontalMenu: function (o) { 455 let i = t.getElementSettings(o),
456 n = o.find(".xpro-elementor-horizontal-menu-toggler"), 457 r = o.find(".xpro-elementor-horizontal-menu-close"), 458 a = o.find(".xpro-elementor-horizontal-menu-overlay"), 459 l = o.find(".dropdown > a > .xpro-dropdown-menu-toggle"); 460 if ( 461 (e(".xpro-elementor-nav-link").on("click", function (e) { 462 r.click(); 463 }), 464 o.find(".dropdown li").each(function (t) { 465 if (e("ul", this).length) { 466 let t = e("ul:first", this); 467 t.offset().left + t.width() <= e(window).width() 468 ? e(this).removeClass("xpro-edge") 469 : e(this).addClass("xpro-edge"); 470 } 471 }), 472 "yes" === i.one_page_navigation) 473 ) { 474 function s(t = !1) { 475 var n = e(document).scrollTop(), 476 r = i.scroll_offset.size || 100; 477 o.find(".xpro-elementor-horizontal-navbar-nav li").each(function () { 478 let i = e(this), 479 a = i.find(".xpro-elementor-nav-link").attr("href"), 480 l = a.indexOf("#"); 481 if (-1 !== l) { 482 let s = e(a.substring(l)); 483 t && 484 s.length && 485 o 486 .find(".xpro-elementor-horizontal-navbar-nav li:not(:first-child)") 487 .removeClass("current_page_item"), 488 s.length && 489 s.position().top - r <= n && 490 s.position().top + s.height() > n && 491 (o 492 .find(".xpro-elementor-horizontal-navbar-nav li") 493 .removeClass("current_page_item"), 494 i.addClass("current_page_item")); 495 } 496 }); 497 } 498 e(".xpro-elementor-nav-link").on("click", function (t) { 499 r.click(); 500 let o = e(this).attr("href"), 501 n = o.indexOf("#"); 502 if (-1 !== n) { 503 let r = e(o.substring(n)); 504 if (r.length) { 505 var a = this.hash; 506 t.stopPropagation(), 507 e("html, body").animate( 508 { scrollTop: e(r).offset().top - (i.scroll_offset.size || 100) + 20 }, 509 500, 510 function () { 511 window.location.hash = a; 512 } 513 ); 514 } 515 } 516 }), 517 s(!0), 518 e(document).on("scroll", function () { 519 s(); 520 }); 521 } 522 if ("none" !== i.responsive_show) { 523 let p = "tablet" === i.responsive_show ? 1025 : 768; 524 n.on("click", function (e) { 525 e.preventDefault(), 526 o.find(".xpro-elementor-horizontal-navbar-wrapper").toggleClass("active"), 527 o.find(".xpro-elementor-horizontal-menu-overlay").toggleClass("active"); 528 }), 529 r.on("click", function (e) { 530 e.preventDefault(), 531 o.find(".xpro-elementor-horizontal-navbar-wrapper").removeClass("active"), 532 o.find(".xpro-elementor-horizontal-menu-overlay").removeClass("active"); 533 }), 534 a.on("click", function (t) { 535 t.preventDefault(), 536 o.find(".xpro-elementor-horizontal-navbar-wrapper").removeClass("active"), 537 e(this).removeClass("active"); 538 }), 539 l.on("click", function (t) { 540 e(window).width() < p && 541 (t.preventDefault(), 542 t.stopPropagation(), 543 e(this).parent().toggleClass("active"), 544 e(this).parent().next(".xpro-elementor-dropdown-menu").slideToggle()); 545 }), 546 e(window).resize(function () { 547 e(window).width() > p 548 ? o.find(".xpro-elementor-dropdown-menu").show() 549 : o.find(".xpro-elementor-dropdown-menu").hide(), 550 o.find(".xpro-elementor-horizontal-navbar-wrapper").removeClass("active"), 551 o.find(".xpro-elementor-horizontal-menu
551-overlay").removeClass("active"), 552 o.find(".dropdown > a").removeClass("active"); 553 }); 554 } 555 }, 556 Team: function (o) { 557 let i = t.getElementSettings(o); 558 if ( 559 ("3" === i.layout && 560 o.find(".xpro-team-layout-3").hover( 561 function () { 562 e(this).find(".xpro-team-description").slideDown(200); 563 }, 564 function () { 565 e(this).find(".xpro-team-description").slideUp(200); 566 } 567 ), 568 "7" === i.layout && 569 o.find(".xpro-team-layout-7").hover( 570 function () { 571 e(this).find(".xpro-team-description").slideDown(200), 572 e(this).find(".xpro-team-social-list").slideDown(250); 573 }, 574 function () { 575 e(this).find(".xpro-team-description").slideUp(200), 576 e(this).find(".xpro-team-social-list").slideUp(250); 577 } 578 ), 579 "8" === i.layout && 580 o.find(".xpro-team-layout-8").hover( 581 function () { 582 e(this).find(".xpro-team-content").slideDown(200); 583 }, 584 function () { 585 e(this).find(".xpro-team-content").slideUp(200); 586 } 587 ), 588 "9" === i.layout) 589 ) { 590 let e = o.find(".xpro-team-image > img").height(), 591 t = o.find(".xpro-team-inner-content").height(); 592 o.find(".xpro-team-inner-content").width(e), o.find(".xpro-team-inner-content").css("left", t + "px"); 593 } 594 "14" === i.layout && 595 o.find(".xpro-team-layout-14").hover( 596 function () { 597 e(this).find(".xpro-team-description").slideDown(200), 598 e(this).find(".xpro-team-social-list").slideDown(250); 599 }, 600 function () { 601 e(this).find(".xpro-team-description").slideUp(200), 602 e(this).find(".xpro-team-social-list").slideUp(250); 603 } 604 ); 605 }, 606 BeforeAfter: function (e) { 607 let o = t.getElementSettings(e); 608 e.find(".xpro-compare-item").XproCompare({ 609 default_offset_pct: o.visible_ratio.size / 100 || 0.5, 610 orientation: o.orientation, 611 is_wiggle: "yes" === o.wiggle, 612 wiggle_timeout: o.wiggle ? 1e3 * o.wiggle_timeout.size : 1e3, 613 move_on_hover: "yes" === o.mouse_move, 614 }); 615 }, 616 ContentToggle: function (o) { 617 t.getElementSettings(o), 618 o.find(".xpro-content-toggle-button").on("click", function (t) { 619 t.preventDefault(), e(this).parents(".xpro-content-toggle-button-wrapper").toggleClass("active"); 620 }); 621 }, 622 NewsTicker: function (o) { 623 let i, 624 n = t.getElementSettings(o), 625 r = o.find(".xpro-news-ticker"); 626 e(".e-route-panel-editor-content").length && (i = ".elementor-preview-responsive-wrapper"), 627 r.owlCarousel({ 628 items: 1, 629 smartSpeed: 1e3, 630 loop: !0, 631 nav: !1, 632 dots: !1, 633 mouseDrag: !1, 634 touchDrag: !1, 635 rtl: "rtl" === n.direction, 636 responsiveBaseElement: i, 637 autoplay: "yes" === n.autoplay, 638 autoplayTimeout: "yes" === n.autoplay ? 1e3 * n.autoplay_timeout.size : 3e3, 639 animateOut: "fade" === n.effect && "fadeOut", 640 animateIn: "fade" === n.effect && "fadeIn", 641 }),
642 o.find(".xpro-news-ticker-next").click(function () { 643 r.trigger("next.owl.carousel", [1e3]), 644 o.find(".xpro-news-ticker-pause").find("i").removeClass("fa-pause"), 645 o.find(".xpro-news-ticker-pause").find("i").addClass("fa-play"), 646 o.find(".xpro-news-ticker-pause").addClass("active"), 647 r.trigger("stop.owl.autoplay"); 648 }), 649 o.find(".xpro-news-ticker-prev").click(function () { 650 r.trigger("prev.owl.carousel", [1e3]), 651 o.find(".xpro-news-ticker-pause").find("i").removeClass("fa-pause"), 652 o.find(".xpro-news-ticker-pause").find("i").addClass("fa-play"), 653 o.find(".xpro-news-ticker-pause").addClass("active"), 654 r.trigger("stop.owl.autoplay"); 655 }), 656 o.find(".xpro-news-ticker-close").click(function () { 657 o.find(".xpro-news-ticker-wrapper").fadeOut("slow"); 658 }); 659 }, 660 Table: function (t) { 661 let o = t.find(".xpro-table-head-column-cell"); 662 t.find(".xpro-table-body-row").each(function (t, i) { 663 e(i) 664 .find(".xpro-table-body-row-cell") 665 .each(function (t, i) { 666 e(i).prev().prop("colspan") > 1 && 667 0 !== e(i).prop("colspan") && 668 (t += e(i).prev().prop("colspan") - 1), 669 e(i).prepend('<div class="xpro-table-head-column-cell">' + o.eq(t).html() + "</div>"); 670 }); 671 }); 672 }, 673 IconBox: function (e) { 674 let o = t.getElementSettings(e), 675 i = e.find(".elementor-widget-xpro-icon-box"), 676 n = e.find(".xpro-box-icon-item"), 677 r = "", 678 a = e.find("#xpro-icon-box-lottie"); 679 "" !== o.hover_animation && 680 i.hover( 681 function () { 682 n.addClass("animated " + o.icon_hover_animation); 683 }, 684 function () { 685 n.removeClass("animated " + o.icon_hover_animation); 686 } 687 ), 688 o.lottie_url ? (r = o.lottie_url.url) : o.svg_upload && (r = o.svg_upload.url), 689 lottie.loadAnimation({ 690 container: a[0], 691 renderer: "svg", 692 loop: o.loop || !0, 693 autoplay: o.autoplay || !0, 694 path: r, 695 }); 696 }, 697 PostGrid: function (e) { 698 let o = t.getElementSettings(e), 699 i = e.find(".xpro-post-grid-main"); 700 e.find(".xpro-post-grid-item"), 701 i.cubeportfolio({ 702 layoutMode: "grid", 703 gridAdjustment: "responsive", 704 lightboxGallery: !1, 705 mediaQueries: [ 706 { 707 width: elementorFrontend.config.breakpoints.lg, 708 cols: o.column_grid || 3, 709 options: { gapHorizontal: o.space_between.size, gapVertical: o.space_between.size }, 710 }, 711 { 712 width: elementorFrontend.config.breakpoints.md, 713 cols: o.column_grid_tablet || 2, 714 options: { 715 gapHorizontal: o.space_between_tablet.size || 0, 716 gapVertical: o.space_between_tablet.size || 0, 717 }, 718 }, 719 { 720 width: 0, 721 cols: o.column_grid_mobile || 1, 722 options: { 723 gapHorizontal: o.space_between_mobile.size || 0, 724 gapVertical: o.space_between_mobile.size || 0, 725 }, 726 }, 727 ], 728 displayType: "default", 729 displayTypeSpeed: 0, 730 }); 731 }, 732 HotSpot: function (o) { 733 t.getElementSettings(o); 734 o.find(".xpro-post-grid-main"), 735 o.find(".xpro-hotspot-type-click").on("click", function (t) { 736 t.preventDefault(), e(this).find(".xpro-hotspot-tooltip-text").toggleClass("active"); 737 }), 738 setTimeout(function () { 739 var e = o.find(".xpro-hotspot-animations"), 740 t = 0; 741 e.css({ opacity: 0 }), 742 (function o() { 743 e.stop(!0, !0).css({ opacity: 0 }); 744 var i = jQuery(e[t]); 745 i.stop(!0, !0).animate({ opacity: 1 }, 500, function () { 746 setTimeout(function () { 747 i.animate({ opacity: 0 }, 500, function () { 748 (t = (t + 1) % e.length), o(); 749 }); 750 }, 3e3); 751 }); 752 })(); 753 }, 500); 754 }, 755 ImageScroller: function (e) { 756 let o = t.getElementSettings(e), 757 i = e.find(".xpro-scroll-image-inner"), 758 n = e.find(".xpro-image-scroll-img > img"), 759 r = 0; 760 "mouse-hover" === o.trigger_type && 761 i.imagesLoaded(function () { 762 (r = "vertical" === o.direction_type ? n.height() - i.height() : n.width() - i.width()), 763 "yes" === o.reverse 764 ? (n.css( 765 "transform", 766 ("vertical" === o.direction_type ? "translateY" : "translateX") + "( -" + r + "px)" 767 ), 768 i.hover( 769 function () { 770 n.css( 771 "transform", 772 ("vertical" === o.direction_type ? "translateY" : "translateX") + "(0px)" 773 ); 774 }, 775 function () { 776 n.css( 777 "transform", 778 ("vertical" === o.direction_type ? "translateY" : "translateX") + 779 "( -" + 780 r + 781 "px)" 782 ); 783 } 784 )) 785 : i.hover( 786 function () { 787 n.css( 788 "transform", 789 ("vertical" === o.direction_type ? "translateY" : "translateX") + 790 "( -" + 791 r + 792 "px)" 793 ); 794 }, 795 function () { 796 n.css( 797 "transform", 798 ("vertical" === o.direction_type ? "translateY" : "translateX") + "(0px)" 799 ); 800 } 801 ); 802 }); 803 }, 804 HorizontalTimeline: function (o) { 805 let i, 806 n = t.getElementSettings(o), 807 r = o.find(".xpro-horizontal-timeline"), 808 a = 767; 809 function l() { 810 if ("yes" === n.reverse && e(window).width() >= a) { 811 let t = o.find(".xpro-horiz-equal-height > div"), 812 i = 0; 813 t.each(function () { 814 i = Math.max(i, e(this).outerHeight()); 815 }), 816 t.parent().css({ minHeight: i + "px" }); 817 } else { 818 let t = o.find(".xpro-horizontal-timeline-content > div"), 819 i = 0; 820 t.each(function () { 821 i = Math.max(i, e(this).outerHeight()); 822 }), 823 t.parent().css({ minHeight: i + "px" }); 824 let n = o.find(".xpro-horizontal-timeline-date > div"), 825 r = 0; 826 n.each(function () { 827 r = Math.max(r, e(this).outerHeight()); 828 }), 829 n.parent().css({ minHeight: r + "px" }); 830 } 831 } 832 e(".e-route-panel-editor-content").length && (i = ".elementor-preview-responsive-wrapper"), 833 e(".elementor-editor-active").length && (a = 750), 834 r.owlCarousel({ 835 loop: "yes" === n.loop, 836 center: "yes" === n.center, 837 nav: "yes" === n.nav, 838 navText: ["", ""], 839 dots: "yes" === n.dots, 840 mouseDrag: "yes" === n.mouse_drag, 841 rtl: "yes" === n.rtl, 842 touchDrag: !0, 843 autoHeight: !1, 844 autoWidth: "yes" === n.custom_width, 845 responsiveBaseElement: i, 846 autoplay: "yes" === n.autoplay, 847 autoplayTimeout: "yes" === n.autoplay ? 1e3 * n.autoplay_timeout.size : 3e3, 848 autoplayHoverPause: !0, 849 smartSpeed: 500, 850 responsive: { 851 0: { items: n.item_per_row_mobile || 1 }, 852 768: { items: n.item_per_row_tablet || 1 }, 853 1024: { items: n.item_per_row || 2 }, 854 }, 855 }), 856 setTimeout(function () { 857 l(); 858 }, 300), 859 e(window).on("resize", function () { 860 setTimeout(function () { 861 l(); 862 }, 500); 863 }); 864 }, 865 ContactForm: function (o) { 866 let i = t.getElementSettings(o), 867 n = o.find(".xpro-contact-form"), 868 r = (o.find(".xpro-contact-form-submit-button"), o.find(".xpro-contact-form-submit-button > i")), 869 a = !1, 870 l = n.attr("action"); 871 function s(e) { 872 return e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">"); 873 } 874 n.on("submit", function (t) { 875 t.preventDefault(), r.show(); 876 let p = n.serializeArray(), 877 d = [], 878 c = !0, 879 f = null, 880 u = "", 881 m = 0; 882 return ( 883 i.recaptcha && (a = o.find(".g-recaptcha-response").val()), 884 e.each(p, function (e, t) { 885 "" !== t.value && 886 "g-recaptcha-response" !== t.name && 887 ((d[m] = { 888 name: o.find("label[for=" + t.name.replaceAll("[]", "") + "]").text() || "", 889 value: t.value, 890 }), 891 m++); 892 }), 893 d.length 894 ? (u = d.map((e) => 895 Object.entries(e).reduce((e, t, o) => `${e}${o > 0 ? "&&" : ""}${t[0]}=${t[1]}`, "") 896 )) 897 : (c = !1), 898 o.find('.xpro-contact-form-require [required="required"]').each(function (t) { 899 "" === e(this).val() && (c = !1); 900 }), 901 c 902 ? i.recaptcha && !a 903 ? ((f = '<div class="xpro-alert xpro-alert-danger">' + s(i.captcha_message) + "</div>"), 904 o.find(".xpro-contact-form-message").hide().html(f).slideDown(), 905 void r.hide()) 906 : (o.find(".xpro-contact-form-message").slideUp(), 907 void e 908 .ajax({
909 method: "POST", 910 url: l, 911 data: { 912 postData: JSON.stringify(u), 913 formName: i.form_name, 914 formSubject: i.form_subject, 915 captcha: a, 916 }, 917 }) 918 .done(function (e) { 919 e.success 920 ? ((f = 921 '<div class="xpro-alert xpro-alert-success">' + 922 s(i.success_message) + 923 "</div>"), 924 o.find(".xpro-contact-form-message").hide().html(f).slideDown()) 925 : ((f = 926 '<div class="xpro-alert xpro-alert-danger">' + 927 s(i.error_message) + 928 "</div>"), 929 o.find(".xpro-contact-form-message").hide().html(f).slideDown()), 930 r.hide(), 931 i.recaptcha && grecaptcha.reset(); 932 })) 933 : ((f = '<div class="xpro-alert xpro-alert-danger">' + s(i.required_field_message) + "</div>"), 934 o.find(".xpro-contact-form-message").hide().html(f).slideDown(), 935 void r.hide()) 936 ); 937 }); 938 }, 939 Search: function (e) { 940 let o = t.getElementSettings(e); 941 ("4" === o.layout || "5" === o.layout) && 942 (e.find(".xpro-elementor-search-button").on("click", function (t) { 943 t.preventDefault(), 944 t.stopPropagation(), 945 e.find(".xpro-elementor-search-layout-4 .xpro-elementor-search-inner").fadeIn(400), 946 e.find(".xpro-elementor-search-layout-5 .xpro-elementor-search-inner").slideDown(400); 947 }), 948 e.find(".xpro-elementor-search-button-close").on("click", function (t) { 949 t.preventDefault(), 950 t.stopPropagation(), 951 e.find(".xpro-elementor-search-layout-4 .xpro-elementor-search-inner").fadeOut(400), 952 e.find(".xpro-elementor-search-layout-5 .xpro-elementor-search-inner").slideUp(400); 953 })); 954 }, 955 CourseGrid: function (e) { 956 let o = t.getElementSettings(e), 957 i = e.find(".xpro-post-grid-main"); 958 e.find(".xpro-post-grid-item"), 959 i.cubeportfolio({ 960 layoutMode: "grid", 961 gridAdjustment: "responsive", 962 mediaQueries: [ 963 { 964 width: elementorFrontend.config.breakpoints.lg, 965 cols: o.column_grid || 3, 966 options: { gapHorizontal: o.space_between.size, gapVertical: o.space_between.size }, 967 }, 968 { 969 width: elementorFrontend.config.breakpoints.md, 970 cols: o.column_grid_tablet || 2, 971 options: { 972 gapHorizontal: o.space_between_tablet.size || 0, 973 gapVertical: o.space_between_tablet.size || 0, 974 }, 975 }, 976 { 977 width: 0, 978 cols: o.column_grid_mobile || 1, 979 options: { 980 gapHorizontal: o.space_between_mobile.size || 0, 981 gapVertical: o.space_between_mobile.size || 0, 982 }, 983 }, 984 ], 985 displayType: "default", 986 displayTypeSpeed: 0, 987 }); 988 }, 989 ProductGrid: function (o) { 990 let i = t.getElementSettings(o), 991 n = o.find(".xpro-woo-product-grid-main"); 992 o.find(".xpro-woo-product-grid-item"), 993 o.find(".xpro-hv-qv-btn").click(function (t) { 994 t.preventDefault(); 995 let i = e(this).attr("id"), 996 n = { action: "load_quick_view_product_data", nonce: XproElementorAddons.nonce, id: i }; 997 e.ajax({
998 url: XproElementorAddons.ajax_url, 999 type: "post", 1000 data: n, 1001 dataType: "html", 1002 cache: !1, 1003 beforeSend: function () { 1004 o.find(".xpro-qv-loader-wrapper").css("display", "unset"), 1005 o.find(".xpro-qv-popup-wrapper").css("display", "none"); 1006 }, 1007 complete: function () { 1008 o.find(".xpro-qv-loader-wrapper").css("display", "none"), 1009 o.find(".xpro-qv-popup-wrapper").css("display", "unset"), 1010 o.find(".xpro-qv-popup-overlay").css({ opacity: "1", visibility: "visible" }); 1011 }, 1012 success: function (t) { 1013 o.find("#xpro_elementor_fetch_qv_data").html(t), 1014 e(".xpro-woo-qv-content-sec .variations_form") 1015 .wc_variation_form() 1016 .find(".variations select:eq(0)") 1017 .trigger("change"), 1018 e(".xpro-woo-qv-content-sec .variations_form").trigger("wc_variation_form"); 1019 }, 1020 }); 1021 }), 1022 o.on("click", ".xpro-woo-qv-cross", function (e) { 1023 e.preventDefault(), 1024 o.find(".xpro-qv-popup-wrapper").css("display", "none"), 1025 o.find(".xpro-qv-popup-overlay").css({ opacity: "0", visibility: "hidden" }); 1026 }), 1027 o.on("click", ".xpro-qv-popup-overlay", function (e) { 1028 e.preventDefault(), 1029 o.find(".xpro-qv-popup-wrapper").css("display", "none"), 1030 o.find(".xpro-qv-popup-overlay").css({ opacity: "0", visibility: "hidden" }); 1031 }), 1032 e(document).keyup(function (e) { 1033 27 === e.keyCode && 1034 (o.find(".xpro-qv-popup-wrapper").css("display", "none"), 1035 o.find(".xpro-qv-popup-overlay").css({ opacity: "0", visibility: "hidden" })); 1036 }), 1037 o.on("click", "#xpro_elementor_fetch_qv_data .single_add_to_cart_button:not(.disabled)", function (t) { 1038 if ((t.preventDefault(), "" !== e(this).parents("form").attr("action"))) 1039 return (window.location.href = e(this).parents("form").attr("action")), !1; 1040 let i = e(this).closest("form"); 1041 if (!i[0].checkValidity()) return i[0].reportValidity(), !1; 1042 let n = e(this), 1043 r = e(this).val(); 1044 if ( 1045 (e('input[name="variation_id"]').val(), 1046 e('input[name="quantity"]').val(), 1047 o.find(".woocommerce-grouped-product-list-item").length) 1048 ) { 1049 let t = e("input.qty"), 1050 o = []; 1051 e.each(t, function (t, i) { 1052 let n = e(this).attr("name"); 1053 (n = (n = n.replace("quantity[", "")).replace("]", "")), 1054 (n = parseInt(n)), 1055 e(this).val() && (o[n] = e(this).val()); 1056 }); 1057 } 1058 let a = i.serialize(); 1059 n.is(".single_add_to_cart_button") && 1060 (n.removeClass("added"), 1061 n.addClass("loading"), 1062 e.ajax({ 1063 url: XproElementorAddons.ajax_url, 1064 type: "POST", 1065 data: 1066 "action=add_cart_single_product_ajax&product_id=" + 1067 r + 1068 "&nonce=" + 1069 XproElementorAddons.nonce + 1070 "&" + 1071 a, 1072 success: function (t) { 1073 e(document.body).trigger("wc_fragment_refresh"), 1074 n.removeClass("loading"), 1075 n.addClass("added"); 1076 }, 1077 })); 1078 }), 1079 n.cubeportfolio({ 1080 layoutMode: "grid", 1081 gridAdjustment: "responsive", 1082 mediaQueries: [ 1083 { 1084 width: elementorFrontend.config.breakpoints.lg, 1085 cols: i.column_grid || 3, 1086 options: { gapHorizontal: i.space_between.size, gapVertical: i.space_between.size }, 1087 }, 1088 { 1089 width: elementorFrontend.config.breakpoints.md, 1090 cols: i.column_grid_tablet || 2,
1091 options: { 1092 gapHorizontal: i.space_between_tablet.size || 0, 1093 gapVertical: i.space_between_tablet.size || 0, 1094 }, 1095 }, 1096 { 1097 width: 0, 1098 cols: i.column_grid_mobile || 1, 1099 options: { 1100 gapHorizontal: i.space_between_mobile.size || 0, 1101 gapVertical: i.space_between_mobile.size || 0, 1102 }, 1103 }, 1104 ], 1105 displayType: "default", 1106 displayTypeSpeed: 0, 1107 }); 1108 }, 1109 HeroSlider: function (o) { 1110 t.getElementSettings(o); 1111 var i = o.find(".xpro-hero-slider").data("xpro-hero-slider-setting"); 1112 new Swiper(o.find(".xpro-hero-slider")[0], { 1113 parallax: !0, 1114 speed: 100 * i.slide_speed, 1115 spaceBetween: 0, 1116 effect: i.slide_effect, 1117 fadeEffect: { crossFade: !0 }, 1118 loop: i.loop, 1119 autoplay: { 1120 enabled: i.autoplay, 1121 disableOnInteraction: !0, 1122 delay: i.autoplay_timeout ? 1e3 * i.autoplay_timeout : 3e3, 1123 }, 1124 pagination: { el: o.find(".swiper-pagination")[0], clickable: !0 }, 1125 navigation: { nextEl: o.find(".swiper-button-next")[0], prevEl: o.find(".swiper-button-prev")[0] }, 1126 allowTouchMove: i.mouse_drag, 1127 }).on("slideChangeTransitionStart", function () { 1128 var t = this; 1129 e(t.slides[t.activeIndex]) 1130 .find("[data-animation]") 1131 .each(function () { 1132 var o = e(this), 1133 i = "animated " + o.data("animation"); 1134 o 1135 .addClass(i) 1136 .one( 1137 "webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", 1138 function () { 1139 o.removeClass(i); 1140 } 1141 ), 1142 e(t.slides).removeClass("xpro-animation-init"), 1143 e(t.slides[t.activeIndex]).addClass("xpro-animation-init"); 1144 }); 1145 }); 1146 }, 1147 }; 1148 e(window).on("elementor/frontend/init", t.init); 1149})(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.