1!(function (o) { 2 var n = {}; 3 function i(e) { 4 if (n[e]) return n[e].exports; 5 var t = (n[e] = { i: e, l: !1, exports: {} }); 6 return o[e].call(t.exports, t, t.exports, i), (t.l = !0), t.exports; 7 } 8 (i.m = o), 9 (i.c = n), 10 (i.d = function (e, t, o) { 11 i.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: o }); 12 }), 13 (i.r = function (e) { 14 "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }); 15 }), 16 (i.t = function (t, e) { 17 if ((1 & e && (t = i(t)), 8 & e)) return t; 18 if (4 & e && "object" == typeof t && t && t.__esModule) return t; 19 var o = Object.create(null); 20 if ((i.r(o), Object.defineProperty(o, "default", { enumerable: !0, value: t }), 2 & e && "string" != typeof t)) 21 for (var n in t) 22 i.d( 23 o, 24 n, 25 function (e) { 26 return t[e]; 27 }.bind(null, n) 28 ); 29 return o; 30 }), 31 (i.n = function (e) { 32 var t = 33 e && e.__esModule 34 ? function () { 35 return e.default; 36 } 37 : function () { 38 return e; 39 }; 40 return i.d(t, "a", t), t; 41 }), 42 (i.o = function (e, t) { 43 return Object.prototype.hasOwnProperty.call(e, t); 44 }), 45 (i.p = ""), 46 i((i.s = 0)); 47})([ 48 function (e, t, o) { 49 o(1), o(5), o(6), o(7), o(8), o(9), o(10), o(13), o(14), o(15), o(16), o(17); 50 }, 51 function (e, t, o) { 52 o(2), o(3), o(4); 53 }, 54 function (e, t) { 55 var o, n, i; 56 (window.$ = window.jQuery), 57 (o = jQuery), 58 (n = window), 59 (i = { 60 vendors: [], 61 body: o("body"), 62 navbar: o(".navbar"), 63 header: o(".header").length ? o(".header") : o(".main-content .section:first"), 64 footer: o(".footer"), 65 defaults: { googleApiKey: null, googleAnalyticsKey: null, reCaptchaV3SiteKey: null, reCaptchaSiteKey: null, reCaptchaLanguage: null, disableAOSonMobile: !0, smoothScroll: !1 }, 66 init: function () { 67 i.initVendors(), 68 i.initBind(), 69 i.initDrawer(), 70 i.initFont(), 71 i.initForm(), 72 i.initMailer(), 73 i.initModal(), 74 i.initNavbar(), 75 i.initOffcanvas(), 76 i.initPopup(), 77 i.initScroll(), 78 i.initSection(), 79 i.initSidebar(), 80 i.initVideo(),
81 o('[data-provide="anchor"]').each(function () { 82 var e = o(this); 83 e.append('<a class="anchor" href="#' + e.attr("id") + '"></a>'); 84 }); 85 }, 86 initVendors: function () { 87 i.vendors.forEach(function (e) { 88 var t = n.page["init" + e]; 89 "function" == typeof t && t(); 90 }); 91 }, 92 registerVendor: function (e) { 93 i.vendors.push(e); 94 }, 95 }), 96 (n.page = i), 97 $(function () {}); 98 }, 99 function (e, t) { 100 var o; 101 (o = jQuery), 102 page.registerVendor("Jquery"), 103 (page.initJquery = function () { 104 var e = document.head.querySelector('meta[name="csrf-token"]'); 105 e && o.ajaxSetup({ headers: { "X-CSRF-TOKEN": e.content } }); 106 }), 107 (jQuery.fn.hasDataAttr = function (e) { 108 return $(this)[0].hasAttribute("data-" + e); 109 }), 110 (jQuery.fn.dataAttr = function (e, t) { 111 return null == $(this)[0] ? t : $(this)[0].getAttribute("data-" + e) || t; 112 }), 113 (jQuery.expr[":"].search = function (e, t, o) { 114 return 0 <= $(e).html().toUpperCase().indexOf(o[3].toUpperCase()); 115 }), 116 (jQuery.fn.outerHTML = function () { 117 var e = ""; 118 return ( 119 this.each(function () { 120 e += $(this).prop("outerHTML"); 121 }), 122 e 123 ); 124 }), 125 (jQuery.fn.fullHTML = function () { 126 var e = ""; 127 return ( 128 $(this).each(function () { 129 e += $(this).outerHTML(); 130 }), 131 e 132 ); 133 }), 134 (jQuery.fn.scrollToEnd = function () { 135 return $(this).scrollTop($(this).prop("scrollHeight")), this; 136 }); 137 }, 138 function (e, t) { 139 var o; 140 (o = jQuery), 141 page.registerVendor("Bootstrap"), 142 (page.initBootstrap = function () { 143 o('[data-toggle="tooltip"]').tooltip(), 144 o('[data-toggle="popover"]').popover(), 145 o(document).on("click", ".custom-checkbox", function () { 146 var e = o(this).children(".custom-control-input").not(":disabled"); 147 e.prop("checked", !e.prop("checked")).trigger("change"); 148 }), 149 o(document).on("click", ".custom-radio", function () { 150 o(this).children(".custom-control-input").not(":disabled").prop("checked", !0).trigger("change"); 151 }); 152 }); 153 }, 154 function (e, t) { 155 jQuery, 156 page.registerVendor("AOS"), 157 (page.initAOS = function () { 158 var e = { offset: 220, duration: 1500 }; 159 page.defaults.disableAOSonMobile && (e.disable = "mobile"), AOS.init(e); 160 }); 161 }, 162 function (e, t) { 163 var a, s, l; 164 function o(n, e) { 165 var t = s(n), 166 a = n.getContext("2d"), 167 o = { 168 star: { color: "rgba(255, 255, 255, .5)", width: 1 }, 169 line: { color: "rgba(255, 255, 255, .5)", width: 0.2 }, 170 position: { x: 0, y: 0 }, 171 width: l.innerWidth, 172 height: l.innerHeight, 173 velocity: 0.1, 174 length: 100, 175 distance: 120, 176 radius: 150, 177 stars: [], 178 }, 179 r = s.extend(!0, {}, o, e); 180 function i() { 181 (this.x = Math.random() * n.width), (this.y = Math.random() * n.height), (this.vx = r.velocity - 0.5 * Math.random()), (this.vy = r.velocity - 0.5 * Math.random()), (this.radius = Math.random() * r.star.width); 182 } 183 (i.prototype = { 184 create: function () { 185 a.beginPath(), a.arc(this.x, this.y, this.radius, 0, 2 * Math.PI, !1), a.fill(); 186 }, 187 animate: function () { 188 var e; 189 for (e = 0; e < r.length; e++) { 190 var t = r.stars[e]; 191 t.y < 0 || t.y > n.height ? ((t.vx = t.vx), (t.vy = -t.vy)) : (t.x < 0 || t.x > n.width) && ((t.vx = -t.vx), (t.vy = t.vy)), (t.x += t.vx), (t.y += t.vy); 192 } 193 }, 194 line: function () { 195 var e, 196 t, 197 o, 198 n, 199 i = r.length; 200 for (o = 0; o < i; o++) 201 for (n = 0; n < i; n++) 202 (e = r.stars[o]), 203 (t = r.stars[n]), 204 e.x - t.x < r.distance &&
205 e.y - t.y < r.distance && 206 e.x - t.x > -r.distance && 207 e.y - t.y > -r.distance && 208 e.x - r.position.x < r.radius && 209 e.y - r.position.y < r.radius && 210 e.x - r.position.x > -r.radius && 211 e.y - r.position.y > -r.radius && 212 (a.beginPath(), a.moveTo(e.x, e.y), a.lineTo(t.x, t.y), a.stroke(), a.closePath()); 213 }, 214 }), 215 (this.createStars = function () { 216 var e, 217 t, 218 o = r.length; 219 for (a.clearRect(0, 0, n.width, n.height), t = 0; t < o; t++) r.stars.push(new i()), (e = r.stars[t]).create(); 220 e.line(), e.animate(); 221 }), 222 (this.setCanvas = function () { 223 (n.width = r.width), (n.height = r.height); 224 }), 225 (this.setContext = function () { 226 (a.fillStyle = r.star.color), (a.strokeStyle = r.line.color), (a.lineWidth = r.line.width); 227 }), 228 (this.setInitialPosition = function () { 229 (e && e.hasOwnProperty("position")) || (r.position = { x: 0.5 * n.width, y: 0.5 * n.height }); 230 }), 231 (this.loop = function (e) { 232 e(), 233 l.requestAnimationFrame( 234 function () { 235 this.loop(e); 236 }.bind(this) 237 ); 238 }), 239 (this.bind = function () { 240 t.on("mousemove", function (e) { 241 (r.position.x = e.pageX - t.offset().left), (r.position.y = e.pageY - t.offset().top); 242 }); 243 }), 244 (this.init = function () { 245 this.setCanvas(), this.setContext(), this.setInitialPosition(), this.loop(this.createStars), this.bind(); 246 }); 247 } 248 (a = jQuery), 249 page.registerVendor("Constellation"), 250 (page.initConstellation = function () { 251 var i = 120; 252 a(window).width() < 700 && (i = 25), 253 a(".constellation").each(function () { 254 var e = a(this), 255 t = e.dataAttr("color", "rgba(255, 255, 255, .8)"), 256 o = e.dataAttr("length", 150), 257 n = e.dataAttr("radius", 150); 258 "dark" == t && (t = "rgba(0, 0, 0, .6)"), e.constellation({ distance: i, length: o, radius: n, star: { color: t, width: 1 }, line: { color: t, width: 0.2 } }); 259 }); 260 }), 261 /*! 262 * Mantis.js / jQuery / Zepto.js plugin for Constellation 263 * @version 1.2.2 264 * @author Acauã Montiel <[email protected]> 265 * @license http://acaua.mit-license.org/ 266 */ 267 (s = $), 268 (l = window), 269 (s.fn.constellation = function (e) { 270 return this.each(function () { 271 new o(this, e).init(); 272 }); 273 }); 274 }, 275 function (e, t) { 276 var n; 277 (n = jQuery), 278 page.registerVendor("Countdown"), 279 (page.initCountdown = function () { 280 n("[data-countdown]").each(function () { 281 var e = n(this), 282 t = "", 283 o = { textDay: "Day", textHour: "Hour", textMinute: "Minute", textSecond: "Second" }; 284 (o = n.extend(o, page.getDataOptions(e))), 285 (t += '<div class="row gap-x-4">'), 286 (t += '<div class="col"><h5>%D</h5><small>' + o.textDay + "%!D</small></div>"), 287 (t += '<div class="col"><h5>%H</h5><small>' + o.textHour + "%!H</small></div>"), 288 (t += '<div class="col"><h5>%M</h5><small>' + o.textMinute + "%!M</small></div>"), 289 (t += '<div class="col"><h5>%S</h5><small>' + o.textSecond + "%!S</small></div>"), 290 (t += "</div>"), 291 e.hasDataAttr("format") && (t = e.data("format")), 292 e.countdown(e.data("countdown"), function (e) { 293 n(this).html(e.strftime(t)); 294 }); 295 }); 296 }); 297 }, 298 function (e, t) { 299 var n; 300 (n = jQuery), 301 page.registerVendor("Countup"), 302 (page.initCountup = function (e) { 303 var t = '[data-provide~="countup"]:not(.counted)'; 304 void 0 !== e && (t = e), 305 n(t).each(function () { 306 var t = n(this), 307 e = {}; 308 e = n.extend(e, page.getDataOptions(t)); 309 var o = { startVal: t.dataAttr("from", 0), endVal: t.dataAttr("to", 0), options: e }; 310 (o = n.extend(o, page.getDataOptions(t))), 311 t.waypoint({ 312 handler: function (e) { 313 t.countup(o).addClass("counted"); 314 }, 315 offset: "100%", 316 }); 317 }); 318 }), 319 ($.fn.countup = function (e) { 320 if ("function" == typeof CountUp) { 321 var o = { startVal: 0, decimals: 0, duration: 4 }; 322 if ("number" == typeof e) o.endVal = e; 323 else { 324 if ("object" != typeof e) return void console.error("countUp-jquery requires its argument to be either an object or number"); 325 $.extend(o, e); 326 } 327 return ( 328 this.each(function (e, t) { 329 new CountUp(t, o.startVal, o.endVal, o.decimals, o.duration, o.options).start(); 330 }), 331 this 332 ); 333 } 334 console.error("countUp.js is a required dependency of countUp-jquery.js."); 335 }); 336 }, 337 function (e, t) { 338 var s; 339 (s = jQuery), 340 page.registerVendor("Granim"), 341 (page.initGranim = function () { 342 s("[data-granim]").each(function () { 343 var e = s(this), 344 t = e.data("granim").split(","), 345 o = [], 346 n = [1, 1], 347 i = t.length; 348 if (0 < i) 349 if (-1 < t[0].indexOf("-")) { 350 for (var a = 0; a < i; a++) o[a] = t[a].split("-"); 351 for (a = 0; a < o[0].length; a++) n[a] = 1; 352 } else for (a = 0; a < i / 2; a++) o[a] = [t[2 * a], t[2 * a + 1]]; 353 var r = { element: e[0], name: "granim", direction: e.dataAttr("direction", "left-right"), isPausedWhenNotInView: !0, opacity: n, states: { "default-state": { gradients: o, transitionSpeed: 5e3, loop: !0 } } }; 354 e.hasDataAttr("opacity") && (r.opacity = e.data("opacity").split(",")), 355 e.hasDataAttr("image") && (r.image = { source: e.dataAttr("image", ""), position: ["center", "center"], stretch
355Mode: ["stretch-if-bigger", "stretch-if-bigger"], blendingMode: "multiply" }), 356 new Granim(r); 357 }); 358 }); 359 }, 360 function (e, t, o) { 361 var n; 362 o(11), 363 o(12), 364 (n = jQuery), 365 page.registerVendor("Jarallax"), 366 (page.initJarallax = function () { 367 n("[data-parallax]").each(function () { 368 var e = n(this), 369 t = { imgSrc: e.data("parallax"), speed: 0.3 }; 370 e.hasClass("header") && (t.speed = 0.6), (t = n.extend(t, page.getDataOptions(e))), e.jarallax(t); 371 }), 372 n("[data-video]").each(function () { 373 var e = n(this), 374 t = { videoSrc: e.data("video"), speed: 1 }; 375 -1 < t.videoSrc.indexOf("mp4:") && (t.speed = 0.5), (t = n.extend(t, page.getDataOptions(e))), e.jarallax(t); 376 }); 377 }); 378 }, 379 function (e, t) { 380 function i(e) { 381 if (n[e]) return n[e].exports; 382 var t = (n[e] = { i: e, l: !1, exports: {} });
383 return o[e].call(t.exports, t, t.exports, i), (t.l = !0), t.exports; 384 } 385 var o, n; 386 (n = {}), 387 (i.m = o = [ 388 , 389 , 390 function (e, t, o) { 391 "use strict"; 392 e.exports = function (e) { 393 "complete" === document.readyState || "interactive" === document.readyState 394 ? e.call() 395 : document.attachEvent 396 ? document.attachEvent("onreadystatechange", function () { 397 "interactive" === document.readyState && e.call(); 398 }) 399 : document.addEventListener && document.addEventListener("DOMContentLoaded", e); 400 }; 401 }, 402 , 403 function (o, e, t) { 404 "use strict"; 405 (function (e) { 406 var t; 407 (t = "undefined" != typeof window ? window : void 0 !== e ? e : "undefined" != typeof self ? self : {}), (o.exports = t); 408 }.call(this, t(5))); 409 }, 410 function (e, t, o) { 411 "use strict"; 412 var n, 413 i = 414 "function" == typeof Symbol && "symbol" == typeof Symbol.iterator 415 ? function (e) { 416 return typeof e; 417 } 418 : function (e) { 419 return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; 420 }; 421 n = (function () { 422 return this; 423 })(); 424 try { 425 n = n || Function("return this")() || (0, eval)("this"); 426 } catch (e) { 427 "object" === ("undefined" == typeof window ? "undefined" : i(window)) && (n = window); 428 } 429 e.exports = n; 430 }, 431 , 432 , 433 , 434 , 435 , 436 function (e, t, o) { 437 e.exports = o(12); 438 }, 439 function (e, t, o) { 440 "use strict"; 441 var n = 442 "function" == typeof Symbol && "symbol" == typeof Symbol.iterator 443 ? function (e) { 444 return typeof e; 445 } 446 : function (e) { 447 return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; 448 }, 449 i = s(o(2)), 450 a = o(4), 451 r = s(o(13)); 452 function s(e) { 453 return e && e.__esModule ? e : { default: e }; 454 } 455 var l = a.window.jarallax; 456 if ( 457 ((a.window.jarallax = r.default), 458 (a.window.jarallax.noConflict = function () { 459 return (a.window.jarallax = l), this; 460 }), 461 void 0 !== a.jQuery) 462 ) { 463 var c = function () { 464 var e = arguments || []; 465 Array.prototype.unshift.call(e, this); 466 var t = r.default.apply(a.window, e); 467 return "object" !== (void 0 === t ? "undefined" : n(t)) ? t : this; 468 }; 469 c.constructor = r.default.constructor; 470 var d = a.jQuery.fn.jarallax; 471 (a.jQuery.fn.jarallax = c), 472 (a.jQuery.fn.jarallax.noConflict = function () { 473 return (a.jQuery.fn.jarallax = d), this; 474 }); 475 } 476 (0, i.default)(function () { 477 (0, r.default)(document.querySelectorAll("[data-jarallax]")); 478 }); 479 }, 480 function (e, S, A) { 481 "use strict"; 482 (function (e) { 483 Object.defineProperty(S, "__esModule", { value: !0 }); 484 var t = function (e, t, o) { 485 return t && a(e.prototype, t), o && a(e, o), e; 486 }, 487 d = 488 "function" == typeof Symbol && "symbol" == typeof Symbol.iterator 489 ? function (e) { 490 return typeof e; 491 } 492 : function (e) { 493 return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; 494 }, 495 o = r(A(2)), 496 n = r(A(14)), 497 i = A(4); 498 function a(e, t) { 499 for (var o = 0; o < t.length; o++) { 500 var n = t[o]; 501 (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n); 502 } 503 } 504 function r(e) {
505 return e && e.__esModule ? e : { default: e }; 506 } 507 var l = -1 < navigator.userAgent.indexOf("MSIE ") || -1 < navigator.userAgent.indexOf("Trident/") || -1 < navigator.userAgent.indexOf("Edge/"), 508 s = (function () { 509 for (var e = "transform WebkitTransform MozTransform".split(" "), t = document.createElement("div"), o = 0; o < e.length; o++) if (t && void 0 !== t.style[e[o]]) return e[o]; 510 return !1; 511 })(), 512 g = void 0, 513 h = void 0, 514 c = void 0, 515 u = !1, 516 p = !1; 517 function f(e) { 518 (g = i.window.innerWidth || document.documentElement.clientWidth), 519 (h = i.window.innerHeight || document.documentElement.clientHeight), 520 "object" !== (void 0 === e ? "undefined" : d(e)) || ("load" !== e.type && "dom-loaded" !== e.type) || (u = !0); 521 } 522 f(), 523 i.window.addEventListener("resize", f), 524 i.window.addEventListener("orientationchange", f), 525 i.window.addEventListener("load", f), 526 (0, o.default)(function () { 527 f({ type: "dom-loaded" }); 528 }); 529 var m = [], 530 y = !1; 531 function v() { 532 if (m.length) { 533 c = void 0 !== i.window.pageYOffset ? i.window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop; 534 var t = u || !y || y.width !== g || y.height !== h, 535 o = p || t || !y || y.y !== c; 536 (p = u = !1), 537 (t || o) && 538 (m.forEach(function (e) { 539 t && e.onResize(), o && e.onScroll(); 540 }), 541 (y = { width: g, height: h, y: c })), 542 (0, n.default)(v); 543 } 544 } 545 function b(e) { 546 ("object" === ("undefined" == typeof HTMLElement ? "undefined" : d(HTMLElement)) 547 ? e instanceof HTMLElement 548 : e && "object" === (void 0 === e ? "undefined" : d(e)) && null !== e && 1 === e.nodeType && "string" == typeof e.nodeName) && (e = [e]); 549 for (var t = arguments[1], o = Array.prototype.slice.call(arguments, 2), n = e.length, i = 0, a = void 0; i < n; i++) 550 if (("object" === (void 0 === t ? "undefined" : d(t)) || void 0 === t ? e[i].jarallax || (e[i].jarallax = new k(e[i], t)) : e[i].jarallax && (a = e[i].jarallax[t].apply(e[i].jarallax, o)), void 0 !== a)) 551 return a; 552 return e; 553 } 554 var w = 555 !!e.ResizeObserver && 556 new e.ResizeObserver(function (e) { 557 e && 558 e.length && 559 (0, n.default)(function () { 560 e.forEach(function (e) { 561 e.target && e.target.jarallax && (u || e.target.jarallax.onResize(), (p = !0)); 562 }); 563 }); 564 }), 565 x = 0, 566 k = 567 (t(T, [ 568 { 569 key: "css", 570 value: function (t, o) { 571 return "string" == typeof o 572 ? i.window.getComputedStyle(t).getPropertyValue(o) 573 : (o.transform && s && (o[s] = o.transform), 574 Object.keys(o).forEac
574h(function (e) { 575 t.style[e] = o[e]; 576 }), 577 t); 578 }, 579 }, 580 { 581 key: "extend", 582 value: function (o) { 583 var n = arguments; 584 return ( 585 (o = o || {}), 586 Object.keys(arguments).forEach(function (t) { 587 n[t] && 588 Object.keys(n[t]).forEach(function (e) { 589 o[e] = n[t][e]; 590 }); 591 }), 592 o 593 ); 594 }, 595 }, 596 { 597 key: "getWindowData", 598 value: function () { 599 return { width: g, height: h, y: c }; 600 }, 601 }, 602 { 603 key: "initImg", 604 value: function () { 605 var e = this, 606 t = e.options.imgElement; 607 return ( 608 t && "string" == typeof t && (t = e.$item.querySelector(t)), 609 t instanceof Element || (t = null), 610 t && (e.options.keepImg ? (e.image.$item = t.cloneNode(!0)) : ((e.image.$item = t), (e.image.$itemParent = t.parentNode)), (e.image.useImgTag = !0)), 611 !( 612 !e.image.$item && 613 (null === e.image.src && 614 (e.image.src = e 615 .css(e.$item, "background-image") 616 .replace(/^url\(['"]?/g, "") 617 .replace(/['"]?\)$/g, "")), 618 !e.image.src || "none" === e.image.src) 619 ) 620 ); 621 }, 622 }, 623 { 624 key: "canInitParallax", 625 value: function () { 626 return s && !this.options.disableParallax(); 627 }, 628 }, 629 { 630 key: "init", 631 value: function () { 632 var e = this, 633 t = { position: "absolute", top: 0, left: 0, width: "100%", height: "100%", overflow: "hidden", pointerEvents: "none" }, 634 o = {}; 635 if (!e.options.keepImg) { 636 var n = e.$item.getAttribute("style"); 637 if ((n && e.$item.setAttribute("data-jarallax-original-styles", n), e.image.useImgTag)) { 638 var i = e.image.$item.getAttribute("style"); 639 i && e.image.$item.setAttribute("data-jarallax-original-styles", i); 640 } 641 } 642 if ( 643 ("static" === e.css(e.$item, "position") && e.css(e.$item, { position: "relative" }), 644 "auto" === e.css(e.$item, "z-index") && e.css(e.$item, { zIndex: 0 }), 645 (e.image.$container = document.createElement("div")), 646 e.css(e.image.$container, t), 647 e.css(e.image.$container, { "z-index": e.options.zIndex }), 648 l && e.css(e.image.$container, { opacity: 0.9999 }), 649 e.image.$container.setAttribute("id", "jarallax-container-" + e.instanceID), 650 e.$item.appendChild(e.image.$container), 651 e.image.useImgTag 652 ? (o = e.extend( 653 { 654 "object-fit": e.options.imgSize, 655 "object-position": e.options.imgPosition, 656 "font-family": "object-fit: " + e.options.imgSize + "; object-position: " + e.options.imgPosition + ";", 657 "max-width": "none", 658 }, 659 t, 660 o 661 )) 662 : ((e.image.$item = document.createElement("div")), 663 e.image.src && 664 (o = e.extend( 665 { 666 "background-position": e.options.imgPosition, 667 "background-size": e.options.imgSize, 668 "background-repeat": e.options.imgRepeat, 669 "background-image": 'url("' + e.image.src + '")', 670 }, 671 t, 672 o 673 ))), 674 ("opacity" !== e.options.type && "scale" !== e.options.type && "scale-opacity" !== e.options.type && 1 !== e.options.speed) || (e.image.position = "absolute"), 675 "fixed" === e.image.position) 676 ) 677 for (var a = 0, r = e.$item; null !== r && r !== document && 0 === a; ) { 678 var s = e.css(r, "-webkit-transform") || e.css(r, "-moz-transform") || e.css(r, "transform"); 679 s && "none" !== s && ((a = 1), (e.image.position = "absolute")), (r = r.parentNode); 680 } 681 (o.position = e.image.position), 682 e.css(e.image.$item, o), 683 e.image.$container.appendChild(e.image.$item), 684 e.onResize(), 685 e.onScroll(!0), 686 e.options.automaticResize && w && w.observe(e.$item), 687 e.options.onInit && e.options.onInit.call(e), 688 "none" !== e.css(e.$item, "background-image") && e.css(e.$item, { "background-image": "none" }), 689 e.addToParallaxList(); 690 }, 691 }, 692 { 693 key: "addToParallaxList", 694 value: function () { 695 m.push(this), 1 === m.length && v(); 696 }, 697 }, 698 { 699 key: "removeFromParallaxList", 700 value: function () { 701 var o = this; 702 m.forEach(function (e, t) { 703 e.instanceID === o.instanceID && m.splice(t, 1); 704 }); 705 }, 706 }, 707 {
708 key: "destroy", 709 value: function () { 710 var e = this; 711 e.removeFromParallaxList(); 712 var t = e.$item.getAttribute("data-jarallax-original-styles"); 713 if ((e.$item.removeAttribute("data-jarallax-original-styles"), t ? e.$item.setAttribute("style", t) : e.$item.removeAttribute("style"), e.image.useImgTag)) { 714 var o = e.image.$item.getAttribute("data-jarallax-original-styles"); 715 e.image.$item.removeAttribute("data-jarallax-original-styles"), 716 o ? e.image.$item.setAttribute("style", t) : e.image.$item.removeAttribute("style"), 717 e.image.$itemParent && e.image.$itemParent.appendChild(e.image.$item); 718 } 719 e.$clipStyles && e.$clipStyles.parentNode.removeChild(e.$clipStyles), 720 e.image.$container && e.image.$container.parentNode.removeChild(e.image.$container), 721 e.options.onDestroy && e.options.onDestroy.call(e), 722 delete e.$item.jarallax; 723 }, 724 }, 725 { 726 key: "clipContainer", 727 value: function () { 728 if ("fixed" === this.image.position) { 729 var e = this, 730 t = e.image.$container.getBoundingClientRect(), 731 o = t.width, 732 n = t.height; 733 e.$clipStyles || 734 ((e.$clipStyles = document.createElement("style")), 735 e.$clipStyles.setAttribute("type", "text/css"), 736 e.$clipStyles.setAttribute("id", "jarallax-clip-" + e.instanceID), 737 (document.head || document.getElementsByTagName("head")[0]).appendChild(e.$clipStyles)); 738 var i = "#jarallax-container-" + e.instanceID + " {\n clip: rect(0 " + o + "px " + n + "px 0);\n clip: rect(0, " + o + "px, " + n + "px, 0);\n }"; 739 e.$clipStyles.styleSheet ? (e.$clipStyles.styleSheet.cssText = i) : (e.$clipStyles.innerHTML = i); 740 } 741 }, 742 }, 743 { 744 key: "coverImage", 745 value: function () { 746 var e, 747 t = this, 748 o = t.image.$container.getBoundingClientRect(), 749 n = o.height, 750 i = t.options.speed, 751 a = "scroll" === t.options.type || "scroll-opacity" === t.options.type, 752 r = 0, 753 s = n; 754 return ( 755 a && 756 (i < 0 ? ((r = i * Math.max(n, h)), h < n && (r -= i * (n - h))) : (r = i * (n + h)), 757 1 < i ? (s = Math.abs(r - h)) : i < 0 ? (s = r / i + Math.abs(r)) : (s += (h - n) * (1 - i)), 758 (r /= 2)), 759 (t.parallaxScrollDistance = r), 760 (e = a ? (h - s) / 2 : (n - s) / 2), 761 t.css(t.image.$item, { height: s + "px", marginTop: e + "px", left: "fixed" === t.image.position ? o.left + "px" : "0", width: o.width + "px" }), 762 t.options.onCoverImage && t.options.onCoverImage.call(t), 763 { image: { height: s, marginTop: e }, container: o } 764 ); 765 }, 766 }, 767 { 768 key: "isVisible", 769 value: function () { 770 return this.isElementInViewport || !1; 771 }, 772 }, 773 { 774 key: "onScroll", 775 value: function (e) { 776 var t = this, 777 o = t.$item.getBoundingClientRect(), 778 n = o.top, 779 i = o.height, 780 a = {}, 781 r = o; 782 if ( 783 (t.options.elementInViewport && (r = t.options.elementInViewport.getBoundingClientRect()), 784 (t.isElementInViewport = 0 <= r.bottom && 0 <= r.right && r.top <= h && r.left <= g), 785 e || t.isElementInViewport) 786 ) { 787 var s = Math.max(0, n), 788 l = Math.max(0, i + n), 789 c = Math.max(0, -n), 790 d = Math.max(0, n + i - h), 791 u = Math.max(0, i - (n + i - h)), 792 p = Math.max(0, -n + h - i), 793 f = 1 - (2 * (h - n)) / (h + i), 794 m = 1; 795 if ( 796 (i < h ? (m = 1 - (c || d) / i) : l <= h ? (m = l / h) : u <= h && (m = u / h), 797 ("opacity" !== t.options.type && "scale-opacity" !== t.options.type && "scroll-opacity" !== t.options.type) || ((a.transform = "translate3d(0,
7970,0)"), (a.opacity = m)), 798 "scale" === t.options.type || "scale-opacity" === t.options.type) 799 ) { 800 var y = 1; 801 t.options.speed < 0 ? (y -= t.options.speed * m) : (y += t.options.speed * (1 - m)), (a.transform = "scale(" + y + ") translate3d(0,0,0)"); 802 } 803 if ("scroll" === t.options.type || "scroll-opacity" === t.options.type) { 804 var v = t.parallaxScrollDistance * f; 805 "absolute" === t.image.position && (v -= n), (a.transform = "translate3d(0," + v + "px,0)"); 806 } 807 t.css(t.image.$item, a), 808 t.options.onScroll && 809 t.options.onScroll.call(t, { section: o, beforeTop: s, beforeTopEnd: l, afterTop: c, beforeBottom: d, beforeBottomEnd: u, afterBottom: p, visiblePercent: m, fromViewportCenter: f }); 810 } 811 }, 812 }, 813 { 814 key: "onResize", 815 value: function () { 816 this.coverImage(), this.clipContainer(); 817 }, 818 }, 819 ]), 820 T); 821 function T(e, t) { 822 !(function (e, t) { 823 if (!(e instanceof T)) throw new TypeError("Cannot call a class as a function"); 824 })(this); 825 var o = this; 826 (o.instanceID = x++), 827 (o.$item = e), 828 (o.defaults = { 829 type: "scroll", 830 speed: 0.5, 831 imgSrc: null, 832 imgElement: ".jarallax-img", 833 imgSize: "cover", 834 imgPosition: "50% 50%", 835 imgRepeat: "no-repeat", 836 keepImg: !1, 837 elementInViewport: null, 838 zIndex: -100, 839 disableParallax: !1, 840 disableVideo: !1, 841 automaticResize: !0, 842 videoSrc: null, 843 videoStartTime: 0, 844 videoEndTime: 0, 845 videoVolume: 0, 846 videoLoop: !0, 847 videoPlayOnlyVisible: !0, 848 onScroll: null, 849 onInit: null, 850 onDestroy: null, 851 onCoverImage: null, 852 }); 853 var n = o.$item.getAttribute("data-jarallax"), 854 i = JSON.parse(n || "{}"); 855 n && console.warn("Detected usage of deprecated data-jarallax JSON options, you should use pure data-attribute options. See info here - https://github.com/nk-o/jarallax/issues/53"); 856 var a = o.$item.dataset || {}, 857 r = {}; 858 if ( 859 (Object.keys(a).forEach(function (e) { 860 var t = e.substr(0, 1).toLowerCase() + e.substr(1); 861 t && void 0 !== o.defaults[t] && (r[t] = a[e]); 862 }), 863 (o.options = o.extend({}, o.defaults, i, r, t)), 864 (o.pureOptions = o.extend({}, o.options)),
865 Object.keys(o.options).forEach(function (e) { 866 "true" === o.options[e] ? (o.options[e] = !0) : "false" === o.options[e] && (o.options[e] = !1); 867 }), 868 (o.options.speed = Math.min(2, Math.max(-1, parseFloat(o.options.speed)))), 869 (o.options.noAndroid || o.options.noIos) && 870 (console.warn("Detected usage of deprecated noAndroid or noIos options, you should use disableParallax option. See info here - https://github.com/nk-o/jarallax/#disable-on-mobile-devices"), 871 o.options.disableParallax || 872 (o.options.noIos && o.options.noAndroid 873 ? (o.options.disableParallax = /iPad|iPhone|iPod|Android/) 874 : o.options.noIos 875 ? (o.options.disableParallax = /iPad|iPhone|iPod/) 876 : o.options.noAndroid && (o.options.disableParallax = /Android/))), 877 "string" == typeof o.options.disableParallax && (o.options.disableParallax = new RegExp(o.options.disableParallax)), 878 o.options.disableParallax instanceof RegExp) 879 ) { 880 var s = o.options.disableParallax; 881 o.options.disableParallax = function () { 882 return s.test(navigator.userAgent); 883 }; 884 } 885 if ( 886 ("function" != typeof o.options.disableParallax && 887 (o.options.disableParallax = function () { 888 return !1; 889 }), 890 "string" == typeof o.options.disableVideo && (o.options.disableVideo = new RegExp(o.options.disableVideo)), 891 o.options.disableVideo instanceof RegExp) 892 ) { 893 var l = o.options.disableVideo; 894 o.options.disableVideo = function () { 895 return l.test(navigator.userAgent); 896 }; 897 } 898 "function" != typeof o.options.disableVideo && 899 (o.options.disableVideo = function () { 900 return !1; 901 }); 902 var c = o.options.elementInViewport; 903 c && 904 "object" === (void 0 === c ? "undefined" : d(c)) && 905 void 0 !== c.length && 906 (c = (function (e, t) { 907 if (Array.isArray(e)) return e; 908 if (Symbol.iterator in Object(e)) 909 return (function (e, t) { 910 var o = [], 911 n = !0, 912 i = !1, 913 a = void 0; 914 try { 915 for (var r, s = e[Symbol.iterator](); !(n = (r = s.next()).done) && (o.push(r.value), !t || o.length !== t); n = !0); 916 } catch (e) { 917 (i = !0), (a = e); 918 } finally { 919 try { 920 !n && s.return && s.return(); 921 } finally { 922 if (i) throw a; 923 } 924 } 925 return o; 926 })(e, t); 927 throw new TypeError("Invalid attempt to de
927structure non-iterable instance"); 928 })(c, 1)[0]), 929 c instanceof Element || (c = null), 930 (o.options.elementInViewport = c), 931 (o.image = { src: o.options.imgSrc || null, $container: null, useImgTag: !1, position: /iPad|iPhone|iPod|Android/.test(navigator.userAgent) ? "absolute" : "fixed" }), 932 o.initImg() && o.canInitParallax() && o.init(); 933 } 934 (b.constructor = k), (S.default = b); 935 }.call(this, A(5))); 936 }, 937 function (e, t, o) { 938 "use strict"; 939 var n = o(4), 940 i = 941 n.requestAnimationFrame || 942 n.webkitRequestAnimationFrame || 943 n.mozRequestAnimationFrame || 944 function (e) { 945 var t = +new Date(), 946 o = Math.max(0, 16 - (t - a)), 947 n = setTimeout(e, o); 948 return (a = t), n; 949 }, 950 a = +new Date(), 951 r = n.cancelAnimationFrame || n.webkitCancelAnimationFrame || n.mozCancelAnimationFrame || clearTimeout; 952 Function.prototype.bind && ((i = i.bind(n)), (r = r.bind(n))), ((e.exports = i).cancel = r); 953 }, 954 ]), 955 (i.c = n), 956 (i.d = function (e, t, o) { 957 i.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: o }); 958 }), 959 (i.r = function (e) { 960 "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }); 961 }), 962 (i.t = function (t, e) { 963 if ((1 & e && (t = i(t)), 8 & e)) return t; 964 if (4 & e && "object" == typeof t && t && t.__esModule) return t; 965 var o = Object.create(null); 966 if ((i.r(o), Object.defineProperty(o, "default", { enumerable: !0, value: t }), 2 & e && "string" != typeof t)) 967 for (var n in t) 968 i.d( 969 o, 970 n, 971 function (e) { 972 return t[e]; 973 }.bind(null, n) 974 ); 975 return o; 976 }), 977 (i.n = function (e) { 978 var t = 979 e && e.__esModule 980 ? function () { 981 return e.default; 982 } 983 : function () { 984 return e; 985 }; 986 return i.d(t, "a", t), t; 987 }), 988 (i.o = function (e, t) { 989 return Object.prototype.hasOwnProperty.call(e, t); 990 }), 991 (i.p = ""), 992 i((i.s = 11)); 993 }, 994 function (e, t) { 995 function i(e) { 996 if (n[e]) return n[e].exports; 997 var t = (n[e] = { i: e, l: !1, exports: {} });
998 return o[e].call(t.exports, t, t.exports, i), (t.l = !0), t.exports; 999 } 1000 var o, n; 1001 (n = {}), 1002 (i.m = o = [ 1003 , 1004 , 1005 function (e, t, o) { 1006 "use strict"; 1007 e.exports = function (e) { 1008 "complete" === document.readyState || "interactive" === document.readyState 1009 ? e.call() 1010 : document.attachEvent 1011 ? document.attachEvent("onreadystatechange", function () { 1012 "interactive" === document.readyState && e.call(); 1013 }) 1014 : document.addEventListener && document.addEventListener("DOMContentLoaded", e); 1015 }; 1016 }, 1017 , 1018 function (o, e, t) { 1019 "use strict"; 1020 (function (e) { 1021 var t; 1022 (t = "undefined" != typeof window ? window : void 0 !== e ? e : "undefined" != typeof self ? self : {}), (o.exports = t); 1023 }.call(this, t(5))); 1024 }, 1025 function (e, t, o) { 1026 "use strict"; 1027 var n, 1028 i = 1029 "function" == typeof Symbol && "symbol" == typeof Symbol.iterator 1030 ? function (e) { 1031 return typeof e; 1032 } 1033 : function (e) { 1034 return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; 1035 }; 1036 n = (function () { 1037 return this; 1038 })(); 1039 try { 1040 n = n || Function("return this")() || (0, eval)("this"); 1041 } catch (e) { 1042 "object" === ("undefined" == typeof window ? "undefined" : i(window)) && (n = window); 1043 } 1044 e.exports = n; 1045 }, 1046 function (e, t, o) { 1047 e.exports = o(7); 1048 }, 1049 function (e, t, o) { 1050 "use strict"; 1051 var n = s(o(8)), 1052 i = s(o(4)), 1053 a = s(o(2)), 1054 r = s(o(10)); 1055 function s(e) { 1056 return e && e.__esModule ? e : { default: e }; 1057 } 1058 (i.default.VideoWorker = i.default.VideoWorker || n.default), 1059 (0, r.default)(), 1060 (0, a.default)(function () { 1061 "undefined" != typeof jarallax && jarallax(document.querySelectorAll("[data-jarallax-video]")); 1062 }); 1063 }, 1064 function (e, t, o) { 1065 "use strict"; 1066 e.exports = o(9); 1067 }, 1068 function (e, t, o) { 1069 "use strict"; 1070 Object.defineProperty(t, "__esModule", { value: !0 }); 1071 var n = 1072 "function" == typeof Symbol && "symbol" == typeof Symbol.iterator 1073 ? function (e) { 1074 return typeof e; 1075 } 1076 : function (e) { 1077 return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; 1078 }, 1079 i = function (e, t, o) { 1080 return t && a(e.prototype, t), o && a(e, o), e; 1081 }; 1082 function a(e, t) { 1083 for (var o = 0; o < t.length; o++) { 1084 var n = t[o]; 1085 (n.enumerable = n.enumerable || !1), (n.configurable = !0), "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n); 1086 } 1087 } 1088 function r() { 1089 (this._done = []), (this._fail = []); 1090 } 1091 r.prototype = { 1092 execute: function (e, t) { 1093 var o = e.length; 1094 for (t = Array.prototype.slice.call(t); o--; ) e[o].apply(null, t); 1095 }, 1096 resolve: function () { 1097 this.execute(this._done, arguments); 1098 }, 1099 reject: function () { 1100 this.execute(this._fail, arguments); 1101 }, 1102 done: function (e) { 1103 this._done.push(e); 1104 }, 1105 fail: function (e) { 1106 this._fail.push(e); 1107 }, 1108 }; 1109 var s = 0, 1110 l = 0, 1111 c = 0, 1112 d = 0, 1113 u = 0, 1114 p = new r(), 1115 f = new r(), 1116 m = 1117 (i(y, [ 1118 { 1119 key: "extend", 1120 value: function (o) { 1121 var n = arguments; 1122 return ( 1123 (o = o || {}), 1124 Object.keys(arguments).forEac
1124h(function (t) { 1125 n[t] && 1126 Object.keys(n[t]).forEach(function (e) { 1127 o[e] = n[t][e]; 1128 }); 1129 }), 1130 o 1131 ); 1132 }, 1133 }, 1134 { 1135 key: "parseURL", 1136 value: function (e) { 1137 var t, 1138 o, 1139 n, 1140 i, 1141 a, 1142 r = !(!(t = e.match(/.*(?:youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=)([^#\&\?]*).*/)) || 11 !== t[1].length) && t[1], 1143 s = !(!(o = e.match(/https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\d+)\/video\/|video\/|)(\d+)(?:$|\/|\?)/)) || !o[3]) && o[3], 1144 l = 1145 ((n = e.split(/,(?=mp4\:|webm\:|ogv\:|ogg\:)/)), 1146 (i = {}), 1147 (a = 0), 1148 n.forEach(function (e) { 1149 var t = e.match(/^(mp4|webm|ogv|ogg)\:(.*)/); 1150 t && t[1] && t[2] && ((i["ogv" === t[1] ? "ogg" : t[1]] = t[2]), (a = 1)); 1151 }), 1152 !!a && i); 1153 return r ? ((this.type = "youtube"), r) : s ? ((this.type = "vimeo"), s) : !!l && ((this.type = "local"), l); 1154 }, 1155 }, 1156 { 1157 key: "isValid", 1158 value: function () { 1159 return !!this.videoID; 1160 }, 1161 }, 1162 { 1163 key: "on", 1164 value: function (e, t) { 1165 (this.userEventsList = this.userEventsList || []), (this.userEventsList[e] || (this.userEventsList[e] = [])).push(t); 1166 }, 1167 }, 1168 { 1169 key: "off", 1170 value: function (o, n) { 1171 var i = this; 1172 this.userEventsList && 1173 this.userEventsList[o] && 1174 (n 1175 ? this.userEventsList[o].forEach(function (e, t) { 1176 e === n && (i.userEventsList[o][t] = !1); 1177 }) 1178 : delete this.userEventsList[o]); 1179 }, 1180 }, 1181 { 1182 key: "fire", 1183 value: function (e) { 1184 var t = this, 1185 o = [].slice.call(arguments, 1); 1186 this.userEventsList && 1187 void 0 !== this.userEventsList[e] && 1188 this.userEventsList[e].forEach(function (e) { 1189 e && e.apply(t, o); 1190 }); 1191 }, 1192 }, 1193 { 1194 key: "play", 1195 value: function (e) { 1196 var t = this; 1197 t.player && 1198 ("youtube" === t.type && t.player.playVideo && (void 0 !== e && t.player.seekTo(e || 0), YT.PlayerState.PLAYING !== t.player.getPlayerState() && t.player.playVideo()), 1199 "vimeo" === t.type && 1200 (void 0 !== e && t.player.setCurrentTime(e), 1201 t.player.getPaused().then(function (e) { 1202 e && t.player.play(); 1203 })), 1204 "local" === t.type && (void 0 !== e && (t.player.currentTime = e), t.player.paused && t.player.play())); 1205 }, 1206 }, 1207 { 1208 key: "pause", 1209 value: function () { 1210 var t = this; 1211 t.player && 1212 ("youtube" === t.type && t.player.pauseVideo && YT.PlayerState.PLAYING === t.player.getPlayerState() && t.player.pauseVideo(), 1213 "vimeo" === t.type && 1214 t.player.getPaused().then(function (e) { 1215 e || t.player.pause(); 1216 }), 1217 "local" === t.type && (t.player.paused || t.player.pause())); 1218 }, 1219 }, 1220 { 1221 key: "mute", 1222 value: function () { 1223 var e = this; 1224 e.player && ("youtube" === e.type && e.player.mute && e.player.mute(), "vimeo" === e.type && e.player.setVolume && e.player.setVolume(0), "local" === e.type && (e.$video.muted = !0)); 1225 }, 1226 }, 1227 { 1228 key: "unmute", 1229 value: function () { 1230 var e = this; 1231 e.player && ("youtube" === e.type && e.player.mute && e.player.unMute(), "vimeo" === e.type && e.player.setVolume && e.player.setVolume(e.options.volume), "local" === e.type && (e.$video.muted = !1)); 1232 }, 1233 }, 1234 { 1235 key: "setVolume", 1236 value: function () { 1237 var e = 0 < arguments.length && void 0 !== arguments[0] && arguments[0], 1238 t = this; 1239 t.player && 1240 e && 1241 ("youtube" === t.type && t.player.setVolume && t.player.setVolume(e), "vimeo" === t.type && t.player.setVolume && t.player.setVolume(e), "local" === t.type && (t.$video.volume = e / 100)); 1242 }, 1243 }, 1244 { 1245 key: "getVolume", 1246 value: function (t) { 1247 var e = this; 1248 e.player 1249 ? ("youtube" === e.type && e.player.getVolume && t(e.player.getVolume()), 1250 "vimeo" === e.type && 1251 e.player.getVolume && 1252 e.player.getVolume().then(function (e) { 1253 t(e); 1254 }), 1255 "local" === e.type && t(100 * e.$video.volume)) 1256 : t(!1); 1257 }, 1258 }, 1259 { 1260 key: "getMuted", 1261 value: function (t) { 1262 var e = this; 1263 e.player 1264 ? ("youtube" === e.type && e.player.isMuted && t(e.player.isMuted()), 1265 "vimeo" === e.type && 1266 e.player.getVolume && 1267 e.player.getVolume().then(function (e) { 1268 t(!!e); 1269 }), 1270 "local" === e.type && t(e.$video.muted)) 1271 : t(null); 1272 }, 1273 }, 1274 { 1275 key: "getImageURL", 1276 value: function (t) { 1277 var o = this; 1278 if (o.videoImage) t(o.videoImage); 1279 else { 1280 if ("youtube" === o.type) { 1281 var e = ["maxresdefault", "sddefault", "hqdefault", "0"], 1282 n = 0, 1283 i = new Image(); 1284 (i.onload = function () { 1285 120 !== (this.naturalWi
1285dth || this.width) || n === e.length - 1 1286 ? ((o.videoImage = "https://img.youtube.com/vi/" + o.videoID + "/" + e[n] + ".jpg"), t(o.videoImage)) 1287 : (n++, (this.src = "https://img.youtube.com/vi/" + o.videoID + "/" + e[n] + ".jpg")); 1288 }), 1289 (i.src = "https://img.youtube.com/vi/" + o.videoID + "/" + e[n] + ".jpg"); 1290 } 1291 if ("vimeo" === o.type) { 1292 var a = new XMLHttpRequest(); 1293 a.open("GET", "https://vimeo.com/api/v2/video/" + o.videoID + ".json", !0), 1294 (a.onreadystatechange = function () { 1295 if (4 === this.readyState && 200 <= this.status && this.status < 400) { 1296 var e = JSON.parse(this.responseText); 1297 (o.videoImage = e[0].thumbnail_large), t(o.videoImage); 1298 } 1299 }), 1300 a.send(), 1301 (a = null); 1302 } 1303 } 1304 }, 1305 }, 1306 { 1307 key: "getIframe", 1308 value: function (e) { 1309 this.getVideo(e); 1310 }, 1311 }, 1312 { 1313 key: "getVideo", 1314 value: function (l) { 1315 var c = this; 1316 c.$video 1317 ? l(c.$video) 1318 : c.onAPIready(function () { 1319 var e = void 0; 1320 if ((c.$video || ((e = document.createElement("div")).style.display = "none"), "youtube" === c.type)) { 1321 (c.playerOptions = {}), 1322 (c.playerOptions.videoId = c.videoID), 1323 (c.playerOptions.playerVars = { autohide: 1, rel: 0, autoplay: 0, playsinline: 1 }), 1324 c.options.showContols || 1325 ((c.playerOptions.playerVars.iv_load_policy = 3), 1326 (c.playerOptions.playerVars.modestbranding = 1), 1327 (c.playerOptions.playerVars.controls = 0), 1328 (c.playerOptions.playerVars.showinfo = 0), 1329 (c.playerOptions.playerVars.disablekb = 1)); 1330 var t = void 0, 1331 o = void 0; 1332 c.playerOptions.events = { 1333 onReady: function (t) { 1334 c.options.mute ? t.target.mute() : c.options.volume && t.target.setVolume(c.options.volume), 1335 c.options.autoplay && c.play(c.options.startTime), 1336 c.fire("ready", t), 1337 c.options.loop && !c.options.endTime && (c.options.endTime = c.player.getDuration() - 0.1), 1338 setInterval(function () { 1339 c.getVolume(function (e) { 1340 c.options.volume !== e && ((c.options.volume = e), c.fire("volumechange", t)); 1341 }); 1342 }, 150); 1343 }, 1344 onStateChange: function (e) { 1345 c.options.loop && e.data === YT.PlayerState.ENDED && c.play(c.options.startTime), 1346 t || e.data !== YT.PlayerState.PLAYING || ((t = 1), c.fire("started", e)), 1347 e.data === YT.PlayerState.PLAYING && c.fire("play", e), 1348 e.data === YT.PlayerState.PAUSED && c.fire("pause", e),
1349 e.data === YT.PlayerState.ENDED && c.fire("ended", e), 1350 e.data === YT.PlayerState.PLAYING 1351 ? (o = setInterval(function () { 1352 c.fire("timeupdate", e), c.options.endTime && c.player.getCurrentTime() >= c.options.endTime && (c.options.loop ? c.play(c.options.startTime) : c.pause()); 1353 }, 150)) 1354 : clearInterval(o); 1355 }, 1356 }; 1357 var n = !c.$video; 1358 if (n) { 1359 var i = document.createElement("div"); 1360 i.setAttribute("id", c.playerID), e.appendChild(i), document.body.appendChild(e); 1361 } 1362 (c.player = c.player || new window.YT.Player(c.playerID, c.playerOptions)), 1363 n && 1364 ((c.$video = document.getElementById(c.playerID)), 1365 (c.videoWidth = parseInt(c.$video.getAttribute("width"), 10) || 1280), 1366 (c.videoHeight = parseInt(c.$video.getAttribute("height"), 10) || 720)); 1367 } 1368 if ("vimeo" === c.type) { 1369 if ( 1370 ((c.playerOptions = { id: c.videoID, autopause: 0, transparent: 0, autoplay: c.options.autoplay ? 1 : 0, loop: c.options.loop ? 1 : 0, muted: c.options.mute ? 1 : 0 }), 1371 c.options.volume && (c.playerOptions.volume = c.options.volume), 1372 c.options.showContols || ((c.playerOptions.badge = 0), (c.playerOptions.byline = 0), (c.playerOptions.portrait = 0), (c.playerOptions.title = 0)), 1373 !c.$video) 1374 ) { 1375 var a = ""; 1376 Object.keys(c.playerOptions).forEach(function (e) { 1377 "" !== a && (a += "&"), (a += e + "=" + encodeURIComponent(c.playerOptions[e])); 1378 }), 1379 (c.$video = document.createElement("iframe")), 1380 c.$video.setAttribute("id", c.playerID), 1381 c.$video.setAttribute("src", "https://player.vimeo.com/video/" + c.videoID + "?" + a), 1382 c.$video.setAttribute("frameborder", "0"), 1383 c.$video.setAttribute("mozallowfullscreen", ""), 1384 c.$video.setAttribute("allowfullscreen", ""), 1385 e.appendChild(c.$video), 1386 document.body.appendChild(e); 1387 } 1388 (c.player = c.player || new Vimeo.Player(c.$video, c.playerOptions)), 1389 c.options.startTime && c.options.autoplay && c.player.setCurrentTime(c.options.startTime), 1390 c.player.getVideoWidth().then(function (e) { 1391 c.videoWidth = e || 1280; 1392 }), 1393 c.player.getVideoHeight().then(function (e) { 1394 c.videoHeight = e || 720; 1395 }); 1396 var r = void 0; 1397 c.player.on("timeupdate", function (e) { 1398 r || (c.fire("started", e), (r = 1)), 1399 c.fire("timeupdate", e), 1400 c.options.endTime && c.options.endTime && e.seconds >= c.options.endTime && (c.options.loop ? c.play(c.options.startTime) : c.pause()); 1401 }), 1402 c.player.on("play", function (e) { 1403 c.fire("play", e), c.options.startTime && 0 === e.seconds && c.play(c.options.startTime); 1404 }), 1405 c.player.on("pause", function (e) { 1406 c.fire("pause", e); 1407 }), 1408 c.player.on("ended", function (e) { 1409 c.fire("ended", e); 1410 }), 1411 c.player.on("loaded", function (e) { 1412 c.fire("ready", e); 1413 }), 1414 c.player.on("volumechange", function (e) { 1415 c.fire("volumechange", e); 1416 }); 1417 } 1418 if ("local" === c.type) { 1419 c.$video || 1420 ((c.$video = document.createElement("video")), 1421 c.options.showContols && (c.$video.controls = !0), 1422 c.options.mute ? (c.$video.muted = !0) : c.$video.volume && (c.$video.volume = c.options.volume / 100), 1423 c.options.loop && (c.$video.loop = !0), 1424 c.$video.setAttribute("playsinline", ""), 1425 c.$video.setAttribute("webkit-playsinline", ""), 1426 c.$video.setAttribute("id", c.playerID), 1427 e.appendChild(c.$video), 1428 document.body.appendChild(e), 1429 Object.keys(c.videoID).forEac
1429h(function (e) { 1430 var t, o, n, i; 1431 (t = c.$video), (o = c.videoID[e]), (n = "video/" + e), ((i = document.createElement("source")).src = o), (i.type = n), t.appendChild(i); 1432 })), 1433 (c.player = c.player || c.$video); 1434 var s = void 0; 1435 c.player.addEventListener("playing", function (e) { 1436 s || c.fire("started", e), (s = 1); 1437 }), 1438 c.player.addEventListener("timeupdate", function (e) { 1439 c.fire("timeupdate", e), c.options.endTime && c.options.endTime && this.currentTime >= c.options.endTime && (c.options.loop ? c.play(c.options.startTime) : c.pause()); 1440 }), 1441 c.player.addEventListener("play", function (e) { 1442 c.fire("play", e); 1443 }), 1444 c.player.addEventListener("pause", function (e) { 1445 c.fire("pause", e); 1446 }), 1447 c.player.addEventListener("ended", function (e) { 1448 c.fire("ended", e); 1449 }), 1450 c.player.addEventListener("loadedmetadata", function () { 1451 (c.videoWidth = this.videoWidth || 1280), (c.videoHeight = this.videoHeight || 720), c.fire("ready"), c.options.autoplay && c.play(c.options.startTime); 1452 }), 1453 c.player.addEventListener("volumechange", function (e) { 1454 c.getVolume(function (e) { 1455 c.options.volume = e; 1456 }), 1457 c.fire("volumechange", e); 1458 }); 1459 } 1460 l(c.$video); 1461 }); 1462 }, 1463 }, 1464 { 1465 key: "init", 1466 value: function () { 1467 this.playerID = "VideoWorker-" + this.ID; 1468 }, 1469 }, 1470 { 1471 key: "loadAPI", 1472 value: function () { 1473 if (!l || !c) { 1474 var e = ""; 1475 if (("youtube" !== this.type || l || ((l = 1), (e = "https://www.youtube.com/iframe_api")), "vimeo" !== this.type || c || ((c = 1), (e = "https://player.vimeo.com/api/player.js")), e)) { 1476 var t = document.createElement("script"), 1477 o = document.getElementsByTagName("head")[0]; 1478 (t.src = e), o.appendChild(t), (t = o = null); 1479 } 1480 } 1481 }, 1482 }, 1483 { 1484 key: "onAPIready", 1485 value: function (e) { 1486 if ( 1487 ("youtube" === this.type && 1488 (("undefined" != typeof YT && 0 !== YT.loaded) || d 1489 ? "object" === ("undefined" == typeof YT ? "undefined" : n(YT)) && 1 === YT.loaded 1490 ? e() 1491 : p.done(function () { 1492 e(); 1493 }) 1494 : ((d = 1), 1495 (window.onYouTubeIframeAPIReady = function () { 1496 (window.onYouTubeIframeAPIReady = null), p.resolve("done"), e(); 1497 }))), 1498 "vimeo" === this.type) 1499 ) 1500 if ("undefined" != typeof Vimeo || u) 1501 "undefined" != typeof Vimeo 1502 ? e() 1503 : f.done(function () { 1504 e(); 1505 }); 1506 else { 1507 u = 1; 1508 var t = setInterval(function () { 1509 "undefined" != typeof Vimeo && (clearInterval(t), f.resolve("done"), e()); 1510 }, 20); 1511 } 1512 "local" === this.type && e(); 1513 }, 1514 }, 1515 ]), 1516 y); 1517 function y(e, t) { 1518 !(function (e, t) { 1519 if (!(e instanceof y)) throw new TypeError("Cannot call a class as a function"); 1520 })(this); 1521 var o = this; 1522 (o.url = e), 1523 (o.options_default = { autoplay: !1, loop: !1, mute: !1, volume: 100, showContols: !0, startTime: 0, endTime: 0 }), 1524 (o.options = o.extend({}, o.options_default, t)), 1525 (o.videoID = o.parseURL(e)), 1526 o.videoID && ((o.ID = s++), o.loadAPI(), o.init()); 1527 } 1528 t.default = m; 1529 }, 1530 function (e, t, o) { 1531 "use strict"; 1532 Object.defineProperty(t, "__esModule", { value: !0 }), 1533 (t.default = function () { 1534 var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : l.default.jarallax; 1535 if (void 0 !== e) { 1536 var t = e.constructor, 1537 n = t.prototype.init; 1538 t.prototype.init = function () { 1539 var o = this; 1540 n.apply(o), 1541 o.video && 1542 !o.options.disableVideo() && 1543 o.video.getVideo(function (e) { 1544 var t = e.parentNode; 1545 o.css(e, { position: o.image.position, top: "0px", left: "0px", right: "0px", bottom: "0px", width: "100%", height: "100%", maxWidth: "none", maxHeight: "none", margin: 0, zIndex: -1 }), 1546 (o.$video = e), 1547 o.image.$container.appendChild(e), 1548 t.parentNode.removeChild(t); 1549 }); 1550 }; 1551 var s = t.prototype.coverImage; 1552 t.prototype.coverImage = function () { 1553 var e = this, 1554 t = s.apply(e), 1555 o = !!e.image.$item && e.image.$item.nodeName; 1556 if (t && e.video && o && ("IFRAME" === o || "VIDEO" === o)) { 1557 var n = t.image.height, 1558 i = (n * e.image.width) / e.image.height, 1559 a = (t.container.width - i) / 2, 1560 r = t.image.marginTop; 1561 t.container.width > i && ((n = ((i = t.container.width) * e.image.height) / e.image.width), (a = 0), (r += (t.image.height - n) / 2)), 1562 "IFRAME" === o && ((n += 400), (r -= 200)), 1563 e.css(e.$video, { width: i + "px", marginLeft: a + "px", height: n + "px", marginTop: r + "px" }); 1564 } 1565 return t; 1566 }; 1567 var o = t.prototype.initImg; 1568 t.prototype.initImg = function () { 1569 var e = this, 1570 t = o.apply(e); 1571 return e.options.videoSrc || (e.options.videoSrc = e.$item.getAttribute("data-jarallax-video") || null), e.options.videoSrc ? ((e.defaultInitImgResult = t), !0) : t; 1572 }; 1573 var i = t.prototype.canInitParallax; 1574 t.prototype.canInitParallax = function () { 1575 var o = this, 1576 e = i.apply(o); 1577 if (!o.options.videoSrc) return e; 1578 var t = new r.default(o.options.videoSrc, { 1579 autoplay: !0, 1580 loop: o.options.videoLoop, 1581 showContols: !1, 1582 startTime: o.options.videoStartTime || 0, 1583 endTime: o.options.videoEndTime || 0, 1584 mute: o.options.videoVolume ? 0 : 1, 1585 volume: o.options.videoVolume || 0, 1586 }); 1587 if (t.isValid()) 1588 if (e) { 1589 if ( 1590 (t.on("ready", function () { 1591 if (o.options.videoPlayOnlyVisible) { 1592 var e = o.onScroll; 1593 o.onScroll = function () { 1594 e.apply(o), (!o.options.videoLoop && (o.options.videoLoop || o.videoEnded)) || (o.isVisible() ? t.play() : t.pause()); 1595 }; 1596 } else t.play(); 1597 }), 1598 t.on("started", function () { 1599 (o.image.$default_item = o.image.$item), 1600 (o.image.$item = o.$video), 1601 (o.image.width = o.video.videoWidth || 1280), 1602 (o.image.height = o.video.videoHeight || 720), 1603 o.coverImage(), 1604 o.clipContainer(), 1605 o.onScroll(), 1606 o.image.$default_item && (o.image.$default_item.style.display = "none"); 1607 }), 1608 t.on("ended", function () { 1609 (o.videoEnded = !0), 1610 o.options.videoLoop || (o.image.$default_item && ((o.image.$item = o.image.$default_item), (o.image.$item.style.display = "block"), o.coverImage(), o.clipContainer(), o.onScroll())); 1611 }), 1612 (o.video = t), 1613 !o.defaultInitImgResult) 1614 ) 1615 return "local" !== t.type 1616 ? (t.getImageURL(function (e) { 1617 (o.image.src = e), o.init(); 1618 }), 1619 !1) 1620 : ((o.image.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"), !0); 1621 } else 1622 o.defaultInitImgResult || 1623 t.getImageURL(function (e) { 1624 var t = o.$item.getAttribute("style"); 1625 t && o.$item.setAttribute("data-jarallax-original-styles", t), o.css(o.$item, { "background-image": 'url("' + e + '")', "background-position": "center", "background-size": "cover" }); 1626 }); 1627 return e; 1628 }; 1629 var a = t.prototype.destroy; 1630 t.prototype.destroy = function () { 1631 var e = this; 1632 e.image.$default_item && ((e.image.$item = e.image.$default_item), delete e.image.$default_item), a.apply(e); 1633 }; 1634 } 1635 }); 1636 var r = n(o(8)), 1637 l = n(o(4)); 1638 function n(e) {
1639 return e && e.__esModule ? e : { default: e }; 1640 } 1641 }, 1642 ]), 1643 (i.c = n), 1644 (i.d = function (e, t, o) { 1645 i.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: o }); 1646 }), 1647 (i.r = function (e) { 1648 "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }); 1649 }), 1650 (i.t = function (t, e) { 1651 if ((1 & e && (t = i(t)), 8 & e)) return t; 1652 if (4 & e && "object" == typeof t && t && t.__esModule) return t; 1653 var o = Object.create(null); 1654 if ((i.r(o), Object.defineProperty(o, "default", { enumerable: !0, value: t }), 2 & e && "string" != typeof t)) 1655 for (var n in t) 1656 i.d( 1657 o, 1658 n, 1659 function (e) { 1660 return t[e]; 1661 }.bind(null, n) 1662 ); 1663 return o; 1664 }), 1665 (i.n = function (e) { 1666 var t = 1667 e && e.__esModule 1668 ? function () { 1669 return e.default; 1670 } 1671 : function () { 1672 return e; 1673 }; 1674 return i.d(t, "a", t), t; 1675 }), 1676 (i.o = function (e, t) { 1677 return Object.prototype.hasOwnProperty.call(e, t); 1678 }), 1679 (i.p = ""), 1680 i((i.s = 6)); 1681 }, 1682 function (e, t) { 1683 var o; 1684 (o = jQuery), 1685 page.registerVendor("Lity"), 1686 (page.initLity = function () { 1687 o(document).on("click", '[data-provide~="lightbox"]', lity); 1688 }); 1689 }, 1690 function (e, t) { 1691 var n; 1692 (n = jQuery), 1693 page.registerVendor("Slick"), 1694 (page.initSlick = function (e) { 1695 var t = '[data-provide~="slider"]'; 1696 void 0 !== e && (t = e), 1697 n(t).each(function () { 1698 var e = n(this), 1699 t = { speed: 1e3, arrows: !1, centerPadding: "0" }; 1700 if (void 0 !== (t = n.extend(t, page.getDataOptions(e))).slidesToShow || void 0 !== t.centerMode) { 1701 var o = 1; 1702 void 0 !== t.slidesToScroll && 1 < t.slidesToScroll && (o = 2), 1703 (t.responsive = [ 1704 { breakpoint: 768, settings: { slidesToShow: 2, slidesToScroll: o } }, 1705 { breakpoint: 576, settings: { slidesToShow: 1, slidesToScroll: 1, centerPadding: "0px" } }, 1706 ]); 1707 } 1708 e.slick(t); 1709 }); 1710 }); 1711 }, 1712 function (e, t) { 1713 var r; 1714 (r = jQuery), 1715 page.registerVendor("Shuffle"), 1716 (page.initShuffle = function () { 1717 if (void 0 !== window.Shuffle && 0 !== r('[data-provide="shuffle"]').length) { 1718 var a = window.Shuffle; 1719 r('[data-provide="shuffle"]').each(function () { 1720 var e = r(this).find('[data-shuffle="list"]'), 1721 t = r(this).find('[data-shuffle="filter"]'), 1722 o = r(this).find('[data-shuffle="search"]'), 1723 i = new a(e, { itemSelector: '[data-shuffle="item"]', sizer: '[data-shuffle="sizer"]', delimeter: ",", speed: 500 }); 1724 t.length && 1725 r(t) 1726 .find('[data-shuffle="button"]') 1727 .each(function () { 1728 r(this).on("click", function () { 1729 var e, 1730 t = r(this), 1731 o = t.hasClass("active"), 1732 n = t.data("group"); 1733 r(this).closest('[data-shuffle="filter"]').find('[data-shuffle="button"].active').removeClass("active"), (e = o ? (t.removeClass("active"), a.ALL_ITEMS) : (t.addClass("active"), n)), i.filter(e); 1734 }); 1735 }), 1736 o.length && 1737 o.on("keyup", function () { 1738 var o = r(this).val().toLowerCase(); 1739 i.filter(function (e, t) { 1740 return -1 !== e.textContent.toLowerCase().trim().indexOf(o); 1741 }); 1742 }), 1743 r(this).imagesLoaded(function () { 1744 i.layout(); 1745 }); 1746 }); 1747 } 1748 }); 1749 }, 1750 function (e, t) { 1751 var o; 1752 (o = jQuery), 1753 page.registerVendor("Typed"), 1754 o(".thesaasx-typing-text-format").each(function () { 1755 var e = o(this).text(); 1756 o(this).attr("data-typing", e), o(this).text(""); 1757 }), 1758 (page.initTyped = function () { 1759 o("[data-typing]").each(function () { 1760 var e = { strings: o(this).data("typing").split(","), typeSpeed: 50, backSpeed: 30, backDelay: 800, loop: !0 }; 1761 (e = o.extend(e, page.getDataOptions(o(this)))), new Typed(o(this)[0], e); 1762 }); 1763 }); 1764 }, 1765 function (e, t, o) {
1766 o(18), o(19), o(20), o(21), o(22), o(23), o(24), o(25), o(26), o(27), o(28), o(29), o(30), o(31), o(32), o(33), o(34); 1767 }, 1768 function (e, t) { 1769 var s; 1770 (s = jQuery), 1771 (page.config = function (e) { 1772 if ("string" == typeof e) return page.defaults[e]; 1773 var t, o, n, i, a; 1774 if ( 1775 (s.extend(!0, page.defaults, e), 1776 page.defaults.smoothScroll || SmoothScroll.destroy(), 1777 s('[data-provide~="map"]').length && void 0 === window["google.maps.Map"] && s.getScript("https://maps.googleapis.com/maps/api/js?key=" + page.defaults.googleApiKey + "&callback=page.initMap"), 1778 page.defaults.googleAnalyticsId && 1779 ((t = window), 1780 (o = document), 1781 (n = "ga"), 1782 (t.GoogleAnalyticsObject = n), 1783 (t.ga = 1784 t.ga || 1785 function () { 1786 (t.ga.q = t.ga.q || []).push(arguments); 1787 }), 1788 (t.ga.l = 1 * new Date()), 1789 (i = o.createElement("script")), 1790 (a = o.getElementsByTagName("script")[0]), 1791 (i.async = 1), 1792 (i.src = "https://www.google-analytics.com/analytics.js"), 1793 a.parentNode.insertBefore(i, a), 1794 ga("create", page.defaults.googleAnalyticsId, "auto"), 1795 ga("send", "pageview")), 1796 s('[data-provide~="recaptcha"]').length && void 0 === window.grecaptcha) 1797 ) { 1798 var r = "https://www.google.com/recaptcha/api.js?onload=recaptchaLoadCallback"; 1799 "" != page.defaults.reCaptchaLanguage && (r += "&hl=" + page.defaults.reCaptchaLanguage), s.getScript(r); 1800 } 1801 "" != page.defaults.reCaptchaV3SiteKey && s.getScript("https://www.google.com/recaptcha/api.js?onload=recaptcha3LoadCallback&render=" + page.defaults.reCaptchaV3SiteKey), page.init(); 1802 }); 1803 }, 1804 function (e, t) { 1805 var n; 1806 (n = jQuery), 1807 (page.initBind = function () { 1808 n("[data-bind-radio]").each(function () { 1809 var e = n(this), 1810 o = e.data("bind-radio"), 1811 t = n('input[name="' + o + '"]:checked').val(); 1812 e.text(e.dataAttr(t, e.text())), 1813 n('input[name="' + o + '"]').on("change", function () { 1814 var t = n('input[name="' + o + '"]:checked').val(); 1815 n('[data-bind-radio="' + o + '"]').each(function () { 1816 var e = n(this); 1817 e.text(e.dataAttr(t, e.text())); 1818 }); 1819 }); 1820 }), 1821 n("[data-bind-href]").each(function () { 1822 var e = n(this), 1823 o = e.data("bind-href"), 1824 t = n('input[name="' + o + '"]:checked').val(); 1825 e.attr("href", e.dataAttr(t)), 1826 n('input[name="' + o + '"]').on("change", function () { 1827 var t = n('input[name="' + o + '"]:checked').val(); 1828 n('[data-bind-href="' + o + '"]').each(function () { 1829 var e = n(this); 1830 e.attr("href", e.dataAttr(t)); 1831 }); 1832 }); 1833 }); 1834 }); 1835 }, 1836 function (e, t) { 1837 var o; 1838 (o = jQuery), 1839 (page.initDrawer = function () { 1840 o(document).on("click", ".drawer-toggler, .drawer-close, .backdrop-drawer", function () { 1841 o("body").toggleClass("drawer-open"); 1842 }); 1843 }); 1844 }, 1845 function (e, t) { 1846 var n; 1847 (n = jQuery), 1848 (page.initFont = function () { 1849 var o = []; 1850 n("[data-font]").each(function () { 1851 var e = n(this), 1852 t = e.data("font"); 1853 (part = t.split(":")), o.push(t), e.css({ "font-family": part[0], "font-weight": part[1] }); 1854 }), 1855 0 < o.length && n("head").append("<link href='https://fonts.googleapis.com/css?family=" + o.join("|") + "' rel='stylesheet'>"); 1856 }); 1857 }, 1858 function (e, t) { 1859 var o; 1860 (o = jQuery), 1861 (page.initForm = function () { 1862 o(document).on("focusin", ".input-group", function () { 1863 o(this).addClass("focus"); 1864 }), 1865 o(document).on("focusout", ".input-group", function () { 1866 o(this).removeClass("focus"); 1867 }), 1868 o(document).on("click", ".switch", function () { 1869 var e = o(this).children(".switch-input").not(":disabled"); 1870 e.prop("checked", !e.prop("checked")).trigger("change"); 1871 }), 1872 o(document).on("click", ".file-browser", function () { 1873 var e = o(this), 1874 t = e.closest(".file-group").find('[type="file"]'); 1875 e.hasClass("form-control") 1876 ? setTimeout(function () { 1877 t.trigger("click"); 1878 }, 300) 1879 : t.trigger("click"); 1880 }), 1881 o(document).on("change", '.file-group [type="file"]', function () { 1882 var e = o(this), 1883 t = e.val().split("\\").pop(); 1884 e.closest(".file-group").find(".file-value").val(t).text(t).focus(); 1885 }); 1886 }); 1887 }, 1888 function (e, t) { 1889 var r; 1890 (r = jQuery), 1891 (page.initMailer = function () { 1892 var a = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 1893 r('[data-form="mailer"]').each(function () { 1894 var o = r(this), 1895 e = o.find('[name="email"]'), 1896 t = o.find('[name="message"]'), 1897 n = o.dataAttr("on-success", null), 1898 i = o.dataAttr("on-error", null); 1899 o.on("submit", function () { 1900 return ( 1901 o.children(".alert-danger").remove(), 1902 e.length && (e.val().length < 1 || !a.test(e.val())) 1903 ? e.addClass("is-invalid") 1904 : t.length && t.val().length < 1 1905 ? t.addClass("is-invalid") 1906 : r.ajax({ type: "POST", url: o.attr("action"), data: o.serializeArray() }).done(function (e) { 1907 var t = r.parseJSON(e); 1908 "success" == t.status 1909 ? (o.find(".alert-success").fadeIn(1e3), o.find(":input").val(""), null !== n && window[n]()) 1910 : (o.prepend('<div class="alert alert-danger">' + t.message + "</div>"), console.log(t.reason), null !== i && window[i](t.reason)); 1911 }), 1912 !1 1913 ); 1914 }), 1915 e.on("focus", function () { 1916 r(this).removeClass("is-invalid"); 1917 }), 1918 t.on("focus", function () { 1919 r(this).removeClass("is-invalid"); 1920 }); 1921 }); 1922 }); 1923 }, 1924 function (e, t) { 1925 var l; 1926 (l = jQuery), 1927 (page.initMap = function (e) { 1928 var t = '[data-provide~="map"]'; 1929 void 0 !== e && (t = e), 1930 l(t).each(function () { 1931 var e = l(this), 1932 t = { lat: "", lng: "", zoom: 13, marker: !1, markerLat: "", markerLng: "", markerIcon: "", markers: "", style: "", removeControls: !1 }; 1933 t = l.extend(t, page.getDataOptions(e)); 1934 var o = new google.maps.Map(e[0], { center: { lat: Number(t.lat), lng: Number(t.lng) }, zoom: Number(t.zoom), disableDefaultUI: t.removeControls }); 1935 if ("" != t.markers) { 1936 var n, 1937 i = JSON.parse("[" + t.markers.replace(/'/g, '"') + "]"), 1938 a = new google.maps.InfoWindow(); 1939 for (n = 0; n < i.length; n++) { 1940 var r = t.markerIcon; 1941 3 < i[n].length && "" != i[n][3] && (r = i[n][3]), 1942 (s = new google.maps.Marker({ position: { lat: Number(i[n][0]), lng: Number(i[n][1]) }, map: o, animation: google.maps.Animation.DROP, icon: r })), 1943 2 < i[n].length && 1944 "" != i[n][2] && 1945 google.maps.event.addListener( 1946 s, 1947 "click", 1948 (function (e, t) { 1949 return function () { 1950 a.setContent(i[t][2]), a.open(o, e); 1951 }; 1952 })(s, n) 1953 ); 1954 } 1955 } else if (1 == t.marker) { 1956 var s = new google.maps.Marker({ position: { lat: Number(t.lat), lng: Number(t.lng) }, map: o, animation: google.maps.Animation.DROP, icon: t.markerIcon }); 1957 e.is("[data-info]") && 1958 ((a = new google.maps.InfoWindow({ content: e.dataAttr("info", "") })), 1959 s.addListener("click", function () { 1960 a.open(o, s); 1961 })); 1962 } 1963 switch (t.style) { 1964 case "light": 1965 o.set("styles", [ 1966 { featureType: "water", elementType: "geometry", stylers: [{ color: "#e9e9e9" }, { lightness: 17 }] }, 1967 { featureType: "landscape", elementType: "geometry", stylers: [{ color: "#f5f5f5" }, { lightness: 20 }] }, 1968 { featureType: "road.highway", elementType: "geometry.fill", stylers: [{ color: "#ffffff" }, { lightness: 17 }] }, 1969 { featureType: "road.highway", elementType: "geometry.stroke", stylers: [{ color: "#ffffff" }, { lightness: 29 }, { weight: 0.2 }] }, 1970 { featureType: "road.arterial", elementType: "geometry", stylers: [{ color: "#ffffff" }, { lightness: 18 }] }, 1971 { featureType: "road.local", elementType: "geometry", stylers: [{ color: "#ffffff" }, { lightness: 16 }] }, 1972 { featureType: "poi", elementType: "geometry", stylers: [{ color: "#f5f5f5" }, { lightness: 21 }] }, 1973 { featureType: "poi.park", elementType: "geometry", stylers: [{ color: "#dedede" }, { lightness: 21 }] }, 1974 { elementType: "labels.text.stroke", stylers: [{ visibility: "on" }, { color: "#ffffff" }, { lightness: 16 }] }, 1975 { elementType: "labels.text.fill", stylers: [{ saturation: 36 }, { color: "#333333" }, { lightness: 40 }] }, 1976 { elementType: "labels.icon", stylers: [{ visibility: "off" }] }, 1977 { featureType: "transit", elementType: "geometry", stylers: [{ color: "#f2f2f2" }, { lightness: 19 }] }, 1978 { featureType: "administrative", elementType: "geometry.fill", stylers: [{ color: "#fefefe" }, { lightness: 20 }] }, 1979 { featureType: "administrative", elementType: "geometry.stroke", stylers: [{ color: "#fefefe" }, { lightness: 17 }, { weight: 1.2 }] }, 1980 ]); 1981 break; 1982 case "dark": 1983 o.set("styles", [ 1984 { featureType: "all", elementType: "labels.text.fill", stylers: [{ saturation: 36 }, { color: "#000000" }, { lightness: 40 }] }, 1985 { featureType: "all", elementType: "labels.text.stroke", stylers: [{ visibility: "on" }, { color: "#000000" }, { lightness: 16 }] }, 1986 { featureType: "all", elementType: "labels.icon", stylers: [{ visibility: "off" }] }, 1987 { featureType: "administrative", elementType: "geometry.fill", stylers: [{ color: "#000000" }, { lightness: 20 }] }, 1988 { featureType: "administrative", elementType: "geometry.stroke", stylers: [{ color: "#000000" }, { lightness: 17 }, { weight: 1.2 }] }, 1989 { featureType: "landscape", elementType: "geometry", stylers: [{ color: "#000000" }, { lightness: 20 }] }, 1990 { featureType: "poi", elementType: "geometry", stylers: [{ color: "#000000" }, { lightness: 21 }] }, 1991 { featureType: "road.highway", elementType: "geometry.fill", stylers: [{ color: "#000000" }, { lightness: 17 }] }, 1992 { featureType: "road.highway", elementType: "geometry.stroke", stylers: [{ color: "#000000" }, { lightness: 29 }, { weight: 0.2 }] }, 1993 { featureType: "road.arterial", elementType: "geometry", stylers: [{ color: "#000000" }, { lightness: 18 }] }, 1994 { featureType: "road.local", elementType: "geometry", stylers: [{ color: "#000000" }, { lightness: 16 }] }, 1995 { featureType: "transit", elementType: "geometry", stylers: [{ color: "#000000" }, { lightness: 19 }] }, 1996 { featureType: "water", elementType: "geometry", stylers: [{ color: "#000000" }, { lightness: 17 }] }, 1997 ]); 1998 break; 1999 default: 2000 Array.isArray(t.style) && o.set("styles", t.style); 2001 } 2002 }); 2003 }); 2004 }, 2005 function (e, t) { 2006 var n; 2007 (n = jQuery), 2008 (page.initModal = function () { 2009 page.body, 2010 n(".modal[data-autoshow]").each(function () { 2011 var e = n(this), 2012 t = parseInt(e.dataAttr("autoshow")); 2013 setTimeout(function () { 2014 e.modal("show"); 2015 }, t); 2016 }), 2017 n(".modal[data-exitshow]").each(function () { 2018 var e = n(this), 2019 t = parseInt(e.dataAttr("delay", 0)), 2020 o = e.dataAttr("exitshow"); 2021 n(o).length && 2022 n(document).one("mouseleave", o, function () { 2023 setTimeout(function () { 2024 e.modal("show"); 2025 }, t); 2026 }); 2027 }); 2028 }); 2029 }, 2030 function (e, t) { 2031 var o; 2032 (o = jQuery), 2033 (page.initNavbar = function () { 2034
2034 o(document).on("click", ".navbar-toggler", function () { 2035 page.navbarToggle(); 2036 }), 2037 o(document).on("click", ".backdrop-navbar", function () { 2038 page.navbarClose(); 2039 }), 2040 o(document).on("click", ".navbar-open .nav-navbar > .nav-item > .nav-link", function () { 2041 o(this).closest(".nav-item").siblings(".nav-item").find("> .nav:visible").slideUp(333, "linear"), o(this).next(".nav").slideToggle(333, "linear"); 2042 }); 2043 }), 2044 (page.navbarToggle = function () { 2045 var e = page.body, 2046 t = page.navbar; 2047 e.toggleClass("navbar-open"), e.hasClass("navbar-open") && t.prepend('<div class="backdrop backdrop-navbar"></div>'); 2048 }), 2049 (page.navbarClose = function () { 2050 page.body.removeClass("navbar-open"), o(".backdrop-navbar").remove(); 2051 }); 2052 }, 2053 function (e, t) { 2054 var o; 2055 (o = jQuery), 2056 (page.initOffcanvas = function () { 2057 o(document).on("click", '[data-toggle="offcanvas"]', function () { 2058 var e = o(this).data("target"), 2059 t = o(e); 2060 void 0 !== e && 2061 t.length && 2062 (t.hasClass("show") 2063 ? (o(".backdrop-offcanvas").remove(), t.removeClass("show")) 2064 : (t.before('<div class="backdrop backdrop-offcanvas"></div>'), 2065 t.addClass("show"), 2066 setTimeout(function () { 2067 t.find("input:text:visible:first").focus(); 2068 }, 300))); 2069 }), 2070 o(document).on("click", ".offcanvas [data-dismiss], .backdrop-offcanvas", function () { 2071 o(".offcanvas.show").removeClass("show"), o(".backdrop-offcanvas").remove(); 2072 }), 2073 o(document).on("keyup", function (e) { 2074 o(".offcanvas.show").length && 27 == e.keyCode && (o(".offcanvas.show").removeClass("show"), o(".backdrop-offcanvas").remove()); 2075 }); 2076 }); 2077 }, 2078 function (e, t) { 2079 var i; 2080 (i = jQuery), 2081 (page.initPopup = function () { 2082 page.body, 2083 i(document).on("click", '[data-toggle="popup"]', function () { 2084 var e = i(this).data("target"), 2085 t = i(e); 2086 void 0 !== e && t.length && (t.hasClass("show") ? t.removeClass("show") : n(t)); 2087 }), 2088 i(document).on("click", ".popup [data-dismiss]", function () { 2089 i(this).closest(".popup").removeClass("show"); 2090 }), 2091 i(".popup[data-autoshow]").each(function () { 2092 var e = i(this), 2093 t = parseInt(e.dataAttr("autoshow")); 2094 setTimeout(function () { 2095 n(e); 2096 }, t); 2097 }), 2098 i(".popup[data-exitshow]").each(function () { 2099 var e = i(this), 2100 t = parseInt(e.dataAttr("delay", 0)), 2101 o = e.dataAttr("exitshow"); 2102 i(o).length && 2103 i(document).one("mouseleave", o, function () { 2104 setTimeout(function () { 2105 n(e); 2106 }, t); 2107 }); 2108 }); 2109 var n = function (e) { 2110 var t = parseInt(e.dataAttr("autohide", 0)), 2111 o = e.dataAttr("once", ""); 2112 if ("" != o) { 2113 if ("displayed" == localStorage.getItem(o)) return; 2114 var n = e.find('[data-once-button="true"]'); 2115 n.length 2116 ? n.on("click", function () { 2117 localStorage.setItem(o, "displayed"); 2118 }) 2119 : localStorage.setItem(o, "displayed"); 2120 } 2121 e.addClass("show"), 2122 setTimeout(function () { 2123 e.find("input:text:visible:first").focus(); 2124 }, 300), 2125 0 < t && 2126 setTimeout(function () { 2127 e.removeClass("show"); 2128 }, t); 2129 }; 2130 }); 2131 }, 2132 function (e, t) { 2133 var o; 2134 (o = jQuery), 2135 (page.initRecaptcha = function () { 2136 o('[data-provide~="recaptcha"]').each(function () { 2137 var e = { sitekey: page.defaults.reCaptchaSiteKey }; 2138 (e = o.extend(e, page.getDataOptions(o(this)))).enable && 2139 ((e.callback = function () { 2140 o(e.enable).removeAttr("disabled"); 2141 }), 2142 (e["expired-callback"] = function () { 2143 o(e.enable).attr("disabled", "true"); 2144 })), 2145 grecaptcha.render(o(this)[0], e); 2146 }); 2147 }), 2148 (page.initRecaptcha3 = function () { 2149 grecaptcha.ready(function () { 2150 grecaptcha.execute(page.defaults.reCaptchaV3SiteKey, { action: "contact" }).then(function (e) { 2151 o('[data-form="mailer"]').each(function () { 2152 o(this).prepend('<input type="hidden" name="g-recaptcha-v3-token" value="' + e + '">'); 2153 }); 2154 }); 2155 }); 2156 }), 2157 (window.recaptchaLoadCallback = function () { 2158 page.initRecaptcha(); 2159 }), 2160 (window.recaptcha3LoadCallback = function () { 2161 page.initRecaptcha3(); 2162 }); 2163 }, 2164 function (e, t) { 2165 !(function (a) { 2166 var r = page.body, 2167 i = page.footer, 2168 o = page.header.length, 2169 s = page.navbar.outerHeight(),
2170 e = page.header.innerHeight(), 2171 l = 0, 2172 t = 0; 2173 page.initScroll = function () { 2174 a('[data-navbar="fixed"], [data-navbar="sticky"], [data-navbar="smart"]').length && (l = s), 2175 a(document).on("click", "a[href='#']", function () { 2176 return !1; 2177 }), 2178 a(document).on("click", ".scroll-top", function () { 2179 return d(0), !1; 2180 }), 2181 a(document).on("click", "a[href^='#']", function () { 2182 if (!(a(this).attr("href").length < 2 || a(this)[0].hasAttribute("data-toggle"))) { 2183 var e = a(a(this).attr("href")); 2184 if (e.length) { 2185 var t = e.offset().top; 2186 return a(window).scrollTop() < t && a('.navbar[data-navbar="smart"]').length ? d(t) : d(t - l), r.hasClass("navbar-open") && page.navbarClose(), !1; 2187 } 2188 } 2189 }); 2190 var e = location.hash.replace("#", ""); 2191 if ("" != e) { 2192 var t = a("#" + e); 2193 0 < t.length && d(t.offset().top - l); 2194 } 2195 if ( 2196 (c(), 2197 a(window).on("scroll", function () { 2198 c(); 2199 }), 2200 a(".nav-page").length) 2201 ) { 2202 var o = "left", 2203 n = "0, 12"; 2204 a(".nav-page.nav-page-left").length && ((o = "right"), (n = "0, 12")); 2205 var i = parseInt(a(".nav-page").dataAttr("spy-offset", 200)); 2206 a(".nav-page .nav-link").tooltip({ container: "body", placement: o, offset: n, trigger: "hover" }), a("body").scrollspy({ target: ".nav-page", offset: i }); 2207 } 2208 a(".sidebar-sticky").each(function () { 2209 var e = a(this), 2210 t = e.closest("div").width(); 2211 e.css("width", t), r.width() / t < 1.8 && e.addClass("is-mobile-wide"); 2212 }); 2213 }; 2214 var c = function () { 2215 var n = a(window).scrollTop(); 2216 1 < n ? r.addClass("body-scrolled") : r.removeClass("body-scrolled"), 2217 s < n ? r.addClass("navbar-scrolled") : r.removeClass("navbar-scrolled"), 2218 e - s - 1 < n ? r.addClass("header-scrolled") : r.removeClass("header-scrolled"), 2219 a('[data-sticky="true"]').each(function () { 2220 var e = a(this), 2221 t = e.offset().top; 2222 e.hasDataAttr("original-top") || e.attr("data-original-top", t); 2223 var o = e.dataAttr("original-top"); 2224 i.offset().top, e.outerHeight(); 2225 o < n ? e.addClass("stick") : e.removeClass("stick"); 2226 }), 2227 a('[data-navbar="smart"]').each(function () { 2228 var e = a(this); 2229 n < t ? u(e) : e.removeClass("stick"); 2230 }), 2231 a('[data-navbar="sticky"]').each(function () { 2232 var e = a(this); 2233 u(e); 2234 }), 2235 a('[data-navbar="fixed"]').each(function () { 2236 var e = a(this); 2237 r.hasClass("body-scrolled") ? e.addClass("stick") : e.removeClass("stick"); 2238 }), 2239 a(".sidebar-sticky").each(function () { 2240 var e = a(this); 2241 u(e); 2242 }), 2243 a(".header.fadeout").css("opacity", 1 - n - 200 / window.innerHeight), 2244 (t = n); 2245 }, 2246 d = function (e) { 2247 a("html, body").animate({ scrollTop: e }, 600); 2248 }, 2249 u = function (e) { 2250 var t = "navbar-scrolled"; 2251 o && (t = "header-scrolled"), r.hasClass(t) ? e.addClass("stick") : e.removeClass("stick"); 2252 }; 2253 })(jQuery); 2254 }, 2255 function (e, t) { 2256 jQuery, (page.initSection = function () {}); 2257 }, 2258 function (e, t) { 2259 var n; 2260 (n = jQuery), 2261 (page.initSidebar = function () { 2262 var e = page.body; 2263 n(document).on("click", ".sidebar-toggler, .sidebar-close, .backdrop-sidebar", function () { 2264 e.toggleClass("sidebar-open"), e.hasClass("sidebar-open") ? e.prepend('<div class="backdrop backdrop-sidebar"></div>') : n(".backdrop-sidebar").remove(); 2265 }); 2266 var t = n(".nav-sidebar .nav-item.show"); 2267 t.find("> .nav-link .nav-angle").addClass("rotate"), t.find("> .nav").css("display", "block"), t.removeClass("show"); 2268 var o = !1; 2269 "true" == n(".nav-sidebar").dataAttr("accordion", "false") && (o = !0), 2270 n(document).on("click", ".nav-sidebar > .nav-item > .nav-link", function () { 2271 var e = n(this); 2272 e.next(".nav").slideToggle(),
2273 o && e.closest(".nav-item").siblings(".nav-item").children(".nav:visible").slideUp().prev(".nav-link").children(".nav-angle").removeClass("rotate"), 2274 e.children(".nav-angle").toggleClass("rotate"); 2275 }), 2276 n(".sidebar-body").each(function (e) { 2277 new PerfectScrollbar(n(this)[0], { wheelSpeed: 0.4, minScrollbarLength: 20 }); 2278 }); 2279 }); 2280 }, 2281 function (e, t) { 2282 var o; 2283 (o = jQuery), 2284 (page.initVideo = function () { 2285 o(document).on("click", ".video-wrapper .btn", function () { 2286 var e = o(this).closest(".video-wrapper"); 2287 if ((e.addClass("reveal"), e.find("video").length && e.find("video").get(0).play(), e.find("iframe").length)) { 2288 var t = e.find("iframe"); 2289 0 < t.attr("src").indexOf("?") ? (t.get(0).src += "&autoplay=1") : (t.get(0).src += "?autoplay=1"); 2290 } 2291 }), 2292 objectFitPolyfill(o(".bg-video")); 2293 }); 2294 }, 2295 function (e, t) { 2296 var i; 2297 (i = jQuery), 2298 (page.getDataOptions = function (e, o) { 2299 var n = {}; 2300 return ( 2301 i.each(i(e).data(), function (e, t) { 2302 if ("provide" != (e = page.dataToOption(e))) { 2303 if (null != o) 2304 switch (o[e]) { 2305 case "bool": 2306 t = Boolean(t); 2307 break; 2308 case "num": 2309 t = Number(t); 2310 break; 2311 case "array": 2312 t = t.split(","); 2313 } 2314 n[e] = t; 2315 } 2316 }), 2317 n 2318 ); 2319 }), 2320 (page.getTarget = function (e) { 2321 var t; 2322 return "next" == (t = e.hasDataAttr("target") ? e.data("target") : e.attr("href")) ? (t = i(e).next()) : "prev" == t && (t = i(e).prev()), null != t && t; 2323 }), 2324 (page.getURL = function (e) { 2325 return e.hasDataAttr("url") ? e.data("url") : e.attr("href"); 2326 }), 2327 (page.optionToData = function (e) { 2328 return e.replace(/([A-Z])/g, "-$1").toLowerCase(); 2329 }), 2330 (page.dataToOption = function (e) { 2331 return e.replace(/-([a-z])/g, function (e) { 2332 return e[1].toUpperCase(); 2333 }); 2334 }); 2335 }, 2336]);
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.