4 04
The page you are looking for
can not be found
Return to Homepage
\n `), o.document.close(), o.addEventListener("load", function () { o.focus(), o.print() }), o.addEventListener("afterprint", function () { o.close() }), !0 }, n.dmrt.register("coupon", o) }(jQuery); !function (i, t) { "use strict"; var s = { selector: "#disqus_thread", runAt: "start", initDisqus: function (i) { var s = $("#disqus_thread"); if (s.length > 0) { var e = s.attr("shortname"), n = s.attr("disqus_identifier"), r = s.attr("disqusurl"), d = s.attr("language"); e && (n || r) && (t.disqus_shortname = e, t.disqus_identifier = n, t.disqus_url = r, t.disqus_config = function () { this.language = d }, t.DISQUS ? t.DISQUS.reset({ reload: !0, config: { disqus_identifier: t.disqus_identifier, disqus_url: t.disqus_url } }) : $.DM.loadExternalScriptAsync("//" + t.disqus_shortname + ".disqus.com/embed.js", null, null, { forceLoad: i })) } }, reload: function () { var i = $("#disqus_thread"); getSafe("DISQUS.next.host.loader.configAdapter.config") ? (t.DISQUS.next.host.loader.configAdapter.config.forum = i.attr("shortname"), t.DISQUS.reset({ reload: !0 })) : (t.DISQUS = void 0, t.DISQUSWIDGETS = void 0, s.initDisqus(!0)) }, default: { ready: function (i) { s.initDisqus(!1) }, load: function (i) { } }, mobile: { load: function (i) { } }, tablet: { load: function (i) { } }, desktop: { load: function (i) { } } }; $.dmrt.register("disqus", s) }($, window); !function (e) { "use strict"; e.extend(e.modules, { facebook_comments: {} }); var o = { default: { ready: function (o) { e(".fb-comments").each(function (o, t) { var a, n, r; function checkForIframePresence() { return a.find("iframe").length > 0 && "string" == typeof a.find("iframe").attr("src") && (clearInterval(n), e(window).on("resize.facebook_" + r, adjustFacebookComments), adjustFacebookComments(), !0) } function adjustFacebookComments() { e.contains(document, a.get(0)) || (e(window).off("resize.facebook_" + r), a.data("facebook_resizerId", null)) } (a = e(t)).data("facebook_resizerId") || (r = Math.random().toString(16).slice(2), checkForIframePresence() || (n = setInterval(checkForIframePresence, 100)), a.data("facebook_resizerId", r)) }) }, load: function (e) { } }, mobile: {}, tablet: {}, desktop: {} }; e.dmrt.register("facebook_comments", o) }(jQuery); !function (e) { "use strict"; var i = { default: { ready: function (i) { !function _initFacebookLike() { _refreshSize(jQuery(".fb-like"), !1), e.dmrt.isEditorMode && (e.DM.events.on("widget_resize", function (i, t) { e(t).is(".dmFacebookLike") && _refreshSize(e(t).find(".fb-like"), !0) }), e.DM.events.on("col_resize", function (i, t) { e(t).find(".dmFacebookLike").length > 0 && _refreshSize(e(t).find(".fb-like"), !0) })) }() }, load: function (e) { } }, mobile: {}, tablet: {}, desktop: {} }; function _refreshSize(e, i) { if (jQuery(e).each(function (e) { var i = jQuery(this).width(); jQuery(this).attr("data-width", i) }), i) try { FB.XFBML.parse() } catch (e) { } } e.dmrt.register("facebook_like", i) }(jQuery); !function (e) { "use strict"; var t = { selector: ".dmform", default: { ready: function (t) { r.initObservers(), e(".dmform form").each(function () { r.initForm(e(this)) }), r.initCaptcha() }, load: function (e) { r.fixAllForms() } }, mobile: {}, tablet: {}, desktop: {} }, r = {}, a = !0; const i = { G_RECAPTCHA: { flagName: "g_recaptcha", selector: ".g-recaptcha", initFunc: "initGRecaptcha", windowObj: "grecaptcha", initCondition: '.dmform[captcha="true"], .fastform[captcha="true"]' }, FRIENDLY_CAPTCHA: { flagName: "friendly_captcha", selector: ".frc-captcha", initFunc: "initFriendlyCaptcha", windowObj: "friendlyChallenge", initCondition: ".dmform, .fastform" } }; function isInvisibleCaptcha(e) { var t = e.closest("[data-captcha-position]"); return !!t.length && ("checkbox" != t.attr("data-captcha-position") && "" != t.attr("data-captcha-position") && "true" == t.attr("captcha") && rtCommonProps["site.widget.form.captcha.type"] === i.G_RECAPTCHA.flagName) } function clearCaptchaError() { e(".dmform form").find(".g-recaptcha .inputError , .frc-captcha .inputError").removeClass("inputError") } function findSpacingContainer(t) { return e(t).find(".spacing-container") } r.initForm = function (e) { if (!(e = e || jQuery(".dmform form")).length) return "No Forms"; r.initFileUpload(), r.cleanupForm(e), r.initAccessibleErrorMessages(e), e.unbind("submit").submit(r.onFormSubmit), e.unbind("focus").on("focus", "input,textarea", r.onFormFocus) }, r.onFormFocus = function (t) { e(this).closest(".dmform").addClass("active") }, r.initCaptcha = function () { var t = t || jQuery(".dmform form"); if (t.length) { var n = jQuery('[captcha="true"]'); if (rtCommonProps["site.widget.form.captcha.type"] === i.FRIENDLY_CAPTCHA.flagName) window.onCaptchaLoad = () => { e.DM.initFormCaptcha(t, null, i.FRIENDLY_CAPTCHA) }, "undefined" == typeof friendlyChallenge && e.DM.loadExternalScriptAsync("https://cdn.jsdelivr.net/npm/friendly-challenge@0.9.8/widget.module.min.js", null, null, { noModule: !0, defer: !0 }).then(() => { window.onCaptchaLoad() }), "undefined" != typeof friendlyChallenge && window.onCaptchaLoad(); else window.onCaptchaLoad = () => { e.DM.initFormCaptcha(t, function (e) { r.actualSubmitForm().catch(function (e) { console.error("Form submission error:", e), a = !0 }) }, i.G_RECAPTCHA) }, "undefined" != typeof grecaptcha && grecaptcha.execute || !n.length || e.DM.loadExternalScriptAsync("https://www.google.com/recaptcha/api.js?onload=onCaptchaLoad&render=explicit"), "undefined" != typeof grecaptcha && grecaptcha.execute && e.DM.initFormCaptcha(t, function (e) { r.actualSubmitForm(window.rtFlags["contact.form.useActiveForm"] ? null : t).catch(function (e) { console.error("Form submission error:", e), a = !0 }) }, i.G_RECAPTCHA) } }, r.onFormSubmit = function (t) { var i = e(this); i.parents(".dmform").attr("dmle_widget"); if (t.preventDefault(), r.validateInput(i)) if (isInvisibleCaptcha(i)) { window.activeForm = i; var n = function getCaptchaId(e) { if (!e) return 0; var t = function getParentFormWidgetElement(e) { var t = document.querySelectorAll('.dmform[captcha="true"]'); return Array.apply(null, t).filter(function (t) { return t.querySelector('[id="' + e + '"]') })[0] }(e.get(0).id).getAttribute("captcha-id"); return -1 !== t ? t : 0 }(i); window.grecaptcha.reset(n), window.grecaptcha.execute(n) } else r.actualSubmitForm(i).catch(function (e) { console.error("Form submission error:", e), a = !0 }) }, r.fixFormWithId = function (t) { var a = e("#" + t); void 0 !== a && ("layout-2" === e(a).attr("data-layout") ? r.fixFormLayout2(e(a)) : r.restorePropertiesFormfixFormLayout2(e(a))) }, r.fixAllForms = function () { var t = jQuery(".dmform[data-layout=layout-2]"); e.each(t, function (e, t) { r.fixFormLayout2(t) }) }, r.restorePropertiesFormfixFormLayout2 = function (t) { var r = e(t);["label", "input[type=text]", "input[type=date]", "input[type=time]", "input[type=tel]", "input[type=email]", "input[type=number]", "textarea:not(.g-recaptcha-response):not(.frc-captcha-solution)", "select", ".checkboxwrapper", ".radiowrapper", ".optinwrapper"].forEach(function (e) { r.find(e).removeAttr("style") }) }, r.fixFormLayout2 = function (t) { var a = ["label", "input[type=text]", "input[type=date]", "input[type=time]", "input[type=tel]", "input[type=email]", "input[type=number]", "textarea", "select"]; for (var i in a) e(t).find(".dmforminput > " + a[i]).width("auto"); var n = e(t).width(), o = e(t).find(".dmforminput"); if (null != o) { var d = ["padding-left", "padding-right", "margin-right", "margin-right"]; for (var i in d) n -= parseInt(e(o).css(d[i])) } var s = 0, c = 0, l = e(t).find(".dmforminput input[type=text], .dmforminput input[type=email], .dmforminput input[type=number], .dmforminput input[type=tel], .dmforminput input[type=password], .dmforminput select"); null != l && (s += parseInt(e(l).css("border-left-width")), c += parseInt(e(l).css("border-right-width"))); var p = 0; e.each(e(t).find(".dmforminput label:not(.for-checkable):not(.custom-contact-checkable)"), function (t, r) { var a = e(r).width() + 1; p = Math.max(a, p) }); var m = p, f = .33 * n + 1; m = Math.min(f, m); var u = n - (m = Math.max(75, m)) - 5, h = e(t).find(".dmforminput"); e.each(h, function (t, a) { var i = m + u, n = r.retrieveWidthPercentage(a) * i / 100 - m; 100 !== r.retrieveWidthPercentage(a) && (n -= parseInt(e(h).css("padding-left")) + parseInt(e(h).css("padding-right"))); e(a).find("label:not(.for-checkable):not(.custom-contact-checkable)").width(m), e(a).find("label:not(.for-checkable):not(.custom-contact-checkable)").outerWidth(m), e(a).find("input[type=text], input[type=date], input[type=time]").width(n), e(a).find("input[type=text], input[type=date], input[type=time]").outerWidth(n), e(a).find("input[type=tel]").width(n), e(a).find("input[type=tel]").outerWidth(n), e(a).find("input[type=email]").width(n), e(a).find("input[type=email]").outerWidth(n), e(a).find("input[type=number]").width(n), e(a).find("input[type=number]").outerWidth(n), e(a).find("textarea").width(n), e(a).find("textarea").outerWidth(n), e(a).find("select").width(n), e(a).find("select").outerWidth(n), e(a).find(".checkboxwrapper").width(n), e(a).find(".checkboxwrapper").outerWidth(n), e(a).find(".checkboxwrapper").css("margin-left", s + "px"), e(a).find(".checkboxwrapper").css("margin-right", c + "px"), e(a).find(".optinwrapper").width(n), e(a).find(".optinwrapper").outerWidth(n), e(a).find(".optinwrapper").css("margin-left", s + "px"), e(a).find(".optinwrapper").css("margin-right", c + "px"), e(a).find(".radiowrapper").width(n), e(a).find(".radiowrapper").outerWidth(n), e(a).find(".radiowrapper").css("margin-left", s + "px"), e(a).find(".radiowrapper").css("margin-right", c + "px") }) }, r.retrieveWidthPercentage = function (t) { for (var r = "mobile" === e.layoutDevice.type ? "small-" : "large-", a = 12; a > 0; a--)if (e(t).hasClass(r + a)) return parseInt(100 * a / 12); return 0 }, r.initFormCaptcha = function (e, t, a = i.G_RECAPTCHA) { if (!(e = e || jQuery(".dmform form, .fastform")).length) return "No Forms"; e.find(a.selector).remove(), e.closest(a.initCondition).each((e, i) => r[a.initFunc](i, t)) }, r.initGRecaptcha = function (t, r) { var a = e.layoutDevice ? e.layoutDevice.type : "mobile", i = e(t).attr("data-captcha-position"), n = isInvisibleCaptcha(e(t)), o = n ? "invisible" : e(t).attr("data-captcha-layout") || ("mobile" == a ? "compact" : "normal"); e(t).find(".m-recaptcha").remove(); const d = findSpacingContainer(t); var s; if ("text" === i) { const r = e(t)?.attr("data-captcha-message") ?? "", a = decodeURIComponent(escape(atob(r))); i = "bottomright", s = e(""); var c = e('
' + a + "
"); d.length ? (d.append(s), d.append(c)) : (s.insertBefore(e(t).find(".dmformsubmit,.fastformsubmit")), c.insertBefore(e(t).find(".dmformsubmit,.fastformsubmit"))) } else s = e("
"), d.length ? d.append(s) : s.insertBefore(e(t).find(".dmformsubmit,.fastformsubmit")); var l = e(t).find(".dmform-wrapper").attr("captcha-lang"); "fixed" == e("body").css("position") && e("body").css("position", "static"); var p = n ? rtCommonProps["captcha.invisible.public.key"] : rtCommonProps["captcha.public.key"]; window.grecaptcha.ready(() => { var e = window.grecaptcha.render(s.get(0), { sitekey: p, theme: "light", size: o, hl: l, badge: i, callback: n ? r : clearCaptchaError }); t.setAttribute("captcha-id", e) }) }, r.initFriendlyCaptcha = function (t, r) { var a = e(t).find(".dmform-wrapper").attr("captcha-lang"), i = e(`
`); const n = findSpacingContainer(t); n.length ? n.append(i) : i.insertBefore(e(t).find(".dmformsubmit,.fastformsubmit")); const o = { doneCallback: r, language: a }; new window.friendlyChallenge.WidgetInstance(i.get(0), o) }, r.initFileUpload = function () { jQuery(".dmform form a[data-file]").length && e.DM.loadExternalScriptAsync("/_dm/s/rt/widgets/form/filepicker.jsp", function () { jQuery(".dmform form a[data-file]").each(function (t, r) { var a = e(this).attr("file-upload-lang"), i = e(this); i.off("click.file").on("click.file", function () { if (!e.editGrid || e.editGrid.inPreviewMode()) { i.removeClass("inputError"); var t = { maxSize: 10485760, language: a, multiple: !1, backgroundUpload: !0, folders: !1, mimetype: ["image/*", "text/*", "application/*", "audio/*", "video/*", "application/pdf", "application/zip", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/vnd.openxmlformats-officedocument.wordprocessingml.template", "application/vnd.ms-word.document.macroEnabled.12", "application/vnd.ms-word.template.macroEnabled.12", "application/vnd.ms-excel", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application/vnd.openxmlformats-officedocument.spreadsheetml.template", "application/vnd.ms-excel.sheet.macroEnabled.12", "application/vnd.ms-excel.template.macroEnabled.12", "application/vnd.ms-excel.addin.macroEnabled.12", "application/vnd.ms-excel.sheet.binary.macroEnabled.12", "application/vnd.ms-powerpoint", "application/vnd.openxmlformats-officedocument.presentationml.presentation", "application/vnd.openxmlformats-officedocument.presentationml.template", "application/vnd.openxmlformats-officedocument.presentationml.slideshow", "application/vnd.ms-powerpoint.addin.macroEnabled.12", "application/vnd.ms-powerpoint.presentation.macroEnabled.12", "application/vnd.ms-powerpoint.template.macroEnabled.12", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12", "application/vnd.ms-access"], services: ["COMPUTER", "DROPBOX", "GOOGLE_DRIVE", "GMAIL"] }; storeOptions = e.extend({ path: Parameters.SiteAlias + "/forms/attachments/" }, storeOptions), filepicker.pickAndStore(t, storeOptions, function (t) { var r = encodeURIComponent(t[0].key); e("#filesMessage").html(t.length + " file(s) were uploaded"), i.parent().find(".fileLabel").html(t[0].filename), i.parent().find(".fileName").val(r) }, function (e) { }) } }) }) }) }, r.trackExternalConversion = function (t) { if (t.attr("data-conversion")) { var r = document.createElement("iframe"); e(r).css("display", "none"); var a = Base64.decode(t.attr("data-conversion")); document.body.appendChild(r), r.contentWindow.document.open(), r.contentWindow.document.write(a), r.contentWindow.document.close() } }, r.findPageUrlByAlias = function (t) { -1 !== t.indexOf("home?") && (t = t.replace("home?", "?")); var r = "[data-target-page-alias='" + t.split("?")[0] + "']", a = e("[href$='" + t + "']"), i = e(r).attr("href"); return i || (a.length > 0 ? a.attr("href") : (0 !== t.indexOf("/") && (t = "/" + t), -1 !== location.search.indexOf("preview=true") && (t = "/site/" + Parameters.SiteAlias + t), t)) }, r.initObservers = function () { var t = { attributes: !0, characterData: !0, attributeFilter: ["class", "data-layout"] }; jQuery(".dmform").each(function (a) { if (void 0 !== e(this)) { var i = e(this).first().attr("id"); new MutationObserver(function (e) { e.forEach(function (e) { r.fixFormWithId(i) }) }).observe(e(this)[0], t) } }) }, r.initAccessibleErrorMessages = function (t) { const a = window.rtFlags && window.rtFlags["contact.form.custom.errors.enabled"]; a && t[0].setAttribute("novalidate", "novalidate"); const i = { email: { elements: t.find("input[type='email']") }, tel: { elements: t.find("input[type='tel']"), message: "Enter a valid phone number", pattern: "^[\\d\\s+-.]*\\d[\\d\\s+-.]*$" } }; Object.keys(i).forEach(t => { const { elements: n, message: o, pattern: d } = i[t]; 0 !== n.length && n.each((t, i) => { d && (i.pattern = d), o && i.addEventListener("input", function (e) { i.validity.typeMismatch || i.validity.patternMismatch ? i.setCustomValidity(o) : i.setCustomValidity("") }), a && (i.addEventListener("invalid", function (t) { if (e(i).closest(".dmforminput").find(".dmform-field-error").length > 0) { t.preventDefault(); var a = i.validity.valueMissing ? "required" : "format"; r.showFieldError(e(i), a) } }), i.addEventListener("input", function () { i.validity.valid && (e(i).attr("aria-invalid", "false"), e(i).closest(".dmforminput").find(".dmform-field-error").hide()) })) }) }), a && r.ensureAllFieldsHaveErrorSpans(t) }, r.ensureAllFieldsHaveErrorSpans = function (t) { var r = {}, a = t.find('input[name="dmformerrormessages"]'); if (a.length > 0) try { var i = atob(a.val()); r = JSON.parse(i || "{}") } catch (e) { } var n = { required: r.required || "This field is required", email: r.email || "Please enter a valid email", phone: r.phone || "Please enter a valid phone number", checkbox: r.checkbox || "Please select at least one option", radio: r.radio || "Please select an option", select: r.select || "Please select an option" }; t.find(".dmforminput").each(function () { var t = e(this); if (!(t.find(".dmform-field-error").length > 0)) { var r = t.find('input:not([type="hidden"]), textarea, select').first(); if (0 !== r.length) { var a = r.attr("name"); if (a && a.startsWith("dmform-")) { var i, o = a.replace("dmform-", ""); i = t.find(".optinwrapper").length > 0 ? "optin" : t.find(".checkboxwrapper").length > 0 ? "checkbox" : t.find(".radiowrapper").length > 0 ? "radio" : r.attr("type") || r.prop("tagName").toLowerCase(); var d = n[i] || n.required; t.append("" + d + ""), "email" === i ? t.append("" + n.email + "") : "tel" === i && t.append("" + n.phone + "") } } } }) }, r.getErrorContainer = function (e, t) { t = t || "required"; var r = e; e.hasClass && (e.hasClass("checkboxwrapper") || e.hasClass("radiowrapper") || e.hasClass("optinwrapper")) && (r = e.find("input").first()); var a = r.closest(".dmforminput").find('.dmform-field-error[data-error="' + t + '"]'); if (0 === a.length) return null; var i = a.attr("id"), n = (r.attr("aria-describedby") || "").split(" ").filter(function (e) { return e && !e.startsWith("dmform-error-") }); return n.push(i), r.attr("aria-describedby", n.join(" ")), a }, r.validateInput = function (t) { t.closest(".dmform").find(".dmform-error").hide(), e(".inputError").removeClass("inputError"), t.find(".dmform-field-error").hide(), t.find('[aria-invalid="true"]').attr("aria-invalid", "false"); var a, i, n, o = window.rtFlags && window.rtFlags["contact.form.custom.errors.enabled"], d = !0; return t.find(".required input:not([type=hidden]), .required textarea").each(function (t, s) { a = e(s).parents(".checkboxwrapper").length, i = "radio" === e(s).attr("type"), n = e(s).parents(".optinwrapper").length; var c = e(s).closest(".dmforminput").find(".dmform-field-error").length > 0; if (n) { var l = e(s).next().text(); e(s).parents(".dmforminput").find('input[type="hidden"]').attr("value", "Opt-in (" + l + ")") } if (n && e(s).parents(".optinwrapper").find("input:checked").length < 1) { var p = e(s).parents(".optinwrapper"); o && c ? r.showFieldError(p, "required") : p.addClass("inputError"), d && e.DM.scrollToAnchor(e(s), { additionalOffset: 20 }), d = !1 } else if (a && e(s).parents(".checkboxwrapper").find("input:checked").length < 1) { p = e(s).parents(".checkboxwrapper"); o && c ? r.showFieldError(p, "required") : p.addClass("inputError"), d && e.DM.scrollToAnchor(e(p), { additionalOffset: 20 }), d = !1 } else if (i && e(s).parents(".radiowrapper").find("input:checked").length < 1) { p = e(s).parents(".radiowrapper"); o && c ? r.showFieldError(p, "required") : p.addClass("inputError"), d && e.DM.scrollToAnchor(e(p), { additionalOffset: 20 }), d = !1 } else if ("" === e(s).val().trim()) { p = e(s); o && c ? r.showFieldError(p, "required") : p.addClass("inputError"), d && e.DM.scrollToAnchor(e(s), { additionalOffset: 20 }), d = !1 } else { var m = e(s); m.attr("aria-invalid", "false"), m.closest(".dmforminput").find(".dmform-field-error").hide() } }), t.find(".required select").each(function (t, a) { if (0 == a.selectedIndex) { var i = e(a).closest(".dmforminput").find(".dmform-field-error").length > 0; o && i ? r.showFieldError(e(a), "required") : e(a).addClass("inputError"), d = !1 } }), t.find(".required a[data-file]").each(function (t, a) { if ("" == e(this).next().html()) { var i = e(this).closest(".dmforminput").find(".dmform-field-error").length > 0; o && i ? r.showFieldError(e(this), "required") : e(this).addClass("inputError"), d = !1 } }), t.find("input[type=email]").each(function (t, a) { if (!a.hidden) { if ("" === e(a).val().trim()) return; if (!/^(([^<>()[\]\\.,;:\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,500}))$/.test(a.value)) { d = !1; var i = e(a).closest(".dmforminput").find(".dmform-field-error").length > 0; o && i ? r.showFieldError(e(a), "format") : a.className += " inputError" } } }), t.find("input[type=tel]").each(function (t, a) { if (!a.hidden) { if ("" === e(a).val().trim()) return; if (!/^[\d\s+-.]*\d[\d\s+-.]*$/.test(a.value)) { d = !1; var i = e(a).closest(".dmforminput").find(".dmform-field-error").length > 0; o && i ? r.showFieldError(e(a), "format") : a.className += " inputError" } } }), d }, r.showFieldError = function (e, t) { if (window.rtFlags && window.rtFlags["contact.form.custom.errors.enabled"]) { t = t || "required"; var a = e; e.hasClass && (e.hasClass("checkboxwrapper") || e.hasClass("radiowrapper") || e.hasClass("optinwrapper")) && (a = e.find("input").first()), a.closest(".dmforminput").find(".dmform-field-error").hide(); var i = r.getErrorContainer(e, t); i && (a.attr("aria-invalid", "true"), i.show()) } }, r.actualSubmitForm = async function (t) { if (!a) return void event.preventDefault(); if (t = t || window.activeForm, !e.isEmptyObject(window.editorParent)) { const e = window.editorParent.$?.dmString?.("ui.ed.contactForm.submission.inEditor.notSupported") || "To test contact form submission please use the site preview link."; return t.closest(".dmform-wrapper").hide(), void t.closest(".dmform").append(e) } a = !1, t.closest(".dmform").find(".freetextwrapper").map(function () { var t = e(this).parent(); t.find("input").removeAttr("name"), t.find("label").remove() }); var i = 0; t.closest(".dmform").find("input, textarea, select").map(function () { var r = e(this), a = r.attr("name"); if (a && a.startsWith("dmform-")) { var n = i; n < 10 && (n = "0" + n), r.closest(".dmforminput").find("input[type=hidden]").attr("name", "label-dmform-" + n).removeAttr("disabled"); r.closest(".dmforminput").find("label").attr("data-dm-for", "dmform-" + n), t.find("input.fieldMapper[value=" + r.attr("name") + "]").attr("value", "dmform-" + n); const e = rtCommonProps["site.contact.form.native.inputs"] ? ".contact-checkable-container" : ".contact-checkable-container, div"; r.attr("name", "dmform-" + n), (!r.is("[type=radio]") && !r.is("[type=checkbox]") || r.closest(e).is(":last-child")) && i++ } }); var n = t.closest(".dmform").attr("id"); n || (n = t.closest(".dmform").attr("duda_id")), t.closest(".dmform").find("form").append(""), t.closest(".dmform").find("form").append(""); var o = t.serializeDMForm(); t.closest(".dmform").find("label").each(function () { var r = e(this), a = "data-dm-for", i = r.attr(a); if (i && i.startsWith("dmform-") && t.closest("form")) { var n = t.closest("form").find("[name=" + i + "]"), d = function getFormFieldType(e) { var t = ""; if (0 === e.length) return ""; t = "textarea" === e.prop("tagName").toLowerCase() ? "message" : e.hasClass("dmDatePicker") ? "date" : "select" === e.prop("tagName").toLowerCase() ? "dropdown" : e.hasClass("fileName") ? "file" : e.attr("type"); return t }(n); o += "&type-" + i + "=" + d; var s = function getFormFieldIntegrationMappingType(e) { return e.attr("data-integration-mapping-type") }(r.parent()); if (s && (o += "&integrationMappingType-" + i + "=" + s), (r.attr("hide") || "" == r.text()) && (n.attr("data-placeholder-original") || n.attr("placeholder"))) { const e = n.attr("data-placeholder-original") || n.attr("placeholder"); var c = new RegExp("label-" + r.attr(a) + "=[^&]*"); o = o.replace(c, "label-" + r.attr(a) + "=" + e) } } }), o += "&device_code=" + dmAPI.getCurrentDeviceType(); var d = t; const s = await async function shouldOverrideContactFormEvent() { try { return await window.runtime.API.evaluateFeatureFlag("stats.override.contact.form.event.enabled", !1) } catch (e) { return !1 } }(); fetch(function getFormPath(e, t) { var r = isInvisibleCaptcha(e); return "/_dm/s/rt/api/public/rt/site/" + Parameters.SiteAlias + "/contactForm?hiddenCaptcha=" + r + `&sendTracking=${t}` }(t, s), { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8" }, body: o }).then(e => { if (!e.ok) throw new Error("Network response was not ok"); return e }).then(i => { a = !0, s || dm_gaq_push_event("form", "submit", void 0, void 0, t), r.trackExternalConversion(t.parents(".dmform")), t.find("input[name=googleIntegrationUUID]").val() && t.find("input[name=spreadsheetId]").val() && dm_gaq_push_event("form", "google_spreadsheet_push"), t.find("input[name=constantContactIntegrationUUID]").val() && t.find("input[name=constantContactLists]").val() && dm_gaq_push_event("form", "constant_contact_push"), t.find("input[name=mailChimpIntegrationUUID]").val() && t.find("input[name=mailChimpLists]").val() && dm_gaq_push_event("form", "mail_chimp_push"), t.find("input[name=webhookURI]").val() && dm_gaq_push_event("form", "webhook_push"); for (var n = d.serializeDMArray(), o = n.length, c = [], l = 0; l < n.length; l++)n[l].name.startsWith("dmform-") && l + 1 < o && n[l + 1].name === "label-" + n[l].name && c.push({ name: n[l + 1].value, value: n[l].value }); e.DM.events.trigger(dmAPI.EVENTS.FORM_SUBMISSION, { value: c }); const p = t.closest(".dmform").find(".dmform-success"); let m = p.data("success-page"); const f = p.data("success-url"), u = p.data("success-url-target"); if (m) return window.isReseller && self !== top || window.editorParent.jQuery && window.editorParent.jQuery.onefw && window.editorParent.jQuery.onefw.inPreviewMode && window.editorParent.$ && window.editorParent.$.dmfw && window.editorParent.$.dmfw.previewNavigateTo ? window.editorParent.$.dmfw.previewNavigateTo({ page: { alias: m } }) : (window.location.search && (-1 == m.indexOf("?") ? m += window.location.search : m += window.location.search.replace("?", "&"), window.getSafe("previewParent.isSitePreview") && (m = m.replace("showOriginal=true&", ""))), location.replace(r.findPageUrlByAlias(m)), void d[0].reset()); f && (u ? window.open(f, u) : location.replace(f)), t.closest(".dmform-wrapper").hide(), t.closest(".dmform").find(".dmform-success").show(), e.DM.scrollToAnchor(e(t.closest(".dmform").find(".dmform-success")[0]), { additionalOffset: 70 }), e.DM.isUseIscroll() && e.layoutManager.refreshIscroll() }).catch(r => { a = !0, 401 == r.status ? t.find(".g-recaptcha > div, .frc-captcha > div").addClass("inputError") : (t.closest(".dmform").find(".dmform-error").show(), e.DM.scrollToAnchor(e(t.closest(".dmform").find(".dmform-error")[0]), { additionalOffset: 70 })) }) }, r.cleanupForm = function (t) { e(".dmform-success, .dmform-error").hide(), t.removeClass("active"), jQuery(".dmform form textarea").each(function (t, r) { var a = e(r); a.val(a.val().trim()) }), e(document.body).on("keypress", ".inputError", function () { if (e(this).removeClass("inputError"), window.rtFlags && window.rtFlags["contact.form.custom.errors.enabled"]) { e(this).attr("aria-invalid", "false"); var t = e(this).attr("aria-describedby"); if (t) t.split(" ").forEach(function (t) { var r = e("#" + t); r.hasClass("dmform-field-error") && r.hide().text("") }) } }), t.find(".required select").change(function () { e(this).removeClass("inputError"), e(this).attr("aria-invalid", "false"); var t = e(this).attr("aria-describedby"); t && t.split(" ").forEach(function (t) { var r = e("#" + t); r.hasClass("dmform-field-error") && r.hide().text("") }) }) }; const n = /\r?\n/g, o = /^(?:submit|button|image|reset|file)$/i, d = /^(?:input|select|textarea|keygen)/i, s = /^(?:checkbox|radio)$/i; jQuery.fn.extend({ serializeDMForm: function () { return jQuery.param(this.serializeDMArray()) }, serializeDMArray: function () { return this.map(function () { var e = jQuery.prop(this, "elements"); return e ? jQuery.makeArray(e) : this }).filter(function () { var e = this.type; return this.name && !jQuery(this).is(":disabled") && d.test(this.nodeName) && !o.test(e) && (this.checked || !s.test(e)) }).map(function (e, t) { let r; if ("date" === this.getAttribute("type") && this.valueAsDate) { const e = this.value.split("-"), t = e[0], a = e[1], i = e[2]; r = "mmddyyyy" === this.getAttribute("date_format") ? `${a}/${i}/${t}` : `${i}/${a}/${t}` } else if ("time" === this.getAttribute("type") && this.value) { if ("hiia" === this.getAttribute("time_format")) { const [e, t] = this.value.match(/([0-9]{1,2}):([0-9]{2})/).slice(1); r = `${+e % 12 || 12}:${t} ${+e < 12 ? "AM" : "PM"}` } else r = jQuery(this).val() } else r = jQuery(this).val(); return null == r ? null : { name: t.name, value: r.replace(n, "\r\n") } }).get() } }), e.extend(e.DM, r), e.dmrt.register("form", t) }(jQuery); !function (e) { "use strict"; var t = {}, a = {}, r = window.rtCommonProps["feature.flag.runtime.backgroundSlider.preload.slowly"], n = { selector: "[data-gallery-bg]:not([data-video-bg])", default: { ready: function (t) { e("[data-gallery-bg]").each(function () { initGalleryBg(e(this)) }) }, load: function (e) { } }, mobile: {}, tablet: {}, desktop: {}, refresh: function (t) { initGalleryBg(e(t)) }, stopAnimation: function (a) { var r = e(a).attr("id"); t[r] && window.clearInterval(t[r]) } }; function initGalleryBg(n) { var s = n.attr("id"); t[s] && (window.clearInterval(t[s]), n.removeClass("slider-container-no-bg").removeClass("hasExtraLayerOverlay").removeAttr("data-background-image"), n.children(".bgGallerySlide").remove(), n.children(".bgGallerySlideHolder").remove(), n.children(".bgExtraLayerOverlay").remove()); var i = n.attr("data-gallery-bg"); try { var o = JSON.parse(function decode(e) { return "undefined" == typeof atob ? Base64.decode(e) : atob(e) }(i)), l = o.slides.length; if (l < 2) return; var d = window.getComputedStyle(n[0], ":before"), c = e('
'); n.prepend(c); var m = e('
'); n.prepend(m), n.addClass("hasExtraLayerOverlay"), o.slides = function multiSizeImages(t, a) { return t.map(function (t) { if (!t) return ""; if (!e.layoutDevice || !e.layoutDevice.type || function isSignedUrl(e) { if (!e) return !1; try { const t = new URL(e); return t && t.pathname && t.pathname.startsWith("/s/") } catch (e) { return !1 } }(t)) return t; var r = t, n = a.width(); if (function isDynamicWidth(e) { return -1 !== e.indexOf("/multi/opt/") }(r)) r = r.replace(/-([0-9])+w\\..{2,5}/, function (e, a) { return t.replace(e, e.replace(a, n)) }); else { var s = function mapWidthToImageSize(e) { return e >= 1440 ? "background" : e >= 960 ? "desktop" : e >= 640 ? "tablet" : "mobile" }(n), i = "/dms3rep/multi/" + s + "/"; r = (r = (r = (r = (r = r.replace("/dms3rep/multi/", i)).replace("/dms3rep/multi/" + s + "/background/", i)).replace("/dms3rep/multi/" + s + "/desktop/", i)).replace("/dms3rep/multi/" + s + "/tablet/", i)).replace("/dms3rep/multi/" + s + "/mobile/", i) } return r }) }(o.slides, n); var u = o.speed ? 1e3 * o.speed : 3e3, f = o.transition || "fade", p = Math.min(.75, u / 2e3), g = 1, y = e('
'), b = ["background-size", "background-position", "background-repeat", "background-attachment", "animation", "border-radius"]; copyStyles({ fromElement: n[0], toElement: y[0], styles: b.concat("background-image") }), m.prepend(y), n.attr("data-background-image", n.css("background-image")), n.css({ "background-image": "" }), n.addClass("slider-container-no-bg"), t[s] = window.setInterval(function () { var t = m.children(".bgGallerySlide"); t.one("webkitTransitionEnd mozTransitionEnd MSTransitionEnd otransitionend transitionend", function () { this.remove(), m.removeClass("overflow-hidden") }), setTimeout(function () { t && t.remove() }, 1e3 * p + 1e3); var s = e('
'); copyStyles({ fromElement: n[0], toElement: s[0], styles: b }), r && function preloadImage(e) { if (e in a) return; var t = new Image; t.src = e, a[e] = t }(o.slides[g]), s.css("background-image", "url(" + o.slides[g] + ")"), m.addClass("overflow-hidden"), function beforeTransition(e, t, a, r) { switch (e) { case "fade": default: r.css({ opacity: "0", transition: "opacity " + t + "s ease-in-out" }), a.css({ opacity: "1", transition: "opacity " + t + "s ease-in-out" }); break; case "slideLeft": r.css({ transform: "translateX(-100%)", transition: "transform " + t + "s ease-in-out" }), a.css({ transition: "transform " + t + "s ease-in-out" }); break; case "slideRight": r.css({ transform: "translateX(100%)", transition: "transform " + t + "s ease-in-out" }), a.css({ transition: "transform " + t + "s ease-in-out" }); break; case "slideTop": r.css({ transform: "translateY(-100%)", transition: "transform " + t + "s ease-in-out" }), a.css({ transition: "transform " + t + "s ease-in-out" }); break; case "slideBottom": r.css({ transform: "translateY(100%)", transition: "transform " + t + "s ease-in-out" }), a.css({ transition: "transform " + t + "s ease-in-out" }) } }(f, p, t, s), window.requestAnimationFrame(function () { m.prepend(s), window.requestAnimationFrame(function () { !function applyTransition(e, t, a, r) { switch (e) { case "fade": default: r.css("opacity", "1"), a.css("opacity", "0"); break; case "slideLeft": r.css("transform", "translateX(0)"), a.css("transform", "translateX(100%)"); break; case "slideRight": r.css("transform", "translateX(0)"), a.css("transform", "translateX(-100%)"); break; case "slideTop": r.css("transform", "translateY(0)"), a.css("transform", "translateY(100%)"); break; case "slideBottom": r.css("transform", "translateY(0)"), a.css("transform", "translateY(-100%)") } }(f, 0, t, s) }) }), g = (1 + g) % l }, u), r || o.slides.forEach(function (e) { (new Image).src = e }) } catch (e) { } } function copyStyles(e) { var t = e.fromElement, a = e.toElement, r = e.styles || [], n = window.getComputedStyle(t); r.forEach(function (e) { a.style.setProperty(e, n.getPropertyValue(e)) }) } e.dmrt.register("gallerybg", n) }(jQuery); !function (e) { var o = !1, i = {}, t = {}, n = { selector: ".dmGeoLocation[provider]", ported: !0, default: { ready: function () { o || (!function initializeProviders() { i.google = e.geoProviders.google, i.openstreetmap = e.geoProviders.openstreetmap, i.mapbox = e.geoProviders.mapbox }(), o = !0); var n = document.querySelector(".dmGeoLocation[provider]").getAttribute("provider"); return Promise.resolve(i[n].init()).then(function () { !function initEditorChangeListeners() { if (!e.dmrt.isEditorMode) return; e.DM.events.on("row_resize", function (o, i) { e(i).find(".dmGeoLocation").length > 0 && initWidgets() }), e.DM.events.on("widget_resize", function (o, i) { e(i).is(".dmGeoLocation") && initWidgets() }), e.DM.events.on("col_resize", function (o, i) { e(i).find(".dmGeoLocation").length > 0 && initWidgets() }), window.editorParent.jQuery && window.editorParent.$.dmx.events.on("elementIdChanged", function (e) { t[e.elementId] && (t[e.newElementId] = t[e.elementId], t[e.elementId] = null) }) }(), initWidgets() }) }, load: function (e) { }, initGoogleMaps: initWidgets }, mobile: {}, tablet: {}, desktop: {} }; function initWidgets() { if (function cleanupMaps() { for (var o in t) if (t.hasOwnProperty(o) && t[o]) { var n = t[o], a = e("#" + o); if (0 === a.length) continue; var d = e(a).attr("provider"); i[d].cleanup(n) } t = {} }(), "mobile" === (e.layoutDevice ? e.layoutDevice.type : "mobile")) !function _initGeoLocationInternalMobile(o) { e(".dmGeoLocation").each(function (o, n) { var a, d = e(n), r = d.attr("data-editor"), l = JSON.parse(Base64.decode(r)).locations, s = i[d.attr("provider")], c = d.find(".dmGeoMLocList"), f = d.find(".dmGeoMLocMapView"), w = d.find(".dmGeoSingleView"), h = f.find(".dmGeoMLocMapViewMap .mapContainer")[0], u = d.find(".dmGeoMLocList li"), m = {}, p = 0, g = 0; function _handleShowMap(o) { o ? (e(h).empty(), a && s.cleanup(a, h), c.is(":visible") && w.hide(), m.showAll ? (f.show(), a = s.drawMap({ container: h, options: { fitBounds: !0 }, language: d.attr("data-lang"), markers: l.map(function (o) { var i = { lat: o.latitude, lng: o.longitude, title: o.title, listener: function () { _fillLocationInfoView(o.uniqueId); var i = e(".dmGeoViewStateWrapper"); e(".dmStState").removeClass("isOff"), i.removeClass("isOff"), _handleShowMap(!0), w.show(), c.hide() }, clickable: !0 }; return i }) })) : (f.show(), a = s.drawMap({ container: h, lat: m.lat, lng: m.lon, language: d.attr("data-lang"), markers: [{ clickable: !0, lat: m.lat, lng: m.lon, listener: function () { d.find(".dmGeoViewStateWrapper .dmStState").removeClass("isOff"), w.show(), c.hide() }, title: m.title }], zoom: 14 })), t[e(n).attr("id")] = a, f.show()) : m.showAll ? (d.find(".dmGeoLocBtn").removeClass("geoDisabledState"), c.show("fast"), w.hide()) : (c.hide(), w.show("fast")) } m.showAll = !0, u.data("mode", "map"), c.is(":visible") && w.hide(), _handleShowMap(!0); var v = d.find(".dmGeoViewStateWrapper"), S = d.find(".dmStState"), G = d.find(".dmGeoStList"), M = d.find(".dmGeoStMap"); function _showWrapperAll() { w.hide(), c.show(), _handleShowMap(S.hasClass("isOff")), d.find(".dmGeoLocBtn").removeClass("geoDisabledState"), e(".dmGeoStList").text(e(".dmGeoStList").attr("list")) } function _showSingleView(e) { _fillLocationInfoView(e), _handleShowMap(!0), w.show(), c.hide() } function _showMultiView() { m.showAll = !0, _showWrapperAll(), f.find(".dmGeoLocBtn").show() } function _fillLocationInfoView(o) { f.find(".dmGeoLocBtn").hide(); var i = e(".dmGeoStList"); i.text(i.attr("info")); var t = e.grep(l, function (e) { return e.uniqueId == o })[0]; m.showAll = !1, m.lat = t.latitude, m.lon = t.longitude, m.title = t.title, w.find(".dmGeoSVTitle").text(!1 === t.displayTitle ? "" : t.title); var n = t.phone && !1 !== t.displayPhoneNumber ? t.formattedAddress + ",
" + t.phone : t.formattedAddress; if (w.find(".dmGeoSVAddr").html(n), (t.phone || t.showPhone) && (w.find(".dmGeoSVPhone a").attr({ href: "tel:" + t.phone, phone: t.phone }), t.clickToCallText && w.find(".dmGeoSVPhone a .text").text(t.clickToCallText)), w.find(".dmGeoSVPhone").toggle(t.showPhone), t.url && !1 !== t.displayLink) { var a; try { a = e(t.url) } catch (o) { a = e('Go to location page') } _adjustGeoAHref(a), a.addClass("dmGeoSVGoToPage"), w.find(".dmGeoSVGoToPage").replaceWith(a), a.show() } else w.find(".dmGeoSVGoToPage").hide(); w.find(".dmGeoSVMoreInfo").text(t.description && !1 !== t.showDescription ? t.description : ""), w.find(".dmGeoSVSeeAll").unbind("click").click(function () { _showMultiView() }) } G.unbind("click").click(function () { e.dmrt.isEditorMode && window.editorParent.jQuery && window.editorParent.jQuery.onefw && !window.editorParent.jQuery.onefw.inPreviewMode || (S.removeClass("isOff"), v.removeClass("isOff"), _handleShowMap(!1)) }), M.unbind("click").click(function () { e.dmrt.isEditorMode && window.editorParent.jQuery && window.editorParent.jQuery.onefw && !window.editorParent.jQuery.onefw.inPreviewMode || (S.addClass("isOff"), v.addClass("isOff"), _handleShowMap(!0)) }), S.unbind("click").click(function () { e(this).hasClass("isOff") ? (S.removeClass("isOff"), v.removeClass("isOff"), _handleShowMap(!1)) : (S.addClass("isOff"), v.addClass("isOff"), _handleShowMap(!0)), "undefined" != typeof _ && _.isUseIscroll() && e.layoutManager.refreshIscroll() }); for (o = 0; o < u.length; o++) { e(u[o]).unbind("click").click(function () { e.layoutManager._isEditorMode && window.editorParent.jQuery && window.editorParent.jQuery.onefw && !window.editorParent.jQuery.onefw.inPreviewMode || (_showSingleView(e(this).attr("geoid")), e(this).closest('[data-element-type="dm_geo_location"]')[0].scrollIntoView({ behavior: "smooth" })) }) } var V = d.attr("id"); function _searchNearestLoc(o, i) { for (var t = [], n = 0; n < l.length; n++)t.push({ latitude: l[n].latitude, longitude: l[n].longitude, id: l[n].uniqueId }); var a = []; for (n = 0; n < t.length; n++) { var r = t[n], s = i - r.longitude, f = o - r.latitude, w = Math.sqrt(s * s + f * f); a[n] = r, a[n].distance = w } function sorter(e, o) { return e.distance > o.distance ? 1 : -1 } a.sort(sorter); var h = a[0].id; d.find(".dmGeoLocBtn").addClass("geoDisabledState"), c.find('li[geoid="' + h + '"]').data("mode", e(".dmGeoViewStateWrapper").hasClass("isOff") ? "map" : "list").click() } e.DM.events.off("showSingleView:" + V).on("showSingleView:" + V, function (e, o) { _showSingleView.bind(this)(o) }), e.DM.events.off("showMultiView:" + V).on("showMultiView:" + V, function (e, o) { _showMultiView.bind(this)() }), "https:" === window.location.protocol || "localhost" === window.location.hostname ? d.on("click", ".dmGeoLocBtn", function (o) { e.layoutManager._isEditorMode && window.editorParent.jQuery && window.editorParent.jQuery.onefw && !window.editorParent.jQuery.onefw.inPreviewMode || navigator.geolocation && navigator.geolocation.getCurrentPosition(function (e) { p = e.coords.latitude, g = e.coords.longitude, d.find(".dmGeoViewStateWrapper .dmStState").removeClass("isOff"), _searchNearestLoc(p, g) }, function (e) { console.error(e), alert("We do not have permission to access your location. Please enable access in your settings") }) }) : e(".dmGeoLocBtn").hide() }) }(); else !function _initGeoLocationInternalDefault() { e(".dmGeoLocation").each(function (o, n) { var a, d = e(n), r = d.attr("data-editor"), l = i[d.attr("provider")], s = JSON.parse(Base64.decode(r)).locations, c = d.find(".dmGeoMLocList"), f = d.find(".dmGeoMLocMapView"), w = d.find(".dmGeoSingleView"), h = f.find(".dmGeoMLocMapViewMap .mapContainer")[0], u = d.find(".dmGeoMLocList li"), m = d.find(".dmGeoDesktopTitle"), p = {}, g = 0, v = 0; function _handleShowMap(o) { o ? (a && l.cleanup(a, h), c.is(":visible") && w.hide(), p.showAll ? (f.show(), a = l.drawMap({ container: h, options: { fitBounds: !0 }, language: d.attr("data-lang"), markers: s.map(function (o) { var i = { lat: o.latitude, lng: o.longitude, title: o.title, listener: function () { _fillLocationInfoView(o.uniqueId), c.hide(), m.css("visibility", "hidden"); var i = e(".dmGeoViewStateWrapper"); e(".dmStState").removeClass("isOff"), i.removeClass("isOff"), _handleShowMap(!0), w.show() }, clickable: !0 }; return i }) })) : (f.show(), a = l.drawMap({ container: h, lat: p.lat, lng: p.lon, language: d.attr("data-lang"), markers: [{ clickable: !0, lat: p.lat, lng: p.lon, listener: function () { d.find(".dmGeoViewStateWrapper .dmStState").removeClass("isOff"), w.show(), c.hide() }, title: p.title }], zoom: 14 })), t[e(n).attr("id")] = a, f.show(), a.hasOwnProperty("on") && a.on("load", function () { a.resize() })) : (f.hide(), p.showAll && d.find(".dmGeoLocBtn").removeClass("geoDisabledState"), p.showAll ? c.show("fast") : w.show("fast")) } p.showAll = !0, c.is(":visible") && w.hide(); var S = d.find(".dmGeoViewStateWrapper"), G = d.find(".dmGeoStMap"); function _showWrapperAll() { w.hide(), c.show(), d.find(".dmGeoLocBtn").removeClass("geoDisabledState"); var o = e(".dmGeoStList"); o.text(o.attr("list")), _handleShowMap(!0), e(".dmCall.voipReplacement").removeClass("revealPhoneNum") } function _fillLocationInfoView(o) { var i = e(".dmGeoStList"); i.text(i.attr("info")), f.find(".dmGeoLocBtn").hide(); var t = e.grep(s, function (e) { return e.uniqueId == o })[0]; p.showAll = !1, p.lat = t.latitude, p.lon = t.longitude, p.title = t.title, w.find(".dmGeoSVTitle").text(!1 === t.displayTitle ? "" : t.title); var n = t.phone && !1 !== t.displayPhoneNumber ? t.formattedAddress + ", " + t.phone : t.formattedAddress; if (w.find(".dmGeoSVAddr").text(n), (t.phone || t.showPhone) && (w.find(".dmGeoSVPhone a").attr({ href: "tel:" + t.phone, phone: t.phone }), t.clickToCallText && w.find(".dmGeoSVPhone a .text").text(t.clickToCallText)), w.find(".dmGeoSVPhone").toggle(t.showPhone), t.url && !1 !== t.displayLink) { var a; try { a = e(t.url) } catch (o) { a = e('Go to location page') } _adjustGeoAHref(a), a.addClass("dmGeoSVGoToPage"), w.find(".dmGeoSVGoToPage").replaceWith(a), a.show() } else w.find(".dmGeoSVGoToPage").hide(); w.find(".dmGeoSVMoreInfo").text(t.description && !1 !== t.showDescription ? t.description : ""), w.find(".dmGeoSVSeeAll").unbind("click").click(function () { _showMultiView() }) } function _showSingleView(e) { _fillLocationInfoView(e), m.css("visibility", "hidden"), _handleShowMap(!0), w.show(), c.hide() } function _showMultiView() { p.showAll = !0, _showWrapperAll(), m.css("visibility", "visible"), f.find(".dmGeoLocBtn").show() } d.find(".dmGeoStList").unbind("click").click(function () { e.dmrt.isEditorMode && window.editorParent.jQuery && window.editorParent.jQuery.onefw && !window.editorParent.jQuery.onefw.inPreviewMode || (G.removeClass("isOff"), S.removeClass("isOff"), _handleShowMap(!1)) }), _handleShowMap(!0), G.unbind("click").click(function () { e.dmrt.isEditorMode && window.editorParent.jQuery && window.editorParent.jQuery.onefw && !window.editorParent.jQuery.onefw.inPreviewMode || (e(this).hasClass("isOff") ? (G.removeClass("isOff"), S.removeClass("isOff"), _handleShowMap(!1)) : (G.addClass("isOff"), S.addClass("isOff"), _handleShowMap(!0)), "undefined" != typeof _ && _.isUseIscroll() && e.layoutManager.refreshIscroll()) }); for (o = 0; o < u.length; o++) { e(u[o]).unbind("click").click(function () { _showSingleView(e(this).attr("geoid")), e(this).closest('[data-element-type="dm_geo_location"]')[0].scrollIntoView({ behavior: "smooth" }) }) } var M = d.attr("id"); function _searchNearestLoc(o, i) { for (var t = [], n = 0; n < s.length; n++)t.push({ latitude: s[n].latitude, longitude: s[n].longitude, id: s[n].uniqueId }); var a = []; for (n = 0; n < t.length; n++) { var r = t[n], l = i - r.longitude, f = o - r.latitude, w = Math.sqrt(l * l + f * f); a[n] = r, a[n].distance = w } function sorter(e, o) { return e.distance > o.distance ? 1 : -1 } a.sort(sorter); var h = a[0].id; d.find(".dmGeoLocBtn").addClass("geoDisabledState"), c.find('li[geoid="' + h + '"]').data("mode", e(".dmGeoViewStateWrapper").hasClass("isOff") ? "map" : "list").click() } e.DM.events.off("showSingleView:" + M).on("showSingleView:" + M, function (e, o) { _showSingleView(o) }), e.DM.events.off("showMultiView:" + M).on("showMultiView:" + M, function (e, o) { _showMultiView() }), "https:" === location.protocol || "localhost" === window.location.hostname ? d.on("click", ".dmGeoLocBtn", function (o) { e.layoutManager._isEditorMode && window.editorParent.jQuery && window.editorParent.jQuery.onefw && !window.editorParent.jQuery.onefw.inPreviewMode || navigator.geolocation && navigator.geolocation.getCurrentPosition(function (e) { g = e.coords.latitude, v = e.coords.longitude, d.find(".dmGeoViewStateWrapper .dmStState").removeClass("isOff"), _searchNearestLoc(g, v) }, function (e) { console.error(e), alert("We do not have permission to access your location. Please enable access in your settings") }, { timeout: 5e4 }) }) : d.addClass("disableNearestLocation") }) }() } function _adjustGeoAHref(o) { try { if (!o) return; if (window.location.search && window.location.search.indexOf("preview=true") > 0) { var i = o.attr("raw_url"); if (i && 0 == i.indexOf("/site/")) { var t = e.layoutDevice ? e.layoutDevice.type : "mobile"; i = i.replace("dm_device=desktop", "dm_device=" + t), o.attr("href", i) } } "https:" === document.location.protocol && "http:" === o.get(0).protocol && (o.attr("target") || o.attr("target", "_blank")) } catch (e) { } } e.dmrt.register("geolocation", n) }(jQuery); !function (t) { "use strict"; var e, r = !1, a = {}, o = [], i = { selector: ".inlineMap[provider]", ported: !0, default: { ready: function (i, n) { r || (r = !0, function initializeProviders() { a.google = t.geoProviders.google, a.openstreetmap = t.geoProviders.openstreetmap, a.mapbox = t.geoProviders.mapbox, e = window.runtime.API.geoProvider }()), function cleanupMaps(e) { for (var r = 0; r < o.length; r++) { var i = o[r].map, n = o[r].container; if (0 !== t(n).length) { var p = t(n).attr("provider"); a[p].cleanup(i) } } o = [] }(); var p = Object.keys(a).map(function (e) { return 0 === t(".inlineMap[provider=" + e + "]").length ? Promise.resolve() : Promise.resolve(a[e].init()) }); Promise.all(p).then(initMaps) }, load: function (t) { }, initGoogleMaps: function _inlineGMapInit() { }, refreshStyle: function _refreshStyle() { for (var e = 0; e < o.length; e++) { var r = o[e].map, i = o[e].container, n = t(i).attr("provider"), p = a[n], l = i.attr("data-color-scheme"), s = i.attr("data-layout"); p.refreshStyle(r, { layout: s, colorScheme: l }) } }, refreshZoom: function _refreshZoom() { for (var e = 0; e < o.length; e++) { var r = o[e].map, i = o[e].container, n = t(i).attr("provider"), p = a[n], l = Number.parseInt(t(i).attr("data-zoom"), 10); p.refreshZoom(r, l) } }, keepMapPopupOpen: function _keepMapPopupOpen(e) { for (var r = 0; r < o.length; r++) { var i = o[r].map, n = o[r].container; if (n.attr("id") === e) { var p = t(n).attr("provider"), l = a[p]; t(n).attr("editor-always-show-popup", "true"), "always" !== t(n).attr(popupDisplayAttr(t.layoutDevice.type)) && l.openPopup(i) } } }, removeKeepMapPopupOpen: function _removeKeepMapPopupOpen(e) { for (var r = 0; r < o.length; r++) { var i = o[r].map, n = o[r].container; if (n.attr("id") === e) { var p = t(n).attr("provider"), l = a[p]; t(n).attr("editor-always-show-popup", "false"), "always" !== t(n).attr(popupDisplayAttr(t.layoutDevice.type)) && l.closePopup(i) } } }, refreshPopup: function _refreshPopup(e) { for (var r = 0; r < o.length; r++) { var i = o[r].map, n = o[r].container; if (n.attr("id") === e) { var p = t(n).attr("provider"); a[p].refreshPopup(i) } } }, refreshSize: _refreshSize }, mobile: {}, tablet: {}, desktop: {} }; function initMaps() { t.dmrt.isEditorMode && (t.DM.events.on("widget_resize", function (e, r) { t(r).is(".inlineMap") && _refreshSize() }), t.DM.events.on("col_resize", function (e, r) { t(r).is(".inlineMap").length > 0 && _refreshSize() }), t.DM.events.on("row_resize", function (e, r) { t(r).find(".inlineMap").length > 0 && _refreshSize() })), Array.from(t(".inlineMap")).forEach(function initializeMap(r) { var i = t(r), n = { lat: i.attr("data-lat") || i.attr("lat"), lng: i.attr("data-lng") || i.attr("lon") }, p = i.attr("data-address"); n.lat && n.lng ? initMap(n) : e.search({ query: p }).then(function (t) { if (t.length <= 0) return null; var r = t[0]; return r.y && r.x ? { lat: r.y, lng: r.x } : e.getLocationDetails(r) }).then(function (t) { t && initMap({ lat: t.lat, lng: t.lng }) }); function initMap(e) { return o.find(function (t) { return t.container[0].id === r.id }) ? Promise.resolve() : window.requestAnimationFrame(function () { !function _initMap(e, r) { var i = t(e), n = i.attr("provider"), p = a[n], l = { height: i.attr("data-height"), lat: r.lat, lng: r.lng, zoom: parseInt(i.attr("data-zoom"), 10), layout: i.attr("data-layout"), colorScheme: i.attr("data-color-scheme"), language: i.attr("data-lang"), container: e }; if ("button" === i.attr("mode" + t.layoutDevice.type)) return; l.options = {}, l.options.scrollWheelZoom = !1, l.options.dragging = !t.dmrt.isEditorMode, l.options.fullScreenSwitcher = !(t.DM.isPreview() || "mobile" === t.layoutDevice.type), l.height && i.css("height", l.height); var s, u = i.attr("data-popup-title") || "", d = i.attr("data-popup-description") || "", c = ""; c += "

" + u + "

", c += "
" + d + "
", s = t.dmrt.isEditorMode && i.attr("editor-always-show-popup") ? "always" : i.attr(popupDisplayAttr(t.layoutDevice.type)); l.popupOptions = { html: c, display: s, show: i.attr("data-popup-show") && "false" !== i.attr("data-popup-show") }, l.options.doubleClickZoom = !0, l.options.satelliteSwitcher = !0; var f = p.drawMap(l); o.push({ map: f, container: i }) }(r, e) }) } }) } function _refreshSize() { for (var e = 0; e < o.length; e++) { var r = o[e].map, i = o[e].container, n = t(i).attr("provider"); a[n].refreshSize(r) } } function popupDisplayAttr(t) { return "tablet" === t || "mobile" === t ? "data-popup-display-mobile" : "data-popup-display-desktop" } t.dmrt.register("inlinemap", i) }(jQuery); !function (n) { "use strict"; n.extend(n.modules, { multilingual: {} }); var t = { selector: ".multilingualWidget", default: { ready: function (t, e) { function isDropdown() { return n(".multilingualWidget.dropdown").length > 0 } function closeDropdown(n) { n.removeClass("open") } function toggleDropdown(t, e) { t.hasClass("open") ? setTimeout(function () { closeDropdown(t) }, 100) : function openDropdown(t, e) { t.addClass("open"), e.css("bottom", ""); var i = (t.parents(".layout-drawer").length ? n(".layout-drawer") : n(".dm_wrapper"))[0].getBoundingClientRect(), o = t[0].getBoundingClientRect(), a = e[0].getBoundingClientRect(), l = i.height - (t.offset().top + o.height + a.height), r = t.offset().top - a.height; l <= 10 && l <= r && e.css("bottom", t.find(".current-language").height()) }(t, e) } function bindLanguageSwitch() { n(".multilingualWidget a").off("click.languageSwitch").on("click.languageSwitch", function (t) { if (!function isEditor() { try { if (!n.editGrid.helpers.isPreviewMode()) return !0 } catch (n) { } return !1 }()) { if (isDropdown() && n(this).parent().is(".current-language")) { var e = n(this).parents(".multilingualWidget"), i = e.find(".other-languages"); return toggleDropdown(e, i), t.preventDefault(), void t.stopImmediatePropagation() } if (isDropdown()) { var o = n(this).attr("href"); n(".multilingualWidget").each(function () { var t = n(this), e = t.find(".current-language"), i = n(this).find('a[href="' + o + '"]'); e.find("a").insertAfter(i), i.appendTo(e), closeDropdown(n(this), t.find(".other-languages")) }) } } }) } !function initDropdown() { !function calculateSocialHeaderWidth() { var t = n(".dm-no-flexbox .innerMultilingualRow.visibleMultilingual + .innerSocialRow").not(".displayNone"); if (t.length > 0) { var resize = function () { var e = n(".innerMultilingualRow").outerWidth(), i = n(".social-multilingual-container").outerWidth() - e - 40; t.width(i).show() }; resize(), n(window).off("resize.socialHeader").on("resize.socialHeader", resize) } }(), void 0 !== e.data && e.data.relAlternateLanguageLinksMarkup && (n('link[rel="alternate"]').remove(), n("head").append(n(e.data.relAlternateLanguageLinksMarkup))); var t = n(".multilingualWidget.dropdown"); t.find(".other-languages"), bindLanguageSwitch(), function bindOutsideArea(t, e) { n(document).off("mouseup.closeMultilingual").on("mouseup.closeMultilingual", function (n) { isDropdown() && (t.is(n.target) || 0 !== t.has(n.target).length || closeDropdown(t)) }) }(t), function setDropdownCurrentLanguageWidth() { n(".multilingualWidget.dropdown.long-label").each(function () { var t = n(this).find("span.name"), e = n(this).children("div"), i = t.map(function () { return 7 * n(this).text().length }).get(), o = Math.max.apply(this, i); o > n(this).find(".current-language .name").width() && e.css("minWidth", o + 60) }) }() }() }, load: function (n) { } }, mobile: {}, tablet: {}, desktop: {} }; n.dmrt.register("multilingual", t) }(jQuery); !function (e, t) { "use strict"; const n = {}; let o; const s = ['[link_type="close_popup"]', '[type="close_popup"]'], i = { runAt: "start", default: { ready: function (e) { _currentPage && _currentPage.pageContent && _currentPage.pageContent.popups && _currentPage.pageContent.popups.forEach(function (e) { i.addPopup(e) }) }, load: function (n) { t.popups && t.popups.forEach(function (e) { i.addPopup(e) }), o = e("
") } }, addPopup: function (e) { n[e.name] = e }, updatePopupSettings: function (t, o) { const s = n[t]; s && e.extend(s.options, o) }, cleanCloseButtons: void 0, initializeCloseButtons: function (e) { function closeFromContainer(e) { const n = s.map(e => `${e}, ${e} *`).join(","); e.target.matches(n) && (e.preventDefault(), e.stopPropagation(), t.dmHidePopup()) } [...e.querySelectorAll(s.join(","))].forEach(e => { e.onclick = t.dmHidePopup }), e.addEventListener("click", closeFromContainer), this.cleanCloseButtons = function () { e.removeEventListener("click", closeFromContainer) } }, initializeSSR: function (e) { if (!t.SSRRuntime?.RuntimeReactHelpers.hydrate) { const t = function markupToHtmlFragment(e, t = document) { return t.createRange().createContextualFragment(e) }(e.ssr_script); document.body.append(t) } }, displayClassicPopup: function (o, s) { const a = n[o]; if (a) { s = s || {}; const n = { animation: a.options.animation ? a.options.animation : "none", onClose: s.onClose, onOpen: s.onOpen, dontOverlay: !0 }; t.showOverlay({ overlayColor: a.options.overlayColor }), dmAPI.runBeforeAjaxNavigation("popup", function () { e.DM.hideAllPopups({ forceClose: !0 }) }), fetch(a.url + (a.url.includes("?") ? "&" : "?") + "dm_ajaxCall=true&t=1212", { method: "GET", headers: { "Content-Type": "application/json; charset=UTF-8", Accept: "application/json" } }).then(e => { if (!e.ok) throw new Error("Network response was not ok"); return t.exportsite ? e.text() : e.json() }).then(o => { let p = o; if (t.exportsite && (p = { content: p }), p && p.content) { const o = e(''), c = p.customwidgetsdata?.map(e => e.css).join("\n"); p.css = p.css || "", p.devicecss = p.devicecss || "", p.customwidgetcss = c || "", p.additionalWidgetCss = p.additionalWidgetCss || "", p.pageFontSizeStyle = p.pageFontSizeStyle || "", o.append(p.css), o.append(p.devicecss), o.append(p.customwidgetcss), o.append(p.additionalWidgetCss), o.append(p.pageFontSizeStyle); const l = e(p.content).find(".dmRespRowsWrapper"), r = e(p.content).find(".dmContent"); n.hasOverlay = r.is(".hasBackgroundOverlay"), n.videoBg = r.attr("data-video-bg"), l.append(o), function addStyleSheetLinksIfNeeded(e, t) { const n = t || document; if (!Array.isArray(e) || !e.length) return; e.forEach(function (e) { if ("string" != typeof e || !e) return; const t = 'link[rel="stylesheet"][href="' + e.replace(/"/g, '\\"') + '"]'; if (!!!n.querySelector(t)) { const t = n.createElement("link"); t.setAttribute("rel", "stylesheet"), t.setAttribute("href", e), (n.head || n.getElementsByTagName("head")[0]).appendChild(t) } }) }(p.styleSheetLinks), s.additionalAttributes && s.additionalAttributes.forEach(e => { l.attr(e.name, e.value) }), null !== p.flexstyles && p.flexstyles.length && p.flexstyles.forEach(e => { t.runtime.API.flexRuntimeApi.addFlexSectionStyle(e) }), t.dmShowPopupPage(l, "dmPopupInner u_dm_content", a.options.width, a.options.height, n), e.DM.initNonAjaxPopups(), t.setCustomWidgetScripts(p.customwidgetsdata), t.setCustomWidgetStrings(p.customwidgetstrings), e.DM.afterAjaxGeneralInits(); const u = document.getElementById("dmPopup"); u && i.initializeCloseButtons(u), p.popups && p.popups.forEach(e => { i.addPopup(e) }), function fixVideoFullScreen() { const n = e("#dmPopup"), o = e("#dmPopupMask"), s = "webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange"; function doFix() { document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement ? (n.css("overflow-y", "unset"), o.css("opacity", 0)) : (n.css("overflow-y", ""), o.css("opacity", "")) } n.length && n.find(".youtubeExt").length && e(document).on(s, doFix); t.resetFixVideoFullScreen = function () { e(document).off(s, doFix) } }(), i.initializeSSR(p), null !== t._gaq && t.dm_gaq_push_event("popup", "show_popup", a.url) } else t.dmHidePopup() }).catch(e => { console.error("Error fetching data:", e), t.dmHidePopup() }) } }, displayPopup: function (e, n) { return t.flexSite ? runtime.displayFlexPopup(e, n) : i.displayClassicPopup(e, n) }, mobile: {}, tablet: {}, desktop: {} }; e.dmrt.register("popupService", i) }(jQuery, window); !function (e) { "use strict"; var t = { selector: ".dmRestaurantMenu", default: { ready: function (e) { }, load: function (e) { } }, mobile: { attachListeners: function (t) { var n = e(".dmRestaurantMenu"), i = "true" === n.attr("mobile_category_show_all"), o = "true" === n.attr("mobile_category_show_first"), r = "true" === n.attr("mobile_category_show_one"), s = e(document.querySelectorAll(".dmRestaurantMenu .menuCategory")); function toggleVisibility(e) { const t = $(e); t.find(".menuItemsWrapper").toggleClass("hidden"), t.find(".menuItemDesc").toggleClass("hidden"); const n = t.find(".menuCatArrow"); return n.hasClass("icon-chevron-up") ? n.removeClass("icon-chevron-up").addClass("icon-chevron-down") : n.removeClass("icon-chevron-down").addClass("icon-chevron-up"), t } function isCategoryOpened(e) { return !e.find(".menuItemsWrapper").hasClass("hidden") } var handleItemCloseOrOpen = function (e) { if (!window.isMobileDevice || $ && $.editGrid && $.editGrid.inPreviewMode()) { const t = toggleVisibility(e.currentTarget), n = isCategoryOpened(t); if (r && n) { let e = null; for (let n = 0; n < s.length; n++) { const i = $(s[n]); if (isCategoryOpened(i) && i[0] !== t[0]) { e = i; break } } e && toggleVisibility(e) } } }; if (s.length > 0) { for (var a = !1, c = 0; c < s.length; c++) { var l = $(s[c]); 0 !== l.find(".menuItemsWrapper").length && (l.off("click.toggleMenuItem").on("click.toggleMenuItem", handleItemCloseOrOpen), o && 0 !== c ? (toggleVisibility(l), a = !0) : i || o || (toggleVisibility(l), a = !0)) } if (a) { var u = location.hash && "#" !== location.hash ? location.hash : ""; u && $.DM.scrollToAnchor($(u), { duration: 1 }) } } }, ready: function () { window.isDudaone && (fixEdgeHoverEffects(), this.attachListeners(!0)) } }, tablet: { ready: function () { fixEdgeHoverEffects() } }, desktop: { ready: function () { fixEdgeHoverEffects(), $(".dmRestaurantMenuDesktopLeftSideList li").each(function (e) { $(this).off("click.goto").on("click.goto", function (e) { return function () { var t = $(".dmRestaurantMenuDesktopRightSide li.menuCategory").eq(e); $.DM.scrollPreviewToElement(t) } }(e)) }) } } }; function fixEdgeHoverEffects() { try { e.browser.msie && $(".imageWrapper[data-hover-effect]").each(function () { var e = $(this).parent(), t = $(this).css("width"); e.find(".menuItemName").css("margin-left", t), e.find(".menuItemDesc").css("margin-left", t) }) } catch (e) { } } $.dmrt.register("restmenu", t) }($); !function (t) { "use strict"; var e = { selector: ".dmOuter, .dmPopup", default: { ready: function (t) { }, load: function (t) { } }, all: { ready: function (e) { t(".dmOuter, .dmPopup").off("click.shareClick", ".dmShareWidget > a").on("click.shareClick", ".dmShareWidget > a", function (e) { var r; if (_checkClickAvailability(e)) { r = t(this); try { dm_gaq_push_event("Share", "Clicked", r.attr("data-target")) } catch (t) { } } }) } }, mobile: { ready: function (e) { t(".dmOuter, .dmPopup").off("click.showSharePopup", ".dmShareWidget, .shareLink").on("click.showSharePopup", ".dmShareWidget, .shareLink", function (e) { _checkClickAvailability(e) && _setPageUrl(t(this), !0) }) } }, tablet: { ready: function (e) { t(".dmOuter").off("click.showSharePopup", ".shareLink").on("click.showSharePopup", ".shareLink", function (e) { var r; _checkClickAvailability(e) && (r = t(this), _setPageUrl(r, !1), _showPopUp(this.dataset.href)) }) } }, desktop: { ready: function (e) { t(".dmOuter").off("click.showSharePopup", ".shareLink").on("click.showSharePopup", ".shareLink", function (e) { var r; if (_checkClickAvailability(e)) { r = t(this); try { dm_gaq_push_event("Share", "Clicked", r.attr("data-target")) } catch (t) { } _setPageUrl(r, !1), _showPopUp(this.dataset.href) } }) } } }, _setPageUrl = function (t, e) { var r = e ? "href" : "data-href", i = window.location.href, a = _setShareLinks(t, i), o = /(\&site=.*?\&)/gi; t.closest(".fbShare").attr(r, a.facebook), t.closest(".twitterShare").attr(r, a.twitter), t.closest(".linkedinShare").attr(r, a.linkedin), t.closest(".whatsappShare").attr("href", a.whatsapp); var n, d = t.closest(".emailShare"); d.length && !d.parent(".share-icons").length ? (n = d.attr("data-href").replace(o, "&site=" + i + "&"), d.attr(r, n)) : d.attr("href", a.email), t.closest(".fbLikeDiv").find("a").attr(r, a.facebook), t.closest(".twitterDiv").find("a").attr(r, a.twitter), t.closest(".dmLinkedInDiv").find("a").attr(r, a.linkedin); var s = t.closest(".dmShareByMail").find("a"); s.length && (n = s.attr("href").replace(o, "&site=" + i + "&"), s.attr(r, n)) }, _setShareLinks = function (t, e) { var r = t.closest(".dmShare").attr("text") || "I wanted to share this great website with you"; return { facebook: "http://www.facebook.com/sharer/sharer.php?u=" + e, twitter: "http://twitter.com/intent/tweet?text=" + r + "&url=" + e, linkedin: "http://www.linkedin.com/shareArticle?mini=true&url=" + e + "&title=" + r, whatsapp: "https://api.whatsapp.com/send?text=" + r + " " + e, email: "mailto:?subject=" + r + "&body=" + e } }, _showPopUp = function (t, e, r, i) { if (r = r || 600, i = i || 560, t) { var a = screen.width / 2 - r / 2, o = screen.height / 2 - i / 2; return window.open(t, e, "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=" + r + ", height=" + i + ", top=" + o + ", left=" + a) } }, _checkClickAvailability = function (e) { var r = window.editorParent.jQuery && window.editorParent.jQuery.onefw && window.editorParent.jQuery.onefw.inPreviewMode; if (!(window.editorParent && window.editorParent.jQuery && window.editorParent.jQuery.dmfw) || window.editorParent.jQuery.onefw && window.editorParent.jQuery.onefw.inPreviewMode) { if (r) { var i = { relativeDirection: "top", tipsContainer: window.editorParent.$ ? window.editorParent.$("#_preview_w") : void 0, bodyText: "You can't use the widget to share a site from Preview mode.", title: "Share" }; return window.editorParent.$ && window.editorParent.$.dmpages && window.editorParent.$.dmpages.showOuterLinkPrompt(null, "_blank", t(e.target), i), !1 } return !0 } return !1 }; t.dmrt.register("shareModule", e) }(jQuery); !function (t) { "use strict"; var e = { selector: ".dmTwitterFeed", default: { ready: function (t) { initTwitterFeed({}) }, load: function (t) { } }, mobile: {}, tablet: {}, desktop: {} }; function initTwitterFeed(e) { t(document).ready(function () { setTimeout(function () { e = e || {}; var i = jQuery(".dmTwitterFeed:visible"); const n = i.filter((t, e) => function isInViewport(t) { const e = t.getBoundingClientRect(); return e.top >= 0 && e.left >= 0 && e.bottom <= (window.innerHeight || document.documentElement.clientHeight) && e.right <= (window.innerWidth || document.documentElement.clientWidth) }(e)); if (n.size() > 0 && initTwitterFeedInternal(e, n), i.length > n.length) { var r = t(window); t.DM.isBodyScrollable() || (r = jQuery.layoutManager.getLayoutElement().iscrollBody.element), r.off("scroll.init touchstart.init").on("scroll.init touchstart.init", function (i) { t(this).off(i); var n = jQuery(".dmTwitterFeed:visible"); initTwitterFeedInternal(e, n) }) } }, 600) }) } function initTwitterFeedInternal(e, i) { e = e || {}, i.length > 0 && t.DM.loadExternalScriptAsync("https://platform.twitter.com/widgets.js", function () { for (var n = 0; n < i.length; n++) { var r = t(i[n]), a = r.attr("twitterType"), d = r.attr("twitterUserName"), o = r.attr("numberOfTweets"), c = (r.hasClass("dmTwitterNoScroll"), "true" === r.attr("hideHeaderFooter") ? 'data-chrome="nofooter noheader"' : ""), l = r.attr("lang") ? r.attr("lang") : "EN", s = window.rtFlags["twitter.heightLimit.enabled"] ? 'data-height="600"' : `data-tweet-limit="${o}"`; "Profile" == a ? r.html(``) : "ProfileReplies" == a ? r.html(``) : "Search" == a || r.html(``) } twttr.widgets.load(), parent.window.$.dmfw && twttr.events.bind("loaded", function (e) { var i; t(e.widgets).each(function (e, n) { if ((i = t(n).parents(".dmTwitterFeedWrapper")).length) return t.editGrid.addWidgetToGrid(i.get(0), !0), !1 }) }), e && e.callback && e.callback(), function checkTwitterLoaded() { if ("" == t(".twitter-timeline-rendered").contents().find("body").html()) { setTimeout(function () { checkTwitterLoaded() }, 100) } else setTimeout(function () { t.DM.updateAfterInit() }, 1500) }(), navigator.userAgent.match(/Windows Phone/i) || navigator.userAgent.match(/iEMobile/i) || t(".dmTwitterFeed").each(function (e) { var i = t(this), n = (i.find("iframe"), t("
").addClass("dmTwitterRuntimeWrapper")); i.append(n), n.off("click.iframe").on("click.iframe", function (t) { var e = i.parent().find("iframe").get(0), n = e.contentDocument ? e.contentDocument : e.contentWindow.document, r = t.offsetX, a = t.offsetY, d = n.elementFromPoint(r, a), o = n.createEvent("HTMLEvents"); o.initEvent("click", !0, !0), d && d.dispatchEvent && d.dispatchEvent(o) }) }) }, !0) } t.DM.initTwitterFeed = t.DM.initTwitterFeed || initTwitterFeed, t.DM.initTwitterFeedInternal = t.DM.initTwitterFeedInternal || initTwitterFeedInternal, t.dmrt.register("twitterfeed", e) }(jQuery); !function (e) { "use strict"; e.extend(e.modules, { video: {} }); var t = { selector: ".innerVideojsExt, .innerYoutubeExt", default: { ready: function (t, n) { var i; (i = e(".innerVideojsExt .video-js")).length && function _loadScript() { return e.loadCss([{ path: "https://vjs.zencdn.net/5.11/video-js.min.css" }]), e.DM.loadExternalScriptAsync("https://vjs.zencdn.net/5.11/video.min.js") }().then(function () { !function _initVideos(e, t) { e.each(function (e, n) { _handleVideo(n, t) }) }(i, t) }), (i = document.querySelectorAll(".innerYoutubeExt video")).length && function _hasStreamingVideos() { if (!function supportsHLS() { var e = document.createElement("video"); return Boolean(e.canPlayType("application/vnd.apple.mpegURL") || e.canPlayType("audio/mpegurl")) }()) for (var e = document.querySelectorAll(".innerYoutubeExt video"), t = 0; t < e.length; t++) { var n = e[t].getAttribute("src"); if (n && n.endsWith(".m3u8")) return !0 } return !1 }() && function _loadStreamingScript() { return e.DM.loadExternalScriptAsync("https://static.cdn-website.com/_dm/s/rt/scripts/vendor/hls/hls.js") }().then(function () { !function _initStreamingVideos() { for (var e = document.querySelectorAll(".innerYoutubeExt video"), t = 0; t < e.length; t++) { var n = e[t], i = n.getAttribute("src"); if (i.endsWith(".m3u8")) try { var o = new Hls; o.loadSource(i), o.attachMedia(n) } catch (e) { } } }() }), function _initTracking() { for (var e = document.querySelectorAll("video"), t = 0; t < e.length; t++) { var n = e[t], i = n.getAttribute("src"); n.addEventListener("play", function () { _trackVideoEvent(i) }) } }() }, load: function (e, t) { } }, mobile: {}, tablet: {}, desktop: {} }; function _handleVideo(e, t) { var n = videojs(e.id); t && (n.play = function () { }), n.on("ended", function () { n.currentTime(0), n.trigger("loadstart") }) } function _trackVideoEvent(e) { window.dm_gaq_push_event && window.dm_gaq_push_event("VideoPlay", "VideoPlay", e) } t.handleVideo = _handleVideo, e.dmrt.register("video", t) }(jQuery); !function (t) { "use strict"; var i = t.Deferred(), o = "data-video-bg", r = { selector: "[data-video-bg], .videobgwrapper", default: { ready: function (t) { }, load: function (t) { } }, mobile: { ready: function (t) { initBackgroundVideo(t) } }, tablet: { ready: function (t) { initBackgroundVideo(t) } }, desktop: { ready: function (t) { initBackgroundVideo(t) } }, refreshVideoBg: refreshVideoBG, setOpacity: function setOpacity(t, i) { (i = 1 * (i || 1)) > 1 && (i /= 100); t.children(".videobgwrapper").css("opacity", i) } }, a = {}, d = { youtube: { init: function initYoutubeVideo(o, r, a, d, s) { window.onYouTubeIframeAPIReady = function () { i.resolve() }, t.DM.loadExternalScriptAsync("https://www.youtube.com/iframe_api"), toggleVideoWrapperVisibility(a, !1), i.then(function () { new YT.Player(o, { videoId: r, playerVars: { modestbranding: 1, autoplay: 1, controls: 0, wmode: "transparent", hd: 1, rel: 0, autohide: 1, showinfo: 0, origin: window.location.origin, loop: s ? 1 : null, playlist: s ? r : null }, events: { onReady: function (t) { t.target.mute(), adjustVideoSize(a), registerVideo(o, t, "youtube") }, onStateChange: function (t) { t.data == YT.PlayerState.PLAYING && toggleVideoWrapperVisibility(a, !0) } } }) }) }, pause: function (t) { t.target.pauseVideo() }, resume: function (t) { t.target.playVideo() } }, vimeo: { init: function initVimeoVideo(i, o, r, a, d) { var s = t(""); s.attr("src", "https://player.vimeo.com/video/" + o + "?background=1&api=1&autoplay=1&loop=" + (d ? "1" : "0") + "&title=0&byline=0&muted=1&player_id=" + i), s.attr("id", i), r.find("#" + i).replaceWith(s); var u = $f(s[0]); u.addEvent("ready", function () { u.api("setVolume", 0), adjustVideoSize(r), registerVideo(i, u, "vimeo") }) }, pause: function (t) { t.api("pause") }, resume: function (t) { t.api("play") } }, dailymotion: { init: function initDailyMotionVideo(i, o, r, a, d) { var s = t(""); s.attr("src", "https://www.dailymotion.com/embed/video/" + o + "?autoplay=1&queue-enable=false&mute=1&loop=" + (d ? "1" : "0") + "&title=0&byline=0&related=0"), s.attr("id", i), r.find("#" + i).replaceWith(s), adjustVideoSize(r) }, pause: function (t) { }, resume: function (t) { } }, cdn: { init: function initCDNVideo(i, o, r, a, d) { var s = t("'); s.attr("id", i), r.find("#" + i).replaceWith(s), r.hasClass("video-ssr") || adjustVideoSize(r); !function supportsHLS() { var t = document.createElement("video"); return Boolean(t.canPlayType("application/vnd.apple.mpegURL") || t.canPlayType("audio/mpegurl")) }() && o.endsWith(".m3u8") && t.DM.loadExternalScriptAsync("https://static.cdn-website.com/_dm/s/rt/scripts/vendor/hls/hls.js", function () { try { var t = new Hls; t.attachMedia(s.get(0)), t.on(Hls.Events.MEDIA_ATTACHED, function () { t.loadSource(o), adjustVideoSize(r) }) } catch (t) { } }) }, pause: function (t) { }, resume: function (t) { } } }; function initBackgroundVideo(i) { !function clearVideos() { a = {} }(); var r = document.querySelectorAll(".videobgwrapper"), d = t("[data-video-bg]:not([data-video-init])"); r.forEach(function removeVideosWithNoData(t) { var i = t.parentElement; i.hasAttribute(o) || i.removeChild(t) }), d.each(function () { refreshVideoBG(t(this)) }), t(".videobgwrapper:not(.video-ssr)").each(function () { adjustVideoSize(t(this)) }), t(window).off("resize.yt").on("resize.yt", function () { t(".videobgwrapper:not(.video-ssr)").each(function () { adjustVideoSize(t(this)) }) }), function initVisibilityEvents() { document.addEventListener("visibilitychange", respondToVisibilityChange), respondToVisibilityChange() }() } function refreshVideoBG(t) { var i = t && t[0]; i && domRefreshVideoBG(i) } function domRefreshVideoBG(i) { var r, s = i.querySelector(".videobgwrapper"), u = "videobgframe-" + i.id; if (r = s ? s.classList : ["videobgwrapper", "video-ssr"], s) { var c = s.parentElement; s.remove(); var f = c.querySelector(".bgExtraLayerOverlay"); f && f.remove() } if (i.classList.remove("relativePos", "hasExtraLayerOverlay"), function removeVideo(t) { delete a[t] }(u), i.hasAttribute(o)) { var p = i.dataset.videoBg; try { if ("mobile" === t.layoutDevice.type && "true" !== i.dataset.videoBgMobile) return; var v = i.dataset.videoBgNoLoop, y = !v || "true" !== v, m = JSON.parse(function decode(t) { return "undefined" == typeof atob ? Base64.decode(t) : atob(t) }(p)); if ("desktop" !== t.layoutDevice.type && "youtube" === m.provider) return; var h = m.id, b = d[m.provider], w = m.poster; if (!h || !b) return; var V = function generateWrapper(t, i) { var o = document.createElement("div"); i.forEach(function (t) { o.classList.add(t) }); var r = document.createElement("div"); return r.id = t, r.classList.add("videobgframe"), o.appendChild(r), o }(u, r), E = (window.getComputedStyle(i, ":before"), function generateOverlay(t) { var i = t.element, o = i.querySelector(".bgExtraLayerOverlay"); o || (o = document.createElement("div")).classList.add("bgExtraLayerOverlay"); return o }({ element: i })); i.insertBefore(E, i.firstChild), i.insertBefore(V, i.firstChild), function setOpacityDom(t, i) { var o = t.querySelector(".videobgwrapper"); if (o) { var r = 1 * (i || 1); o.style.opacity = r > 1 ? r / 100 : r } }(i, m.opacity), V.setAttribute("data-ratio", m.ratio || ""), i.classList.add("hasExtraLayerOverlay", "relativePos"), b.init(u, h, t(V), w, y) } catch (t) { } } else { var S = "[" + o + "]"; Array.from(i.querySelectorAll(S)).forEach(function (t) { domRefreshVideoBG(t) }) } } function registerVideo(t, i, o) { a[t] = { obj: i, type: o }, respondToVisibilityChange() } function adjustVideoSize(t, i) { i = i || 1 * t.attr("data-ratio") || 9 / 16; var o = t.find(".videobgframe"); o.css("min-height", i * t.outerWidth() + "px"), o.css("min-width", 1 / i * t.outerHeight() + "px") } function toggleVideoWrapperVisibility(t, i) { i ? t.css("left", "0px") : t.css("left", "-10000px") } !function () { function e(t) { return new e.fn.init(t) } function g(t, i, r) { if (!r.contentWindow.postMessage) return !1; t = JSON.stringify({ method: t, value: i }), r.contentWindow.postMessage(t, o) } function l(r) { var a, d; try { d = (a = JSON.parse(r.data)).event || a.method } catch (t) { } if (!a) return !1; if ("ready" != d || i || (i = !0), !/^https?:\/\/player.vimeo.com/.test(r.origin)) return !1; "*" === o && (o = r.origin), r = a.value; var s = a.data, u = "" === u ? null : a.player_id; return a = u ? t[u][d] : t[d], d = [], void 0 !== r && d.push(r), s && d.push(s), u && d.push(u), 0 < d.length ? a && a.apply(null, d) : a && a.call() } function n(i, o, r) { r ? (t[r] || (t[r] = {}), t[r][i] = o) : t[i] = o } var t = {}, i = !1, o = "*"; e.fn = e.prototype = { element: null, init: function (t) { return "string" == typeof t && (t = document.getElementById(t)), this.element = t, this }, api: function (t, i) { if (!this.element || !t) return !1; var o = this.element, r = "" !== o.id ? o.id : null, a = i && i.constructor && i.call && i.apply ? null : i, d = i && i.constructor && i.call && i.apply ? i : null; return d && n(t, d, r), g(t, a, o), this }, addEvent: function (t, o) { if (!this.element) return !1; var r = this.element, a = "" !== r.id ? r.id : null; return n(t, o, a), "ready" != t ? g("addEventListener", t, r) : "ready" == t && i && o.call(null, a), this }, removeEvent: function (i) { if (!this.element) return !1; var o = this.element, r = "" !== o.id ? o.id : null; e: { if (r && t[r]) { if (!t[r][i]) { r = !1; break e } t[r][i] = null } else { if (!t[i]) { r = !1; break e } t[i] = null } r = !0 } "ready" != i && r && g("removeEventListener", i, o) } }, e.fn.init.prototype = e.fn, window.addEventListener ? window.addEventListener("message", l, !1) : window.attachEvent("onmessage", l), window.Froogaloop = window.$f = e }(); function respondToVisibilityChange() { var i = "visible" === document.visibilityState ? "resume" : "pause"; t.each(a, function (t, o) { try { d[o.type][i](o.obj) } catch (t) { } }) } t.dmrt.register("videobg", r) }(jQuery); !function (e) { e.extend({ getCookie: function (e) { for (var t = document.cookie.split(";"), o = "", i = "", n = !1, r = 0; r < t.length; r++) { if ((o = t[r].split("="))[0].replace(/^\s+|\s+$/g, "") == e) return n = !0, o.length > 1 && (i = unescape(o[1].replace(/^\s+|\s+$/g, ""))), i; o = null } if (!n) return null }, setCookie: function (e, t, o, i, n) { var r = new Date; r.setTime(r.getTime()), o && (o = 1e3 * o * 60 * 60); var s = new Date(r.getTime() + o); document.cookie = e + "=" + escape(t) + (o ? ";expires=" + s.toGMTString() : "") + (i ? ";path=" + i : "") + (n ? ";secure" : "") }, dmCookies: { prefixKey: function (e) { return "_dm_" + (e || "") }, set: function (t, o) { e.dmCookies.setWithPath("/", t, o) }, get: function (t) { return e.getCookie(e.dmCookies.prefixKey(t)) }, clear: function (t) { e.setCookie(e.dmCookies.prefixKey(t), null) }, setWithPath: function (t, o, i) { e.setCookie(e.dmCookies.prefixKey(o), i, void 0, t) } } }) }(jQuery); function initOnScriptLoad() { setTimeout(() => { $(document).ready(() => { $.layoutManager._isEditorMode ? $("body").addClass("bodyInsideD1") : $.layoutManager.initLayout(), window.runtime && runtime.initAnchorsApp() }) }, 0) } $.layoutManager = { _isEditorMode: !!$.DM.getQueryParam(window.location.href, "nee"), initLayout: function () { document.addEventListener("DOMContentLoaded", () => window.runtime.initLayout()) }, afterInitNav: function () { }, isLayoutDomReady: function () { return !0 }, setCurrentLayout: function (t, n) { n = n || "mobile", window.Parameters.LayoutID[n] = t }, getCurrentLayout: function (t) { return t = t || "mobile", window.Parameters.LayoutID[t] }, closeAllOpenedNavs: function () { }, layoutAfterAjax: function () { }, updateContainerMinimumHeight: function () { } }, $.layoutDevice = { components: {}, get type() { return window.matchMedia("(max-width: 767px)").matches ? "mobile" : window.matchMedia("(max-width: 1024px)").matches ? "tablet" : "desktop" } }, $.commonComponents = {}, $.extend($.DM, { initNavbar: () => { }, hangEventsOnMoreLess: () => { }, collapseNavigation: () => { } }), initOnScriptLoad(); !function (c, l, a) { "use strict"; const s = {}; var d, p; console.warn = console.warn && console.warn.bind(console) || console.log.bind(console), c.resolved = c.Deferred().resolve().promise(), c.rejected = c.Deferred().reject().promise(), window.requestIdleCallback = window.requestIdleCallback || function (c) { return setTimeout(function () { var l = Date.now(); c({ didTimeout: !1, timeRemaining: function () { return Math.max(0, 50 - (Date.now() - l)) } }) }, 1) }, window.cancelIdleCallback = window.cancelIdleCallback || (p = function () { function e(c) { var l = this.constructor; return this.then(function (a) { return l.resolve(c()).then(function () { return a }) }, function (a) { return l.resolve(c()).then(function () { return l.reject(a) }) }) } function n() { } function t(c) { if (!(this instanceof t)) throw new TypeError("Promises must be constructed via new"); if ("function" != typeof c) throw new TypeError("not a function"); this._state = 0, this._handled = !1, this._value = a, this._deferreds = [], u(c, this) } function o(c, l) { for (; 3 === c._state;)c = c._value; 0 !== c._state ? (c._handled = !0, t._immediateFn(function () { var a = 1 === c._state ? l.onFulfilled : l.onRejected; if (null !== a) { var s; try { s = a(c._value) } catch (c) { return void i(l.promise, c) } r(l.promise, s) } else (1 === c._state ? r : i)(l.promise, c._value) })) : c._deferreds.push(l) } function r(c, l) { try { if (l === c) throw new TypeError("A promise cannot be resolved with itself."); if (l && ("object" == typeof l || "function" == typeof l)) { var a = l.then; if (l instanceof t) return c._state = 3, c._value = l, void f(c); if ("function" == typeof a) return void u(function (c, l) { return function () { c.apply(l, arguments) } }(a, l), c) } c._state = 1, c._value = l, f(c) } catch (l) { i(c, l) } } function i(c, l) { c._state = 2, c._value = l, f(c) } function f(c) { 2 === c._state && 0 === c._deferreds.length && t._immediateFn(function () { c._handled || t._unhandledRejectionFn(c._value) }); for (var l = 0, a = c._deferreds.length; a > l; l++)o(c, c._deferreds[l]); c._deferreds = null } function u(c, l) { var a = !1; try { c(function (c) { a || (a = !0, r(l, c)) }, function (c) { a || (a = !0, i(l, c)) }) } catch (c) { if (a) return; a = !0, i(l, c) } } var c = setTimeout; t.prototype.catch = function (c) { return this.then(null, c) }, t.prototype.then = function (c, l) { var a = new this.constructor(n); return o(this, new function (c, l, a) { this.onFulfilled = "function" == typeof c ? c : null, this.onRejected = "function" == typeof l ? l : null, this.promise = a }(c, l, a)), a }, t.prototype.finally = e, t.all = function (c) { return new t(function (l, a) { function o(c, p) { try { if (p && ("object" == typeof p || "function" == typeof p)) { var h = p.then; if ("function" == typeof h) return void h.call(p, function (l) { o(c, l) }, a) } s[c] = p, 0 == --d && l(s) } catch (c) { a(c) } } if (!c || void 0 === c.length) throw new TypeError("Promise.all accepts an array"); var s = Array.prototype.slice.call(c); if (0 === s.length) return l([]); for (var d = s.length, p = 0; s.length > p; p++)o(p, s[p]) }) }, t.resolve = function (c) { return c && "object" == typeof c && c.constructor === t ? c : new t(function (l) { l(c) }) }, t.reject = function (c) { return new t(function (l, a) { a(c) }) }, t.race = function (c) { return new t(function (l, a) { for (var s = 0, d = c.length; d > s; s++)c[s].then(l, a) }) }, t._immediateFn = "function" == typeof setImmediate && function (c) { setImmediate(c) } || function (l) { c(l, 0) }, t._unhandledRejectionFn = function (c) { void 0 !== console && console && console.warn("Possible Unhandled Promise Rejection:", c) }; var s = function () { if ("undefined" != typeof self) return self; if ("undefined" != typeof window) return window; if (void 0 !== l) return l; throw Error("unable to locate global object") }(); "Promise" in s ? s.Promise.prototype.finally || (s.Promise.prototype.finally = e) : s.Promise = t }, d = void ("object" == typeof exports && "undefined" != typeof module ? p() : "function" == typeof define && define.amd ? define(p) : p()), void clearTimeout(d)); var h = { thumbnail: 160, mobile: 320, tablet: 780, desktop: 1200 }, handleMultisizedPath = function (c, l, a) { if (function (c) { return c.includes("/multi/opt/") }(c)) return function (c, l) { var a = h[l] || 160; return c.replace(/(-)\d+(w\.[^\.]*?$)/, "$1" + a + "$2") }(c, a ? "thumbnail" : l); var s, d, p = /.*(dms3rep\/multi\/)(thumbnail\/|mobile\/|tablet\/|desktop\/)?[^.]*(-\d+x\d+)\.?.*/, m = c; if (!p.test(m)) return l && "thumbnail" == l ? -1 === m.indexOf("/d_gallery_d_thumb_") && (m = m.replace("/d_gallery", "/d_gallery_d_thumb_")) : m = m.replace("/d_gallery_d_thumb_", "/d_gallery"), m; if (d = (s = p.exec(m))[2] ? s[2] : "", a) m = s[0], /\/import\/clib\//.test(m) || (m = m.replace(s[3], "")), m = m.replace(s[1] + d, ""); else { var v = "dms3rep/multi/" + d, y = "dms3rep/multi/" + (l ? l + "/" : ""); m = m.replace(v, y) } return m }; String.prototype.getMultisizedPath = function (c) { return handleMultisizedPath(this.toString(), c, !1) }, String.prototype.revertMultisizedPath = function () { return handleMultisizedPath(this.toString(), null, !0) }, l.invokeSafe = function (c, l) { return getSafeFn(c, l)() }, l.getSafeFn = function (l, a) { return getSafe(l, a) || c.noop }, l.getSafe = function (c, s) { var d, p, h, m = 0; for ("string" == typeof c ? (p = l, h = c) : null != c && (p = c, h = s), "string" == typeof h ? d = h.split(".") : (d = [], p = a); d[m] !== a && p !== a;)p = p[d[m]], m++; return p }, c.extend(c, { getHeightForVisibleRows: function (c, l) { var a, s = l.eq(0), d = "auto"; return "auto" !== c && (a = parseInt(s.css("line-height")), isNaN(a) && (a = 1.19 * parseInt(s.css("font-size"))), d = c * a + "px"), d }, waitUntil: function (l) { var a, s, d = c.Deferred(), p = 0; return "function" == typeof l && (a = { conditionFn: l }), a = a || {}, c.isPlainObject(l) && c.extend(a, l), a.interval = l.interval || 100, a.timeout = l.timeout || 3e4, a.conditionFn = a.conditionFn || function () { return !0 }, s = window.setInterval(function () { p += a.interval, a.conditionFn(a) ? (window.clearInterval(s), d.resolve({ duration: p })) : p > a.timeout && d.reject({ timeout: a.timeout }) }, a.interval), d.promise() }, equalHeight: function (c) { var l, a, s = 0; c.each(function () { (a = jQuery(this)).css("minHeight", 0), (l = a.height()) > s && (s = l) }), c.css("min-height", s + "px") }, loadScript: function (c) { return new Promise((l, a) => { if (s[c]) return void l(); const d = document.createElement("script"); d.src = c, d.onload = () => { s[c] = !0, l() }, d.onerror = () => { a(new Error("Failed to load script: " + c)) }, document.head.appendChild(d) }) }, loadCss: function (c, l) { var a, s, d, p, h; for (s = document.getElementsByTagName("head")[0], h = l || {}, d = 0; d < c.length; d++)p = c[d], null !== document.getElementById(p.id) || ((a = document.createElement("link")).setAttribute("rel", "stylesheet"), a.setAttribute("type", "text/css"), a.setAttribute("id", p.id), a.setAttribute("href", p.path), s.appendChild(a)); h.callback && setTimeout(h.callback, 500) }, isEditKeyCode: function (c) { var l = c.keyCode; return l > 36 && l < 41 || 8 == l || "65" == l && c.ctrlKey } }) }(jQuery, window); //# sourceMappingURL=https://sourcemaps-lambda.dwhitelabel.com/mnlt/production/6346/_dm/s/rt/dist/scripts/d-js-runtime-flex-package.min.js.map