{ "version": 3, "sources": ["../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.QAGUCU4C.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.FAJKIEWS.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.FCKNEYTX.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.BBN2ZB42.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.I4IFG4JG.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.YTEMICXC.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.OZEBCGEZ.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.LTAMHVKK.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.6DHNIVN5.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.WXNWU2SV.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.G3SZKTQJ.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.ABOYTYJO.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.7ANACPIR.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.VRR2P3PQ.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.77CS2EJF.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.Q25FCJRM.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.SE5MQEAG.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.VZ6THPUN.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.UTVDNTSP.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.RTAXJRGK.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.JBQASJWR.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.KZGIJPE3.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.A4SFXC3I.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.JVL4FYYT.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.I2ELSNII.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.OUQ73RZJ.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.7PRSKJZQ.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.NLEHAJ2S.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.TOSSI7AO.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.7ZO5ST7S.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.EELGOWGJ.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.WEV4VAJB.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.NQ4JNTZU.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.KR4IFKAA.js", "../../node_modules/@bjb/bjb-web-components/dist/components/jb-e-service-overlay/jb-e-service-overlay.js", "../../node_modules/@bjb/bjb-web-components/dist/components/jb-region-select-overlay/jb-region-select-overlay.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.SHZV3OKI.js", "../../node_modules/@bjb/bjb-web-components/dist/components/jb-search-overlay/jb-search-overlay.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.YDQDJZUC.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.OOINLVPA.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.4MWPCD76.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.IK4GS6MF.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.VQTQWDQ7.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.YHFXFDOO.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.BLHU75DH.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.JEMJHKRF.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.JSKV525N.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.UMYVKK54.js", "../../node_modules/@bjb/bjb-web-components/dist/components/jb-menu/jb-menu.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.VVD5NVY2.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/swiper.esm.LMNLSJOR.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.CANFYQQ7.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.KDMPIGAU.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.G64OMJ2S.js", "../../node_modules/@bjb/bjb-web-components/dist/components/jb-news-list-item/jb-news-list-item.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.N3VILVCR.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.OE6UAQWN.js", "../../node_modules/@bjb/bjb-web-components/dist/components/jb-event-list-item/jb-event-list-item.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/lottie-player.esm.E5CIQAMJ.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.MRDK22UH.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.76WY2E6U.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.7OA654OI.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.5SGCPDSP.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.3HJXLVF4.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.BRZYRWW4.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.7NUVYMIM.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.BPDOBKMA.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.RSUHM5A4.js", "../../node_modules/@bjb/bjb-web-components/dist/components/jb-cookie-settings/jb-cookie-settings.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.752YB4LQ.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.HHGEJVLI.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.BUINRXUZ.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.RYXMHMS2.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.LXB4MYP4.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.QMJLMCQD.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.BWCJXF4C.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.IVFP57X3.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.K5I5FY2G.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.CLSO3QKV.js", "../../node_modules/@bjb/bjb-web-components/dist/components/jb-components.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.QNHAANAD.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.27KPVSCE.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.WS54TDSR.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.V3OED5WC.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.ASLWQTBO.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.ZULSURGS.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.UW2KYD6R.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.V3FXZTXQ.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.WDF6H473.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.Y44YK2W3.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.5C7B4R5Q.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.BW2O4P4N.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.GGLFCMKS.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.FVOAOYBA.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.M37CL26E.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.PO4WO7D2.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.4F2M66NW.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.DOXN3ITF.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.L3NYRMHF.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.BJDVKDSN.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.ECWSRW7A.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.TRJPDM73.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.EAZXTLIG.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.RTMBLKCR.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.FJRJNS57.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.O3OQH7K5.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.ZXFS3F4J.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.OA7VOAPF.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.T7ZSXYMK.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.XNGCFV5F.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.HMT5EUCL.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.T4U2INBF.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.KDSRYXYR.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.NX52RSH4.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.RWKEWVB7.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.DF3LUGOU.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.GMKEIOWU.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.32VXYCDQ.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.XFFAINSZ.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.FQKKF3C4.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.YPSOHBHF.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.HELPNYSY.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.LNPHJVN7.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.ZHKWOFXT.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.SIK7NCSO.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.LIYZ3SIB.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.HHLOTGBW.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.ZCPWJJYC.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.E35EZG5G.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.637M2SN5.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.F5UPFIWT.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.IFGLMA6Z.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.62SKAJCV.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.RJXHZNWG.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.7HQEG5H3.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.NPPUQA4O.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.BJJ5PNCU.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.GQ4TGWC7.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.P37ZQKMH.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.LEEHA55O.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.PLAKMPEF.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.ZHFQDBJP.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.WTUUVMAF.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.KTE6IORC.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.HREF7OKC.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.IAVA7Y6D.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.GACLELN2.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.YGAYY4BL.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.2XXCJ6EM.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.FXJI6FZV.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.PUFGUSAM.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.IV2SXBZI.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.JFNWOIMP.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.ROUOKNYN.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.POQH7ZYI.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.VDIVEPQD.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.AB62R6KA.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.C37QKVKR.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.XVJ4WHML.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.PUAXHAH4.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.2I4QDVY4.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.LKQXZBJF.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.KJMO6BEV.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.UWAXNSMX.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.F7BCU7QM.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.6JPQVH7P.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.DNZEGT2V.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.2A7RK45S.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.WDM4XYVR.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.3W7RZU2O.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.HQJGAF2F.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.4P35WRRG.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.MRDRT5SN.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.H3VCC3ZM.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.IS2557WK.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.YS3JLXIK.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.OPQL6DWW.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.KUFWAGYG.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.4VOTNDAP.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.J2PLVEFN.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.3JMUDKMC.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.LPIHYFV2.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.WWWPAF42.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.UT6XSSZZ.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.YHV4AI6E.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.RJFNBB25.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.OSEA2LDS.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.BBC2VFSF.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.CGWOWGCQ.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.CJ3A6B7N.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.ZPTK75F2.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.265HHFX5.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.FNSNIWPZ.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.LJT6WRAW.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.6ZBEXHUN.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.ILIDJXOF.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.JZBUGZSK.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.X54LEMBT.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.SLNKXAAV.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.CYCXHUS4.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.T2AKSR4X.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.INSN44VR.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.IWZTO2XW.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.FJS43VEZ.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.XIL76UR7.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.TOO2RKNZ.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.6YCBDJX2.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.WT6EN2KH.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.GVDQY5LD.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.4UPGNDI3.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.RQ3Q7COP.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.LC7UDLJM.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.TP5VMHXU.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.D4KVZEB7.js", "../../node_modules/@bjb/bjb-web-components/dist/chunks/chunk.N5JSYD2S.js", "../../node_modules/@lit/reactive-element/src/css-tag.ts", "../../node_modules/@lit/reactive-element/src/reactive-element.ts", "../../node_modules/lit-html/src/lit-html.ts", "../../node_modules/lit-element/src/lit-element.ts", "../../node_modules/@lit/reactive-element/src/decorators/property.ts", "../../node_modules/lit-html/src/directive.ts", "../../node_modules/lit-html/src/directives/class-map.ts", "../../node_modules/@bjb/bjb-web-components/src/assets/scripts/CustomElementsUtils.ts", "../../src/components/adesso-info-card/adesso-info-card.scss", "../../src/components/adesso-info-card/adesso-info-card.ts", "../../src/components/adesso-info-teaser-header/adesso-info-teaser-header.scss", "../../src/components/adesso-info-teaser-header/adesso-info-teaser-header.ts"], "sourcesContent": ["// src/assets/scripts/CustomElementsUtils.ts\nvar customElement = (tagName) => (classOrTarget, context) => {\n if (context !== void 0) {\n context.addInitializer(() => {\n if (!customElements.get(tagName)) customElements.define(tagName, classOrTarget);\n });\n } else {\n if (!customElements.get(tagName)) customElements.define(tagName, classOrTarget);\n }\n};\n\nexport {\n customElement\n};\n", "// node_modules/@lit/reactive-element/css-tag.js\nvar t = globalThis;\nvar e = t.ShadowRoot && (void 0 === t.ShadyCSS || t.ShadyCSS.nativeShadow) && \"adoptedStyleSheets\" in Document.prototype && \"replace\" in CSSStyleSheet.prototype;\nvar s = Symbol();\nvar o = /* @__PURE__ */ new WeakMap();\nvar n = class {\n constructor(t2, e3, o3) {\n if (this._$cssResult$ = true, o3 !== s) throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");\n this.cssText = t2, this.t = e3;\n }\n get styleSheet() {\n let t2 = this.o;\n const s2 = this.t;\n if (e && void 0 === t2) {\n const e3 = void 0 !== s2 && 1 === s2.length;\n e3 && (t2 = o.get(s2)), void 0 === t2 && ((this.o = t2 = new CSSStyleSheet()).replaceSync(this.cssText), e3 && o.set(s2, t2));\n }\n return t2;\n }\n toString() {\n return this.cssText;\n }\n};\nvar r = (t2) => new n(\"string\" == typeof t2 ? t2 : t2 + \"\", void 0, s);\nvar i = (t2, ...e3) => {\n const o3 = 1 === t2.length ? t2[0] : e3.reduce((e4, s2, o4) => e4 + ((t3) => {\n if (true === t3._$cssResult$) return t3.cssText;\n if (\"number\" == typeof t3) return t3;\n throw Error(\"Value passed to 'css' function must be a 'css' function result: \" + t3 + \". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\");\n })(s2) + t2[o4 + 1], t2[0]);\n return new n(o3, t2, s);\n};\nvar S = (s2, o3) => {\n if (e) s2.adoptedStyleSheets = o3.map((t2) => t2 instanceof CSSStyleSheet ? t2 : t2.styleSheet);\n else for (const e3 of o3) {\n const o4 = document.createElement(\"style\"), n3 = t.litNonce;\n void 0 !== n3 && o4.setAttribute(\"nonce\", n3), o4.textContent = e3.cssText, s2.appendChild(o4);\n }\n};\nvar c = e ? (t2) => t2 : (t2) => t2 instanceof CSSStyleSheet ? ((t3) => {\n let e3 = \"\";\n for (const s2 of t3.cssRules) e3 += s2.cssText;\n return r(e3);\n})(t2) : t2;\n\n// node_modules/@lit/reactive-element/reactive-element.js\nvar { is: i2, defineProperty: e2, getOwnPropertyDescriptor: r2, getOwnPropertyNames: h, getOwnPropertySymbols: o2, getPrototypeOf: n2 } = Object;\nvar a = globalThis;\nvar c2 = a.trustedTypes;\nvar l = c2 ? c2.emptyScript : \"\";\nvar p = a.reactiveElementPolyfillSupport;\nvar d = (t2, s2) => t2;\nvar u = { toAttribute(t2, s2) {\n switch (s2) {\n case Boolean:\n t2 = t2 ? l : null;\n break;\n case Object:\n case Array:\n t2 = null == t2 ? t2 : JSON.stringify(t2);\n }\n return t2;\n}, fromAttribute(t2, s2) {\n let i3 = t2;\n switch (s2) {\n case Boolean:\n i3 = null !== t2;\n break;\n case Number:\n i3 = null === t2 ? null : Number(t2);\n break;\n case Object:\n case Array:\n try {\n i3 = JSON.parse(t2);\n } catch (t3) {\n i3 = null;\n }\n }\n return i3;\n} };\nvar f = (t2, s2) => !i2(t2, s2);\nvar y = { attribute: true, type: String, converter: u, reflect: false, hasChanged: f };\nSymbol.metadata ??= Symbol(\"metadata\"), a.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap();\nvar b = class extends HTMLElement {\n static addInitializer(t2) {\n this._$Ei(), (this.l ??= []).push(t2);\n }\n static get observedAttributes() {\n return this.finalize(), this._$Eh && [...this._$Eh.keys()];\n }\n static createProperty(t2, s2 = y) {\n if (s2.state && (s2.attribute = false), this._$Ei(), this.elementProperties.set(t2, s2), !s2.noAccessor) {\n const i3 = Symbol(), r3 = this.getPropertyDescriptor(t2, i3, s2);\n void 0 !== r3 && e2(this.prototype, t2, r3);\n }\n }\n static getPropertyDescriptor(t2, s2, i3) {\n const { get: e3, set: h2 } = r2(this.prototype, t2) ?? { get() {\n return this[s2];\n }, set(t3) {\n this[s2] = t3;\n } };\n return { get() {\n return e3?.call(this);\n }, set(s3) {\n const r3 = e3?.call(this);\n h2.call(this, s3), this.requestUpdate(t2, r3, i3);\n }, configurable: true, enumerable: true };\n }\n static getPropertyOptions(t2) {\n return this.elementProperties.get(t2) ?? y;\n }\n static _$Ei() {\n if (this.hasOwnProperty(d(\"elementProperties\"))) return;\n const t2 = n2(this);\n t2.finalize(), void 0 !== t2.l && (this.l = [...t2.l]), this.elementProperties = new Map(t2.elementProperties);\n }\n static finalize() {\n if (this.hasOwnProperty(d(\"finalized\"))) return;\n if (this.finalized = true, this._$Ei(), this.hasOwnProperty(d(\"properties\"))) {\n const t3 = this.properties, s2 = [...h(t3), ...o2(t3)];\n for (const i3 of s2) this.createProperty(i3, t3[i3]);\n }\n const t2 = this[Symbol.metadata];\n if (null !== t2) {\n const s2 = litPropertyMetadata.get(t2);\n if (void 0 !== s2) for (const [t3, i3] of s2) this.elementProperties.set(t3, i3);\n }\n this._$Eh = /* @__PURE__ */ new Map();\n for (const [t3, s2] of this.elementProperties) {\n const i3 = this._$Eu(t3, s2);\n void 0 !== i3 && this._$Eh.set(i3, t3);\n }\n this.elementStyles = this.finalizeStyles(this.styles);\n }\n static finalizeStyles(s2) {\n const i3 = [];\n if (Array.isArray(s2)) {\n const e3 = new Set(s2.flat(1 / 0).reverse());\n for (const s3 of e3) i3.unshift(c(s3));\n } else void 0 !== s2 && i3.push(c(s2));\n return i3;\n }\n static _$Eu(t2, s2) {\n const i3 = s2.attribute;\n return false === i3 ? void 0 : \"string\" == typeof i3 ? i3 : \"string\" == typeof t2 ? t2.toLowerCase() : void 0;\n }\n constructor() {\n super(), this._$Ep = void 0, this.isUpdatePending = false, this.hasUpdated = false, this._$Em = null, this._$Ev();\n }\n _$Ev() {\n this._$ES = new Promise((t2) => this.enableUpdating = t2), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), this.constructor.l?.forEach((t2) => t2(this));\n }\n addController(t2) {\n (this._$EO ??= /* @__PURE__ */ new Set()).add(t2), void 0 !== this.renderRoot && this.isConnected && t2.hostConnected?.();\n }\n removeController(t2) {\n this._$EO?.delete(t2);\n }\n _$E_() {\n const t2 = /* @__PURE__ */ new Map(), s2 = this.constructor.elementProperties;\n for (const i3 of s2.keys()) this.hasOwnProperty(i3) && (t2.set(i3, this[i3]), delete this[i3]);\n t2.size > 0 && (this._$Ep = t2);\n }\n createRenderRoot() {\n const t2 = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);\n return S(t2, this.constructor.elementStyles), t2;\n }\n connectedCallback() {\n this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(true), this._$EO?.forEach((t2) => t2.hostConnected?.());\n }\n enableUpdating(t2) {\n }\n disconnectedCallback() {\n this._$EO?.forEach((t2) => t2.hostDisconnected?.());\n }\n attributeChangedCallback(t2, s2, i3) {\n this._$AK(t2, i3);\n }\n _$EC(t2, s2) {\n const i3 = this.constructor.elementProperties.get(t2), e3 = this.constructor._$Eu(t2, i3);\n if (void 0 !== e3 && true === i3.reflect) {\n const r3 = (void 0 !== i3.converter?.toAttribute ? i3.converter : u).toAttribute(s2, i3.type);\n this._$Em = t2, null == r3 ? this.removeAttribute(e3) : this.setAttribute(e3, r3), this._$Em = null;\n }\n }\n _$AK(t2, s2) {\n const i3 = this.constructor, e3 = i3._$Eh.get(t2);\n if (void 0 !== e3 && this._$Em !== e3) {\n const t3 = i3.getPropertyOptions(e3), r3 = \"function\" == typeof t3.converter ? { fromAttribute: t3.converter } : void 0 !== t3.converter?.fromAttribute ? t3.converter : u;\n this._$Em = e3, this[e3] = r3.fromAttribute(s2, t3.type), this._$Em = null;\n }\n }\n requestUpdate(t2, s2, i3) {\n if (void 0 !== t2) {\n if (i3 ??= this.constructor.getPropertyOptions(t2), !(i3.hasChanged ?? f)(this[t2], s2)) return;\n this.P(t2, s2, i3);\n }\n false === this.isUpdatePending && (this._$ES = this._$ET());\n }\n P(t2, s2, i3) {\n this._$AL.has(t2) || this._$AL.set(t2, s2), true === i3.reflect && this._$Em !== t2 && (this._$Ej ??= /* @__PURE__ */ new Set()).add(t2);\n }\n async _$ET() {\n this.isUpdatePending = true;\n try {\n await this._$ES;\n } catch (t3) {\n Promise.reject(t3);\n }\n const t2 = this.scheduleUpdate();\n return null != t2 && await t2, !this.isUpdatePending;\n }\n scheduleUpdate() {\n return this.performUpdate();\n }\n performUpdate() {\n if (!this.isUpdatePending) return;\n if (!this.hasUpdated) {\n if (this.renderRoot ??= this.createRenderRoot(), this._$Ep) {\n for (const [t4, s3] of this._$Ep) this[t4] = s3;\n this._$Ep = void 0;\n }\n const t3 = this.constructor.elementProperties;\n if (t3.size > 0) for (const [s3, i3] of t3) true !== i3.wrapped || this._$AL.has(s3) || void 0 === this[s3] || this.P(s3, this[s3], i3);\n }\n let t2 = false;\n const s2 = this._$AL;\n try {\n t2 = this.shouldUpdate(s2), t2 ? (this.willUpdate(s2), this._$EO?.forEach((t3) => t3.hostUpdate?.()), this.update(s2)) : this._$EU();\n } catch (s3) {\n throw t2 = false, this._$EU(), s3;\n }\n t2 && this._$AE(s2);\n }\n willUpdate(t2) {\n }\n _$AE(t2) {\n this._$EO?.forEach((t3) => t3.hostUpdated?.()), this.hasUpdated || (this.hasUpdated = true, this.firstUpdated(t2)), this.updated(t2);\n }\n _$EU() {\n this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = false;\n }\n get updateComplete() {\n return this.getUpdateComplete();\n }\n getUpdateComplete() {\n return this._$ES;\n }\n shouldUpdate(t2) {\n return true;\n }\n update(t2) {\n this._$Ej &&= this._$Ej.forEach((t3) => this._$EC(t3, this[t3])), this._$EU();\n }\n updated(t2) {\n }\n firstUpdated(t2) {\n }\n};\nb.elementStyles = [], b.shadowRootOptions = { mode: \"open\" }, b[d(\"elementProperties\")] = /* @__PURE__ */ new Map(), b[d(\"finalized\")] = /* @__PURE__ */ new Map(), p?.({ ReactiveElement: b }), (a.reactiveElementVersions ??= []).push(\"2.0.4\");\n\nexport {\n r,\n i,\n u,\n f,\n b\n};\n/*! Bundled license information:\n\n@lit/reactive-element/css-tag.js:\n (**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n\n@lit/reactive-element/reactive-element.js:\n (**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n*/\n", "import {\n b\n} from \"./chunk.FAJKIEWS.js\";\n\n// node_modules/lit-html/lit-html.js\nvar n = globalThis;\nvar c = n.trustedTypes;\nvar h = c ? c.createPolicy(\"lit-html\", { createHTML: (t) => t }) : void 0;\nvar f = \"$lit$\";\nvar v = `lit$${Math.random().toFixed(9).slice(2)}$`;\nvar m = \"?\" + v;\nvar _ = `<${m}>`;\nvar w = document;\nvar lt = () => w.createComment(\"\");\nvar st = (t) => null === t || \"object\" != typeof t && \"function\" != typeof t;\nvar g = Array.isArray;\nvar $ = (t) => g(t) || \"function\" == typeof t?.[Symbol.iterator];\nvar x = \"[ \t\\n\\f\\r]\";\nvar T = /<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g;\nvar E = /-->/g;\nvar k = />/g;\nvar O = RegExp(`>|${x}(?:([^\\\\s\"'>=/]+)(${x}*=${x}*(?:[^ \t\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`, \"g\");\nvar S = /'/g;\nvar j = /\"/g;\nvar M = /^(?:script|style|textarea|title)$/i;\nvar P = (t) => (i, ...s) => ({ _$litType$: t, strings: i, values: s });\nvar ke = P(1);\nvar Oe = P(2);\nvar Se = P(3);\nvar R = Symbol.for(\"lit-noChange\");\nvar D = Symbol.for(\"lit-nothing\");\nvar V = /* @__PURE__ */ new WeakMap();\nvar I = w.createTreeWalker(w, 129);\nfunction N(t, i) {\n if (!g(t) || !t.hasOwnProperty(\"raw\")) throw Error(\"invalid template strings array\");\n return void 0 !== h ? h.createHTML(i) : i;\n}\nvar U = (t, i) => {\n const s = t.length - 1, e = [];\n let h3, o = 2 === i ? \"\" : 3 === i ? \"\" : \"\", n2 = T;\n for (let i2 = 0; i2 < s; i2++) {\n const s2 = t[i2];\n let r, l, c2 = -1, a = 0;\n for (; a < s2.length && (n2.lastIndex = a, l = n2.exec(s2), null !== l); ) a = n2.lastIndex, n2 === T ? \"!--\" === l[1] ? n2 = E : void 0 !== l[1] ? n2 = k : void 0 !== l[2] ? (M.test(l[2]) && (h3 = RegExp(\"\" === l[0] ? (n2 = h3 ?? T, c2 = -1) : void 0 === l[1] ? c2 = -2 : (c2 = n2.lastIndex - l[2].length, r = l[1], n2 = void 0 === l[3] ? O : '\"' === l[3] ? j : S) : n2 === j || n2 === S ? n2 = O : n2 === E || n2 === k ? n2 = T : (n2 = O, h3 = void 0);\n const u = n2 === O && t[i2 + 1].startsWith(\"/>\") ? \" \" : \"\";\n o += n2 === T ? s2 + _ : c2 >= 0 ? (e.push(r), s2.slice(0, c2) + f + s2.slice(c2) + v + u) : s2 + v + (-2 === c2 ? i2 : u);\n }\n return [N(t, o + (t[s] || \"\") + (2 === i ? \"\" : 3 === i ? \"\" : \"\")), e];\n};\nvar B = class _B {\n constructor({ strings: t, _$litType$: i }, s) {\n let e;\n this.parts = [];\n let h3 = 0, o = 0;\n const n2 = t.length - 1, r = this.parts, [l, a] = U(t, i);\n if (this.el = _B.createElement(l, s), I.currentNode = this.el.content, 2 === i || 3 === i) {\n const t2 = this.el.content.firstChild;\n t2.replaceWith(...t2.childNodes);\n }\n for (; null !== (e = I.nextNode()) && r.length < n2; ) {\n if (1 === e.nodeType) {\n if (e.hasAttributes()) for (const t2 of e.getAttributeNames()) if (t2.endsWith(f)) {\n const i2 = a[o++], s2 = e.getAttribute(t2).split(v), n3 = /([.?@])?(.*)/.exec(i2);\n r.push({ type: 1, index: h3, name: n3[2], strings: s2, ctor: \".\" === n3[1] ? Y : \"?\" === n3[1] ? Z : \"@\" === n3[1] ? q : G }), e.removeAttribute(t2);\n } else t2.startsWith(v) && (r.push({ type: 6, index: h3 }), e.removeAttribute(t2));\n if (M.test(e.tagName)) {\n const t2 = e.textContent.split(v), i2 = t2.length - 1;\n if (i2 > 0) {\n e.textContent = c ? c.emptyScript : \"\";\n for (let s2 = 0; s2 < i2; s2++) e.append(t2[s2], lt()), I.nextNode(), r.push({ type: 2, index: ++h3 });\n e.append(t2[i2], lt());\n }\n }\n } else if (8 === e.nodeType) if (e.data === m) r.push({ type: 2, index: h3 });\n else {\n let t2 = -1;\n for (; -1 !== (t2 = e.data.indexOf(v, t2 + 1)); ) r.push({ type: 7, index: h3 }), t2 += v.length - 1;\n }\n h3++;\n }\n }\n static createElement(t, i) {\n const s = w.createElement(\"template\");\n return s.innerHTML = t, s;\n }\n};\nfunction z(t, i, s = t, e) {\n if (i === R) return i;\n let h3 = void 0 !== e ? s.o?.[e] : s.l;\n const o = st(i) ? void 0 : i._$litDirective$;\n return h3?.constructor !== o && (h3?._$AO?.(false), void 0 === o ? h3 = void 0 : (h3 = new o(t), h3._$AT(t, s, e)), void 0 !== e ? (s.o ??= [])[e] = h3 : s.l = h3), void 0 !== h3 && (i = z(t, h3._$AS(t, i.values), h3, e)), i;\n}\nvar F = class {\n constructor(t, i) {\n this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = i;\n }\n get parentNode() {\n return this._$AM.parentNode;\n }\n get _$AU() {\n return this._$AM._$AU;\n }\n u(t) {\n const { el: { content: i }, parts: s } = this._$AD, e = (t?.creationScope ?? w).importNode(i, true);\n I.currentNode = e;\n let h3 = I.nextNode(), o = 0, n2 = 0, r = s[0];\n for (; void 0 !== r; ) {\n if (o === r.index) {\n let i2;\n 2 === r.type ? i2 = new et(h3, h3.nextSibling, this, t) : 1 === r.type ? i2 = new r.ctor(h3, r.name, r.strings, this, t) : 6 === r.type && (i2 = new K(h3, this, t)), this._$AV.push(i2), r = s[++n2];\n }\n o !== r?.index && (h3 = I.nextNode(), o++);\n }\n return I.currentNode = w, e;\n }\n p(t) {\n let i = 0;\n for (const s of this._$AV) void 0 !== s && (void 0 !== s.strings ? (s._$AI(t, s, i), i += s.strings.length - 2) : s._$AI(t[i])), i++;\n }\n};\nvar et = class _et {\n get _$AU() {\n return this._$AM?._$AU ?? this.v;\n }\n constructor(t, i, s, e) {\n this.type = 2, this._$AH = D, this._$AN = void 0, this._$AA = t, this._$AB = i, this._$AM = s, this.options = e, this.v = e?.isConnected ?? true;\n }\n get parentNode() {\n let t = this._$AA.parentNode;\n const i = this._$AM;\n return void 0 !== i && 11 === t?.nodeType && (t = i.parentNode), t;\n }\n get startNode() {\n return this._$AA;\n }\n get endNode() {\n return this._$AB;\n }\n _$AI(t, i = this) {\n t = z(this, t, i), st(t) ? t === D || null == t || \"\" === t ? (this._$AH !== D && this._$AR(), this._$AH = D) : t !== this._$AH && t !== R && this._(t) : void 0 !== t._$litType$ ? this.$(t) : void 0 !== t.nodeType ? this.T(t) : $(t) ? this.k(t) : this._(t);\n }\n O(t) {\n return this._$AA.parentNode.insertBefore(t, this._$AB);\n }\n T(t) {\n this._$AH !== t && (this._$AR(), this._$AH = this.O(t));\n }\n _(t) {\n this._$AH !== D && st(this._$AH) ? this._$AA.nextSibling.data = t : this.T(w.createTextNode(t)), this._$AH = t;\n }\n $(t) {\n const { values: i, _$litType$: s } = t, e = \"number\" == typeof s ? this._$AC(t) : (void 0 === s.el && (s.el = B.createElement(N(s.h, s.h[0]), this.options)), s);\n if (this._$AH?._$AD === e) this._$AH.p(i);\n else {\n const t2 = new F(e, this), s2 = t2.u(this.options);\n t2.p(i), this.T(s2), this._$AH = t2;\n }\n }\n _$AC(t) {\n let i = V.get(t.strings);\n return void 0 === i && V.set(t.strings, i = new B(t)), i;\n }\n k(t) {\n g(this._$AH) || (this._$AH = [], this._$AR());\n const i = this._$AH;\n let s, e = 0;\n for (const h3 of t) e === i.length ? i.push(s = new _et(this.O(lt()), this.O(lt()), this, this.options)) : s = i[e], s._$AI(h3), e++;\n e < i.length && (this._$AR(s && s._$AB.nextSibling, e), i.length = e);\n }\n _$AR(t = this._$AA.nextSibling, i) {\n for (this._$AP?.(false, true, i); t && t !== this._$AB; ) {\n const i2 = t.nextSibling;\n t.remove(), t = i2;\n }\n }\n setConnected(t) {\n void 0 === this._$AM && (this.v = t, this._$AP?.(t));\n }\n};\nvar G = class {\n get tagName() {\n return this.element.tagName;\n }\n get _$AU() {\n return this._$AM._$AU;\n }\n constructor(t, i, s, e, h3) {\n this.type = 1, this._$AH = D, this._$AN = void 0, this.element = t, this.name = i, this._$AM = e, this.options = h3, s.length > 2 || \"\" !== s[0] || \"\" !== s[1] ? (this._$AH = Array(s.length - 1).fill(new String()), this.strings = s) : this._$AH = D;\n }\n _$AI(t, i = this, s, e) {\n const h3 = this.strings;\n let o = false;\n if (void 0 === h3) t = z(this, t, i, 0), o = !st(t) || t !== this._$AH && t !== R, o && (this._$AH = t);\n else {\n const e2 = t;\n let n2, r;\n for (t = h3[0], n2 = 0; n2 < h3.length - 1; n2++) r = z(this, e2[s + n2], i, n2), r === R && (r = this._$AH[n2]), o ||= !st(r) || r !== this._$AH[n2], r === D ? t = D : t !== D && (t += (r ?? \"\") + h3[n2 + 1]), this._$AH[n2] = r;\n }\n o && !e && this.j(t);\n }\n j(t) {\n t === D ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? \"\");\n }\n};\nvar Y = class extends G {\n constructor() {\n super(...arguments), this.type = 3;\n }\n j(t) {\n this.element[this.name] = t === D ? void 0 : t;\n }\n};\nvar Z = class extends G {\n constructor() {\n super(...arguments), this.type = 4;\n }\n j(t) {\n this.element.toggleAttribute(this.name, !!t && t !== D);\n }\n};\nvar q = class extends G {\n constructor(t, i, s, e, h3) {\n super(t, i, s, e, h3), this.type = 5;\n }\n _$AI(t, i = this) {\n if ((t = z(this, t, i, 0) ?? D) === R) return;\n const s = this._$AH, e = t === D && s !== D || t.capture !== s.capture || t.once !== s.once || t.passive !== s.passive, h3 = t !== D && (s === D || e);\n e && this.element.removeEventListener(this.name, this, s), h3 && this.element.addEventListener(this.name, this, t), this._$AH = t;\n }\n handleEvent(t) {\n \"function\" == typeof this._$AH ? this._$AH.call(this.options?.host ?? this.element, t) : this._$AH.handleEvent(t);\n }\n};\nvar K = class {\n constructor(t, i, s) {\n this.element = t, this.type = 6, this._$AN = void 0, this._$AM = i, this.options = s;\n }\n get _$AU() {\n return this._$AM._$AU;\n }\n _$AI(t) {\n z(this, t);\n }\n};\nvar Re = n.litHtmlPolyfillSupport;\nRe?.(B, et), (n.litHtmlVersions ??= []).push(\"3.2.0\");\nvar Q = (t, i, s) => {\n const e = s?.renderBefore ?? i;\n let h3 = e._$litPart$;\n if (void 0 === h3) {\n const t2 = s?.renderBefore ?? null;\n e._$litPart$ = h3 = new et(i.insertBefore(lt(), t2), t2, void 0, s ?? {});\n }\n return h3._$AI(t), h3;\n};\n\n// node_modules/lit-element/lit-element.js\nvar h2 = class extends b {\n constructor() {\n super(...arguments), this.renderOptions = { host: this }, this.o = void 0;\n }\n createRenderRoot() {\n const t = super.createRenderRoot();\n return this.renderOptions.renderBefore ??= t.firstChild, t;\n }\n update(t) {\n const e = this.render();\n this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this.o = Q(e, this.renderRoot, this.renderOptions);\n }\n connectedCallback() {\n super.connectedCallback(), this.o?.setConnected(true);\n }\n disconnectedCallback() {\n super.disconnectedCallback(), this.o?.setConnected(false);\n }\n render() {\n return R;\n }\n};\nh2._$litElement$ = true, h2[\"finalized\"] = true, globalThis.litElementHydrateSupport?.({ LitElement: h2 });\nvar f2 = globalThis.litElementPolyfillSupport;\nf2?.({ LitElement: h2 });\n(globalThis.litElementVersions ??= []).push(\"4.1.0\");\n\nexport {\n ke,\n Oe,\n R,\n D,\n h2 as h\n};\n/*! Bundled license information:\n\nlit-html/lit-html.js:\n (**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n\nlit-element/lit-element.js:\n (**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n\nlit-html/is-server.js:\n (**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n*/\n", "import {\n f,\n u\n} from \"./chunk.FAJKIEWS.js\";\n\n// node_modules/@lit/reactive-element/decorators/custom-element.js\nvar t = (t2) => (e4, o3) => {\n void 0 !== o3 ? o3.addInitializer(() => {\n customElements.define(t2, e4);\n }) : customElements.define(t2, e4);\n};\n\n// node_modules/@lit/reactive-element/decorators/property.js\nvar o = { attribute: true, type: String, converter: u, reflect: false, hasChanged: f };\nvar r = (t2 = o, e4, r4) => {\n const { kind: n2, metadata: i } = r4;\n let s = globalThis.litPropertyMetadata.get(i);\n if (void 0 === s && globalThis.litPropertyMetadata.set(i, s = /* @__PURE__ */ new Map()), s.set(r4.name, t2), \"accessor\" === n2) {\n const { name: o3 } = r4;\n return { set(r5) {\n const n3 = e4.get.call(this);\n e4.set.call(this, r5), this.requestUpdate(o3, n3, t2);\n }, init(e5) {\n return void 0 !== e5 && this.P(o3, void 0, t2), e5;\n } };\n }\n if (\"setter\" === n2) {\n const { name: o3 } = r4;\n return function(r5) {\n const n3 = this[o3];\n e4.call(this, r5), this.requestUpdate(o3, n3, t2);\n };\n }\n throw Error(\"Unsupported decorator location: \" + n2);\n};\nfunction n(t2) {\n return (e4, o3) => \"object\" == typeof o3 ? r(t2, e4, o3) : ((t3, e5, o4) => {\n const r4 = e5.hasOwnProperty(o4);\n return e5.constructor.createProperty(o4, r4 ? { ...t3, wrapped: true } : t3), r4 ? Object.getOwnPropertyDescriptor(e5, o4) : void 0;\n })(t2, e4, o3);\n}\n\n// node_modules/@lit/reactive-element/decorators/state.js\nfunction r2(r4) {\n return n({ ...r4, state: true, attribute: false });\n}\n\n// node_modules/@lit/reactive-element/decorators/base.js\nvar e = (e4, t2, c) => (c.configurable = true, c.enumerable = true, Reflect.decorate && \"object\" != typeof t2 && Object.defineProperty(e4, t2, c), c);\n\n// node_modules/@lit/reactive-element/decorators/query.js\nfunction e2(e4, r4) {\n return (n2, s, i) => {\n const o3 = (t2) => t2.renderRoot?.querySelector(e4) ?? null;\n if (r4) {\n const { get: e5, set: r5 } = \"object\" == typeof s ? n2 : i ?? (() => {\n const t2 = Symbol();\n return { get() {\n return this[t2];\n }, set(e6) {\n this[t2] = e6;\n } };\n })();\n return e(n2, s, { get() {\n let t2 = e5.call(this);\n return void 0 === t2 && (t2 = o3(this), (null !== t2 || this.hasUpdated) && r5.call(this, t2)), t2;\n } });\n }\n return e(n2, s, { get() {\n return o3(this);\n } });\n };\n}\n\n// node_modules/@lit/reactive-element/decorators/query-all.js\nvar e3;\nfunction r3(r4) {\n return (n2, o3) => e(n2, o3, { get() {\n return (this.renderRoot ?? (e3 ??= document.createDocumentFragment())).querySelectorAll(r4);\n } });\n}\n\n// node_modules/@lit/reactive-element/decorators/query-assigned-elements.js\nfunction o2(o3) {\n return (e4, n2) => {\n const { slot: r4, selector: s } = o3 ?? {}, c = \"slot\" + (r4 ? `[name=${r4}]` : \":not([name])\");\n return e(e4, n2, { get() {\n const t2 = this.renderRoot?.querySelector(c), e5 = t2?.assignedElements(o3) ?? [];\n return void 0 === s ? e5 : e5.filter((t3) => t3.matches(s));\n } });\n };\n}\n\nexport {\n t,\n n,\n r2 as r,\n e2 as e,\n r3 as r2,\n o2 as o\n};\n/*! Bundled license information:\n\n@lit/reactive-element/decorators/custom-element.js:\n (**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n\n@lit/reactive-element/decorators/property.js:\n (**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n\n@lit/reactive-element/decorators/state.js:\n (**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n\n@lit/reactive-element/decorators/base.js:\n (**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n\n@lit/reactive-element/decorators/query.js:\n (**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n\n@lit/reactive-element/decorators/query-all.js:\n (**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n\n@lit/reactive-element/decorators/query-assigned-elements.js:\n (**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n\n@lit/reactive-element/decorators/event-options.js:\n (**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n\n@lit/reactive-element/decorators/query-async.js:\n (**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n\n@lit/reactive-element/decorators/query-assigned-nodes.js:\n (**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n*/\n", "var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __decorateClass = (decorators, target, key, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key, result) : decorator(result)) || result;\n if (kind && result) __defProp(target, key, result);\n return result;\n};\n\nexport {\n __commonJS,\n __toESM,\n __decorateClass\n};\n", "import {\n D\n} from \"./chunk.FCKNEYTX.js\";\n\n// node_modules/lit-html/directives/if-defined.js\nvar to = (t) => t ?? D;\n\nexport {\n to\n};\n/*! Bundled license information:\n\nlit-html/directives/if-defined.js:\n (**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n*/\n", "// node_modules/lit-html/directive.js\nvar t = { ATTRIBUTE: 1, CHILD: 2, PROPERTY: 3, BOOLEAN_ATTRIBUTE: 4, EVENT: 5, ELEMENT: 6 };\nvar e = (t2) => (...e2) => ({ _$litDirective$: t2, values: e2 });\nvar i = class {\n constructor(t2) {\n }\n get _$AU() {\n return this._$AM._$AU;\n }\n _$AT(t2, e2, i2) {\n this.t = t2, this._$AM = e2, this.i = i2;\n }\n _$AS(t2, e2) {\n return this.update(t2, e2);\n }\n update(t2, e2) {\n return this.render(...e2);\n }\n};\n\nexport {\n t,\n e,\n i\n};\n/*! Bundled license information:\n\nlit-html/directive.js:\n (**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n*/\n", "import {\n e,\n i,\n t\n} from \"./chunk.OZEBCGEZ.js\";\nimport {\n R\n} from \"./chunk.FCKNEYTX.js\";\n\n// node_modules/lit-html/directives/class-map.js\nvar Rt = e(class extends i {\n constructor(s) {\n if (super(s), s.type !== t.ATTRIBUTE || \"class\" !== s.name || s.strings?.length > 2) throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\");\n }\n render(t2) {\n return \" \" + Object.keys(t2).filter((s) => t2[s]).join(\" \") + \" \";\n }\n update(t2, [s]) {\n if (void 0 === this.st) {\n this.st = /* @__PURE__ */ new Set(), void 0 !== t2.strings && (this.nt = new Set(t2.strings.join(\" \").split(/\\s/).filter((t3) => \"\" !== t3)));\n for (const t3 in s) s[t3] && !this.nt?.has(t3) && this.st.add(t3);\n return this.render(s);\n }\n const i2 = t2.element.classList;\n for (const t3 of this.st) t3 in s || (i2.remove(t3), this.st.delete(t3));\n for (const t3 in s) {\n const r = !!s[t3];\n r === this.st.has(t3) || this.nt?.has(t3) || (r ? (i2.add(t3), this.st.add(t3)) : (i2.remove(t3), this.st.delete(t3)));\n }\n return R;\n }\n});\n\nexport {\n Rt\n};\n/*! Bundled license information:\n\nlit-html/directives/class-map.js:\n (**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n*/\n", "// src/mixins/Initiable.ts\nfunction Initiable(baseClass) {\n class InitiableMixin extends baseClass {\n init(context) {\n if (context.props) {\n Object.entries(context.props).forEach(([key, value]) => {\n this[key] = value;\n });\n }\n if (context.attributes) {\n Object.entries(context.attributes).forEach(([key, value]) => {\n this.setAttribute(key, value);\n });\n }\n if (context.innerHTML) {\n this.innerHTML = context.innerHTML;\n }\n if (context.childNodes?.length) {\n this.append(...context.childNodes);\n }\n return this;\n }\n }\n return InitiableMixin;\n}\n\nexport {\n Initiable\n};\n", "import {\n D\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n r\n} from \"./chunk.FAJKIEWS.js\";\n\n// src/assets/scripts/JB.ts\nvar JBCookie = class _JBCookie {\n static deleteCookie(name) {\n _JBCookie.setCookie(name, \"\", -1);\n }\n static getCookie(name) {\n const v = document.cookie.match(\"(^|;) ?\" + name + \"=([^;]*)(;|$)\");\n return v ? v[2] : null;\n }\n static getI18nCookieData() {\n const cookieValue = this.getCookie(\"i18n\") || \"||0||\";\n const parts = cookieValue.split(\"|\");\n return {\n country: parts[1],\n language: parts[2],\n languageIso2: parts[3],\n market: parts[4],\n region: parts[0]\n };\n }\n static setCookie(name, value, days = 182) {\n const d = /* @__PURE__ */ new Date();\n d.setTime(d.getTime() + 24 * 60 * 60 * 1e3 * days);\n document.cookie = name + \"=\" + value + \";secure;SameSite=Strict;path=/;expires=\" + d.toUTCString();\n }\n static setI18nCookieData(insertData) {\n const cookieData = _JBCookie.getI18nCookieData();\n Object.keys(insertData).forEach((key) => {\n cookieData[key] = insertData[key];\n });\n const cookieValue = (cookieData.region || \"\") + \"|\" + (cookieData.country || \"\") + \"|\" + (cookieData.language.toString() || \"\") + \"|\" + (cookieData.languageIso2 || \"\") + \"|\" + (cookieData.market || \"\");\n this.setCookie(\"i18n\", cookieValue, 182);\n }\n};\nfunction throttle(fn, ms = 300) {\n let prev = 0;\n return (...args) => {\n const now = (/* @__PURE__ */ new Date()).getTime();\n if (now - prev > ms) {\n prev = now;\n return fn(...args);\n }\n return null;\n };\n}\nfunction debounce(fn, ms = 300) {\n let timeoutId;\n return function(...args) {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => fn.apply(this, args), ms);\n };\n}\nfunction respondTo(map) {\n if (window.matchMedia(\"(min-width: 1437px)\").matches && map.xl !== void 0) {\n return map.xl;\n }\n if (window.matchMedia(\"(min-width: 1281px)\").matches && map.lg !== void 0) {\n return map.lg;\n }\n if (window.matchMedia(\"(min-width: 960px)\").matches && map.md !== void 0) {\n return map.md;\n }\n if (window.matchMedia(\"(min-width: 600px)\").matches && map.sm !== void 0) {\n return map.sm;\n }\n return map.xs;\n}\nasync function awaitForEach(array, cb) {\n for (let index = 0; index < array.length; index += 1) {\n await cb(array[index], index, array);\n }\n}\nfunction isPartiallyInViewPort(element, offset = 0) {\n const distanceFromTop = element.getBoundingClientRect().top + offset;\n const windowHeight = window.innerHeight;\n const heightOfElement = element.clientHeight;\n return distanceFromTop < windowHeight && distanceFromTop + heightOfElement > 0;\n}\nfunction dispatchEvent(name, obj) {\n const evt = new CustomEvent(name, obj);\n document.body.dispatchEvent(evt);\n}\nfunction nlToBr(input) {\n return input.replace(/\\r\\n|\\r|\\n/g, \"
\");\n}\nfunction mergeDeep(target, ...sources) {\n const isObject = (item) => item && typeof item === \"object\" && !Array.isArray(item);\n if (!sources.length) {\n return target;\n }\n const source = sources.shift();\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach((key) => {\n if (isObject(source[key])) {\n if (!target[key]) {\n Object.assign(target, {\n [key]: {}\n });\n }\n mergeDeep(target[key], source[key]);\n } else {\n Object.assign(target, {\n [key]: source[key]\n });\n }\n });\n }\n return mergeDeep(target, ...sources);\n}\nfunction scrollToTop(element) {\n const speed = 200;\n const scrollStartY = window.scrollY || document.documentElement.scrollTop || element?.scrollTop || 0;\n let currentTimestamp = 0;\n const scrollDistanceInPx = Math.abs(scrollStartY);\n const scrollDistance = 0 - scrollStartY;\n const suggestedAnimationDuration = scrollDistanceInPx / speed;\n const animationDuration = Math.max(0.1, Math.min(suggestedAnimationDuration, 0.8));\n function easeOutSine(t) {\n return Math.sin(t * (Math.PI / 2));\n }\n function scroll(x, y) {\n if (element) {\n element.scrollTo(x, y);\n } else {\n window.scrollTo(x, y);\n }\n }\n function tick() {\n const timeIncrement = 1 / 60;\n currentTimestamp += timeIncrement;\n const time = currentTimestamp / animationDuration;\n const position = easeOutSine(time);\n if (time < 1) {\n window.requestAnimationFrame(tick);\n const x = 0;\n const scrollIncrement = scrollDistance * position;\n const nextYPosition = scrollStartY + scrollIncrement;\n scroll(x, nextYPosition);\n } else {\n scroll(0, 0);\n }\n }\n window.requestAnimationFrame(tick);\n}\nvar ifTruthy = (value) => value || D;\nfunction getScrollBarWidth() {\n const el = document.createElement(\"div\");\n el.style.cssText = \"overflow:scroll; visibility:hidden; position:absolute;\";\n document.body.appendChild(el);\n const width = el.offsetWidth - el.clientWidth;\n el.remove();\n return width;\n}\nfunction recenterNavItems() {\n const scrollBarWidth = getScrollBarWidth();\n document.body.style.setProperty(\"right\", \"0\");\n if (document.body.style.overflow === \"hidden\" && document.body.clientHeight > window.innerHeight) {\n document.body.style.setProperty(\"--compensate-scrollbar\", scrollBarWidth + \"px\");\n } else {\n document.body.style.setProperty(\"--compensate-scrollbar\", \"0px\");\n }\n}\nfunction getEventElement(evt, nodeQuery) {\n return evt.composedPath().find((elm) => elm.nodeName === nodeQuery);\n}\nfunction interserctionObserver(target, options, callback) {\n const observer = new IntersectionObserver(callback, options);\n observer.observe(target);\n}\nfunction applyStyles(element, styles) {\n if (!styles) return;\n const rootElm = element.getRootNode().nodeType === 11 ? element.getRootNode() : document.head;\n if (rootElm.querySelector(`style[data-element=${element.nodeName}]`)) return;\n const styleElm = document.createElement(\"style\");\n const stylesResult = r(styles);\n styleElm.appendChild(document.createTextNode(stylesResult.cssText));\n styleElm.dataset.element = element.nodeName;\n rootElm.appendChild(styleElm);\n}\nfunction smoothScroll(element, duration = 600) {\n const start = window.scrollY;\n const end = element.getBoundingClientRect().top + window.scrollY;\n const distance = end - start;\n let startTimestamp = null;\n const easeInOutQuad = (t, b, c, d) => {\n if ((t /= d / 2) < 1) return c / 2 * t * t + b;\n return -c / 2 * (--t * (t - 2) - 1) + b;\n };\n const animate = () => {\n if (!startTimestamp) startTimestamp = performance.now();\n const now = performance.now();\n const elapsed = now - startTimestamp;\n const progress = elapsed / duration;\n const easedY = easeInOutQuad(progress, start, distance, 1);\n window.scrollTo(0, easedY);\n if (progress < 1) {\n window.requestAnimationFrame(animate);\n }\n };\n window.requestAnimationFrame(animate);\n}\nfunction getAllParents(element) {\n let curNode = element;\n const elms = [];\n while (curNode) {\n if (curNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n if (curNode instanceof ShadowRoot) {\n if (curNode.host.assignedSlot) {\n elms.push(curNode.host.assignedSlot);\n curNode = curNode.host.assignedSlot.parentNode ?? void 0;\n } else {\n elms.push(curNode.host);\n curNode = curNode.host.parentNode ?? void 0;\n }\n }\n } else {\n elms.push(curNode);\n curNode = curNode.parentNode ?? void 0;\n }\n }\n return elms;\n}\nfunction querySelectorAllShadow(selector, startNode = document) {\n if (selector === \"\") return [];\n const nodes = [...startNode.querySelectorAll(selector)];\n const nodeIterator = document.createNodeIterator(startNode, Node.ELEMENT_NODE);\n let currentNode;\n while (currentNode = nodeIterator.nextNode()) {\n if (currentNode.shadowRoot) {\n nodes.push(...querySelectorAllShadow(selector, currentNode.shadowRoot));\n }\n }\n return nodes;\n}\n\nexport {\n JBCookie,\n throttle,\n debounce,\n respondTo,\n awaitForEach,\n isPartiallyInViewPort,\n dispatchEvent,\n nlToBr,\n mergeDeep,\n scrollToTop,\n ifTruthy,\n getScrollBarWidth,\n recenterNavItems,\n getEventElement,\n interserctionObserver,\n applyStyles,\n smoothScroll,\n getAllParents,\n querySelectorAllShadow\n};\n", "import {\n to\n} from \"./chunk.YTEMICXC.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n JBCookie\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/mixins/Spaceable.ts\nfunction Spaceable(baseClass) {\n class SpaceableMixin extends baseClass {\n constructor() {\n super(...arguments);\n this._wrapped = false;\n }\n connectedCallback() {\n super.connectedCallback();\n if (this.withSpacing && !this._wrapped) {\n this._addSpacing();\n }\n }\n update(changedProperties) {\n super.update(changedProperties);\n if (changedProperties.has(\"withSpacing\")) {\n if (this.withSpacing && !this._wrapped) {\n this._addSpacing();\n } else if (!this.withSpacing && this._wrapped) {\n this._removeSpacing();\n }\n }\n }\n _addSpacing() {\n this._wrapped = true;\n const contentSpacing = new JbContentSpacing().init({\n props: this._getContentSpacingProperties()\n });\n if (this.hasAttribute(\"slot\")) {\n contentSpacing.setAttribute(\"slot\", this.getAttribute(\"slot\"));\n this.removeAttribute(\"slot\");\n }\n if (this.hasAttribute(\"id\")) {\n contentSpacing.setAttribute(\"id\", this.getAttribute(\"id\"));\n this.removeAttribute(\"id\");\n }\n if (this.hasAttribute(\"background\")) {\n contentSpacing.setAttribute(\"class\", this.getAttribute(\"background\"));\n this.removeAttribute(\"background\");\n }\n this._wrap(contentSpacing);\n }\n /**\n * override this method to specify the properties of the jb-content-spacing element, that will surround your component\n */\n _getContentSpacingProperties() {\n return {};\n }\n _removeSpacing() {\n this._wrapped = false;\n const contentSpacing = this.closest(\"jb-content-spacing\");\n if (!contentSpacing) {\n return;\n }\n if (contentSpacing.hasAttribute(\"slot\")) {\n this.setAttribute(\"slot\", contentSpacing.getAttribute(\"slot\"));\n contentSpacing.removeAttribute(\"slot\");\n }\n if (contentSpacing.hasAttribute(\"id\")) {\n this.setAttribute(\"id\", contentSpacing.getAttribute(\"id\"));\n contentSpacing.removeAttribute(\"id\");\n }\n if (this.hasAttribute(\"background\") && this.getAttribute(\"background\") === \"true\") {\n contentSpacing.setAttribute(\"class\", \"bg-enabled\");\n this.removeAttribute(\"background\");\n }\n contentSpacing.replaceWith(this);\n }\n _wrap(wrapper) {\n this.parentNode?.insertBefore(wrapper, this);\n wrapper.appendChild(this);\n }\n }\n __decorateClass([\n n({ type: Boolean })\n ], SpaceableMixin.prototype, \"withSpacing\", 2);\n return SpaceableMixin;\n}\n\n// src/mixins/MarketDependent.ts\nfunction MarketDependent(baseClass) {\n class MarketDependentMixin extends Spaceable(baseClass) {\n willUpdate(_changedProperties) {\n super.willUpdate(_changedProperties);\n if (!this.onlyMarkets) {\n return;\n }\n const cookieMarket = parseInt(JBCookie.getI18nCookieData().market, 10);\n if (this.onlyMarkets.includes(cookieMarket)) {\n this.style.display = \"block\";\n } else {\n this.style.display = \"none\";\n this.withSpacing = false;\n }\n }\n }\n __decorateClass([\n n({ type: Array })\n ], MarketDependentMixin.prototype, \"onlyMarkets\", 2);\n return MarketDependentMixin;\n}\n\n// src/components/jb-content-spacing/jb-content-spacing.scss?inline\nvar jb_content_spacing_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n.grid > div {\n --_grid-gap: 16px;\n --_grid-template-columns: repeat(12, 1fr);\n display: grid;\n gap: var(--grid-row-gap, 0) var(--grid-column-gap, var(--_grid-gap));\n grid-template-columns: var(--theme-grid-template-columns, var(--_grid-template-columns));\n width: 100%;\n}\n@media (min-width: 960px) {\n .grid > div {\n --_grid-gap: 40px;\n }\n}\n\n.grid {\n --_max-width: calc(100% - (2 * 6.68%));\n display: grid;\n grid-template-columns: [full-start] minmax(0, 1fr) [main-start] minmax(0, var(--theme-grid-max-width, var(--_max-width))) [main-end] minmax(0, 1fr) [full-end];\n margin-inline: auto;\n}\n@media (min-width: 600px) {\n .grid {\n --_max-width: calc(100% - (2 * 8.35%));\n }\n}\n@media (min-width: 960px) {\n .grid {\n --_max-width: calc(100% - (2 * 6.955%));\n }\n}\n@media (min-width: 1437px) {\n .grid {\n --_max-width: 1437px;\n }\n}\n\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n padding-right: var(--compensate-scrollbar);\n --vertical-spacing-factor: 1;\n --top-spacing-factor: 1;\n --bottom-spacing-factor: 1;\n}\n\n:host(.smoke-light) {\n background: #f1f2f2;\n}\n\n:host(.stone) {\n background: #b0aa7e;\n}\n\n:host(.stone-light) {\n background: #f7f7f2;\n}\n\n:host(.violet-light) {\n background: #f2eff0;\n}\n\nsection {\n padding-bottom: calc(var(--vertical-spacing-factor) * var(--bottom-spacing-factor) * 60px);\n padding-top: calc(var(--vertical-spacing-factor) * var(--top-spacing-factor) * 60px);\n position: relative;\n}\n@media (min-width: 1281px) {\n section {\n padding-bottom: calc(var(--vertical-spacing-factor) * var(--bottom-spacing-factor) * 68px);\n padding-top: calc(var(--vertical-spacing-factor) * var(--top-spacing-factor) * 68px);\n }\n}\n\nsection:not(.grid) {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: calc(100% - 2 * var(--row-small-margin, 6.68%));\n}\n@media (min-width: 600px) and (max-width: 959px) {\n section:not(.grid) {\n width: calc(100% - 2 * 8.35%);\n }\n}\n@media (min-width: 1437px) {\n section:not(.grid) {\n max-width: var(--row-max-width, 1436px);\n }\n section:not(.grid):not(.filtered-list) {\n width: 100%;\n }\n}\n@media only screen and (min-width: 960px) and (max-width: 1436px) {\n section:not(.grid) {\n margin: 0 6.955%;\n max-width: calc(100% - 6.955% - 6.955%);\n }\n}\nsection:not(.grid) div {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 0;\n width: 100%;\n}\n@media (min-width: 600px) {\n section:not(.grid) div {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 0;\n width: 100%;\n }\n}\n@media (min-width: 960px) {\n section:not(.grid) div {\n margin-left: 16.6666666667%;\n box-sizing: border-box;\n flex-basis: 66.6666666667%;\n max-width: 66.6666666667%;\n padding: 0 20px;\n width: 66.6666666667%;\n }\n}\n@media (min-width: 960px) {\n section:not(.grid).cols-6 div {\n box-sizing: border-box;\n flex-basis: 50%;\n max-width: 50%;\n padding: 0 20px;\n width: 50%;\n margin-left: 25%;\n }\n}\n@media (min-width: 960px) {\n section:not(.grid).cols-9 div {\n box-sizing: border-box;\n flex-basis: 75%;\n max-width: 75%;\n padding: 0 20px;\n width: 75%;\n margin-left: 8.3333333333%;\n }\n}\n@media (min-width: 960px) {\n section:not(.grid).cols-10 div {\n box-sizing: border-box;\n flex-basis: 83.3333333333%;\n max-width: 83.3333333333%;\n padding: 0 20px;\n width: 83.3333333333%;\n margin-left: 8.3333333333%;\n }\n}\n@media (min-width: 960px) {\n section:not(.grid).cols-12 div {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 20px;\n width: 100%;\n margin-left: 0%;\n }\n}\n@media (min-width: 1281px) {\n section:not(.grid).cols-lg-6 div {\n box-sizing: border-box;\n flex-basis: 50%;\n max-width: 50%;\n padding: 0 20px;\n width: 50%;\n margin-left: 25%;\n }\n}\n@media (min-width: 1281px) {\n section:not(.grid).cols-lg-10 div {\n box-sizing: border-box;\n flex-basis: 83.3333333333%;\n max-width: 83.3333333333%;\n padding: 0 20px;\n width: 83.3333333333%;\n margin-left: 8.3333333333%;\n }\n}\n@media (min-width: 960px) {\n section:not(.grid).cols-lg-12 div {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 20px;\n width: 100%;\n }\n}\n@media (min-width: 600px) {\n section:not(.grid).cols-none div {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 0;\n width: 100%;\n }\n}\n@media (min-width: 960px) {\n section:not(.grid).cols-none div {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 0;\n width: 100%;\n margin-left: 0%;\n }\n}\n@media (min-width: 960px) {\n section:not(.grid).align-left.cols-6 div {\n margin-left: 16.6666666667%;\n }\n section:not(.grid).align-left.cols-8 div, section:not(.grid).align-left.cols-9 div, section:not(.grid).align-left.cols-10 div {\n margin-left: 0%;\n }\n}\n@media (min-width: 960px) {\n section:not(.grid).align-right.cols-6 div {\n margin-left: 50%;\n }\n section:not(.grid).align-right.cols-8 div {\n margin-left: 33.3333333333%;\n }\n section:not(.grid).align-right.cols-9 div {\n margin-left: 25%;\n }\n section:not(.grid).align-right.cols-10 div {\n margin-left: 16.6666666667%;\n }\n}\n@media (min-width: 1437px) {\n section:not(.grid).wide {\n max-width: calc(var(--row-max-width, 1436px) + 136px);\n padding-left: 68px;\n padding-right: 68px;\n }\n}\nsection:not(.grid).full-width {\n width: 100%;\n}\n@media (max-width: 959px) {\n section:not(.grid).full-width-sm-down {\n width: 100%;\n }\n}\n@media (max-width: 1280px) {\n section:not(.grid).full-width-md-down {\n width: 100%;\n }\n}\n@media (max-width: 1436px) {\n section:not(.grid).full-width-lg-down {\n width: 100%;\n }\n}\n@media (max-width: 599px) {\n section:not(.grid).full-width-xs {\n width: 100%;\n }\n}\nsection:not(.grid).focus.align-center div {\n padding: 0;\n}\n\n@media (min-width: 960px) {\n .grid-legacy > div {\n padding-inline: 20px;\n }\n}\n\n.grid > div {\n grid-column: main;\n}\n.grid > div ::slotted(*) {\n grid-column: 1/13;\n}\n@media (min-width: 960px) {\n .grid > div ::slotted(*) {\n grid-column: 3/span 8;\n }\n}\n@media (min-width: 960px) {\n .grid.cols-6 > div ::slotted(*) {\n grid-column: 4/span 6;\n }\n}\n@media (min-width: 960px) {\n .grid.cols-9 > div ::slotted(*) {\n grid-column: 2/span 9;\n }\n}\n@media (min-width: 960px) {\n .grid.cols-10 > div ::slotted(*) {\n grid-column: 2/span 10;\n }\n}\n@media (min-width: 960px) {\n .grid.cols-12 > div ::slotted(*) {\n grid-column: 1/span 12;\n }\n}\n@media (min-width: 1281px) {\n .grid.cols-lg-6 > div ::slotted(*) {\n grid-column: 4/span 6;\n }\n}\n@media (min-width: 1281px) {\n .grid.cols-lg-8 > div ::slotted(*) {\n grid-column: 3/span 8;\n }\n}\n@media (min-width: 1281px) {\n .grid.cols-lg-9 > div ::slotted(*) {\n grid-column: 2/span 9;\n }\n}\n@media (min-width: 1281px) {\n .grid.cols-lg-10 > div ::slotted(*) {\n grid-column: 2/span 10;\n }\n}\n@media (min-width: 1281px) {\n .grid.cols-lg-12 > div ::slotted(*) {\n grid-column: 1/span 12;\n }\n}\n.grid.cols-none > div {\n padding-inline: 0;\n}\n.grid.cols-none > div ::slotted(*) {\n grid-column: 1/span 12;\n}\n@media (min-width: 960px) {\n .grid.align-left.cols-6 > div ::slotted(*), .grid.align-left.cols-8 > div ::slotted(*), .grid.align-left.cols-9 > div ::slotted(*), .grid.align-left.cols-10 > div ::slotted(*) {\n grid-column-start: 1;\n }\n}\n@media (min-width: 960px) {\n .grid.align-right.cols-6 > div ::slotted(*) {\n grid-column: 7/span 6;\n }\n .grid.align-right.cols-8 > div ::slotted(*) {\n grid-column: 5/span 8;\n }\n .grid.align-right.cols-9 > div ::slotted(*) {\n grid-column: 4/span 9;\n }\n .grid.align-right.cols-10 > div ::slotted(*) {\n grid-column: 3/span 10;\n }\n}\n.grid.full-width > div {\n grid-column: full;\n}\n@media (max-width: 959px) {\n .grid.full-width-sm-down > div {\n grid-column: full;\n }\n}\n@media (max-width: 1280px) {\n .grid.full-width-md-down > div {\n grid-column: full;\n }\n}\n@media (max-width: 1436px) {\n .grid.full-width-lg-down > div {\n grid-column: full;\n }\n}\n@media (max-width: 599px) {\n .grid.full-width-xs > div {\n grid-column: full;\n }\n}`;\n\n// src/components/jb-content-spacing/jb-content-spacing.ts\nvar JbContentSpacing = class extends Initiable(h) {\n connectedCallback() {\n super.connectedCallback();\n if (this.type) {\n this.setAttribute(\"data-type\", this.type);\n }\n }\n async firstUpdated() {\n if (this.type === \"focus\") {\n this.style.setProperty(\"--bottom-spacing-factor\", \"0.5\");\n if (this._followsTextComponent()) {\n this.style.setProperty(\"--top-spacing-factor\", \"0.5\");\n }\n }\n if (this.type === \"no-vertical-space\") {\n this.style.setProperty(\"--vertical-spacing-factor\", \"0\");\n }\n if (this.type === \"text\") {\n this.style.setProperty(\"--vertical-spacing-factor\", \"0.5\");\n if (this._followsTextComponent()) {\n this.style.setProperty(\"--top-spacing-factor\", \"0\");\n }\n }\n if (this.type === \"half-top-no-bottom\") {\n this.style.setProperty(\"--top-spacing-factor\", \"0.5\");\n this.style.setProperty(\"--bottom-spacing-factor\", \"0\");\n }\n if (this.type === \"list\") {\n if (this._followsTextComponent()) {\n this.style.setProperty(\"--vertical-spacing-factor\", \"0.5\");\n }\n }\n if (this.type === \"media\") {\n if (this._followsTextComponent()) {\n this.style.setProperty(\"--vertical-spacing-factor\", \"0.5\");\n }\n }\n if (this.type === \"list-without-heading\") {\n this.style.setProperty(\"--vertical-spacing-factor\", \"0.5\");\n if (this._followsTextComponent()) {\n this.style.setProperty(\"--top-spacing-factor\", \"0\");\n }\n }\n if (this.type === \"article-wide\") {\n this.style.setProperty(\"--bottom-spacing-factor\", \"0\");\n }\n if (this.type === \"teaser-block\" || this.type === \"navigation-tags\") {\n if (this.getAttribute(\"class\")) {\n if (this._followsArticleWideComponent()) {\n this.style.setProperty(\"margin-top\", \"72px\");\n } else {\n this.style.setProperty(\"margin-block\", \"72px\");\n }\n }\n }\n }\n _followsArticleWideComponent() {\n const previousElement = this.previousElementSibling;\n if (!previousElement) {\n return false;\n }\n const visiblePreviousElement = this._previousVisibleElement();\n if (!visiblePreviousElement) {\n return false;\n }\n return visiblePreviousElement.matches(['jb-content-spacing[data-type=\"article-wide\"]'].join(\", \"));\n }\n _followsTextComponent() {\n const previousElement = this.previousElementSibling;\n if (!previousElement) {\n return false;\n }\n const visiblePreviousElement = this._previousVisibleElement();\n if (!visiblePreviousElement) {\n return false;\n }\n return visiblePreviousElement.matches(\n [\n 'jb-content-spacing[data-type=\"text\"]',\n \".template-section-spacer--text-components\",\n \".template-section-spacer--richtext-components\"\n ].join(\", \")\n );\n }\n _isHidden(element) {\n return element.style.display === \"none\";\n }\n _previousVisibleElement() {\n let prevElement = this.previousElementSibling;\n while (prevElement) {\n if (!this._isHidden(prevElement)) {\n return prevElement;\n }\n prevElement = prevElement.previousElementSibling;\n }\n return null;\n }\n render() {\n return ke` \n
\n `;\n }\n};\nJbContentSpacing.styles = r(jb_content_spacing_default);\n__decorateClass([\n n()\n], JbContentSpacing.prototype, \"align\", 2);\n__decorateClass([\n n({ type: Number })\n], JbContentSpacing.prototype, \"colsLgUp\", 2);\n__decorateClass([\n n({ type: Number })\n], JbContentSpacing.prototype, \"colsMdUp\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbContentSpacing.prototype, \"grid\", 2);\n__decorateClass([\n n()\n], JbContentSpacing.prototype, \"horizontal\", 2);\n__decorateClass([\n n()\n], JbContentSpacing.prototype, \"type\", 2);\nJbContentSpacing = __decorateClass([\n customElement(\"jb-content-spacing\")\n], JbContentSpacing);\n\nexport {\n JbContentSpacing,\n Spaceable,\n MarketDependent\n};\n", "import {\n JBCookie,\n querySelectorAllShadow,\n smoothScroll\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r2 as r\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/mixins/Linkable.ts\nvar LinkableEvents = class {\n constructor() {\n this[\"jb-link:clicked\"] = void 0;\n this[\"jb-link:initialized\"] = void 0;\n }\n};\nfunction registerLinkClickHandlers(linkTag, linkableComponent = void 0) {\n linkTag.addEventListener(\"click\", (clickEvent) => {\n const textContent = linkableComponent?.getTextContent?.() ?? linkTag.innerText;\n const detail = { linkTag, clickEvent, linkableComponent, textContent, noGenericLinkTracking: false };\n if (linkTag.dataset.jblinkdata !== void 0) {\n const jblinkdata = JSON.parse(linkTag.dataset.jblinkdata);\n Object.assign(detail, jblinkdata);\n }\n if (linkableComponent?.link?.href && linkableComponent?.link?.href !== \"#\") {\n const linkFragment = linkableComponent.link.href.split(\"#\")[1];\n if (typeof linkFragment !== \"undefined\") {\n const targets = querySelectorAllShadow(`#${linkFragment}`);\n if (targets.length === 1) {\n smoothScroll(targets[0]);\n }\n }\n }\n const customEvent = new CustomEvent(\"jb-link:clicked\", {\n detail: {\n ...detail,\n trigger: \"Linkable\"\n },\n bubbles: true,\n composed: true\n });\n clickEvent.target?.dispatchEvent(customEvent);\n });\n}\nfunction jbLinkClickedEventToJbTrackingEvent(jbLinkClickedEvent, preconfiguredDetails) {\n const { type, linkTag } = jbLinkClickedEvent.detail;\n let trackingType;\n if (jbLinkClickedEvent.detail.contactIframeUrl || jbLinkClickedEvent.detail.contactOverlayForm) {\n trackingType = \"contactOverlay\";\n } else if (jbLinkClickedEvent.detail.publicationOverlay) {\n trackingType = \"publicationDownloadOverlay\";\n } else if (jbLinkClickedEvent.detail.cookieSettings) {\n trackingType = \"cookieSettings\";\n } else {\n trackingType = type || \"internal\";\n }\n let detail;\n switch (trackingType) {\n case \"contactOverlay\":\n detail = {\n event: \"ce_interaction\",\n interaction_effect: \"open\",\n interaction_element: \"Overlay Links\",\n interaction_result: `Contact | ${jbLinkClickedEvent.detail.contactFormUid}`,\n interaction_type: \"click\"\n };\n break;\n case \"download\":\n detail = {\n event: \"ce_download\",\n file_name: jbLinkClickedEvent.detail.downloadFileName.split(\".\").shift(),\n file_type: jbLinkClickedEvent.detail.downloadFileName.split(\".\").pop().toLocaleLowerCase()\n };\n break;\n case \"external\":\n case \"internal\":\n detail = {\n event: \"ce_interaction\",\n interaction_effect: \"navigation\",\n interaction_element: type === \"internal\" ? \"Internal Links\" : \"External Links\",\n interaction_result: new URL(linkTag.href).href,\n interaction_type: \"click\"\n };\n break;\n case \"social\":\n detail = {\n event: \"ce_interaction\",\n interaction_effect: \"navigation\",\n interaction_element: \"Social Links\",\n interaction_result: new URL(linkTag.href).href,\n interaction_type: \"click\"\n };\n break;\n case \"publicationDownloadOverlay\":\n detail = {\n event: \"ce_interaction\",\n interaction_effect: \"open\",\n interaction_element: \"Overlay Links\",\n interaction_result: `Download | ${jbLinkClickedEvent.detail.publicationOverlay.title}`,\n interaction_type: \"click\"\n };\n break;\n default:\n return;\n }\n jbLinkClickedEvent.stopPropagation();\n document.body.dispatchEvent(\n new CustomEvent(\"jb-link:clicked\", {\n detail: {\n ...jbLinkClickedEvent.detail,\n noGenericLinkTracking: true\n },\n bubbles: true,\n composed: true\n })\n );\n return new CustomEvent(\"jb-tracking\", {\n detail: { ...detail, ...preconfiguredDetails, event_version: \"v2\" },\n bubbles: true,\n composed: true\n });\n}\nfunction initializeLink(linkTag, linkableComponent = void 0) {\n if (!linkTag) {\n return;\n }\n if (!linkTag.dataset.linkInitialized) {\n registerLinkClickHandlers(linkTag, linkableComponent);\n }\n linkTag.dataset.linkInitialized = \"true\";\n const customEvent = new CustomEvent(\"jb-link:initialized\", {\n bubbles: true,\n composed: true,\n detail: { ...JSON.parse(linkTag.dataset.jblinkdata || \"{}\"), linkTag, linkableComponent }\n });\n linkTag.dispatchEvent(customEvent);\n}\nfunction getMarketSpecificHref(marketUris) {\n if (marketUris === void 0) {\n return void 0;\n }\n const userMarket = parseInt(JBCookie.getI18nCookieData().market, 10);\n if (userMarket === 0) {\n return void 0;\n }\n const matchingEntry = marketUris.find((entry) => entry.marketUid === userMarket);\n if (!matchingEntry) {\n return void 0;\n }\n return matchingEntry.href;\n}\nfunction getLinkDefaultValues() {\n return {};\n}\nfunction setLinkAttributes(element, link) {\n if (!element || !link) {\n return;\n }\n const defaultValues = getLinkDefaultValues();\n const {\n data = defaultValues.data,\n download = defaultValues.download,\n href = defaultValues.href,\n name = defaultValues.name,\n target = defaultValues.target\n } = link;\n const marketSpecificHref = getMarketSpecificHref(link.marketUris);\n element.setAttribute(\"href\", marketSpecificHref || href || \"#\");\n if (name) {\n element.setAttribute(\"aria-label\", name);\n } else {\n element.removeAttribute(\"aria-label\");\n }\n if (download) {\n element.setAttribute(\"download\", \"\");\n } else {\n element.removeAttribute(\"download\");\n }\n if (target) {\n element.setAttribute(\"target\", target);\n } else {\n element.removeAttribute(\"target\");\n }\n if (data) {\n element.setAttribute(\"data-jblinkdata\", JSON.stringify(data));\n } else {\n element.removeAttribute(\"data-jblinkdata\");\n }\n}\nfunction setLink(element, link) {\n setLinkAttributes(element, link);\n initializeLink(element);\n}\nfunction getLinkIcon(type) {\n if (type === \"mail\") {\n return ke``;\n }\n if (type === \"download\") {\n return ke``;\n }\n if (type === \"in-page\") {\n return ke``;\n }\n if (type === \"internal\") {\n return ke``;\n }\n if (type === \"external\") {\n return ke``;\n }\n return \"\";\n}\nfunction Linkable(baseClass) {\n class LinkableMixin extends baseClass {\n update(changedProperties) {\n super.update(changedProperties);\n if (changedProperties.has(\"link\")) {\n this._linkTags?.forEach((linkTag) => {\n setLinkAttributes(linkTag, this.link);\n initializeLink(linkTag, this);\n });\n }\n }\n getTextContent() {\n return null;\n }\n /**\n * Override this method in your web component if you want to define default link values.\n * { target: '_blank' } will make your link open in a new window, if the link data don't explicitly set a different target\n * { download: true } will set a download attribute on your link, if the link data don't explicitly set it to false\n */\n _getLinkDefaultValues() {\n return {};\n }\n }\n __decorateClass([\n n({ type: Object })\n ], LinkableMixin.prototype, \"link\", 2);\n __decorateClass([\n r(\"a[data-linkable]\")\n ], LinkableMixin.prototype, \"_linkTags\", 2);\n return LinkableMixin;\n}\n\nexport {\n LinkableEvents,\n jbLinkClickedEventToJbTrackingEvent,\n initializeLink,\n setLink,\n getLinkIcon,\n Linkable\n};\n", "import {\n interserctionObserver\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/mixins/ChangesBackgroundColor.ts\nfunction ChangesBackgroundColor(baseClass) {\n class ChangesBackgroundColorMixin extends baseClass {\n constructor() {\n super(...arguments);\n this._availableColors = {\n \"royalblue-light\": \"231, 232, 238\",\n smoke: \"113, 124, 125\",\n // '#717c7d',\n \"smoke-light\": \"241, 242, 242\",\n // '#f1f2f2',\n stone: \"176, 170, 126\",\n // '#b0aa7e',\n \"stone-light\": \"247, 247, 242\",\n // '#f7f7f2',\n \"violet-grey\": \"123, 100, 105\",\n // '#7b6469',\n \"violet-light\": \"242, 239, 240\"\n // '#f2eff0',\n };\n }\n update(changedProperties) {\n super.update(changedProperties);\n document.body.classList.remove(\"sb-show-main\");\n if (this.changesBodyBackgroundColor) {\n const intersectionObserverOptions = {\n rootMargin: \"0px\",\n threshold: 0.1\n };\n interserctionObserver(\n this,\n intersectionObserverOptions,\n (e) => this._handleIntersection(e)\n );\n }\n }\n _clearBackground() {\n if (document.body.style.backgroundColor) {\n document.body.style.removeProperty(\"background-color\");\n document.body.style.removeProperty(\"--body-background-color\");\n }\n }\n /**\n * override this method to specify if the backgroundColor should fade in when already in viewport\n */\n _enableAnimation() {\n return true;\n }\n _handleIntersection(e) {\n e.forEach((entry) => {\n if (entry.intersectionRatio !== 0) {\n if (this._enableAnimation() || entry.boundingClientRect.top < 0) {\n document.body.classList.add(\"animatebackground\");\n } else {\n document.body.classList.remove(\"animatebackground\");\n }\n }\n if (entry.isIntersecting) {\n this._setBackground();\n } else {\n this._clearBackground();\n }\n });\n }\n _setBackground() {\n document.body.style.backgroundColor = `rgb(${this._availableColors[this.changesBodyBackgroundColor]})`;\n document.body.style.setProperty(\n \"--body-background-color\",\n this._availableColors[this.changesBodyBackgroundColor]\n );\n }\n }\n __decorateClass([\n n()\n ], ChangesBackgroundColorMixin.prototype, \"changesBodyBackgroundColor\", 2);\n return ChangesBackgroundColorMixin;\n}\n\nexport {\n ChangesBackgroundColor\n};\n", "import {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/mixins/Animatable.ts\nfunction Animatable(baseClass) {\n class AnimatableMixin extends baseClass {\n constructor() {\n super(...arguments);\n this.contentDuration = 300;\n this.contentKeyframes = [{ opacity: 0 }, { opacity: 1 }];\n this.contentStagger = 150;\n this.wrapperDuration = 350;\n this.wrapperKeyframes = [\n { transform: \"translateY(-100%)\" },\n { transform: \"translateY(0%)\" }\n ];\n }\n connectedCallback() {\n super.connectedCallback();\n }\n async animateContent(hide = false) {\n if (!this._animateChildren) return false;\n return new Promise((resolve) => {\n for (let index = 0; index < this._animateChildren.length; index += 1) {\n const contentIndex = hide ? this._animateChildren.length - index - 1 : index;\n if (typeof this._animateChildren[contentIndex] !== \"undefined\") {\n const anim = this._animateChildren[contentIndex].animate(this.contentKeyframes, {\n duration: this.contentDuration,\n iterations: 1,\n direction: hide ? \"reverse\" : \"normal\",\n delay: this.contentStagger * index,\n fill: \"both\"\n });\n this._animateChildren[contentIndex].style.zIndex = (this._animateChildren.length - index - 1).toString();\n if (index === this._animateChildren.length - 1) {\n anim.onfinish = () => {\n this.dispatchEvent(new Event(hide ? \"jb-reveal:contentHidden\" : \"jb-reveal:contentRevealed\"));\n resolve(true);\n };\n }\n }\n }\n });\n }\n async animateWrapper(hide = false) {\n await customElements.whenDefined(\"jb-overlay\");\n const animatedElement = this._parentOverlay ? this._parentOverlay.shadowRoot.querySelector(\"section\") : this;\n const anim = animatedElement?.animate(this.wrapperKeyframes, {\n duration: this.wrapperDuration,\n iterations: 1,\n direction: hide ? \"reverse\" : \"normal\",\n fill: \"both\"\n });\n return new Promise((resolve) => {\n if (anim) {\n anim.onfinish = () => {\n this.dispatchEvent(new Event(hide ? \"jb-reveal:wrapperHidden\" : \"jb-reveal:wrapperRevealed\"));\n resolve(true);\n };\n } else {\n resolve(false);\n }\n });\n }\n async animateWrapperControls(hide = false) {\n const wrapperControls = [];\n if (this._parentOverlay && (this._parentOverlay.hasLogo || this._parentOverlay.hasCloseIcon)) {\n if (this._parentOverlay.hasLogo) {\n wrapperControls.push(this._parentOverlay.shadowRoot.querySelector(\".overlay__logo-wrap\"));\n }\n if (this._parentOverlay.hasCloseIcon) {\n wrapperControls.push(this._parentOverlay.shadowRoot.querySelector(\".overlay__close-btn\"));\n }\n }\n return new Promise((resolve) => {\n for (let index = 0; index < wrapperControls.length; index += 1) {\n const contentIndex = hide ? wrapperControls.length - index - 1 : index;\n if (typeof wrapperControls[contentIndex] !== \"undefined\") {\n const anim = wrapperControls[contentIndex].animate(this.contentKeyframes, {\n duration: this.contentDuration,\n iterations: 1,\n direction: hide ? \"reverse\" : \"normal\",\n fill: \"both\"\n });\n if (index === wrapperControls.length - 1) {\n anim.onfinish = () => {\n this.dispatchEvent(\n new Event(hide ? \"jb-reveal:wrapperControlsHidden\" : \"jb-reveal:wrapperControlsRevealed\")\n );\n resolve(true);\n };\n }\n }\n }\n });\n }\n async hide() {\n await this.animateContent(true);\n if (this._parentOverlay && (this._parentOverlay.hasLogo || this._parentOverlay.hasCloseIcon)) {\n await this.animateWrapperControls(true);\n }\n await this.animateWrapper(true);\n }\n async reveal() {\n await this.animateWrapper();\n if (this._parentOverlay && (this._parentOverlay.hasLogo || this._parentOverlay.hasCloseIcon)) {\n await this.animateWrapperControls();\n }\n await this.animateContent();\n }\n get _animateChildren() {\n return this.contentChildren ?? this.shadowRoot?.querySelector(\"slot\")?.assignedElements({ flatten: true });\n }\n get _parentOverlay() {\n if (this.parentElement && this.parentElement.tagName === \"JB-OVERLAY\") return this.parentElement;\n if (this.parentElement.parentElement && this.parentElement.parentElement.tagName === \"JB-OVERLAY\")\n return this.parentElement.parentElement;\n return false;\n }\n }\n __decorateClass([\n n({ type: Array })\n ], AnimatableMixin.prototype, \"contentChildren\", 2);\n __decorateClass([\n n({ type: Number })\n ], AnimatableMixin.prototype, \"contentDuration\", 2);\n __decorateClass([\n n({ type: Object })\n ], AnimatableMixin.prototype, \"contentKeyframes\", 2);\n __decorateClass([\n n({ type: Number })\n ], AnimatableMixin.prototype, \"contentStagger\", 2);\n __decorateClass([\n n({ type: Number })\n ], AnimatableMixin.prototype, \"wrapperDuration\", 2);\n __decorateClass([\n n({ type: Object })\n ], AnimatableMixin.prototype, \"wrapperKeyframes\", 2);\n return AnimatableMixin;\n}\n\nexport {\n Animatable\n};\n", "import {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n Animatable\n} from \"./chunk.VRR2P3PQ.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-search-overlay/jb-search-overlay.scss?inline\nvar jb_search_overlay_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nsection {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: calc(100% - 2 * var(--row-small-margin, 6.68%));\n justify-content: center;\n}\n@media (min-width: 600px) and (max-width: 959px) {\n section {\n width: calc(100% - 2 * 8.35%);\n }\n}\n@media (min-width: 1437px) {\n section {\n max-width: var(--row-max-width, 1436px);\n }\n section:not(.filtered-list) {\n width: 100%;\n }\n}\n@media only screen and (min-width: 960px) and (max-width: 1436px) {\n section {\n margin: 0 6.955%;\n max-width: calc(100% - 6.955% - 6.955%);\n }\n}\n\nform {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 0;\n width: 100%;\n margin-block: 67px;\n}\n@media (min-width: 600px) {\n form {\n margin-block: 187px;\n padding-inline: 26px 23px;\n }\n}\n@media (min-width: 960px) {\n form {\n box-sizing: border-box;\n flex-basis: 50%;\n max-width: 50%;\n padding: 0 20px;\n width: 50%;\n padding-inline: 52px;\n }\n}\n@media (min-width: 1281px) {\n form {\n margin-block: 177px;\n }\n}\n\njb-search-input {\n --fill-color: white;\n --secondary-color: rgba(255, 255, 255, 1);\n --stroke-color: rgba(255, 255, 255, 0.4);\n opacity: 0;\n}\n@media (min-width: 960px) {\n jb-search-input {\n --search-icon-translate: -4px;\n }\n}\n\n:host {\n background-color: #141e55;\n display: block;\n height: 100%;\n transform-origin: top center;\n width: 100%;\n}`;\n\n// src/components/jb-search-overlay/jb-search-overlay.ts\nvar JbSearchOverlay = class extends Initiable(Animatable(h)) {\n update(changedProperties) {\n super.update(changedProperties);\n if (changedProperties.has(\"formAction\") && this.formAction && this._form) {\n const formActionUrl = new URL(this.formAction);\n formActionUrl.searchParams.forEach((value, key) => {\n const input = document.createElement(\"input\");\n input.setAttribute(\"type\", \"hidden\");\n input.setAttribute(\"name\", key);\n input.setAttribute(\"value\", value);\n this._form?.append(input);\n });\n }\n }\n firstUpdated(_changedProperties) {\n super.firstUpdated(_changedProperties);\n setTimeout(() => {\n this._searchInput?.focusSearchInput();\n }, 0);\n }\n _submit(event) {\n if (this._queryInput) {\n this._queryInput.value = event.detail.value;\n }\n this._form?.submit();\n }\n render() {\n const formActionUrl = new URL(this.formAction, document.baseURI);\n const action = `${formActionUrl.protocol}//${formActionUrl.host}${formActionUrl.pathname ? `${formActionUrl.pathname}` : \"\"}${formActionUrl.port ? `:${formActionUrl.port}` : \"\"} `;\n return ke`\n
\n \n \n \n \n
\n `;\n }\n};\nJbSearchOverlay.styles = r(jb_search_overlay_default);\n__decorateClass([\n n()\n], JbSearchOverlay.prototype, \"formAction\", 2);\n__decorateClass([\n n()\n], JbSearchOverlay.prototype, \"queryParameter\", 2);\n__decorateClass([\n n({ type: Object })\n], JbSearchOverlay.prototype, \"searchInput\", 2);\n__decorateClass([\n e(\"form\")\n], JbSearchOverlay.prototype, \"_form\", 2);\n__decorateClass([\n e(\"#queryInput\")\n], JbSearchOverlay.prototype, \"_queryInput\", 2);\n__decorateClass([\n e(\"jb-search-input\")\n], JbSearchOverlay.prototype, \"_searchInput\", 2);\nJbSearchOverlay = __decorateClass([\n customElement(\"jb-search-overlay\")\n], JbSearchOverlay);\n\nexport {\n JbSearchOverlay\n};\n", "import {\n e,\n i,\n t\n} from \"./chunk.OZEBCGEZ.js\";\nimport {\n D,\n R\n} from \"./chunk.FCKNEYTX.js\";\n\n// node_modules/lit-html/directives/unsafe-html.js\nvar le = class extends i {\n constructor(i2) {\n if (super(i2), this.it = D, i2.type !== t.CHILD) throw Error(this.constructor.directiveName + \"() can only be used in child bindings\");\n }\n render(t2) {\n if (t2 === D || null == t2) return this._t = void 0, this.it = t2;\n if (t2 === R) return t2;\n if (\"string\" != typeof t2) throw Error(this.constructor.directiveName + \"() called with a non-string value\");\n if (t2 === this.it) return this._t;\n this.it = t2;\n const i2 = [t2];\n return i2.raw = i2, this._t = { _$litType$: this.constructor.resultType, strings: i2, values: [] };\n }\n};\nle.directiveName = \"unsafeHTML\", le.resultType = 1;\nvar ae = e(le);\n\nexport {\n le,\n ae\n};\n/*! Bundled license information:\n\nlit-html/directives/unsafe-html.js:\n (**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n*/\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-i18n-data/jb-i18n-data.ts\nvar JbI18nData = class extends h {\n static find() {\n return document.querySelector(\"jb-i18n-data\") || void 0;\n }\n getI18nDataCountriesForRegion(region) {\n return this.i18nData?.regions.find((obj) => obj.regionUid.toString() === region.toString())?.countries;\n }\n getI18nDataLanguageOptionsForCountry(country) {\n const languageOptions = [];\n this.i18nData?.regions.some((regionData) => {\n const foundData = regionData.countries.find(\n (obj) => obj.countryIsoCode.toString() === country.toString()\n )?.languageOptions;\n if (foundData) {\n foundData.forEach((languageOption) => {\n languageOptions.push(languageOption);\n });\n return null;\n }\n return null;\n });\n return languageOptions;\n }\n getI18nDataRegions() {\n return this.i18nData?.regions;\n }\n getLanguageByIsoCode(isoCode) {\n return this.i18nData?.globalLanguages[isoCode];\n }\n getMarketLabel(marketId, languageId) {\n const matchingMarket = this.i18nData?.markets.find((market) => market.marketUid === marketId);\n if (!matchingMarket) {\n return void 0;\n }\n return matchingMarket.labels[languageId ? `${languageId}` : \"current\"] || void 0;\n }\n render() {\n return \"\";\n }\n};\n__decorateClass([\n n({ type: Object })\n], JbI18nData.prototype, \"i18nData\", 2);\nJbI18nData = __decorateClass([\n customElement(\"jb-i18n-data\")\n], JbI18nData);\n\nexport {\n JbI18nData\n};\n", "import {\n JbI18nData\n} from \"./chunk.SE5MQEAG.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n Linkable,\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n Animatable\n} from \"./chunk.VRR2P3PQ.js\";\nimport {\n JBCookie\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-region-select-overlay/jb-region-select-overlay.scss?inline\nvar jb_region_select_overlay_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.region-select-overlay__text {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.region-select-overlay__text {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.063rem;\n line-height: 1.875rem;\n}\n@media (min-width: 1281px) {\n .region-select-overlay__text {\n font-size: 1.188rem;\n line-height: 2.125rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n background-color: #141e55;\n display: block;\n min-height: 100%;\n padding-bottom: 112px;\n transform-origin: top center;\n width: 100%;\n}\n\n.region-select-overlay {\n background-color: #141e55;\n padding-top: 30px;\n}\n@media (min-width: 600px) {\n .region-select-overlay {\n padding-top: 0;\n }\n}\n@media (min-width: 960px) {\n .region-select-overlay {\n padding-top: 50px;\n }\n}\n@media (min-width: 1281px) {\n .region-select-overlay {\n padding-top: 40px;\n }\n}\n.region-select-overlay__scroll-wrap {\n min-height: 100%;\n}\n@media (min-width: 960px) {\n .region-select-overlay__scroll-wrap {\n padding-top: 7vh;\n }\n}\n.region-select-overlay__wrap {\n opacity: 0;\n padding: 0 25px;\n width: 100%;\n}\n@media (min-width: 600px) {\n .region-select-overlay__wrap {\n margin-left: auto;\n margin-right: auto;\n max-width: 548px;\n padding: 0;\n }\n}\n@media (min-width: 960px) {\n .region-select-overlay__wrap {\n padding-bottom: 170px;\n }\n}\n@media (min-width: 1437px) {\n .region-select-overlay__wrap {\n max-width: 710px;\n width: 45vw;\n }\n}\n.region-select-overlay__text {\n font-size: 13px;\n font-size: 0.8125rem;\n line-height: 20px;\n line-height: 1.25rem;\n color: #fff;\n margin-bottom: 34px;\n}\n@media (min-width: 600px) {\n .region-select-overlay__text {\n font-size: 16px;\n font-size: 1rem;\n line-height: 26px;\n line-height: 1.625rem;\n }\n}\n@media (min-width: 1437px) {\n .region-select-overlay__text {\n font-size: 19px;\n font-size: 1.1875rem;\n line-height: 34px;\n line-height: 2.125rem;\n }\n}\n.region-select-overlay__notification {\n margin-bottom: 16px;\n}\n\njb-button {\n cursor: pointer;\n --rgb-primary: 255, 255, 255;\n}\n\n#region {\n z-index: 3;\n}\n\n#country {\n z-index: 2;\n}\n\n#language {\n z-index: 1;\n}`;\n\n// src/components/jb-region-select-overlay/jb-region-select-overlay.ts\nvar JbRegionSelectOverlay = class extends Initiable(Linkable(Animatable(h))) {\n constructor() {\n super(...arguments);\n this._alert = \"\";\n this._countries = [];\n this._countryDisabled = false;\n this._languageDisabled = false;\n this._languages = [];\n this._link = \"\";\n this._regionDisabled = false;\n this._regions = [];\n this._selectedCountry = JBCookie.getI18nCookieData().country;\n this._selectedLanguage = JBCookie.getI18nCookieData().language;\n this._selectedLanguageIso2 = JBCookie.getI18nCookieData().languageIso2;\n this._selectedMarket = JBCookie.getI18nCookieData().market;\n this._selectedRegion = JBCookie.getI18nCookieData().region || \"0\";\n }\n firstUpdated() {\n this.loadAllRegions();\n this.loadCountriesForRegion();\n this.addEventListener(\"jb-select:changed\", (event) => {\n const eventDetail = event.detail;\n if (eventDetail.id === \"region\") {\n this._selectedRegion = eventDetail.newValue;\n this.loadCountriesForRegion();\n }\n if (eventDetail.id === \"country\") {\n this._selectedCountry = eventDetail.newValue;\n this._selectedMarket = this._countries.find((country) => country.value === eventDetail.newValue)?.market.toString();\n this.loadLanguagesForCountry();\n }\n if (eventDetail.id === \"language\") {\n this._selectedLanguageIso2 = eventDetail.newValue;\n const languageUid = this._languages.find((language) => language.value === eventDetail.newValue)?.uid;\n this._selectedLanguage = languageUid ? languageUid.toString() : \"0\";\n this._link = this._languages.find((language) => language.value === eventDetail.newValue)?.url;\n }\n });\n }\n loadAllRegions() {\n const regions = JbI18nData.find()?.getI18nDataRegions();\n if (!regions) {\n return;\n }\n regions.map(\n (region) => this._regions.push({\n label: region.label,\n value: region.regionUid.toString(),\n countries: region.countries,\n regionUid: region.regionUid\n })\n );\n }\n loadCountriesForRegion() {\n const countries = JbI18nData.find()?.getI18nDataCountriesForRegion(this._selectedRegion);\n this._countries = [];\n if (!countries) {\n return;\n }\n countries.map(\n (country) => this._countries.push({\n label: country.label,\n value: country.countryIsoCode.toString(),\n countryIsoCode: country.countryIsoCode.toString(),\n languageOptions: country.languageOptions,\n market: country.market\n })\n );\n this._countryDisabled = countries.length <= 1;\n if (this._countries.length === 1) {\n this._selectedCountry = this._countries[0].value;\n }\n }\n loadLanguagesForCountry() {\n const i18nDataComponent = JbI18nData.find();\n if (!i18nDataComponent) {\n return;\n }\n const languageOptions = i18nDataComponent.getI18nDataLanguageOptionsForCountry(this._selectedCountry);\n this._languages = [];\n if (!languageOptions) {\n return;\n }\n let foundLanguage;\n languageOptions.forEach((languageOption) => {\n const language = i18nDataComponent.getLanguageByIsoCode(languageOption.language);\n if (language?.languageIsoCode === JBCookie.getI18nCookieData().languageIso2) {\n foundLanguage = JBCookie.getI18nCookieData().languageIso2;\n }\n if (!language) {\n return;\n }\n this._languages.push({\n label: language.label,\n value: language.languageIsoCode.toString(),\n uid: language.languageUid,\n url: languageOption.url,\n languageData: language\n });\n if (languageOption.marketAlert?.body) {\n this._alert = languageOption.marketAlert.body;\n } else {\n this._alert = \"\";\n }\n });\n const newLanguage = foundLanguage ?? this._languages[0]?.value;\n if (newLanguage !== \"\") {\n setTimeout(() => {\n this._languageSelect.setValue(newLanguage);\n this._selectedLanguageIso2 = newLanguage;\n this._link = this._languages.find((language) => language.value === newLanguage)?.url;\n }, 10);\n }\n this._languageDisabled = languageOptions.length <= 1;\n }\n setCookieAndGAData(e2) {\n this._fireTrackingEvent(e2);\n const newCookieData = {\n country: this._selectedCountry,\n language: this._selectedLanguage,\n languageIso2: this._selectedLanguageIso2,\n market: this._selectedMarket || \"\",\n region: this._selectedRegion\n };\n JBCookie.setI18nCookieData(newCookieData);\n }\n _fireTrackingEvent(e2) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e2, {\n component_name: \"header\",\n interaction_effect: \"update_location\",\n interaction_element: \"location-selector\",\n interaction_text: `location-selector__region:${this._selectedRegion}|country:${this._selectedCountry.toLowerCase()}|language:${this._selectedLanguage}`\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n }\n render() {\n return ke`\n
\n \n
\n
${this.text}
\n \n \n \n \n ${this._alert ? ke`\n
\n

${this._alert}

\n
\n ` : \"\"}\n \n
\n
\n \n `;\n }\n};\nJbRegionSelectOverlay.styles = r(jb_region_select_overlay_default);\n__decorateClass([\n n()\n], JbRegionSelectOverlay.prototype, \"buttonText\", 2);\n__decorateClass([\n n()\n], JbRegionSelectOverlay.prototype, \"countryLabel\", 2);\n__decorateClass([\n n()\n], JbRegionSelectOverlay.prototype, \"languageLabel\", 2);\n__decorateClass([\n n()\n], JbRegionSelectOverlay.prototype, \"regionLabel\", 2);\n__decorateClass([\n n()\n], JbRegionSelectOverlay.prototype, \"text\", 2);\n__decorateClass([\n r2()\n], JbRegionSelectOverlay.prototype, \"_alert\", 2);\n__decorateClass([\n r2()\n], JbRegionSelectOverlay.prototype, \"_countries\", 2);\n__decorateClass([\n r2()\n], JbRegionSelectOverlay.prototype, \"_countryDisabled\", 2);\n__decorateClass([\n r2()\n], JbRegionSelectOverlay.prototype, \"_languageDisabled\", 2);\n__decorateClass([\n r2()\n], JbRegionSelectOverlay.prototype, \"_languages\", 2);\n__decorateClass([\n e(\"#language\")\n], JbRegionSelectOverlay.prototype, \"_languageSelect\", 2);\n__decorateClass([\n r2()\n], JbRegionSelectOverlay.prototype, \"_link\", 2);\n__decorateClass([\n r2()\n], JbRegionSelectOverlay.prototype, \"_regionDisabled\", 2);\n__decorateClass([\n r2()\n], JbRegionSelectOverlay.prototype, \"_regions\", 2);\n__decorateClass([\n r2()\n], JbRegionSelectOverlay.prototype, \"_selectedCountry\", 2);\n__decorateClass([\n r2()\n], JbRegionSelectOverlay.prototype, \"_selectedLanguage\", 2);\n__decorateClass([\n r2()\n], JbRegionSelectOverlay.prototype, \"_selectedLanguageIso2\", 2);\n__decorateClass([\n r2()\n], JbRegionSelectOverlay.prototype, \"_selectedMarket\", 2);\n__decorateClass([\n r2()\n], JbRegionSelectOverlay.prototype, \"_selectedRegion\", 2);\nJbRegionSelectOverlay = __decorateClass([\n customElement(\"jb-region-select-overlay\")\n], JbRegionSelectOverlay);\n\nexport {\n JbRegionSelectOverlay\n};\n", "import {\n n,\n r\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/mixins/FormElement.ts\nfunction FormElement(baseClass) {\n class FormElementMixin extends baseClass {\n constructor() {\n super(...arguments);\n this.disabled = false;\n this.errorText = \"\";\n this.frontendRenderingIdentifier = \"\";\n this.label = \"\";\n this.requiredText = \"\";\n this.showError = false;\n this.value = \"\";\n }\n connectedCallback() {\n super.connectedCallback();\n this.populateValue();\n }\n updated(changedProperties) {\n this.dispatchEvent(\n new CustomEvent(\"field-update\", {\n bubbles: true,\n detail: { field: this, changedProperties }\n })\n );\n }\n appendFormData(formDataEvent) {\n formDataEvent.formData.append(this.name, this.value || \"\");\n }\n populateValue() {\n if (this.frontendRenderingIdentifier) {\n let storedData = localStorage.getItem(\"savedFormData\");\n if (storedData === null) {\n return;\n }\n storedData = JSON.parse(storedData);\n if (this.frontendRenderingIdentifier && this.frontendRenderingIdentifier in storedData) {\n this.value = storedData[this.frontendRenderingIdentifier];\n }\n }\n }\n validate() {\n const valid = this.disabled || (this.requiredText ? !!this.value : true);\n this.showError = !valid;\n this.errorText = \"\";\n return valid;\n }\n }\n __decorateClass([\n n({ type: Boolean })\n ], FormElementMixin.prototype, \"disabled\", 2);\n __decorateClass([\n n()\n ], FormElementMixin.prototype, \"errorText\", 2);\n __decorateClass([\n n()\n ], FormElementMixin.prototype, \"frontendRenderingIdentifier\", 2);\n __decorateClass([\n n()\n ], FormElementMixin.prototype, \"label\", 2);\n __decorateClass([\n n()\n ], FormElementMixin.prototype, \"name\", 2);\n __decorateClass([\n n()\n ], FormElementMixin.prototype, \"requiredText\", 2);\n __decorateClass([\n r()\n ], FormElementMixin.prototype, \"showError\", 2);\n __decorateClass([\n n()\n ], FormElementMixin.prototype, \"value\", 2);\n return FormElementMixin;\n}\n\nexport {\n FormElement\n};\n", "import {\n FormElement\n} from \"./chunk.UTVDNTSP.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-search-input/jb-search-input.scss?inline\nvar jb_search_input_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nli, input, :host(.in-search-result) input::placeholder, :host(.in-search-result) input {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host(.in-search-result) input {\n font-size: 31px;\n font-size: 1.9375rem;\n line-height: 42px;\n line-height: 2.625rem;\n appearance: none;\n caret-color: currentcolor;\n height: 42px;\n width: 100%;\n}\n@media (max-width: 599px) {\n :host(.in-search-result) input {\n font-size: 26px;\n font-size: 1.625rem;\n line-height: 35px;\n line-height: 2.1875rem;\n }\n}\n:host(.in-search-result) input::-ms-clear {\n display: none;\n}\n@media (max-width: 599px) {\n :host(.in-search-result) input::placeholder {\n padding-left: 10px;\n }\n}\n:host(.in-search-result) input:focus {\n outline: none;\n}\n:host(.in-search-result) section {\n border: 0;\n position: relative;\n z-index: 1;\n}\n:host(.in-search-result) section > div {\n margin-left: -10px;\n margin-top: -0.5px;\n}\n@media (min-width: 600px) {\n :host(.in-search-result) section > div {\n margin: 0;\n }\n}\n:host(.in-search-result) jb-search-icon {\n transform: translate(6px, 1.5px);\n}\n:host(.in-search-result) ul {\n background: white;\n border-radius: 25px;\n box-shadow: 10px 10px 40px rgba(0, 0, 0, 0.2);\n position: absolute;\n width: 100%;\n z-index: 2;\n}\n:host(.in-search-result) ul li {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n}\n\n:host(.in-search-overlay) {\n display: block;\n}\n:host(.in-search-overlay) section {\n align-items: center;\n border-bottom: 0;\n display: grid;\n grid-template-columns: 45px 1fr 25px;\n position: relative;\n}\n:host(.in-search-overlay) section:focus-within::after {\n --stroke-color: #fff;\n}\n:host(.in-search-overlay) section::after {\n --search-input-border-padding: 0px;\n background-color: var(--stroke-color, rgba(255, 255, 255, 0.2));\n bottom: -22px;\n content: \"\";\n height: 1px;\n left: var(--search-input-border-padding);\n position: absolute;\n transition: background-color 0.2s ease-in-out;\n width: calc(100% - var(--search-input-border-padding) * 2);\n}\n@media (min-width: 600px) {\n :host(.in-search-overlay) section::after {\n --search-input-border-padding: 16px;\n }\n}\n@media (min-width: 960px) {\n :host(.in-search-overlay) section::after {\n --search-input-border-padding: -10px;\n }\n}\n:host(.in-search-overlay) section > div {\n padding-bottom: 2px;\n padding-left: 2px;\n}\n\n:host(:not(.in-search-overlay)) section {\n align-items: center;\n border-bottom: 1px solid var(--stroke-color, rgba(255, 255, 255, 0.2));\n display: grid;\n grid-template-columns: 45px 1fr 25px;\n padding-bottom: 14px;\n}\n@media (min-width: 600px) {\n :host(:not(.in-search-overlay)) section {\n padding-bottom: 22px;\n }\n}\n\n@supports not selector(:has(input)) {\n section {\n border-color: var(--secondary-color, var(--stroke-color, white));\n }\n}\nsection:has(input:focus) {\n border-color: var(--secondary-color, var(--stroke-color, white));\n}\n\njb-search-icon {\n cursor: pointer;\n transform: translateX(var(--search-icon-translate, 0));\n}\n\ninput {\n appearance: none;\n background: transparent;\n border: none;\n color: var(--fill-color, rgb(var(--rgb-primary, 20, 30, 85)));\n font-size: 1.813rem;\n line-height: 2.188rem;\n width: 100%;\n}\ninput:focus {\n outline: none;\n}\ninput::placeholder {\n color: var(--secondary-color, rgb(var(--rgb-primary, 20, 30, 85)));\n}\n@media (min-width: 600px) {\n input {\n font-size: 2.063rem;\n line-height: 2.125rem;\n }\n}\n\njb-search-clear-icon {\n height: 23px;\n width: 23px;\n}\ninput:placeholder-shown + jb-search-clear-icon {\n visibility: hidden;\n}\n\njb-search-clear-icon.hidden {\n visibility: hidden;\n}\n\nul {\n color: rgba(55, 55, 55, 0.2);\n left: 0;\n list-style: none;\n margin-top: 1px;\n padding: 40px 15px 20px;\n}\n@media (min-width: 960px) {\n ul {\n padding-left: 50px;\n }\n}\n\nli {\n color: var(--stroke-color, rgb(var(--rgb-primary, 20, 30, 85)));\n cursor: pointer;\n font-size: 1.5rem;\n line-height: 1.875rem;\n padding-bottom: 18px;\n}\n@media (min-width: 960px) {\n li {\n font-size: 1.75rem;\n line-height: 2.25rem;\n padding-bottom: 0;\n padding-top: 9px;\n }\n}\n\nspan {\n color: var(--secondary-color, rgba(255, 255, 255, var(--theme-opacity-20, 0.2)));\n}`;\n\n// src/components/jb-search-input/jb-search-input.ts\nvar JbSearchInput = class extends FormElement(h) {\n constructor() {\n super(...arguments);\n this.suggestMode = \"auto-suggest\";\n this._searchResults = void 0;\n this._selectionIndex = 0;\n this._suggestions = void 0;\n }\n update(changedProperties) {\n super.update(changedProperties);\n if (changedProperties.has(\"_selectionIndex\") && this._selectionIndex && this._suggestions?.length && this._inputElement) {\n this._inputElement.value = this._suggestions[this._selectionIndex - 1];\n }\n }\n focusSearchInput() {\n this._inputElement?.focus();\n }\n _clearInput() {\n if (!this._inputElement) {\n return;\n }\n this._inputElement.value = \"\";\n this._inputElement.focus();\n this._handleInput();\n }\n _getSuggestMode() {\n if (this.suggestMode === \"find-as-you-type\") {\n return this.suggestMode;\n }\n return \"auto-suggest\";\n }\n _goToResult($target) {\n window.open($target.url, \"_self\");\n }\n _handleInput() {\n if (!this._inputElement || !this.autoSuggestUrl || !this.suggestMode) {\n return;\n }\n this.value = this._inputElement.value;\n const term = this._inputElement.value.trim();\n if (term.length <= 2) {\n this._suggestions = void 0;\n return;\n }\n const url = this.autoSuggestUrl.replace(\"term\", encodeURI(term));\n fetch(url).then((response) => response.json()).then((data) => {\n this._selectionIndex = 0;\n if (this._getSuggestMode() === \"auto-suggest\") {\n this._suggestions = data.suggestions;\n } else {\n this._searchResults = data.suggestions;\n this._suggestions = Object.keys(data.suggestions[0]);\n }\n });\n }\n _handleKeydown(e2) {\n setTimeout(() => {\n this.value = this._inputElement?.value;\n });\n if (e2.key === \"Escape\" && this._suggestions?.length) {\n e2.preventDefault();\n this._suggestions = void 0;\n return;\n }\n if (e2.key === \"Enter\" && this._inputElement?.value) {\n e2.preventDefault();\n this._submit();\n return;\n }\n if ((e2.key === \"ArrowDown\" || e2.key === \"ArrowUp\") && this._suggestions?.length) {\n if (e2.key === \"ArrowDown\") {\n this._selectionIndex = Math.min(this._selectionIndex + 1, this._suggestions?.length || 0);\n }\n if (e2.key === \"ArrowUp\") {\n this._selectionIndex = Math.max(this._selectionIndex - 1, 0);\n }\n e2.preventDefault();\n }\n }\n _renderSuggestions(renderMode) {\n return this._suggestions?.map((suggestion) => {\n if (!this._inputElement) {\n return \"\";\n }\n const li = document.createElement(\"li\");\n if (this._selectionIndex === 0) {\n const regEx = new RegExp(this._inputElement.value, \"gi\");\n li.innerHTML = suggestion.replace(regEx, \"$&\");\n } else if (this._suggestions[this._selectionIndex - 1] === suggestion) {\n li.innerHTML = `${suggestion}`;\n } else {\n li.innerHTML = suggestion;\n }\n li.addEventListener(\"click\", () => {\n if (this._inputElement) {\n this._inputElement.value = suggestion;\n }\n if (renderMode === \"auto-suggest\") {\n this._submit();\n } else {\n if (suggestion && this._searchResults) {\n this._goToResult(this._searchResults[0][suggestion]);\n }\n }\n });\n return ke`${li}`;\n });\n }\n _submit() {\n if (!this._inputElement || !this._inputElement.value) {\n return;\n }\n this._suggestions = void 0;\n this.dispatchEvent(\n new CustomEvent(\"jb-search-input:submit\", {\n detail: { value: this._inputElement?.value },\n bubbles: true,\n composed: true\n })\n );\n }\n render() {\n return ke`\n
\n \n
\n \n
\n ${this.value !== \"\" ? ke`` : D}\n
\n ${this._suggestions?.length ? ke` ` : D}\n `;\n }\n};\nJbSearchInput.styles = r(jb_search_input_default);\n__decorateClass([\n n()\n], JbSearchInput.prototype, \"autoSuggestUrl\", 2);\n__decorateClass([\n n()\n], JbSearchInput.prototype, \"placeholder\", 2);\n__decorateClass([\n n()\n], JbSearchInput.prototype, \"suggestMode\", 2);\n__decorateClass([\n r2(),\n e(\"input\")\n], JbSearchInput.prototype, \"_inputElement\", 2);\n__decorateClass([\n r2()\n], JbSearchInput.prototype, \"_searchResults\", 2);\n__decorateClass([\n r2()\n], JbSearchInput.prototype, \"_selectionIndex\", 2);\n__decorateClass([\n r2()\n], JbSearchInput.prototype, \"_suggestions\", 2);\nJbSearchInput = __decorateClass([\n customElement(\"jb-search-input\")\n], JbSearchInput);\n\nexport {\n JbSearchInput\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-search-clear-icon/jb-search-clear-icon.scss?inline\nvar jb_search_clear_icon_default = i`:host {\n cursor: pointer;\n}\n\nsvg {\n fill: var(--fill-color, black);\n height: 25px;\n width: 25px;\n}`;\n\n// src/components/icons/jb-search-clear-icon/jb-search-clear-icon.ts\nvar JbSearchClearIcon = class extends h {\n render() {\n return ke`\n \n \n \n `;\n }\n};\nJbSearchClearIcon.styles = r(jb_search_clear_icon_default);\nJbSearchClearIcon = __decorateClass([\n customElement(\"jb-search-clear-icon\")\n], JbSearchClearIcon);\n\nexport {\n JbSearchClearIcon\n};\n", "// src/assets/scripts/Stack.ts\nvar OverlayStack = class _OverlayStack {\n static {\n this._stack = [];\n }\n constructor() {\n _OverlayStack._domRoot = document.querySelector(\"#root-inner\") || document.body || void 0;\n document.addEventListener(\"keydown\", (e) => {\n if (e.key === \"Escape\") {\n document.dispatchEvent(\n new CustomEvent(\"jb-overlay:close\", {\n bubbles: true,\n composed: true\n })\n );\n }\n });\n }\n add(item) {\n _OverlayStack._domRoot?.append(item);\n _OverlayStack._stack.push(item);\n return _OverlayStack._stack.length;\n }\n // Use like this: const overlayStack = OverlayStack.Instance;\n static get Instance() {\n if (!_OverlayStack._instance) {\n _OverlayStack._instance = new this();\n }\n return _OverlayStack._instance;\n }\n remove(item) {\n _OverlayStack._stack = _OverlayStack._stack.filter((i) => i !== item);\n return _OverlayStack._stack.length;\n }\n static _removeTopOverlay() {\n if (_OverlayStack._stack.length === 0) {\n return;\n }\n _OverlayStack._stack[_OverlayStack._stack.length - 1].unstack();\n }\n};\n\nexport {\n OverlayStack\n};\n", "import {\n OverlayStack\n} from \"./chunk.KZGIJPE3.js\";\n\n// src/mixins/Stackable.ts\nfunction Stackable(baseClass) {\n class StackableMixin extends baseClass {\n constructor() {\n super(...arguments);\n this._outroCallbacks = [];\n this._stacked = false;\n }\n async intro() {\n }\n async outro() {\n }\n stack() {\n if (!this._stacked) {\n this._addToStack();\n }\n }\n stacked() {\n }\n unstack() {\n if (this._stacked) {\n this._removeFromStack();\n }\n }\n unstacked() {\n }\n zIndex() {\n const baseline = 500;\n return (this._layer || 0) * 100 + baseline;\n }\n async _addToStack() {\n this.addEventListener(\"jb-stackable:register-outro-callback\", (event) => {\n const customEvent = event;\n if (customEvent.detail.callback) {\n this._outroCallbacks.push(customEvent.detail.callback);\n }\n });\n this._stacked = true;\n this._layer = OverlayStack.Instance.add(this);\n this.intro().then(() => {\n this.stacked();\n });\n }\n async _removeFromStack() {\n this._stacked = false;\n const outroPromises = [];\n this._outroCallbacks.forEach((callback) => {\n outroPromises.push(callback());\n });\n if (outroPromises.length > 0) {\n await Promise.allSettled(outroPromises);\n }\n await this.outro();\n OverlayStack.Instance.remove(this);\n this.unstacked();\n }\n }\n return StackableMixin;\n}\n\nexport {\n Stackable\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n Animatable\n} from \"./chunk.VRR2P3PQ.js\";\nimport {\n JBCookie,\n getEventElement\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-e-service-overlay/jb-e-service-overlay.scss?inline\nvar jb_e_service_overlay_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.links, h4 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh4 {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.375rem;\n letter-spacing: calc(var(--letter-spacing-factor, 3) * 0.063rem);\n line-height: 2.25rem;\n}\n@media (min-width: 1281px) {\n h4 {\n font-size: 1.75rem;\n letter-spacing: calc(var(--letter-spacing-factor, 4) * 0.063rem);\n line-height: 2.5rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n background-color: #141e55;\n display: block;\n min-height: calc(100vh - 60px);\n}\n@media (min-width: 600px) {\n :host {\n min-height: calc(100vh - 90px);\n }\n}\n@media (min-width: 960px) {\n :host {\n height: 100%;\n }\n}\n@media (min-width: 1281px) {\n :host {\n min-height: calc(100vh - 100px);\n }\n}\n\n.eservices {\n --_notch-inset: calc(max(env(safe-area-inset-left), env(safe-area-inset-right)) + 5px);\n align-items: center;\n display: flex;\n flex-direction: column;\n min-height: 100%;\n opacity: 0;\n padding-bottom: 112px;\n padding-inline: max(32px, var(--_notch-inset));\n padding-top: calc(112px - 60px);\n position: relative;\n}\n@media (min-width: 600px) {\n .eservices {\n padding-top: calc(112px - 90px);\n }\n}\n@media (min-width: 960px) {\n .eservices {\n padding-top: 78px;\n }\n}\n@media (min-width: 1281px) {\n .eservices {\n padding-inline: 22px;\n padding-top: 68px;\n }\n}\n\n.locationselect {\n width: 100%;\n z-index: 2;\n}\n@media (min-width: 960px) {\n .locationselect {\n align-items: center;\n display: flex;\n width: auto;\n }\n}\n.locationselect .ts-dropdown {\n transform: translateY(-1px);\n}\n\nh4 {\n color: #fff;\n font-size: 1.625rem;\n letter-spacing: normal;\n margin-bottom: 8px;\n white-space: nowrap;\n width: 100%;\n}\n@media (min-width: 600px) {\n h4 {\n font-size: 1.75rem;\n margin-bottom: 0;\n margin-right: 8px;\n width: auto;\n }\n}\n@media (min-width: 960px) {\n h4 {\n font-size: 28px;\n font-size: 1.75rem;\n line-height: 40px;\n line-height: 2.5rem;\n margin-top: 0;\n }\n}\n\n.links {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 0;\n width: 100%;\n display: flex;\n flex: 0 1 auto;\n flex-direction: column;\n flex-wrap: wrap;\n margin-inline: auto;\n margin-top: 48px;\n row-gap: 48px;\n}\n@media (min-width: 960px) {\n .links {\n box-sizing: border-box;\n flex-basis: 66.6666666667%;\n max-width: 66.6666666667%;\n padding: 0 0;\n width: 66.6666666667%;\n margin-left: 16.6666666667%;\n flex-direction: row;\n gap: 64px 40px;\n margin-inline: auto;\n margin-top: 64px;\n max-width: calc(66.6667% + 30px);\n width: calc(66.6667% + 30px);\n }\n}\n@media (min-width: 1281px) {\n .links {\n box-sizing: border-box;\n flex-basis: 50%;\n max-width: 50%;\n padding: 0 0;\n width: 50%;\n max-width: 812px;\n }\n}\n.links h5 {\n border-bottom: 1px solid rgba(255, 255, 255, var(--theme-opacity-70, 0.7));\n color: rgba(255, 255, 255, var(--theme-opacity-70, 0.7));\n font-size: 1.188rem;\n font-weight: 300;\n line-height: 2.125rem;\n margin-bottom: 32px;\n padding-bottom: 8px;\n}\n.links h6 {\n color: rgba(255, 255, 255, var(--theme-opacity-70, 0.7));\n font-size: 0.688rem;\n font-weight: 400;\n letter-spacing: 0.063rem;\n line-height: 16px;\n text-transform: uppercase;\n}\n.links ul {\n list-style: none;\n margin: 20px 0;\n padding: 0;\n}\n.links li {\n margin-bottom: 24px;\n}\n.links .individuals,\n.links .intermediaries {\n flex: 1;\n}\n.links .furtherlinks {\n flex-basis: 100%;\n}\n@media (min-width: 960px) {\n .links .furtherlinks:not(.multiple) {\n display: none;\n }\n}\n\n.furtherlink {\n display: none;\n}\n@media (min-width: 960px) {\n .furtherlink {\n bottom: 80px;\n display: block;\n position: absolute;\n right: 128px;\n }\n}`;\n\n// src/components/jb-e-service-overlay/jb-e-service-overlay.ts\nvar JbEServiceOverlay = class extends Initiable(Animatable(h)) {\n firstUpdated() {\n this._cookieCountry = JBCookie.getI18nCookieData().country;\n this._eServiceLocations = this.eServiceData?.map((location, index) => ({\n value: index + \"\",\n label: location.headline\n }));\n this.eServiceData?.forEach((data, index) => {\n if (this._cookieCountry && data.preselectForCountries.includes(this._cookieCountry)) {\n this._locationValue = index + \"\";\n this._setServices(index);\n }\n });\n }\n _selectChanged(evt) {\n this._setServices(evt.detail.newValue);\n }\n _sendTrackingClick(text, url, subtitle = \"\") {\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_interaction\",\n event_version: \"v2\",\n component_name: \"header\",\n interaction_effect: \"navigation\",\n interaction_element: subtitle ? `${subtitle}:${text.replace(/\\s+/g, \"-\").toLowerCase()}` : text.replace(/\\s+/g, \"-\").toLowerCase(),\n interaction_result: url,\n interaction_text: `e-services__${this._currentData.headline.replace(/\\s+/g, \"-\").toLowerCase()}__${subtitle ? subtitle + \":\" : \"\"}${text.replace(/\\s+/g, \"-\").toLowerCase()}`,\n interaction_type: \"click\"\n },\n bubbles: true,\n composed: true\n })\n );\n }\n _setServices(index) {\n if (!this.eServiceData) {\n return;\n }\n this._currentData = this.eServiceData[index];\n }\n _trackAllServicesClick(customEvent) {\n customEvent.stopPropagation();\n customEvent.detail.clickEvent.stopPropagation();\n this._sendTrackingClick(\n getEventElement(customEvent, \"JB-BUTTON-TERTIARY\").textContent ?? \"\",\n getEventElement(customEvent, \"A\").getAttribute(\"href\")\n );\n }\n _trackIndividualClick(customEvent) {\n customEvent.stopPropagation();\n customEvent.detail.clickEvent.stopPropagation();\n this._sendTrackingClick(\n getEventElement(customEvent, \"JB-BUTTON-TERTIARY\").textContent ?? \"\",\n getEventElement(customEvent, \"A\").getAttribute(\"href\"),\n \"for-individuals\"\n );\n }\n _trackIntermediaryClick(customEvent) {\n customEvent.stopPropagation();\n customEvent.detail.clickEvent.stopPropagation();\n this._sendTrackingClick(\n getEventElement(customEvent, \"JB-BUTTON-TERTIARY\").textContent ?? \"\",\n getEventElement(customEvent, \"A\").getAttribute(\"href\"),\n \"for-intermediaries\"\n );\n }\n render() {\n return ke`\n
\n
\n

${this.headline}

\n ${this._eServiceLocations ? ke`\n ` : D}\n
\n ${this._currentData ? ke`\n
\n ${this._currentData.forIndividuals.links?.length > 0 ? ke`
\n
${this._currentData.forIndividuals.headline}
\n ${this._currentData.forIndividuals.cta ? ke`
${this._currentData.forIndividuals.cta}
` : D}\n
    \n ${this._currentData.forIndividuals.links.map(\n (link) => ke`
  • \n ${link.text}\n
  • `\n )}\n
\n
` : D}\n ${this._currentData.forIntermediaries && this._currentData.forIntermediaries.links.length > 0 ? ke`\n
\n
${this._currentData.forIntermediaries.headline}
\n ${this._currentData.forIntermediaries.cta ? ke`
${this._currentData.forIntermediaries.cta}
` : D}\n
    \n ${this._currentData.forIntermediaries.links.map(\n (link) => ke`
  • \n ${link.text}\n
  • `\n )}\n
\n
\n ` : D}\n ${this._currentData.furtherLinks ? ke` 1\n })}\"\n >\n
${this._currentData.furtherLinks?.headline}
\n ${this._currentData.furtherLinks?.cta ? ke`
${this._currentData.furtherLinks?.cta}
` : D}\n
    \n ${this._currentData.furtherLinks?.links.map(\n (link) => ke`
  • \n ${link.text}\n
  • `\n )}\n
\n
` : D}\n
\n ${this._currentData.furtherLinks && this._currentData.furtherLinks.links.length === 1 ? ke`${this._currentData.furtherLinks.links[0].text}` : D}\n ` : D}\n \n `;\n }\n};\nJbEServiceOverlay.styles = r(jb_e_service_overlay_default);\n__decorateClass([\n n({ type: Array })\n], JbEServiceOverlay.prototype, \"eServiceData\", 2);\n__decorateClass([\n n()\n], JbEServiceOverlay.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbEServiceOverlay.prototype, \"pleaseSelect\", 2);\n__decorateClass([\n r2()\n], JbEServiceOverlay.prototype, \"_currentData\", 2);\n__decorateClass([\n r2()\n], JbEServiceOverlay.prototype, \"_eServiceLocations\", 2);\nJbEServiceOverlay = __decorateClass([\n customElement(\"jb-e-service-overlay\")\n], JbEServiceOverlay);\n\nexport {\n JbEServiceOverlay\n};\n", "import {\n i\n} from \"./chunk.FAJKIEWS.js\";\n\n// src/components/jb-select/jb-select.scss?inline\nvar jb_select_default = i`jb-dropdown,\njb-select {\n /* stylelint-disable */\n /* COLOR SETTINGS */\n /* shadows */\n /* special measurements */\n /* stylelint-disable */\n /* stylelint-enable */\n /* special measurements */\n /* stylelint-enable */\n /* stylelint-disable */\n /**\n * tom-select.css (v//@@version)\n * Copyright (c) contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this\n * file except in compliance with the License. You may obtain a copy of the License at:\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n * ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n */\n /* stylelint-disable function-name-case */\n /* stylelint-enable */\n display: inline-block;\n position: relative;\n width: 100%;\n}\njb-dropdown *,\njb-dropdown *::before,\njb-dropdown *::after,\njb-select *,\njb-select *::before,\njb-select *::after {\n box-sizing: border-box;\n}\njb-dropdown div,\njb-dropdown object,\njb-dropdown iframe,\njb-dropdown h1,\njb-dropdown h2,\njb-dropdown h3,\njb-dropdown h4,\njb-dropdown h5,\njb-dropdown h6,\njb-dropdown p,\njb-dropdown blockquote,\njb-dropdown ol,\njb-dropdown ul,\njb-dropdown li,\njb-dropdown form,\njb-dropdown legend,\njb-dropdown label,\njb-dropdown table,\njb-dropdown header,\njb-dropdown footer,\njb-dropdown nav,\njb-dropdown section,\njb-dropdown figure,\njb-select div,\njb-select object,\njb-select iframe,\njb-select h1,\njb-select h2,\njb-select h3,\njb-select h4,\njb-select h5,\njb-select h6,\njb-select p,\njb-select blockquote,\njb-select ol,\njb-select ul,\njb-select li,\njb-select form,\njb-select legend,\njb-select label,\njb-select table,\njb-select header,\njb-select footer,\njb-select nav,\njb-select section,\njb-select figure {\n margin: 0;\n padding: 0;\n}\njb-dropdown a,\njb-select a {\n color: inherit;\n}\njb-dropdown :host,\njb-select :host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n@media screen and (width >= 1281px) {\n jb-dropdown :host,\n jb-select :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\njb-dropdown .languageswitch .ts-dropdown .option.selected span,\njb-select .languageswitch .ts-dropdown .option.selected span {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\njb-dropdown .ts-wrapper, jb-dropdown p,\njb-dropdown jb-select p,\njb-select jb-dropdown p, jb-dropdown label,\njb-dropdown jb-select label,\njb-select jb-dropdown label, jb-dropdown .languageswitch .ts-dropdown .option span,\njb-dropdown jb-select .languageswitch .ts-dropdown .option span,\njb-select .languageswitch .ts-dropdown .option jb-dropdown span, jb-dropdown .ts-dropdown .option span:not(.highlight), jb-dropdown .ts-dropdown,\njb-dropdown .ts-control,\njb-dropdown .ts-control input, jb-dropdown .iseservices .ts-wrapper .ts-control,\njb-select .ts-wrapper,\njb-select jb-dropdown p,\njb-dropdown jb-select p,\njb-select p,\njb-select jb-dropdown label,\njb-dropdown jb-select label,\njb-select label,\njb-select jb-dropdown .languageswitch .ts-dropdown .option span,\njb-dropdown .languageswitch .ts-dropdown .option jb-select span,\njb-select .languageswitch .ts-dropdown .option span,\njb-select .ts-dropdown .option span:not(.highlight),\njb-select .ts-dropdown,\njb-select .ts-control,\njb-select .ts-control input,\njb-select .iseservices .ts-wrapper .ts-control {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\njb-dropdown .iseservices .ts-wrapper .ts-control,\njb-select .iseservices .ts-wrapper .ts-control {\n font-size: var(--theme-typo-h2-subtitle-mobile-fontsize, 1.625rem);\n line-height: var(--theme-typo-h2-subtitle-mobile-lineheight, 2.188rem);\n}\n@media (min-width: 1281px) {\n jb-dropdown .iseservices .ts-wrapper .ts-control,\n jb-select .iseservices .ts-wrapper .ts-control {\n font-size: var(--theme-typo-h2-subtitle-desktop-fontsize, 1.938rem);\n line-height: var(--theme-typo-h2-subtitle-desktop-lineheight, 2.625rem);\n }\n}\njb-dropdown .languageswitch .ts-dropdown .option span,\njb-dropdown jb-select .languageswitch .ts-dropdown .option span,\njb-select .languageswitch .ts-dropdown .option jb-dropdown span, jb-dropdown .ts-dropdown .option span:not(.highlight), jb-dropdown .ts-dropdown,\njb-dropdown .ts-control,\njb-dropdown .ts-control input,\njb-select jb-dropdown .languageswitch .ts-dropdown .option span,\njb-dropdown .languageswitch .ts-dropdown .option jb-select span,\njb-select .languageswitch .ts-dropdown .option span,\njb-select .ts-dropdown .option span:not(.highlight),\njb-select .ts-dropdown,\njb-select .ts-control,\njb-select .ts-control input {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\njb-dropdown .languageswitch .ts-dropdown .option.selected span,\njb-select .languageswitch .ts-dropdown .option.selected span {\n font-size: var(--theme-typo-p-small-highlight-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-highlight-desktop-lineheight, 1.625rem);\n}\njb-dropdown p,\njb-dropdown jb-select p,\njb-select jb-dropdown p, jb-dropdown label,\njb-dropdown jb-select label,\njb-select jb-dropdown label,\njb-select jb-dropdown p,\njb-dropdown jb-select p,\njb-select p,\njb-select jb-dropdown label,\njb-dropdown jb-select label,\njb-select label {\n font-size: var(--theme-typo-p-mini-desktop-fontsize, 0.813rem);\n line-height: var(--theme-typo-p-mini-desktop-lineheight, 1.25rem);\n}\njb-dropdown .ts-wrapper,\njb-select .ts-wrapper {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--text-opacity, var(--theme-opacity-80, 0.8)));\n font-size: 1rem;\n line-height: 1.625rem;\n}\njb-dropdown :host,\njb-select :host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n@media screen and (width >= 1281px) {\n jb-dropdown :host,\n jb-select :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\njb-dropdown :host,\njb-select :host {\n color: var(--host-color, #141e55);\n}\njb-dropdown .ts-control,\njb-select .ts-control {\n border: 1px solid #d0d0d0;\n padding: 8px 8px;\n width: 100%;\n overflow: hidden;\n position: relative;\n z-index: 1;\n box-sizing: border-box;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);\n border-radius: 3px;\n display: flex;\n flex-wrap: wrap;\n}\n.ts-wrapper.multi.has-items jb-dropdown .ts-control,\n.ts-wrapper.multi.has-items jb-select .ts-control {\n padding: calc(8px - 2px - 0) 8px calc(8px - 2px - 3px - 0);\n}\n.full jb-dropdown .ts-control,\n.full jb-select .ts-control {\n background-color: #fff;\n}\n.disabled jb-dropdown .ts-control, .disabled jb-dropdown .ts-control *,\n.disabled jb-select .ts-control,\n.disabled jb-select .ts-control * {\n cursor: default !important;\n}\n.focus jb-dropdown .ts-control,\n.focus jb-select .ts-control {\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);\n}\njb-dropdown .ts-control > *,\njb-select .ts-control > * {\n vertical-align: baseline;\n display: inline-block;\n}\n.ts-wrapper.multi jb-dropdown .ts-control > div,\n.ts-wrapper.multi jb-select .ts-control > div {\n cursor: pointer;\n margin: 0 3px 3px 0;\n padding: 2px 6px;\n background: #141e55;\n color: #fff;\n border: 0 solid #0073bb;\n}\n.ts-wrapper.multi jb-dropdown .ts-control > div.active,\n.ts-wrapper.multi jb-select .ts-control > div.active {\n background: #92c836;\n color: #fff;\n border: 0 solid #00578d;\n}\n.ts-wrapper.multi.disabled jb-dropdown .ts-control > div, .ts-wrapper.multi.disabled jb-dropdown .ts-control > div.active,\n.ts-wrapper.multi.disabled jb-select .ts-control > div,\n.ts-wrapper.multi.disabled jb-select .ts-control > div.active {\n color: white;\n background: #818181;\n border: 0 solid #aaaaaa;\n}\njb-dropdown .ts-control > input,\njb-select .ts-control > input {\n flex: 1 1 auto;\n min-width: 7rem;\n display: inline-block !important;\n padding: 0 !important;\n min-height: 0 !important;\n max-height: none !important;\n max-width: 100% !important;\n margin: 0 !important;\n text-indent: 0 !important;\n border: 0 none !important;\n background: none !important;\n line-height: inherit !important;\n user-select: auto !important;\n box-shadow: none !important;\n}\njb-dropdown .ts-control > input::-ms-clear,\njb-select .ts-control > input::-ms-clear {\n display: none;\n}\njb-dropdown .ts-control > input:focus,\njb-select .ts-control > input:focus {\n outline: none !important;\n}\n.has-items jb-dropdown .ts-control > input,\n.has-items jb-select .ts-control > input {\n margin: 0 4px !important;\n}\njb-dropdown .ts-control.rtl,\njb-select .ts-control.rtl {\n text-align: right;\n}\njb-dropdown .ts-control.rtl.single .ts-control:after,\njb-select .ts-control.rtl.single .ts-control:after {\n left: 15px;\n right: auto;\n}\njb-dropdown .ts-control.rtl .ts-control > input,\njb-select .ts-control.rtl .ts-control > input {\n margin: 0 4px 0 -2px !important;\n}\n.disabled jb-dropdown .ts-control,\n.disabled jb-select .ts-control {\n opacity: 0.5;\n background-color: #fafafa;\n}\n.input-hidden jb-dropdown .ts-control > input,\n.input-hidden jb-select .ts-control > input {\n opacity: 0;\n position: absolute;\n left: -10000px;\n}\njb-dropdown .ts-dropdown,\njb-select .ts-dropdown {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n z-index: 10;\n border: 1px solid #d0d0d0;\n background: #fff;\n margin: 0.25rem 0 0;\n border-top: 0 none;\n box-sizing: border-box;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n border-radius: 0 0 3px 3px;\n}\njb-dropdown .ts-dropdown [data-selectable],\njb-select .ts-dropdown [data-selectable] {\n cursor: pointer;\n overflow: hidden;\n}\njb-dropdown .ts-dropdown [data-selectable] .highlight,\njb-select .ts-dropdown [data-selectable] .highlight {\n background: rgba(125, 168, 208, 0.2);\n border-radius: 1px;\n}\njb-dropdown .ts-dropdown .option,\njb-dropdown .ts-dropdown .optgroup-header,\njb-dropdown .ts-dropdown .no-results,\njb-dropdown .ts-dropdown .create,\njb-select .ts-dropdown .option,\njb-select .ts-dropdown .optgroup-header,\njb-select .ts-dropdown .no-results,\njb-select .ts-dropdown .create {\n padding: 5px 8px;\n}\njb-dropdown .ts-dropdown .option, jb-dropdown .ts-dropdown [data-disabled], jb-dropdown .ts-dropdown [data-disabled] [data-selectable].option,\njb-select .ts-dropdown .option,\njb-select .ts-dropdown [data-disabled],\njb-select .ts-dropdown [data-disabled] [data-selectable].option {\n cursor: inherit;\n opacity: 0.5;\n}\njb-dropdown .ts-dropdown [data-selectable].option,\njb-select .ts-dropdown [data-selectable].option {\n opacity: 1;\n cursor: pointer;\n}\njb-dropdown .ts-dropdown .optgroup:first-child .optgroup-header,\njb-select .ts-dropdown .optgroup:first-child .optgroup-header {\n border-top: 0 none;\n}\njb-dropdown .ts-dropdown .optgroup-header,\njb-select .ts-dropdown .optgroup-header {\n color: #303030;\n background: #fff;\n cursor: default;\n}\njb-dropdown .ts-dropdown .active,\njb-select .ts-dropdown .active {\n background-color: #f5fafd;\n color: #495c68;\n}\njb-dropdown .ts-dropdown .active.create,\njb-select .ts-dropdown .active.create {\n color: #495c68;\n}\njb-dropdown .ts-dropdown .create,\njb-select .ts-dropdown .create {\n color: rgba(48, 48, 48, 0.5);\n}\njb-dropdown .ts-dropdown .spinner,\njb-select .ts-dropdown .spinner {\n display: inline-block;\n width: 30px;\n height: 30px;\n margin: 5px 8px;\n}\njb-dropdown .ts-dropdown .spinner::after,\njb-select .ts-dropdown .spinner::after {\n content: \" \";\n display: block;\n width: 24px;\n height: 24px;\n margin: 3px;\n border-radius: 50%;\n border: 5px solid #d0d0d0;\n border-color: #d0d0d0 transparent #d0d0d0 transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n}\n@keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\njb-dropdown .ts-dropdown-content,\njb-select .ts-dropdown-content {\n overflow: hidden auto;\n max-height: 200px;\n scroll-behavior: smooth;\n}\njb-dropdown .ts-wrapper.plugin-drag_drop .ts-dragging,\njb-select .ts-wrapper.plugin-drag_drop .ts-dragging {\n color: transparent !important;\n}\njb-dropdown .ts-wrapper.plugin-drag_drop .ts-dragging > *,\njb-select .ts-wrapper.plugin-drag_drop .ts-dragging > * {\n visibility: hidden !important;\n}\njb-dropdown .plugin-checkbox_options:not(.rtl) .option input,\njb-select .plugin-checkbox_options:not(.rtl) .option input {\n margin-right: 0.5rem;\n}\njb-dropdown .plugin-checkbox_options.rtl .option input,\njb-select .plugin-checkbox_options.rtl .option input {\n margin-left: 0.5rem;\n}\njb-dropdown .plugin-clear_button,\njb-select .plugin-clear_button {\n --ts-pr-clear-button: 1em;\n}\njb-dropdown .plugin-clear_button .clear-button,\njb-select .plugin-clear_button .clear-button {\n opacity: 0;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n right: calc(8px - 6px);\n margin-right: 0 !important;\n background: transparent !important;\n transition: opacity 0.5s;\n cursor: pointer;\n}\njb-dropdown .plugin-clear_button.form-select .clear-button, jb-dropdown .plugin-clear_button.single .clear-button,\njb-select .plugin-clear_button.form-select .clear-button,\njb-select .plugin-clear_button.single .clear-button {\n right: max(var(--ts-pr-caret), 8px);\n}\njb-dropdown .plugin-clear_button.focus.has-items .clear-button, jb-dropdown .plugin-clear_button:not(.disabled):hover.has-items .clear-button,\njb-select .plugin-clear_button.focus.has-items .clear-button,\njb-select .plugin-clear_button:not(.disabled):hover.has-items .clear-button {\n opacity: 1;\n}\njb-dropdown .ts-wrapper .dropdown-header,\njb-select .ts-wrapper .dropdown-header {\n position: relative;\n padding: 10px 8px;\n border-bottom: 1px solid #d0d0d0;\n background: color-mix(#fff, #d0d0d0, 85%);\n border-radius: 3px 3px 0 0;\n}\njb-dropdown .ts-wrapper .dropdown-header-close,\njb-select .ts-wrapper .dropdown-header-close {\n position: absolute;\n right: 8px;\n top: 50%;\n color: #303030;\n opacity: 0.4;\n margin-top: -12px;\n line-height: 20px;\n font-size: 20px !important;\n}\njb-dropdown .ts-wrapper .dropdown-header-close:hover,\njb-select .ts-wrapper .dropdown-header-close:hover {\n color: black;\n}\njb-dropdown .plugin-dropdown_input.focus.dropdown-active .ts-control,\njb-select .plugin-dropdown_input.focus.dropdown-active .ts-control {\n box-shadow: none;\n border: 1px solid #d0d0d0;\n}\njb-dropdown .plugin-dropdown_input .dropdown-input,\njb-select .plugin-dropdown_input .dropdown-input {\n border: 1px solid #d0d0d0;\n border-width: 0 0 1px;\n display: block;\n padding: 8px 8px;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);\n width: 100%;\n background: transparent;\n}\njb-dropdown .plugin-dropdown_input .items-placeholder,\njb-select .plugin-dropdown_input .items-placeholder {\n border: 0 none !important;\n box-shadow: none !important;\n width: 100%;\n}\njb-dropdown .plugin-dropdown_input.has-items .items-placeholder, jb-dropdown .plugin-dropdown_input.dropdown-active .items-placeholder,\njb-select .plugin-dropdown_input.has-items .items-placeholder,\njb-select .plugin-dropdown_input.dropdown-active .items-placeholder {\n display: none !important;\n}\njb-dropdown .ts-wrapper.plugin-input_autogrow.has-items .ts-control > input,\njb-select .ts-wrapper.plugin-input_autogrow.has-items .ts-control > input {\n min-width: 0;\n}\njb-dropdown .ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input,\njb-select .ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input {\n flex: none;\n min-width: 4px;\n}\njb-dropdown .ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::placeholder,\njb-select .ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::placeholder {\n color: transparent;\n}\njb-dropdown .ts-dropdown.plugin-optgroup_columns .ts-dropdown-content,\njb-select .ts-dropdown.plugin-optgroup_columns .ts-dropdown-content {\n display: flex;\n}\njb-dropdown .ts-dropdown.plugin-optgroup_columns .optgroup,\njb-select .ts-dropdown.plugin-optgroup_columns .optgroup {\n border-right: 1px solid #f2f2f2;\n border-top: 0 none;\n flex-grow: 1;\n flex-basis: 0;\n min-width: 0;\n}\njb-dropdown .ts-dropdown.plugin-optgroup_columns .optgroup:last-child,\njb-select .ts-dropdown.plugin-optgroup_columns .optgroup:last-child {\n border-right: 0 none;\n}\njb-dropdown .ts-dropdown.plugin-optgroup_columns .optgroup::before,\njb-select .ts-dropdown.plugin-optgroup_columns .optgroup::before {\n display: none;\n}\njb-dropdown .ts-dropdown.plugin-optgroup_columns .optgroup-header,\njb-select .ts-dropdown.plugin-optgroup_columns .optgroup-header {\n border-top: 0 none;\n}\njb-dropdown .ts-wrapper.plugin-remove_button .item,\njb-select .ts-wrapper.plugin-remove_button .item {\n display: inline-flex;\n align-items: center;\n}\njb-dropdown .ts-wrapper.plugin-remove_button .item .remove,\njb-select .ts-wrapper.plugin-remove_button .item .remove {\n color: inherit;\n text-decoration: none;\n vertical-align: middle;\n display: inline-block;\n padding: 0 6px;\n border-radius: 0 2px 2px 0;\n box-sizing: border-box;\n}\njb-dropdown .ts-wrapper.plugin-remove_button .item .remove:hover,\njb-select .ts-wrapper.plugin-remove_button .item .remove:hover {\n background: rgba(0, 0, 0, 0.05);\n}\njb-dropdown .ts-wrapper.plugin-remove_button.disabled .item .remove:hover,\njb-select .ts-wrapper.plugin-remove_button.disabled .item .remove:hover {\n background: none;\n}\njb-dropdown .ts-wrapper.plugin-remove_button .remove-single,\njb-select .ts-wrapper.plugin-remove_button .remove-single {\n position: absolute;\n right: 0;\n top: 0;\n font-size: 23px;\n}\njb-dropdown .ts-wrapper.plugin-remove_button:not(.rtl) .item,\njb-select .ts-wrapper.plugin-remove_button:not(.rtl) .item {\n padding-right: 0 !important;\n}\njb-dropdown .ts-wrapper.plugin-remove_button:not(.rtl) .item .remove,\njb-select .ts-wrapper.plugin-remove_button:not(.rtl) .item .remove {\n border-left: 1px solid #0073bb;\n margin-left: 6px;\n}\njb-dropdown .ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove,\njb-select .ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove {\n border-left-color: #00578d;\n}\njb-dropdown .ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove,\njb-select .ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove {\n border-left-color: #aaaaaa;\n}\njb-dropdown .ts-wrapper.plugin-remove_button.rtl .item,\njb-select .ts-wrapper.plugin-remove_button.rtl .item {\n padding-left: 0 !important;\n}\njb-dropdown .ts-wrapper.plugin-remove_button.rtl .item .remove,\njb-select .ts-wrapper.plugin-remove_button.rtl .item .remove {\n border-right: 1px solid #0073bb;\n margin-right: 6px;\n}\njb-dropdown .ts-wrapper.plugin-remove_button.rtl .item.active .remove,\njb-select .ts-wrapper.plugin-remove_button.rtl .item.active .remove {\n border-right-color: #00578d;\n}\njb-dropdown .ts-wrapper.plugin-remove_button.rtl.disabled .item .remove,\njb-select .ts-wrapper.plugin-remove_button.rtl.disabled .item .remove {\n border-right-color: #aaaaaa;\n}\njb-dropdown :root,\njb-select :root {\n --ts-pr-clear-button: 0;\n --ts-pr-caret: 0;\n --ts-pr-min: .75rem;\n}\njb-dropdown .ts-wrapper.single .ts-control, jb-dropdown .ts-wrapper.single .ts-control input,\njb-select .ts-wrapper.single .ts-control,\njb-select .ts-wrapper.single .ts-control input {\n cursor: pointer;\n}\njb-dropdown .ts-control:not(.rtl),\njb-select .ts-control:not(.rtl) {\n padding-right: max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-pr-caret)) !important;\n}\njb-dropdown .ts-control.rtl,\njb-select .ts-control.rtl {\n padding-left: max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-pr-caret)) !important;\n}\njb-dropdown .ts-wrapper,\njb-select .ts-wrapper {\n position: relative;\n}\njb-dropdown .ts-dropdown,\njb-dropdown .ts-control,\njb-dropdown .ts-control input,\njb-select .ts-dropdown,\njb-select .ts-control,\njb-select .ts-control input {\n color: #303030;\n font-family: inherit;\n font-size: 1rem;\n line-height: 18px;\n}\njb-dropdown .ts-control,\njb-dropdown .ts-wrapper.single.input-active .ts-control,\njb-select .ts-control,\njb-select .ts-wrapper.single.input-active .ts-control {\n background: #fff;\n cursor: text;\n}\njb-dropdown .ts-hidden-accessible,\njb-select .ts-hidden-accessible {\n border: 0 !important;\n clip: rect(0 0 0 0) !important;\n clip-path: inset(50%) !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n white-space: nowrap !important;\n}\n@media (min-width: 960px) {\n jb-dropdown,\n jb-select {\n align-self: unset;\n flex-shrink: 0;\n }\n}\njb-dropdown .showlabel label,\njb-dropdown .isfocused label,\njb-select .showlabel label,\njb-select .isfocused label {\n opacity: 1;\n}\njb-dropdown .input-hidden .ts-control > input,\njb-select .input-hidden .ts-control > input {\n left: -10000px;\n opacity: 0;\n position: absolute;\n}\njb-dropdown label,\njb-select label {\n color: rgba(20, 30, 85, 0.7);\n margin-bottom: var(--spacing-base);\n opacity: 0;\n transition: opacity 0.3s ease-in-out;\n}\njb-dropdown .disabled .ts-control,\njb-select .disabled .ts-control {\n cursor: default !important;\n opacity: 0.5;\n}\njb-dropdown div.error label,\njb-select div.error label {\n color: #971b2f;\n}\njb-dropdown div.error input,\njb-select div.error input {\n border-bottom: 1px solid #971b2f;\n}\njb-dropdown div.error input::placeholder,\njb-select div.error input::placeholder {\n color: #971b2f;\n}\njb-dropdown div.error .ts-wrapper .ts-control,\njb-select div.error .ts-wrapper .ts-control {\n border-color: #971b2f;\n color: #971b2f;\n}\njb-dropdown div.error .dropdown-active .ts-control,\njb-select div.error .dropdown-active .ts-control {\n color: rgba(20, 30, 85, 0.8);\n outline: #971b2f solid thin;\n}\njb-dropdown p,\njb-select p {\n color: #971b2f;\n display: block;\n margin-top: var(--spacing-base);\n}\njb-dropdown p [data-error-code],\njb-select p [data-error-code] {\n display: none;\n}\njb-dropdown p [data-force-initial-display],\njb-select p [data-force-initial-display] {\n display: block;\n}\njb-dropdown .ts-wrapper,\njb-select .ts-wrapper {\n display: flex;\n min-height: 36px;\n}\njb-dropdown .ts-wrapper.multi.has-items .ts-control,\njb-select .ts-wrapper.multi.has-items .ts-control {\n padding-left: 5px;\n padding-right: 5px;\n}\njb-dropdown .ts-wrapper.multi.disabled .ts-control [data-value],\njb-select .ts-wrapper.multi.disabled .ts-control [data-value] {\n background: none;\n box-shadow: none;\n color: #999;\n text-shadow: none;\n}\njb-dropdown .ts-wrapper.multi.disabled .ts-control [data-value],\njb-dropdown .ts-wrapper.multi.disabled .ts-control [data-value] .remove,\njb-select .ts-wrapper.multi.disabled .ts-control [data-value],\njb-select .ts-wrapper.multi.disabled .ts-control [data-value] .remove {\n border-color: #e6e6e6;\n}\njb-dropdown .ts-wrapper.multi.disabled .ts-control [data-value] .remove,\njb-select .ts-wrapper.multi.disabled .ts-control [data-value] .remove {\n background: none;\n}\njb-dropdown .ts-wrapper.dropdown-active .ts-control,\njb-select .ts-wrapper.dropdown-active .ts-control {\n color: rgba(20, 30, 85, 0.8);\n outline: #141e55 solid thin;\n overflow-y: hidden;\n}\njb-dropdown .ts-wrapper.dropdown-active .ts-control::after,\njb-select .ts-wrapper.dropdown-active .ts-control::after {\n transform: rotate(0deg);\n transition: transform 0.3s ease-in;\n}\njb-dropdown .ts-control,\njb-select .ts-control {\n border: 1px solid rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n border-radius: 0;\n box-shadow: none;\n color: rgba(20, 30, 85, var(--theme-opacity-80, 0.8));\n flex-wrap: nowrap;\n line-height: 1.625rem;\n margin-bottom: 1px;\n padding: var(--spacing-base) var(--spacing-2xs);\n}\njb-dropdown .ts-control > *,\njb-select .ts-control > * {\n white-space: nowrap;\n}\njb-dropdown .ts-control input,\njb-select .ts-control input {\n color: #141e55;\n}\njb-dropdown .ts-control input::placeholder,\njb-select .ts-control input::placeholder {\n color: rgba(20, 30, 85, 0.7);\n opacity: 1;\n}\n.dropdown-active jb-dropdown .ts-control,\n.dropdown-active jb-select .ts-control {\n border-radius: 0;\n}\njb-dropdown .ts-control::after,\njb-select .ts-control::after {\n background-image: url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 14 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-316 -34)' fill='%23141E55'%3E%3Cg transform='translate(315 30)'%3E%3Cpath transform='translate(8 11.657) rotate(-45) translate(-8 -11.657)' d='m12.58 6.2426c0.46097 0 0.83461 0.37368 0.83461 0.83461v7.745c0 0.46093-0.37364 0.83461-0.83461 0.83461s-0.83461-0.37368-0.83461-0.83461v-6.9104h-6.9104c-0.46097 0-0.83461-0.37368-0.83461-0.83461 0-0.46093 0.37364-0.83461 0.83461-0.83461h7.745z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\");\n background-position: center;\n background-repeat: no-repeat;\n background-size: contain;\n content: \"\";\n display: block;\n height: 16px;\n position: absolute;\n right: 12px;\n top: 10px;\n transform: rotate(-180deg);\n transition: transform 0.3s ease-in;\n width: 16px;\n}\njb-dropdown .focus .ts-control,\njb-select .focus .ts-control {\n box-shadow: none;\n}\njb-dropdown .ts-dropdown,\njb-select .ts-dropdown {\n background-color: #f1f2f2;\n border-radius: 0;\n box-shadow: none;\n margin: 0;\n}\njb-dropdown .ts-dropdown-content,\njb-select .ts-dropdown-content {\n border-top: 0;\n max-height: 285px;\n min-height: 100px;\n overflow-y: auto;\n padding-block: var(--spacing-xs);\n padding-inline: var(--spacing-2xs);\n}\njb-dropdown .ts-dropdown .optgroup-header,\njb-select .ts-dropdown .optgroup-header {\n font-size: 0.85em;\n font-weight: bold;\n padding-top: 7px;\n}\njb-dropdown .ts-dropdown .optgroup,\njb-select .ts-dropdown .optgroup {\n border-top: 1px solid #f0f0f0;\n}\njb-dropdown .ts-dropdown .optgroup:first-child,\njb-select .ts-dropdown .optgroup:first-child {\n border-top: 0 none;\n}\njb-dropdown .ts-dropdown .option,\njb-select .ts-dropdown .option {\n color: rgba(20, 30, 85, var(--theme-opacity-80, 0.8));\n line-height: 1.188rem;\n padding: 0;\n padding-bottom: var(--spacing-3xs);\n position: relative;\n}\njb-dropdown .ts-dropdown .option:last-child,\njb-select .ts-dropdown .option:last-child {\n padding-bottom: 0;\n}\njb-dropdown .ts-dropdown .option span:not(.highlight),\njb-select .ts-dropdown .option span:not(.highlight) {\n backface-visibility: hidden;\n bottom: 0;\n display: inline-block;\n -moz-osx-font-smoothing: grayscale;\n overflow: hidden;\n padding-bottom: var(--spacing-base);\n pointer-events: none;\n position: relative;\n transform: translateZ(0);\n z-index: -1;\n}\njb-dropdown .ts-dropdown .option span:not(.highlight)::after,\njb-select .ts-dropdown .option span:not(.highlight)::after {\n background: rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n bottom: 0;\n content: \"\";\n height: 1px;\n left: 0;\n position: absolute;\n transition: width 0.2s ease-out 0.7s;\n width: 25px;\n z-index: 0;\n}\njb-dropdown .ts-dropdown .option.selected span::after, jb-dropdown .ts-dropdown .option:hover span::after,\njb-select .ts-dropdown .option.selected span::after,\njb-select .ts-dropdown .option:hover span::after {\n background-color: #141e55;\n transition: width 0.7s ease-out;\n width: 100%;\n}\njb-dropdown .ts-dropdown .option.active,\njb-select .ts-dropdown .option.active {\n background-color: unset;\n padding: 0;\n}\njb-dropdown .ts-dropdown .option.active:not(:last-child),\njb-select .ts-dropdown .option.active:not(:last-child) {\n padding-bottom: var(--spacing-3xs);\n}\njb-dropdown .isregionselect,\njb-select .isregionselect {\n margin-bottom: 17px;\n position: relative;\n user-select: none;\n width: 100%;\n}\n@media (min-width: 960px) {\n jb-dropdown .isregionselect,\n jb-select .isregionselect {\n margin-bottom: 34px;\n }\n}\njb-dropdown .isregionselect .ts-wrapper.dropdown-active .ts-dropdown,\njb-select .isregionselect .ts-wrapper.dropdown-active .ts-dropdown {\n max-height: 999px;\n opacity: 1;\n transition: max-height 0.3s ease-in-out;\n}\njb-dropdown .isregionselect .ts-wrapper.dropdown-active .ts-dropdown .ts-dropdown-content,\njb-select .isregionselect .ts-wrapper.dropdown-active .ts-dropdown .ts-dropdown-content {\n max-height: 285px;\n opacity: 1;\n transition: opacity 0.3s ease-in-out 0.3s;\n}\njb-dropdown .isregionselect .ts-wrapper .ts-control,\njb-select .isregionselect .ts-wrapper .ts-control {\n background-color: #141e55;\n border-bottom: 0;\n border-color: rgba(255, 255, 255, var(--theme-opacity-20, 0.2));\n border-left: 0;\n border-right: 0;\n color: #fff;\n margin-bottom: 0;\n padding: 17px 17px 16px 0;\n transition: padding 0.3s ease-in-out;\n}\njb-dropdown .isregionselect .ts-wrapper .ts-control::before,\njb-select .isregionselect .ts-wrapper .ts-control::before {\n content: \"\";\n width: 0;\n}\njb-dropdown .isregionselect .ts-wrapper .ts-control::after,\njb-select .isregionselect .ts-wrapper .ts-control::after {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg data-name='Ebene 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23.21 23.21'%3E%3Cpath d='M22.21 16.71a1 1 0 01-.7-.29l-9.9-9.9-9.9 9.9a1 1 0 01-1.42 0 1 1 0 010-1.42L11.61 3.69 22.92 15a1 1 0 010 1.41 1 1 0 01-.71.3z' fill='%23fff'/%3E%3C/svg%3E\");\n height: 15px;\n right: 15px;\n top: 22px;\n width: 15px;\n}\n@media (min-width: 960px) {\n jb-dropdown .isregionselect .ts-wrapper .ts-control::after,\n jb-select .isregionselect .ts-wrapper .ts-control::after {\n height: 20px;\n top: 19.5px;\n width: 20px;\n }\n}\njb-dropdown .isregionselect .ts-wrapper .ts-control .item,\njb-select .isregionselect .ts-wrapper .ts-control .item {\n font-size: 1.3125rem;\n}\n@media (min-width: 960px) {\n jb-dropdown .isregionselect .ts-wrapper .ts-control .item,\n jb-select .isregionselect .ts-wrapper .ts-control .item {\n font-size: 1.5rem;\n }\n}\n@media (min-width: 1437px) {\n jb-dropdown .isregionselect .ts-wrapper .ts-control .item,\n jb-select .isregionselect .ts-wrapper .ts-control .item {\n font-size: 1.75rem;\n }\n}\njb-dropdown .isregionselect .ts-wrapper .ts-control:focus-visible,\njb-select .isregionselect .ts-wrapper .ts-control:focus-visible {\n outline: 0;\n}\njb-dropdown .isregionselect .ts-wrapper.single.dropdown-active .ts-control,\njb-select .isregionselect .ts-wrapper.single.dropdown-active .ts-control {\n background-color: #141e55;\n border-left: 1px solid rgba(255, 255, 255, var(--theme-opacity-40, 0.4));\n border-right: 1px solid rgba(255, 255, 255, var(--theme-opacity-40, 0.4));\n border-top: 1px solid rgba(255, 255, 255, var(--theme-opacity-40, 0.4));\n color: #fff;\n padding: 17px 15px;\n transition: padding 0.3s ease-in-out;\n}\njb-dropdown .isregionselect .ts-wrapper.single.dropdown-active .ts-control::before,\njb-select .isregionselect .ts-wrapper.single.dropdown-active .ts-control::before {\n background-color: rgba(255, 255, 255, var(--theme-opacity-20, 0.2));\n bottom: 1px;\n content: \"\";\n height: 1px;\n position: absolute;\n transition: width 0.3s ease-in-out;\n width: calc(100% - 30px);\n}\njb-dropdown .isregionselect .ts-wrapper.single.input-active .ts-control,\njb-select .isregionselect .ts-wrapper.single.input-active .ts-control {\n background-color: #141e55;\n cursor: pointer;\n}\njb-dropdown .isregionselect .ts-wrapper .ts-dropdown,\njb-select .isregionselect .ts-wrapper .ts-dropdown {\n background-color: #141e55;\n border-bottom-color: rgba(255, 255, 255, var(--theme-opacity-40, 0.4));\n border-left-color: rgba(255, 255, 255, var(--theme-opacity-40, 0.4));\n border-right-color: rgba(255, 255, 255, var(--theme-opacity-40, 0.4));\n border-top: 0;\n display: block !important;\n max-height: 0;\n opacity: 0;\n overflow: hidden;\n}\njb-dropdown .isregionselect .ts-wrapper .ts-dropdown .ts-dropdown-content,\njb-select .isregionselect .ts-wrapper .ts-dropdown .ts-dropdown-content {\n display: block !important;\n max-height: 0;\n min-height: 0;\n opacity: 0;\n}\njb-dropdown .isregionselect .ts-wrapper .ts-dropdown .ts-dropdown-content::-webkit-scrollbar,\njb-select .isregionselect .ts-wrapper .ts-dropdown .ts-dropdown-content::-webkit-scrollbar {\n background-color: transparent;\n height: 5px;\n width: 12px;\n}\njb-dropdown .isregionselect .ts-wrapper .ts-dropdown .ts-dropdown-content::-webkit-scrollbar-track,\njb-select .isregionselect .ts-wrapper .ts-dropdown .ts-dropdown-content::-webkit-scrollbar-track {\n background-clip: content-box;\n background-color: transparent;\n}\njb-dropdown .isregionselect .ts-wrapper .ts-dropdown .ts-dropdown-content::-webkit-scrollbar-thumb,\njb-select .isregionselect .ts-wrapper .ts-dropdown .ts-dropdown-content::-webkit-scrollbar-thumb {\n background-color: #8a8ea8;\n border-left: 4px solid #141e55;\n border-radius: 4px;\n border-right: 4px solid #141e55;\n width: 180px;\n}\njb-dropdown .isregionselect .ts-wrapper .ts-dropdown .option,\njb-select .isregionselect .ts-wrapper .ts-dropdown .option {\n color: #fff;\n}\njb-dropdown .isregionselect .ts-wrapper .ts-dropdown .option span:not(.highlight),\njb-select .isregionselect .ts-wrapper .ts-dropdown .option span:not(.highlight) {\n padding-bottom: 0;\n}\njb-dropdown .isregionselect .ts-wrapper .ts-dropdown .option span,\njb-select .isregionselect .ts-wrapper .ts-dropdown .option span {\n font-size: 1.75rem;\n line-height: 2.5rem;\n}\njb-dropdown .isregionselect .ts-wrapper .ts-dropdown .option.active span::after,\njb-select .isregionselect .ts-wrapper .ts-dropdown .option.active span::after {\n background-color: #fff;\n}\njb-dropdown .isregionselect .ts-wrapper .ts-dropdown .option:first-child,\njb-select .isregionselect .ts-wrapper .ts-dropdown .option:first-child {\n padding-top: 11px;\n}\njb-dropdown .isregionselect .ts-wrapper .ts-dropdown .option:last-child,\njb-select .isregionselect .ts-wrapper .ts-dropdown .option:last-child {\n padding-bottom: 7px;\n}\njb-dropdown .isregionselect label,\njb-select .isregionselect label {\n font-size: 11px;\n font-size: 0.6875rem;\n line-height: 16px;\n line-height: 1rem;\n color: #fff;\n display: block;\n font-weight: 400;\n letter-spacing: 0.063rem;\n margin-bottom: 8px;\n text-transform: uppercase;\n}\njb-dropdown .iseservices,\njb-select .iseservices {\n position: relative;\n user-select: none;\n width: 100%;\n}\n@media (min-width: 600px) {\n jb-dropdown .iseservices,\n jb-select .iseservices {\n margin-bottom: 0;\n width: min-content;\n }\n}\njb-dropdown .iseservices .ts-wrapper,\njb-select .iseservices .ts-wrapper {\n min-width: 100px;\n transition: min-width 0.3s ease-in-out;\n}\n@media (min-width: 600px) {\n jb-dropdown .iseservices .ts-wrapper.dropdown-active,\n jb-select .iseservices .ts-wrapper.dropdown-active {\n min-width: 270px;\n }\n}\n@media (min-width: 960px) {\n jb-dropdown .iseservices .ts-wrapper.dropdown-active,\n jb-select .iseservices .ts-wrapper.dropdown-active {\n min-width: 290px;\n }\n}\njb-dropdown .iseservices .ts-wrapper.dropdown-active .ts-dropdown,\njb-select .iseservices .ts-wrapper.dropdown-active .ts-dropdown {\n border-bottom-color: rgba(255, 255, 255, var(--theme-opacity-40, 0.4));\n max-height: 999px;\n opacity: 1;\n transition: max-height 0.3s ease-in-out 0.3s;\n}\njb-dropdown .iseservices .ts-wrapper.dropdown-active .ts-dropdown .ts-dropdown-content,\njb-select .iseservices .ts-wrapper.dropdown-active .ts-dropdown .ts-dropdown-content {\n max-height: 285px;\n opacity: 1;\n transition: opacity 0.3s ease-in-out 0.6s;\n}\njb-dropdown .iseservices .ts-wrapper.dropdown-active::before,\njb-select .iseservices .ts-wrapper.dropdown-active::before {\n transform: scaleX(1);\n}\njb-dropdown .iseservices .ts-wrapper.dropdown-active::after,\njb-select .iseservices .ts-wrapper.dropdown-active::after {\n opacity: 0.6;\n transition: opacity 0.3s ease-in-out 0s;\n}\njb-dropdown .iseservices .ts-wrapper.dropdown-active .ts-control::after,\njb-select .iseservices .ts-wrapper.dropdown-active .ts-control::after {\n transform: rotate(180deg);\n}\njb-dropdown .iseservices .ts-wrapper::before,\njb-select .iseservices .ts-wrapper::before {\n background-color: rgba(255, 255, 255, var(--theme-opacity-40, 0.4));\n content: \"\";\n height: 1px;\n left: 0;\n position: absolute;\n top: 0;\n transform: scaleX(0);\n transform-origin: left;\n transition: transform 0.3s ease-in-out;\n width: 100%;\n}\njb-dropdown .iseservices .ts-wrapper .ts-control,\njb-select .iseservices .ts-wrapper .ts-control {\n align-items: center;\n background-color: transparent;\n border: 0;\n border-inline: 1px solid transparent;\n color: rgba(255, 255, 255, var(--theme-opacity-70, 0.7));\n font-size: 1.625rem;\n height: 60px;\n letter-spacing: normal;\n line-height: 2.188rem;\n padding: 10px 17px 10px 0;\n transition: padding 0.3s ease-in-out 0.3s;\n}\njb-dropdown .iseservices .ts-wrapper .ts-control::before,\njb-select .iseservices .ts-wrapper .ts-control::before {\n content: \"\";\n width: 0;\n}\njb-dropdown .iseservices .ts-wrapper .ts-control::after,\njb-select .iseservices .ts-wrapper .ts-control::after {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg data-name='Ebene 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23.21 23.21'%3E%3Cpath d='M22.21 16.71a1 1 0 01-.7-.29l-9.9-9.9-9.9 9.9a1 1 0 01-1.42 0 1 1 0 010-1.42L11.61 3.69 22.92 15a1 1 0 010 1.41 1 1 0 01-.71.3z' fill='%23fff'/%3E%3C/svg%3E\");\n margin-inline-start: 8px;\n opacity: 0.6;\n position: static;\n transition: opacity 0.3s ease-in-out;\n width: 14px;\n}\njb-dropdown .iseservices .ts-wrapper .ts-control > div,\njb-select .iseservices .ts-wrapper .ts-control > div {\n transform: translateY(1px);\n}\n@media (min-width: 960px) {\n jb-dropdown .iseservices .ts-wrapper .ts-control,\n jb-select .iseservices .ts-wrapper .ts-control {\n font-size: 1.75rem;\n line-height: 2.5rem;\n overflow: visible;\n }\n}\njb-dropdown .iseservices .ts-wrapper .ts-control:has(.item) input,\njb-select .iseservices .ts-wrapper .ts-control:has(.item) input {\n display: none !important;\n}\njb-dropdown .iseservices .ts-wrapper .ts-control input,\njb-select .iseservices .ts-wrapper .ts-control input {\n caret-color: transparent;\n opacity: 1;\n padding-block-start: 10px !important;\n width: min-content;\n}\njb-dropdown .iseservices .ts-wrapper .ts-control input::placeholder,\njb-select .iseservices .ts-wrapper .ts-control input::placeholder {\n color: rgba(255, 255, 255, var(--theme-opacity-80, 0.8));\n font-size: 1.625rem;\n letter-spacing: normal;\n}\n@media (min-width: 960px) {\n jb-dropdown .iseservices .ts-wrapper .ts-control input::placeholder,\n jb-select .iseservices .ts-wrapper .ts-control input::placeholder {\n font-size: 1.75rem;\n }\n}\njb-dropdown .iseservices .ts-wrapper .ts-control:focus-visible,\njb-select .iseservices .ts-wrapper .ts-control:focus-visible {\n outline: 0;\n}\njb-dropdown .iseservices .ts-wrapper.single.dropdown-active .ts-control,\njb-select .iseservices .ts-wrapper.single.dropdown-active .ts-control {\n background-color: transparent;\n border-inline-color: rgba(255, 255, 255, var(--theme-opacity-40, 0.4));\n color: #fff;\n padding: 10px 12px;\n transition: padding 0.3s ease-in-out 0.3s, border-color 0.3s ease-in-out 0.3s;\n}\njb-dropdown .iseservices .ts-wrapper.single.dropdown-active .ts-control::before,\njb-select .iseservices .ts-wrapper.single.dropdown-active .ts-control::before {\n background-color: rgba(255, 255, 255, var(--theme-opacity-20, 0.2));\n bottom: 1px;\n content: \"\";\n height: 1px;\n position: absolute;\n transition: width 0.3s ease-in-out 0.3s;\n width: calc(100% - 30px);\n}\njb-dropdown .iseservices .ts-wrapper.single.dropdown-active .ts-control::after,\njb-select .iseservices .ts-wrapper.single.dropdown-active .ts-control::after {\n opacity: 0;\n transition: opacity 0.3s ease-in-out;\n}\njb-dropdown .iseservices .ts-wrapper.single.dropdown-active::after,\njb-select .iseservices .ts-wrapper.single.dropdown-active::after {\n opacity: 0.6;\n transition: opacity 0.3s ease-in-out;\n}\njb-dropdown .iseservices .ts-wrapper.single.input-active .ts-control,\njb-select .iseservices .ts-wrapper.single.input-active .ts-control {\n background: transparent;\n cursor: pointer;\n}\njb-dropdown .iseservices .ts-wrapper .ts-dropdown,\njb-select .iseservices .ts-wrapper .ts-dropdown {\n background-color: #141e55;\n border-bottom-color: transparent;\n border-left-color: rgba(255, 255, 255, var(--theme-opacity-40, 0.4));\n border-right-color: rgba(255, 255, 255, var(--theme-opacity-40, 0.4));\n border-top: 0;\n display: block !important;\n max-height: 0;\n opacity: 0;\n transition: border-bottom-color 0.3s ease-in-out 0.3s;\n}\njb-dropdown .iseservices .ts-wrapper .ts-dropdown .ts-dropdown-content,\njb-select .iseservices .ts-wrapper .ts-dropdown .ts-dropdown-content {\n display: block !important;\n max-height: 0;\n min-height: 0;\n opacity: 0;\n}\njb-dropdown .iseservices .ts-wrapper .ts-dropdown .ts-dropdown-content::-webkit-scrollbar,\njb-select .iseservices .ts-wrapper .ts-dropdown .ts-dropdown-content::-webkit-scrollbar {\n background-color: transparent;\n height: 5px;\n width: 12px;\n}\njb-dropdown .iseservices .ts-wrapper .ts-dropdown .ts-dropdown-content::-webkit-scrollbar-track,\njb-select .iseservices .ts-wrapper .ts-dropdown .ts-dropdown-content::-webkit-scrollbar-track {\n background-clip: content-box;\n background-color: transparent;\n}\njb-dropdown .iseservices .ts-wrapper .ts-dropdown .ts-dropdown-content::-webkit-scrollbar-thumb,\njb-select .iseservices .ts-wrapper .ts-dropdown .ts-dropdown-content::-webkit-scrollbar-thumb {\n background-color: #8a8ea8;\n border-left: 4px solid #141e55;\n border-radius: 4px;\n border-right: 4px solid #141e55;\n width: 180px;\n}\njb-dropdown .iseservices .ts-wrapper .ts-dropdown .option,\njb-select .iseservices .ts-wrapper .ts-dropdown .option {\n color: #fff;\n}\njb-dropdown .iseservices .ts-wrapper .ts-dropdown .option span:not(.highlight),\njb-select .iseservices .ts-wrapper .ts-dropdown .option span:not(.highlight) {\n padding-bottom: 0;\n}\njb-dropdown .iseservices .ts-wrapper .ts-dropdown .option span,\njb-select .iseservices .ts-wrapper .ts-dropdown .option span {\n font-size: 1.75rem;\n line-height: 2.5rem;\n}\njb-dropdown .iseservices .ts-wrapper .ts-dropdown .option.active span::after,\njb-select .iseservices .ts-wrapper .ts-dropdown .option.active span::after {\n background-color: #fff;\n}\njb-dropdown .iseservices .ts-wrapper .ts-dropdown .option:first-child,\njb-select .iseservices .ts-wrapper .ts-dropdown .option:first-child {\n padding-top: 11px;\n}\njb-dropdown .iseservices .ts-wrapper .ts-dropdown .option:last-child,\njb-select .iseservices .ts-wrapper .ts-dropdown .option:last-child {\n padding-bottom: 7px;\n}\njb-dropdown .iseservices .ts-wrapper::after,\njb-select .iseservices .ts-wrapper::after {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg data-name='Ebene 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23.21 23.21'%3E%3Cpath d='M22.21 16.71a1 1 0 01-.7-.29l-9.9-9.9-9.9 9.9a1 1 0 01-1.42 0 1 1 0 010-1.42L11.61 3.69 22.92 15a1 1 0 010 1.41 1 1 0 01-.71.3z' fill='%23fff'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n height: 14px;\n opacity: 0;\n position: absolute;\n right: 15px;\n top: 25px;\n transition: opacity 0.3s ease-in-out;\n transition-delay: 0;\n width: 14px;\n}\njb-dropdown .iseservices label,\njb-select .iseservices label {\n font-size: 11px;\n font-size: 0.6875rem;\n line-height: 16px;\n line-height: 1rem;\n color: #fff;\n display: block;\n font-weight: 400;\n letter-spacing: 0.063rem;\n margin-bottom: 8px;\n text-transform: uppercase;\n}\njb-dropdown .dropdown .ts-control,\njb-select .dropdown .ts-control {\n cursor: pointer;\n}\njb-dropdown .dropdown .ts-dropdown .option:hover span::after,\njb-dropdown .dropdown .ts-dropdown .option.selected span::after,\njb-select .dropdown .ts-dropdown .option:hover span::after,\njb-select .dropdown .ts-dropdown .option.selected span::after {\n background-color: #fff;\n}\njb-dropdown .inverted label,\njb-select .inverted label {\n color: #fff;\n}\njb-dropdown .inverted .ts-dropdown,\njb-select .inverted .ts-dropdown {\n background: #141e55;\n border-color: rgba(255, 255, 255, var(--theme-opacity-40, 0.4));\n color: #fff;\n}\njb-dropdown .inverted .ts-dropdown .option,\njb-select .inverted .ts-dropdown .option {\n color: #fff;\n}\njb-dropdown .inverted .ts-dropdown .option span::after,\njb-select .inverted .ts-dropdown .option span::after {\n background-color: rgba(255, 255, 255, var(--theme-opacity-20, 0.2));\n}\njb-dropdown .inverted .ts-dropdown .option.active span::after,\njb-select .inverted .ts-dropdown .option.active span::after {\n background-color: #fff;\n}\njb-dropdown .inverted .ts-control,\njb-select .inverted .ts-control {\n background: #141e55;\n border: 1px solid rgba(255, 255, 255, var(--theme-opacity-40, 0.4));\n}\njb-dropdown .inverted .ts-control input,\njb-select .inverted .ts-control input {\n color: #fff;\n}\njb-dropdown .inverted .ts-control input::placeholder,\njb-select .inverted .ts-control input::placeholder {\n color: rgba(255, 255, 255, var(--theme-opacity-80, 0.8));\n opacity: 1;\n}\njb-dropdown .inverted .ts-control .item,\njb-select .inverted .ts-control .item {\n color: #fff;\n}\njb-dropdown .inverted .ts-control::after,\njb-select .inverted .ts-control::after {\n background-image: url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 14 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-316 -34)' fill='%23FFF'%3E%3Cg transform='translate(315 30)'%3E%3Cpath transform='translate(8 11.657) rotate(-45) translate(-8 -11.657)' d='m12.58 6.2426c0.46097 0 0.83461 0.37368 0.83461 0.83461v7.745c0 0.46093-0.37364 0.83461-0.83461 0.83461s-0.83461-0.37368-0.83461-0.83461v-6.9104h-6.9104c-0.46097 0-0.83461-0.37368-0.83461-0.83461 0-0.46093 0.37364-0.83461 0.83461-0.83461h7.745z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\");\n}\njb-dropdown .inverted .ts-wrapper.input-active .ts-control,\njb-select .inverted .ts-wrapper.input-active .ts-control {\n background: #141e55;\n border: 1px solid #fff;\n}\njb-dropdown .languageswitch,\njb-select .languageswitch {\n --_language-font-color: var(--theme-color-white, 255 255 255);\n --_language-background-color: var(--theme-color-royal-blue, 20 30 85);\n --_language-shadow: var(\n --theme-shadow-ondark-medium,\n 0px 0px 30px 0px rgba(0, 0, 0, 0.2),\n 0px 10px 30px 0px rgba(103, 104, 113, 0.25)\n );\n --_language-chevron: url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 14 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-316 -34)' fill='%23FFF'%3E%3Cg transform='translate(315 30)'%3E%3Cpath transform='translate(8 11.657) rotate(-45) translate(-8 -11.657)' d='m12.58 6.2426c0.46097 0 0.83461 0.37368 0.83461 0.83461v7.745c0 0.46093-0.37364 0.83461-0.83461 0.83461s-0.83461-0.37368-0.83461-0.83461v-6.9104h-6.9104c-0.46097 0-0.83461-0.37368-0.83461-0.83461 0-0.46093 0.37364-0.83461 0.83461-0.83461h7.745z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\");\n --_language-hover: var(--_language-font-color) / var(--theme-opacity-20, 0.2);\n background-color: transparent;\n position: relative;\n}\njb-dropdown .languageswitch.inverted,\njb-select .languageswitch.inverted {\n --_language-font-color: var(--theme-color-royal-blue, 20 30 85);\n --_language-background-color: var(--theme-color-white, 255 255 255);\n --_language-shadow: var(\n --theme-shadow-onlight-medium,\n 0px 0px 30px 0px rgba(55, 64, 112, 0.04),\n 0px 10px 30px 0px rgba(14, 24, 81, 0.06)\n );\n --_language-chevron: url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 14 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(-316 -34)' fill='%23141E55'%3E%3Cg transform='translate(315 30)'%3E%3Cpath transform='translate(8 11.657) rotate(-45) translate(-8 -11.657)' d='m12.58 6.2426c0.46097 0 0.83461 0.37368 0.83461 0.83461v7.745c0 0.46093-0.37364 0.83461-0.83461 0.83461s-0.83461-0.37368-0.83461-0.83461v-6.9104h-6.9104c-0.46097 0-0.83461-0.37368-0.83461-0.83461 0-0.46093 0.37364-0.83461 0.83461-0.83461h7.745z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\");\n --_language-hover: var(--theme-color-smoke-light, 241 242 242);\n}\njb-dropdown .languageswitch .shortitem,\njb-select .languageswitch .shortitem {\n display: inline-block;\n}\n@media (min-width: 600px) {\n jb-dropdown .languageswitch .shortitem,\n jb-select .languageswitch .shortitem {\n display: none;\n }\n}\njb-dropdown .languageswitch .item,\njb-select .languageswitch .item {\n display: none;\n}\n@media (min-width: 600px) {\n jb-dropdown .languageswitch .item,\n jb-select .languageswitch .item {\n display: inline-block;\n }\n}\njb-dropdown .languageswitch label,\njb-select .languageswitch label {\n display: none;\n}\njb-dropdown .languageswitch jb-globe-icon,\njb-select .languageswitch jb-globe-icon {\n height: 20px;\n width: 20px;\n --stroke-color: rgb(var(--_language-font-color));\n}\njb-dropdown .languageswitch .ts-wrapper,\njb-select .languageswitch .ts-wrapper {\n display: inline-flex;\n position: relative;\n}\njb-dropdown .languageswitch .ts-wrapper::before,\njb-select .languageswitch .ts-wrapper::before {\n background-color: rgb(var(--_language-font-color));\n bottom: -4px;\n content: \"\";\n display: block;\n height: 1px;\n left: 0;\n position: absolute;\n scale: 0 1;\n transform-origin: left;\n transition: scale 2s cubic-bezier(0.16, 1, 0.3, 1);\n width: 100%;\n}\njb-dropdown .languageswitch .ts-wrapper.dropdown-active::before,\njb-select .languageswitch .ts-wrapper.dropdown-active::before {\n scale: 1 1;\n}\njb-dropdown .languageswitch .ts-wrapper:not(:last-child),\njb-select .languageswitch .ts-wrapper:not(:last-child) {\n margin-inline-end: var(--spacing-sm);\n}\njb-dropdown .languageswitch .ts-control,\njb-select .languageswitch .ts-control {\n /* stylelint-disable */\n all: revert;\n align-items: center;\n /* stylelint-enable */\n color: rgb(var(--_language-font-color));\n display: flex;\n font-size: var(--theme-typo-uppercase-700-fontsize, 0.688rem);\n font-weight: var(--theme-fontbold-weight, 700);\n gap: var(--spacing-3xs);\n letter-spacing: var(--theme-typo-uppercase-700-letterspacing, 0.063rem);\n line-height: var(--theme-typo-uppercase-700-lineheight, 1rem);\n overflow: hidden;\n position: relative;\n text-transform: uppercase;\n}\njb-dropdown .languageswitch .ts-control .item,\njb-select .languageswitch .ts-control .item {\n color: unset;\n}\njb-dropdown .languageswitch .ts-control::after,\njb-select .languageswitch .ts-control::after {\n background-image: var(--_language-chevron);\n display: inline-block;\n position: relative;\n right: unset;\n top: unset;\n}\njb-dropdown .languageswitch .ts-dropdown-content,\njb-select .languageswitch .ts-dropdown-content {\n all: unset;\n}\njb-dropdown .languageswitch .ts-wrapper.dropdown-active .ts-control,\njb-select .languageswitch .ts-wrapper.dropdown-active .ts-control {\n color: rgb(var(--_language-font-color));\n outline: none;\n}\njb-dropdown .languageswitch .ts-dropdown,\njb-select .languageswitch .ts-dropdown {\n background-color: rgb(var(--_language-background-color));\n border: 1px solid rgb(var(--_language-font-color));\n box-shadow: var(--_language-shadow);\n min-width: 160px;\n padding-block: var(--spacing-s);\n top: calc(100% + var(--spacing-lm));\n width: max-content;\n}\njb-dropdown .languageswitch .ts-dropdown .option,\njb-select .languageswitch .ts-dropdown .option {\n padding-block-end: 0;\n}\njb-dropdown .languageswitch .ts-dropdown .option.active, jb-dropdown .languageswitch .ts-dropdown .option:hover,\njb-select .languageswitch .ts-dropdown .option.active,\njb-select .languageswitch .ts-dropdown .option:hover {\n background-color: rgb(var(--_language-hover));\n outline: none;\n z-index: -1;\n}\njb-dropdown .languageswitch .ts-dropdown .option.active:not(:last-child), jb-dropdown .languageswitch .ts-dropdown .option:hover:not(:last-child),\njb-select .languageswitch .ts-dropdown .option.active:not(:last-child),\njb-select .languageswitch .ts-dropdown .option:hover:not(:last-child) {\n padding-block-end: 0;\n}\njb-dropdown .languageswitch .ts-dropdown .option span,\njb-select .languageswitch .ts-dropdown .option span {\n color: rgb(var(--_language-font-color));\n padding: var(--spacing-3xs) var(--spacing-s);\n}\njb-dropdown .languageswitch .ts-dropdown .option span::after,\njb-select .languageswitch .ts-dropdown .option span::after {\n content: unset;\n}\n\njb-dropdown {\n /* stylelint-disable */\n /* COLOR SETTINGS */\n /* shadows */\n /* special measurements */\n /* stylelint-disable */\n /* stylelint-enable */\n /* special measurements */\n /* stylelint-enable */\n flex-shrink: unset;\n inline-size: auto;\n}\njb-dropdown *,\njb-dropdown *::before,\njb-dropdown *::after {\n box-sizing: border-box;\n}\njb-dropdown div,\njb-dropdown object,\njb-dropdown iframe,\njb-dropdown h1,\njb-dropdown h2,\njb-dropdown h3,\njb-dropdown h4,\njb-dropdown h5,\njb-dropdown h6,\njb-dropdown p,\njb-dropdown blockquote,\njb-dropdown ol,\njb-dropdown ul,\njb-dropdown li,\njb-dropdown form,\njb-dropdown legend,\njb-dropdown label,\njb-dropdown table,\njb-dropdown header,\njb-dropdown footer,\njb-dropdown nav,\njb-dropdown section,\njb-dropdown figure {\n margin: 0;\n padding: 0;\n}\njb-dropdown a {\n color: inherit;\n}\njb-dropdown :host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n@media screen and (width >= 1281px) {\n jb-dropdown :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\njb-dropdown .languageswitch .ts-dropdown .option.selected span,\njb-select .languageswitch .ts-dropdown .option.selected jb-dropdown span {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\njb-dropdown .ts-dropdown,\njb-dropdown .ts-control,\njb-dropdown .ts-control input,\njb-select .ts-control jb-dropdown input, jb-dropdown label,\njb-dropdown jb-select label,\njb-select jb-dropdown label,\njb-dropdown jb-select label,\njb-select jb-dropdown label, jb-dropdown p,\njb-dropdown jb-select p,\njb-select jb-dropdown p,\njb-dropdown jb-select p,\njb-select jb-dropdown p, jb-dropdown .ts-wrapper, jb-dropdown .ts-dropdown .option span:not(.highlight),\njb-select .ts-dropdown .option jb-dropdown span:not(.highlight), jb-dropdown .iseservices .ts-wrapper .ts-control,\njb-select .iseservices .ts-wrapper jb-dropdown .ts-control, jb-dropdown .languageswitch .ts-dropdown .option span,\njb-dropdown jb-select .languageswitch .ts-dropdown .option span,\njb-select .languageswitch .ts-dropdown .option jb-dropdown span,\njb-select jb-dropdown .languageswitch .ts-dropdown .option span,\njb-dropdown .languageswitch .ts-dropdown .option jb-select span,\njb-dropdown jb-select .languageswitch .ts-dropdown .option span,\njb-select .languageswitch .ts-dropdown .option jb-dropdown span {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\njb-dropdown .iseservices .ts-wrapper .ts-control,\njb-select .iseservices .ts-wrapper jb-dropdown .ts-control {\n font-size: var(--theme-typo-h2-subtitle-mobile-fontsize, 1.625rem);\n line-height: var(--theme-typo-h2-subtitle-mobile-lineheight, 2.188rem);\n}\n@media (min-width: 1281px) {\n jb-dropdown .iseservices .ts-wrapper .ts-control,\n jb-select .iseservices .ts-wrapper jb-dropdown .ts-control {\n font-size: var(--theme-typo-h2-subtitle-desktop-fontsize, 1.938rem);\n line-height: var(--theme-typo-h2-subtitle-desktop-lineheight, 2.625rem);\n }\n}\njb-dropdown .ts-dropdown,\njb-dropdown .ts-control,\njb-dropdown .ts-control input,\njb-select .ts-control jb-dropdown input, jb-dropdown .ts-dropdown .option span:not(.highlight),\njb-select .ts-dropdown .option jb-dropdown span:not(.highlight), jb-dropdown .languageswitch .ts-dropdown .option span,\njb-dropdown jb-select .languageswitch .ts-dropdown .option span,\njb-select .languageswitch .ts-dropdown .option jb-dropdown span {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\njb-dropdown .languageswitch .ts-dropdown .option.selected span,\njb-select .languageswitch .ts-dropdown .option.selected jb-dropdown span {\n font-size: var(--theme-typo-p-small-highlight-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-highlight-desktop-lineheight, 1.625rem);\n}\njb-dropdown label,\njb-dropdown jb-select label,\njb-select jb-dropdown label, jb-dropdown p,\njb-dropdown jb-select p,\njb-select jb-dropdown p {\n font-size: var(--theme-typo-p-mini-desktop-fontsize, 0.813rem);\n line-height: var(--theme-typo-p-mini-desktop-lineheight, 1.25rem);\n}\njb-dropdown .ts-wrapper {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--text-opacity, var(--theme-opacity-80, 0.8)));\n font-size: 1rem;\n line-height: 1.625rem;\n}\njb-dropdown :host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n@media screen and (width >= 1281px) {\n jb-dropdown :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\njb-dropdown :host {\n color: var(--host-color, #141e55);\n}\njb-dropdown .option.active {\n outline: 1px solid rgb(var(--theme-color-royal-blue, 20 30 85)/var(--theme-opacity-20, 0.2));\n outline-offset: 5px;\n}`;\n\nexport {\n jb_select_default\n};\n", "import {\n jb_select_default\n} from \"./chunk.I2ELSNII.js\";\nimport {\n FormElement\n} from \"./chunk.UTVDNTSP.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n applyStyles\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __commonJS,\n __decorateClass,\n __toESM\n} from \"./chunk.I4IFG4JG.js\";\n\n// node_modules/tom-select/dist/js/tom-select.complete.js\nvar require_tom_select_complete = __commonJS({\n \"node_modules/tom-select/dist/js/tom-select.complete.js\"(exports, module) {\n (function(global, factory) {\n typeof exports === \"object\" && typeof module !== \"undefined\" ? module.exports = factory() : typeof define === \"function\" && define.amd ? define(factory) : (global = typeof globalThis !== \"undefined\" ? globalThis : global || self, global.TomSelect = factory());\n })(exports, function() {\n \"use strict\";\n function forEvents(events, callback) {\n events.split(/\\s+/).forEach((event) => {\n callback(event);\n });\n }\n class MicroEvent {\n constructor() {\n this._events = void 0;\n this._events = {};\n }\n on(events, fct) {\n forEvents(events, (event) => {\n const event_array = this._events[event] || [];\n event_array.push(fct);\n this._events[event] = event_array;\n });\n }\n off(events, fct) {\n var n2 = arguments.length;\n if (n2 === 0) {\n this._events = {};\n return;\n }\n forEvents(events, (event) => {\n if (n2 === 1) {\n delete this._events[event];\n return;\n }\n const event_array = this._events[event];\n if (event_array === void 0) return;\n event_array.splice(event_array.indexOf(fct), 1);\n this._events[event] = event_array;\n });\n }\n trigger(events, ...args) {\n var self2 = this;\n forEvents(events, (event) => {\n const event_array = self2._events[event];\n if (event_array === void 0) return;\n event_array.forEach((fct) => {\n fct.apply(self2, args);\n });\n });\n }\n }\n function MicroPlugin(Interface) {\n Interface.plugins = {};\n return class extends Interface {\n constructor(...args) {\n super(...args);\n this.plugins = {\n names: [],\n settings: {},\n requested: {},\n loaded: {}\n };\n }\n /**\n * Registers a plugin.\n *\n * @param {function} fn\n */\n static define(name, fn) {\n Interface.plugins[name] = {\n \"name\": name,\n \"fn\": fn\n };\n }\n /**\n * Initializes the listed plugins (with options).\n * Acceptable formats:\n *\n * List (without options):\n * ['a', 'b', 'c']\n *\n * List (with options):\n * [{'name': 'a', options: {}}, {'name': 'b', options: {}}]\n *\n * Hash (with options):\n * {'a': { ... }, 'b': { ... }, 'c': { ... }}\n *\n * @param {array|object} plugins\n */\n initializePlugins(plugins) {\n var key, name;\n const self2 = this;\n const queue = [];\n if (Array.isArray(plugins)) {\n plugins.forEach((plugin) => {\n if (typeof plugin === \"string\") {\n queue.push(plugin);\n } else {\n self2.plugins.settings[plugin.name] = plugin.options;\n queue.push(plugin.name);\n }\n });\n } else if (plugins) {\n for (key in plugins) {\n if (plugins.hasOwnProperty(key)) {\n self2.plugins.settings[key] = plugins[key];\n queue.push(key);\n }\n }\n }\n while (name = queue.shift()) {\n self2.require(name);\n }\n }\n loadPlugin(name) {\n var self2 = this;\n var plugins = self2.plugins;\n var plugin = Interface.plugins[name];\n if (!Interface.plugins.hasOwnProperty(name)) {\n throw new Error('Unable to find \"' + name + '\" plugin');\n }\n plugins.requested[name] = true;\n plugins.loaded[name] = plugin.fn.apply(self2, [self2.plugins.settings[name] || {}]);\n plugins.names.push(name);\n }\n /**\n * Initializes a plugin.\n *\n */\n require(name) {\n var self2 = this;\n var plugins = self2.plugins;\n if (!self2.plugins.loaded.hasOwnProperty(name)) {\n if (plugins.requested[name]) {\n throw new Error('Plugin has circular dependency (\"' + name + '\")');\n }\n self2.loadPlugin(name);\n }\n return plugins.loaded[name];\n }\n };\n }\n const arrayToPattern = (chars) => {\n chars = chars.filter(Boolean);\n if (chars.length < 2) {\n return chars[0] || \"\";\n }\n return maxValueLength(chars) == 1 ? \"[\" + chars.join(\"\") + \"]\" : \"(?:\" + chars.join(\"|\") + \")\";\n };\n const sequencePattern = (array) => {\n if (!hasDuplicates(array)) {\n return array.join(\"\");\n }\n let pattern = \"\";\n let prev_char_count = 0;\n const prev_pattern = () => {\n if (prev_char_count > 1) {\n pattern += \"{\" + prev_char_count + \"}\";\n }\n };\n array.forEach((char, i) => {\n if (char === array[i - 1]) {\n prev_char_count++;\n return;\n }\n prev_pattern();\n pattern += char;\n prev_char_count = 1;\n });\n prev_pattern();\n return pattern;\n };\n const setToPattern = (chars) => {\n let array = toArray(chars);\n return arrayToPattern(array);\n };\n const hasDuplicates = (array) => {\n return new Set(array).size !== array.length;\n };\n const escape_regex = (str) => {\n return (str + \"\").replace(/([\\$\\(\\)\\*\\+\\.\\?\\[\\]\\^\\{\\|\\}\\\\])/gu, \"\\\\$1\");\n };\n const maxValueLength = (array) => {\n return array.reduce((longest, value) => Math.max(longest, unicodeLength(value)), 0);\n };\n const unicodeLength = (str) => {\n return toArray(str).length;\n };\n const toArray = (p) => Array.from(p);\n const allSubstrings = (input) => {\n if (input.length === 1) return [[input]];\n let result = [];\n const start = input.substring(1);\n const suba = allSubstrings(start);\n suba.forEach(function(subresult) {\n let tmp = subresult.slice(0);\n tmp[0] = input.charAt(0) + tmp[0];\n result.push(tmp);\n tmp = subresult.slice(0);\n tmp.unshift(input.charAt(0));\n result.push(tmp);\n });\n return result;\n };\n const code_points = [[0, 65535]];\n const accent_pat = \"[\\u0300-\\u036F\\xB7\\u02BE\\u02BC]\";\n let unicode_map;\n let multi_char_reg;\n const max_char_length = 3;\n const latin_convert = {};\n const latin_condensed = {\n \"/\": \"\\u2044\\u2215\",\n \"0\": \"\\u07C0\",\n \"a\": \"\\u2C65\\u0250\\u0251\",\n \"aa\": \"\\uA733\",\n \"ae\": \"\\xE6\\u01FD\\u01E3\",\n \"ao\": \"\\uA735\",\n \"au\": \"\\uA737\",\n \"av\": \"\\uA739\\uA73B\",\n \"ay\": \"\\uA73D\",\n \"b\": \"\\u0180\\u0253\\u0183\",\n \"c\": \"\\uA73F\\u0188\\u023C\\u2184\",\n \"d\": \"\\u0111\\u0257\\u0256\\u1D05\\u018C\\uABB7\\u0501\\u0266\",\n \"e\": \"\\u025B\\u01DD\\u1D07\\u0247\",\n \"f\": \"\\uA77C\\u0192\",\n \"g\": \"\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F\\u0262\",\n \"h\": \"\\u0127\\u2C68\\u2C76\\u0265\",\n \"i\": \"\\u0268\\u0131\",\n \"j\": \"\\u0249\\u0237\",\n \"k\": \"\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3\",\n \"l\": \"\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA747\\uA781\\u026D\",\n \"m\": \"\\u0271\\u026F\\u03FB\",\n \"n\": \"\\uA7A5\\u019E\\u0272\\uA791\\u1D0E\\u043B\\u0509\",\n \"o\": \"\\xF8\\u01FF\\u0254\\u0275\\uA74B\\uA74D\\u1D11\",\n \"oe\": \"\\u0153\",\n \"oi\": \"\\u01A3\",\n \"oo\": \"\\uA74F\",\n \"ou\": \"\\u0223\",\n \"p\": \"\\u01A5\\u1D7D\\uA751\\uA753\\uA755\\u03C1\",\n \"q\": \"\\uA757\\uA759\\u024B\",\n \"r\": \"\\u024D\\u027D\\uA75B\\uA7A7\\uA783\",\n \"s\": \"\\xDF\\u023F\\uA7A9\\uA785\\u0282\",\n \"t\": \"\\u0167\\u01AD\\u0288\\u2C66\\uA787\",\n \"th\": \"\\xFE\",\n \"tz\": \"\\uA729\",\n \"u\": \"\\u0289\",\n \"v\": \"\\u028B\\uA75F\\u028C\",\n \"vy\": \"\\uA761\",\n \"w\": \"\\u2C73\",\n \"y\": \"\\u01B4\\u024F\\u1EFF\",\n \"z\": \"\\u01B6\\u0225\\u0240\\u2C6C\\uA763\",\n \"hv\": \"\\u0195\"\n };\n for (let latin in latin_condensed) {\n let unicode = latin_condensed[latin] || \"\";\n for (let i = 0; i < unicode.length; i++) {\n let char = unicode.substring(i, i + 1);\n latin_convert[char] = latin;\n }\n }\n const convert_pat = new RegExp(Object.keys(latin_convert).join(\"|\") + \"|\" + accent_pat, \"gu\");\n const initialize = (_code_points) => {\n if (unicode_map !== void 0) return;\n unicode_map = generateMap(_code_points || code_points);\n };\n const normalize = (str, form = \"NFKD\") => str.normalize(form);\n const asciifold = (str) => {\n return toArray(str).reduce(\n /**\n * @param {string} result\n * @param {string} char\n */\n (result, char) => {\n return result + _asciifold(char);\n },\n \"\"\n );\n };\n const _asciifold = (str) => {\n str = normalize(str).toLowerCase().replace(convert_pat, (char) => {\n return latin_convert[char] || \"\";\n });\n return normalize(str, \"NFC\");\n };\n function* generator(code_points2) {\n for (const [code_point_min, code_point_max] of code_points2) {\n for (let i = code_point_min; i <= code_point_max; i++) {\n let composed = String.fromCharCode(i);\n let folded = asciifold(composed);\n if (folded == composed.toLowerCase()) {\n continue;\n }\n if (folded.length > max_char_length) {\n continue;\n }\n if (folded.length == 0) {\n continue;\n }\n yield {\n folded,\n composed,\n code_point: i\n };\n }\n }\n }\n const generateSets = (code_points2) => {\n const unicode_sets = {};\n const addMatching = (folded, to_add) => {\n const folded_set = unicode_sets[folded] || /* @__PURE__ */ new Set();\n const patt = new RegExp(\"^\" + setToPattern(folded_set) + \"$\", \"iu\");\n if (to_add.match(patt)) {\n return;\n }\n folded_set.add(escape_regex(to_add));\n unicode_sets[folded] = folded_set;\n };\n for (let value of generator(code_points2)) {\n addMatching(value.folded, value.folded);\n addMatching(value.folded, value.composed);\n }\n return unicode_sets;\n };\n const generateMap = (code_points2) => {\n const unicode_sets = generateSets(code_points2);\n const unicode_map2 = {};\n let multi_char = [];\n for (let folded in unicode_sets) {\n let set = unicode_sets[folded];\n if (set) {\n unicode_map2[folded] = setToPattern(set);\n }\n if (folded.length > 1) {\n multi_char.push(escape_regex(folded));\n }\n }\n multi_char.sort((a, b) => b.length - a.length);\n const multi_char_patt = arrayToPattern(multi_char);\n multi_char_reg = new RegExp(\"^\" + multi_char_patt, \"u\");\n return unicode_map2;\n };\n const mapSequence = (strings, min_replacement = 1) => {\n let chars_replaced = 0;\n strings = strings.map((str) => {\n if (unicode_map[str]) {\n chars_replaced += str.length;\n }\n return unicode_map[str] || str;\n });\n if (chars_replaced >= min_replacement) {\n return sequencePattern(strings);\n }\n return \"\";\n };\n const substringsToPattern = (str, min_replacement = 1) => {\n min_replacement = Math.max(min_replacement, str.length - 1);\n return arrayToPattern(allSubstrings(str).map((sub_pat) => {\n return mapSequence(sub_pat, min_replacement);\n }));\n };\n const sequencesToPattern = (sequences, all = true) => {\n let min_replacement = sequences.length > 1 ? 1 : 0;\n return arrayToPattern(sequences.map((sequence) => {\n let seq = [];\n const len = all ? sequence.length() : sequence.length() - 1;\n for (let j = 0; j < len; j++) {\n seq.push(substringsToPattern(sequence.substrs[j] || \"\", min_replacement));\n }\n return sequencePattern(seq);\n }));\n };\n const inSequences = (needle_seq, sequences) => {\n for (const seq of sequences) {\n if (seq.start != needle_seq.start || seq.end != needle_seq.end) {\n continue;\n }\n if (seq.substrs.join(\"\") !== needle_seq.substrs.join(\"\")) {\n continue;\n }\n let needle_parts = needle_seq.parts;\n const filter = (part) => {\n for (const needle_part of needle_parts) {\n if (needle_part.start === part.start && needle_part.substr === part.substr) {\n return false;\n }\n if (part.length == 1 || needle_part.length == 1) {\n continue;\n }\n if (part.start < needle_part.start && part.end > needle_part.start) {\n return true;\n }\n if (needle_part.start < part.start && needle_part.end > part.start) {\n return true;\n }\n }\n return false;\n };\n let filtered = seq.parts.filter(filter);\n if (filtered.length > 0) {\n continue;\n }\n return true;\n }\n return false;\n };\n class Sequence {\n constructor() {\n this.parts = [];\n this.substrs = [];\n this.start = 0;\n this.end = 0;\n }\n /**\n * @param {TSequencePart|undefined} part\n */\n add(part) {\n if (part) {\n this.parts.push(part);\n this.substrs.push(part.substr);\n this.start = Math.min(part.start, this.start);\n this.end = Math.max(part.end, this.end);\n }\n }\n last() {\n return this.parts[this.parts.length - 1];\n }\n length() {\n return this.parts.length;\n }\n /**\n * @param {number} position\n * @param {TSequencePart} last_piece\n */\n clone(position, last_piece) {\n let clone = new Sequence();\n let parts = JSON.parse(JSON.stringify(this.parts));\n let last_part = parts.pop();\n for (const part of parts) {\n clone.add(part);\n }\n let last_substr = last_piece.substr.substring(0, position - last_part.start);\n let clone_last_len = last_substr.length;\n clone.add({\n start: last_part.start,\n end: last_part.start + clone_last_len,\n length: clone_last_len,\n substr: last_substr\n });\n return clone;\n }\n }\n const getPattern = (str) => {\n initialize();\n str = asciifold(str);\n let pattern = \"\";\n let sequences = [new Sequence()];\n for (let i = 0; i < str.length; i++) {\n let substr = str.substring(i);\n let match = substr.match(multi_char_reg);\n const char = str.substring(i, i + 1);\n const match_str = match ? match[0] : null;\n let overlapping = [];\n let added_types = /* @__PURE__ */ new Set();\n for (const sequence of sequences) {\n const last_piece = sequence.last();\n if (!last_piece || last_piece.length == 1 || last_piece.end <= i) {\n if (match_str) {\n const len = match_str.length;\n sequence.add({\n start: i,\n end: i + len,\n length: len,\n substr: match_str\n });\n added_types.add(\"1\");\n } else {\n sequence.add({\n start: i,\n end: i + 1,\n length: 1,\n substr: char\n });\n added_types.add(\"2\");\n }\n } else if (match_str) {\n let clone = sequence.clone(i, last_piece);\n const len = match_str.length;\n clone.add({\n start: i,\n end: i + len,\n length: len,\n substr: match_str\n });\n overlapping.push(clone);\n } else {\n added_types.add(\"3\");\n }\n }\n if (overlapping.length > 0) {\n overlapping = overlapping.sort((a, b) => {\n return a.length() - b.length();\n });\n for (let clone of overlapping) {\n if (inSequences(clone, sequences)) {\n continue;\n }\n sequences.push(clone);\n }\n continue;\n }\n if (i > 0 && added_types.size == 1 && !added_types.has(\"3\")) {\n pattern += sequencesToPattern(sequences, false);\n let new_seq = new Sequence();\n const old_seq = sequences[0];\n if (old_seq) {\n new_seq.add(old_seq.last());\n }\n sequences = [new_seq];\n }\n }\n pattern += sequencesToPattern(sequences, true);\n return pattern;\n };\n const getAttr = (obj, name) => {\n if (!obj) return;\n return obj[name];\n };\n const getAttrNesting = (obj, name) => {\n if (!obj) return;\n var part, names = name.split(\".\");\n while ((part = names.shift()) && (obj = obj[part])) ;\n return obj;\n };\n const scoreValue = (value, token, weight) => {\n var score, pos;\n if (!value) return 0;\n value = value + \"\";\n if (token.regex == null) return 0;\n pos = value.search(token.regex);\n if (pos === -1) return 0;\n score = token.string.length / value.length;\n if (pos === 0) score += 0.5;\n return score * weight;\n };\n const propToArray = (obj, key) => {\n var value = obj[key];\n if (typeof value == \"function\") return value;\n if (value && !Array.isArray(value)) {\n obj[key] = [value];\n }\n };\n const iterate$1 = (object, callback) => {\n if (Array.isArray(object)) {\n object.forEach(callback);\n } else {\n for (var key in object) {\n if (object.hasOwnProperty(key)) {\n callback(object[key], key);\n }\n }\n }\n };\n const cmp = (a, b) => {\n if (typeof a === \"number\" && typeof b === \"number\") {\n return a > b ? 1 : a < b ? -1 : 0;\n }\n a = asciifold(a + \"\").toLowerCase();\n b = asciifold(b + \"\").toLowerCase();\n if (a > b) return 1;\n if (b > a) return -1;\n return 0;\n };\n class Sifter {\n // []|{};\n /**\n * Textually searches arrays and hashes of objects\n * by property (or multiple properties). Designed\n * specifically for autocomplete.\n *\n */\n constructor(items, settings) {\n this.items = void 0;\n this.settings = void 0;\n this.items = items;\n this.settings = settings || {\n diacritics: true\n };\n }\n /**\n * Splits a search string into an array of individual\n * regexps to be used to match results.\n *\n */\n tokenize(query, respect_word_boundaries, weights) {\n if (!query || !query.length) return [];\n const tokens = [];\n const words = query.split(/\\s+/);\n var field_regex;\n if (weights) {\n field_regex = new RegExp(\"^(\" + Object.keys(weights).map(escape_regex).join(\"|\") + \"):(.*)$\");\n }\n words.forEach((word) => {\n let field_match;\n let field = null;\n let regex = null;\n if (field_regex && (field_match = word.match(field_regex))) {\n field = field_match[1];\n word = field_match[2];\n }\n if (word.length > 0) {\n if (this.settings.diacritics) {\n regex = getPattern(word) || null;\n } else {\n regex = escape_regex(word);\n }\n if (regex && respect_word_boundaries) regex = \"\\\\b\" + regex;\n }\n tokens.push({\n string: word,\n regex: regex ? new RegExp(regex, \"iu\") : null,\n field\n });\n });\n return tokens;\n }\n /**\n * Returns a function to be used to score individual results.\n *\n * Good matches will have a higher score than poor matches.\n * If an item is not a match, 0 will be returned by the function.\n *\n * @returns {T.ScoreFn}\n */\n getScoreFunction(query, options) {\n var search = this.prepareSearch(query, options);\n return this._getScoreFunction(search);\n }\n /**\n * @returns {T.ScoreFn}\n *\n */\n _getScoreFunction(search) {\n const tokens = search.tokens, token_count = tokens.length;\n if (!token_count) {\n return function() {\n return 0;\n };\n }\n const fields = search.options.fields, weights = search.weights, field_count = fields.length, getAttrFn = search.getAttrFn;\n if (!field_count) {\n return function() {\n return 1;\n };\n }\n const scoreObject = function() {\n if (field_count === 1) {\n return function(token, data) {\n const field = fields[0].field;\n return scoreValue(getAttrFn(data, field), token, weights[field] || 1);\n };\n }\n return function(token, data) {\n var sum = 0;\n if (token.field) {\n const value = getAttrFn(data, token.field);\n if (!token.regex && value) {\n sum += 1 / field_count;\n } else {\n sum += scoreValue(value, token, 1);\n }\n } else {\n iterate$1(weights, (weight, field) => {\n sum += scoreValue(getAttrFn(data, field), token, weight);\n });\n }\n return sum / field_count;\n };\n }();\n if (token_count === 1) {\n return function(data) {\n return scoreObject(tokens[0], data);\n };\n }\n if (search.options.conjunction === \"and\") {\n return function(data) {\n var score, sum = 0;\n for (let token of tokens) {\n score = scoreObject(token, data);\n if (score <= 0) return 0;\n sum += score;\n }\n return sum / token_count;\n };\n } else {\n return function(data) {\n var sum = 0;\n iterate$1(tokens, (token) => {\n sum += scoreObject(token, data);\n });\n return sum / token_count;\n };\n }\n }\n /**\n * Returns a function that can be used to compare two\n * results, for sorting purposes. If no sorting should\n * be performed, `null` will be returned.\n *\n * @return function(a,b)\n */\n getSortFunction(query, options) {\n var search = this.prepareSearch(query, options);\n return this._getSortFunction(search);\n }\n _getSortFunction(search) {\n var implicit_score, sort_flds = [];\n const self2 = this, options = search.options, sort = !search.query && options.sort_empty ? options.sort_empty : options.sort;\n if (typeof sort == \"function\") {\n return sort.bind(this);\n }\n const get_field = function get_field2(name, result) {\n if (name === \"$score\") return result.score;\n return search.getAttrFn(self2.items[result.id], name);\n };\n if (sort) {\n for (let s of sort) {\n if (search.query || s.field !== \"$score\") {\n sort_flds.push(s);\n }\n }\n }\n if (search.query) {\n implicit_score = true;\n for (let fld of sort_flds) {\n if (fld.field === \"$score\") {\n implicit_score = false;\n break;\n }\n }\n if (implicit_score) {\n sort_flds.unshift({\n field: \"$score\",\n direction: \"desc\"\n });\n }\n } else {\n sort_flds = sort_flds.filter((fld) => fld.field !== \"$score\");\n }\n const sort_flds_count = sort_flds.length;\n if (!sort_flds_count) {\n return null;\n }\n return function(a, b) {\n var result, field;\n for (let sort_fld of sort_flds) {\n field = sort_fld.field;\n let multiplier = sort_fld.direction === \"desc\" ? -1 : 1;\n result = multiplier * cmp(get_field(field, a), get_field(field, b));\n if (result) return result;\n }\n return 0;\n };\n }\n /**\n * Parses a search query and returns an object\n * with tokens and fields ready to be populated\n * with results.\n *\n */\n prepareSearch(query, optsUser) {\n const weights = {};\n var options = Object.assign({}, optsUser);\n propToArray(options, \"sort\");\n propToArray(options, \"sort_empty\");\n if (options.fields) {\n propToArray(options, \"fields\");\n const fields = [];\n options.fields.forEach((field) => {\n if (typeof field == \"string\") {\n field = {\n field,\n weight: 1\n };\n }\n fields.push(field);\n weights[field.field] = \"weight\" in field ? field.weight : 1;\n });\n options.fields = fields;\n }\n return {\n options,\n query: query.toLowerCase().trim(),\n tokens: this.tokenize(query, options.respect_word_boundaries, weights),\n total: 0,\n items: [],\n weights,\n getAttrFn: options.nesting ? getAttrNesting : getAttr\n };\n }\n /**\n * Searches through all items and returns a sorted array of matches.\n *\n */\n search(query, options) {\n var self2 = this, score, search;\n search = this.prepareSearch(query, options);\n options = search.options;\n query = search.query;\n const fn_score = options.score || self2._getScoreFunction(search);\n if (query.length) {\n iterate$1(self2.items, (item, id) => {\n score = fn_score(item);\n if (options.filter === false || score > 0) {\n search.items.push({\n \"score\": score,\n \"id\": id\n });\n }\n });\n } else {\n iterate$1(self2.items, (_, id) => {\n search.items.push({\n \"score\": 1,\n \"id\": id\n });\n });\n }\n const fn_sort = self2._getSortFunction(search);\n if (fn_sort) search.items.sort(fn_sort);\n search.total = search.items.length;\n if (typeof options.limit === \"number\") {\n search.items = search.items.slice(0, options.limit);\n }\n return search;\n }\n }\n const iterate = (object, callback) => {\n if (Array.isArray(object)) {\n object.forEach(callback);\n } else {\n for (var key in object) {\n if (object.hasOwnProperty(key)) {\n callback(object[key], key);\n }\n }\n }\n };\n const getDom = (query) => {\n if (query.jquery) {\n return query[0];\n }\n if (query instanceof HTMLElement) {\n return query;\n }\n if (isHtmlString(query)) {\n var tpl = document.createElement(\"template\");\n tpl.innerHTML = query.trim();\n return tpl.content.firstChild;\n }\n return document.querySelector(query);\n };\n const isHtmlString = (arg) => {\n if (typeof arg === \"string\" && arg.indexOf(\"<\") > -1) {\n return true;\n }\n return false;\n };\n const escapeQuery = (query) => {\n return query.replace(/['\"\\\\]/g, \"\\\\$&\");\n };\n const triggerEvent = (dom_el, event_name) => {\n var event = document.createEvent(\"HTMLEvents\");\n event.initEvent(event_name, true, false);\n dom_el.dispatchEvent(event);\n };\n const applyCSS = (dom_el, css) => {\n Object.assign(dom_el.style, css);\n };\n const addClasses = (elmts, ...classes) => {\n var norm_classes = classesArray(classes);\n elmts = castAsArray(elmts);\n elmts.map((el) => {\n norm_classes.map((cls) => {\n el.classList.add(cls);\n });\n });\n };\n const removeClasses = (elmts, ...classes) => {\n var norm_classes = classesArray(classes);\n elmts = castAsArray(elmts);\n elmts.map((el) => {\n norm_classes.map((cls) => {\n el.classList.remove(cls);\n });\n });\n };\n const classesArray = (args) => {\n var classes = [];\n iterate(args, (_classes) => {\n if (typeof _classes === \"string\") {\n _classes = _classes.trim().split(/[\\11\\12\\14\\15\\40]/);\n }\n if (Array.isArray(_classes)) {\n classes = classes.concat(_classes);\n }\n });\n return classes.filter(Boolean);\n };\n const castAsArray = (arg) => {\n if (!Array.isArray(arg)) {\n arg = [arg];\n }\n return arg;\n };\n const parentMatch = (target, selector, wrapper) => {\n if (wrapper && !wrapper.contains(target)) {\n return;\n }\n while (target && target.matches) {\n if (target.matches(selector)) {\n return target;\n }\n target = target.parentNode;\n }\n };\n const getTail = (list, direction = 0) => {\n if (direction > 0) {\n return list[list.length - 1];\n }\n return list[0];\n };\n const isEmptyObject = (obj) => {\n return Object.keys(obj).length === 0;\n };\n const nodeIndex = (el, amongst) => {\n if (!el) return -1;\n amongst = amongst || el.nodeName;\n var i = 0;\n while (el = el.previousElementSibling) {\n if (el.matches(amongst)) {\n i++;\n }\n }\n return i;\n };\n const setAttr = (el, attrs) => {\n iterate(attrs, (val, attr) => {\n if (val == null) {\n el.removeAttribute(attr);\n } else {\n el.setAttribute(attr, \"\" + val);\n }\n });\n };\n const replaceNode = (existing, replacement) => {\n if (existing.parentNode) existing.parentNode.replaceChild(replacement, existing);\n };\n const highlight = (element, regex) => {\n if (regex === null) return;\n if (typeof regex === \"string\") {\n if (!regex.length) return;\n regex = new RegExp(regex, \"i\");\n }\n const highlightText = (node) => {\n var match = node.data.match(regex);\n if (match && node.data.length > 0) {\n var spannode = document.createElement(\"span\");\n spannode.className = \"highlight\";\n var middlebit = node.splitText(match.index);\n middlebit.splitText(match[0].length);\n var middleclone = middlebit.cloneNode(true);\n spannode.appendChild(middleclone);\n replaceNode(middlebit, spannode);\n return 1;\n }\n return 0;\n };\n const highlightChildren = (node) => {\n if (node.nodeType === 1 && node.childNodes && !/(script|style)/i.test(node.tagName) && (node.className !== \"highlight\" || node.tagName !== \"SPAN\")) {\n Array.from(node.childNodes).forEach((element2) => {\n highlightRecursive(element2);\n });\n }\n };\n const highlightRecursive = (node) => {\n if (node.nodeType === 3) {\n return highlightText(node);\n }\n highlightChildren(node);\n return 0;\n };\n highlightRecursive(element);\n };\n const removeHighlight = (el) => {\n var elements = el.querySelectorAll(\"span.highlight\");\n Array.prototype.forEach.call(elements, function(el2) {\n var parent = el2.parentNode;\n parent.replaceChild(el2.firstChild, el2);\n parent.normalize();\n });\n };\n const KEY_A = 65;\n const KEY_RETURN = 13;\n const KEY_ESC = 27;\n const KEY_LEFT = 37;\n const KEY_UP = 38;\n const KEY_RIGHT = 39;\n const KEY_DOWN = 40;\n const KEY_BACKSPACE = 8;\n const KEY_DELETE = 46;\n const KEY_TAB = 9;\n const IS_MAC = typeof navigator === \"undefined\" ? false : /Mac/.test(navigator.userAgent);\n const KEY_SHORTCUT = IS_MAC ? \"metaKey\" : \"ctrlKey\";\n var defaults = {\n options: [],\n optgroups: [],\n plugins: [],\n delimiter: \",\",\n splitOn: null,\n // regexp or string for splitting up values from a paste command\n persist: true,\n diacritics: true,\n create: null,\n createOnBlur: false,\n createFilter: null,\n highlight: true,\n openOnFocus: true,\n shouldOpen: null,\n maxOptions: 50,\n maxItems: null,\n hideSelected: null,\n duplicates: false,\n addPrecedence: false,\n selectOnTab: false,\n preload: null,\n allowEmptyOption: false,\n //closeAfterSelect: false,\n refreshThrottle: 300,\n loadThrottle: 300,\n loadingClass: \"loading\",\n dataAttr: null,\n //'data-data',\n optgroupField: \"optgroup\",\n valueField: \"value\",\n labelField: \"text\",\n disabledField: \"disabled\",\n optgroupLabelField: \"label\",\n optgroupValueField: \"value\",\n lockOptgroupOrder: false,\n sortField: \"$order\",\n searchField: [\"text\"],\n searchConjunction: \"and\",\n mode: null,\n wrapperClass: \"ts-wrapper\",\n controlClass: \"ts-control\",\n dropdownClass: \"ts-dropdown\",\n dropdownContentClass: \"ts-dropdown-content\",\n itemClass: \"item\",\n optionClass: \"option\",\n dropdownParent: null,\n controlInput: '',\n copyClassesToDropdown: false,\n placeholder: null,\n hidePlaceholder: null,\n shouldLoad: function(query) {\n return query.length > 0;\n },\n /*\n load : null, // function(query, callback) { ... }\n score : null, // function(search) { ... }\n onInitialize : null, // function() { ... }\n onChange : null, // function(value) { ... }\n onItemAdd : null, // function(value, $item) { ... }\n onItemRemove : null, // function(value) { ... }\n onClear : null, // function() { ... }\n onOptionAdd : null, // function(value, data) { ... }\n onOptionRemove : null, // function(value) { ... }\n onOptionClear : null, // function() { ... }\n onOptionGroupAdd : null, // function(id, data) { ... }\n onOptionGroupRemove : null, // function(id) { ... }\n onOptionGroupClear : null, // function() { ... }\n onDropdownOpen : null, // function(dropdown) { ... }\n onDropdownClose : null, // function(dropdown) { ... }\n onType : null, // function(str) { ... }\n onDelete : null, // function(values) { ... }\n */\n render: {\n /*\n item: null,\n optgroup: null,\n optgroup_header: null,\n option: null,\n option_create: null\n */\n }\n };\n const hash_key = (value) => {\n if (typeof value === \"undefined\" || value === null) return null;\n return get_hash(value);\n };\n const get_hash = (value) => {\n if (typeof value === \"boolean\") return value ? \"1\" : \"0\";\n return value + \"\";\n };\n const escape_html = (str) => {\n return (str + \"\").replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\");\n };\n const timeout = (fn, timeout2) => {\n if (timeout2 > 0) {\n return setTimeout(fn, timeout2);\n }\n fn.call(null);\n return null;\n };\n const loadDebounce = (fn, delay) => {\n var timeout2;\n return function(value, callback) {\n var self2 = this;\n if (timeout2) {\n self2.loading = Math.max(self2.loading - 1, 0);\n clearTimeout(timeout2);\n }\n timeout2 = setTimeout(function() {\n timeout2 = null;\n self2.loadedSearches[value] = true;\n fn.call(self2, value, callback);\n }, delay);\n };\n };\n const debounce_events = (self2, types, fn) => {\n var type;\n var trigger = self2.trigger;\n var event_args = {};\n self2.trigger = function() {\n var type2 = arguments[0];\n if (types.indexOf(type2) !== -1) {\n event_args[type2] = arguments;\n } else {\n return trigger.apply(self2, arguments);\n }\n };\n fn.apply(self2, []);\n self2.trigger = trigger;\n for (type of types) {\n if (type in event_args) {\n trigger.apply(self2, event_args[type]);\n }\n }\n };\n const getSelection = (input) => {\n return {\n start: input.selectionStart || 0,\n length: (input.selectionEnd || 0) - (input.selectionStart || 0)\n };\n };\n const preventDefault = (evt, stop = false) => {\n if (evt) {\n evt.preventDefault();\n if (stop) {\n evt.stopPropagation();\n }\n }\n };\n const addEvent = (target, type, callback, options) => {\n target.addEventListener(type, callback, options);\n };\n const isKeyDown = (key_name, evt) => {\n if (!evt) {\n return false;\n }\n if (!evt[key_name]) {\n return false;\n }\n var count = (evt.altKey ? 1 : 0) + (evt.ctrlKey ? 1 : 0) + (evt.shiftKey ? 1 : 0) + (evt.metaKey ? 1 : 0);\n if (count === 1) {\n return true;\n }\n return false;\n };\n const getId = (el, id) => {\n const existing_id = el.getAttribute(\"id\");\n if (existing_id) {\n return existing_id;\n }\n el.setAttribute(\"id\", id);\n return id;\n };\n const addSlashes = (str) => {\n return str.replace(/[\\\\\"']/g, \"\\\\$&\");\n };\n const append = (parent, node) => {\n if (node) parent.append(node);\n };\n function getSettings(input, settings_user) {\n var settings = Object.assign({}, defaults, settings_user);\n var attr_data = settings.dataAttr;\n var field_label = settings.labelField;\n var field_value = settings.valueField;\n var field_disabled = settings.disabledField;\n var field_optgroup = settings.optgroupField;\n var field_optgroup_label = settings.optgroupLabelField;\n var field_optgroup_value = settings.optgroupValueField;\n var tag_name = input.tagName.toLowerCase();\n var placeholder = input.getAttribute(\"placeholder\") || input.getAttribute(\"data-placeholder\");\n if (!placeholder && !settings.allowEmptyOption) {\n let option = input.querySelector('option[value=\"\"]');\n if (option) {\n placeholder = option.textContent;\n }\n }\n var settings_element = {\n placeholder,\n options: [],\n optgroups: [],\n items: [],\n maxItems: null\n };\n var init_select = () => {\n var tagName;\n var options = settings_element.options;\n var optionsMap = {};\n var group_count = 1;\n let $order = 0;\n var readData = (el) => {\n var data = Object.assign({}, el.dataset);\n var json = attr_data && data[attr_data];\n if (typeof json === \"string\" && json.length) {\n data = Object.assign(data, JSON.parse(json));\n }\n return data;\n };\n var addOption = (option, group) => {\n var value = hash_key(option.value);\n if (value == null) return;\n if (!value && !settings.allowEmptyOption) return;\n if (optionsMap.hasOwnProperty(value)) {\n if (group) {\n var arr = optionsMap[value][field_optgroup];\n if (!arr) {\n optionsMap[value][field_optgroup] = group;\n } else if (!Array.isArray(arr)) {\n optionsMap[value][field_optgroup] = [arr, group];\n } else {\n arr.push(group);\n }\n }\n } else {\n var option_data = readData(option);\n option_data[field_label] = option_data[field_label] || option.textContent;\n option_data[field_value] = option_data[field_value] || value;\n option_data[field_disabled] = option_data[field_disabled] || option.disabled;\n option_data[field_optgroup] = option_data[field_optgroup] || group;\n option_data.$option = option;\n option_data.$order = option_data.$order || ++$order;\n optionsMap[value] = option_data;\n options.push(option_data);\n }\n if (option.selected) {\n settings_element.items.push(value);\n }\n };\n var addGroup = (optgroup) => {\n var id, optgroup_data;\n optgroup_data = readData(optgroup);\n optgroup_data[field_optgroup_label] = optgroup_data[field_optgroup_label] || optgroup.getAttribute(\"label\") || \"\";\n optgroup_data[field_optgroup_value] = optgroup_data[field_optgroup_value] || group_count++;\n optgroup_data[field_disabled] = optgroup_data[field_disabled] || optgroup.disabled;\n optgroup_data.$order = optgroup_data.$order || ++$order;\n settings_element.optgroups.push(optgroup_data);\n id = optgroup_data[field_optgroup_value];\n iterate(optgroup.children, (option) => {\n addOption(option, id);\n });\n };\n settings_element.maxItems = input.hasAttribute(\"multiple\") ? null : 1;\n iterate(input.children, (child) => {\n tagName = child.tagName.toLowerCase();\n if (tagName === \"optgroup\") {\n addGroup(child);\n } else if (tagName === \"option\") {\n addOption(child);\n }\n });\n };\n var init_textbox = () => {\n const data_raw = input.getAttribute(attr_data);\n if (!data_raw) {\n var value = input.value.trim() || \"\";\n if (!settings.allowEmptyOption && !value.length) return;\n const values = value.split(settings.delimiter);\n iterate(values, (value2) => {\n const option = {};\n option[field_label] = value2;\n option[field_value] = value2;\n settings_element.options.push(option);\n });\n settings_element.items = values;\n } else {\n settings_element.options = JSON.parse(data_raw);\n iterate(settings_element.options, (opt) => {\n settings_element.items.push(opt[field_value]);\n });\n }\n };\n if (tag_name === \"select\") {\n init_select();\n } else {\n init_textbox();\n }\n return Object.assign({}, defaults, settings_element, settings_user);\n }\n var instance_i = 0;\n class TomSelect3 extends MicroPlugin(MicroEvent) {\n constructor(input_arg, user_settings) {\n super();\n this.control_input = void 0;\n this.wrapper = void 0;\n this.dropdown = void 0;\n this.control = void 0;\n this.dropdown_content = void 0;\n this.focus_node = void 0;\n this.order = 0;\n this.settings = void 0;\n this.input = void 0;\n this.tabIndex = void 0;\n this.is_select_tag = void 0;\n this.rtl = void 0;\n this.inputId = void 0;\n this._destroy = void 0;\n this.sifter = void 0;\n this.isOpen = false;\n this.isDisabled = false;\n this.isReadOnly = false;\n this.isRequired = void 0;\n this.isInvalid = false;\n this.isValid = true;\n this.isLocked = false;\n this.isFocused = false;\n this.isInputHidden = false;\n this.isSetup = false;\n this.ignoreFocus = false;\n this.ignoreHover = false;\n this.hasOptions = false;\n this.currentResults = void 0;\n this.lastValue = \"\";\n this.caretPos = 0;\n this.loading = 0;\n this.loadedSearches = {};\n this.activeOption = null;\n this.activeItems = [];\n this.optgroups = {};\n this.options = {};\n this.userOptions = {};\n this.items = [];\n this.refreshTimeout = null;\n instance_i++;\n var dir;\n var input = getDom(input_arg);\n if (input.tomselect) {\n throw new Error(\"Tom Select already initialized on this element\");\n }\n input.tomselect = this;\n var computedStyle = window.getComputedStyle && window.getComputedStyle(input, null);\n dir = computedStyle.getPropertyValue(\"direction\");\n const settings = getSettings(input, user_settings);\n this.settings = settings;\n this.input = input;\n this.tabIndex = input.tabIndex || 0;\n this.is_select_tag = input.tagName.toLowerCase() === \"select\";\n this.rtl = /rtl/i.test(dir);\n this.inputId = getId(input, \"tomselect-\" + instance_i);\n this.isRequired = input.required;\n this.sifter = new Sifter(this.options, {\n diacritics: settings.diacritics\n });\n settings.mode = settings.mode || (settings.maxItems === 1 ? \"single\" : \"multi\");\n if (typeof settings.hideSelected !== \"boolean\") {\n settings.hideSelected = settings.mode === \"multi\";\n }\n if (typeof settings.hidePlaceholder !== \"boolean\") {\n settings.hidePlaceholder = settings.mode !== \"multi\";\n }\n var filter = settings.createFilter;\n if (typeof filter !== \"function\") {\n if (typeof filter === \"string\") {\n filter = new RegExp(filter);\n }\n if (filter instanceof RegExp) {\n settings.createFilter = (input2) => filter.test(input2);\n } else {\n settings.createFilter = (value) => {\n return this.settings.duplicates || !this.options[value];\n };\n }\n }\n this.initializePlugins(settings.plugins);\n this.setupCallbacks();\n this.setupTemplates();\n const wrapper = getDom(\"
\");\n const control = getDom(\"
\");\n const dropdown = this._render(\"dropdown\");\n const dropdown_content = getDom(`
`);\n const classes = this.input.getAttribute(\"class\") || \"\";\n const inputMode = settings.mode;\n var control_input;\n addClasses(wrapper, settings.wrapperClass, classes, inputMode);\n addClasses(control, settings.controlClass);\n append(wrapper, control);\n addClasses(dropdown, settings.dropdownClass, inputMode);\n if (settings.copyClassesToDropdown) {\n addClasses(dropdown, classes);\n }\n addClasses(dropdown_content, settings.dropdownContentClass);\n append(dropdown, dropdown_content);\n getDom(settings.dropdownParent || wrapper).appendChild(dropdown);\n if (isHtmlString(settings.controlInput)) {\n control_input = getDom(settings.controlInput);\n var attrs = [\"autocorrect\", \"autocapitalize\", \"autocomplete\", \"spellcheck\"];\n iterate$1(attrs, (attr) => {\n if (input.getAttribute(attr)) {\n setAttr(control_input, {\n [attr]: input.getAttribute(attr)\n });\n }\n });\n control_input.tabIndex = -1;\n control.appendChild(control_input);\n this.focus_node = control_input;\n } else if (settings.controlInput) {\n control_input = getDom(settings.controlInput);\n this.focus_node = control_input;\n } else {\n control_input = getDom(\"\");\n this.focus_node = control;\n }\n this.wrapper = wrapper;\n this.dropdown = dropdown;\n this.dropdown_content = dropdown_content;\n this.control = control;\n this.control_input = control_input;\n this.setup();\n }\n /**\n * set up event bindings.\n *\n */\n setup() {\n const self2 = this;\n const settings = self2.settings;\n const control_input = self2.control_input;\n const dropdown = self2.dropdown;\n const dropdown_content = self2.dropdown_content;\n const wrapper = self2.wrapper;\n const control = self2.control;\n const input = self2.input;\n const focus_node = self2.focus_node;\n const passive_event = {\n passive: true\n };\n const listboxId = self2.inputId + \"-ts-dropdown\";\n setAttr(dropdown_content, {\n id: listboxId\n });\n setAttr(focus_node, {\n role: \"combobox\",\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": \"false\",\n \"aria-controls\": listboxId\n });\n const control_id = getId(focus_node, self2.inputId + \"-ts-control\");\n const query = \"label[for='\" + escapeQuery(self2.inputId) + \"']\";\n const label = document.querySelector(query);\n const label_click = self2.focus.bind(self2);\n if (label) {\n addEvent(label, \"click\", label_click);\n setAttr(label, {\n for: control_id\n });\n const label_id = getId(label, self2.inputId + \"-ts-label\");\n setAttr(focus_node, {\n \"aria-labelledby\": label_id\n });\n setAttr(dropdown_content, {\n \"aria-labelledby\": label_id\n });\n }\n wrapper.style.width = input.style.width;\n if (self2.plugins.names.length) {\n const classes_plugins = \"plugin-\" + self2.plugins.names.join(\" plugin-\");\n addClasses([wrapper, dropdown], classes_plugins);\n }\n if ((settings.maxItems === null || settings.maxItems > 1) && self2.is_select_tag) {\n setAttr(input, {\n multiple: \"multiple\"\n });\n }\n if (settings.placeholder) {\n setAttr(control_input, {\n placeholder: settings.placeholder\n });\n }\n if (!settings.splitOn && settings.delimiter) {\n settings.splitOn = new RegExp(\"\\\\s*\" + escape_regex(settings.delimiter) + \"+\\\\s*\");\n }\n if (settings.load && settings.loadThrottle) {\n settings.load = loadDebounce(settings.load, settings.loadThrottle);\n }\n addEvent(dropdown, \"mousemove\", () => {\n self2.ignoreHover = false;\n });\n addEvent(dropdown, \"mouseenter\", (e2) => {\n var target_match = parentMatch(e2.target, \"[data-selectable]\", dropdown);\n if (target_match) self2.onOptionHover(e2, target_match);\n }, {\n capture: true\n });\n addEvent(dropdown, \"click\", (evt) => {\n const option = parentMatch(evt.target, \"[data-selectable]\");\n if (option) {\n self2.onOptionSelect(evt, option);\n preventDefault(evt, true);\n }\n });\n addEvent(control, \"click\", (evt) => {\n var target_match = parentMatch(evt.target, \"[data-ts-item]\", control);\n if (target_match && self2.onItemSelect(evt, target_match)) {\n preventDefault(evt, true);\n return;\n }\n if (control_input.value != \"\") {\n return;\n }\n self2.onClick();\n preventDefault(evt, true);\n });\n addEvent(focus_node, \"keydown\", (e2) => self2.onKeyDown(e2));\n addEvent(control_input, \"keypress\", (e2) => self2.onKeyPress(e2));\n addEvent(control_input, \"input\", (e2) => self2.onInput(e2));\n addEvent(focus_node, \"blur\", (e2) => self2.onBlur(e2));\n addEvent(focus_node, \"focus\", (e2) => self2.onFocus(e2));\n addEvent(control_input, \"paste\", (e2) => self2.onPaste(e2));\n const doc_mousedown = (evt) => {\n const target = evt.composedPath()[0];\n if (!wrapper.contains(target) && !dropdown.contains(target)) {\n if (self2.isFocused) {\n self2.blur();\n }\n self2.inputState();\n return;\n }\n if (target == control_input && self2.isOpen) {\n evt.stopPropagation();\n } else {\n preventDefault(evt, true);\n }\n };\n const win_scroll = () => {\n if (self2.isOpen) {\n self2.positionDropdown();\n }\n };\n addEvent(document, \"mousedown\", doc_mousedown);\n addEvent(window, \"scroll\", win_scroll, passive_event);\n addEvent(window, \"resize\", win_scroll, passive_event);\n this._destroy = () => {\n document.removeEventListener(\"mousedown\", doc_mousedown);\n window.removeEventListener(\"scroll\", win_scroll);\n window.removeEventListener(\"resize\", win_scroll);\n if (label) label.removeEventListener(\"click\", label_click);\n };\n this.revertSettings = {\n innerHTML: input.innerHTML,\n tabIndex: input.tabIndex\n };\n input.tabIndex = -1;\n input.insertAdjacentElement(\"afterend\", self2.wrapper);\n self2.sync(false);\n settings.items = [];\n delete settings.optgroups;\n delete settings.options;\n addEvent(input, \"invalid\", () => {\n if (self2.isValid) {\n self2.isValid = false;\n self2.isInvalid = true;\n self2.refreshState();\n }\n });\n self2.updateOriginalInput();\n self2.refreshItems();\n self2.close(false);\n self2.inputState();\n self2.isSetup = true;\n if (input.disabled) {\n self2.disable();\n } else if (input.readOnly) {\n self2.setReadOnly(true);\n } else {\n self2.enable();\n }\n self2.on(\"change\", this.onChange);\n addClasses(input, \"tomselected\", \"ts-hidden-accessible\");\n self2.trigger(\"initialize\");\n if (settings.preload === true) {\n self2.preload();\n }\n }\n /**\n * Register options and optgroups\n *\n */\n setupOptions(options = [], optgroups = []) {\n this.addOptions(options);\n iterate$1(optgroups, (optgroup) => {\n this.registerOptionGroup(optgroup);\n });\n }\n /**\n * Sets up default rendering functions.\n */\n setupTemplates() {\n var self2 = this;\n var field_label = self2.settings.labelField;\n var field_optgroup = self2.settings.optgroupLabelField;\n var templates = {\n \"optgroup\": (data) => {\n let optgroup = document.createElement(\"div\");\n optgroup.className = \"optgroup\";\n optgroup.appendChild(data.options);\n return optgroup;\n },\n \"optgroup_header\": (data, escape) => {\n return '
' + escape(data[field_optgroup]) + \"
\";\n },\n \"option\": (data, escape) => {\n return \"
\" + escape(data[field_label]) + \"
\";\n },\n \"item\": (data, escape) => {\n return \"
\" + escape(data[field_label]) + \"
\";\n },\n \"option_create\": (data, escape) => {\n return '
Add ' + escape(data.input) + \"
\";\n },\n \"no_results\": () => {\n return '
No results found
';\n },\n \"loading\": () => {\n return '
';\n },\n \"not_loading\": () => {\n },\n \"dropdown\": () => {\n return \"
\";\n }\n };\n self2.settings.render = Object.assign({}, templates, self2.settings.render);\n }\n /**\n * Maps fired events to callbacks provided\n * in the settings used when creating the control.\n */\n setupCallbacks() {\n var key, fn;\n var callbacks = {\n \"initialize\": \"onInitialize\",\n \"change\": \"onChange\",\n \"item_add\": \"onItemAdd\",\n \"item_remove\": \"onItemRemove\",\n \"item_select\": \"onItemSelect\",\n \"clear\": \"onClear\",\n \"option_add\": \"onOptionAdd\",\n \"option_remove\": \"onOptionRemove\",\n \"option_clear\": \"onOptionClear\",\n \"optgroup_add\": \"onOptionGroupAdd\",\n \"optgroup_remove\": \"onOptionGroupRemove\",\n \"optgroup_clear\": \"onOptionGroupClear\",\n \"dropdown_open\": \"onDropdownOpen\",\n \"dropdown_close\": \"onDropdownClose\",\n \"type\": \"onType\",\n \"load\": \"onLoad\",\n \"focus\": \"onFocus\",\n \"blur\": \"onBlur\"\n };\n for (key in callbacks) {\n fn = this.settings[callbacks[key]];\n if (fn) this.on(key, fn);\n }\n }\n /**\n * Sync the Tom Select instance with the original input or select\n *\n */\n sync(get_settings = true) {\n const self2 = this;\n const settings = get_settings ? getSettings(self2.input, {\n delimiter: self2.settings.delimiter\n }) : self2.settings;\n self2.setupOptions(settings.options, settings.optgroups);\n self2.setValue(settings.items || [], true);\n self2.lastQuery = null;\n }\n /**\n * Triggered when the main control element\n * has a click event.\n *\n */\n onClick() {\n var self2 = this;\n if (self2.activeItems.length > 0) {\n self2.clearActiveItems();\n self2.focus();\n return;\n }\n if (self2.isFocused && self2.isOpen) {\n self2.blur();\n } else {\n self2.focus();\n }\n }\n /**\n * @deprecated v1.7\n *\n */\n onMouseDown() {\n }\n /**\n * Triggered when the value of the control has been changed.\n * This should propagate the event to the original DOM\n * input / select element.\n */\n onChange() {\n triggerEvent(this.input, \"input\");\n triggerEvent(this.input, \"change\");\n }\n /**\n * Triggered on paste.\n *\n */\n onPaste(e2) {\n var self2 = this;\n if (self2.isInputHidden || self2.isLocked) {\n preventDefault(e2);\n return;\n }\n if (!self2.settings.splitOn) {\n return;\n }\n setTimeout(() => {\n var pastedText = self2.inputValue();\n if (!pastedText.match(self2.settings.splitOn)) {\n return;\n }\n var splitInput = pastedText.trim().split(self2.settings.splitOn);\n iterate$1(splitInput, (piece) => {\n const hash = hash_key(piece);\n if (hash) {\n if (this.options[piece]) {\n self2.addItem(piece);\n } else {\n self2.createItem(piece);\n }\n }\n });\n }, 0);\n }\n /**\n * Triggered on keypress.\n *\n */\n onKeyPress(e2) {\n var self2 = this;\n if (self2.isLocked) {\n preventDefault(e2);\n return;\n }\n var character = String.fromCharCode(e2.keyCode || e2.which);\n if (self2.settings.create && self2.settings.mode === \"multi\" && character === self2.settings.delimiter) {\n self2.createItem();\n preventDefault(e2);\n return;\n }\n }\n /**\n * Triggered on keydown.\n *\n */\n onKeyDown(e2) {\n var self2 = this;\n self2.ignoreHover = true;\n if (self2.isLocked) {\n if (e2.keyCode !== KEY_TAB) {\n preventDefault(e2);\n }\n return;\n }\n switch (e2.keyCode) {\n // ctrl+A: select all\n case KEY_A:\n if (isKeyDown(KEY_SHORTCUT, e2)) {\n if (self2.control_input.value == \"\") {\n preventDefault(e2);\n self2.selectAll();\n return;\n }\n }\n break;\n // esc: close dropdown\n case KEY_ESC:\n if (self2.isOpen) {\n preventDefault(e2, true);\n self2.close();\n }\n self2.clearActiveItems();\n return;\n // down: open dropdown or move selection down\n case KEY_DOWN:\n if (!self2.isOpen && self2.hasOptions) {\n self2.open();\n } else if (self2.activeOption) {\n let next = self2.getAdjacent(self2.activeOption, 1);\n if (next) self2.setActiveOption(next);\n }\n preventDefault(e2);\n return;\n // up: move selection up\n case KEY_UP:\n if (self2.activeOption) {\n let prev = self2.getAdjacent(self2.activeOption, -1);\n if (prev) self2.setActiveOption(prev);\n }\n preventDefault(e2);\n return;\n // return: select active option\n case KEY_RETURN:\n if (self2.canSelect(self2.activeOption)) {\n self2.onOptionSelect(e2, self2.activeOption);\n preventDefault(e2);\n } else if (self2.settings.create && self2.createItem()) {\n preventDefault(e2);\n } else if (document.activeElement == self2.control_input && self2.isOpen) {\n preventDefault(e2);\n }\n return;\n // left: modifiy item selection to the left\n case KEY_LEFT:\n self2.advanceSelection(-1, e2);\n return;\n // right: modifiy item selection to the right\n case KEY_RIGHT:\n self2.advanceSelection(1, e2);\n return;\n // tab: select active option and/or create item\n case KEY_TAB:\n if (self2.settings.selectOnTab) {\n if (self2.canSelect(self2.activeOption)) {\n self2.onOptionSelect(e2, self2.activeOption);\n preventDefault(e2);\n }\n if (self2.settings.create && self2.createItem()) {\n preventDefault(e2);\n }\n }\n return;\n // delete|backspace: delete items\n case KEY_BACKSPACE:\n case KEY_DELETE:\n self2.deleteSelection(e2);\n return;\n }\n if (self2.isInputHidden && !isKeyDown(KEY_SHORTCUT, e2)) {\n preventDefault(e2);\n }\n }\n /**\n * Triggered on keyup.\n *\n */\n onInput(e2) {\n if (this.isLocked) {\n return;\n }\n const value = this.inputValue();\n if (this.lastValue === value) return;\n this.lastValue = value;\n if (value == \"\") {\n this._onInput();\n return;\n }\n if (this.refreshTimeout) {\n clearTimeout(this.refreshTimeout);\n }\n this.refreshTimeout = timeout(() => {\n this.refreshTimeout = null;\n this._onInput();\n }, this.settings.refreshThrottle);\n }\n _onInput() {\n const value = this.lastValue;\n if (this.settings.shouldLoad.call(this, value)) {\n this.load(value);\n }\n this.refreshOptions();\n this.trigger(\"type\", value);\n }\n /**\n * Triggered when the user rolls over\n * an option in the autocomplete dropdown menu.\n *\n */\n onOptionHover(evt, option) {\n if (this.ignoreHover) return;\n this.setActiveOption(option, false);\n }\n /**\n * Triggered on focus.\n *\n */\n onFocus(e2) {\n var self2 = this;\n var wasFocused = self2.isFocused;\n if (self2.isDisabled || self2.isReadOnly) {\n self2.blur();\n preventDefault(e2);\n return;\n }\n if (self2.ignoreFocus) return;\n self2.isFocused = true;\n if (self2.settings.preload === \"focus\") self2.preload();\n if (!wasFocused) self2.trigger(\"focus\");\n if (!self2.activeItems.length) {\n self2.inputState();\n self2.refreshOptions(!!self2.settings.openOnFocus);\n }\n self2.refreshState();\n }\n /**\n * Triggered on blur.\n *\n */\n onBlur(e2) {\n if (document.hasFocus() === false) return;\n var self2 = this;\n if (!self2.isFocused) return;\n self2.isFocused = false;\n self2.ignoreFocus = false;\n var deactivate = () => {\n self2.close();\n self2.setActiveItem();\n self2.setCaret(self2.items.length);\n self2.trigger(\"blur\");\n };\n if (self2.settings.create && self2.settings.createOnBlur) {\n self2.createItem(null, deactivate);\n } else {\n deactivate();\n }\n }\n /**\n * Triggered when the user clicks on an option\n * in the autocomplete dropdown menu.\n *\n */\n onOptionSelect(evt, option) {\n var value, self2 = this;\n if (option.parentElement && option.parentElement.matches(\"[data-disabled]\")) {\n return;\n }\n if (option.classList.contains(\"create\")) {\n self2.createItem(null, () => {\n if (self2.settings.closeAfterSelect) {\n self2.close();\n }\n });\n } else {\n value = option.dataset.value;\n if (typeof value !== \"undefined\") {\n self2.lastQuery = null;\n self2.addItem(value);\n if (self2.settings.closeAfterSelect) {\n self2.close();\n }\n if (!self2.settings.hideSelected && evt.type && /click/.test(evt.type)) {\n self2.setActiveOption(option);\n }\n }\n }\n }\n /**\n * Return true if the given option can be selected\n *\n */\n canSelect(option) {\n if (this.isOpen && option && this.dropdown_content.contains(option)) {\n return true;\n }\n return false;\n }\n /**\n * Triggered when the user clicks on an item\n * that has been selected.\n *\n */\n onItemSelect(evt, item) {\n var self2 = this;\n if (!self2.isLocked && self2.settings.mode === \"multi\") {\n preventDefault(evt);\n self2.setActiveItem(item, evt);\n return true;\n }\n return false;\n }\n /**\n * Determines whether or not to invoke\n * the user-provided option provider / loader\n *\n * Note, there is a subtle difference between\n * this.canLoad() and this.settings.shouldLoad();\n *\n *\t- settings.shouldLoad() is a user-input validator.\n *\tWhen false is returned, the not_loading template\n *\twill be added to the dropdown\n *\n *\t- canLoad() is lower level validator that checks\n * \tthe Tom Select instance. There is no inherent user\n *\tfeedback when canLoad returns false\n *\n */\n canLoad(value) {\n if (!this.settings.load) return false;\n if (this.loadedSearches.hasOwnProperty(value)) return false;\n return true;\n }\n /**\n * Invokes the user-provided option provider / loader.\n *\n */\n load(value) {\n const self2 = this;\n if (!self2.canLoad(value)) return;\n addClasses(self2.wrapper, self2.settings.loadingClass);\n self2.loading++;\n const callback = self2.loadCallback.bind(self2);\n self2.settings.load.call(self2, value, callback);\n }\n /**\n * Invoked by the user-provided option provider\n *\n */\n loadCallback(options, optgroups) {\n const self2 = this;\n self2.loading = Math.max(self2.loading - 1, 0);\n self2.lastQuery = null;\n self2.clearActiveOption();\n self2.setupOptions(options, optgroups);\n self2.refreshOptions(self2.isFocused && !self2.isInputHidden);\n if (!self2.loading) {\n removeClasses(self2.wrapper, self2.settings.loadingClass);\n }\n self2.trigger(\"load\", options, optgroups);\n }\n preload() {\n var classList = this.wrapper.classList;\n if (classList.contains(\"preloaded\")) return;\n classList.add(\"preloaded\");\n this.load(\"\");\n }\n /**\n * Sets the input field of the control to the specified value.\n *\n */\n setTextboxValue(value = \"\") {\n var input = this.control_input;\n var changed = input.value !== value;\n if (changed) {\n input.value = value;\n triggerEvent(input, \"update\");\n this.lastValue = value;\n }\n }\n /**\n * Returns the value of the control. If multiple items\n * can be selected (e.g. or \n * element to reflect the current state.\n *\n */\n updateOriginalInput(opts = {}) {\n const self2 = this;\n var option, label;\n const empty_option = self2.input.querySelector('option[value=\"\"]');\n if (self2.is_select_tag) {\n let AddSelected = function(option_el, value, label2) {\n if (!option_el) {\n option_el = getDom('\");\n }\n if (option_el != empty_option) {\n self2.input.append(option_el);\n }\n selected.push(option_el);\n if (option_el != empty_option || has_selected > 0) {\n option_el.selected = true;\n }\n return option_el;\n };\n const selected = [];\n const has_selected = self2.input.querySelectorAll(\"option:checked\").length;\n self2.input.querySelectorAll(\"option:checked\").forEach((option_el) => {\n option_el.selected = false;\n });\n if (self2.items.length == 0 && self2.settings.mode == \"single\") {\n AddSelected(empty_option, \"\", \"\");\n } else {\n self2.items.forEach((value) => {\n option = self2.options[value];\n label = option[self2.settings.labelField] || \"\";\n if (selected.includes(option.$option)) {\n const reuse_opt = self2.input.querySelector(`option[value=\"${addSlashes(value)}\"]:not(:checked)`);\n AddSelected(reuse_opt, value, label);\n } else {\n option.$option = AddSelected(option.$option, value, label);\n }\n });\n }\n } else {\n self2.input.value = self2.getValue();\n }\n if (self2.isSetup) {\n if (!opts.silent) {\n self2.trigger(\"change\", self2.getValue());\n }\n }\n }\n /**\n * Shows the autocomplete dropdown containing\n * the available options.\n */\n open() {\n var self2 = this;\n if (self2.isLocked || self2.isOpen || self2.settings.mode === \"multi\" && self2.isFull()) return;\n self2.isOpen = true;\n setAttr(self2.focus_node, {\n \"aria-expanded\": \"true\"\n });\n self2.refreshState();\n applyCSS(self2.dropdown, {\n visibility: \"hidden\",\n display: \"block\"\n });\n self2.positionDropdown();\n applyCSS(self2.dropdown, {\n visibility: \"visible\",\n display: \"block\"\n });\n self2.focus();\n self2.trigger(\"dropdown_open\", self2.dropdown);\n }\n /**\n * Closes the autocomplete dropdown menu.\n */\n close(setTextboxValue = true) {\n var self2 = this;\n var trigger = self2.isOpen;\n if (setTextboxValue) {\n self2.setTextboxValue();\n if (self2.settings.mode === \"single\" && self2.items.length) {\n self2.inputState();\n }\n }\n self2.isOpen = false;\n setAttr(self2.focus_node, {\n \"aria-expanded\": \"false\"\n });\n applyCSS(self2.dropdown, {\n display: \"none\"\n });\n if (self2.settings.hideSelected) {\n self2.clearActiveOption();\n }\n self2.refreshState();\n if (trigger) self2.trigger(\"dropdown_close\", self2.dropdown);\n }\n /**\n * Calculates and applies the appropriate\n * position of the dropdown if dropdownParent = 'body'.\n * Otherwise, position is determined by css\n */\n positionDropdown() {\n if (this.settings.dropdownParent !== \"body\") {\n return;\n }\n var context = this.control;\n var rect = context.getBoundingClientRect();\n var top = context.offsetHeight + rect.top + window.scrollY;\n var left = rect.left + window.scrollX;\n applyCSS(this.dropdown, {\n width: rect.width + \"px\",\n top: top + \"px\",\n left: left + \"px\"\n });\n }\n /**\n * Resets / clears all selected items\n * from the control.\n *\n */\n clear(silent) {\n var self2 = this;\n if (!self2.items.length) return;\n var items = self2.controlChildren();\n iterate$1(items, (item) => {\n self2.removeItem(item, true);\n });\n self2.inputState();\n if (!silent) self2.updateOriginalInput();\n self2.trigger(\"clear\");\n }\n /**\n * A helper method for inserting an element\n * at the current caret position.\n *\n */\n insertAtCaret(el) {\n const self2 = this;\n const caret = self2.caretPos;\n const target = self2.control;\n target.insertBefore(el, target.children[caret] || null);\n self2.setCaret(caret + 1);\n }\n /**\n * Removes the current selected item(s).\n *\n */\n deleteSelection(e2) {\n var direction, selection, caret, tail;\n var self2 = this;\n direction = e2 && e2.keyCode === KEY_BACKSPACE ? -1 : 1;\n selection = getSelection(self2.control_input);\n const rm_items = [];\n if (self2.activeItems.length) {\n tail = getTail(self2.activeItems, direction);\n caret = nodeIndex(tail);\n if (direction > 0) {\n caret++;\n }\n iterate$1(self2.activeItems, (item) => rm_items.push(item));\n } else if ((self2.isFocused || self2.settings.mode === \"single\") && self2.items.length) {\n const items = self2.controlChildren();\n let rm_item;\n if (direction < 0 && selection.start === 0 && selection.length === 0) {\n rm_item = items[self2.caretPos - 1];\n } else if (direction > 0 && selection.start === self2.inputValue().length) {\n rm_item = items[self2.caretPos];\n }\n if (rm_item !== void 0) {\n rm_items.push(rm_item);\n }\n }\n if (!self2.shouldDelete(rm_items, e2)) {\n return false;\n }\n preventDefault(e2, true);\n if (typeof caret !== \"undefined\") {\n self2.setCaret(caret);\n }\n while (rm_items.length) {\n self2.removeItem(rm_items.pop());\n }\n self2.inputState();\n self2.positionDropdown();\n self2.refreshOptions(false);\n return true;\n }\n /**\n * Return true if the items should be deleted\n */\n shouldDelete(items, evt) {\n const values = items.map((item) => item.dataset.value);\n if (!values.length || typeof this.settings.onDelete === \"function\" && this.settings.onDelete(values, evt) === false) {\n return false;\n }\n return true;\n }\n /**\n * Selects the previous / next item (depending on the `direction` argument).\n *\n * > 0 - right\n * < 0 - left\n *\n */\n advanceSelection(direction, e2) {\n var last_active, adjacent, self2 = this;\n if (self2.rtl) direction *= -1;\n if (self2.inputValue().length) return;\n if (isKeyDown(KEY_SHORTCUT, e2) || isKeyDown(\"shiftKey\", e2)) {\n last_active = self2.getLastActive(direction);\n if (last_active) {\n if (!last_active.classList.contains(\"active\")) {\n adjacent = last_active;\n } else {\n adjacent = self2.getAdjacent(last_active, direction, \"item\");\n }\n } else if (direction > 0) {\n adjacent = self2.control_input.nextElementSibling;\n } else {\n adjacent = self2.control_input.previousElementSibling;\n }\n if (adjacent) {\n if (adjacent.classList.contains(\"active\")) {\n self2.removeActiveItem(last_active);\n }\n self2.setActiveItemClass(adjacent);\n }\n } else {\n self2.moveCaret(direction);\n }\n }\n moveCaret(direction) {\n }\n /**\n * Get the last active item\n *\n */\n getLastActive(direction) {\n let last_active = this.control.querySelector(\".last-active\");\n if (last_active) {\n return last_active;\n }\n var result = this.control.querySelectorAll(\".active\");\n if (result) {\n return getTail(result, direction);\n }\n }\n /**\n * Moves the caret to the specified index.\n *\n * The input must be moved by leaving it in place and moving the\n * siblings, due to the fact that focus cannot be restored once lost\n * on mobile webkit devices\n *\n */\n setCaret(new_pos) {\n this.caretPos = this.items.length;\n }\n /**\n * Return list of item dom elements\n *\n */\n controlChildren() {\n return Array.from(this.control.querySelectorAll(\"[data-ts-item]\"));\n }\n /**\n * Disables user input on the control. Used while\n * items are being asynchronously created.\n */\n lock() {\n this.setLocked(true);\n }\n /**\n * Re-enables user input on the control.\n */\n unlock() {\n this.setLocked(false);\n }\n /**\n * Disable or enable user input on the control\n */\n setLocked(lock = this.isReadOnly || this.isDisabled) {\n this.isLocked = lock;\n this.refreshState();\n }\n /**\n * Disables user input on the control completely.\n * While disabled, it cannot receive focus.\n */\n disable() {\n this.setDisabled(true);\n this.close();\n }\n /**\n * Enables the control so that it can respond\n * to focus and user input.\n */\n enable() {\n this.setDisabled(false);\n }\n setDisabled(disabled) {\n this.focus_node.tabIndex = disabled ? -1 : this.tabIndex;\n this.isDisabled = disabled;\n this.input.disabled = disabled;\n this.control_input.disabled = disabled;\n this.setLocked();\n }\n setReadOnly(isReadOnly) {\n this.isReadOnly = isReadOnly;\n this.input.readOnly = isReadOnly;\n this.control_input.readOnly = isReadOnly;\n this.setLocked();\n }\n /**\n * Completely destroys the control and\n * unbinds all event listeners so that it can\n * be garbage collected.\n */\n destroy() {\n var self2 = this;\n var revertSettings = self2.revertSettings;\n self2.trigger(\"destroy\");\n self2.off();\n self2.wrapper.remove();\n self2.dropdown.remove();\n self2.input.innerHTML = revertSettings.innerHTML;\n self2.input.tabIndex = revertSettings.tabIndex;\n removeClasses(self2.input, \"tomselected\", \"ts-hidden-accessible\");\n self2._destroy();\n delete self2.input.tomselect;\n }\n /**\n * A helper method for rendering \"item\" and\n * \"option\" templates, given the data.\n *\n */\n render(templateName, data) {\n var id, html;\n const self2 = this;\n if (typeof this.settings.render[templateName] !== \"function\") {\n return null;\n }\n html = self2.settings.render[templateName].call(this, data, escape_html);\n if (!html) {\n return null;\n }\n html = getDom(html);\n if (templateName === \"option\" || templateName === \"option_create\") {\n if (data[self2.settings.disabledField]) {\n setAttr(html, {\n \"aria-disabled\": \"true\"\n });\n } else {\n setAttr(html, {\n \"data-selectable\": \"\"\n });\n }\n } else if (templateName === \"optgroup\") {\n id = data.group[self2.settings.optgroupValueField];\n setAttr(html, {\n \"data-group\": id\n });\n if (data.group[self2.settings.disabledField]) {\n setAttr(html, {\n \"data-disabled\": \"\"\n });\n }\n }\n if (templateName === \"option\" || templateName === \"item\") {\n const value = get_hash(data[self2.settings.valueField]);\n setAttr(html, {\n \"data-value\": value\n });\n if (templateName === \"item\") {\n addClasses(html, self2.settings.itemClass);\n setAttr(html, {\n \"data-ts-item\": \"\"\n });\n } else {\n addClasses(html, self2.settings.optionClass);\n setAttr(html, {\n role: \"option\",\n id: data.$id\n });\n data.$div = html;\n self2.options[value] = data;\n }\n }\n return html;\n }\n /**\n * Type guarded rendering\n *\n */\n _render(templateName, data) {\n const html = this.render(templateName, data);\n if (html == null) {\n throw \"HTMLElement expected\";\n }\n return html;\n }\n /**\n * Clears the render cache for a template. If\n * no template is given, clears all render\n * caches.\n *\n */\n clearCache() {\n iterate$1(this.options, (option) => {\n if (option.$div) {\n option.$div.remove();\n delete option.$div;\n }\n });\n }\n /**\n * Removes a value from item and option caches\n *\n */\n uncacheValue(value) {\n const option_el = this.getOption(value);\n if (option_el) option_el.remove();\n }\n /**\n * Determines whether or not to display the\n * create item prompt, given a user input.\n *\n */\n canCreate(input) {\n return this.settings.create && input.length > 0 && this.settings.createFilter.call(this, input);\n }\n /**\n * Wraps this.`method` so that `new_fn` can be invoked 'before', 'after', or 'instead' of the original method\n *\n * this.hook('instead','onKeyDown',function( arg1, arg2 ...){\n *\n * });\n */\n hook(when, method, new_fn) {\n var self2 = this;\n var orig_method = self2[method];\n self2[method] = function() {\n var result, result_new;\n if (when === \"after\") {\n result = orig_method.apply(self2, arguments);\n }\n result_new = new_fn.apply(self2, arguments);\n if (when === \"instead\") {\n return result_new;\n }\n if (when === \"before\") {\n result = orig_method.apply(self2, arguments);\n }\n return result;\n };\n }\n }\n function change_listener() {\n addEvent(this.input, \"change\", () => {\n this.sync();\n });\n }\n function checkbox_options(userOptions) {\n var self2 = this;\n var orig_onOptionSelect = self2.onOptionSelect;\n self2.settings.hideSelected = false;\n const cbOptions = Object.assign({\n // so that the user may add different ones as well\n className: \"tomselect-checkbox\",\n // the following default to the historic plugin's values\n checkedClassNames: void 0,\n uncheckedClassNames: void 0\n }, userOptions);\n var UpdateChecked = function UpdateChecked2(checkbox, toCheck) {\n if (toCheck) {\n checkbox.checked = true;\n if (cbOptions.uncheckedClassNames) {\n checkbox.classList.remove(...cbOptions.uncheckedClassNames);\n }\n if (cbOptions.checkedClassNames) {\n checkbox.classList.add(...cbOptions.checkedClassNames);\n }\n } else {\n checkbox.checked = false;\n if (cbOptions.checkedClassNames) {\n checkbox.classList.remove(...cbOptions.checkedClassNames);\n }\n if (cbOptions.uncheckedClassNames) {\n checkbox.classList.add(...cbOptions.uncheckedClassNames);\n }\n }\n };\n var UpdateCheckbox = function UpdateCheckbox2(option) {\n setTimeout(() => {\n var checkbox = option.querySelector(\"input.\" + cbOptions.className);\n if (checkbox instanceof HTMLInputElement) {\n UpdateChecked(checkbox, option.classList.contains(\"selected\"));\n }\n }, 1);\n };\n self2.hook(\"after\", \"setupTemplates\", () => {\n var orig_render_option = self2.settings.render.option;\n self2.settings.render.option = (data, escape_html2) => {\n var rendered = getDom(orig_render_option.call(self2, data, escape_html2));\n var checkbox = document.createElement(\"input\");\n if (cbOptions.className) {\n checkbox.classList.add(cbOptions.className);\n }\n checkbox.addEventListener(\"click\", function(evt) {\n preventDefault(evt);\n });\n checkbox.type = \"checkbox\";\n const hashed = hash_key(data[self2.settings.valueField]);\n UpdateChecked(checkbox, !!(hashed && self2.items.indexOf(hashed) > -1));\n rendered.prepend(checkbox);\n return rendered;\n };\n });\n self2.on(\"item_remove\", (value) => {\n var option = self2.getOption(value);\n if (option) {\n option.classList.remove(\"selected\");\n UpdateCheckbox(option);\n }\n });\n self2.on(\"item_add\", (value) => {\n var option = self2.getOption(value);\n if (option) {\n UpdateCheckbox(option);\n }\n });\n self2.hook(\"instead\", \"onOptionSelect\", (evt, option) => {\n if (option.classList.contains(\"selected\")) {\n option.classList.remove(\"selected\");\n self2.removeItem(option.dataset.value);\n self2.refreshOptions();\n preventDefault(evt, true);\n return;\n }\n orig_onOptionSelect.call(self2, evt, option);\n UpdateCheckbox(option);\n });\n }\n function clear_button(userOptions) {\n const self2 = this;\n const options = Object.assign({\n className: \"clear-button\",\n title: \"Clear All\",\n html: (data) => {\n return `
`;\n }\n }, userOptions);\n self2.on(\"initialize\", () => {\n var button = getDom(options.html(options));\n button.addEventListener(\"click\", (evt) => {\n if (self2.isLocked) return;\n self2.clear();\n if (self2.settings.mode === \"single\" && self2.settings.allowEmptyOption) {\n self2.addItem(\"\");\n }\n evt.preventDefault();\n evt.stopPropagation();\n });\n self2.control.appendChild(button);\n });\n }\n const insertAfter = (referenceNode, newNode) => {\n var _referenceNode$parent;\n (_referenceNode$parent = referenceNode.parentNode) == null || _referenceNode$parent.insertBefore(newNode, referenceNode.nextSibling);\n };\n const insertBefore = (referenceNode, newNode) => {\n var _referenceNode$parent2;\n (_referenceNode$parent2 = referenceNode.parentNode) == null || _referenceNode$parent2.insertBefore(newNode, referenceNode);\n };\n const isBefore = (referenceNode, newNode) => {\n do {\n var _newNode;\n newNode = (_newNode = newNode) == null ? void 0 : _newNode.previousElementSibling;\n if (referenceNode == newNode) {\n return true;\n }\n } while (newNode && newNode.previousElementSibling);\n return false;\n };\n function drag_drop() {\n var self2 = this;\n if (self2.settings.mode !== \"multi\") return;\n var orig_lock = self2.lock;\n var orig_unlock = self2.unlock;\n let sortable = true;\n let drag_item;\n self2.hook(\"after\", \"setupTemplates\", () => {\n var orig_render_item = self2.settings.render.item;\n self2.settings.render.item = (data, escape) => {\n const item = getDom(orig_render_item.call(self2, data, escape));\n setAttr(item, {\n \"draggable\": \"true\"\n });\n const mousedown = (evt) => {\n if (!sortable) preventDefault(evt);\n evt.stopPropagation();\n };\n const dragStart = (evt) => {\n drag_item = item;\n setTimeout(() => {\n item.classList.add(\"ts-dragging\");\n }, 0);\n };\n const dragOver = (evt) => {\n evt.preventDefault();\n item.classList.add(\"ts-drag-over\");\n moveitem(item, drag_item);\n };\n const dragLeave = () => {\n item.classList.remove(\"ts-drag-over\");\n };\n const moveitem = (targetitem, dragitem) => {\n if (dragitem === void 0) return;\n if (isBefore(dragitem, item)) {\n insertAfter(targetitem, dragitem);\n } else {\n insertBefore(targetitem, dragitem);\n }\n };\n const dragend = () => {\n var _drag_item;\n document.querySelectorAll(\".ts-drag-over\").forEach((el) => el.classList.remove(\"ts-drag-over\"));\n (_drag_item = drag_item) == null || _drag_item.classList.remove(\"ts-dragging\");\n drag_item = void 0;\n var values = [];\n self2.control.querySelectorAll(`[data-value]`).forEach((el) => {\n if (el.dataset.value) {\n let value = el.dataset.value;\n if (value) {\n values.push(value);\n }\n }\n });\n self2.setValue(values);\n };\n addEvent(item, \"mousedown\", mousedown);\n addEvent(item, \"dragstart\", dragStart);\n addEvent(item, \"dragenter\", dragOver);\n addEvent(item, \"dragover\", dragOver);\n addEvent(item, \"dragleave\", dragLeave);\n addEvent(item, \"dragend\", dragend);\n return item;\n };\n });\n self2.hook(\"instead\", \"lock\", () => {\n sortable = false;\n return orig_lock.call(self2);\n });\n self2.hook(\"instead\", \"unlock\", () => {\n sortable = true;\n return orig_unlock.call(self2);\n });\n }\n function dropdown_header(userOptions) {\n const self2 = this;\n const options = Object.assign({\n title: \"Untitled\",\n headerClass: \"dropdown-header\",\n titleRowClass: \"dropdown-header-title\",\n labelClass: \"dropdown-header-label\",\n closeClass: \"dropdown-header-close\",\n html: (data) => {\n return '
' + data.title + '×
';\n }\n }, userOptions);\n self2.on(\"initialize\", () => {\n var header = getDom(options.html(options));\n var close_link = header.querySelector(\".\" + options.closeClass);\n if (close_link) {\n close_link.addEventListener(\"click\", (evt) => {\n preventDefault(evt, true);\n self2.close();\n });\n }\n self2.dropdown.insertBefore(header, self2.dropdown.firstChild);\n });\n }\n function caret_position() {\n var self2 = this;\n self2.hook(\"instead\", \"setCaret\", (new_pos) => {\n if (self2.settings.mode === \"single\" || !self2.control.contains(self2.control_input)) {\n new_pos = self2.items.length;\n } else {\n new_pos = Math.max(0, Math.min(self2.items.length, new_pos));\n if (new_pos != self2.caretPos && !self2.isPending) {\n self2.controlChildren().forEach((child, j) => {\n if (j < new_pos) {\n self2.control_input.insertAdjacentElement(\"beforebegin\", child);\n } else {\n self2.control.appendChild(child);\n }\n });\n }\n }\n self2.caretPos = new_pos;\n });\n self2.hook(\"instead\", \"moveCaret\", (direction) => {\n if (!self2.isFocused) return;\n const last_active = self2.getLastActive(direction);\n if (last_active) {\n const idx = nodeIndex(last_active);\n self2.setCaret(direction > 0 ? idx + 1 : idx);\n self2.setActiveItem();\n removeClasses(last_active, \"last-active\");\n } else {\n self2.setCaret(self2.caretPos + direction);\n }\n });\n }\n function dropdown_input() {\n const self2 = this;\n self2.settings.shouldOpen = true;\n self2.hook(\"before\", \"setup\", () => {\n self2.focus_node = self2.control;\n addClasses(self2.control_input, \"dropdown-input\");\n const div = getDom('
');\n div.append(self2.control_input);\n self2.dropdown.insertBefore(div, self2.dropdown.firstChild);\n const placeholder = getDom('');\n placeholder.placeholder = self2.settings.placeholder || \"\";\n self2.control.append(placeholder);\n });\n self2.on(\"initialize\", () => {\n self2.control_input.addEventListener(\"keydown\", (evt) => {\n switch (evt.keyCode) {\n case KEY_ESC:\n if (self2.isOpen) {\n preventDefault(evt, true);\n self2.close();\n }\n self2.clearActiveItems();\n return;\n case KEY_TAB:\n self2.focus_node.tabIndex = -1;\n break;\n }\n return self2.onKeyDown.call(self2, evt);\n });\n self2.on(\"blur\", () => {\n self2.focus_node.tabIndex = self2.isDisabled ? -1 : self2.tabIndex;\n });\n self2.on(\"dropdown_open\", () => {\n self2.control_input.focus();\n });\n const orig_onBlur = self2.onBlur;\n self2.hook(\"instead\", \"onBlur\", (evt) => {\n if (evt && evt.relatedTarget == self2.control_input) return;\n return orig_onBlur.call(self2);\n });\n addEvent(self2.control_input, \"blur\", () => self2.onBlur());\n self2.hook(\"before\", \"close\", () => {\n if (!self2.isOpen) return;\n self2.focus_node.focus({\n preventScroll: true\n });\n });\n });\n }\n function input_autogrow() {\n var self2 = this;\n self2.on(\"initialize\", () => {\n var test_input = document.createElement(\"span\");\n var control = self2.control_input;\n test_input.style.cssText = \"position:absolute; top:-99999px; left:-99999px; width:auto; padding:0; white-space:pre; \";\n self2.wrapper.appendChild(test_input);\n var transfer_styles = [\"letterSpacing\", \"fontSize\", \"fontFamily\", \"fontWeight\", \"textTransform\"];\n for (const style_name of transfer_styles) {\n test_input.style[style_name] = control.style[style_name];\n }\n var resize = () => {\n test_input.textContent = control.value;\n control.style.width = test_input.clientWidth + \"px\";\n };\n resize();\n self2.on(\"update item_add item_remove\", resize);\n addEvent(control, \"input\", resize);\n addEvent(control, \"keyup\", resize);\n addEvent(control, \"blur\", resize);\n addEvent(control, \"update\", resize);\n });\n }\n function no_backspace_delete() {\n var self2 = this;\n var orig_deleteSelection = self2.deleteSelection;\n this.hook(\"instead\", \"deleteSelection\", (evt) => {\n if (self2.activeItems.length) {\n return orig_deleteSelection.call(self2, evt);\n }\n return false;\n });\n }\n function no_active_items() {\n this.hook(\"instead\", \"setActiveItem\", () => {\n });\n this.hook(\"instead\", \"selectAll\", () => {\n });\n }\n function optgroup_columns() {\n var self2 = this;\n var orig_keydown = self2.onKeyDown;\n self2.hook(\"instead\", \"onKeyDown\", (evt) => {\n var index, option, options, optgroup;\n if (!self2.isOpen || !(evt.keyCode === KEY_LEFT || evt.keyCode === KEY_RIGHT)) {\n return orig_keydown.call(self2, evt);\n }\n self2.ignoreHover = true;\n optgroup = parentMatch(self2.activeOption, \"[data-group]\");\n index = nodeIndex(self2.activeOption, \"[data-selectable]\");\n if (!optgroup) {\n return;\n }\n if (evt.keyCode === KEY_LEFT) {\n optgroup = optgroup.previousSibling;\n } else {\n optgroup = optgroup.nextSibling;\n }\n if (!optgroup) {\n return;\n }\n options = optgroup.querySelectorAll(\"[data-selectable]\");\n option = options[Math.min(options.length - 1, index)];\n if (option) {\n self2.setActiveOption(option);\n }\n });\n }\n function remove_button(userOptions) {\n const options = Object.assign({\n label: \"×\",\n title: \"Remove\",\n className: \"remove\",\n append: true\n }, userOptions);\n var self2 = this;\n if (!options.append) {\n return;\n }\n var html = '' + options.label + \"\";\n self2.hook(\"after\", \"setupTemplates\", () => {\n var orig_render_item = self2.settings.render.item;\n self2.settings.render.item = (data, escape) => {\n var item = getDom(orig_render_item.call(self2, data, escape));\n var close_button = getDom(html);\n item.appendChild(close_button);\n addEvent(close_button, \"mousedown\", (evt) => {\n preventDefault(evt, true);\n });\n addEvent(close_button, \"click\", (evt) => {\n if (self2.isLocked) return;\n preventDefault(evt, true);\n if (self2.isLocked) return;\n if (!self2.shouldDelete([item], evt)) return;\n self2.removeItem(item);\n self2.refreshOptions(false);\n self2.inputState();\n });\n return item;\n };\n });\n }\n function restore_on_backspace(userOptions) {\n const self2 = this;\n const options = Object.assign({\n text: (option) => {\n return option[self2.settings.labelField];\n }\n }, userOptions);\n self2.on(\"item_remove\", function(value) {\n if (!self2.isFocused) {\n return;\n }\n if (self2.control_input.value.trim() === \"\") {\n var option = self2.options[value];\n if (option) {\n self2.setTextboxValue(options.text.call(self2, option));\n }\n }\n });\n }\n function virtual_scroll() {\n const self2 = this;\n const orig_canLoad = self2.canLoad;\n const orig_clearActiveOption = self2.clearActiveOption;\n const orig_loadCallback = self2.loadCallback;\n var pagination = {};\n var dropdown_content;\n var loading_more = false;\n var load_more_opt;\n var default_values = [];\n if (!self2.settings.shouldLoadMore) {\n self2.settings.shouldLoadMore = () => {\n const scroll_percent = dropdown_content.clientHeight / (dropdown_content.scrollHeight - dropdown_content.scrollTop);\n if (scroll_percent > 0.9) {\n return true;\n }\n if (self2.activeOption) {\n var selectable = self2.selectable();\n var index = Array.from(selectable).indexOf(self2.activeOption);\n if (index >= selectable.length - 2) {\n return true;\n }\n }\n return false;\n };\n }\n if (!self2.settings.firstUrl) {\n throw \"virtual_scroll plugin requires a firstUrl() method\";\n }\n self2.settings.sortField = [{\n field: \"$order\"\n }, {\n field: \"$score\"\n }];\n const canLoadMore = (query) => {\n if (typeof self2.settings.maxOptions === \"number\" && dropdown_content.children.length >= self2.settings.maxOptions) {\n return false;\n }\n if (query in pagination && pagination[query]) {\n return true;\n }\n return false;\n };\n const clearFilter = (option, value) => {\n if (self2.items.indexOf(value) >= 0 || default_values.indexOf(value) >= 0) {\n return true;\n }\n return false;\n };\n self2.setNextUrl = (value, next_url) => {\n pagination[value] = next_url;\n };\n self2.getUrl = (query) => {\n if (query in pagination) {\n const next_url = pagination[query];\n pagination[query] = false;\n return next_url;\n }\n self2.clearPagination();\n return self2.settings.firstUrl.call(self2, query);\n };\n self2.clearPagination = () => {\n pagination = {};\n };\n self2.hook(\"instead\", \"clearActiveOption\", () => {\n if (loading_more) {\n return;\n }\n return orig_clearActiveOption.call(self2);\n });\n self2.hook(\"instead\", \"canLoad\", (query) => {\n if (!(query in pagination)) {\n return orig_canLoad.call(self2, query);\n }\n return canLoadMore(query);\n });\n self2.hook(\"instead\", \"loadCallback\", (options, optgroups) => {\n if (!loading_more) {\n self2.clearOptions(clearFilter);\n } else if (load_more_opt) {\n const first_option = options[0];\n if (first_option !== void 0) {\n load_more_opt.dataset.value = first_option[self2.settings.valueField];\n }\n }\n orig_loadCallback.call(self2, options, optgroups);\n loading_more = false;\n });\n self2.hook(\"after\", \"refreshOptions\", () => {\n const query = self2.lastValue;\n var option;\n if (canLoadMore(query)) {\n option = self2.render(\"loading_more\", {\n query\n });\n if (option) {\n option.setAttribute(\"data-selectable\", \"\");\n load_more_opt = option;\n }\n } else if (query in pagination && !dropdown_content.querySelector(\".no-results\")) {\n option = self2.render(\"no_more_results\", {\n query\n });\n }\n if (option) {\n addClasses(option, self2.settings.optionClass);\n dropdown_content.append(option);\n }\n });\n self2.on(\"initialize\", () => {\n default_values = Object.keys(self2.options);\n dropdown_content = self2.dropdown_content;\n self2.settings.render = Object.assign({}, {\n loading_more: () => {\n return `
Loading more results ...
`;\n },\n no_more_results: () => {\n return `
No more results
`;\n }\n }, self2.settings.render);\n dropdown_content.addEventListener(\"scroll\", () => {\n if (!self2.settings.shouldLoadMore.call(self2)) {\n return;\n }\n if (!canLoadMore(self2.lastValue)) {\n return;\n }\n if (loading_more) return;\n loading_more = true;\n self2.load.call(self2, self2.lastValue);\n });\n });\n }\n TomSelect3.define(\"change_listener\", change_listener);\n TomSelect3.define(\"checkbox_options\", checkbox_options);\n TomSelect3.define(\"clear_button\", clear_button);\n TomSelect3.define(\"drag_drop\", drag_drop);\n TomSelect3.define(\"dropdown_header\", dropdown_header);\n TomSelect3.define(\"caret_position\", caret_position);\n TomSelect3.define(\"dropdown_input\", dropdown_input);\n TomSelect3.define(\"input_autogrow\", input_autogrow);\n TomSelect3.define(\"no_backspace_delete\", no_backspace_delete);\n TomSelect3.define(\"no_active_items\", no_active_items);\n TomSelect3.define(\"optgroup_columns\", optgroup_columns);\n TomSelect3.define(\"remove_button\", remove_button);\n TomSelect3.define(\"restore_on_backspace\", restore_on_backspace);\n TomSelect3.define(\"virtual_scroll\", virtual_scroll);\n return TomSelect3;\n });\n }\n});\n\n// src/components/jb-select/jb-select.ts\nvar import_tom_select = __toESM(require_tom_select_complete(), 1);\nvar JbSelect = class extends Initiable(FormElement(h)) {\n constructor() {\n super(...arguments);\n this.inverted = false;\n this._isFocused = false;\n }\n connectedCallback() {\n super.connectedCallback();\n applyStyles(this, jb_select_default);\n }\n update(changedProperties) {\n super.update(changedProperties);\n if (changedProperties.has(\"options\") && changedProperties.get(\"options\")) {\n if (this.disabled) {\n this._tomSelect.disable();\n } else {\n this._tomSelect.enable();\n }\n this._tomSelect.setValue(\"\");\n this._tomSelect.clearOptions();\n this._tomSelect.addOptions(this.options.map((option) => ({ value: option.value, text: option.label })));\n if (this.value) {\n this._tomSelect.setValue(this.value);\n }\n if (this.options.length > 0 && !this.value) {\n this._tomSelect.setValue(this.options[0].value);\n }\n }\n }\n createRenderRoot() {\n return this;\n }\n firstUpdated() {\n const settings = {\n options: this.options.map((option) => ({ value: option.value, text: option.label })),\n maxItems: 1,\n maxOptions: null,\n items: [this.value || this.placeholder || this.options[0]?.value],\n onChange: (newValue) => {\n this.value = newValue;\n this.dispatchEvent(\n new CustomEvent(\"jb-select:changed\", {\n detail: {\n id: this.id,\n newValue,\n label: this._tomSelect.activeOption.innerText\n },\n bubbles: true,\n composed: true\n })\n );\n },\n onFocus: () => {\n this._isFocused = true;\n },\n onBlur: () => {\n this._isFocused = false;\n },\n onType: () => {\n this._tomSelect.setValue(\"\");\n },\n placeholder: this.placeholder,\n create: false,\n render: {\n option(data, escape) {\n return `
${escape(data.text)}
`;\n }\n }\n };\n if (this.type === \"isregionselect\") {\n settings.controlInput = null;\n }\n if (this.type === \"iseservices\") {\n settings.controlInput = '';\n }\n this._tomSelect = new import_tom_select.default(this.input, settings);\n let storedData = localStorage.getItem(\"savedFormData\");\n if (storedData === null) {\n return;\n }\n storedData = JSON.parse(storedData);\n if (this.frontendRenderingIdentifier && storedData && this.frontendRenderingIdentifier in storedData) {\n this._tomSelect.setValue(storedData[this.frontendRenderingIdentifier]);\n }\n if (this.disabled) {\n this._tomSelect.disable();\n } else {\n this._tomSelect.enable();\n }\n }\n setValue(value) {\n this.value = value;\n this._tomSelect.setValue(value, true);\n return value;\n }\n render() {\n return ke`\n \n ${this.label ? ke`` : D}\n \n ${this.showError ? ke`

${this.requiredText}

` : D}\n ${this.errorText ? ke`

${this.errorText}

` : D}\n
\n `;\n }\n};\nJbSelect.styles = r(jb_select_default);\n__decorateClass([\n n()\n], JbSelect.prototype, \"autocomplete\", 2);\n__decorateClass([\n e(\"input\")\n], JbSelect.prototype, \"input\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbSelect.prototype, \"inverted\", 2);\n__decorateClass([\n n({ type: Array })\n], JbSelect.prototype, \"options\", 2);\n__decorateClass([\n n()\n], JbSelect.prototype, \"placeholder\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbSelect.prototype, \"showLabel\", 2);\n__decorateClass([\n n()\n], JbSelect.prototype, \"type\", 2);\n__decorateClass([\n r2()\n], JbSelect.prototype, \"_isFocused\", 2);\nJbSelect = __decorateClass([\n customElement(\"jb-select\")\n], JbSelect);\n\nexport {\n JbSelect\n};\n/*! Bundled license information:\n\ntom-select/dist/js/tom-select.complete.js:\n (*! @orchidjs/unicode-variants | https://github.com/orchidjs/unicode-variants | Apache License (v2) *)\n (*! sifter.js | https://github.com/orchidjs/sifter.js | Apache License (v2) *)\n*/\n", "import {\n e,\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/mixins/ButtonElement.ts\nvar ButtonElementEvents = class {\n constructor() {\n this[\"jb-button:clicked\"] = void 0;\n }\n};\nfunction ButtonElement(baseClass) {\n class ButtonElementMixin extends baseClass {\n async firstUpdated(_changedProperties) {\n super.firstUpdated(_changedProperties);\n this.addEventListener(\"click\", (e2) => {\n this._click(e2);\n });\n }\n getTextContent() {\n const slot = this.shadowRoot?.querySelector(\"slot\");\n if (!slot) {\n return null;\n }\n const nodes = slot.assignedNodes();\n if (nodes.length === 0) {\n return null;\n }\n const textNode = nodes[0];\n if (!textNode.textContent) {\n return null;\n }\n return textNode.textContent.trim();\n }\n triggerClick() {\n this._link?.click();\n }\n _click(clickEvent) {\n if (!this.name || this.disabled || this.inactive) {\n return;\n }\n clickEvent.stopPropagation();\n this.dispatchEvent(\n new CustomEvent(\"jb-button:clicked\", {\n detail: { name: this.name, clickEvent },\n bubbles: true,\n composed: true\n })\n );\n }\n }\n __decorateClass([\n n({ type: Boolean })\n ], ButtonElementMixin.prototype, \"disabled\", 2);\n __decorateClass([\n n({ type: Boolean })\n ], ButtonElementMixin.prototype, \"forceHover\", 2);\n __decorateClass([\n n({ type: Boolean })\n ], ButtonElementMixin.prototype, \"inactive\", 2);\n __decorateClass([\n n()\n ], ButtonElementMixin.prototype, \"name\", 2);\n __decorateClass([\n e(\"a\")\n ], ButtonElementMixin.prototype, \"_link\", 2);\n return ButtonElementMixin;\n}\n\nexport {\n ButtonElementEvents,\n ButtonElement\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n Linkable\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n ButtonElement\n} from \"./chunk.7PRSKJZQ.js\";\nimport {\n Oe,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-button-tertiary/jb-button-tertiary.scss?inline\nvar jb_button_tertiary_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\na,\nbutton {\n font-family: var(--theme-font-black-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-black-weight, 900);\n}\n\na,\nbutton {\n font-size: var(--theme-typo-uppercase-900-fontsize, 0.688rem);\n letter-spacing: var(--theme-typo-uppercase-900-letterspacing, 0.125rem);\n line-height: var(--theme-typo-uppercase-900-lineheight, 1rem);\n text-transform: uppercase;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: inline-block;\n min-block-size: 20px;\n --_button-text-color: 20, 30, 85;\n}\n\na,\nbutton {\n align-items: center;\n background-color: transparent;\n border: none;\n color: rgba(var(--_button-text-color), 1);\n cursor: pointer;\n display: inline-flex;\n gap: var(--spacing-3xs);\n inline-size: 100%;\n padding-inline: 0;\n text-align: start;\n text-decoration: none;\n}\na span,\nbutton span {\n align-items: center;\n display: inline-flex;\n inset-block-start: 5px;\n position: relative;\n}\na svg,\nbutton svg {\n display: inline-block;\n flex-basis: 19px;\n flex-shrink: 0;\n position: relative;\n transition: transform 0.3s ease-out 0s;\n vertical-align: bottom;\n}\na.hover svg, a:hover svg,\nbutton.hover svg,\nbutton:hover svg {\n transform: translateX(8px);\n}\na.up svg,\nbutton.up svg {\n transform: rotate(-90deg);\n}\na.up.hover svg, a.up:hover svg,\nbutton.up.hover svg,\nbutton.up:hover svg {\n transform: rotate(-90deg) translateX(3px);\n}\na.down svg,\nbutton.down svg {\n transform: rotate(90deg);\n}\na.down.hover svg, a.down:hover svg,\nbutton.down.hover svg,\nbutton.down:hover svg {\n transform: rotate(90deg) translateX(3px);\n}\na.inverted,\nbutton.inverted {\n --_button-text-color: 255, 255, 255;\n}\na:active,\nbutton:active {\n transform: scale(0.99);\n}\n\n.inactive {\n opacity: 0.4;\n pointer-events: none;\n}`;\n\n// src/components/jb-button-tertiary/jb-button-tertiary.ts\nvar JbButtonTertiary = class extends Initiable(ButtonElement(Linkable(h))) {\n constructor() {\n super(...arguments);\n this._arrowIcon = Oe``;\n }\n render() {\n const classes = {\n inactive: !!this.inactive,\n inverted: !!this.inverted,\n hover: !!this.forceHover,\n [`${this.arrowDirection}`]: !!this.arrowDirection\n };\n return this.link?.href ? ke`\n ${this._arrowIcon}\n ` : ke`\n ${this._arrowIcon}\n `;\n }\n};\nJbButtonTertiary.styles = r(jb_button_tertiary_default);\n__decorateClass([\n n()\n], JbButtonTertiary.prototype, \"arrowDirection\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbButtonTertiary.prototype, \"forceHover\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbButtonTertiary.prototype, \"inactive\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbButtonTertiary.prototype, \"inverted\", 2);\n__decorateClass([\n n()\n], JbButtonTertiary.prototype, \"name\", 2);\nJbButtonTertiary = __decorateClass([\n customElement(\"jb-button-tertiary\")\n], JbButtonTertiary);\n\nexport {\n JbButtonTertiary\n};\n", "import {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/mixins/Filterable.ts\nfunction Filterable(baseClass) {\n class FilterableMixin extends baseClass {\n markAsDisabled() {\n this.setAttribute(\"data-disabled-by-filter\", \"\");\n }\n markAsEnabled() {\n this.removeAttribute(\"data-disabled-by-filter\");\n }\n matchesFilterValue(filterValueToCompareTo) {\n return !!this.filterValues?.find(\n (filterValue) => filterValue.filterAspect === filterValueToCompareTo.filterAspect && filterValue.value === filterValueToCompareTo.value\n );\n }\n }\n __decorateClass([\n n({ type: Array })\n ], FilterableMixin.prototype, \"filterValues\", 2);\n return FilterableMixin;\n}\n\nexport {\n Filterable\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-internal-icon/jb-internal-icon.scss?inline\nvar jb_internal_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: inline-block;\n height: var(--icon-size, 18px);\n width: var(--icon-size, 18px);\n}\n\nsvg {\n fill: rgb(var(--rgb-primary, 20, 30, 85));\n transition: var(--icon-transition, none);\n}`;\n\n// src/components/icons/jb-internal-icon/jb-internal-icon.ts\nvar JbInternalIcon = class extends h {\n render() {\n return ke`\n \n \n \n \n \n \n \n \n \n `;\n }\n};\nJbInternalIcon.styles = r(jb_internal_icon_default);\nJbInternalIcon = __decorateClass([\n customElement(\"jb-internal-icon\")\n], JbInternalIcon);\n\nexport {\n JbInternalIcon\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-in-page-icon/jb-in-page-icon.scss?inline\nvar jb_in_page_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: inline-block;\n height: var(--icon-size, 18px);\n width: var(--icon-size, 18px);\n}\n\nsvg {\n fill: var(--icon-color, rgb(var(--rgb-primary, 20, 30, 85)));\n}`;\n\n// src/components/icons/jb-in-page-icon/jb-in-page-icon.ts\nvar JbInPageIcon = class extends h {\n render() {\n return ke`\n \n \n \n \n \n \n \n \n \n `;\n }\n};\nJbInPageIcon.styles = r(jb_in_page_icon_default);\nJbInPageIcon = __decorateClass([\n customElement(\"jb-in-page-icon\")\n], JbInPageIcon);\n\nexport {\n JbInPageIcon\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-download-icon/jb-download-icon.scss?inline\nvar jb_download_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: inline-block;\n height: var(--icon-size, 18px);\n width: var(--icon-size, 18px);\n}\n\nsvg {\n fill: rgb(var(--rgb-primary, 20, 30, 85));\n transition: var(--icon-transition, none);\n}`;\n\n// src/components/icons/jb-download-icon/jb-download-icon.ts\nvar JbDownloadIcon = class extends h {\n render() {\n return ke`\n \n \n \n \n `;\n }\n};\nJbDownloadIcon.styles = r(jb_download_icon_default);\nJbDownloadIcon = __decorateClass([\n customElement(\"jb-download-icon\")\n], JbDownloadIcon);\n\nexport {\n JbDownloadIcon\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-external-icon/jb-external-icon.scss?inline\nvar jb_external_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: inline-block;\n height: var(--icon-size, 18px);\n width: var(--icon-size, 18px);\n}\n\nsvg {\n fill: rgb(var(--rgb-primary, 20, 30, 85));\n}`;\n\n// src/components/icons/jb-external-icon/jb-external-icon.ts\nvar JbExternalIcon = class extends h {\n render() {\n return ke`\n \n \n \n \n \n `;\n }\n};\nJbExternalIcon.styles = r(jb_external_icon_default);\nJbExternalIcon = __decorateClass([\n customElement(\"jb-external-icon\")\n], JbExternalIcon);\n\nexport {\n JbExternalIcon\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-mail-icon/jb-mail-icon.scss?inline\nvar jb_mail_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n height: var(--icon-size, 18px);\n width: var(--icon-size, 18px);\n}\n\nsvg {\n fill: var(--icon-color, rgb(var(--rgb-primary, 20, 30, 85)));\n height: var(--icon-height, 18px);\n transition: var(--icon-transition, none);\n width: var(--icon-width, 18px);\n}`;\n\n// src/components/icons/jb-mail-icon/jb-mail-icon.ts\nvar JbMailIcon = class extends h {\n render() {\n return ke`\n \n `;\n }\n};\nJbMailIcon.styles = r(jb_mail_icon_default);\nJbMailIcon = __decorateClass([\n customElement(\"jb-mail-icon\")\n], JbMailIcon);\n\nexport {\n JbMailIcon\n};\n", "import {\n JbEServiceOverlay\n} from \"../../chunks/chunk.JVL4FYYT.js\";\nimport \"../../chunks/chunk.OUQ73RZJ.js\";\nimport \"../../chunks/chunk.I2ELSNII.js\";\nimport \"../../chunks/chunk.NLEHAJ2S.js\";\nimport \"../../chunks/chunk.UTVDNTSP.js\";\nimport \"../../chunks/chunk.G3SZKTQJ.js\";\nimport \"../../chunks/chunk.YTEMICXC.js\";\nimport \"../../chunks/chunk.LTAMHVKK.js\";\nimport \"../../chunks/chunk.OZEBCGEZ.js\";\nimport \"../../chunks/chunk.TOSSI7AO.js\";\nimport \"../../chunks/chunk.6DHNIVN5.js\";\nimport \"../../chunks/chunk.ABOYTYJO.js\";\nimport \"../../chunks/chunk.7ZO5ST7S.js\";\nimport \"../../chunks/chunk.EELGOWGJ.js\";\nimport \"../../chunks/chunk.WEV4VAJB.js\";\nimport \"../../chunks/chunk.NQ4JNTZU.js\";\nimport \"../../chunks/chunk.KR4IFKAA.js\";\nimport \"../../chunks/chunk.QAGUCU4C.js\";\nimport \"../../chunks/chunk.A4SFXC3I.js\";\nimport \"../../chunks/chunk.KZGIJPE3.js\";\nimport \"../../chunks/chunk.VRR2P3PQ.js\";\nimport \"../../chunks/chunk.7PRSKJZQ.js\";\nimport \"../../chunks/chunk.7ANACPIR.js\";\nimport \"../../chunks/chunk.WXNWU2SV.js\";\nimport \"../../chunks/chunk.FCKNEYTX.js\";\nimport \"../../chunks/chunk.BBN2ZB42.js\";\nimport \"../../chunks/chunk.FAJKIEWS.js\";\nimport \"../../chunks/chunk.I4IFG4JG.js\";\nexport {\n JbEServiceOverlay\n};\n", "import {\n JbRegionSelectOverlay\n} from \"../../chunks/chunk.VZ6THPUN.js\";\nimport \"../../chunks/chunk.SE5MQEAG.js\";\nimport \"../../chunks/chunk.G3SZKTQJ.js\";\nimport \"../../chunks/chunk.YTEMICXC.js\";\nimport \"../../chunks/chunk.LTAMHVKK.js\";\nimport \"../../chunks/chunk.OZEBCGEZ.js\";\nimport \"../../chunks/chunk.TOSSI7AO.js\";\nimport \"../../chunks/chunk.6DHNIVN5.js\";\nimport \"../../chunks/chunk.ABOYTYJO.js\";\nimport \"../../chunks/chunk.7ZO5ST7S.js\";\nimport \"../../chunks/chunk.EELGOWGJ.js\";\nimport \"../../chunks/chunk.WEV4VAJB.js\";\nimport \"../../chunks/chunk.NQ4JNTZU.js\";\nimport \"../../chunks/chunk.KR4IFKAA.js\";\nimport \"../../chunks/chunk.QAGUCU4C.js\";\nimport \"../../chunks/chunk.A4SFXC3I.js\";\nimport \"../../chunks/chunk.KZGIJPE3.js\";\nimport \"../../chunks/chunk.VRR2P3PQ.js\";\nimport \"../../chunks/chunk.7PRSKJZQ.js\";\nimport \"../../chunks/chunk.7ANACPIR.js\";\nimport \"../../chunks/chunk.WXNWU2SV.js\";\nimport \"../../chunks/chunk.FCKNEYTX.js\";\nimport \"../../chunks/chunk.BBN2ZB42.js\";\nimport \"../../chunks/chunk.FAJKIEWS.js\";\nimport \"../../chunks/chunk.I4IFG4JG.js\";\nexport {\n JbRegionSelectOverlay\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-search-icon/jb-search-icon.scss?inline\nvar jb_search_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nspan {\n cursor: pointer;\n display: var(--display, block);\n height: 25px;\n margin-right: var(--margin-right, 0);\n width: 25px;\n}\n\nsvg {\n fill: var(--fill-color, black);\n height: 25px;\n transform: rotate(0);\n transition: transform 0.5s ease-in-out 0s;\n width: 25px;\n}\nspan:hover svg {\n transform: rotate(75deg);\n}`;\n\n// src/components/icons/jb-search-icon/jb-search-icon.ts\nvar JbSearchIcon = class extends h {\n firstUpdated() {\n this.addEventListener(\"click\", (e) => {\n e.preventDefault();\n this.dispatchEvent(new CustomEvent(\"search-icon:clicked\", { bubbles: true, composed: true }));\n });\n }\n render() {\n return ke`\n \n \n \n \n \n \n \n \n \n `;\n }\n};\nJbSearchIcon.styles = r(jb_search_icon_default);\nJbSearchIcon = __decorateClass([\n customElement(\"jb-search-icon\")\n], JbSearchIcon);\n\nexport {\n JbSearchIcon\n};\n", "import {\n JbSearchOverlay\n} from \"../../chunks/chunk.77CS2EJF.js\";\nimport \"../../chunks/chunk.RTAXJRGK.js\";\nimport \"../../chunks/chunk.JBQASJWR.js\";\nimport \"../../chunks/chunk.SHZV3OKI.js\";\nimport \"../../chunks/chunk.UTVDNTSP.js\";\nimport \"../../chunks/chunk.G3SZKTQJ.js\";\nimport \"../../chunks/chunk.YTEMICXC.js\";\nimport \"../../chunks/chunk.LTAMHVKK.js\";\nimport \"../../chunks/chunk.OZEBCGEZ.js\";\nimport \"../../chunks/chunk.TOSSI7AO.js\";\nimport \"../../chunks/chunk.6DHNIVN5.js\";\nimport \"../../chunks/chunk.ABOYTYJO.js\";\nimport \"../../chunks/chunk.7ZO5ST7S.js\";\nimport \"../../chunks/chunk.EELGOWGJ.js\";\nimport \"../../chunks/chunk.WEV4VAJB.js\";\nimport \"../../chunks/chunk.NQ4JNTZU.js\";\nimport \"../../chunks/chunk.KR4IFKAA.js\";\nimport \"../../chunks/chunk.QAGUCU4C.js\";\nimport \"../../chunks/chunk.A4SFXC3I.js\";\nimport \"../../chunks/chunk.KZGIJPE3.js\";\nimport \"../../chunks/chunk.VRR2P3PQ.js\";\nimport \"../../chunks/chunk.7PRSKJZQ.js\";\nimport \"../../chunks/chunk.7ANACPIR.js\";\nimport \"../../chunks/chunk.WXNWU2SV.js\";\nimport \"../../chunks/chunk.FCKNEYTX.js\";\nimport \"../../chunks/chunk.BBN2ZB42.js\";\nimport \"../../chunks/chunk.FAJKIEWS.js\";\nimport \"../../chunks/chunk.I4IFG4JG.js\";\nexport {\n JbSearchOverlay\n};\n", "// src/assets/scripts/Client.ts\nfunction getViewport() {\n return {\n height: Math.max(document.documentElement.clientHeight, window.innerHeight || 0),\n width: Math.max(document.documentElement.clientWidth, window.innerWidth || 0)\n };\n}\nfunction isMobileVP() {\n return window.matchMedia(\"(max-width: 599px)\").matches;\n}\nfunction isTabletVP() {\n return window.matchMedia(\"(min-width: 600px) and (max-width: 959px)\").matches;\n}\nfunction isSizeMdDown() {\n return window.matchMedia(\"(max-width: 1280px)\").matches;\n}\nfunction isSizeSmUp() {\n return window.matchMedia(\"(min-width: 600px)\").matches;\n}\nfunction isTouchDevice() {\n return window.matchMedia(\"(hover: none)\").matches;\n}\nfunction isMobile() {\n return isSizeMdDown() || isTouchDevice();\n}\nfunction getScrollPosition() {\n return document.body.scrollTop || document.documentElement.scrollTop;\n}\nfunction isInViewport(element) {\n if (!element) return false;\n const rect = element.getBoundingClientRect();\n return rect.top >= -1;\n}\n\nexport {\n getViewport,\n isMobileVP,\n isTabletVP,\n isSizeMdDown,\n isSizeSmUp,\n isTouchDevice,\n isMobile,\n getScrollPosition,\n isInViewport\n};\n", "import {\n isMobile\n} from \"./chunk.YDQDJZUC.js\";\nimport {\n debounce\n} from \"./chunk.WXNWU2SV.js\";\n\n// src/components/jb-menu/jb-menu-utils.ts\nvar menu = {\n primaryMenuHoverGraceAnimation: null,\n secondaryDesktopMenu: null,\n secondaryMenuHoverAnimation: null,\n secondaryMenuVisibilityAnimation: null,\n lastVisible2ndLevelMenu: null,\n conditionalDispatchFadeOutEvent: null\n};\nfunction activateSecondaryMenuItem(menuItem) {\n menuItem.classList.add(\"active\");\n}\nfunction bindDesktopEvents(renderRoot) {\n const primaryDesktopMenuItems = renderRoot.querySelectorAll(\n \".primary-wrapper jb-menu-item\"\n );\n const secondaryMenuLists = renderRoot.querySelectorAll(\n \".secondary-wrapper jb-secondary-menu-list\"\n );\n primaryDesktopMenuItems.forEach((menuItem) => {\n menuItem.addEventListener(\"mouseenter\", () => {\n clearSecondaryDesktopMenuAnimations();\n menu.secondaryMenuHoverAnimation = setTimeout(() => {\n const selectedSubmenu = menuItem.submenu;\n if (selectedSubmenu) {\n clearActivePrimaryMenuItemDesktop(renderRoot);\n menuItem.shadowRoot?.querySelector(\"li\")?.classList.add(\"active\");\n menuItem.classList.add(\"active\");\n fadeInSecondaryMenuDesktop(renderRoot, selectedSubmenu);\n }\n }, 400);\n });\n menuItem.addEventListener(\"mouseleave\", () => {\n initiateFadeOutSecondaryMenuDesktop(renderRoot, menuItem);\n });\n });\n menu.secondaryDesktopMenu = renderRoot.querySelector(\".secondary-wrapper\");\n menu.secondaryDesktopMenu?.addEventListener(\"mouseenter\", () => {\n clearPrimaryDesktopMenuGraceAnimations();\n const activeSecondaryMenu = renderRoot.querySelector(\".secondary-wrapper .active\");\n if (activeSecondaryMenu) {\n clearSecondaryDesktopMenuAnimations();\n }\n });\n menu.secondaryDesktopMenu?.addEventListener(\"mouseleave\", () => {\n const activePrimaryMenuItem = renderRoot.querySelector(\".primary-wrapper .active\");\n initiateFadeOutSecondaryMenuDesktop(renderRoot, activePrimaryMenuItem);\n });\n setTimeout(() => {\n secondaryMenuLists.forEach((list) => {\n const secondaryDesktopMenuItems = list.shadowRoot?.querySelectorAll(\"ul jb-menu-item\");\n secondaryDesktopMenuItems?.forEach((menuItem) => {\n menuItem.addEventListener(\"mouseenter\", () => {\n activateSecondaryMenuItem(menuItem);\n });\n menuItem.addEventListener(\"mouseleave\", () => deactivateSecondaryMenuItem(renderRoot));\n });\n });\n }, 100);\n}\nfunction bindEvents(renderRoot) {\n if (isMobile()) {\n bindMobileEvents(renderRoot);\n } else {\n bindDesktopEvents(renderRoot);\n }\n bindSharedEvents(renderRoot);\n}\nfunction bindMobileEvents(renderRoot) {\n const primaryMenuItems = renderRoot.querySelectorAll(\".primary-wrapper jb-menu-item\");\n primaryMenuItems.forEach((menuItem) => {\n menuItem.addEventListener(\"click\", (e) => {\n const selectedSubmenu = menuItem.submenu;\n const secondaryMobileMenuItemList = renderRoot.querySelector(\n `jb-secondary-menu-list[data-belongs=\"${selectedSubmenu}\"`\n );\n e.preventDefault();\n if (selectedSubmenu && secondaryMobileMenuItemList) {\n openSecondaryMenuMobile(renderRoot, selectedSubmenu);\n } else {\n window.location.href = menuItem.link.href ? menuItem.link.href : \"#\";\n }\n });\n });\n const backBtn = renderRoot.querySelector(\".secondary-wrapper .submenu-header jb-button-back\");\n backBtn?.addEventListener(\"click\", (e) => {\n e.preventDefault();\n closeSecondaryMenuMobile(renderRoot);\n });\n}\nfunction bindSharedEvents(renderRoot) {\n document.addEventListener(\"jbNavigationOpen\", (e) => openMenu(renderRoot, e));\n document.addEventListener(\"jbMenuStartFadeOut\", () => startMenuFadeOut(renderRoot));\n document.addEventListener(\"jbMenuFullFadeOut\", (e) => closeMenu(renderRoot, e));\n window.addEventListener(\n \"resize\",\n debounce(() => {\n dispatchEvent(new Event(\"close\"));\n }, 10)\n );\n}\nfunction clearActivePrimaryMenuItemDesktop(renderRoot) {\n const primaryMenuItem = renderRoot.querySelectorAll(\".primary-wrapper .primary jb-menu-item\");\n primaryMenuItem.forEach((item) => {\n item.shadowRoot?.querySelector(\".active\")?.classList.remove(\"active\");\n });\n}\nfunction clearPrimaryDesktopMenuGraceAnimations() {\n if (menu.primaryMenuHoverGraceAnimation) {\n clearTimeout(menu.primaryMenuHoverGraceAnimation);\n }\n}\nfunction clearSecondaryDesktopMenuAnimations() {\n if (menu.secondaryMenuHoverAnimation) {\n clearTimeout(menu.secondaryMenuHoverAnimation);\n }\n}\nfunction closeMenu(renderRoot, e) {\n e.preventDefault();\n if (isMobile()) {\n const mobileMenuSecondaryWrapper = renderRoot.querySelector(\".secondary-wrapper\");\n const activeSecondaryMenuItemList = mobileMenuSecondaryWrapper?.querySelector(\".active\");\n if (activeSecondaryMenuItemList) {\n const parentMenu = activeSecondaryMenuItemList.dataset.belongs;\n const allMenuItems = renderRoot.querySelectorAll(\n \".primary-wrapper .primary jb-menu-item\"\n );\n allMenuItems.forEach((menuItem) => {\n if (menuItem.submenu === parentMenu) {\n menuItem.classList.add(\"hidden\");\n }\n });\n }\n removeTransitionalMenuItemEvent(renderRoot.querySelector(\".primary-wrapper\"));\n removeTransitionalMenuItemEvent(renderRoot.querySelector(\".secondary-wrapper\"));\n mobileMenuSecondaryWrapper?.removeEventListener(\"transitionend\", menu.conditionalDispatchFadeOutEvent);\n renderRoot.querySelector(\"nav\")?.classList.remove(\"active\");\n } else {\n removeTransitionalMenuItemEvent(renderRoot.querySelector(\".primary-wrapper\"));\n renderRoot.querySelector(\"nav\")?.classList.remove(\"active\");\n }\n}\nfunction closeSecondaryMenuMobile(renderRoot) {\n const activeSecondaryMenuItemList = renderRoot.querySelector(\n \".secondary-wrapper jb-secondary-menu-list.active\"\n );\n activeSecondaryMenuItemList.classList.add(\"fade-out\");\n renderRoot.querySelector(\"ul.primary\")?.classList.remove(\"animating\");\n activeSecondaryMenuItemList.classList.remove(\"active\");\n renderRoot.querySelector(\".secondary-wrapper\")?.classList.remove(\"active\");\n resetPositionPrimaryMenuItemTitle(renderRoot, activeSecondaryMenuItemList.dataset.belongs);\n renderRoot.querySelector(\".primary-wrapper\")?.classList.remove(\"hidden\");\n resetPrimaryMobileMenuItems(renderRoot, activeSecondaryMenuItemList.dataset.belongs);\n fadeOutSecondaryMenuItems(activeSecondaryMenuItemList);\n setTimeout(() => {\n renderRoot.querySelector(\"ul.primary\")?.classList.add(\"initial-animations\");\n }, 400);\n}\nfunction conditionalDispatchFadeOutEvent(renderRoot, e) {\n const mobileMenuSecondaryWrapper = renderRoot.querySelector(\".secondary-wrapper\");\n if (e.target === mobileMenuSecondaryWrapper) {\n dispatchFadeOutEvent();\n }\n}\nfunction deactivateSecondaryMenuItem(renderRoot) {\n const activeSecondaryMenuItem = renderRoot.querySelector(\".secondary-wrapper\")?.querySelector(\"ul.secondary.active\");\n activeSecondaryMenuItem?.classList.remove(\"active\");\n}\nfunction dispatchFadeOutEvent() {\n document.dispatchEvent(new CustomEvent(\"jbMenuFullFadeOut\"));\n dispatchTransitionCompleteEvent();\n}\nfunction dispatchTransitionCompleteEvent() {\n document.dispatchEvent(new CustomEvent(\"jbMenuTransitionComplete\", { bubbles: true }));\n}\nfunction fadeInPrimaryMenuItems(renderRoot, activeMenu) {\n if (activeMenu) {\n const menuItems = activeMenu.querySelectorAll(\"jb-menu-item\");\n menuItems.forEach((primMenuItem) => {\n primMenuItem.classList.remove(\"hidden\");\n });\n const serviceItemWrapper = renderRoot.querySelector(\n \".primary-wrapper jb-service-navigation\"\n );\n if (serviceItemWrapper) {\n serviceItemWrapper.classList.remove(\"hidden\");\n }\n }\n}\nfunction fadeInSecondaryMenuDesktop(renderRoot, selectedSubmenu) {\n const secondaryDesktopMenuItemList = renderRoot.querySelector(\n `.secondary-wrapper jb-secondary-menu-list[data-belongs=\"${selectedSubmenu}\"`\n );\n if (!secondaryDesktopMenuItemList) return;\n if (secondaryDesktopMenuItemList === menu.lastVisible2ndLevelMenu) {\n clearTimeout(menu.secondaryMenuVisibilityAnimation);\n }\n fadeOutSecondaryMenuDesktop(renderRoot);\n secondaryDesktopMenuItemList.classList.add(\"active\");\n secondaryDesktopMenuItemList.classList.add(\"visible\");\n fadeInSecondaryMenuItems(secondaryDesktopMenuItemList);\n menu.lastVisible2ndLevelMenu = secondaryDesktopMenuItemList;\n}\nfunction fadeInSecondaryMenuItems(activeSubmenu) {\n if (activeSubmenu) {\n const menuItems = activeSubmenu.shadowRoot?.querySelectorAll(\"jb-menu-item\");\n menuItems?.forEach((primMenuItem) => {\n primMenuItem.classList.remove(\"hidden\");\n });\n }\n}\nfunction fadeOutPrimaryMenuItems(renderRoot, activeMenu) {\n if (activeMenu) {\n const primaryMenuItems = [].slice.call(activeMenu.querySelectorAll(\"jb-menu-item\"));\n primaryMenuItems.reverse().forEach((primMenuItem, index) => {\n primMenuItem.classList.add(\"hidden\");\n if (index + 1 >= primaryMenuItems.length) {\n primMenuItem.addEventListener(\"transitionend\", dispatchFadeOutEvent);\n }\n });\n const serviceItemWrapper = renderRoot.querySelector(\n \".primary-wrapper jb-service-navigation\"\n );\n if (serviceItemWrapper) {\n serviceItemWrapper?.classList.add(\"hidden\");\n }\n }\n}\nfunction fadeOutPrimaryMobileMenuItemsWithException(renderRoot, activeMenu) {\n if (renderRoot.querySelector(\".primary-wrapper\")) {\n const menuItems = renderRoot.querySelectorAll(\".primary-wrapper jb-menu-item\");\n menuItems.forEach((item) => {\n if (item.submenu === activeMenu) {\n const activeMenuItem = item;\n const activeMenuItemArrow = activeMenuItem.shadowRoot?.querySelector(\"jb-arrow-forward-icon\");\n const serviceItemWrapper = renderRoot.querySelector(\".primary-wrapper jb-service-navigation\");\n menuItems.forEach((primMenuItem) => {\n if (primMenuItem !== activeMenuItem) {\n primMenuItem.setAttribute(\"hidden\", \"\");\n } else {\n activeMenuItemArrow.classList.add(\"hidden\");\n }\n });\n if (serviceItemWrapper) {\n serviceItemWrapper.classList.add(\"hidden\");\n }\n }\n });\n }\n}\nfunction fadeOutSecondaryMenuDesktop(renderRoot) {\n const activeSecondaryWrapper = renderRoot.querySelector(\".secondary-wrapper .active\");\n const activeSecondaryItemList = activeSecondaryWrapper?.shadowRoot?.querySelector(\".secondary\");\n const activeSecondaryMenuItem = activeSecondaryItemList?.shadowRoot?.querySelector(\".active\");\n if (activeSecondaryWrapper && !activeSecondaryMenuItem) {\n activeSecondaryItemList?.classList.remove(\"active\");\n activeSecondaryWrapper.classList.remove(\"active\");\n fadeOutSecondaryMenuItems(activeSecondaryWrapper);\n menu.secondaryMenuVisibilityAnimation = setTimeout(() => {\n activeSecondaryWrapper.classList.remove(\"visible\");\n }, 300);\n }\n}\nfunction removeTransitionalMenuItemEvent(activeMenu) {\n const menuItems = activeMenu?.querySelectorAll(\"jb-menu-item\");\n menuItems?.forEach((primMenuItem) => {\n primMenuItem.removeEventListener(\"transitionend\", dispatchFadeOutEvent);\n });\n}\nfunction fadeOutSecondaryMenuItems(activeSubmenu) {\n if (activeSubmenu) {\n const menuItems = activeSubmenu.shadowRoot?.querySelectorAll(\"jb-menu-item\");\n menuItems?.forEach((primMenuItem) => {\n primMenuItem.classList.add(\"hidden\");\n });\n }\n}\nfunction fadeOutSecondaryMenuWrapperMobile(renderRoot) {\n const mobileMenuSecondaryWrapper = renderRoot.querySelector(\".wrapper .secondary-wrapper\");\n if (mobileMenuSecondaryWrapper) {\n if (mobileMenuSecondaryWrapper.classList.contains(\"active\")) {\n mobileMenuSecondaryWrapper.classList.add(\"fade-out\");\n mobileMenuSecondaryWrapper.addEventListener(\"transitionend\", menu.conditionalDispatchFadeOutEvent);\n }\n }\n}\nfunction initiateFadeOutSecondaryMenuDesktop(renderRoot, activePrimaryMenuItem) {\n clearPrimaryDesktopMenuGraceAnimations();\n menu.primaryMenuHoverGraceAnimation = setTimeout(() => {\n activePrimaryMenuItem?.shadowRoot?.querySelector(\".active\")?.classList.remove(\"active\");\n activePrimaryMenuItem?.classList.remove(\"active\");\n fadeOutSecondaryMenuDesktop(renderRoot);\n menu.primaryMenuHoverGraceAnimation = null;\n }, 400);\n}\nfunction openMenu(renderRoot, e) {\n e.preventDefault();\n if (isMobile()) {\n const activeSecondaryMenuItemList = renderRoot.querySelector(\".secondary-wrapper .active\");\n setPrimaryMobileMenuToDefaultState(renderRoot);\n if (activeSecondaryMenuItemList) {\n const parentMenu = activeSecondaryMenuItemList.dataset.belongs;\n closeSecondaryMenuMobile(renderRoot);\n const fadeoutSecondaryMenuItemList = renderRoot.querySelector(\".secondary-wrapper .fade-out\");\n resetPositionPrimaryMenuItemTitle(renderRoot, parentMenu);\n fadeoutSecondaryMenuItemList.classList.remove(\"fade-out\");\n }\n fadeInPrimaryMenuItems(renderRoot, renderRoot.querySelector(\".primary-wrapper\"));\n renderRoot.querySelector(\"nav\")?.classList.add(\"active\");\n } else {\n fadeInPrimaryMenuItems(renderRoot, renderRoot.querySelector(\".primary-wrapper\"));\n renderRoot.querySelector(\"nav\")?.classList.add(\"active\");\n }\n}\nfunction openSecondaryMenuMobile(renderRoot, selectedSubmenu) {\n const secondaryMobileMenuItemList = renderRoot.querySelector(\n `jb-secondary-menu-list[data-belongs=\"${selectedSubmenu}\"`\n );\n if (!secondaryMobileMenuItemList) return;\n renderRoot.querySelector(\"ul.primary\")?.classList.remove(\"initial-animations\");\n fadeOutPrimaryMobileMenuItemsWithException(renderRoot, selectedSubmenu);\n repositionActivePrimaryMenuItemTitle(renderRoot, selectedSubmenu);\n renderRoot.querySelector(\"ul.primary\")?.classList.add(\"animating\");\n setTimeout(() => {\n renderRoot.querySelector(\".primary-wrapper\")?.classList.add(\"hidden\");\n renderRoot.querySelector(\".secondary-wrapper\")?.classList.add(\"active\");\n secondaryMobileMenuItemList?.classList.add(\"active\");\n fadeInSecondaryMenuItems(secondaryMobileMenuItemList);\n }, 500);\n}\nfunction resetPrimaryMobileMenuItems(renderRoot, activeMenu) {\n if (renderRoot.querySelector(\".primary-wrapper\")) {\n const menuItems = renderRoot.querySelectorAll(\".primary-wrapper jb-menu-item\");\n const activeMenuItems = renderRoot.querySelectorAll(\n \".primary-wrapper .primary jb-menu-item\"\n );\n activeMenuItems.forEach((item) => {\n if (item.submenu === activeMenu) {\n const activeMenuItemArrow = item.shadowRoot?.querySelector(\"jb-arrow-forward-icon\");\n menuItems.forEach((primMenuItem) => {\n if (primMenuItem !== item) {\n primMenuItem.removeAttribute(\"hidden\");\n } else {\n activeMenuItemArrow?.classList.remove(\"hidden\");\n }\n });\n }\n });\n const serviceItemWrapper = renderRoot.querySelector(\".primary-wrapper jb-service-navigation\");\n if (serviceItemWrapper) {\n serviceItemWrapper.classList.remove(\"hidden\");\n }\n }\n}\nfunction setPrimaryMobileMenuToDefaultState(renderRoot) {\n if (renderRoot.querySelector(\".primary-wrapper\")) {\n const mobileMenuWrapper = renderRoot.querySelector(\".secondary-wrapper .fade-out\");\n const menuItems = renderRoot.querySelectorAll(\".primary-wrapper jb-menu-item\");\n menuItems.forEach((primMenuItem) => {\n primMenuItem.classList.add(\"hidden\");\n });\n mobileMenuWrapper?.classList.remove(\"fade-out\");\n renderRoot.querySelector(\"ul.primary\")?.classList.add(\"initial-animations\");\n }\n}\nfunction repositionActivePrimaryMenuItemTitle(renderRoot, activeMenu) {\n const backBtn = renderRoot.querySelector(\".secondary-wrapper jb-button-back\");\n const submenuTitle = renderRoot.querySelector(\".secondary-wrapper .title\");\n const submenuTag = renderRoot.querySelector(\".secondary-wrapper .tag\");\n const menuItems = renderRoot.querySelectorAll(\".primary-wrapper jb-menu-item\");\n menuItems.forEach((item) => {\n if (item.submenu === activeMenu) {\n const selectedMenuItem = item;\n const menuTitle = selectedMenuItem.shadowRoot?.querySelector(\"span\");\n const menuTag = selectedMenuItem.shadowRoot?.querySelector(\"p\");\n const selectedMenuListItem = selectedMenuItem.shadowRoot?.querySelector(\"li\");\n if (selectedMenuListItem) {\n const distance = backBtn.getBoundingClientRect().bottom - selectedMenuListItem.getBoundingClientRect().top - 5;\n selectedMenuListItem.style.transform = \"translateY(\" + distance + \"px)\";\n submenuTitle.innerHTML = menuTitle.innerHTML;\n if (menuTag) {\n submenuTag.innerHTML = menuTag.innerHTML;\n } else {\n submenuTag.classList.add(\"no-value\");\n }\n }\n }\n });\n}\nfunction resetPositionPrimaryMenuItemTitle(renderRoot, activeMenu) {\n const submenuTitle = renderRoot.querySelector(\".secondary-wrapper\")?.querySelector(\".title\");\n const submenuTag = renderRoot.querySelector(\".secondary-wrapper\")?.querySelector(\".tag\");\n const a = renderRoot.querySelectorAll(`.primary-wrapper jb-menu-item`);\n a.forEach((item) => {\n if (item.submenu === activeMenu) {\n const selectedMenuItem = item?.shadowRoot?.querySelector(`li`);\n selectedMenuItem.style.transform = \"translateY(0px)\";\n }\n });\n submenuTitle.innerHTML = \"\";\n submenuTag.innerHTML = \"\";\n submenuTag.classList.remove(\"no-value\");\n}\nfunction startMenuFadeOut(renderRoot) {\n if (isMobile() && renderRoot.querySelector(\".secondary-wrapper .active\")) {\n fadeOutSecondaryMenuWrapperMobile(renderRoot);\n } else {\n fadeOutPrimaryMenuItems(renderRoot, renderRoot.querySelector(\".primary-wrapper\"));\n }\n}\n\nexport {\n activateSecondaryMenuItem,\n bindDesktopEvents,\n bindEvents,\n bindMobileEvents,\n bindSharedEvents,\n clearActivePrimaryMenuItemDesktop,\n clearPrimaryDesktopMenuGraceAnimations,\n clearSecondaryDesktopMenuAnimations,\n closeMenu,\n closeSecondaryMenuMobile,\n conditionalDispatchFadeOutEvent,\n deactivateSecondaryMenuItem,\n dispatchFadeOutEvent,\n dispatchTransitionCompleteEvent,\n fadeInPrimaryMenuItems,\n fadeInSecondaryMenuDesktop,\n fadeInSecondaryMenuItems,\n fadeOutPrimaryMenuItems,\n fadeOutPrimaryMobileMenuItemsWithException,\n fadeOutSecondaryMenuDesktop,\n removeTransitionalMenuItemEvent,\n fadeOutSecondaryMenuItems,\n fadeOutSecondaryMenuWrapperMobile,\n initiateFadeOutSecondaryMenuDesktop,\n openMenu,\n openSecondaryMenuMobile,\n resetPrimaryMobileMenuItems,\n setPrimaryMobileMenuToDefaultState,\n repositionActivePrimaryMenuItemTitle,\n resetPositionPrimaryMenuItemTitle,\n startMenuFadeOut\n};\n", "import {\n bindEvents,\n closeSecondaryMenuMobile,\n fadeInPrimaryMenuItems\n} from \"./chunk.OOINLVPA.js\";\nimport {\n isMobile\n} from \"./chunk.YDQDJZUC.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n Animatable\n} from \"./chunk.VRR2P3PQ.js\";\nimport {\n JBCookie,\n debounce,\n getEventElement\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-menu/jb-menu.scss?inline\nvar jb_menu_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.mobile-menu .secondary-wrapper .submenu-header .tag {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\n.mobile-menu .secondary-wrapper .submenu-header .title {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n background-color: #141e55;\n display: block;\n height: 100%;\n height: calc(100vh - 60px);\n transform-origin: top center;\n width: 100%;\n}\n@media (min-width: 600px) {\n :host {\n height: calc(100vh - 90px);\n }\n}\n@media (min-width: 1281px) {\n :host {\n height: calc(100vh - 100px);\n }\n}\n\n.desktop-menu {\n --menu-padding-top: 70px;\n height: 100%;\n overflow: hidden;\n padding-top: var(--menu-padding-top);\n transition: transform 0.5s ease-out, padding-top 0.2s linear;\n width: 100%;\n z-index: 201;\n}\n.desktop-menu div {\n display: flex;\n height: 100%;\n padding-left: 6.955vw;\n}\n@media (min-width: 1437px) and (hover: hover) {\n .desktop-menu div {\n padding-left: calc((100vw - var(--row-max-width, 1436px)) / 2);\n }\n}\n.desktop-menu div .primary-wrapper,\n.desktop-menu div .secondary-wrapper {\n box-sizing: border-box;\n flex-basis: 33.3333333333%;\n max-width: 33.3333333333%;\n padding: 0 20px;\n width: 33.3333333333%;\n margin-left: 16.6666666667%;\n}\n.desktop-menu div .primary-wrapper {\n flex-basis: calc(86.09vw * 0.3333);\n margin-left: calc(86.09vw * 0.1667);\n max-width: calc(86.09vw * 0.3333);\n overflow-y: auto;\n width: calc(86.09vw * 0.3333);\n}\n.desktop-menu div .primary-wrapper jb-menu-item,\n.desktop-menu div .primary-wrapper jb-service-navigation {\n opacity: 0;\n}\n.desktop-menu div .primary-wrapper::-webkit-scrollbar {\n background-color: #f1f2f2;\n width: 5px;\n}\n.desktop-menu div .primary-wrapper::-webkit-scrollbar-track {\n background-clip: content-box;\n background-color: #141e55;\n}\n.desktop-menu div .primary-wrapper::-webkit-scrollbar-thumb {\n background-color: #f1f2f2;\n border-radius: 4px;\n width: 180px;\n}\n@media (min-width: 1437px) and (hover: hover) {\n .desktop-menu div .primary-wrapper {\n flex-basis: calc(var(--row-max-width, 1436px) * 0.3333);\n margin-left: calc(var(--row-max-width, 1436px) * 0.1667);\n max-width: calc(var(--row-max-width, 1436px) * 0.3333);\n width: calc(var(--row-max-width, 1436px) * 0.3333);\n }\n}\n.desktop-menu div .primary-wrapper.hidden {\n opacity: 0;\n z-index: -1;\n}\n.desktop-menu div .primary-wrapper jb-service-navigation {\n display: none;\n}\n.desktop-menu div .primary-wrapper .primary {\n flex-basis: 100%;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(1) {\n transition: opacity 0.5s ease-in-out 0s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(2) {\n transition: opacity 0.5s ease-in-out 0.2s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(3) {\n transition: opacity 0.5s ease-in-out 0.4s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(4) {\n transition: opacity 0.5s ease-in-out 0.6s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(5) {\n transition: opacity 0.5s ease-in-out 0.8s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(6) {\n transition: opacity 0.5s ease-in-out 1s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(7) {\n transition: opacity 0.5s ease-in-out 1.2s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(8) {\n transition: opacity 0.5s ease-in-out 1.4s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(9) {\n transition: opacity 0.5s ease-in-out 1.6s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(10) {\n transition: opacity 0.5s ease-in-out 1.8s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(11) {\n transition: opacity 0.5s ease-in-out 2s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(12) {\n transition: opacity 0.5s ease-in-out 2.2s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(13) {\n transition: opacity 0.5s ease-in-out 2.4s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(14) {\n transition: opacity 0.5s ease-in-out 2.6s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(15) {\n transition: opacity 0.5s ease-in-out 2.8s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(16) {\n transition: opacity 0.5s ease-in-out 3s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(17) {\n transition: opacity 0.5s ease-in-out 3.2s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(18) {\n transition: opacity 0.5s ease-in-out 3.4s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(19) {\n transition: opacity 0.5s ease-in-out 3.6s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(20) {\n transition: opacity 0.5s ease-in-out 3.8s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden {\n opacity: 0;\n z-index: -1;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(1) {\n transition: opacity 0.5s ease-in-out 1s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(2) {\n transition: opacity 0.5s ease-in-out 0.8s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(3) {\n transition: opacity 0.5s ease-in-out 0.6s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(4) {\n transition: opacity 0.5s ease-in-out 0.4s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(5) {\n transition: opacity 0.5s ease-in-out 0.2s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(6) {\n transition: opacity 0.5s ease-in-out 0s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(7) {\n transition: opacity 0.5s ease-in-out -0.2s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(8) {\n transition: opacity 0.5s ease-in-out -0.4s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(9) {\n transition: opacity 0.5s ease-in-out -0.6s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(10) {\n transition: opacity 0.5s ease-in-out -0.8s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(11) {\n transition: opacity 0.5s ease-in-out -1s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(12) {\n transition: opacity 0.5s ease-in-out -1.2s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(13) {\n transition: opacity 0.5s ease-in-out -1.4s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(14) {\n transition: opacity 0.5s ease-in-out -1.6s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(15) {\n transition: opacity 0.5s ease-in-out -1.8s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(16) {\n transition: opacity 0.5s ease-in-out -2s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(17) {\n transition: opacity 0.5s ease-in-out -2.2s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(18) {\n transition: opacity 0.5s ease-in-out -2.4s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(19) {\n transition: opacity 0.5s ease-in-out -2.6s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item.hidden:nth-child(20) {\n transition: opacity 0.5s ease-in-out -2.8s;\n}\n.desktop-menu div .primary-wrapper .primary jb-menu-item:nth-child(1) {\n --padding-top: 10px;\n}\n@media (min-width: 1281px) {\n .desktop-menu div .primary-wrapper .primary jb-menu-item {\n --padding-top: 25px;\n }\n}\n.desktop-menu div .secondary-wrapper {\n margin-left: 0%;\n flex-grow: 1;\n max-width: none;\n overflow: hidden auto;\n -webkit-overflow-scrolling: touch;\n padding-right: 0;\n position: relative;\n}\n.desktop-menu div .secondary-wrapper::-webkit-scrollbar {\n background-color: #f1f2f2;\n width: 5px;\n}\n.desktop-menu div .secondary-wrapper::-webkit-scrollbar-track {\n background-clip: content-box;\n background-color: #141e55;\n}\n.desktop-menu div .secondary-wrapper::-webkit-scrollbar-thumb {\n background-color: #f1f2f2;\n border-radius: 4px;\n width: 180px;\n}\n.desktop-menu div .secondary-wrapper .submenu-header.hidden {\n display: none;\n}\n.desktop-menu div .secondary-wrapper .secondary {\n transition: opacity 0.4s;\n z-index: -1;\n}\n.desktop-menu div .secondary-wrapper .secondary .desktop-menu__item.hidden {\n transition: opacity 0.5s ease-in-out, height 0s 0.5s;\n}\n.desktop-menu div .secondary-wrapper .secondary .desktop-menu__item:last-child {\n padding-bottom: 150px;\n}\n.desktop-menu a {\n display: inline-block;\n}\n.desktop-menu jb-secondary-menu-list {\n opacity: 0;\n transition: opacity 0.4s ease-in-out;\n}\n.desktop-menu jb-secondary-menu-list.active {\n opacity: 1;\n z-index: 99;\n}\n\n.mobile-menu {\n overflow: hidden;\n padding-bottom: 112px;\n padding-top: 30px;\n transition: transform 0.5s ease-out, padding-top 0.2s linear;\n width: 100%;\n z-index: 201;\n}\n@media (min-width: 600px) {\n .mobile-menu {\n padding-top: 50px;\n }\n}\n@media (min-width: 960px) {\n .mobile-menu {\n padding-top: 70px;\n }\n}\n.mobile-menu .wrapper {\n display: flex;\n padding-left: 0;\n}\n.mobile-menu jb-service-navigation {\n display: block;\n margin-top: 40px;\n opacity: 1;\n text-align: center;\n transition: opacity 0.35s ease-in-out 0.1s;\n}\n.mobile-menu jb-service-navigation.hidden {\n opacity: 0;\n}\n.mobile-menu .primary-wrapper {\n position: relative;\n}\n.mobile-menu .primary-wrapper jb-menu-item,\n.mobile-menu .primary-wrapper jb-service-navigation {\n opacity: 0;\n}\n.mobile-menu .primary-wrapper.hidden {\n opacity: 0;\n z-index: -1;\n}\n.mobile-menu .primary-wrapper jb-menu-item {\n --padding-bottom: 16px;\n --padding-top: 25px;\n}\n.mobile-menu .primary-wrapper jb-menu-item:nth-child(1) {\n --padding-top: 0;\n}\n@media (min-width: 600px) {\n .mobile-menu .primary-wrapper jb-menu-item {\n --padding-top: 21px;\n }\n}\n@media (hover: none) and (min-width: 600px) {\n .mobile-menu .primary-wrapper jb-menu-item {\n --padding-top: 24px;\n }\n}\n.mobile-menu .primary-wrapper jb-menu-item.hidden {\n opacity: 0;\n z-index: -1;\n}\n.mobile-menu .primary-wrapper .primary {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: calc(100% - 2 * var(--row-small-margin, 6.68%));\n display: block;\n margin-left: var(--row-small-margin, 6.68%);\n margin-right: auto;\n}\n@media (min-width: 600px) and (max-width: 959px) {\n .mobile-menu .primary-wrapper .primary {\n width: calc(100% - 2 * 8.35%);\n }\n}\n@media (min-width: 1437px) {\n .mobile-menu .primary-wrapper .primary {\n max-width: var(--row-max-width, 1436px);\n }\n .mobile-menu .primary-wrapper .primary:not(.filtered-list) {\n width: 100%;\n }\n}\n@media only screen and (min-width: 960px) and (max-width: 1436px) {\n .mobile-menu .primary-wrapper .primary {\n margin: 0 6.955%;\n max-width: calc(100% - 6.955% - 6.955%);\n }\n}\n@media (min-width: 600px) {\n .mobile-menu .primary-wrapper .primary {\n margin-left: 30vw;\n width: 40vw;\n }\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(1) {\n transition: opacity 0.5s ease-in-out 0s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(2) {\n transition: opacity 0.5s ease-in-out 0.2s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(3) {\n transition: opacity 0.5s ease-in-out 0.4s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(4) {\n transition: opacity 0.5s ease-in-out 0.6s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(5) {\n transition: opacity 0.5s ease-in-out 0.8s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(6) {\n transition: opacity 0.5s ease-in-out 1s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(7) {\n transition: opacity 0.5s ease-in-out 1.2s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(8) {\n transition: opacity 0.5s ease-in-out 1.4s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(9) {\n transition: opacity 0.5s ease-in-out 1.6s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(10) {\n transition: opacity 0.5s ease-in-out 1.8s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(11) {\n transition: opacity 0.5s ease-in-out 2s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(12) {\n transition: opacity 0.5s ease-in-out 2.2s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(13) {\n transition: opacity 0.5s ease-in-out 2.4s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(14) {\n transition: opacity 0.5s ease-in-out 2.6s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(15) {\n transition: opacity 0.5s ease-in-out 2.8s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(16) {\n transition: opacity 0.5s ease-in-out 3s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(17) {\n transition: opacity 0.5s ease-in-out 3.2s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(18) {\n transition: opacity 0.5s ease-in-out 3.4s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(19) {\n transition: opacity 0.5s ease-in-out 3.6s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item:nth-child(20) {\n transition: opacity 0.5s ease-in-out 3.8s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(1) {\n transition: opacity 0.5s ease-in-out 1s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(2) {\n transition: opacity 0.5s ease-in-out 0.8s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(3) {\n transition: opacity 0.5s ease-in-out 0.6s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(4) {\n transition: opacity 0.5s ease-in-out 0.4s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(5) {\n transition: opacity 0.5s ease-in-out 0.2s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(6) {\n transition: opacity 0.5s ease-in-out 0s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(7) {\n transition: opacity 0.5s ease-in-out -0.2s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(8) {\n transition: opacity 0.5s ease-in-out -0.4s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(9) {\n transition: opacity 0.5s ease-in-out -0.6s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(10) {\n transition: opacity 0.5s ease-in-out -0.8s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(11) {\n transition: opacity 0.5s ease-in-out -1s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(12) {\n transition: opacity 0.5s ease-in-out -1.2s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(13) {\n transition: opacity 0.5s ease-in-out -1.4s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(14) {\n transition: opacity 0.5s ease-in-out -1.6s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(15) {\n transition: opacity 0.5s ease-in-out -1.8s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(16) {\n transition: opacity 0.5s ease-in-out -2s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(17) {\n transition: opacity 0.5s ease-in-out -2.2s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(18) {\n transition: opacity 0.5s ease-in-out -2.4s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(19) {\n transition: opacity 0.5s ease-in-out -2.6s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.hidden:nth-child(20) {\n transition: opacity 0.5s ease-in-out -2.8s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(1) {\n transition: opacity 0.5s ease-in-out 0s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(2) {\n transition: opacity 0.5s ease-in-out 0.2s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(3) {\n transition: opacity 0.5s ease-in-out 0.4s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(4) {\n transition: opacity 0.5s ease-in-out 0.6s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(5) {\n transition: opacity 0.5s ease-in-out 0.8s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(6) {\n transition: opacity 0.5s ease-in-out 1s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(7) {\n transition: opacity 0.5s ease-in-out 1.2s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(8) {\n transition: opacity 0.5s ease-in-out 1.4s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(9) {\n transition: opacity 0.5s ease-in-out 1.6s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(10) {\n transition: opacity 0.5s ease-in-out 1.8s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(11) {\n transition: opacity 0.5s ease-in-out 2s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(12) {\n transition: opacity 0.5s ease-in-out 2.2s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(13) {\n transition: opacity 0.5s ease-in-out 2.4s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(14) {\n transition: opacity 0.5s ease-in-out 2.6s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(15) {\n transition: opacity 0.5s ease-in-out 2.8s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(16) {\n transition: opacity 0.5s ease-in-out 3s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(17) {\n transition: opacity 0.5s ease-in-out 3.2s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(18) {\n transition: opacity 0.5s ease-in-out 3.4s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(19) {\n transition: opacity 0.5s ease-in-out 3.6s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(20) {\n transition: opacity 0.5s ease-in-out 3.8s;\n}\n.mobile-menu .primary-wrapper .primary.initial-animations jb-menu-item.secondary:nth-child(21) {\n transition: opacity 0.5s ease-in-out 4s;\n}\n.mobile-menu .primary-wrapper,\n.mobile-menu .secondary-wrapper {\n overflow: hidden auto;\n -webkit-overflow-scrolling: touch;\n width: 100%;\n}\n.mobile-menu .primary-wrapper::-webkit-scrollbar,\n.mobile-menu .secondary-wrapper::-webkit-scrollbar {\n background-color: #f1f2f2;\n width: 5px;\n}\n.mobile-menu .primary-wrapper::-webkit-scrollbar-track,\n.mobile-menu .secondary-wrapper::-webkit-scrollbar-track {\n background-clip: content-box;\n background-color: #141e55;\n}\n.mobile-menu .primary-wrapper::-webkit-scrollbar-thumb,\n.mobile-menu .secondary-wrapper::-webkit-scrollbar-thumb {\n background-color: #f1f2f2;\n border-radius: 4px;\n width: 180px;\n}\n.mobile-menu .secondary-wrapper {\n left: 0;\n opacity: 0;\n padding-top: 16px;\n pointer-events: none;\n position: absolute;\n right: 0;\n z-index: -1;\n}\n.mobile-menu .secondary-wrapper jb-button-back {\n cursor: pointer;\n display: block;\n margin-bottom: 20px;\n opacity: 0;\n transform: translateX(20px);\n transition: opacity 0.35s ease-in, transform 0.35s ease-in-out;\n z-index: 10;\n}\n.mobile-menu .secondary-wrapper.active {\n height: calc(100vh - 90px);\n opacity: 1;\n pointer-events: all;\n z-index: 1;\n}\n@media (min-width: 600px) {\n .mobile-menu .secondary-wrapper.active {\n height: calc(100vh - 140px);\n }\n}\n@media (min-width: 960px) {\n .mobile-menu .secondary-wrapper.active {\n height: calc(100vh - 160px);\n }\n}\n.mobile-menu .secondary-wrapper.active jb-button-back {\n opacity: 1;\n transform: translateX(0);\n}\n.mobile-menu .secondary-wrapper.fade-out {\n opacity: 0;\n transition: opacity 0.5s ease-in-out;\n}\n.mobile-menu .secondary-wrapper .submenu-header {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: calc(100% - 2 * var(--row-small-margin, 6.68%));\n display: block;\n margin-bottom: 26px;\n}\n@media (min-width: 600px) and (max-width: 959px) {\n .mobile-menu .secondary-wrapper .submenu-header {\n width: calc(100% - 2 * 8.35%);\n }\n}\n@media (min-width: 1437px) {\n .mobile-menu .secondary-wrapper .submenu-header {\n max-width: var(--row-max-width, 1436px);\n }\n .mobile-menu .secondary-wrapper .submenu-header:not(.filtered-list) {\n width: 100%;\n }\n}\n@media only screen and (min-width: 960px) and (max-width: 1436px) {\n .mobile-menu .secondary-wrapper .submenu-header {\n margin: 0 6.955%;\n max-width: calc(100% - 6.955% - 6.955%);\n }\n}\n@media (min-width: 600px) {\n .mobile-menu .secondary-wrapper .submenu-header {\n margin-bottom: 40px;\n margin-left: 30vw;\n width: 40vw;\n }\n}\n.mobile-menu .secondary-wrapper .submenu-header .title {\n font-size: 26px;\n font-size: 1.625rem;\n line-height: 35px;\n line-height: 2.1875rem;\n color: #fff;\n}\n.mobile-menu .secondary-wrapper .submenu-header .tag {\n font-size: 11px;\n font-size: 0.6875rem;\n line-height: 16px;\n line-height: 1rem;\n letter-spacing: 1px;\n letter-spacing: 0.0625rem;\n border-left: none;\n color: #fff;\n text-transform: uppercase;\n}\n.mobile-menu .secondary-wrapper .submenu-header .tag .no-value {\n display: none;\n}\n.mobile-menu .secondary-wrapper jb-secondary-menu-list {\n max-height: 0;\n}\n.mobile-menu .secondary-wrapper jb-secondary-menu-list.active {\n display: unset;\n max-height: 200vh;\n}\n.mobile-menu .secondary-wrapper jb-menu-item.span {\n font-size: 21px;\n font-size: 1.3125rem;\n}\n.mobile-menu .secondary-wrapper jb-menu-item:first-of-type {\n padding-top: 0;\n}`;\n\n// src/components/jb-menu/jb-menu.ts\nvar JbMenu = class extends Initiable(Animatable(h)) {\n constructor() {\n super(...arguments);\n this._isMobileMenu = false;\n this._market = \"\";\n }\n firstUpdated() {\n this._market = JBCookie.getI18nCookieData().market;\n this._isMobileMenu = isMobile();\n bindEvents(this.renderRoot);\n if (this.active) fadeInPrimaryMenuItems(this.renderRoot, this.renderRoot.querySelector(\".primary-wrapper\"));\n window.addEventListener(\n \"resize\",\n debounce(() => {\n this._isMobileMenu = isMobile();\n bindEvents(this.renderRoot);\n this.dispatchEvent(new CustomEvent(\"jbMenuFullFadeOut\"));\n const isSecondaryMenuActive = this.renderRoot.querySelector(\".secondary-wrapper.active\");\n if (isSecondaryMenuActive) {\n closeSecondaryMenuMobile(this.renderRoot);\n }\n }, 100)\n );\n }\n _getItemMarketTag(item) {\n const matchingSubmenu = this.submenus?.find((sm) => sm.parent === item.submenu);\n const matchingMarketRedirect = matchingSubmenu?.marketRedirects?.find((mr) => mr.marketId === this._market);\n if (!matchingMarketRedirect) {\n return void 0;\n }\n return matchingMarketRedirect.marketName;\n }\n _getSubitems(submenu) {\n if (!submenu.marketRedirects) {\n return submenu.subitems;\n }\n const matchingMarketRedirect = submenu.marketRedirects?.find((mr) => mr.marketId === this._market);\n if (!matchingMarketRedirect) {\n return submenu.subitems;\n }\n return matchingMarketRedirect.subpages.map((sp) => ({ link: { href: sp.url }, text: sp.linktext }));\n }\n _sendTrackingClick(texts, url, e) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e, {\n component_name: \"header\",\n interaction_effect: url ? \"navigation\" : \"open\",\n interaction_element: texts[texts.length - 1],\n interaction_result: url ?? \"overlay\",\n interaction_text: `hamburger__${texts.join(\"__\")}`,\n interaction_type: \"click\"\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n }\n _trackMenu(evt) {\n evt.stopPropagation();\n const menuItem = getEventElement(evt, \"JB-MENU-ITEM\");\n const hasSubmenus = this.submenus?.some((e) => e.parent === menuItem.submenu);\n if (this._isMobileMenu && hasSubmenus) {\n return;\n }\n this._sendTrackingClick([menuItem.text.replace(/\\s+/g, \"-\").toLowerCase()], menuItem.link.href, evt);\n }\n _trackServiceNavigation(evt) {\n const serviceNavigationItem = getEventElement(evt, \"JB-SERVICE-NAVIGATION-ITEM\");\n const serviceNavigationItemUrl = serviceNavigationItem.link?.data?.action ? void 0 : serviceNavigationItem.link?.href;\n this._sendTrackingClick(\n [serviceNavigationItem.text.replace(/\\s+/g, \"-\").toLowerCase()],\n serviceNavigationItemUrl,\n evt\n );\n }\n _trackSubMenu(evt) {\n evt.stopPropagation();\n const secondaryMenuList = getEventElement(evt, \"JB-SECONDARY-MENU-LIST\");\n const menuItem = getEventElement(evt, \"JB-MENU-ITEM\");\n const subMenuItemText = menuItem.text.replace(/\\s+/g, \"-\").toLowerCase();\n const menuItemText = this.items.find((item) => item.submenu === secondaryMenuList.dataset.belongs).text.replace(/\\s+/g, \"-\").toLowerCase();\n this._sendTrackingClick([menuItemText, subMenuItemText], menuItem.link.href, evt);\n }\n render() {\n return ke`\n
\n
\n \n ${this.items.map(\n (item) => ke``\n )}\n \n ${this.serviceNavigationItems && ke`\n \n ${this.serviceNavigationItems.map(\n (item) => ke``\n )}\n \n `}\n
\n\n ${this.submenus && ke`\n
\n \n \n

\n

\n
\n\n ${this.submenus.map(\n (submenu) => ke` `\n )}\n
\n `}\n
\n `;\n }\n};\nJbMenu.styles = r(jb_menu_default);\n__decorateClass([\n n({ type: Boolean })\n], JbMenu.prototype, \"active\", 2);\n__decorateClass([\n n()\n], JbMenu.prototype, \"backLabel\", 2);\n__decorateClass([\n n({ type: Array })\n], JbMenu.prototype, \"items\", 2);\n__decorateClass([\n n({ type: Array })\n], JbMenu.prototype, \"serviceNavigationItems\", 2);\n__decorateClass([\n n({ type: Array })\n], JbMenu.prototype, \"submenus\", 2);\n__decorateClass([\n r2()\n], JbMenu.prototype, \"_isMobileMenu\", 2);\n__decorateClass([\n r2()\n], JbMenu.prototype, \"_market\", 2);\nJbMenu = __decorateClass([\n customElement(\"jb-menu\")\n], JbMenu);\n\nexport {\n JbMenu\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-service-navigation/jb-service-navigation.scss?inline\nvar jb_service_navigation_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n.service-navigation {\n align-self: center;\n display: var(--display);\n font-size: 0;\n opacity: 1;\n text-decoration: none;\n transition: opacity 0.35s ease-in-out 0.1s;\n}\n.service-navigation__bottom-links {\n margin-bottom: 90px;\n margin-top: 40px;\n text-align: center;\n}\n@media (orientation: landscape) {\n .service-navigation__bottom-links--second-level {\n margin-bottom: 70px;\n }\n}\n.service-navigation--hidden {\n opacity: 0;\n}\n.service-navigation--hide-all-except-first ::slotted(jb-service-navigation-item:nth-child(n+2)) {\n display: none;\n}\n.service-navigation--hide-first ::slotted(jb-service-navigation-item:first-child) {\n display: none;\n}\n.service-navigation--hide-all ::slotted(jb-service-navigation-item) {\n display: none;\n}`;\n\n// src/components/jb-service-navigation/jb-service-navigation.ts\nvar JbServiceNavigation = class extends h {\n render() {\n return ke`\n \n \n \n `;\n }\n};\nJbServiceNavigation.styles = r(jb_service_navigation_default);\n__decorateClass([\n n()\n], JbServiceNavigation.prototype, \"hideItems\", 2);\nJbServiceNavigation = __decorateClass([\n customElement(\"jb-service-navigation\")\n], JbServiceNavigation);\n\nexport {\n JbServiceNavigation\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Linkable\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-service-navigation-item/jb-service-navigation-item.scss?inline\nvar jb_service_navigation_item_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.service-navigation-item__text {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\n.service-navigation-item__text {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.063rem;\n line-height: 1rem;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: inline-block;\n}\n\n.service-navigation-item {\n -moz-osx-font-smoothing: grayscale;\n overflow: hidden;\n position: relative;\n transform: translateZ(0);\n list-style: none;\n position: relative;\n}\n.service-navigation-item::before {\n animation-direction: reverse;\n background-color: rgba(var(--rgb-primary, 255, 255, 255), 0.2);\n bottom: 0;\n content: \"\";\n height: 30px;\n left: 0;\n position: absolute;\n transition: height 0.3s ease 0.2s;\n width: 1px;\n}\n.service-navigation-item::after {\n background: rgba(var(--rgb-primary, 255, 255, 255), 0.2);\n bottom: 0;\n content: \"\";\n height: 1px;\n left: 0;\n position: absolute;\n right: 100%;\n transition: right 0.3s ease-in-out 0.2s;\n}\n.service-navigation-item:hover::before {\n height: 0;\n}\n.service-navigation-item:hover::after {\n right: 10%;\n}\n.service-navigation-item--animate-left::before {\n height: 33px;\n}\n.service-navigation-item--animate-left:hover::after {\n right: 27px;\n transition-delay: 0.2s;\n transition-duration: 0.3s;\n transition-timing-function: ease-in-out;\n}\n.service-navigation-item--animate-left:hover::before {\n height: 0;\n}\n.service-navigation-item__text {\n color: rgb(var(--rgb-primary, 255, 255, 255));\n display: block;\n line-height: 2.25rem;\n padding: 0 27px 0 19px;\n text-decoration: none;\n text-transform: uppercase;\n}\n@media (min-width: 1281px) {\n .service-navigation-item__text {\n padding: 0 27px 0 18px;\n }\n}\n.service-navigation-item.mobile-menu {\n margin-left: 24px;\n}\n.service-navigation-item.mobile-menu.first-element {\n margin-left: 0;\n}\n.service-navigation-item.mobile-menu .service-navigation-item__text {\n line-height: 1rem;\n padding: 0 0 9px;\n}\n.service-navigation-item.mobile-menu::before {\n content: none;\n}\n.service-navigation-item.mobile-menu::after {\n background-color: rgba(255, 255, 255, 0.2);\n width: 100%;\n}`;\n\n// src/components/jb-service-navigation-item/jb-service-navigation-item.ts\nvar JbServiceNavigationItem = class extends Linkable(h) {\n render() {\n return ke`\n \n ${this.text}\n \n `;\n }\n};\nJbServiceNavigationItem.styles = r(jb_service_navigation_item_default);\n__decorateClass([\n n()\n], JbServiceNavigationItem.prototype, \"text\", 2);\nJbServiceNavigationItem = __decorateClass([\n customElement(\"jb-service-navigation-item\")\n], JbServiceNavigationItem);\n\nexport {\n JbServiceNavigationItem\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n Animatable\n} from \"./chunk.VRR2P3PQ.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-secondary-menu-list/jb-secondary-menu-list.scss?inline\nvar jb_secondary_menu_list_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\n.secondary {\n font-size: 0;\n font-size: 0;\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: calc(100% - 2 * var(--row-small-margin, 6.68%));\n display: block;\n height: auto;\n margin-left: var(--row-small-margin, 6.68%);\n margin-right: auto;\n margin-top: -11px;\n overflow: hidden;\n position: absolute;\n transition: opacity 0s 0s, transform 0s 0s, height 0s 0s;\n width: calc(100% - var(--row-small-margin, 6.68%) * 2);\n}\n@media (min-width: 600px) and (max-width: 959px) {\n .secondary {\n width: calc(100% - 2 * 8.35%);\n }\n}\n@media (min-width: 1437px) {\n .secondary {\n max-width: var(--row-max-width, 1436px);\n }\n .secondary:not(.filtered-list) {\n width: 100%;\n }\n}\n@media only screen and (min-width: 960px) and (max-width: 1436px) {\n .secondary {\n margin: 0 6.955%;\n max-width: calc(100% - 6.955% - 6.955%);\n }\n}\n@media (min-width: 600px) {\n .secondary {\n margin-left: 30vw;\n margin-top: -24px;\n transition: opacity 0.4s, max-height 0.4s ease-in-out;\n transition-delay: 0s, 0.6s;\n width: 40vw;\n }\n}\n@media (min-width: 1281px) {\n .secondary {\n margin-top: -11px;\n }\n}\n@media (min-width: 1281px) and (hover: hover) {\n .secondary {\n margin-left: 0;\n }\n}\n@media (hover: none) and (width >= 600px) {\n .secondary {\n transition: opacity 0s, transform 0s, height 0s;\n transition-delay: 0s, 0s, 0s, 0s;\n }\n}\n.secondary jb-menu-item {\n max-height: 100vh;\n}\n.secondary jb-menu-item:nth-child(1) {\n transition: opacity 0.5s ease-in-out 0s;\n}\n.secondary jb-menu-item:nth-child(2) {\n transition: opacity 0.5s ease-in-out 0.1s;\n}\n.secondary jb-menu-item:nth-child(3) {\n transition: opacity 0.5s ease-in-out 0.2s;\n}\n.secondary jb-menu-item:nth-child(4) {\n transition: opacity 0.5s ease-in-out 0.3s;\n}\n.secondary jb-menu-item:nth-child(5) {\n transition: opacity 0.5s ease-in-out 0.4s;\n}\n.secondary jb-menu-item:nth-child(6) {\n transition: opacity 0.5s ease-in-out 0.5s;\n}\n.secondary jb-menu-item:nth-child(7) {\n transition: opacity 0.5s ease-in-out 0.6s;\n}\n.secondary jb-menu-item:nth-child(8) {\n transition: opacity 0.5s ease-in-out 0.7s;\n}\n.secondary jb-menu-item:nth-child(9) {\n transition: opacity 0.5s ease-in-out 0.8s;\n}\n.secondary jb-menu-item:nth-child(10) {\n transition: opacity 0.5s ease-in-out 0.9s;\n}\n.secondary jb-menu-item:nth-child(11) {\n transition: opacity 0.5s ease-in-out 1s;\n}\n.secondary jb-menu-item:nth-child(12) {\n transition: opacity 0.5s ease-in-out 1.1s;\n}\n.secondary jb-menu-item:nth-child(13) {\n transition: opacity 0.5s ease-in-out 1.2s;\n}\n.secondary jb-menu-item:nth-child(14) {\n transition: opacity 0.5s ease-in-out 1.3s;\n}\n.secondary jb-menu-item:nth-child(15) {\n transition: opacity 0.5s ease-in-out 1.4s;\n}\n.secondary jb-menu-item:nth-child(16) {\n transition: opacity 0.5s ease-in-out 1.5s;\n}\n.secondary jb-menu-item:nth-child(17) {\n transition: opacity 0.5s ease-in-out 1.6s;\n}\n.secondary jb-menu-item:nth-child(18) {\n transition: opacity 0.5s ease-in-out 1.7s;\n}\n.secondary jb-menu-item:nth-child(19) {\n transition: opacity 0.5s ease-in-out 1.8s;\n}\n.secondary jb-menu-item:nth-child(20) {\n transition: opacity 0.5s ease-in-out 1.9s;\n}\n.secondary jb-menu-item:nth-child(21) {\n transition: opacity 0.5s ease-in-out 2s;\n}\n.secondary jb-menu-item:nth-child(22) {\n transition: opacity 0.5s ease-in-out 2.1s;\n}\n.secondary jb-menu-item:nth-child(23) {\n transition: opacity 0.5s ease-in-out 2.2s;\n}\n.secondary jb-menu-item:nth-child(24) {\n transition: opacity 0.5s ease-in-out 2.3s;\n}\n.secondary jb-menu-item:nth-child(25) {\n transition: opacity 0.5s ease-in-out 2.4s;\n}\n.secondary jb-menu-item:nth-child(26) {\n transition: opacity 0.5s ease-in-out 2.5s;\n}\n.secondary jb-menu-item:nth-child(27) {\n transition: opacity 0.5s ease-in-out 2.6s;\n}\n.secondary jb-menu-item:nth-child(28) {\n transition: opacity 0.5s ease-in-out 2.7s;\n}\n.secondary jb-menu-item:nth-child(29) {\n transition: opacity 0.5s ease-in-out 2.8s;\n}\n.secondary jb-menu-item:nth-child(30) {\n transition: opacity 0.5s ease-in-out 2.9s;\n}\n.secondary jb-menu-item:nth-child(31) {\n transition: opacity 0.5s ease-in-out 3s;\n}\n.secondary jb-menu-item:nth-child(32) {\n transition: opacity 0.5s ease-in-out 3.1s;\n}\n.secondary jb-menu-item:nth-child(33) {\n transition: opacity 0.5s ease-in-out 3.2s;\n}\n.secondary jb-menu-item:nth-child(34) {\n transition: opacity 0.5s ease-in-out 3.3s;\n}\n.secondary jb-menu-item:nth-child(35) {\n transition: opacity 0.5s ease-in-out 3.4s;\n}\n.secondary jb-menu-item:nth-child(36) {\n transition: opacity 0.5s ease-in-out 3.5s;\n}\n.secondary jb-menu-item:nth-child(37) {\n transition: opacity 0.5s ease-in-out 3.6s;\n}\n.secondary jb-menu-item:nth-child(38) {\n transition: opacity 0.5s ease-in-out 3.7s;\n}\n.secondary jb-menu-item:nth-child(39) {\n transition: opacity 0.5s ease-in-out 3.8s;\n}\n.secondary jb-menu-item:nth-child(40) {\n transition: opacity 0.5s ease-in-out 3.9s;\n}\n.secondary jb-menu-item:nth-child(41) {\n transition: opacity 0.5s ease-in-out 4s;\n}\n.secondary jb-menu-item.hidden {\n max-height: 0;\n opacity: 0 !important;\n overflow: hidden;\n transition: opacity 0.5s ease-in-out, max-height 0s 0.5s;\n z-index: -1 !important;\n}\n.secondary jb-menu-item:first-of-type {\n --padding-top: 0;\n}\n@media (min-width: 600px) {\n .secondary jb-menu-item:first-of-type {\n margin-top: 20px;\n }\n}\n@media (min-width: 1281px) and (hover: hover) {\n .secondary jb-menu-item:first-of-type {\n --padding-top: 10px;\n margin-top: 0;\n }\n}\n.secondary jb-menu-item:last-of-type {\n margin-bottom: 90px;\n}`;\n\n// src/components/jb-secondary-menu-list/jb-secondary-menu-list.ts\nvar JbSecondaryMenuList = class extends Animatable(h) {\n constructor() {\n super(...arguments);\n this.market = \"\";\n }\n _renderMenuItem(item) {\n return ke`

${item.text}

\n `;\n }\n render() {\n return ke`\n
    \n ${this.staticItem && ke``}\n ${this.menuItems.map((item) => this._renderMenuItem(item))}\n
\n `;\n }\n};\nJbSecondaryMenuList.styles = r(jb_secondary_menu_list_default);\n__decorateClass([\n n()\n], JbSecondaryMenuList.prototype, \"market\", 2);\n__decorateClass([\n n({ type: Array })\n], JbSecondaryMenuList.prototype, \"menuItems\", 2);\n__decorateClass([\n n({ type: Object })\n], JbSecondaryMenuList.prototype, \"staticItem\", 2);\nJbSecondaryMenuList = __decorateClass([\n customElement(\"jb-secondary-menu-list\")\n], JbSecondaryMenuList);\n\nexport {\n JbSecondaryMenuList\n};\n", "import {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n Linkable\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-menu-item/jb-menu-item.scss?inline\nvar jb_menu_item_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\na {\n -moz-osx-font-smoothing: grayscale;\n overflow: hidden;\n position: relative;\n transform: translateZ(0);\n}\na::before {\n background: #fff;\n bottom: 5px;\n content: \"\";\n height: 0%;\n position: absolute;\n right: 0;\n transition: height 0.4s ease-out 0s;\n width: 1px;\n}\na::after {\n background-color: rgba(241, 242, 242, 0.3);\n bottom: 5px;\n content: \"\";\n height: 1px;\n left: 0;\n position: absolute;\n transition: all 0.3s ease-in-out 0.4s;\n width: 10%;\n}\na:hover::before {\n height: 50%;\n transition: height 0.6s ease-out 0.5s;\n}\na:hover::after {\n transition: width 0.5s ease-out 0s;\n width: 100%;\n}\n\n/* stylelint-disable */\n/* stylelint-enable */\np {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\n.secondary span, span {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n --padding-bottom: var(--padding-bottom);\n --padding-top: var(--padding-top);\n display: block;\n}\n\nli {\n list-style-type: none;\n opacity: 1;\n padding-top: var(--padding-top, 10px);\n position: relative;\n transition: opacity 0.2s ease-in, transform 0.35s ease-in-out;\n z-index: 100;\n}\nli.secondary {\n --padding-top: 25px;\n}\n@media (min-width: 600px) {\n li.secondary {\n --padding-top: 24px;\n }\n}\n@media (min-width: 1281px) and (hover: hover) {\n li.secondary {\n --padding-top: 21px;\n }\n}\nli.hidden {\n opacity: 0;\n}\n\nli:hover,\nli.active {\n cursor: pointer;\n}\nli:hover a::before,\nli.active a::before {\n bottom: 0;\n height: 0;\n}\nli:hover a::after,\nli.active a::after {\n background-color: rgba(241, 242, 242, 0.3);\n bottom: 0;\n left: 0;\n width: fit;\n}\n@media (min-width: 1281px) {\n li:hover a::after,\n li.active a::after {\n background-color: #fff;\n transition: width 0.3s ease-out 0s;\n width: 100%;\n }\n li:hover a::before,\n li.active a::before {\n height: 20px;\n transition: height 0.25s ease-out 0.35s;\n }\n}\n@media (hover: none) and (min-width: 600px) {\n li:hover a::after,\n li.active a::after {\n background-color: rgba(241, 242, 242, 0.3);\n bottom: 0;\n left: 0;\n width: 40px;\n }\n li:hover a::before,\n li.active a::before {\n bottom: 0;\n height: 0;\n }\n}\n\na {\n color: #fff;\n display: block;\n overflow: hidden;\n padding: 0 20px 7px 0;\n padding-bottom: var(--padding-bottom, 7px);\n position: relative;\n text-decoration: none;\n transition: none;\n width: 100%;\n z-index: 1;\n}\n@media (min-width: 600px) {\n a {\n padding-bottom: var(--padding-bottom, 10px);\n }\n}\n@media (min-width: 1281px) and (hover: hover) {\n a {\n transition: padding-left 0.3s ease-in-out 0s;\n width: fit-content;\n }\n}\n@media (hover: none) and (width >= 600px) {\n a {\n transition: none;\n }\n}\n\na:hover::before {\n height: 0;\n}\n\na:hover::after {\n width: 40px;\n}\n\na::after {\n background-color: rgba(204, 208, 209, 0.2);\n bottom: 0;\n content: \"\";\n left: 0;\n transition: all 0.2s ease-in-out 0.35s;\n width: 40px;\n}\n\na::before {\n bottom: 0;\n height: 0;\n}\n\nspan {\n font-size: 26px;\n font-size: 1.625rem;\n line-height: 35px;\n line-height: 2.1875rem;\n letter-spacing: 0;\n letter-spacing: 0;\n color: #fff;\n position: relative;\n z-index: 1;\n}\n@media (min-width: 1281px) {\n span {\n line-height: 43px;\n line-height: 2.6875rem;\n letter-spacing: normal;\n }\n}\n@media (min-width: 1281px) and (hover: hover) {\n span {\n font-size: 33px;\n font-size: 2.0625rem;\n }\n}\n\n.secondary {\n opacity: 1;\n position: relative;\n transition: opacity 0.35s ease-in;\n}\n.secondary span {\n font-size: 21px;\n font-size: 1.3125rem;\n line-height: 30px;\n line-height: 1.875rem;\n color: #fff;\n}\n@media (min-width: 1281px) and (hover: hover) {\n .secondary span {\n font-size: 22px;\n font-size: 1.375rem;\n }\n}\n.secondary a {\n margin-right: auto;\n padding-bottom: 10px;\n}\n.secondary jb-arrow-forward-icon {\n display: none;\n}\n\np {\n font-size: 11px;\n font-size: 0.6875rem;\n line-height: 16px;\n line-height: 1rem;\n letter-spacing: 1px;\n letter-spacing: 0.0625rem;\n border-left: none;\n color: #fff;\n text-transform: uppercase;\n}\n\njb-arrow-forward-icon {\n fill: #fff;\n height: 27px;\n padding-top: 11px;\n position: absolute;\n right: 8px;\n}\njb-arrow-forward-icon.hidden {\n opacity: 0 !important;\n z-index: -1 !important;\n}\n@media (min-width: 1281px) and (hover: hover) {\n jb-arrow-forward-icon {\n display: none;\n }\n}`;\n\n// src/components/jb-menu-item/jb-menu-item.ts\nvar JbMenuItem = class extends Initiable(Linkable(h)) {\n constructor() {\n super(...arguments);\n this.hidden = false;\n this.type = \"primary\";\n }\n render() {\n return ke`
  • \n \n ${this.text}\n ${this.submenu && ke``} ${this.tag && ke`

    ${this.tag}

    `}\n
    \n
  • `;\n }\n};\nJbMenuItem.styles = r(jb_menu_item_default);\n__decorateClass([\n n({ type: Boolean })\n], JbMenuItem.prototype, \"hidden\", 2);\n__decorateClass([\n n({ type: Object })\n], JbMenuItem.prototype, \"link\", 2);\n__decorateClass([\n n()\n], JbMenuItem.prototype, \"submenu\", 2);\n__decorateClass([\n n()\n], JbMenuItem.prototype, \"tag\", 2);\n__decorateClass([\n n()\n], JbMenuItem.prototype, \"text\", 2);\n__decorateClass([\n n()\n], JbMenuItem.prototype, \"type\", 2);\nJbMenuItem = __decorateClass([\n customElement(\"jb-menu-item\")\n], JbMenuItem);\n\nexport {\n JbMenuItem\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-arrow-forward-icon/jb-arrow-forward-icon.scss?inline\nvar jb_arrow_forward_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: inline-block;\n height: 16px;\n width: 11px;\n}`;\n\n// src/components/icons/jb-arrow-forward-icon/jb-arrow-forward-icon.ts\nvar JbArrowForwardIcon = class extends h {\n render() {\n return ke`\n \n \n \n `;\n }\n};\nJbArrowForwardIcon.styles = r(jb_arrow_forward_icon_default);\nJbArrowForwardIcon = __decorateClass([\n customElement(\"jb-arrow-forward-icon\")\n], JbArrowForwardIcon);\n\nexport {\n JbArrowForwardIcon\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-button-back/jb-button-back.scss?inline\nvar jb_button_back_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nspan span {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\nspan span {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.063rem;\n line-height: 1rem;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nspan {\n align-items: center;\n block-size: 15px;\n cursor: pointer;\n display: flex;\n gap: 18px;\n inline-size: fit-content;\n}\nspan jb-arrow-icon {\n fill: #141e55;\n}\nspan span {\n color: #141e55;\n text-transform: uppercase;\n}\nspan.white jb-arrow-back-icon {\n --stroke-color: #fff;\n}\nspan.white span {\n color: #fff;\n}`;\n\n// src/components/jb-button-back/jb-button-back.ts\nvar JbButtonBack = class extends h {\n render() {\n return ke`\n \n \n ${this.text}\n \n `;\n }\n};\nJbButtonBack.styles = r(jb_button_back_default);\n__decorateClass([\n n({ type: Boolean })\n], JbButtonBack.prototype, \"isWhite\", 2);\n__decorateClass([\n n()\n], JbButtonBack.prototype, \"text\", 2);\nJbButtonBack = __decorateClass([\n customElement(\"jb-button-back\")\n], JbButtonBack);\n\nexport {\n JbButtonBack\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-arrow-back-icon/jb-arrow-back-icon.scss?inline\nvar jb_arrow_back_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: inline-block;\n height: 15px;\n}\n\nsvg {\n fill: var(--stroke-color, #141e55);\n}`;\n\n// src/components/icons/jb-arrow-back-icon/jb-arrow-back-icon.ts\nvar JbArrowBackIcon = class extends h {\n render() {\n return ke`\n \n \n \n `;\n }\n};\nJbArrowBackIcon.styles = r(jb_arrow_back_icon_default);\nJbArrowBackIcon = __decorateClass([\n customElement(\"jb-arrow-back-icon\")\n], JbArrowBackIcon);\n\nexport {\n JbArrowBackIcon\n};\n", "import {\n JbMenu\n} from \"../../chunks/chunk.4MWPCD76.js\";\nimport \"../../chunks/chunk.IK4GS6MF.js\";\nimport \"../../chunks/chunk.VQTQWDQ7.js\";\nimport \"../../chunks/chunk.YHFXFDOO.js\";\nimport \"../../chunks/chunk.OOINLVPA.js\";\nimport \"../../chunks/chunk.BLHU75DH.js\";\nimport \"../../chunks/chunk.JEMJHKRF.js\";\nimport \"../../chunks/chunk.JSKV525N.js\";\nimport \"../../chunks/chunk.UMYVKK54.js\";\nimport \"../../chunks/chunk.YDQDJZUC.js\";\nimport \"../../chunks/chunk.G3SZKTQJ.js\";\nimport \"../../chunks/chunk.YTEMICXC.js\";\nimport \"../../chunks/chunk.LTAMHVKK.js\";\nimport \"../../chunks/chunk.OZEBCGEZ.js\";\nimport \"../../chunks/chunk.TOSSI7AO.js\";\nimport \"../../chunks/chunk.6DHNIVN5.js\";\nimport \"../../chunks/chunk.ABOYTYJO.js\";\nimport \"../../chunks/chunk.7ZO5ST7S.js\";\nimport \"../../chunks/chunk.EELGOWGJ.js\";\nimport \"../../chunks/chunk.WEV4VAJB.js\";\nimport \"../../chunks/chunk.NQ4JNTZU.js\";\nimport \"../../chunks/chunk.KR4IFKAA.js\";\nimport \"../../chunks/chunk.QAGUCU4C.js\";\nimport \"../../chunks/chunk.A4SFXC3I.js\";\nimport \"../../chunks/chunk.KZGIJPE3.js\";\nimport \"../../chunks/chunk.VRR2P3PQ.js\";\nimport \"../../chunks/chunk.7PRSKJZQ.js\";\nimport \"../../chunks/chunk.7ANACPIR.js\";\nimport \"../../chunks/chunk.WXNWU2SV.js\";\nimport \"../../chunks/chunk.FCKNEYTX.js\";\nimport \"../../chunks/chunk.BBN2ZB42.js\";\nimport \"../../chunks/chunk.FAJKIEWS.js\";\nimport \"../../chunks/chunk.I4IFG4JG.js\";\nexport {\n JbMenu\n};\n", "// node_modules/ssr-window/ssr-window.esm.js\nfunction isObject(obj) {\n return obj !== null && typeof obj === \"object\" && \"constructor\" in obj && obj.constructor === Object;\n}\nfunction extend(target = {}, src = {}) {\n Object.keys(src).forEach((key) => {\n if (typeof target[key] === \"undefined\")\n target[key] = src[key];\n else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\nvar ssrDocument = {\n body: {},\n addEventListener() {\n },\n removeEventListener() {\n },\n activeElement: {\n blur() {\n },\n nodeName: \"\"\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() {\n }\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() {\n },\n getElementsByTagName() {\n return [];\n }\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: \"\",\n host: \"\",\n hostname: \"\",\n href: \"\",\n origin: \"\",\n pathname: \"\",\n protocol: \"\",\n search: \"\"\n }\n};\nfunction getDocument() {\n const doc = typeof document !== \"undefined\" ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\nvar ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: \"\"\n },\n location: {\n hash: \"\",\n host: \"\",\n hostname: \"\",\n href: \"\",\n origin: \"\",\n pathname: \"\",\n protocol: \"\",\n search: \"\"\n },\n history: {\n replaceState() {\n },\n pushState() {\n },\n go() {\n },\n back() {\n }\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() {\n },\n removeEventListener() {\n },\n getComputedStyle() {\n return {\n getPropertyValue() {\n return \"\";\n }\n };\n },\n Image() {\n },\n Date() {\n },\n screen: {},\n setTimeout() {\n },\n clearTimeout() {\n },\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === \"undefined\") {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === \"undefined\") {\n return;\n }\n clearTimeout(id);\n }\n};\nfunction getWindow() {\n const win = typeof window !== \"undefined\" ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\n// node_modules/dom7/dom7.esm.js\nfunction makeReactive(obj) {\n const proto = obj.__proto__;\n Object.defineProperty(obj, \"__proto__\", {\n get() {\n return proto;\n },\n set(value) {\n proto.__proto__ = value;\n }\n });\n}\nvar Dom7 = class extends Array {\n constructor(items) {\n if (typeof items === \"number\") {\n super(items);\n } else {\n super(...items || []);\n makeReactive(this);\n }\n }\n};\nfunction arrayFlat(arr = []) {\n const res = [];\n arr.forEach((el) => {\n if (Array.isArray(el)) {\n res.push(...arrayFlat(el));\n } else {\n res.push(el);\n }\n });\n return res;\n}\nfunction arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n}\nfunction arrayUnique(arr) {\n const uniqueArray = [];\n for (let i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n return uniqueArray;\n}\nfunction qsa(selector, context) {\n if (typeof selector !== \"string\") {\n return [selector];\n }\n const a = [];\n const res = context.querySelectorAll(selector);\n for (let i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n return a;\n}\nfunction $(selector, context) {\n const window2 = getWindow();\n const document2 = getDocument();\n let arr = [];\n if (!context && selector instanceof Dom7) {\n return selector;\n }\n if (!selector) {\n return new Dom7(arr);\n }\n if (typeof selector === \"string\") {\n const html2 = selector.trim();\n if (html2.indexOf(\"<\") >= 0 && html2.indexOf(\">\") >= 0) {\n let toCreate = \"div\";\n if (html2.indexOf(\" c.split(\" \")));\n this.forEach((el) => {\n el.classList.add(...classNames);\n });\n return this;\n}\nfunction removeClass(...classes) {\n const classNames = arrayFlat(classes.map((c) => c.split(\" \")));\n this.forEach((el) => {\n el.classList.remove(...classNames);\n });\n return this;\n}\nfunction toggleClass(...classes) {\n const classNames = arrayFlat(classes.map((c) => c.split(\" \")));\n this.forEach((el) => {\n classNames.forEach((className) => {\n el.classList.toggle(className);\n });\n });\n}\nfunction hasClass(...classes) {\n const classNames = arrayFlat(classes.map((c) => c.split(\" \")));\n return arrayFilter(this, (el) => {\n return classNames.filter((className) => el.classList.contains(className)).length > 0;\n }).length > 0;\n}\nfunction attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === \"string\") {\n if (this[0]) return this[0].getAttribute(attrs);\n return void 0;\n }\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n this[i].setAttribute(attrs, value);\n } else {\n for (const attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n return this;\n}\nfunction removeAttr(attr2) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr2);\n }\n return this;\n}\nfunction transform(transform2) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transform = transform2;\n }\n return this;\n}\nfunction transition(duration) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transitionDuration = typeof duration !== \"string\" ? `${duration}ms` : duration;\n }\n return this;\n}\nfunction on(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n if (typeof args[1] === \"function\") {\n [eventType, listener, capture] = args;\n targetSelector = void 0;\n }\n if (!capture) capture = false;\n function handleLiveEvent(e) {\n const target = e.target;\n if (!target) return;\n const eventData = e.target.dom7EventData || [];\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n if ($(target).is(targetSelector)) listener.apply(target, eventData);\n else {\n const parents2 = $(target).parents();\n for (let k = 0; k < parents2.length; k += 1) {\n if ($(parents2[k]).is(targetSelector)) listener.apply(parents2[k], eventData);\n }\n }\n }\n function handleEvent(e) {\n const eventData = e && e.target ? e.target.dom7EventData || [] : [];\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n listener.apply(this, eventData);\n }\n const events2 = eventType.split(\" \");\n let j;\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n if (!targetSelector) {\n for (j = 0; j < events2.length; j += 1) {\n const event2 = events2[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event2]) el.dom7Listeners[event2] = [];\n el.dom7Listeners[event2].push({\n listener,\n proxyListener: handleEvent\n });\n el.addEventListener(event2, handleEvent, capture);\n }\n } else {\n for (j = 0; j < events2.length; j += 1) {\n const event2 = events2[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[event2]) el.dom7LiveListeners[event2] = [];\n el.dom7LiveListeners[event2].push({\n listener,\n proxyListener: handleLiveEvent\n });\n el.addEventListener(event2, handleLiveEvent, capture);\n }\n }\n }\n return this;\n}\nfunction off(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n if (typeof args[1] === \"function\") {\n [eventType, listener, capture] = args;\n targetSelector = void 0;\n }\n if (!capture) capture = false;\n const events2 = eventType.split(\" \");\n for (let i = 0; i < events2.length; i += 1) {\n const event2 = events2[i];\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n let handlers;\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event2];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event2];\n }\n if (handlers && handlers.length) {\n for (let k = handlers.length - 1; k >= 0; k -= 1) {\n const handler = handlers[k];\n if (listener && handler.listener === listener) {\n el.removeEventListener(event2, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event2, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event2, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n return this;\n}\nfunction trigger(...args) {\n const window2 = getWindow();\n const events2 = args[0].split(\" \");\n const eventData = args[1];\n for (let i = 0; i < events2.length; i += 1) {\n const event2 = events2[i];\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n if (window2.CustomEvent) {\n const evt = new window2.CustomEvent(event2, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n el.dom7EventData = args.filter((data, dataIndex) => dataIndex > 0);\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n }\n return this;\n}\nfunction transitionEnd(callback) {\n const dom = this;\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off(\"transitionend\", fireCallBack);\n }\n if (callback) {\n dom.on(\"transitionend\", fireCallBack);\n }\n return this;\n}\nfunction outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles2 = this.styles();\n return this[0].offsetWidth + parseFloat(styles2.getPropertyValue(\"margin-right\")) + parseFloat(styles2.getPropertyValue(\"margin-left\"));\n }\n return this[0].offsetWidth;\n }\n return null;\n}\nfunction outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles2 = this.styles();\n return this[0].offsetHeight + parseFloat(styles2.getPropertyValue(\"margin-top\")) + parseFloat(styles2.getPropertyValue(\"margin-bottom\"));\n }\n return this[0].offsetHeight;\n }\n return null;\n}\nfunction offset() {\n if (this.length > 0) {\n const window2 = getWindow();\n const document2 = getDocument();\n const el = this[0];\n const box = el.getBoundingClientRect();\n const body = document2.body;\n const clientTop = el.clientTop || body.clientTop || 0;\n const clientLeft = el.clientLeft || body.clientLeft || 0;\n const scrollTop = el === window2 ? window2.scrollY : el.scrollTop;\n const scrollLeft = el === window2 ? window2.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n return null;\n}\nfunction styles() {\n const window2 = getWindow();\n if (this[0]) return window2.getComputedStyle(this[0], null);\n return {};\n}\nfunction css(props, value) {\n const window2 = getWindow();\n let i;\n if (arguments.length === 1) {\n if (typeof props === \"string\") {\n if (this[0]) return window2.getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n for (i = 0; i < this.length; i += 1) {\n for (const prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n return this;\n }\n }\n if (arguments.length === 2 && typeof props === \"string\") {\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n return this;\n }\n return this;\n}\nfunction each(callback) {\n if (!callback) return this;\n this.forEach((el, index2) => {\n callback.apply(el, [el, index2]);\n });\n return this;\n}\nfunction filter(callback) {\n const result = arrayFilter(this, callback);\n return $(result);\n}\nfunction html(html2) {\n if (typeof html2 === \"undefined\") {\n return this[0] ? this[0].innerHTML : null;\n }\n for (let i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html2;\n }\n return this;\n}\nfunction text(text2) {\n if (typeof text2 === \"undefined\") {\n return this[0] ? this[0].textContent.trim() : null;\n }\n for (let i = 0; i < this.length; i += 1) {\n this[i].textContent = text2;\n }\n return this;\n}\nfunction is(selector) {\n const window2 = getWindow();\n const document2 = getDocument();\n const el = this[0];\n let compareWith;\n let i;\n if (!el || typeof selector === \"undefined\") return false;\n if (typeof selector === \"string\") {\n if (el.matches) return el.matches(selector);\n if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n compareWith = $(selector);\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n return false;\n }\n if (selector === document2) {\n return el === document2;\n }\n if (selector === window2) {\n return el === window2;\n }\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n return false;\n }\n return false;\n}\nfunction index() {\n let child = this[0];\n let i;\n if (child) {\n i = 0;\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n return i;\n }\n return void 0;\n}\nfunction eq(index2) {\n if (typeof index2 === \"undefined\") return this;\n const length = this.length;\n if (index2 > length - 1) {\n return $([]);\n }\n if (index2 < 0) {\n const returnIndex = length + index2;\n if (returnIndex < 0) return $([]);\n return $([this[returnIndex]]);\n }\n return $([this[index2]]);\n}\nfunction append(...els) {\n let newChild;\n const document2 = getDocument();\n for (let k = 0; k < els.length; k += 1) {\n newChild = els[k];\n for (let i = 0; i < this.length; i += 1) {\n if (typeof newChild === \"string\") {\n const tempDiv = document2.createElement(\"div\");\n tempDiv.innerHTML = newChild;\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (let j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n return this;\n}\nfunction prepend(newChild) {\n const document2 = getDocument();\n let i;\n let j;\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === \"string\") {\n const tempDiv = document2.createElement(\"div\");\n tempDiv.innerHTML = newChild;\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n return this;\n}\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return $([this[0].nextElementSibling]);\n }\n return $([]);\n }\n if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);\n return $([]);\n }\n return $([]);\n}\nfunction nextAll(selector) {\n const nextEls = [];\n let el = this[0];\n if (!el) return $([]);\n while (el.nextElementSibling) {\n const next2 = el.nextElementSibling;\n if (selector) {\n if ($(next2).is(selector)) nextEls.push(next2);\n } else nextEls.push(next2);\n el = next2;\n }\n return $(nextEls);\n}\nfunction prev(selector) {\n if (this.length > 0) {\n const el = this[0];\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return $([el.previousElementSibling]);\n }\n return $([]);\n }\n if (el.previousElementSibling) return $([el.previousElementSibling]);\n return $([]);\n }\n return $([]);\n}\nfunction prevAll(selector) {\n const prevEls = [];\n let el = this[0];\n if (!el) return $([]);\n while (el.previousElementSibling) {\n const prev2 = el.previousElementSibling;\n if (selector) {\n if ($(prev2).is(selector)) prevEls.push(prev2);\n } else prevEls.push(prev2);\n el = prev2;\n }\n return $(prevEls);\n}\nfunction parent(selector) {\n const parents2 = [];\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents2.push(this[i].parentNode);\n } else {\n parents2.push(this[i].parentNode);\n }\n }\n }\n return $(parents2);\n}\nfunction parents(selector) {\n const parents2 = [];\n for (let i = 0; i < this.length; i += 1) {\n let parent2 = this[i].parentNode;\n while (parent2) {\n if (selector) {\n if ($(parent2).is(selector)) parents2.push(parent2);\n } else {\n parents2.push(parent2);\n }\n parent2 = parent2.parentNode;\n }\n }\n return $(parents2);\n}\nfunction closest(selector) {\n let closest2 = this;\n if (typeof selector === \"undefined\") {\n return $([]);\n }\n if (!closest2.is(selector)) {\n closest2 = closest2.parents(selector).eq(0);\n }\n return closest2;\n}\nfunction find(selector) {\n const foundElements = [];\n for (let i = 0; i < this.length; i += 1) {\n const found = this[i].querySelectorAll(selector);\n for (let j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n return $(foundElements);\n}\nfunction children(selector) {\n const children2 = [];\n for (let i = 0; i < this.length; i += 1) {\n const childNodes = this[i].children;\n for (let j = 0; j < childNodes.length; j += 1) {\n if (!selector || $(childNodes[j]).is(selector)) {\n children2.push(childNodes[j]);\n }\n }\n }\n return $(children2);\n}\nfunction remove() {\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n return this;\n}\nvar noTrigger = \"resize scroll\".split(\" \");\nfunction shortcut(name) {\n function eventHandler(...args) {\n if (typeof args[0] === \"undefined\") {\n for (let i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();\n else {\n $(this[i]).trigger(name);\n }\n }\n }\n return this;\n }\n return this.on(name, ...args);\n }\n return eventHandler;\n}\nvar click = shortcut(\"click\");\nvar blur = shortcut(\"blur\");\nvar focus = shortcut(\"focus\");\nvar focusin = shortcut(\"focusin\");\nvar focusout = shortcut(\"focusout\");\nvar keyup = shortcut(\"keyup\");\nvar keydown = shortcut(\"keydown\");\nvar keypress = shortcut(\"keypress\");\nvar submit = shortcut(\"submit\");\nvar change = shortcut(\"change\");\nvar mousedown = shortcut(\"mousedown\");\nvar mousemove = shortcut(\"mousemove\");\nvar mouseup = shortcut(\"mouseup\");\nvar mouseenter = shortcut(\"mouseenter\");\nvar mouseleave = shortcut(\"mouseleave\");\nvar mouseout = shortcut(\"mouseout\");\nvar mouseover = shortcut(\"mouseover\");\nvar touchstart = shortcut(\"touchstart\");\nvar touchend = shortcut(\"touchend\");\nvar touchmove = shortcut(\"touchmove\");\nvar resize = shortcut(\"resize\");\nvar scroll = shortcut(\"scroll\");\n\n// node_modules/swiper/shared/dom.js\nvar Methods = {\n addClass,\n removeClass,\n hasClass,\n toggleClass,\n attr,\n removeAttr,\n transform,\n transition,\n on,\n off,\n trigger,\n transitionEnd,\n outerWidth,\n outerHeight,\n styles,\n offset,\n css,\n each,\n html,\n text,\n is,\n index,\n eq,\n append,\n prepend,\n next,\n nextAll,\n prev,\n prevAll,\n parent,\n parents,\n closest,\n find,\n children,\n filter,\n remove\n};\nObject.keys(Methods).forEach((methodName) => {\n Object.defineProperty($.fn, methodName, {\n value: Methods[methodName],\n writable: true\n });\n});\nvar dom_default = $;\n\n// node_modules/swiper/shared/utils.js\nfunction deleteProps(obj) {\n const object = obj;\n Object.keys(object).forEach((key) => {\n try {\n object[key] = null;\n } catch (e) {\n }\n try {\n delete object[key];\n } catch (e) {\n }\n });\n}\nfunction nextTick(callback, delay = 0) {\n return setTimeout(callback, delay);\n}\nfunction now() {\n return Date.now();\n}\nfunction getComputedStyle2(el) {\n const window2 = getWindow();\n let style;\n if (window2.getComputedStyle) {\n style = window2.getComputedStyle(el, null);\n }\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n if (!style) {\n style = el.style;\n }\n return style;\n}\nfunction getTranslate(el, axis = \"x\") {\n const window2 = getWindow();\n let matrix;\n let curTransform;\n let transformMatrix;\n const curStyle = getComputedStyle2(el, null);\n if (window2.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n if (curTransform.split(\",\").length > 6) {\n curTransform = curTransform.split(\", \").map((a) => a.replace(\",\", \".\")).join(\", \");\n }\n transformMatrix = new window2.WebKitCSSMatrix(curTransform === \"none\" ? \"\" : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue(\"transform\").replace(\"translate(\", \"matrix(1, 0, 0, 1,\");\n matrix = transformMatrix.toString().split(\",\");\n }\n if (axis === \"x\") {\n if (window2.WebKitCSSMatrix) curTransform = transformMatrix.m41;\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]);\n else curTransform = parseFloat(matrix[4]);\n }\n if (axis === \"y\") {\n if (window2.WebKitCSSMatrix) curTransform = transformMatrix.m42;\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]);\n else curTransform = parseFloat(matrix[5]);\n }\n return curTransform || 0;\n}\nfunction isObject2(o) {\n return typeof o === \"object\" && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === \"Object\";\n}\nfunction isNode(node) {\n if (typeof window !== \"undefined\" && typeof window.HTMLElement !== \"undefined\") {\n return node instanceof HTMLElement;\n }\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\nfunction extend2(...args) {\n const to = Object(args[0]);\n const noExtend = [\"__proto__\", \"constructor\", \"prototype\"];\n for (let i = 1; i < args.length; i += 1) {\n const nextSource = args[i];\n if (nextSource !== void 0 && nextSource !== null && !isNode(nextSource)) {\n const keysArray = Object.keys(Object(nextSource)).filter((key) => noExtend.indexOf(key) < 0);\n for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n const nextKey = keysArray[nextIndex];\n const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== void 0 && desc.enumerable) {\n if (isObject2(to[nextKey]) && isObject2(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend2(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject2(to[nextKey]) && isObject2(nextSource[nextKey])) {\n to[nextKey] = {};\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend2(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n return to;\n}\nfunction setCSSProperty(el, varName, varValue) {\n el.style.setProperty(varName, varValue);\n}\nfunction animateCSSModeScroll({\n swiper,\n targetPosition,\n side\n}) {\n const window2 = getWindow();\n const startPosition = -swiper.translate;\n let startTime = null;\n let time;\n const duration = swiper.params.speed;\n swiper.wrapperEl.style.scrollSnapType = \"none\";\n window2.cancelAnimationFrame(swiper.cssModeFrameID);\n const dir = targetPosition > startPosition ? \"next\" : \"prev\";\n const isOutOfBound = (current, target) => {\n return dir === \"next\" && current >= target || dir === \"prev\" && current <= target;\n };\n const animate = () => {\n time = (/* @__PURE__ */ new Date()).getTime();\n if (startTime === null) {\n startTime = time;\n }\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;\n let currentPosition = startPosition + easeProgress * (targetPosition - startPosition);\n if (isOutOfBound(currentPosition, targetPosition)) {\n currentPosition = targetPosition;\n }\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n if (isOutOfBound(currentPosition, targetPosition)) {\n swiper.wrapperEl.style.overflow = \"hidden\";\n swiper.wrapperEl.style.scrollSnapType = \"\";\n setTimeout(() => {\n swiper.wrapperEl.style.overflow = \"\";\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n });\n window2.cancelAnimationFrame(swiper.cssModeFrameID);\n return;\n }\n swiper.cssModeFrameID = window2.requestAnimationFrame(animate);\n };\n animate();\n}\n\n// node_modules/swiper/shared/get-support.js\nvar support;\nfunction calcSupport() {\n const window2 = getWindow();\n const document2 = getDocument();\n return {\n smoothScroll: document2.documentElement && \"scrollBehavior\" in document2.documentElement.style,\n touch: !!(\"ontouchstart\" in window2 || window2.DocumentTouch && document2 instanceof window2.DocumentTouch),\n passiveListener: function checkPassiveListener() {\n let supportsPassive = false;\n try {\n const opts = Object.defineProperty({}, \"passive\", {\n // eslint-disable-next-line\n get() {\n supportsPassive = true;\n }\n });\n window2.addEventListener(\"testPassiveListener\", null, opts);\n } catch (e) {\n }\n return supportsPassive;\n }(),\n gestures: function checkGestures() {\n return \"ongesturestart\" in window2;\n }()\n };\n}\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n return support;\n}\n\n// node_modules/swiper/shared/get-device.js\nvar deviceCached;\nfunction calcDevice({\n userAgent\n} = {}) {\n const support2 = getSupport();\n const window2 = getWindow();\n const platform = window2.navigator.platform;\n const ua = userAgent || window2.navigator.userAgent;\n const device = {\n ios: false,\n android: false\n };\n const screenWidth = window2.screen.width;\n const screenHeight = window2.screen.height;\n const android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/);\n let ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n const ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n const iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n const windows = platform === \"Win32\";\n let macos = platform === \"MacIntel\";\n const iPadScreens = [\"1024x1366\", \"1366x1024\", \"834x1194\", \"1194x834\", \"834x1112\", \"1112x834\", \"768x1024\", \"1024x768\", \"820x1180\", \"1180x820\", \"810x1080\", \"1080x810\"];\n if (!ipad && macos && support2.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, \"13_0_0\"];\n macos = false;\n }\n if (android && !windows) {\n device.os = \"android\";\n device.android = true;\n }\n if (ipad || iphone || ipod) {\n device.os = \"ios\";\n device.ios = true;\n }\n return device;\n}\nfunction getDevice(overrides = {}) {\n if (!deviceCached) {\n deviceCached = calcDevice(overrides);\n }\n return deviceCached;\n}\n\n// node_modules/swiper/shared/get-browser.js\nvar browser;\nfunction calcBrowser() {\n const window2 = getWindow();\n function isSafari() {\n const ua = window2.navigator.userAgent.toLowerCase();\n return ua.indexOf(\"safari\") >= 0 && ua.indexOf(\"chrome\") < 0 && ua.indexOf(\"android\") < 0;\n }\n return {\n isSafari: isSafari(),\n isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window2.navigator.userAgent)\n };\n}\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n return browser;\n}\n\n// node_modules/swiper/core/modules/resize/resize.js\nfunction Resize({\n swiper,\n on: on2,\n emit\n}) {\n const window2 = getWindow();\n let observer = null;\n let animationFrame = null;\n const resizeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit(\"beforeResize\");\n emit(\"resize\");\n };\n const createObserver = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n observer = new ResizeObserver((entries) => {\n animationFrame = window2.requestAnimationFrame(() => {\n const {\n width,\n height\n } = swiper;\n let newWidth = width;\n let newHeight = height;\n entries.forEach(({\n contentBoxSize,\n contentRect,\n target\n }) => {\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n if (newWidth !== width || newHeight !== height) {\n resizeHandler();\n }\n });\n });\n observer.observe(swiper.el);\n };\n const removeObserver = () => {\n if (animationFrame) {\n window2.cancelAnimationFrame(animationFrame);\n }\n if (observer && observer.unobserve && swiper.el) {\n observer.unobserve(swiper.el);\n observer = null;\n }\n };\n const orientationChangeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit(\"orientationchange\");\n };\n on2(\"init\", () => {\n if (swiper.params.resizeObserver && typeof window2.ResizeObserver !== \"undefined\") {\n createObserver();\n return;\n }\n window2.addEventListener(\"resize\", resizeHandler);\n window2.addEventListener(\"orientationchange\", orientationChangeHandler);\n });\n on2(\"destroy\", () => {\n removeObserver();\n window2.removeEventListener(\"resize\", resizeHandler);\n window2.removeEventListener(\"orientationchange\", orientationChangeHandler);\n });\n}\n\n// node_modules/swiper/core/modules/observer/observer.js\nfunction Observer({\n swiper,\n extendParams,\n on: on2,\n emit\n}) {\n const observers = [];\n const window2 = getWindow();\n const attach = (target, options = {}) => {\n const ObserverFunc = window2.MutationObserver || window2.WebkitMutationObserver;\n const observer = new ObserverFunc((mutations) => {\n if (mutations.length === 1) {\n emit(\"observerUpdate\", mutations[0]);\n return;\n }\n const observerUpdate = function observerUpdate2() {\n emit(\"observerUpdate\", mutations[0]);\n };\n if (window2.requestAnimationFrame) {\n window2.requestAnimationFrame(observerUpdate);\n } else {\n window2.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === \"undefined\" ? true : options.attributes,\n childList: typeof options.childList === \"undefined\" ? true : options.childList,\n characterData: typeof options.characterData === \"undefined\" ? true : options.characterData\n });\n observers.push(observer);\n };\n const init = () => {\n if (!swiper.params.observer) return;\n if (swiper.params.observeParents) {\n const containerParents = swiper.$el.parents();\n for (let i = 0; i < containerParents.length; i += 1) {\n attach(containerParents[i]);\n }\n }\n attach(swiper.$el[0], {\n childList: swiper.params.observeSlideChildren\n });\n attach(swiper.$wrapperEl[0], {\n attributes: false\n });\n };\n const destroy = () => {\n observers.forEach((observer) => {\n observer.disconnect();\n });\n observers.splice(0, observers.length);\n };\n extendParams({\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n });\n on2(\"init\", init);\n on2(\"destroy\", destroy);\n}\n\n// node_modules/swiper/core/events-emitter.js\nvar events_emitter_default = {\n on(events2, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== \"function\") return self;\n const method = priority ? \"unshift\" : \"push\";\n events2.split(\" \").forEach((event2) => {\n if (!self.eventsListeners[event2]) self.eventsListeners[event2] = [];\n self.eventsListeners[event2][method](handler);\n });\n return self;\n },\n once(events2, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== \"function\") return self;\n function onceHandler(...args) {\n self.off(events2, onceHandler);\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n handler.apply(self, args);\n }\n onceHandler.__emitterProxy = handler;\n return self.on(events2, onceHandler, priority);\n },\n onAny(handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== \"function\") return self;\n const method = priority ? \"unshift\" : \"push\";\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n return self;\n },\n offAny(handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsAnyListeners) return self;\n const index2 = self.eventsAnyListeners.indexOf(handler);\n if (index2 >= 0) {\n self.eventsAnyListeners.splice(index2, 1);\n }\n return self;\n },\n off(events2, handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n events2.split(\" \").forEach((event2) => {\n if (typeof handler === \"undefined\") {\n self.eventsListeners[event2] = [];\n } else if (self.eventsListeners[event2]) {\n self.eventsListeners[event2].forEach((eventHandler, index2) => {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event2].splice(index2, 1);\n }\n });\n }\n });\n return self;\n },\n emit(...args) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n let events2;\n let data;\n let context;\n if (typeof args[0] === \"string\" || Array.isArray(args[0])) {\n events2 = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events2 = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n data.unshift(context);\n const eventsArray = Array.isArray(events2) ? events2 : events2.split(\" \");\n eventsArray.forEach((event2) => {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach((eventHandler) => {\n eventHandler.apply(context, [event2, ...data]);\n });\n }\n if (self.eventsListeners && self.eventsListeners[event2]) {\n self.eventsListeners[event2].forEach((eventHandler) => {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n};\n\n// node_modules/swiper/core/update/updateSize.js\nfunction updateSize() {\n const swiper = this;\n let width;\n let height;\n const $el = swiper.$el;\n if (typeof swiper.params.width !== \"undefined\" && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = $el[0].clientWidth;\n }\n if (typeof swiper.params.height !== \"undefined\" && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = $el[0].clientHeight;\n }\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n }\n width = width - parseInt($el.css(\"padding-left\") || 0, 10) - parseInt($el.css(\"padding-right\") || 0, 10);\n height = height - parseInt($el.css(\"padding-top\") || 0, 10) - parseInt($el.css(\"padding-bottom\") || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n Object.assign(swiper, {\n width,\n height,\n size: swiper.isHorizontal() ? width : height\n });\n}\n\n// node_modules/swiper/core/update/updateSlides.js\nfunction updateSlides() {\n const swiper = this;\n function getDirectionLabel(property) {\n if (swiper.isHorizontal()) {\n return property;\n }\n return {\n \"width\": \"height\",\n \"margin-top\": \"margin-left\",\n \"margin-bottom \": \"margin-right\",\n \"margin-left\": \"margin-top\",\n \"margin-right\": \"margin-bottom\",\n \"padding-left\": \"padding-top\",\n \"padding-right\": \"padding-bottom\",\n \"marginRight\": \"marginBottom\"\n }[property];\n }\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);\n }\n const params = swiper.params;\n const {\n $wrapperEl,\n size: swiperSize,\n rtlTranslate: rtl,\n wrongRTL\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n const slides = $wrapperEl.children(`.${swiper.params.slideClass}`);\n const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n let snapGrid = [];\n const slidesGrid = [];\n const slidesSizesGrid = [];\n let offsetBefore = params.slidesOffsetBefore;\n if (typeof offsetBefore === \"function\") {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n let offsetAfter = params.slidesOffsetAfter;\n if (typeof offsetAfter === \"function\") {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n const previousSnapGridLength = swiper.snapGrid.length;\n const previousSlidesGridLength = swiper.slidesGrid.length;\n let spaceBetween = params.spaceBetween;\n let slidePosition = -offsetBefore;\n let prevSlideSize = 0;\n let index2 = 0;\n if (typeof swiperSize === \"undefined\") {\n return;\n }\n if (typeof spaceBetween === \"string\" && spaceBetween.indexOf(\"%\") >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace(\"%\", \"\")) / 100 * swiperSize;\n }\n swiper.virtualSize = -spaceBetween;\n if (rtl) slides.css({\n marginLeft: \"\",\n marginBottom: \"\",\n marginTop: \"\"\n });\n else slides.css({\n marginRight: \"\",\n marginBottom: \"\",\n marginTop: \"\"\n });\n if (params.centeredSlides && params.cssMode) {\n setCSSProperty(swiper.wrapperEl, \"--swiper-centered-offset-before\", \"\");\n setCSSProperty(swiper.wrapperEl, \"--swiper-centered-offset-after\", \"\");\n }\n const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;\n if (gridEnabled) {\n swiper.grid.initSlides(slidesLength);\n }\n let slideSize;\n const shouldResetSlideSize = params.slidesPerView === \"auto\" && params.breakpoints && Object.keys(params.breakpoints).filter((key) => {\n return typeof params.breakpoints[key].slidesPerView !== \"undefined\";\n }).length > 0;\n for (let i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n const slide = slides.eq(i);\n if (gridEnabled) {\n swiper.grid.updateSlide(i, slide, slidesLength, getDirectionLabel);\n }\n if (slide.css(\"display\") === \"none\") continue;\n if (params.slidesPerView === \"auto\") {\n if (shouldResetSlideSize) {\n slides[i].style[getDirectionLabel(\"width\")] = ``;\n }\n const slideStyles = getComputedStyle(slide[0]);\n const currentTransform = slide[0].style.transform;\n const currentWebKitTransform = slide[0].style.webkitTransform;\n if (currentTransform) {\n slide[0].style.transform = \"none\";\n }\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = \"none\";\n }\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\n } else {\n const width = getDirectionPropertyValue(slideStyles, \"width\");\n const paddingLeft = getDirectionPropertyValue(slideStyles, \"padding-left\");\n const paddingRight = getDirectionPropertyValue(slideStyles, \"padding-right\");\n const marginLeft = getDirectionPropertyValue(slideStyles, \"margin-left\");\n const marginRight = getDirectionPropertyValue(slideStyles, \"margin-right\");\n const boxSizing = slideStyles.getPropertyValue(\"box-sizing\");\n if (boxSizing && boxSizing === \"border-box\") {\n slideSize = width + marginLeft + marginRight;\n } else {\n const {\n clientWidth,\n offsetWidth\n } = slide[0];\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n if (currentTransform) {\n slide[0].style.transform = currentTransform;\n }\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = currentWebKitTransform;\n }\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n if (slides[i]) {\n slides[i].style[getDirectionLabel(\"width\")] = `${slideSize}px`;\n }\n }\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n slidesSizesGrid.push(slideSize);\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1e3) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index2 % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index2 - Math.min(swiper.params.slidesPerGroupSkip, index2)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index2 += 1;\n }\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n if (rtl && wrongRTL && (params.effect === \"slide\" || params.effect === \"coverflow\")) {\n $wrapperEl.css({\n width: `${swiper.virtualSize + params.spaceBetween}px`\n });\n }\n if (params.setWrapperSize) {\n $wrapperEl.css({\n [getDirectionLabel(\"width\")]: `${swiper.virtualSize + params.spaceBetween}px`\n });\n }\n if (gridEnabled) {\n swiper.grid.updateWrapperSize(slideSize, snapGrid, getDirectionLabel);\n }\n if (!params.centeredSlides) {\n const newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(slidesGridItem);\n }\n }\n snapGrid = newSlidesGrid;\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n if (snapGrid.length === 0) snapGrid = [0];\n if (params.spaceBetween !== 0) {\n const key = swiper.isHorizontal() && rtl ? \"marginLeft\" : getDirectionLabel(\"marginRight\");\n slides.filter((_, slideIndex) => {\n if (!params.cssMode) return true;\n if (slideIndex === slides.length - 1) {\n return false;\n }\n return true;\n }).css({\n [key]: `${spaceBetween}px`\n });\n }\n if (params.centeredSlides && params.centeredSlidesBounds) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach((slideSizeValue) => {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n const maxSnap = allSlidesSize - swiperSize;\n snapGrid = snapGrid.map((snap) => {\n if (snap < 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n if (params.centerInsufficientSlides) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach((slideSizeValue) => {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n if (allSlidesSize < swiperSize) {\n const allSlidesOffset = (swiperSize - allSlidesSize) / 2;\n snapGrid.forEach((snap, snapIndex) => {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach((snap, snapIndex) => {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n Object.assign(swiper, {\n slides,\n snapGrid,\n slidesGrid,\n slidesSizesGrid\n });\n if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {\n setCSSProperty(swiper.wrapperEl, \"--swiper-centered-offset-before\", `${-snapGrid[0]}px`);\n setCSSProperty(swiper.wrapperEl, \"--swiper-centered-offset-after\", `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);\n const addToSnapGrid = -swiper.snapGrid[0];\n const addToSlidesGrid = -swiper.slidesGrid[0];\n swiper.snapGrid = swiper.snapGrid.map((v) => v + addToSnapGrid);\n swiper.slidesGrid = swiper.slidesGrid.map((v) => v + addToSlidesGrid);\n }\n if (slidesLength !== previousSlidesLength) {\n swiper.emit(\"slidesLengthChange\");\n }\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit(\"snapGridLengthChange\");\n }\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit(\"slidesGridLengthChange\");\n }\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n if (!isVirtual && !params.cssMode && (params.effect === \"slide\" || params.effect === \"fade\")) {\n const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;\n const hasClassBackfaceClassAdded = swiper.$el.hasClass(backFaceHiddenClass);\n if (slidesLength <= params.maxBackfaceHiddenSlides) {\n if (!hasClassBackfaceClassAdded) swiper.$el.addClass(backFaceHiddenClass);\n } else if (hasClassBackfaceClassAdded) {\n swiper.$el.removeClass(backFaceHiddenClass);\n }\n }\n}\n\n// node_modules/swiper/core/update/updateAutoHeight.js\nfunction updateAutoHeight(speed) {\n const swiper = this;\n const activeSlides = [];\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let newHeight = 0;\n let i;\n if (typeof speed === \"number\") {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n const getSlideByIndex = (index2) => {\n if (isVirtual) {\n return swiper.slides.filter((el) => parseInt(el.getAttribute(\"data-swiper-slide-index\"), 10) === index2)[0];\n }\n return swiper.slides.eq(index2)[0];\n };\n if (swiper.params.slidesPerView !== \"auto\" && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n (swiper.visibleSlides || dom_default([])).each((slide) => {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n const index2 = swiper.activeIndex + i;\n if (index2 > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index2));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n }\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== \"undefined\") {\n const height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n }\n if (newHeight || newHeight === 0) swiper.$wrapperEl.css(\"height\", `${newHeight}px`);\n}\n\n// node_modules/swiper/core/update/updateSlidesOffset.js\nfunction updateSlidesOffset() {\n const swiper = this;\n const slides = swiper.slides;\n for (let i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;\n }\n}\n\n// node_modules/swiper/core/update/updateSlidesProgress.js\nfunction updateSlidesProgress(translate = this && this.translate || 0) {\n const swiper = this;\n const params = swiper.params;\n const {\n slides,\n rtlTranslate: rtl,\n snapGrid\n } = swiper;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === \"undefined\") swiper.updateSlidesOffset();\n let offsetCenter = -translate;\n if (rtl) offsetCenter = translate;\n slides.removeClass(params.slideVisibleClass);\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n for (let i = 0; i < slides.length; i += 1) {\n const slide = slides[i];\n let slideOffset = slide.swiperSlideOffset;\n if (params.cssMode && params.centeredSlides) {\n slideOffset -= slides[0].swiperSlideOffset;\n }\n const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n const slideBefore = -(offsetCenter - slideOffset);\n const slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n slides.eq(i).addClass(params.slideVisibleClass);\n }\n slide.progress = rtl ? -slideProgress : slideProgress;\n slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;\n }\n swiper.visibleSlides = dom_default(swiper.visibleSlides);\n}\n\n// node_modules/swiper/core/update/updateProgress.js\nfunction updateProgress(translate) {\n const swiper = this;\n if (typeof translate === \"undefined\") {\n const multiplier = swiper.rtlTranslate ? -1 : 1;\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n const params = swiper.params;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n let {\n progress,\n isBeginning,\n isEnd\n } = swiper;\n const wasBeginning = isBeginning;\n const wasEnd = isEnd;\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n isBeginning = progress <= 0;\n isEnd = progress >= 1;\n }\n Object.assign(swiper, {\n progress,\n isBeginning,\n isEnd\n });\n if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n if (isBeginning && !wasBeginning) {\n swiper.emit(\"reachBeginning toEdge\");\n }\n if (isEnd && !wasEnd) {\n swiper.emit(\"reachEnd toEdge\");\n }\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit(\"fromEdge\");\n }\n swiper.emit(\"progress\", progress);\n}\n\n// node_modules/swiper/core/update/updateSlidesClasses.js\nfunction updateSlidesClasses() {\n const swiper = this;\n const {\n slides,\n params,\n $wrapperEl,\n activeIndex,\n realIndex\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n slides.removeClass(`${params.slideActiveClass} ${params.slideNextClass} ${params.slidePrevClass} ${params.slideDuplicateActiveClass} ${params.slideDuplicateNextClass} ${params.slideDuplicatePrevClass}`);\n let activeSlide;\n if (isVirtual) {\n activeSlide = swiper.$wrapperEl.find(`.${params.slideClass}[data-swiper-slide-index=\"${activeIndex}\"]`);\n } else {\n activeSlide = slides.eq(activeIndex);\n }\n activeSlide.addClass(params.slideActiveClass);\n if (params.loop) {\n if (activeSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index=\"${realIndex}\"]`).addClass(params.slideDuplicateActiveClass);\n } else {\n $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index=\"${realIndex}\"]`).addClass(params.slideDuplicateActiveClass);\n }\n }\n let nextSlide = activeSlide.nextAll(`.${params.slideClass}`).eq(0).addClass(params.slideNextClass);\n if (params.loop && nextSlide.length === 0) {\n nextSlide = slides.eq(0);\n nextSlide.addClass(params.slideNextClass);\n }\n let prevSlide = activeSlide.prevAll(`.${params.slideClass}`).eq(0).addClass(params.slidePrevClass);\n if (params.loop && prevSlide.length === 0) {\n prevSlide = slides.eq(-1);\n prevSlide.addClass(params.slidePrevClass);\n }\n if (params.loop) {\n if (nextSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index=\"${nextSlide.attr(\"data-swiper-slide-index\")}\"]`).addClass(params.slideDuplicateNextClass);\n } else {\n $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index=\"${nextSlide.attr(\"data-swiper-slide-index\")}\"]`).addClass(params.slideDuplicateNextClass);\n }\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index=\"${prevSlide.attr(\"data-swiper-slide-index\")}\"]`).addClass(params.slideDuplicatePrevClass);\n } else {\n $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index=\"${prevSlide.attr(\"data-swiper-slide-index\")}\"]`).addClass(params.slideDuplicatePrevClass);\n }\n }\n swiper.emitSlidesClasses();\n}\n\n// node_modules/swiper/core/update/updateActiveIndex.js\nfunction updateActiveIndex(newActiveIndex) {\n const swiper = this;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n const {\n slidesGrid,\n snapGrid,\n params,\n activeIndex: previousIndex,\n realIndex: previousRealIndex,\n snapIndex: previousSnapIndex\n } = swiper;\n let activeIndex = newActiveIndex;\n let snapIndex;\n if (typeof activeIndex === \"undefined\") {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== \"undefined\") {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n }\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === \"undefined\") activeIndex = 0;\n }\n }\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n const skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n if (activeIndex === previousIndex) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit(\"snapIndexChange\");\n }\n return;\n }\n const realIndex = parseInt(swiper.slides.eq(activeIndex).attr(\"data-swiper-slide-index\") || activeIndex, 10);\n Object.assign(swiper, {\n snapIndex,\n realIndex,\n previousIndex,\n activeIndex\n });\n swiper.emit(\"activeIndexChange\");\n swiper.emit(\"snapIndexChange\");\n if (previousRealIndex !== realIndex) {\n swiper.emit(\"realIndexChange\");\n }\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n swiper.emit(\"slideChange\");\n }\n}\n\n// node_modules/swiper/core/update/updateClickedSlide.js\nfunction updateClickedSlide(e) {\n const swiper = this;\n const params = swiper.params;\n const slide = dom_default(e).closest(`.${params.slideClass}`)[0];\n let slideFound = false;\n let slideIndex;\n if (slide) {\n for (let i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt(dom_default(slide).attr(\"data-swiper-slide-index\"), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = void 0;\n swiper.clickedIndex = void 0;\n return;\n }\n if (params.slideToClickedSlide && swiper.clickedIndex !== void 0 && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}\n\n// node_modules/swiper/core/update/index.js\nvar update_default = {\n updateSize,\n updateSlides,\n updateAutoHeight,\n updateSlidesOffset,\n updateSlidesProgress,\n updateProgress,\n updateSlidesClasses,\n updateActiveIndex,\n updateClickedSlide\n};\n\n// node_modules/swiper/core/translate/getTranslate.js\nfunction getSwiperTranslate(axis = this.isHorizontal() ? \"x\" : \"y\") {\n const swiper = this;\n const {\n params,\n rtlTranslate: rtl,\n translate,\n $wrapperEl\n } = swiper;\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n if (params.cssMode) {\n return translate;\n }\n let currentTranslate = getTranslate($wrapperEl[0], axis);\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}\n\n// node_modules/swiper/core/translate/setTranslate.js\nfunction setTranslate(translate, byController) {\n const swiper = this;\n const {\n rtlTranslate: rtl,\n params,\n $wrapperEl,\n wrapperEl,\n progress\n } = swiper;\n let x = 0;\n let y = 0;\n const z = 0;\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? \"scrollLeft\" : \"scrollTop\"] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n $wrapperEl.transform(`translate3d(${x}px, ${y}px, ${z}px)`);\n }\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y;\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n swiper.emit(\"setTranslate\", swiper.translate, byController);\n}\n\n// node_modules/swiper/core/translate/minTranslate.js\nfunction minTranslate() {\n return -this.snapGrid[0];\n}\n\n// node_modules/swiper/core/translate/maxTranslate.js\nfunction maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}\n\n// node_modules/swiper/core/translate/translateTo.js\nfunction translateTo(translate = 0, speed = this.params.speed, runCallbacks = true, translateBounds = true, internal) {\n const swiper = this;\n const {\n params,\n wrapperEl\n } = swiper;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n const minTranslate2 = swiper.minTranslate();\n const maxTranslate2 = swiper.maxTranslate();\n let newTranslate;\n if (translateBounds && translate > minTranslate2) newTranslate = minTranslate2;\n else if (translateBounds && translate < maxTranslate2) newTranslate = maxTranslate2;\n else newTranslate = translate;\n swiper.updateProgress(newTranslate);\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n if (speed === 0) {\n wrapperEl[isH ? \"scrollLeft\" : \"scrollTop\"] = -newTranslate;\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: -newTranslate,\n side: isH ? \"left\" : \"top\"\n });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? \"left\" : \"top\"]: -newTranslate,\n behavior: \"smooth\"\n });\n }\n return true;\n }\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit(\"beforeTransitionStart\", speed, internal);\n swiper.emit(\"transitionEnd\");\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit(\"beforeTransitionStart\", speed, internal);\n swiper.emit(\"transitionStart\");\n }\n if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd3(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener(\"transitionend\", swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener(\"webkitTransitionEnd\", swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n if (runCallbacks) {\n swiper.emit(\"transitionEnd\");\n }\n };\n }\n swiper.$wrapperEl[0].addEventListener(\"transitionend\", swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener(\"webkitTransitionEnd\", swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n return true;\n}\n\n// node_modules/swiper/core/translate/index.js\nvar translate_default = {\n getTranslate: getSwiperTranslate,\n setTranslate,\n minTranslate,\n maxTranslate,\n translateTo\n};\n\n// node_modules/swiper/core/transition/setTransition.js\nfunction setTransition(duration, byController) {\n const swiper = this;\n if (!swiper.params.cssMode) {\n swiper.$wrapperEl.transition(duration);\n }\n swiper.emit(\"setTransition\", duration, byController);\n}\n\n// node_modules/swiper/core/transition/transitionEmit.js\nfunction transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step\n}) {\n const {\n activeIndex,\n previousIndex\n } = swiper;\n let dir = direction;\n if (!dir) {\n if (activeIndex > previousIndex) dir = \"next\";\n else if (activeIndex < previousIndex) dir = \"prev\";\n else dir = \"reset\";\n }\n swiper.emit(`transition${step}`);\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === \"reset\") {\n swiper.emit(`slideResetTransition${step}`);\n return;\n }\n swiper.emit(`slideChangeTransition${step}`);\n if (dir === \"next\") {\n swiper.emit(`slideNextTransition${step}`);\n } else {\n swiper.emit(`slidePrevTransition${step}`);\n }\n }\n}\n\n// node_modules/swiper/core/transition/transitionStart.js\nfunction transitionStart(runCallbacks = true, direction) {\n const swiper = this;\n const {\n params\n } = swiper;\n if (params.cssMode) return;\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: \"Start\"\n });\n}\n\n// node_modules/swiper/core/transition/transitionEnd.js\nfunction transitionEnd2(runCallbacks = true, direction) {\n const swiper = this;\n const {\n params\n } = swiper;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: \"End\"\n });\n}\n\n// node_modules/swiper/core/transition/index.js\nvar transition_default = {\n setTransition,\n transitionStart,\n transitionEnd: transitionEnd2\n};\n\n// node_modules/swiper/core/slide/slideTo.js\nfunction slideTo(index2 = 0, speed = this.params.speed, runCallbacks = true, internal, initial) {\n if (typeof index2 !== \"number\" && typeof index2 !== \"string\") {\n throw new Error(`The 'index' argument cannot have type other than 'number' or 'string'. [${typeof index2}] given.`);\n }\n if (typeof index2 === \"string\") {\n const indexAsNumber = parseInt(index2, 10);\n const isValidNumber = isFinite(indexAsNumber);\n if (!isValidNumber) {\n throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${index2}] given.`);\n }\n index2 = indexAsNumber;\n }\n const swiper = this;\n let slideIndex = index2;\n if (slideIndex < 0) slideIndex = 0;\n const {\n params,\n snapGrid,\n slidesGrid,\n previousIndex,\n activeIndex,\n rtlTranslate: rtl,\n wrapperEl,\n enabled\n } = swiper;\n if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {\n return false;\n }\n const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n const translate = -snapGrid[snapIndex];\n if (params.normalizeSlideIndex) {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n const normalizedTranslate = -Math.floor(translate * 100);\n const normalizedGrid = Math.floor(slidesGrid[i] * 100);\n const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n if (typeof slidesGrid[i + 1] !== \"undefined\") {\n if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGrid) {\n slideIndex = i;\n }\n }\n }\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\n return false;\n }\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) return false;\n }\n }\n if (slideIndex !== (previousIndex || 0) && runCallbacks) {\n swiper.emit(\"beforeSlideChangeStart\");\n }\n swiper.updateProgress(translate);\n let direction;\n if (slideIndex > activeIndex) direction = \"next\";\n else if (slideIndex < activeIndex) direction = \"prev\";\n else direction = \"reset\";\n if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\n swiper.updateActiveIndex(slideIndex);\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n swiper.updateSlidesClasses();\n if (params.effect !== \"slide\") {\n swiper.setTranslate(translate);\n }\n if (direction !== \"reset\") {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n return false;\n }\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n const t = rtl ? translate : -translate;\n if (speed === 0) {\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n if (isVirtual) {\n swiper.wrapperEl.style.scrollSnapType = \"none\";\n swiper._immediateVirtual = true;\n }\n wrapperEl[isH ? \"scrollLeft\" : \"scrollTop\"] = t;\n if (isVirtual) {\n requestAnimationFrame(() => {\n swiper.wrapperEl.style.scrollSnapType = \"\";\n swiper._swiperImmediateVirtual = false;\n });\n }\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: t,\n side: isH ? \"left\" : \"top\"\n });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? \"left\" : \"top\"]: t,\n behavior: \"smooth\"\n });\n }\n return true;\n }\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit(\"beforeTransitionStart\", speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n if (speed === 0) {\n swiper.transitionEnd(runCallbacks, direction);\n } else if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd3(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener(\"transitionend\", swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener(\"webkitTransitionEnd\", swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n swiper.$wrapperEl[0].addEventListener(\"transitionend\", swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener(\"webkitTransitionEnd\", swiper.onSlideToWrapperTransitionEnd);\n }\n return true;\n}\n\n// node_modules/swiper/core/slide/slideToLoop.js\nfunction slideToLoop(index2 = 0, speed = this.params.speed, runCallbacks = true, internal) {\n if (typeof index2 === \"string\") {\n const indexAsNumber = parseInt(index2, 10);\n const isValidNumber = isFinite(indexAsNumber);\n if (!isValidNumber) {\n throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${index2}] given.`);\n }\n index2 = indexAsNumber;\n }\n const swiper = this;\n let newIndex = index2;\n if (swiper.params.loop) {\n newIndex += swiper.loopedSlides;\n }\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n}\n\n// node_modules/swiper/core/slide/slideNext.js\nfunction slideNext(speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n const {\n animating,\n enabled,\n params\n } = swiper;\n if (!enabled) return swiper;\n let perGroup = params.slidesPerGroup;\n if (params.slidesPerView === \"auto\" && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n perGroup = Math.max(swiper.slidesPerViewDynamic(\"current\", true), 1);\n }\n const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix();\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n if (params.rewind && swiper.isEnd) {\n return swiper.slideTo(0, speed, runCallbacks, internal);\n }\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}\n\n// node_modules/swiper/core/slide/slidePrev.js\nfunction slidePrev(speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n const {\n params,\n animating,\n snapGrid,\n slidesGrid,\n rtlTranslate,\n enabled\n } = swiper;\n if (!enabled) return swiper;\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix();\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n const translate = rtlTranslate ? swiper.translate : -swiper.translate;\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n const normalizedTranslate = normalize(translate);\n const normalizedSnapGrid = snapGrid.map((val) => normalize(val));\n let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n if (typeof prevSnap === \"undefined\" && params.cssMode) {\n let prevSnapIndex;\n snapGrid.forEach((snap, snapIndex) => {\n if (normalizedTranslate >= snap) {\n prevSnapIndex = snapIndex;\n }\n });\n if (typeof prevSnapIndex !== \"undefined\") {\n prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];\n }\n }\n let prevIndex = 0;\n if (typeof prevSnap !== \"undefined\") {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n if (params.slidesPerView === \"auto\" && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n prevIndex = prevIndex - swiper.slidesPerViewDynamic(\"previous\", true) + 1;\n prevIndex = Math.max(prevIndex, 0);\n }\n }\n if (params.rewind && swiper.isBeginning) {\n const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n return swiper.slideTo(lastIndex, speed, runCallbacks, internal);\n }\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}\n\n// node_modules/swiper/core/slide/slideReset.js\nfunction slideReset(speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}\n\n// node_modules/swiper/core/slide/slideToClosest.js\nfunction slideToClosest(speed = this.params.speed, runCallbacks = true, internal, threshold = 0.5) {\n const swiper = this;\n let index2 = swiper.activeIndex;\n const skip = Math.min(swiper.params.slidesPerGroupSkip, index2);\n const snapIndex = skip + Math.floor((index2 - skip) / swiper.params.slidesPerGroup);\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n if (translate >= swiper.snapGrid[snapIndex]) {\n const currentSnap = swiper.snapGrid[snapIndex];\n const nextSnap = swiper.snapGrid[snapIndex + 1];\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index2 += swiper.params.slidesPerGroup;\n }\n } else {\n const prevSnap = swiper.snapGrid[snapIndex - 1];\n const currentSnap = swiper.snapGrid[snapIndex];\n if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {\n index2 -= swiper.params.slidesPerGroup;\n }\n }\n index2 = Math.max(index2, 0);\n index2 = Math.min(index2, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index2, speed, runCallbacks, internal);\n}\n\n// node_modules/swiper/core/slide/slideToClickedSlide.js\nfunction slideToClickedSlide() {\n const swiper = this;\n const {\n params,\n $wrapperEl\n } = swiper;\n const slidesPerView = params.slidesPerView === \"auto\" ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n let slideToIndex = swiper.clickedIndex;\n let realIndex;\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt(dom_default(swiper.clickedSlide).attr(\"data-swiper-slide-index\"), 10);\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index=\"${realIndex}\"]:not(.${params.slideDuplicateClass})`).eq(0).index();\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index=\"${realIndex}\"]:not(.${params.slideDuplicateClass})`).eq(0).index();\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}\n\n// node_modules/swiper/core/slide/index.js\nvar slide_default = {\n slideTo,\n slideToLoop,\n slideNext,\n slidePrev,\n slideReset,\n slideToClosest,\n slideToClickedSlide\n};\n\n// node_modules/swiper/core/loop/loopCreate.js\nfunction loopCreate() {\n const swiper = this;\n const document2 = getDocument();\n const {\n params,\n $wrapperEl\n } = swiper;\n const $selector = $wrapperEl.children().length > 0 ? dom_default($wrapperEl.children()[0].parentNode) : $wrapperEl;\n $selector.children(`.${params.slideClass}.${params.slideDuplicateClass}`).remove();\n let slides = $selector.children(`.${params.slideClass}`);\n if (params.loopFillGroupWithBlank) {\n const blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;\n if (blankSlidesNum !== params.slidesPerGroup) {\n for (let i = 0; i < blankSlidesNum; i += 1) {\n const blankNode = dom_default(document2.createElement(\"div\")).addClass(`${params.slideClass} ${params.slideBlankClass}`);\n $selector.append(blankNode);\n }\n slides = $selector.children(`.${params.slideClass}`);\n }\n }\n if (params.slidesPerView === \"auto\" && !params.loopedSlides) params.loopedSlides = slides.length;\n swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));\n swiper.loopedSlides += params.loopAdditionalSlides;\n if (swiper.loopedSlides > slides.length && swiper.params.loopedSlidesLimit) {\n swiper.loopedSlides = slides.length;\n }\n const prependSlides = [];\n const appendSlides = [];\n slides.each((el, index2) => {\n const slide = dom_default(el);\n slide.attr(\"data-swiper-slide-index\", index2);\n });\n for (let i = 0; i < swiper.loopedSlides; i += 1) {\n const index2 = i - Math.floor(i / slides.length) * slides.length;\n appendSlides.push(slides.eq(index2)[0]);\n prependSlides.unshift(slides.eq(slides.length - index2 - 1)[0]);\n }\n for (let i = 0; i < appendSlides.length; i += 1) {\n $selector.append(dom_default(appendSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n for (let i = prependSlides.length - 1; i >= 0; i -= 1) {\n $selector.prepend(dom_default(prependSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n}\n\n// node_modules/swiper/core/loop/loopFix.js\nfunction loopFix() {\n const swiper = this;\n swiper.emit(\"beforeLoopFix\");\n const {\n activeIndex,\n slides,\n loopedSlides,\n allowSlidePrev,\n allowSlideNext,\n snapGrid,\n rtlTranslate: rtl\n } = swiper;\n let newIndex;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n const snapTranslate = -snapGrid[activeIndex];\n const diff = snapTranslate - swiper.getTranslate();\n if (activeIndex < loopedSlides) {\n newIndex = slides.length - loopedSlides * 3 + activeIndex;\n newIndex += loopedSlides;\n const slideChanged = swiper.slideTo(newIndex, 0, false, true);\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n } else if (activeIndex >= slides.length - loopedSlides) {\n newIndex = -slides.length + activeIndex + loopedSlides;\n newIndex += loopedSlides;\n const slideChanged = swiper.slideTo(newIndex, 0, false, true);\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit(\"loopFix\");\n}\n\n// node_modules/swiper/core/loop/loopDestroy.js\nfunction loopDestroy() {\n const swiper = this;\n const {\n $wrapperEl,\n params,\n slides\n } = swiper;\n $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass},.${params.slideClass}.${params.slideBlankClass}`).remove();\n slides.removeAttr(\"data-swiper-slide-index\");\n}\n\n// node_modules/swiper/core/loop/index.js\nvar loop_default = {\n loopCreate,\n loopFix,\n loopDestroy\n};\n\n// node_modules/swiper/core/grab-cursor/setGrabCursor.js\nfunction setGrabCursor(moving) {\n const swiper = this;\n if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n const el = swiper.params.touchEventsTarget === \"container\" ? swiper.el : swiper.wrapperEl;\n el.style.cursor = \"move\";\n el.style.cursor = moving ? \"grabbing\" : \"grab\";\n}\n\n// node_modules/swiper/core/grab-cursor/unsetGrabCursor.js\nfunction unsetGrabCursor() {\n const swiper = this;\n if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n swiper[swiper.params.touchEventsTarget === \"container\" ? \"el\" : \"wrapperEl\"].style.cursor = \"\";\n}\n\n// node_modules/swiper/core/grab-cursor/index.js\nvar grab_cursor_default = {\n setGrabCursor,\n unsetGrabCursor\n};\n\n// node_modules/swiper/core/events/onTouchStart.js\nfunction closestElement(selector, base = this) {\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n const found = el.closest(selector);\n if (!found && !el.getRootNode) {\n return null;\n }\n return found || __closestFrom(el.getRootNode().host);\n }\n return __closestFrom(base);\n}\nfunction onTouchStart(event2) {\n const swiper = this;\n const document2 = getDocument();\n const window2 = getWindow();\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n enabled\n } = swiper;\n if (!enabled) return;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n if (!swiper.animating && params.cssMode && params.loop) {\n swiper.loopFix();\n }\n let e = event2;\n if (e.originalEvent) e = e.originalEvent;\n let $targetEl = dom_default(e.target);\n if (params.touchEventsTarget === \"wrapper\") {\n if (!$targetEl.closest(swiper.wrapperEl).length) return;\n }\n data.isTouchEvent = e.type === \"touchstart\";\n if (!data.isTouchEvent && \"which\" in e && e.which === 3) return;\n if (!data.isTouchEvent && \"button\" in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return;\n const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== \"\";\n const eventPath = event2.composedPath ? event2.composedPath() : event2.path;\n if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {\n $targetEl = dom_default(eventPath[0]);\n }\n const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`;\n const isTargetShadow = !!(e.target && e.target.shadowRoot);\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, $targetEl[0]) : $targetEl.closest(noSwipingSelector)[0])) {\n swiper.allowClick = true;\n return;\n }\n if (params.swipeHandler) {\n if (!$targetEl.closest(params.swipeHandler)[0]) return;\n }\n touches.currentX = e.type === \"touchstart\" ? e.targetTouches[0].pageX : e.pageX;\n touches.currentY = e.type === \"touchstart\" ? e.targetTouches[0].pageY : e.pageY;\n const startX = touches.currentX;\n const startY = touches.currentY;\n const edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n const edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window2.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === \"prevent\") {\n event2.preventDefault();\n } else {\n return;\n }\n }\n Object.assign(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: void 0,\n startMoving: void 0\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = void 0;\n if (params.threshold > 0) data.allowThresholdMove = false;\n if (e.type !== \"touchstart\") {\n let preventDefault = true;\n if ($targetEl.is(data.focusableElements)) {\n preventDefault = false;\n if ($targetEl[0].nodeName === \"SELECT\") {\n data.isTouched = false;\n }\n }\n if (document2.activeElement && dom_default(document2.activeElement).is(data.focusableElements) && document2.activeElement !== $targetEl[0]) {\n document2.activeElement.blur();\n }\n const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !$targetEl[0].isContentEditable) {\n e.preventDefault();\n }\n }\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {\n swiper.freeMode.onTouchStart();\n }\n swiper.emit(\"touchStart\", e);\n}\n\n// node_modules/swiper/core/events/onTouchMove.js\nfunction onTouchMove(event2) {\n const document2 = getDocument();\n const swiper = this;\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n enabled\n } = swiper;\n if (!enabled) return;\n let e = event2;\n if (e.originalEvent) e = e.originalEvent;\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit(\"touchMoveOpposite\", e);\n }\n return;\n }\n if (data.isTouchEvent && e.type !== \"touchmove\") return;\n const targetTouch = e.type === \"touchmove\" && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);\n const pageX = e.type === \"touchmove\" ? targetTouch.pageX : e.pageX;\n const pageY = e.type === \"touchmove\" ? targetTouch.pageY : e.pageY;\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n if (!swiper.allowTouchMove) {\n if (!dom_default(e.target).is(data.focusableElements)) {\n swiper.allowClick = false;\n }\n if (data.isTouched) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n return;\n }\n if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n if (data.isTouchEvent && document2.activeElement) {\n if (e.target === document2.activeElement && dom_default(e.target).is(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n if (data.allowTouchCallbacks) {\n swiper.emit(\"touchMove\", e);\n }\n if (e.targetTouches && e.targetTouches.length > 1) return;\n touches.currentX = pageX;\n touches.currentY = pageY;\n const diffX = touches.currentX - touches.startX;\n const diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;\n if (typeof data.isScrolling === \"undefined\") {\n let touchAngle;\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n if (data.isScrolling) {\n swiper.emit(\"touchMoveOpposite\", e);\n }\n if (typeof data.startMoving === \"undefined\") {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n if (!data.startMoving) {\n return;\n }\n swiper.allowClick = false;\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n if (!data.isMoved) {\n if (params.loop && !params.cssMode) {\n swiper.loopFix();\n }\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n if (swiper.animating) {\n swiper.$wrapperEl.trigger(\"webkitTransitionEnd transitionend\");\n }\n data.allowMomentumBounce = false;\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n swiper.emit(\"sliderFirstMove\", e);\n }\n swiper.emit(\"sliderMove\", e);\n data.isMoved = true;\n let diff = swiper.isHorizontal() ? diffX : diffY;\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) diff = -diff;\n swiper.swipeDirection = diff > 0 ? \"prev\" : \"next\";\n data.currentTranslate = diff + data.startTranslate;\n let disableParentSwiper = true;\n let resistanceRatio = params.resistanceRatio;\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;\n }\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n }\n if (!swiper.allowSlideNext && swiper.swipeDirection === \"next\" && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && swiper.swipeDirection === \"prev\" && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n }\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n if (!params.followFinger || params.cssMode) return;\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n if (swiper.params.freeMode && params.freeMode.enabled && swiper.freeMode) {\n swiper.freeMode.onTouchMove();\n }\n swiper.updateProgress(data.currentTranslate);\n swiper.setTranslate(data.currentTranslate);\n}\n\n// node_modules/swiper/core/events/onTouchEnd.js\nfunction onTouchEnd(event2) {\n const swiper = this;\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n slidesGrid,\n enabled\n } = swiper;\n if (!enabled) return;\n let e = event2;\n if (e.originalEvent) e = e.originalEvent;\n if (data.allowTouchCallbacks) {\n swiper.emit(\"touchEnd\", e);\n }\n data.allowTouchCallbacks = false;\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n }\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime;\n if (swiper.allowClick) {\n const pathTree = e.path || e.composedPath && e.composedPath();\n swiper.updateClickedSlide(pathTree && pathTree[0] || e.target);\n swiper.emit(\"tap click\", e);\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit(\"doubleTap doubleClick\", e);\n }\n }\n data.lastClickTime = now();\n nextTick(() => {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n let currentPos;\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n if (params.cssMode) {\n return;\n }\n if (swiper.params.freeMode && params.freeMode.enabled) {\n swiper.freeMode.onTouchEnd({\n currentPos\n });\n return;\n }\n let stopIndex = 0;\n let groupSize = swiper.slidesSizesGrid[0];\n for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n const increment2 = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (typeof slidesGrid[i + increment2] !== \"undefined\") {\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment2]) {\n stopIndex = i;\n groupSize = slidesGrid[i + increment2] - slidesGrid[i];\n }\n } else if (currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n }\n let rewindFirstIndex = null;\n let rewindLastIndex = null;\n if (params.rewind) {\n if (swiper.isBeginning) {\n rewindLastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n } else if (swiper.isEnd) {\n rewindFirstIndex = 0;\n }\n }\n const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (timeDiff > params.longSwipesMs) {\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (swiper.swipeDirection === \"next\") {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);\n else swiper.slideTo(stopIndex);\n }\n if (swiper.swipeDirection === \"prev\") {\n if (ratio > 1 - params.longSwipesRatio) {\n swiper.slideTo(stopIndex + increment);\n } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {\n swiper.slideTo(rewindLastIndex);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n } else {\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === \"next\") {\n swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);\n }\n if (swiper.swipeDirection === \"prev\") {\n swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}\n\n// node_modules/swiper/core/events/onResize.js\nfunction onResize() {\n const swiper = this;\n const {\n params,\n el\n } = swiper;\n if (el && el.offsetWidth === 0) return;\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n const {\n allowSlideNext,\n allowSlidePrev,\n snapGrid\n } = swiper;\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n if ((params.slidesPerView === \"auto\" || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.run();\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}\n\n// node_modules/swiper/core/events/onClick.js\nfunction onClick(e) {\n const swiper = this;\n if (!swiper.enabled) return;\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}\n\n// node_modules/swiper/core/events/onScroll.js\nfunction onScroll() {\n const swiper = this;\n const {\n wrapperEl,\n rtlTranslate,\n enabled\n } = swiper;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n if (swiper.isHorizontal()) {\n swiper.translate = -wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n }\n if (swiper.translate === 0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n swiper.emit(\"setTranslate\", swiper.translate, false);\n}\n\n// node_modules/swiper/core/events/index.js\nvar dummyEventAttached = false;\nfunction dummyEventListener() {\n}\nvar events = (swiper, method) => {\n const document2 = getDocument();\n const {\n params,\n touchEvents,\n el,\n wrapperEl,\n device,\n support: support2\n } = swiper;\n const capture = !!params.nested;\n const domMethod = method === \"on\" ? \"addEventListener\" : \"removeEventListener\";\n const swiperMethod = method;\n if (!support2.touch) {\n el[domMethod](touchEvents.start, swiper.onTouchStart, false);\n document2[domMethod](touchEvents.move, swiper.onTouchMove, capture);\n document2[domMethod](touchEvents.end, swiper.onTouchEnd, false);\n } else {\n const passiveListener = touchEvents.start === \"touchstart\" && support2.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el[domMethod](touchEvents.start, swiper.onTouchStart, passiveListener);\n el[domMethod](touchEvents.move, swiper.onTouchMove, support2.passiveListener ? {\n passive: false,\n capture\n } : capture);\n el[domMethod](touchEvents.end, swiper.onTouchEnd, passiveListener);\n if (touchEvents.cancel) {\n el[domMethod](touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n }\n if (params.preventClicks || params.preventClicksPropagation) {\n el[domMethod](\"click\", swiper.onClick, true);\n }\n if (params.cssMode) {\n wrapperEl[domMethod](\"scroll\", swiper.onScroll);\n }\n if (params.updateOnWindowResize) {\n swiper[swiperMethod](device.ios || device.android ? \"resize orientationchange observerUpdate\" : \"resize observerUpdate\", onResize, true);\n } else {\n swiper[swiperMethod](\"observerUpdate\", onResize, true);\n }\n};\nfunction attachEvents() {\n const swiper = this;\n const document2 = getDocument();\n const {\n params,\n support: support2\n } = swiper;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n swiper.onClick = onClick.bind(swiper);\n if (support2.touch && !dummyEventAttached) {\n document2.addEventListener(\"touchstart\", dummyEventListener);\n dummyEventAttached = true;\n }\n events(swiper, \"on\");\n}\nfunction detachEvents() {\n const swiper = this;\n events(swiper, \"off\");\n}\nvar events_default = {\n attachEvents,\n detachEvents\n};\n\n// node_modules/swiper/core/breakpoints/setBreakpoint.js\nvar isGridEnabled = (swiper, params) => {\n return swiper.grid && params.grid && params.grid.rows > 1;\n};\nfunction setBreakpoint() {\n const swiper = this;\n const {\n activeIndex,\n initialized,\n loopedSlides = 0,\n params,\n $el\n } = swiper;\n const breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return;\n const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : void 0;\n const breakpointParams = breakpointOnlyParams || swiper.originalParams;\n const wasMultiRow = isGridEnabled(swiper, params);\n const isMultiRow = isGridEnabled(swiper, breakpointParams);\n const wasEnabled = params.enabled;\n if (wasMultiRow && !isMultiRow) {\n $el.removeClass(`${params.containerModifierClass}grid ${params.containerModifierClass}grid-column`);\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n $el.addClass(`${params.containerModifierClass}grid`);\n if (breakpointParams.grid.fill && breakpointParams.grid.fill === \"column\" || !breakpointParams.grid.fill && params.grid.fill === \"column\") {\n $el.addClass(`${params.containerModifierClass}grid-column`);\n }\n swiper.emitContainerClasses();\n }\n [\"navigation\", \"pagination\", \"scrollbar\"].forEach((prop) => {\n const wasModuleEnabled = params[prop] && params[prop].enabled;\n const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;\n if (wasModuleEnabled && !isModuleEnabled) {\n swiper[prop].disable();\n }\n if (!wasModuleEnabled && isModuleEnabled) {\n swiper[prop].enable();\n }\n });\n const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n extend2(swiper.params, breakpointParams);\n const isEnabled = swiper.params.enabled;\n Object.assign(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n swiper.currentBreakpoint = breakpoint;\n swiper.emit(\"_beforeBreakpoint\", breakpointParams);\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate();\n swiper.updateSlides();\n swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);\n }\n swiper.emit(\"breakpoint\", breakpointParams);\n}\n\n// node_modules/swiper/core/breakpoints/getBreakpoint.js\nfunction getBreakpoint(breakpoints, base = \"window\", containerEl) {\n if (!breakpoints || base === \"container\" && !containerEl) return void 0;\n let breakpoint = false;\n const window2 = getWindow();\n const currentHeight = base === \"window\" ? window2.innerHeight : containerEl.clientHeight;\n const points = Object.keys(breakpoints).map((point) => {\n if (typeof point === \"string\" && point.indexOf(\"@\") === 0) {\n const minRatio = parseFloat(point.substr(1));\n const value = currentHeight * minRatio;\n return {\n value,\n point\n };\n }\n return {\n value: point,\n point\n };\n });\n points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));\n for (let i = 0; i < points.length; i += 1) {\n const {\n point,\n value\n } = points[i];\n if (base === \"window\") {\n if (window2.matchMedia(`(min-width: ${value}px)`).matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n return breakpoint || \"max\";\n}\n\n// node_modules/swiper/core/breakpoints/index.js\nvar breakpoints_default = {\n setBreakpoint,\n getBreakpoint\n};\n\n// node_modules/swiper/core/classes/addClasses.js\nfunction prepareClasses(entries, prefix) {\n const resultClasses = [];\n entries.forEach((item) => {\n if (typeof item === \"object\") {\n Object.keys(item).forEach((classNames) => {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === \"string\") {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\nfunction addClasses() {\n const swiper = this;\n const {\n classNames,\n params,\n rtl,\n $el,\n device,\n support: support2\n } = swiper;\n const suffixes = prepareClasses([\"initialized\", params.direction, {\n \"pointer-events\": !support2.touch\n }, {\n \"free-mode\": swiper.params.freeMode && params.freeMode.enabled\n }, {\n \"autoheight\": params.autoHeight\n }, {\n \"rtl\": rtl\n }, {\n \"grid\": params.grid && params.grid.rows > 1\n }, {\n \"grid-column\": params.grid && params.grid.rows > 1 && params.grid.fill === \"column\"\n }, {\n \"android\": device.android\n }, {\n \"ios\": device.ios\n }, {\n \"css-mode\": params.cssMode\n }, {\n \"centered\": params.cssMode && params.centeredSlides\n }, {\n \"watch-progress\": params.watchSlidesProgress\n }], params.containerModifierClass);\n classNames.push(...suffixes);\n $el.addClass([...classNames].join(\" \"));\n swiper.emitContainerClasses();\n}\n\n// node_modules/swiper/core/classes/removeClasses.js\nfunction removeClasses() {\n const swiper = this;\n const {\n $el,\n classNames\n } = swiper;\n $el.removeClass(classNames.join(\" \"));\n swiper.emitContainerClasses();\n}\n\n// node_modules/swiper/core/classes/index.js\nvar classes_default = {\n addClasses,\n removeClasses\n};\n\n// node_modules/swiper/core/images/loadImage.js\nfunction loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {\n const window2 = getWindow();\n let image;\n function onReady() {\n if (callback) callback();\n }\n const isPicture = dom_default(imageEl).parent(\"picture\")[0];\n if (!isPicture && (!imageEl.complete || !checkForComplete)) {\n if (src) {\n image = new window2.Image();\n image.onload = onReady;\n image.onerror = onReady;\n if (sizes) {\n image.sizes = sizes;\n }\n if (srcset) {\n image.srcset = srcset;\n }\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n } else {\n onReady();\n }\n}\n\n// node_modules/swiper/core/images/preloadImages.js\nfunction preloadImages() {\n const swiper = this;\n swiper.imagesToLoad = swiper.$el.find(\"img\");\n function onReady() {\n if (typeof swiper === \"undefined\" || swiper === null || !swiper || swiper.destroyed) return;\n if (swiper.imagesLoaded !== void 0) swiper.imagesLoaded += 1;\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\n if (swiper.params.updateOnImagesReady) swiper.update();\n swiper.emit(\"imagesReady\");\n }\n }\n for (let i = 0; i < swiper.imagesToLoad.length; i += 1) {\n const imageEl = swiper.imagesToLoad[i];\n swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute(\"src\"), imageEl.srcset || imageEl.getAttribute(\"srcset\"), imageEl.sizes || imageEl.getAttribute(\"sizes\"), true, onReady);\n }\n}\n\n// node_modules/swiper/core/images/index.js\nvar images_default = {\n loadImage,\n preloadImages\n};\n\n// node_modules/swiper/core/check-overflow/index.js\nfunction checkOverflow() {\n const swiper = this;\n const {\n isLocked: wasLocked,\n params\n } = swiper;\n const {\n slidesOffsetBefore\n } = params;\n if (slidesOffsetBefore) {\n const lastSlideIndex = swiper.slides.length - 1;\n const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;\n swiper.isLocked = swiper.size > lastSlideRightEdge;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n if (params.allowSlideNext === true) {\n swiper.allowSlideNext = !swiper.isLocked;\n }\n if (params.allowSlidePrev === true) {\n swiper.allowSlidePrev = !swiper.isLocked;\n }\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n }\n if (wasLocked !== swiper.isLocked) {\n swiper.emit(swiper.isLocked ? \"lock\" : \"unlock\");\n }\n}\nvar check_overflow_default = {\n checkOverflow\n};\n\n// node_modules/swiper/core/defaults.js\nvar defaults_default = {\n init: true,\n direction: \"horizontal\",\n touchEventsTarget: \"wrapper\",\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: true,\n nested: false,\n createElements: false,\n enabled: true,\n focusableElements: \"input, select, option, textarea, button, video, label\",\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: \"slide\",\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n // Breakpoints\n breakpoints: void 0,\n breakpointsBase: \"window\",\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n slidesPerGroupAuto: false,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: true,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 0,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // Images\n preloadImages: true,\n updateOnImagesReady: true,\n // loop\n loop: false,\n loopAdditionalSlides: 0,\n loopedSlides: null,\n loopedSlidesLimit: true,\n loopFillGroupWithBlank: false,\n loopPreventsSlide: true,\n // rewind\n rewind: false,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: \"swiper-no-swiping\",\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n maxBackfaceHiddenSlides: 10,\n // NS\n containerModifierClass: \"swiper-\",\n // NEW\n slideClass: \"swiper-slide\",\n slideBlankClass: \"swiper-slide-invisible-blank\",\n slideActiveClass: \"swiper-slide-active\",\n slideDuplicateActiveClass: \"swiper-slide-duplicate-active\",\n slideVisibleClass: \"swiper-slide-visible\",\n slideDuplicateClass: \"swiper-slide-duplicate\",\n slideNextClass: \"swiper-slide-next\",\n slideDuplicateNextClass: \"swiper-slide-duplicate-next\",\n slidePrevClass: \"swiper-slide-prev\",\n slideDuplicatePrevClass: \"swiper-slide-duplicate-prev\",\n wrapperClass: \"swiper-wrapper\",\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};\n\n// node_modules/swiper/core/moduleExtendParams.js\nfunction moduleExtendParams(params, allModulesParams) {\n return function extendParams(obj = {}) {\n const moduleParamName = Object.keys(obj)[0];\n const moduleParams = obj[moduleParamName];\n if (typeof moduleParams !== \"object\" || moduleParams === null) {\n extend2(allModulesParams, obj);\n return;\n }\n if ([\"navigation\", \"pagination\", \"scrollbar\"].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {\n params[moduleParamName] = {\n auto: true\n };\n }\n if (!(moduleParamName in params && \"enabled\" in moduleParams)) {\n extend2(allModulesParams, obj);\n return;\n }\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n if (typeof params[moduleParamName] === \"object\" && !(\"enabled\" in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n extend2(allModulesParams, obj);\n };\n}\n\n// node_modules/swiper/core/core.js\nvar prototypes = {\n eventsEmitter: events_emitter_default,\n update: update_default,\n translate: translate_default,\n transition: transition_default,\n slide: slide_default,\n loop: loop_default,\n grabCursor: grab_cursor_default,\n events: events_default,\n breakpoints: breakpoints_default,\n checkOverflow: check_overflow_default,\n classes: classes_default,\n images: images_default\n};\nvar extendedDefaults = {};\nvar Swiper = class _Swiper {\n constructor(...args) {\n let el;\n let params;\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === \"Object\") {\n params = args[0];\n } else {\n [el, params] = args;\n }\n if (!params) params = {};\n params = extend2({}, params);\n if (el && !params.el) params.el = el;\n if (params.el && dom_default(params.el).length > 1) {\n const swipers = [];\n dom_default(params.el).each((containerEl) => {\n const newParams = extend2({}, params, {\n el: containerEl\n });\n swipers.push(new _Swiper(newParams));\n });\n return swipers;\n }\n const swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n swiper.modules = [...swiper.__modules__];\n if (params.modules && Array.isArray(params.modules)) {\n swiper.modules.push(...params.modules);\n }\n const allModulesParams = {};\n swiper.modules.forEach((mod) => {\n mod({\n swiper,\n extendParams: moduleExtendParams(params, allModulesParams),\n on: swiper.on.bind(swiper),\n once: swiper.once.bind(swiper),\n off: swiper.off.bind(swiper),\n emit: swiper.emit.bind(swiper)\n });\n });\n const swiperParams = extend2({}, defaults_default, allModulesParams);\n swiper.params = extend2({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend2({}, swiper.params);\n swiper.passedParams = extend2({}, params);\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach((eventName) => {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n }\n swiper.$ = dom_default;\n Object.assign(swiper, {\n enabled: swiper.params.enabled,\n el,\n // Classes\n classNames: [],\n // Slides\n slides: dom_default(),\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal() {\n return swiper.params.direction === \"horizontal\";\n },\n isVertical() {\n return swiper.params.direction === \"vertical\";\n },\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEvents: function touchEvents() {\n const touch = [\"touchstart\", \"touchmove\", \"touchend\", \"touchcancel\"];\n const desktop = [\"pointerdown\", \"pointermove\", \"pointerup\"];\n swiper.touchEventsTouch = {\n start: touch[0],\n move: touch[1],\n end: touch[2],\n cancel: touch[3]\n };\n swiper.touchEventsDesktop = {\n start: desktop[0],\n move: desktop[1],\n end: desktop[2]\n };\n return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;\n }(),\n touchEventsData: {\n isTouched: void 0,\n isMoved: void 0,\n allowTouchCallbacks: void 0,\n touchStartTime: void 0,\n isScrolling: void 0,\n currentTranslate: void 0,\n startTranslate: void 0,\n allowThresholdMove: void 0,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: now(),\n clickTimeout: void 0,\n // Velocities\n velocities: [],\n allowMomentumBounce: void 0,\n isTouchEvent: void 0,\n startMoving: void 0\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n });\n swiper.emit(\"_swiper\");\n if (swiper.params.init) {\n swiper.init();\n }\n return swiper;\n }\n enable() {\n const swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n swiper.emit(\"enable\");\n }\n disable() {\n const swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n swiper.emit(\"disable\");\n }\n setProgress(progress, speed) {\n const swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n const min = swiper.minTranslate();\n const max = swiper.maxTranslate();\n const current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === \"undefined\" ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n emitContainerClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const cls = swiper.el.className.split(\" \").filter((className) => {\n return className.indexOf(\"swiper\") === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit(\"_containerClasses\", cls.join(\" \"));\n }\n getSlideClasses(slideEl) {\n const swiper = this;\n if (swiper.destroyed) return \"\";\n return slideEl.className.split(\" \").filter((className) => {\n return className.indexOf(\"swiper-slide\") === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(\" \");\n }\n emitSlidesClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const updates = [];\n swiper.slides.each((slideEl) => {\n const classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl,\n classNames\n });\n swiper.emit(\"_slideClass\", slideEl, classNames);\n });\n swiper.emit(\"_slideClasses\", updates);\n }\n slidesPerViewDynamic(view = \"current\", exact = false) {\n const swiper = this;\n const {\n params,\n slides,\n slidesGrid,\n slidesSizesGrid,\n size: swiperSize,\n activeIndex\n } = swiper;\n let spv = 1;\n if (params.centeredSlides) {\n let slideSize = slides[activeIndex].swiperSlideSize;\n let breakLoop;\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n if (view === \"current\") {\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n } else {\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n }\n }\n return spv;\n }\n update() {\n const swiper = this;\n if (!swiper || swiper.destroyed) return;\n const {\n snapGrid,\n params\n } = swiper;\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n function setTranslate2() {\n const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n let translated;\n if (swiper.params.freeMode && swiper.params.freeMode.enabled) {\n setTranslate2();\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((swiper.params.slidesPerView === \"auto\" || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n if (!translated) {\n setTranslate2();\n }\n }\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n swiper.emit(\"update\");\n }\n changeDirection(newDirection, needUpdate = true) {\n const swiper = this;\n const currentDirection = swiper.params.direction;\n if (!newDirection) {\n newDirection = currentDirection === \"horizontal\" ? \"vertical\" : \"horizontal\";\n }\n if (newDirection === currentDirection || newDirection !== \"horizontal\" && newDirection !== \"vertical\") {\n return swiper;\n }\n swiper.$el.removeClass(`${swiper.params.containerModifierClass}${currentDirection}`).addClass(`${swiper.params.containerModifierClass}${newDirection}`);\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.each((slideEl) => {\n if (newDirection === \"vertical\") {\n slideEl.style.width = \"\";\n } else {\n slideEl.style.height = \"\";\n }\n });\n swiper.emit(\"changeDirection\");\n if (needUpdate) swiper.update();\n return swiper;\n }\n changeLanguageDirection(direction) {\n const swiper = this;\n if (swiper.rtl && direction === \"rtl\" || !swiper.rtl && direction === \"ltr\") return;\n swiper.rtl = direction === \"rtl\";\n swiper.rtlTranslate = swiper.params.direction === \"horizontal\" && swiper.rtl;\n if (swiper.rtl) {\n swiper.$el.addClass(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = \"rtl\";\n } else {\n swiper.$el.removeClass(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = \"ltr\";\n }\n swiper.update();\n }\n mount(el) {\n const swiper = this;\n if (swiper.mounted) return true;\n const $el = dom_default(el || swiper.params.el);\n el = $el[0];\n if (!el) {\n return false;\n }\n el.swiper = swiper;\n const getWrapperSelector = () => {\n return `.${(swiper.params.wrapperClass || \"\").trim().split(\" \").join(\".\")}`;\n };\n const getWrapper = () => {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n const res = dom_default(el.shadowRoot.querySelector(getWrapperSelector()));\n res.children = (options) => $el.children(options);\n return res;\n }\n if (!$el.children) {\n return dom_default($el).children(getWrapperSelector());\n }\n return $el.children(getWrapperSelector());\n };\n let $wrapperEl = getWrapper();\n if ($wrapperEl.length === 0 && swiper.params.createElements) {\n const document2 = getDocument();\n const wrapper = document2.createElement(\"div\");\n $wrapperEl = dom_default(wrapper);\n wrapper.className = swiper.params.wrapperClass;\n $el.append(wrapper);\n $el.children(`.${swiper.params.slideClass}`).each((slideEl) => {\n $wrapperEl.append(slideEl);\n });\n }\n Object.assign(swiper, {\n $el,\n el,\n $wrapperEl,\n wrapperEl: $wrapperEl[0],\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === \"rtl\" || $el.css(\"direction\") === \"rtl\",\n rtlTranslate: swiper.params.direction === \"horizontal\" && (el.dir.toLowerCase() === \"rtl\" || $el.css(\"direction\") === \"rtl\"),\n wrongRTL: $wrapperEl.css(\"display\") === \"-webkit-box\"\n });\n return true;\n }\n init(el) {\n const swiper = this;\n if (swiper.initialized) return swiper;\n const mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit(\"beforeInit\");\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n }\n swiper.addClasses();\n if (swiper.params.loop) {\n swiper.loopCreate();\n }\n swiper.updateSize();\n swiper.updateSlides();\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n }\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n if (swiper.params.preloadImages) {\n swiper.preloadImages();\n }\n if (swiper.params.loop) {\n swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n }\n swiper.attachEvents();\n swiper.initialized = true;\n swiper.emit(\"init\");\n swiper.emit(\"afterInit\");\n return swiper;\n }\n destroy(deleteInstance = true, cleanStyles = true) {\n const swiper = this;\n const {\n params,\n $el,\n $wrapperEl,\n slides\n } = swiper;\n if (typeof swiper.params === \"undefined\" || swiper.destroyed) {\n return null;\n }\n swiper.emit(\"beforeDestroy\");\n swiper.initialized = false;\n swiper.detachEvents();\n if (params.loop) {\n swiper.loopDestroy();\n }\n if (cleanStyles) {\n swiper.removeClasses();\n $el.removeAttr(\"style\");\n $wrapperEl.removeAttr(\"style\");\n if (slides && slides.length) {\n slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(\" \")).removeAttr(\"style\").removeAttr(\"data-swiper-slide-index\");\n }\n }\n swiper.emit(\"destroy\");\n Object.keys(swiper.eventsListeners).forEach((eventName) => {\n swiper.off(eventName);\n });\n if (deleteInstance !== false) {\n swiper.$el[0].swiper = null;\n deleteProps(swiper);\n }\n swiper.destroyed = true;\n return null;\n }\n static extendDefaults(newDefaults) {\n extend2(extendedDefaults, newDefaults);\n }\n static get extendedDefaults() {\n return extendedDefaults;\n }\n static get defaults() {\n return defaults_default;\n }\n static installModule(mod) {\n if (!_Swiper.prototype.__modules__) _Swiper.prototype.__modules__ = [];\n const modules = _Swiper.prototype.__modules__;\n if (typeof mod === \"function\" && modules.indexOf(mod) < 0) {\n modules.push(mod);\n }\n }\n static use(module) {\n if (Array.isArray(module)) {\n module.forEach((m) => _Swiper.installModule(m));\n return _Swiper;\n }\n _Swiper.installModule(module);\n return _Swiper;\n }\n};\nObject.keys(prototypes).forEach((prototypeGroup) => {\n Object.keys(prototypes[prototypeGroup]).forEach((protoMethod) => {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\nvar core_default = Swiper;\n\n// node_modules/swiper/modules/virtual/virtual.js\nfunction Virtual({\n swiper,\n extendParams,\n on: on2,\n emit\n}) {\n extendParams({\n virtual: {\n enabled: false,\n slides: [],\n cache: true,\n renderSlide: null,\n renderExternal: null,\n renderExternalUpdate: true,\n addSlidesBefore: 0,\n addSlidesAfter: 0\n }\n });\n let cssModeTimeout;\n swiper.virtual = {\n cache: {},\n from: void 0,\n to: void 0,\n slides: [],\n offset: 0,\n slidesGrid: []\n };\n function renderSlide(slide, index2) {\n const params = swiper.params.virtual;\n if (params.cache && swiper.virtual.cache[index2]) {\n return swiper.virtual.cache[index2];\n }\n const $slideEl = params.renderSlide ? dom_default(params.renderSlide.call(swiper, slide, index2)) : dom_default(`
    ${slide}
    `);\n if (!$slideEl.attr(\"data-swiper-slide-index\")) $slideEl.attr(\"data-swiper-slide-index\", index2);\n if (params.cache) swiper.virtual.cache[index2] = $slideEl;\n return $slideEl;\n }\n function update(force) {\n const {\n slidesPerView,\n slidesPerGroup,\n centeredSlides\n } = swiper.params;\n const {\n addSlidesBefore,\n addSlidesAfter\n } = swiper.params.virtual;\n const {\n from: previousFrom,\n to: previousTo,\n slides,\n slidesGrid: previousSlidesGrid,\n offset: previousOffset\n } = swiper.virtual;\n if (!swiper.params.cssMode) {\n swiper.updateActiveIndex();\n }\n const activeIndex = swiper.activeIndex || 0;\n let offsetProp;\n if (swiper.rtlTranslate) offsetProp = \"right\";\n else offsetProp = swiper.isHorizontal() ? \"left\" : \"top\";\n let slidesAfter;\n let slidesBefore;\n if (centeredSlides) {\n slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;\n slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;\n } else {\n slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;\n slidesBefore = slidesPerGroup + addSlidesBefore;\n }\n const from = Math.max((activeIndex || 0) - slidesBefore, 0);\n const to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1);\n const offset2 = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);\n Object.assign(swiper.virtual, {\n from,\n to,\n offset: offset2,\n slidesGrid: swiper.slidesGrid\n });\n function onRendered() {\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n if (swiper.lazy && swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n emit(\"virtualUpdate\");\n }\n if (previousFrom === from && previousTo === to && !force) {\n if (swiper.slidesGrid !== previousSlidesGrid && offset2 !== previousOffset) {\n swiper.slides.css(offsetProp, `${offset2}px`);\n }\n swiper.updateProgress();\n emit(\"virtualUpdate\");\n return;\n }\n if (swiper.params.virtual.renderExternal) {\n swiper.params.virtual.renderExternal.call(swiper, {\n offset: offset2,\n from,\n to,\n slides: function getSlides() {\n const slidesToRender = [];\n for (let i = from; i <= to; i += 1) {\n slidesToRender.push(slides[i]);\n }\n return slidesToRender;\n }()\n });\n if (swiper.params.virtual.renderExternalUpdate) {\n onRendered();\n } else {\n emit(\"virtualUpdate\");\n }\n return;\n }\n const prependIndexes = [];\n const appendIndexes = [];\n if (force) {\n swiper.$wrapperEl.find(`.${swiper.params.slideClass}`).remove();\n } else {\n for (let i = previousFrom; i <= previousTo; i += 1) {\n if (i < from || i > to) {\n swiper.$wrapperEl.find(`.${swiper.params.slideClass}[data-swiper-slide-index=\"${i}\"]`).remove();\n }\n }\n }\n for (let i = 0; i < slides.length; i += 1) {\n if (i >= from && i <= to) {\n if (typeof previousTo === \"undefined\" || force) {\n appendIndexes.push(i);\n } else {\n if (i > previousTo) appendIndexes.push(i);\n if (i < previousFrom) prependIndexes.push(i);\n }\n }\n }\n appendIndexes.forEach((index2) => {\n swiper.$wrapperEl.append(renderSlide(slides[index2], index2));\n });\n prependIndexes.sort((a, b) => b - a).forEach((index2) => {\n swiper.$wrapperEl.prepend(renderSlide(slides[index2], index2));\n });\n swiper.$wrapperEl.children(\".swiper-slide\").css(offsetProp, `${offset2}px`);\n onRendered();\n }\n function appendSlide2(slides) {\n if (typeof slides === \"object\" && \"length\" in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.push(slides[i]);\n }\n } else {\n swiper.virtual.slides.push(slides);\n }\n update(true);\n }\n function prependSlide2(slides) {\n const activeIndex = swiper.activeIndex;\n let newActiveIndex = activeIndex + 1;\n let numberOfNewSlides = 1;\n if (Array.isArray(slides)) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.unshift(slides[i]);\n }\n newActiveIndex = activeIndex + slides.length;\n numberOfNewSlides = slides.length;\n } else {\n swiper.virtual.slides.unshift(slides);\n }\n if (swiper.params.virtual.cache) {\n const cache = swiper.virtual.cache;\n const newCache = {};\n Object.keys(cache).forEach((cachedIndex) => {\n const $cachedEl = cache[cachedIndex];\n const cachedElIndex = $cachedEl.attr(\"data-swiper-slide-index\");\n if (cachedElIndex) {\n $cachedEl.attr(\"data-swiper-slide-index\", parseInt(cachedElIndex, 10) + numberOfNewSlides);\n }\n newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = $cachedEl;\n });\n swiper.virtual.cache = newCache;\n }\n update(true);\n swiper.slideTo(newActiveIndex, 0);\n }\n function removeSlide2(slidesIndexes) {\n if (typeof slidesIndexes === \"undefined\" || slidesIndexes === null) return;\n let activeIndex = swiper.activeIndex;\n if (Array.isArray(slidesIndexes)) {\n for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) {\n swiper.virtual.slides.splice(slidesIndexes[i], 1);\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes[i]];\n }\n if (slidesIndexes[i] < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n } else {\n swiper.virtual.slides.splice(slidesIndexes, 1);\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes];\n }\n if (slidesIndexes < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n update(true);\n swiper.slideTo(activeIndex, 0);\n }\n function removeAllSlides2() {\n swiper.virtual.slides = [];\n if (swiper.params.virtual.cache) {\n swiper.virtual.cache = {};\n }\n update(true);\n swiper.slideTo(0, 0);\n }\n on2(\"beforeInit\", () => {\n if (!swiper.params.virtual.enabled) return;\n swiper.virtual.slides = swiper.params.virtual.slides;\n swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n if (!swiper.params.initialSlide) {\n update();\n }\n });\n on2(\"setTranslate\", () => {\n if (!swiper.params.virtual.enabled) return;\n if (swiper.params.cssMode && !swiper._immediateVirtual) {\n clearTimeout(cssModeTimeout);\n cssModeTimeout = setTimeout(() => {\n update();\n }, 100);\n } else {\n update();\n }\n });\n on2(\"init update resize\", () => {\n if (!swiper.params.virtual.enabled) return;\n if (swiper.params.cssMode) {\n setCSSProperty(swiper.wrapperEl, \"--swiper-virtual-size\", `${swiper.virtualSize}px`);\n }\n });\n Object.assign(swiper.virtual, {\n appendSlide: appendSlide2,\n prependSlide: prependSlide2,\n removeSlide: removeSlide2,\n removeAllSlides: removeAllSlides2,\n update\n });\n}\n\n// node_modules/swiper/modules/keyboard/keyboard.js\nfunction Keyboard({\n swiper,\n extendParams,\n on: on2,\n emit\n}) {\n const document2 = getDocument();\n const window2 = getWindow();\n swiper.keyboard = {\n enabled: false\n };\n extendParams({\n keyboard: {\n enabled: false,\n onlyInViewport: true,\n pageUpDown: true\n }\n });\n function handle(event2) {\n if (!swiper.enabled) return;\n const {\n rtlTranslate: rtl\n } = swiper;\n let e = event2;\n if (e.originalEvent) e = e.originalEvent;\n const kc = e.keyCode || e.charCode;\n const pageUpDown = swiper.params.keyboard.pageUpDown;\n const isPageUp = pageUpDown && kc === 33;\n const isPageDown = pageUpDown && kc === 34;\n const isArrowLeft = kc === 37;\n const isArrowRight = kc === 39;\n const isArrowUp = kc === 38;\n const isArrowDown = kc === 40;\n if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) {\n return false;\n }\n if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) {\n return false;\n }\n if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {\n return void 0;\n }\n if (document2.activeElement && document2.activeElement.nodeName && (document2.activeElement.nodeName.toLowerCase() === \"input\" || document2.activeElement.nodeName.toLowerCase() === \"textarea\")) {\n return void 0;\n }\n if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {\n let inView = false;\n if (swiper.$el.parents(`.${swiper.params.slideClass}`).length > 0 && swiper.$el.parents(`.${swiper.params.slideActiveClass}`).length === 0) {\n return void 0;\n }\n const $el = swiper.$el;\n const swiperWidth = $el[0].clientWidth;\n const swiperHeight = $el[0].clientHeight;\n const windowWidth = window2.innerWidth;\n const windowHeight = window2.innerHeight;\n const swiperOffset = swiper.$el.offset();\n if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;\n const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]];\n for (let i = 0; i < swiperCoord.length; i += 1) {\n const point = swiperCoord[i];\n if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {\n if (point[0] === 0 && point[1] === 0) continue;\n inView = true;\n }\n }\n if (!inView) return void 0;\n }\n if (swiper.isHorizontal()) {\n if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {\n if (e.preventDefault) e.preventDefault();\n else e.returnValue = false;\n }\n if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();\n if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();\n } else {\n if (isPageUp || isPageDown || isArrowUp || isArrowDown) {\n if (e.preventDefault) e.preventDefault();\n else e.returnValue = false;\n }\n if (isPageDown || isArrowDown) swiper.slideNext();\n if (isPageUp || isArrowUp) swiper.slidePrev();\n }\n emit(\"keyPress\", kc);\n return void 0;\n }\n function enable() {\n if (swiper.keyboard.enabled) return;\n dom_default(document2).on(\"keydown\", handle);\n swiper.keyboard.enabled = true;\n }\n function disable() {\n if (!swiper.keyboard.enabled) return;\n dom_default(document2).off(\"keydown\", handle);\n swiper.keyboard.enabled = false;\n }\n on2(\"init\", () => {\n if (swiper.params.keyboard.enabled) {\n enable();\n }\n });\n on2(\"destroy\", () => {\n if (swiper.keyboard.enabled) {\n disable();\n }\n });\n Object.assign(swiper.keyboard, {\n enable,\n disable\n });\n}\n\n// node_modules/swiper/modules/mousewheel/mousewheel.js\nfunction Mousewheel({\n swiper,\n extendParams,\n on: on2,\n emit\n}) {\n const window2 = getWindow();\n extendParams({\n mousewheel: {\n enabled: false,\n releaseOnEdges: false,\n invert: false,\n forceToAxis: false,\n sensitivity: 1,\n eventsTarget: \"container\",\n thresholdDelta: null,\n thresholdTime: null\n }\n });\n swiper.mousewheel = {\n enabled: false\n };\n let timeout;\n let lastScrollTime = now();\n let lastEventBeforeSnap;\n const recentWheelEvents = [];\n function normalize(e) {\n const PIXEL_STEP = 10;\n const LINE_HEIGHT = 40;\n const PAGE_HEIGHT = 800;\n let sX = 0;\n let sY = 0;\n let pX = 0;\n let pY = 0;\n if (\"detail\" in e) {\n sY = e.detail;\n }\n if (\"wheelDelta\" in e) {\n sY = -e.wheelDelta / 120;\n }\n if (\"wheelDeltaY\" in e) {\n sY = -e.wheelDeltaY / 120;\n }\n if (\"wheelDeltaX\" in e) {\n sX = -e.wheelDeltaX / 120;\n }\n if (\"axis\" in e && e.axis === e.HORIZONTAL_AXIS) {\n sX = sY;\n sY = 0;\n }\n pX = sX * PIXEL_STEP;\n pY = sY * PIXEL_STEP;\n if (\"deltaY\" in e) {\n pY = e.deltaY;\n }\n if (\"deltaX\" in e) {\n pX = e.deltaX;\n }\n if (e.shiftKey && !pX) {\n pX = pY;\n pY = 0;\n }\n if ((pX || pY) && e.deltaMode) {\n if (e.deltaMode === 1) {\n pX *= LINE_HEIGHT;\n pY *= LINE_HEIGHT;\n } else {\n pX *= PAGE_HEIGHT;\n pY *= PAGE_HEIGHT;\n }\n }\n if (pX && !sX) {\n sX = pX < 1 ? -1 : 1;\n }\n if (pY && !sY) {\n sY = pY < 1 ? -1 : 1;\n }\n return {\n spinX: sX,\n spinY: sY,\n pixelX: pX,\n pixelY: pY\n };\n }\n function handleMouseEnter() {\n if (!swiper.enabled) return;\n swiper.mouseEntered = true;\n }\n function handleMouseLeave() {\n if (!swiper.enabled) return;\n swiper.mouseEntered = false;\n }\n function animateSlider(newEvent) {\n if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) {\n return false;\n }\n if (swiper.params.mousewheel.thresholdTime && now() - lastScrollTime < swiper.params.mousewheel.thresholdTime) {\n return false;\n }\n if (newEvent.delta >= 6 && now() - lastScrollTime < 60) {\n return true;\n }\n if (newEvent.direction < 0) {\n if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {\n swiper.slideNext();\n emit(\"scroll\", newEvent.raw);\n }\n } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {\n swiper.slidePrev();\n emit(\"scroll\", newEvent.raw);\n }\n lastScrollTime = new window2.Date().getTime();\n return false;\n }\n function releaseScroll(newEvent) {\n const params = swiper.params.mousewheel;\n if (newEvent.direction < 0) {\n if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {\n return true;\n }\n } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {\n return true;\n }\n return false;\n }\n function handle(event2) {\n let e = event2;\n let disableParentSwiper = true;\n if (!swiper.enabled) return;\n const params = swiper.params.mousewheel;\n if (swiper.params.cssMode) {\n e.preventDefault();\n }\n let target = swiper.$el;\n if (swiper.params.mousewheel.eventsTarget !== \"container\") {\n target = dom_default(swiper.params.mousewheel.eventsTarget);\n }\n if (!swiper.mouseEntered && !target[0].contains(e.target) && !params.releaseOnEdges) return true;\n if (e.originalEvent) e = e.originalEvent;\n let delta = 0;\n const rtlFactor = swiper.rtlTranslate ? -1 : 1;\n const data = normalize(e);\n if (params.forceToAxis) {\n if (swiper.isHorizontal()) {\n if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;\n else return true;\n } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;\n else return true;\n } else {\n delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;\n }\n if (delta === 0) return true;\n if (params.invert) delta = -delta;\n let positions = swiper.getTranslate() + delta * params.sensitivity;\n if (positions >= swiper.minTranslate()) positions = swiper.minTranslate();\n if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate();\n disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate());\n if (disableParentSwiper && swiper.params.nested) e.stopPropagation();\n if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) {\n const newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta),\n raw: event2\n };\n if (recentWheelEvents.length >= 2) {\n recentWheelEvents.shift();\n }\n const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : void 0;\n recentWheelEvents.push(newEvent);\n if (prevEvent) {\n if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) {\n animateSlider(newEvent);\n }\n } else {\n animateSlider(newEvent);\n }\n if (releaseScroll(newEvent)) {\n return true;\n }\n } else {\n const newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta)\n };\n const ignoreWheelEvents = lastEventBeforeSnap && newEvent.time < lastEventBeforeSnap.time + 500 && newEvent.delta <= lastEventBeforeSnap.delta && newEvent.direction === lastEventBeforeSnap.direction;\n if (!ignoreWheelEvents) {\n lastEventBeforeSnap = void 0;\n if (swiper.params.loop) {\n swiper.loopFix();\n }\n let position = swiper.getTranslate() + delta * params.sensitivity;\n const wasBeginning = swiper.isBeginning;\n const wasEnd = swiper.isEnd;\n if (position >= swiper.minTranslate()) position = swiper.minTranslate();\n if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();\n swiper.setTransition(0);\n swiper.setTranslate(position);\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) {\n swiper.updateSlidesClasses();\n }\n if (swiper.params.freeMode.sticky) {\n clearTimeout(timeout);\n timeout = void 0;\n if (recentWheelEvents.length >= 15) {\n recentWheelEvents.shift();\n }\n const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : void 0;\n const firstEvent = recentWheelEvents[0];\n recentWheelEvents.push(newEvent);\n if (prevEvent && (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)) {\n recentWheelEvents.splice(0);\n } else if (recentWheelEvents.length >= 15 && newEvent.time - firstEvent.time < 500 && firstEvent.delta - newEvent.delta >= 1 && newEvent.delta <= 6) {\n const snapToThreshold = delta > 0 ? 0.8 : 0.2;\n lastEventBeforeSnap = newEvent;\n recentWheelEvents.splice(0);\n timeout = nextTick(() => {\n swiper.slideToClosest(swiper.params.speed, true, void 0, snapToThreshold);\n }, 0);\n }\n if (!timeout) {\n timeout = nextTick(() => {\n const snapToThreshold = 0.5;\n lastEventBeforeSnap = newEvent;\n recentWheelEvents.splice(0);\n swiper.slideToClosest(swiper.params.speed, true, void 0, snapToThreshold);\n }, 500);\n }\n }\n if (!ignoreWheelEvents) emit(\"scroll\", e);\n if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop();\n if (position === swiper.minTranslate() || position === swiper.maxTranslate()) return true;\n }\n }\n if (e.preventDefault) e.preventDefault();\n else e.returnValue = false;\n return false;\n }\n function events2(method) {\n let target = swiper.$el;\n if (swiper.params.mousewheel.eventsTarget !== \"container\") {\n target = dom_default(swiper.params.mousewheel.eventsTarget);\n }\n target[method](\"mouseenter\", handleMouseEnter);\n target[method](\"mouseleave\", handleMouseLeave);\n target[method](\"wheel\", handle);\n }\n function enable() {\n if (swiper.params.cssMode) {\n swiper.wrapperEl.removeEventListener(\"wheel\", handle);\n return true;\n }\n if (swiper.mousewheel.enabled) return false;\n events2(\"on\");\n swiper.mousewheel.enabled = true;\n return true;\n }\n function disable() {\n if (swiper.params.cssMode) {\n swiper.wrapperEl.addEventListener(event, handle);\n return true;\n }\n if (!swiper.mousewheel.enabled) return false;\n events2(\"off\");\n swiper.mousewheel.enabled = false;\n return true;\n }\n on2(\"init\", () => {\n if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {\n disable();\n }\n if (swiper.params.mousewheel.enabled) enable();\n });\n on2(\"destroy\", () => {\n if (swiper.params.cssMode) {\n enable();\n }\n if (swiper.mousewheel.enabled) disable();\n });\n Object.assign(swiper.mousewheel, {\n enable,\n disable\n });\n}\n\n// node_modules/swiper/shared/create-element-if-not-defined.js\nfunction createElementIfNotDefined(swiper, originalParams, params, checkProps) {\n const document2 = getDocument();\n if (swiper.params.createElements) {\n Object.keys(checkProps).forEach((key) => {\n if (!params[key] && params.auto === true) {\n let element = swiper.$el.children(`.${checkProps[key]}`)[0];\n if (!element) {\n element = document2.createElement(\"div\");\n element.className = checkProps[key];\n swiper.$el.append(element);\n }\n params[key] = element;\n originalParams[key] = element;\n }\n });\n }\n return params;\n}\n\n// node_modules/swiper/modules/navigation/navigation.js\nfunction Navigation({\n swiper,\n extendParams,\n on: on2,\n emit\n}) {\n extendParams({\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: \"swiper-button-disabled\",\n hiddenClass: \"swiper-button-hidden\",\n lockClass: \"swiper-button-lock\",\n navigationDisabledClass: \"swiper-navigation-disabled\"\n }\n });\n swiper.navigation = {\n nextEl: null,\n $nextEl: null,\n prevEl: null,\n $prevEl: null\n };\n function getEl(el) {\n let $el;\n if (el) {\n $el = dom_default(el);\n if (swiper.params.uniqueNavElements && typeof el === \"string\" && $el.length > 1 && swiper.$el.find(el).length === 1) {\n $el = swiper.$el.find(el);\n }\n }\n return $el;\n }\n function toggleEl($el, disabled) {\n const params = swiper.params.navigation;\n if ($el && $el.length > 0) {\n $el[disabled ? \"addClass\" : \"removeClass\"](params.disabledClass);\n if ($el[0] && $el[0].tagName === \"BUTTON\") $el[0].disabled = disabled;\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? \"addClass\" : \"removeClass\"](params.lockClass);\n }\n }\n }\n function update() {\n if (swiper.params.loop) return;\n const {\n $nextEl,\n $prevEl\n } = swiper.navigation;\n toggleEl($prevEl, swiper.isBeginning && !swiper.params.rewind);\n toggleEl($nextEl, swiper.isEnd && !swiper.params.rewind);\n }\n function onPrevClick(e) {\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slidePrev();\n emit(\"navigationPrev\");\n }\n function onNextClick(e) {\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slideNext();\n emit(\"navigationNext\");\n }\n function init() {\n const params = swiper.params.navigation;\n swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, {\n nextEl: \"swiper-button-next\",\n prevEl: \"swiper-button-prev\"\n });\n if (!(params.nextEl || params.prevEl)) return;\n const $nextEl = getEl(params.nextEl);\n const $prevEl = getEl(params.prevEl);\n if ($nextEl && $nextEl.length > 0) {\n $nextEl.on(\"click\", onNextClick);\n }\n if ($prevEl && $prevEl.length > 0) {\n $prevEl.on(\"click\", onPrevClick);\n }\n Object.assign(swiper.navigation, {\n $nextEl,\n nextEl: $nextEl && $nextEl[0],\n $prevEl,\n prevEl: $prevEl && $prevEl[0]\n });\n if (!swiper.enabled) {\n if ($nextEl) $nextEl.addClass(params.lockClass);\n if ($prevEl) $prevEl.addClass(params.lockClass);\n }\n }\n function destroy() {\n const {\n $nextEl,\n $prevEl\n } = swiper.navigation;\n if ($nextEl && $nextEl.length) {\n $nextEl.off(\"click\", onNextClick);\n $nextEl.removeClass(swiper.params.navigation.disabledClass);\n }\n if ($prevEl && $prevEl.length) {\n $prevEl.off(\"click\", onPrevClick);\n $prevEl.removeClass(swiper.params.navigation.disabledClass);\n }\n }\n on2(\"init\", () => {\n if (swiper.params.navigation.enabled === false) {\n disable();\n } else {\n init();\n update();\n }\n });\n on2(\"toEdge fromEdge lock unlock\", () => {\n update();\n });\n on2(\"destroy\", () => {\n destroy();\n });\n on2(\"enable disable\", () => {\n const {\n $nextEl,\n $prevEl\n } = swiper.navigation;\n if ($nextEl) {\n $nextEl[swiper.enabled ? \"removeClass\" : \"addClass\"](swiper.params.navigation.lockClass);\n }\n if ($prevEl) {\n $prevEl[swiper.enabled ? \"removeClass\" : \"addClass\"](swiper.params.navigation.lockClass);\n }\n });\n on2(\"click\", (_s, e) => {\n const {\n $nextEl,\n $prevEl\n } = swiper.navigation;\n const targetEl = e.target;\n if (swiper.params.navigation.hideOnClick && !dom_default(targetEl).is($prevEl) && !dom_default(targetEl).is($nextEl)) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n let isHidden;\n if ($nextEl) {\n isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);\n } else if ($prevEl) {\n isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);\n }\n if (isHidden === true) {\n emit(\"navigationShow\");\n } else {\n emit(\"navigationHide\");\n }\n if ($nextEl) {\n $nextEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n if ($prevEl) {\n $prevEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n }\n });\n const enable = () => {\n swiper.$el.removeClass(swiper.params.navigation.navigationDisabledClass);\n init();\n update();\n };\n const disable = () => {\n swiper.$el.addClass(swiper.params.navigation.navigationDisabledClass);\n destroy();\n };\n Object.assign(swiper.navigation, {\n enable,\n disable,\n update,\n init,\n destroy\n });\n}\n\n// node_modules/swiper/shared/classes-to-selector.js\nfunction classesToSelector(classes = \"\") {\n return `.${classes.trim().replace(/([\\.:!\\/])/g, \"\\\\$1\").replace(/ /g, \".\")}`;\n}\n\n// node_modules/swiper/modules/pagination/pagination.js\nfunction Pagination({\n swiper,\n extendParams,\n on: on2,\n emit\n}) {\n const pfx = \"swiper-pagination\";\n extendParams({\n pagination: {\n el: null,\n bulletElement: \"span\",\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: \"bullets\",\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: (number) => number,\n formatFractionTotal: (number) => number,\n bulletClass: `${pfx}-bullet`,\n bulletActiveClass: `${pfx}-bullet-active`,\n modifierClass: `${pfx}-`,\n currentClass: `${pfx}-current`,\n totalClass: `${pfx}-total`,\n hiddenClass: `${pfx}-hidden`,\n progressbarFillClass: `${pfx}-progressbar-fill`,\n progressbarOppositeClass: `${pfx}-progressbar-opposite`,\n clickableClass: `${pfx}-clickable`,\n lockClass: `${pfx}-lock`,\n horizontalClass: `${pfx}-horizontal`,\n verticalClass: `${pfx}-vertical`,\n paginationDisabledClass: `${pfx}-disabled`\n }\n });\n swiper.pagination = {\n el: null,\n $el: null,\n bullets: []\n };\n let bulletSize;\n let dynamicBulletIndex = 0;\n function isPaginationDisabled() {\n return !swiper.params.pagination.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0;\n }\n function setSideBullets($bulletEl, position) {\n const {\n bulletActiveClass\n } = swiper.params.pagination;\n $bulletEl[position]().addClass(`${bulletActiveClass}-${position}`)[position]().addClass(`${bulletActiveClass}-${position}-${position}`);\n }\n function update() {\n const rtl = swiper.rtl;\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n const $el = swiper.pagination.$el;\n let current;\n const total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n if (swiper.params.loop) {\n current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);\n if (current > slidesLength - 1 - swiper.loopedSlides * 2) {\n current -= slidesLength - swiper.loopedSlides * 2;\n }\n if (current > total - 1) current -= total;\n if (current < 0 && swiper.params.paginationType !== \"bullets\") current = total + current;\n } else if (typeof swiper.snapIndex !== \"undefined\") {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n }\n if (params.type === \"bullets\" && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n const bullets = swiper.pagination.bullets;\n let firstIndex;\n let lastIndex;\n let midIndex;\n if (params.dynamicBullets) {\n bulletSize = bullets.eq(0)[swiper.isHorizontal() ? \"outerWidth\" : \"outerHeight\"](true);\n $el.css(swiper.isHorizontal() ? \"width\" : \"height\", `${bulletSize * (params.dynamicMainBullets + 4)}px`);\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== void 0) {\n dynamicBulletIndex += current - (swiper.previousIndex - swiper.loopedSlides || 0);\n if (dynamicBulletIndex > params.dynamicMainBullets - 1) {\n dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (dynamicBulletIndex < 0) {\n dynamicBulletIndex = 0;\n }\n }\n firstIndex = Math.max(current - dynamicBulletIndex, 0);\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n bullets.removeClass([\"\", \"-next\", \"-next-next\", \"-prev\", \"-prev-prev\", \"-main\"].map((suffix) => `${params.bulletActiveClass}${suffix}`).join(\" \"));\n if ($el.length > 1) {\n bullets.each((bullet) => {\n const $bullet = dom_default(bullet);\n const bulletIndex = $bullet.index();\n if (bulletIndex === current) {\n $bullet.addClass(params.bulletActiveClass);\n }\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n $bullet.addClass(`${params.bulletActiveClass}-main`);\n }\n if (bulletIndex === firstIndex) {\n setSideBullets($bullet, \"prev\");\n }\n if (bulletIndex === lastIndex) {\n setSideBullets($bullet, \"next\");\n }\n }\n });\n } else {\n const $bullet = bullets.eq(current);\n const bulletIndex = $bullet.index();\n $bullet.addClass(params.bulletActiveClass);\n if (params.dynamicBullets) {\n const $firstDisplayedBullet = bullets.eq(firstIndex);\n const $lastDisplayedBullet = bullets.eq(lastIndex);\n for (let i = firstIndex; i <= lastIndex; i += 1) {\n bullets.eq(i).addClass(`${params.bulletActiveClass}-main`);\n }\n if (swiper.params.loop) {\n if (bulletIndex >= bullets.length) {\n for (let i = params.dynamicMainBullets; i >= 0; i -= 1) {\n bullets.eq(bullets.length - i).addClass(`${params.bulletActiveClass}-main`);\n }\n bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(`${params.bulletActiveClass}-prev`);\n } else {\n setSideBullets($firstDisplayedBullet, \"prev\");\n setSideBullets($lastDisplayedBullet, \"next\");\n }\n } else {\n setSideBullets($firstDisplayedBullet, \"prev\");\n setSideBullets($lastDisplayedBullet, \"next\");\n }\n }\n }\n if (params.dynamicBullets) {\n const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;\n const offsetProp = rtl ? \"right\" : \"left\";\n bullets.css(swiper.isHorizontal() ? offsetProp : \"top\", `${bulletsOffset}px`);\n }\n }\n if (params.type === \"fraction\") {\n $el.find(classesToSelector(params.currentClass)).text(params.formatFractionCurrent(current + 1));\n $el.find(classesToSelector(params.totalClass)).text(params.formatFractionTotal(total));\n }\n if (params.type === \"progressbar\") {\n let progressbarDirection;\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? \"vertical\" : \"horizontal\";\n } else {\n progressbarDirection = swiper.isHorizontal() ? \"horizontal\" : \"vertical\";\n }\n const scale = (current + 1) / total;\n let scaleX = 1;\n let scaleY = 1;\n if (progressbarDirection === \"horizontal\") {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n $el.find(classesToSelector(params.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`).transition(swiper.params.speed);\n }\n if (params.type === \"custom\" && params.renderCustom) {\n $el.html(params.renderCustom(swiper, current + 1, total));\n emit(\"paginationRender\", $el[0]);\n } else {\n emit(\"paginationUpdate\", $el[0]);\n }\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? \"addClass\" : \"removeClass\"](params.lockClass);\n }\n }\n function render() {\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n const $el = swiper.pagination.$el;\n let paginationHTML = \"\";\n if (params.type === \"bullets\") {\n let numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && !swiper.params.loop && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n for (let i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += `<${params.bulletElement} class=\"${params.bulletClass}\">`;\n }\n }\n $el.html(paginationHTML);\n swiper.pagination.bullets = $el.find(classesToSelector(params.bulletClass));\n }\n if (params.type === \"fraction\") {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = ` / `;\n }\n $el.html(paginationHTML);\n }\n if (params.type === \"progressbar\") {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = ``;\n }\n $el.html(paginationHTML);\n }\n if (params.type !== \"custom\") {\n emit(\"paginationRender\", swiper.pagination.$el[0]);\n }\n }\n function init() {\n swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, {\n el: \"swiper-pagination\"\n });\n const params = swiper.params.pagination;\n if (!params.el) return;\n let $el = dom_default(params.el);\n if ($el.length === 0) return;\n if (swiper.params.uniqueNavElements && typeof params.el === \"string\" && $el.length > 1) {\n $el = swiper.$el.find(params.el);\n if ($el.length > 1) {\n $el = $el.filter((el) => {\n if (dom_default(el).parents(\".swiper\")[0] !== swiper.el) return false;\n return true;\n });\n }\n }\n if (params.type === \"bullets\" && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n $el.addClass(params.modifierClass + params.type);\n $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (params.type === \"bullets\" && params.dynamicBullets) {\n $el.addClass(`${params.modifierClass}${params.type}-dynamic`);\n dynamicBulletIndex = 0;\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n if (params.type === \"progressbar\" && params.progressbarOpposite) {\n $el.addClass(params.progressbarOppositeClass);\n }\n if (params.clickable) {\n $el.on(\"click\", classesToSelector(params.bulletClass), function onClick2(e) {\n e.preventDefault();\n let index2 = dom_default(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index2 += swiper.loopedSlides;\n swiper.slideTo(index2);\n });\n }\n Object.assign(swiper.pagination, {\n $el,\n el: $el[0]\n });\n if (!swiper.enabled) {\n $el.addClass(params.lockClass);\n }\n }\n function destroy() {\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const $el = swiper.pagination.$el;\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (swiper.pagination.bullets && swiper.pagination.bullets.removeClass) swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n if (params.clickable) {\n $el.off(\"click\", classesToSelector(params.bulletClass));\n }\n }\n on2(\"init\", () => {\n if (swiper.params.pagination.enabled === false) {\n disable();\n } else {\n init();\n render();\n update();\n }\n });\n on2(\"activeIndexChange\", () => {\n if (swiper.params.loop) {\n update();\n } else if (typeof swiper.snapIndex === \"undefined\") {\n update();\n }\n });\n on2(\"snapIndexChange\", () => {\n if (!swiper.params.loop) {\n update();\n }\n });\n on2(\"slidesLengthChange\", () => {\n if (swiper.params.loop) {\n render();\n update();\n }\n });\n on2(\"snapGridLengthChange\", () => {\n if (!swiper.params.loop) {\n render();\n update();\n }\n });\n on2(\"destroy\", () => {\n destroy();\n });\n on2(\"enable disable\", () => {\n const {\n $el\n } = swiper.pagination;\n if ($el) {\n $el[swiper.enabled ? \"removeClass\" : \"addClass\"](swiper.params.pagination.lockClass);\n }\n });\n on2(\"lock unlock\", () => {\n update();\n });\n on2(\"click\", (_s, e) => {\n const targetEl = e.target;\n const {\n $el\n } = swiper.pagination;\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && $el && $el.length > 0 && !dom_default(targetEl).hasClass(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n const isHidden = $el.hasClass(swiper.params.pagination.hiddenClass);\n if (isHidden === true) {\n emit(\"paginationShow\");\n } else {\n emit(\"paginationHide\");\n }\n $el.toggleClass(swiper.params.pagination.hiddenClass);\n }\n });\n const enable = () => {\n swiper.$el.removeClass(swiper.params.pagination.paginationDisabledClass);\n if (swiper.pagination.$el) {\n swiper.pagination.$el.removeClass(swiper.params.pagination.paginationDisabledClass);\n }\n init();\n render();\n update();\n };\n const disable = () => {\n swiper.$el.addClass(swiper.params.pagination.paginationDisabledClass);\n if (swiper.pagination.$el) {\n swiper.pagination.$el.addClass(swiper.params.pagination.paginationDisabledClass);\n }\n destroy();\n };\n Object.assign(swiper.pagination, {\n enable,\n disable,\n render,\n update,\n init,\n destroy\n });\n}\n\n// node_modules/swiper/modules/scrollbar/scrollbar.js\nfunction Scrollbar({\n swiper,\n extendParams,\n on: on2,\n emit\n}) {\n const document2 = getDocument();\n let isTouched = false;\n let timeout = null;\n let dragTimeout = null;\n let dragStartPos;\n let dragSize;\n let trackSize;\n let divider;\n extendParams({\n scrollbar: {\n el: null,\n dragSize: \"auto\",\n hide: false,\n draggable: false,\n snapOnRelease: true,\n lockClass: \"swiper-scrollbar-lock\",\n dragClass: \"swiper-scrollbar-drag\",\n scrollbarDisabledClass: \"swiper-scrollbar-disabled\",\n horizontalClass: `swiper-scrollbar-horizontal`,\n verticalClass: `swiper-scrollbar-vertical`\n }\n });\n swiper.scrollbar = {\n el: null,\n dragEl: null,\n $el: null,\n $dragEl: null\n };\n function setTranslate2() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n const {\n scrollbar,\n rtlTranslate: rtl,\n progress\n } = swiper;\n const {\n $dragEl,\n $el\n } = scrollbar;\n const params = swiper.params.scrollbar;\n let newSize = dragSize;\n let newPos = (trackSize - dragSize) * progress;\n if (rtl) {\n newPos = -newPos;\n if (newPos > 0) {\n newSize = dragSize - newPos;\n newPos = 0;\n } else if (-newPos + dragSize > trackSize) {\n newSize = trackSize + newPos;\n }\n } else if (newPos < 0) {\n newSize = dragSize + newPos;\n newPos = 0;\n } else if (newPos + dragSize > trackSize) {\n newSize = trackSize - newPos;\n }\n if (swiper.isHorizontal()) {\n $dragEl.transform(`translate3d(${newPos}px, 0, 0)`);\n $dragEl[0].style.width = `${newSize}px`;\n } else {\n $dragEl.transform(`translate3d(0px, ${newPos}px, 0)`);\n $dragEl[0].style.height = `${newSize}px`;\n }\n if (params.hide) {\n clearTimeout(timeout);\n $el[0].style.opacity = 1;\n timeout = setTimeout(() => {\n $el[0].style.opacity = 0;\n $el.transition(400);\n }, 1e3);\n }\n }\n function setTransition2(duration) {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n swiper.scrollbar.$dragEl.transition(duration);\n }\n function updateSize2() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n const {\n scrollbar\n } = swiper;\n const {\n $dragEl,\n $el\n } = scrollbar;\n $dragEl[0].style.width = \"\";\n $dragEl[0].style.height = \"\";\n trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;\n divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0));\n if (swiper.params.scrollbar.dragSize === \"auto\") {\n dragSize = trackSize * divider;\n } else {\n dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\n }\n if (swiper.isHorizontal()) {\n $dragEl[0].style.width = `${dragSize}px`;\n } else {\n $dragEl[0].style.height = `${dragSize}px`;\n }\n if (divider >= 1) {\n $el[0].style.display = \"none\";\n } else {\n $el[0].style.display = \"\";\n }\n if (swiper.params.scrollbar.hide) {\n $el[0].style.opacity = 0;\n }\n if (swiper.params.watchOverflow && swiper.enabled) {\n scrollbar.$el[swiper.isLocked ? \"addClass\" : \"removeClass\"](swiper.params.scrollbar.lockClass);\n }\n }\n function getPointerPosition(e) {\n if (swiper.isHorizontal()) {\n return e.type === \"touchstart\" || e.type === \"touchmove\" ? e.targetTouches[0].clientX : e.clientX;\n }\n return e.type === \"touchstart\" || e.type === \"touchmove\" ? e.targetTouches[0].clientY : e.clientY;\n }\n function setDragPosition(e) {\n const {\n scrollbar,\n rtlTranslate: rtl\n } = swiper;\n const {\n $el\n } = scrollbar;\n let positionRatio;\n positionRatio = (getPointerPosition(e) - $el.offset()[swiper.isHorizontal() ? \"left\" : \"top\"] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);\n positionRatio = Math.max(Math.min(positionRatio, 1), 0);\n if (rtl) {\n positionRatio = 1 - positionRatio;\n }\n const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;\n swiper.updateProgress(position);\n swiper.setTranslate(position);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n function onDragStart(e) {\n const params = swiper.params.scrollbar;\n const {\n scrollbar,\n $wrapperEl\n } = swiper;\n const {\n $el,\n $dragEl\n } = scrollbar;\n isTouched = true;\n dragStartPos = e.target === $dragEl[0] || e.target === $dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? \"left\" : \"top\"] : null;\n e.preventDefault();\n e.stopPropagation();\n $wrapperEl.transition(100);\n $dragEl.transition(100);\n setDragPosition(e);\n clearTimeout(dragTimeout);\n $el.transition(0);\n if (params.hide) {\n $el.css(\"opacity\", 1);\n }\n if (swiper.params.cssMode) {\n swiper.$wrapperEl.css(\"scroll-snap-type\", \"none\");\n }\n emit(\"scrollbarDragStart\", e);\n }\n function onDragMove(e) {\n const {\n scrollbar,\n $wrapperEl\n } = swiper;\n const {\n $el,\n $dragEl\n } = scrollbar;\n if (!isTouched) return;\n if (e.preventDefault) e.preventDefault();\n else e.returnValue = false;\n setDragPosition(e);\n $wrapperEl.transition(0);\n $el.transition(0);\n $dragEl.transition(0);\n emit(\"scrollbarDragMove\", e);\n }\n function onDragEnd(e) {\n const params = swiper.params.scrollbar;\n const {\n scrollbar,\n $wrapperEl\n } = swiper;\n const {\n $el\n } = scrollbar;\n if (!isTouched) return;\n isTouched = false;\n if (swiper.params.cssMode) {\n swiper.$wrapperEl.css(\"scroll-snap-type\", \"\");\n $wrapperEl.transition(\"\");\n }\n if (params.hide) {\n clearTimeout(dragTimeout);\n dragTimeout = nextTick(() => {\n $el.css(\"opacity\", 0);\n $el.transition(400);\n }, 1e3);\n }\n emit(\"scrollbarDragEnd\", e);\n if (params.snapOnRelease) {\n swiper.slideToClosest();\n }\n }\n function events2(method) {\n const {\n scrollbar,\n touchEventsTouch,\n touchEventsDesktop,\n params,\n support: support2\n } = swiper;\n const $el = scrollbar.$el;\n if (!$el) return;\n const target = $el[0];\n const activeListener = support2.passiveListener && params.passiveListeners ? {\n passive: false,\n capture: false\n } : false;\n const passiveListener = support2.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n if (!target) return;\n const eventMethod = method === \"on\" ? \"addEventListener\" : \"removeEventListener\";\n if (!support2.touch) {\n target[eventMethod](touchEventsDesktop.start, onDragStart, activeListener);\n document2[eventMethod](touchEventsDesktop.move, onDragMove, activeListener);\n document2[eventMethod](touchEventsDesktop.end, onDragEnd, passiveListener);\n } else {\n target[eventMethod](touchEventsTouch.start, onDragStart, activeListener);\n target[eventMethod](touchEventsTouch.move, onDragMove, activeListener);\n target[eventMethod](touchEventsTouch.end, onDragEnd, passiveListener);\n }\n }\n function enableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events2(\"on\");\n }\n function disableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events2(\"off\");\n }\n function init() {\n const {\n scrollbar,\n $el: $swiperEl\n } = swiper;\n swiper.params.scrollbar = createElementIfNotDefined(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, {\n el: \"swiper-scrollbar\"\n });\n const params = swiper.params.scrollbar;\n if (!params.el) return;\n let $el = dom_default(params.el);\n if (swiper.params.uniqueNavElements && typeof params.el === \"string\" && $el.length > 1 && $swiperEl.find(params.el).length === 1) {\n $el = $swiperEl.find(params.el);\n }\n $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n let $dragEl = $el.find(`.${swiper.params.scrollbar.dragClass}`);\n if ($dragEl.length === 0) {\n $dragEl = dom_default(`
    `);\n $el.append($dragEl);\n }\n Object.assign(scrollbar, {\n $el,\n el: $el[0],\n $dragEl,\n dragEl: $dragEl[0]\n });\n if (params.draggable) {\n enableDraggable();\n }\n if ($el) {\n $el[swiper.enabled ? \"removeClass\" : \"addClass\"](swiper.params.scrollbar.lockClass);\n }\n }\n function destroy() {\n const params = swiper.params.scrollbar;\n const $el = swiper.scrollbar.$el;\n if ($el) {\n $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n }\n disableDraggable();\n }\n on2(\"init\", () => {\n if (swiper.params.scrollbar.enabled === false) {\n disable();\n } else {\n init();\n updateSize2();\n setTranslate2();\n }\n });\n on2(\"update resize observerUpdate lock unlock\", () => {\n updateSize2();\n });\n on2(\"setTranslate\", () => {\n setTranslate2();\n });\n on2(\"setTransition\", (_s, duration) => {\n setTransition2(duration);\n });\n on2(\"enable disable\", () => {\n const {\n $el\n } = swiper.scrollbar;\n if ($el) {\n $el[swiper.enabled ? \"removeClass\" : \"addClass\"](swiper.params.scrollbar.lockClass);\n }\n });\n on2(\"destroy\", () => {\n destroy();\n });\n const enable = () => {\n swiper.$el.removeClass(swiper.params.scrollbar.scrollbarDisabledClass);\n if (swiper.scrollbar.$el) {\n swiper.scrollbar.$el.removeClass(swiper.params.scrollbar.scrollbarDisabledClass);\n }\n init();\n updateSize2();\n setTranslate2();\n };\n const disable = () => {\n swiper.$el.addClass(swiper.params.scrollbar.scrollbarDisabledClass);\n if (swiper.scrollbar.$el) {\n swiper.scrollbar.$el.addClass(swiper.params.scrollbar.scrollbarDisabledClass);\n }\n destroy();\n };\n Object.assign(swiper.scrollbar, {\n enable,\n disable,\n updateSize: updateSize2,\n setTranslate: setTranslate2,\n init,\n destroy\n });\n}\n\n// node_modules/swiper/modules/parallax/parallax.js\nfunction Parallax({\n swiper,\n extendParams,\n on: on2\n}) {\n extendParams({\n parallax: {\n enabled: false\n }\n });\n const setTransform = (el, progress) => {\n const {\n rtl\n } = swiper;\n const $el = dom_default(el);\n const rtlFactor = rtl ? -1 : 1;\n const p = $el.attr(\"data-swiper-parallax\") || \"0\";\n let x = $el.attr(\"data-swiper-parallax-x\");\n let y = $el.attr(\"data-swiper-parallax-y\");\n const scale = $el.attr(\"data-swiper-parallax-scale\");\n const opacity = $el.attr(\"data-swiper-parallax-opacity\");\n if (x || y) {\n x = x || \"0\";\n y = y || \"0\";\n } else if (swiper.isHorizontal()) {\n x = p;\n y = \"0\";\n } else {\n y = p;\n x = \"0\";\n }\n if (x.indexOf(\"%\") >= 0) {\n x = `${parseInt(x, 10) * progress * rtlFactor}%`;\n } else {\n x = `${x * progress * rtlFactor}px`;\n }\n if (y.indexOf(\"%\") >= 0) {\n y = `${parseInt(y, 10) * progress}%`;\n } else {\n y = `${y * progress}px`;\n }\n if (typeof opacity !== \"undefined\" && opacity !== null) {\n const currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));\n $el[0].style.opacity = currentOpacity;\n }\n if (typeof scale === \"undefined\" || scale === null) {\n $el.transform(`translate3d(${x}, ${y}, 0px)`);\n } else {\n const currentScale = scale - (scale - 1) * (1 - Math.abs(progress));\n $el.transform(`translate3d(${x}, ${y}, 0px) scale(${currentScale})`);\n }\n };\n const setTranslate2 = () => {\n const {\n $el,\n slides,\n progress,\n snapGrid\n } = swiper;\n $el.children(\"[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]\").each((el) => {\n setTransform(el, progress);\n });\n slides.each((slideEl, slideIndex) => {\n let slideProgress = slideEl.progress;\n if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== \"auto\") {\n slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);\n }\n slideProgress = Math.min(Math.max(slideProgress, -1), 1);\n dom_default(slideEl).find(\"[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]\").each((el) => {\n setTransform(el, slideProgress);\n });\n });\n };\n const setTransition2 = (duration = swiper.params.speed) => {\n const {\n $el\n } = swiper;\n $el.find(\"[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]\").each((parallaxEl) => {\n const $parallaxEl = dom_default(parallaxEl);\n let parallaxDuration = parseInt($parallaxEl.attr(\"data-swiper-parallax-duration\"), 10) || duration;\n if (duration === 0) parallaxDuration = 0;\n $parallaxEl.transition(parallaxDuration);\n });\n };\n on2(\"beforeInit\", () => {\n if (!swiper.params.parallax.enabled) return;\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n });\n on2(\"init\", () => {\n if (!swiper.params.parallax.enabled) return;\n setTranslate2();\n });\n on2(\"setTranslate\", () => {\n if (!swiper.params.parallax.enabled) return;\n setTranslate2();\n });\n on2(\"setTransition\", (_swiper, duration) => {\n if (!swiper.params.parallax.enabled) return;\n setTransition2(duration);\n });\n}\n\n// node_modules/swiper/modules/zoom/zoom.js\nfunction Zoom({\n swiper,\n extendParams,\n on: on2,\n emit\n}) {\n const window2 = getWindow();\n extendParams({\n zoom: {\n enabled: false,\n maxRatio: 3,\n minRatio: 1,\n toggle: true,\n containerClass: \"swiper-zoom-container\",\n zoomedSlideClass: \"swiper-slide-zoomed\"\n }\n });\n swiper.zoom = {\n enabled: false\n };\n let currentScale = 1;\n let isScaling = false;\n let gesturesEnabled;\n let fakeGestureTouched;\n let fakeGestureMoved;\n const gesture = {\n $slideEl: void 0,\n slideWidth: void 0,\n slideHeight: void 0,\n $imageEl: void 0,\n $imageWrapEl: void 0,\n maxRatio: 3\n };\n const image = {\n isTouched: void 0,\n isMoved: void 0,\n currentX: void 0,\n currentY: void 0,\n minX: void 0,\n minY: void 0,\n maxX: void 0,\n maxY: void 0,\n width: void 0,\n height: void 0,\n startX: void 0,\n startY: void 0,\n touchesStart: {},\n touchesCurrent: {}\n };\n const velocity = {\n x: void 0,\n y: void 0,\n prevPositionX: void 0,\n prevPositionY: void 0,\n prevTime: void 0\n };\n let scale = 1;\n Object.defineProperty(swiper.zoom, \"scale\", {\n get() {\n return scale;\n },\n set(value) {\n if (scale !== value) {\n const imageEl = gesture.$imageEl ? gesture.$imageEl[0] : void 0;\n const slideEl = gesture.$slideEl ? gesture.$slideEl[0] : void 0;\n emit(\"zoomChange\", value, imageEl, slideEl);\n }\n scale = value;\n }\n });\n function getDistanceBetweenTouches(e) {\n if (e.targetTouches.length < 2) return 1;\n const x1 = e.targetTouches[0].pageX;\n const y1 = e.targetTouches[0].pageY;\n const x2 = e.targetTouches[1].pageX;\n const y2 = e.targetTouches[1].pageY;\n const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);\n return distance;\n }\n function onGestureStart(e) {\n const support2 = swiper.support;\n const params = swiper.params.zoom;\n fakeGestureTouched = false;\n fakeGestureMoved = false;\n if (!support2.gestures) {\n if (e.type !== \"touchstart\" || e.type === \"touchstart\" && e.targetTouches.length < 2) {\n return;\n }\n fakeGestureTouched = true;\n gesture.scaleStart = getDistanceBetweenTouches(e);\n }\n if (!gesture.$slideEl || !gesture.$slideEl.length) {\n gesture.$slideEl = dom_default(e.target).closest(`.${swiper.params.slideClass}`);\n if (gesture.$slideEl.length === 0) gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n gesture.$imageEl = gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find(\"picture, img, svg, canvas, .swiper-zoom-target\").eq(0);\n gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`);\n gesture.maxRatio = gesture.$imageWrapEl.attr(\"data-swiper-zoom\") || params.maxRatio;\n if (gesture.$imageWrapEl.length === 0) {\n gesture.$imageEl = void 0;\n return;\n }\n }\n if (gesture.$imageEl) {\n gesture.$imageEl.transition(0);\n }\n isScaling = true;\n }\n function onGestureChange(e) {\n const support2 = swiper.support;\n const params = swiper.params.zoom;\n const zoom = swiper.zoom;\n if (!support2.gestures) {\n if (e.type !== \"touchmove\" || e.type === \"touchmove\" && e.targetTouches.length < 2) {\n return;\n }\n fakeGestureMoved = true;\n gesture.scaleMove = getDistanceBetweenTouches(e);\n }\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\n if (e.type === \"gesturechange\") onGestureStart(e);\n return;\n }\n if (support2.gestures) {\n zoom.scale = e.scale * currentScale;\n } else {\n zoom.scale = gesture.scaleMove / gesture.scaleStart * currentScale;\n }\n if (zoom.scale > gesture.maxRatio) {\n zoom.scale = gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5;\n }\n if (zoom.scale < params.minRatio) {\n zoom.scale = params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5;\n }\n gesture.$imageEl.transform(`translate3d(0,0,0) scale(${zoom.scale})`);\n }\n function onGestureEnd(e) {\n const device = swiper.device;\n const support2 = swiper.support;\n const params = swiper.params.zoom;\n const zoom = swiper.zoom;\n if (!support2.gestures) {\n if (!fakeGestureTouched || !fakeGestureMoved) {\n return;\n }\n if (e.type !== \"touchend\" || e.type === \"touchend\" && e.changedTouches.length < 2 && !device.android) {\n return;\n }\n fakeGestureTouched = false;\n fakeGestureMoved = false;\n }\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);\n gesture.$imageEl.transition(swiper.params.speed).transform(`translate3d(0,0,0) scale(${zoom.scale})`);\n currentScale = zoom.scale;\n isScaling = false;\n if (zoom.scale === 1) gesture.$slideEl = void 0;\n }\n function onTouchStart2(e) {\n const device = swiper.device;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n if (image.isTouched) return;\n if (device.android && e.cancelable) e.preventDefault();\n image.isTouched = true;\n image.touchesStart.x = e.type === \"touchstart\" ? e.targetTouches[0].pageX : e.pageX;\n image.touchesStart.y = e.type === \"touchstart\" ? e.targetTouches[0].pageY : e.pageY;\n }\n function onTouchMove2(e) {\n const zoom = swiper.zoom;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n swiper.allowClick = false;\n if (!image.isTouched || !gesture.$slideEl) return;\n if (!image.isMoved) {\n image.width = gesture.$imageEl[0].offsetWidth;\n image.height = gesture.$imageEl[0].offsetHeight;\n image.startX = getTranslate(gesture.$imageWrapEl[0], \"x\") || 0;\n image.startY = getTranslate(gesture.$imageWrapEl[0], \"y\") || 0;\n gesture.slideWidth = gesture.$slideEl[0].offsetWidth;\n gesture.slideHeight = gesture.$slideEl[0].offsetHeight;\n gesture.$imageWrapEl.transition(0);\n }\n const scaledWidth = image.width * zoom.scale;\n const scaledHeight = image.height * zoom.scale;\n if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.touchesCurrent.x = e.type === \"touchmove\" ? e.targetTouches[0].pageX : e.pageX;\n image.touchesCurrent.y = e.type === \"touchmove\" ? e.targetTouches[0].pageY : e.pageY;\n if (!image.isMoved && !isScaling) {\n if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) {\n image.isTouched = false;\n return;\n }\n if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) {\n image.isTouched = false;\n return;\n }\n }\n if (e.cancelable) {\n e.preventDefault();\n }\n e.stopPropagation();\n image.isMoved = true;\n image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX;\n image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY;\n if (image.currentX < image.minX) {\n image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8;\n }\n if (image.currentX > image.maxX) {\n image.currentX = image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8;\n }\n if (image.currentY < image.minY) {\n image.currentY = image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8;\n }\n if (image.currentY > image.maxY) {\n image.currentY = image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8;\n }\n if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;\n if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;\n if (!velocity.prevTime) velocity.prevTime = Date.now();\n velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;\n velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;\n if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;\n if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;\n velocity.prevPositionX = image.touchesCurrent.x;\n velocity.prevPositionY = image.touchesCurrent.y;\n velocity.prevTime = Date.now();\n gesture.$imageWrapEl.transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`);\n }\n function onTouchEnd2() {\n const zoom = swiper.zoom;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n if (!image.isTouched || !image.isMoved) {\n image.isTouched = false;\n image.isMoved = false;\n return;\n }\n image.isTouched = false;\n image.isMoved = false;\n let momentumDurationX = 300;\n let momentumDurationY = 300;\n const momentumDistanceX = velocity.x * momentumDurationX;\n const newPositionX = image.currentX + momentumDistanceX;\n const momentumDistanceY = velocity.y * momentumDurationY;\n const newPositionY = image.currentY + momentumDistanceY;\n if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);\n if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);\n const momentumDuration = Math.max(momentumDurationX, momentumDurationY);\n image.currentX = newPositionX;\n image.currentY = newPositionY;\n const scaledWidth = image.width * zoom.scale;\n const scaledHeight = image.height * zoom.scale;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);\n image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);\n gesture.$imageWrapEl.transition(momentumDuration).transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`);\n }\n function onTransitionEnd() {\n const zoom = swiper.zoom;\n if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) {\n if (gesture.$imageEl) {\n gesture.$imageEl.transform(\"translate3d(0,0,0) scale(1)\");\n }\n if (gesture.$imageWrapEl) {\n gesture.$imageWrapEl.transform(\"translate3d(0,0,0)\");\n }\n zoom.scale = 1;\n currentScale = 1;\n gesture.$slideEl = void 0;\n gesture.$imageEl = void 0;\n gesture.$imageWrapEl = void 0;\n }\n }\n function zoomIn(e) {\n const zoom = swiper.zoom;\n const params = swiper.params.zoom;\n if (!gesture.$slideEl) {\n if (e && e.target) {\n gesture.$slideEl = dom_default(e.target).closest(`.${swiper.params.slideClass}`);\n }\n if (!gesture.$slideEl) {\n if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n gesture.$slideEl = swiper.$wrapperEl.children(`.${swiper.params.slideActiveClass}`);\n } else {\n gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n }\n }\n gesture.$imageEl = gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find(\"picture, img, svg, canvas, .swiper-zoom-target\").eq(0);\n gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`);\n }\n if (!gesture.$imageEl || gesture.$imageEl.length === 0 || !gesture.$imageWrapEl || gesture.$imageWrapEl.length === 0) return;\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style.overflow = \"hidden\";\n swiper.wrapperEl.style.touchAction = \"none\";\n }\n gesture.$slideEl.addClass(`${params.zoomedSlideClass}`);\n let touchX;\n let touchY;\n let offsetX;\n let offsetY;\n let diffX;\n let diffY;\n let translateX;\n let translateY;\n let imageWidth;\n let imageHeight;\n let scaledWidth;\n let scaledHeight;\n let translateMinX;\n let translateMinY;\n let translateMaxX;\n let translateMaxY;\n let slideWidth;\n let slideHeight;\n if (typeof image.touchesStart.x === \"undefined\" && e) {\n touchX = e.type === \"touchend\" ? e.changedTouches[0].pageX : e.pageX;\n touchY = e.type === \"touchend\" ? e.changedTouches[0].pageY : e.pageY;\n } else {\n touchX = image.touchesStart.x;\n touchY = image.touchesStart.y;\n }\n zoom.scale = gesture.$imageWrapEl.attr(\"data-swiper-zoom\") || params.maxRatio;\n currentScale = gesture.$imageWrapEl.attr(\"data-swiper-zoom\") || params.maxRatio;\n if (e) {\n slideWidth = gesture.$slideEl[0].offsetWidth;\n slideHeight = gesture.$slideEl[0].offsetHeight;\n offsetX = gesture.$slideEl.offset().left + window2.scrollX;\n offsetY = gesture.$slideEl.offset().top + window2.scrollY;\n diffX = offsetX + slideWidth / 2 - touchX;\n diffY = offsetY + slideHeight / 2 - touchY;\n imageWidth = gesture.$imageEl[0].offsetWidth;\n imageHeight = gesture.$imageEl[0].offsetHeight;\n scaledWidth = imageWidth * zoom.scale;\n scaledHeight = imageHeight * zoom.scale;\n translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);\n translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);\n translateMaxX = -translateMinX;\n translateMaxY = -translateMinY;\n translateX = diffX * zoom.scale;\n translateY = diffY * zoom.scale;\n if (translateX < translateMinX) {\n translateX = translateMinX;\n }\n if (translateX > translateMaxX) {\n translateX = translateMaxX;\n }\n if (translateY < translateMinY) {\n translateY = translateMinY;\n }\n if (translateY > translateMaxY) {\n translateY = translateMaxY;\n }\n } else {\n translateX = 0;\n translateY = 0;\n }\n gesture.$imageWrapEl.transition(300).transform(`translate3d(${translateX}px, ${translateY}px,0)`);\n gesture.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${zoom.scale})`);\n }\n function zoomOut() {\n const zoom = swiper.zoom;\n const params = swiper.params.zoom;\n if (!gesture.$slideEl) {\n if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n gesture.$slideEl = swiper.$wrapperEl.children(`.${swiper.params.slideActiveClass}`);\n } else {\n gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n }\n gesture.$imageEl = gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find(\"picture, img, svg, canvas, .swiper-zoom-target\").eq(0);\n gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`);\n }\n if (!gesture.$imageEl || gesture.$imageEl.length === 0 || !gesture.$imageWrapEl || gesture.$imageWrapEl.length === 0) return;\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style.overflow = \"\";\n swiper.wrapperEl.style.touchAction = \"\";\n }\n zoom.scale = 1;\n currentScale = 1;\n gesture.$imageWrapEl.transition(300).transform(\"translate3d(0,0,0)\");\n gesture.$imageEl.transition(300).transform(\"translate3d(0,0,0) scale(1)\");\n gesture.$slideEl.removeClass(`${params.zoomedSlideClass}`);\n gesture.$slideEl = void 0;\n }\n function zoomToggle(e) {\n const zoom = swiper.zoom;\n if (zoom.scale && zoom.scale !== 1) {\n zoomOut();\n } else {\n zoomIn(e);\n }\n }\n function getListeners() {\n const support2 = swiper.support;\n const passiveListener = swiper.touchEvents.start === \"touchstart\" && support2.passiveListener && swiper.params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n const activeListenerWithCapture = support2.passiveListener ? {\n passive: false,\n capture: true\n } : true;\n return {\n passiveListener,\n activeListenerWithCapture\n };\n }\n function getSlideSelector() {\n return `.${swiper.params.slideClass}`;\n }\n function toggleGestures(method) {\n const {\n passiveListener\n } = getListeners();\n const slideSelector = getSlideSelector();\n swiper.$wrapperEl[method](\"gesturestart\", slideSelector, onGestureStart, passiveListener);\n swiper.$wrapperEl[method](\"gesturechange\", slideSelector, onGestureChange, passiveListener);\n swiper.$wrapperEl[method](\"gestureend\", slideSelector, onGestureEnd, passiveListener);\n }\n function enableGestures() {\n if (gesturesEnabled) return;\n gesturesEnabled = true;\n toggleGestures(\"on\");\n }\n function disableGestures() {\n if (!gesturesEnabled) return;\n gesturesEnabled = false;\n toggleGestures(\"off\");\n }\n function enable() {\n const zoom = swiper.zoom;\n if (zoom.enabled) return;\n zoom.enabled = true;\n const support2 = swiper.support;\n const {\n passiveListener,\n activeListenerWithCapture\n } = getListeners();\n const slideSelector = getSlideSelector();\n if (support2.gestures) {\n swiper.$wrapperEl.on(swiper.touchEvents.start, enableGestures, passiveListener);\n swiper.$wrapperEl.on(swiper.touchEvents.end, disableGestures, passiveListener);\n } else if (swiper.touchEvents.start === \"touchstart\") {\n swiper.$wrapperEl.on(swiper.touchEvents.start, slideSelector, onGestureStart, passiveListener);\n swiper.$wrapperEl.on(swiper.touchEvents.move, slideSelector, onGestureChange, activeListenerWithCapture);\n swiper.$wrapperEl.on(swiper.touchEvents.end, slideSelector, onGestureEnd, passiveListener);\n if (swiper.touchEvents.cancel) {\n swiper.$wrapperEl.on(swiper.touchEvents.cancel, slideSelector, onGestureEnd, passiveListener);\n }\n }\n swiper.$wrapperEl.on(swiper.touchEvents.move, `.${swiper.params.zoom.containerClass}`, onTouchMove2, activeListenerWithCapture);\n }\n function disable() {\n const zoom = swiper.zoom;\n if (!zoom.enabled) return;\n const support2 = swiper.support;\n zoom.enabled = false;\n const {\n passiveListener,\n activeListenerWithCapture\n } = getListeners();\n const slideSelector = getSlideSelector();\n if (support2.gestures) {\n swiper.$wrapperEl.off(swiper.touchEvents.start, enableGestures, passiveListener);\n swiper.$wrapperEl.off(swiper.touchEvents.end, disableGestures, passiveListener);\n } else if (swiper.touchEvents.start === \"touchstart\") {\n swiper.$wrapperEl.off(swiper.touchEvents.start, slideSelector, onGestureStart, passiveListener);\n swiper.$wrapperEl.off(swiper.touchEvents.move, slideSelector, onGestureChange, activeListenerWithCapture);\n swiper.$wrapperEl.off(swiper.touchEvents.end, slideSelector, onGestureEnd, passiveListener);\n if (swiper.touchEvents.cancel) {\n swiper.$wrapperEl.off(swiper.touchEvents.cancel, slideSelector, onGestureEnd, passiveListener);\n }\n }\n swiper.$wrapperEl.off(swiper.touchEvents.move, `.${swiper.params.zoom.containerClass}`, onTouchMove2, activeListenerWithCapture);\n }\n on2(\"init\", () => {\n if (swiper.params.zoom.enabled) {\n enable();\n }\n });\n on2(\"destroy\", () => {\n disable();\n });\n on2(\"touchStart\", (_s, e) => {\n if (!swiper.zoom.enabled) return;\n onTouchStart2(e);\n });\n on2(\"touchEnd\", (_s, e) => {\n if (!swiper.zoom.enabled) return;\n onTouchEnd2(e);\n });\n on2(\"doubleTap\", (_s, e) => {\n if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {\n zoomToggle(e);\n }\n });\n on2(\"transitionEnd\", () => {\n if (swiper.zoom.enabled && swiper.params.zoom.enabled) {\n onTransitionEnd();\n }\n });\n on2(\"slideChange\", () => {\n if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) {\n onTransitionEnd();\n }\n });\n Object.assign(swiper.zoom, {\n enable,\n disable,\n in: zoomIn,\n out: zoomOut,\n toggle: zoomToggle\n });\n}\n\n// node_modules/swiper/modules/lazy/lazy.js\nfunction Lazy({\n swiper,\n extendParams,\n on: on2,\n emit\n}) {\n extendParams({\n lazy: {\n checkInView: false,\n enabled: false,\n loadPrevNext: false,\n loadPrevNextAmount: 1,\n loadOnTransitionStart: false,\n scrollingElement: \"\",\n elementClass: \"swiper-lazy\",\n loadingClass: \"swiper-lazy-loading\",\n loadedClass: \"swiper-lazy-loaded\",\n preloaderClass: \"swiper-lazy-preloader\"\n }\n });\n swiper.lazy = {};\n let scrollHandlerAttached = false;\n let initialImageLoaded = false;\n function loadInSlide(index2, loadInDuplicate = true) {\n const params = swiper.params.lazy;\n if (typeof index2 === \"undefined\") return;\n if (swiper.slides.length === 0) return;\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n const $slideEl = isVirtual ? swiper.$wrapperEl.children(`.${swiper.params.slideClass}[data-swiper-slide-index=\"${index2}\"]`) : swiper.slides.eq(index2);\n const $images = $slideEl.find(`.${params.elementClass}:not(.${params.loadedClass}):not(.${params.loadingClass})`);\n if ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) {\n $images.push($slideEl[0]);\n }\n if ($images.length === 0) return;\n $images.each((imageEl) => {\n const $imageEl = dom_default(imageEl);\n $imageEl.addClass(params.loadingClass);\n const background = $imageEl.attr(\"data-background\");\n const src = $imageEl.attr(\"data-src\");\n const srcset = $imageEl.attr(\"data-srcset\");\n const sizes = $imageEl.attr(\"data-sizes\");\n const $pictureEl = $imageEl.parent(\"picture\");\n swiper.loadImage($imageEl[0], src || background, srcset, sizes, false, () => {\n if (typeof swiper === \"undefined\" || swiper === null || !swiper || swiper && !swiper.params || swiper.destroyed) return;\n if (background) {\n $imageEl.css(\"background-image\", `url(\"${background}\")`);\n $imageEl.removeAttr(\"data-background\");\n } else {\n if (srcset) {\n $imageEl.attr(\"srcset\", srcset);\n $imageEl.removeAttr(\"data-srcset\");\n }\n if (sizes) {\n $imageEl.attr(\"sizes\", sizes);\n $imageEl.removeAttr(\"data-sizes\");\n }\n if ($pictureEl.length) {\n $pictureEl.children(\"source\").each((sourceEl) => {\n const $source = dom_default(sourceEl);\n if ($source.attr(\"data-srcset\")) {\n $source.attr(\"srcset\", $source.attr(\"data-srcset\"));\n $source.removeAttr(\"data-srcset\");\n }\n });\n }\n if (src) {\n $imageEl.attr(\"src\", src);\n $imageEl.removeAttr(\"data-src\");\n }\n }\n $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);\n $slideEl.find(`.${params.preloaderClass}`).remove();\n if (swiper.params.loop && loadInDuplicate) {\n const slideOriginalIndex = $slideEl.attr(\"data-swiper-slide-index\");\n if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) {\n const originalSlide = swiper.$wrapperEl.children(`[data-swiper-slide-index=\"${slideOriginalIndex}\"]:not(.${swiper.params.slideDuplicateClass})`);\n loadInSlide(originalSlide.index(), false);\n } else {\n const duplicatedSlide = swiper.$wrapperEl.children(`.${swiper.params.slideDuplicateClass}[data-swiper-slide-index=\"${slideOriginalIndex}\"]`);\n loadInSlide(duplicatedSlide.index(), false);\n }\n }\n emit(\"lazyImageReady\", $slideEl[0], $imageEl[0]);\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n });\n emit(\"lazyImageLoad\", $slideEl[0], $imageEl[0]);\n });\n }\n function load() {\n const {\n $wrapperEl,\n params: swiperParams,\n slides,\n activeIndex\n } = swiper;\n const isVirtual = swiper.virtual && swiperParams.virtual.enabled;\n const params = swiperParams.lazy;\n let slidesPerView = swiperParams.slidesPerView;\n if (slidesPerView === \"auto\") {\n slidesPerView = 0;\n }\n function slideExist(index2) {\n if (isVirtual) {\n if ($wrapperEl.children(`.${swiperParams.slideClass}[data-swiper-slide-index=\"${index2}\"]`).length) {\n return true;\n }\n } else if (slides[index2]) return true;\n return false;\n }\n function slideIndex(slideEl) {\n if (isVirtual) {\n return dom_default(slideEl).attr(\"data-swiper-slide-index\");\n }\n return dom_default(slideEl).index();\n }\n if (!initialImageLoaded) initialImageLoaded = true;\n if (swiper.params.watchSlidesProgress) {\n $wrapperEl.children(`.${swiperParams.slideVisibleClass}`).each((slideEl) => {\n const index2 = isVirtual ? dom_default(slideEl).attr(\"data-swiper-slide-index\") : dom_default(slideEl).index();\n loadInSlide(index2);\n });\n } else if (slidesPerView > 1) {\n for (let i = activeIndex; i < activeIndex + slidesPerView; i += 1) {\n if (slideExist(i)) loadInSlide(i);\n }\n } else {\n loadInSlide(activeIndex);\n }\n if (params.loadPrevNext) {\n if (slidesPerView > 1 || params.loadPrevNextAmount && params.loadPrevNextAmount > 1) {\n const amount = params.loadPrevNextAmount;\n const spv = Math.ceil(slidesPerView);\n const maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);\n const minIndex = Math.max(activeIndex - Math.max(spv, amount), 0);\n for (let i = activeIndex + spv; i < maxIndex; i += 1) {\n if (slideExist(i)) loadInSlide(i);\n }\n for (let i = minIndex; i < activeIndex; i += 1) {\n if (slideExist(i)) loadInSlide(i);\n }\n } else {\n const nextSlide = $wrapperEl.children(`.${swiperParams.slideNextClass}`);\n if (nextSlide.length > 0) loadInSlide(slideIndex(nextSlide));\n const prevSlide = $wrapperEl.children(`.${swiperParams.slidePrevClass}`);\n if (prevSlide.length > 0) loadInSlide(slideIndex(prevSlide));\n }\n }\n }\n function checkInViewOnLoad() {\n const window2 = getWindow();\n if (!swiper || swiper.destroyed) return;\n const $scrollElement = swiper.params.lazy.scrollingElement ? dom_default(swiper.params.lazy.scrollingElement) : dom_default(window2);\n const isWindow = $scrollElement[0] === window2;\n const scrollElementWidth = isWindow ? window2.innerWidth : $scrollElement[0].offsetWidth;\n const scrollElementHeight = isWindow ? window2.innerHeight : $scrollElement[0].offsetHeight;\n const swiperOffset = swiper.$el.offset();\n const {\n rtlTranslate: rtl\n } = swiper;\n let inView = false;\n if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;\n const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiper.width, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiper.height], [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height]];\n for (let i = 0; i < swiperCoord.length; i += 1) {\n const point = swiperCoord[i];\n if (point[0] >= 0 && point[0] <= scrollElementWidth && point[1] >= 0 && point[1] <= scrollElementHeight) {\n if (point[0] === 0 && point[1] === 0) continue;\n inView = true;\n }\n }\n const passiveListener = swiper.touchEvents.start === \"touchstart\" && swiper.support.passiveListener && swiper.params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n if (inView) {\n load();\n $scrollElement.off(\"scroll\", checkInViewOnLoad, passiveListener);\n } else if (!scrollHandlerAttached) {\n scrollHandlerAttached = true;\n $scrollElement.on(\"scroll\", checkInViewOnLoad, passiveListener);\n }\n }\n on2(\"beforeInit\", () => {\n if (swiper.params.lazy.enabled && swiper.params.preloadImages) {\n swiper.params.preloadImages = false;\n }\n });\n on2(\"init\", () => {\n if (swiper.params.lazy.enabled) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n });\n on2(\"scroll\", () => {\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && !swiper.params.freeMode.sticky) {\n load();\n }\n });\n on2(\"scrollbarDragMove resize _freeModeNoMomentumRelease\", () => {\n if (swiper.params.lazy.enabled) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n });\n on2(\"transitionStart\", () => {\n if (swiper.params.lazy.enabled) {\n if (swiper.params.lazy.loadOnTransitionStart || !swiper.params.lazy.loadOnTransitionStart && !initialImageLoaded) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n }\n });\n on2(\"transitionEnd\", () => {\n if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n });\n on2(\"slideChange\", () => {\n const {\n lazy,\n cssMode,\n watchSlidesProgress,\n touchReleaseOnEdges,\n resistanceRatio\n } = swiper.params;\n if (lazy.enabled && (cssMode || watchSlidesProgress && (touchReleaseOnEdges || resistanceRatio === 0))) {\n load();\n }\n });\n on2(\"destroy\", () => {\n if (!swiper.$el) return;\n swiper.$el.find(`.${swiper.params.lazy.loadingClass}`).removeClass(swiper.params.lazy.loadingClass);\n });\n Object.assign(swiper.lazy, {\n load,\n loadInSlide\n });\n}\n\n// node_modules/swiper/modules/controller/controller.js\nfunction Controller({\n swiper,\n extendParams,\n on: on2\n}) {\n extendParams({\n controller: {\n control: void 0,\n inverse: false,\n by: \"slide\"\n // or 'container'\n }\n });\n swiper.controller = {\n control: void 0\n };\n function LinearSpline(x, y) {\n const binarySearch = /* @__PURE__ */ function search() {\n let maxIndex;\n let minIndex;\n let guess;\n return (array, val) => {\n minIndex = -1;\n maxIndex = array.length;\n while (maxIndex - minIndex > 1) {\n guess = maxIndex + minIndex >> 1;\n if (array[guess] <= val) {\n minIndex = guess;\n } else {\n maxIndex = guess;\n }\n }\n return maxIndex;\n };\n }();\n this.x = x;\n this.y = y;\n this.lastIndex = x.length - 1;\n let i1;\n let i3;\n this.interpolate = function interpolate(x2) {\n if (!x2) return 0;\n i3 = binarySearch(this.x, x2);\n i1 = i3 - 1;\n return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];\n };\n return this;\n }\n function getInterpolateFunction(c) {\n if (!swiper.controller.spline) {\n swiper.controller.spline = swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid) : new LinearSpline(swiper.snapGrid, c.snapGrid);\n }\n }\n function setTranslate2(_t, byController) {\n const controlled = swiper.controller.control;\n let multiplier;\n let controlledTranslate;\n const Swiper2 = swiper.constructor;\n function setControlledTranslate(c) {\n const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;\n if (swiper.params.controller.by === \"slide\") {\n getInterpolateFunction(c);\n controlledTranslate = -swiper.controller.spline.interpolate(-translate);\n }\n if (!controlledTranslate || swiper.params.controller.by === \"container\") {\n multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());\n controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();\n }\n if (swiper.params.controller.inverse) {\n controlledTranslate = c.maxTranslate() - controlledTranslate;\n }\n c.updateProgress(controlledTranslate);\n c.setTranslate(controlledTranslate, swiper);\n c.updateActiveIndex();\n c.updateSlidesClasses();\n }\n if (Array.isArray(controlled)) {\n for (let i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper2) {\n setControlledTranslate(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper2 && byController !== controlled) {\n setControlledTranslate(controlled);\n }\n }\n function setTransition2(duration, byController) {\n const Swiper2 = swiper.constructor;\n const controlled = swiper.controller.control;\n let i;\n function setControlledTransition(c) {\n c.setTransition(duration, swiper);\n if (duration !== 0) {\n c.transitionStart();\n if (c.params.autoHeight) {\n nextTick(() => {\n c.updateAutoHeight();\n });\n }\n c.$wrapperEl.transitionEnd(() => {\n if (!controlled) return;\n if (c.params.loop && swiper.params.controller.by === \"slide\") {\n c.loopFix();\n }\n c.transitionEnd();\n });\n }\n }\n if (Array.isArray(controlled)) {\n for (i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper2) {\n setControlledTransition(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper2 && byController !== controlled) {\n setControlledTransition(controlled);\n }\n }\n function removeSpline() {\n if (!swiper.controller.control) return;\n if (swiper.controller.spline) {\n swiper.controller.spline = void 0;\n delete swiper.controller.spline;\n }\n }\n on2(\"beforeInit\", () => {\n swiper.controller.control = swiper.params.controller.control;\n });\n on2(\"update\", () => {\n removeSpline();\n });\n on2(\"resize\", () => {\n removeSpline();\n });\n on2(\"observerUpdate\", () => {\n removeSpline();\n });\n on2(\"setTranslate\", (_s, translate, byController) => {\n if (!swiper.controller.control) return;\n swiper.controller.setTranslate(translate, byController);\n });\n on2(\"setTransition\", (_s, duration, byController) => {\n if (!swiper.controller.control) return;\n swiper.controller.setTransition(duration, byController);\n });\n Object.assign(swiper.controller, {\n setTranslate: setTranslate2,\n setTransition: setTransition2\n });\n}\n\n// node_modules/swiper/modules/a11y/a11y.js\nfunction A11y({\n swiper,\n extendParams,\n on: on2\n}) {\n extendParams({\n a11y: {\n enabled: true,\n notificationClass: \"swiper-notification\",\n prevSlideMessage: \"Previous slide\",\n nextSlideMessage: \"Next slide\",\n firstSlideMessage: \"This is the first slide\",\n lastSlideMessage: \"This is the last slide\",\n paginationBulletMessage: \"Go to slide {{index}}\",\n slideLabelMessage: \"{{index}} / {{slidesLength}}\",\n containerMessage: null,\n containerRoleDescriptionMessage: null,\n itemRoleDescriptionMessage: null,\n slideRole: \"group\",\n id: null\n }\n });\n swiper.a11y = {\n clicked: false\n };\n let liveRegion = null;\n function notify(message) {\n const notification = liveRegion;\n if (notification.length === 0) return;\n notification.html(\"\");\n notification.html(message);\n }\n function getRandomNumber(size = 16) {\n const randomChar = () => Math.round(16 * Math.random()).toString(16);\n return \"x\".repeat(size).replace(/x/g, randomChar);\n }\n function makeElFocusable($el) {\n $el.attr(\"tabIndex\", \"0\");\n }\n function makeElNotFocusable($el) {\n $el.attr(\"tabIndex\", \"-1\");\n }\n function addElRole($el, role) {\n $el.attr(\"role\", role);\n }\n function addElRoleDescription($el, description) {\n $el.attr(\"aria-roledescription\", description);\n }\n function addElControls($el, controls) {\n $el.attr(\"aria-controls\", controls);\n }\n function addElLabel($el, label) {\n $el.attr(\"aria-label\", label);\n }\n function addElId($el, id) {\n $el.attr(\"id\", id);\n }\n function addElLive($el, live) {\n $el.attr(\"aria-live\", live);\n }\n function disableEl($el) {\n $el.attr(\"aria-disabled\", true);\n }\n function enableEl($el) {\n $el.attr(\"aria-disabled\", false);\n }\n function onEnterOrSpaceKey(e) {\n if (e.keyCode !== 13 && e.keyCode !== 32) return;\n const params = swiper.params.a11y;\n const $targetEl = dom_default(e.target);\n if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) {\n if (!(swiper.isEnd && !swiper.params.loop)) {\n swiper.slideNext();\n }\n if (swiper.isEnd) {\n notify(params.lastSlideMessage);\n } else {\n notify(params.nextSlideMessage);\n }\n }\n if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) {\n if (!(swiper.isBeginning && !swiper.params.loop)) {\n swiper.slidePrev();\n }\n if (swiper.isBeginning) {\n notify(params.firstSlideMessage);\n } else {\n notify(params.prevSlideMessage);\n }\n }\n if (swiper.pagination && $targetEl.is(classesToSelector(swiper.params.pagination.bulletClass))) {\n $targetEl[0].click();\n }\n }\n function updateNavigation() {\n if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return;\n const {\n $nextEl,\n $prevEl\n } = swiper.navigation;\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n disableEl($prevEl);\n makeElNotFocusable($prevEl);\n } else {\n enableEl($prevEl);\n makeElFocusable($prevEl);\n }\n }\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n disableEl($nextEl);\n makeElNotFocusable($nextEl);\n } else {\n enableEl($nextEl);\n makeElFocusable($nextEl);\n }\n }\n }\n function hasPagination() {\n return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length;\n }\n function hasClickablePagination() {\n return hasPagination() && swiper.params.pagination.clickable;\n }\n function updatePagination() {\n const params = swiper.params.a11y;\n if (!hasPagination()) return;\n swiper.pagination.bullets.each((bulletEl) => {\n const $bulletEl = dom_default(bulletEl);\n if (swiper.params.pagination.clickable) {\n makeElFocusable($bulletEl);\n if (!swiper.params.pagination.renderBullet) {\n addElRole($bulletEl, \"button\");\n addElLabel($bulletEl, params.paginationBulletMessage.replace(/\\{\\{index\\}\\}/, $bulletEl.index() + 1));\n }\n }\n if ($bulletEl.is(`.${swiper.params.pagination.bulletActiveClass}`)) {\n $bulletEl.attr(\"aria-current\", \"true\");\n } else {\n $bulletEl.removeAttr(\"aria-current\");\n }\n });\n }\n const initNavEl = ($el, wrapperId, message) => {\n makeElFocusable($el);\n if ($el[0].tagName !== \"BUTTON\") {\n addElRole($el, \"button\");\n $el.on(\"keydown\", onEnterOrSpaceKey);\n }\n addElLabel($el, message);\n addElControls($el, wrapperId);\n };\n const handlePointerDown = () => {\n swiper.a11y.clicked = true;\n };\n const handlePointerUp = () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (!swiper.destroyed) {\n swiper.a11y.clicked = false;\n }\n });\n });\n };\n const handleFocus = (e) => {\n if (swiper.a11y.clicked) return;\n const slideEl = e.target.closest(`.${swiper.params.slideClass}`);\n if (!slideEl || !swiper.slides.includes(slideEl)) return;\n const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex;\n const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl);\n if (isActive || isVisible) return;\n if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return;\n if (swiper.isHorizontal()) {\n swiper.el.scrollLeft = 0;\n } else {\n swiper.el.scrollTop = 0;\n }\n swiper.slideTo(swiper.slides.indexOf(slideEl), 0);\n };\n const initSlides = () => {\n const params = swiper.params.a11y;\n if (params.itemRoleDescriptionMessage) {\n addElRoleDescription(dom_default(swiper.slides), params.itemRoleDescriptionMessage);\n }\n if (params.slideRole) {\n addElRole(dom_default(swiper.slides), params.slideRole);\n }\n const slidesLength = swiper.params.loop ? swiper.slides.filter((el) => !el.classList.contains(swiper.params.slideDuplicateClass)).length : swiper.slides.length;\n if (params.slideLabelMessage) {\n swiper.slides.each((slideEl, index2) => {\n const $slideEl = dom_default(slideEl);\n const slideIndex = swiper.params.loop ? parseInt($slideEl.attr(\"data-swiper-slide-index\"), 10) : index2;\n const ariaLabelMessage = params.slideLabelMessage.replace(/\\{\\{index\\}\\}/, slideIndex + 1).replace(/\\{\\{slidesLength\\}\\}/, slidesLength);\n addElLabel($slideEl, ariaLabelMessage);\n });\n }\n };\n const init = () => {\n const params = swiper.params.a11y;\n swiper.$el.append(liveRegion);\n const $containerEl = swiper.$el;\n if (params.containerRoleDescriptionMessage) {\n addElRoleDescription($containerEl, params.containerRoleDescriptionMessage);\n }\n if (params.containerMessage) {\n addElLabel($containerEl, params.containerMessage);\n }\n const $wrapperEl = swiper.$wrapperEl;\n const wrapperId = params.id || $wrapperEl.attr(\"id\") || `swiper-wrapper-${getRandomNumber(16)}`;\n const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? \"off\" : \"polite\";\n addElId($wrapperEl, wrapperId);\n addElLive($wrapperEl, live);\n initSlides();\n let $nextEl;\n let $prevEl;\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n if ($nextEl && $nextEl.length) {\n initNavEl($nextEl, wrapperId, params.nextSlideMessage);\n }\n if ($prevEl && $prevEl.length) {\n initNavEl($prevEl, wrapperId, params.prevSlideMessage);\n }\n if (hasClickablePagination()) {\n swiper.pagination.$el.on(\"keydown\", classesToSelector(swiper.params.pagination.bulletClass), onEnterOrSpaceKey);\n }\n swiper.$el.on(\"focus\", handleFocus, true);\n swiper.$el.on(\"pointerdown\", handlePointerDown, true);\n swiper.$el.on(\"pointerup\", handlePointerUp, true);\n };\n function destroy() {\n if (liveRegion && liveRegion.length > 0) liveRegion.remove();\n let $nextEl;\n let $prevEl;\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n if ($nextEl) {\n $nextEl.off(\"keydown\", onEnterOrSpaceKey);\n }\n if ($prevEl) {\n $prevEl.off(\"keydown\", onEnterOrSpaceKey);\n }\n if (hasClickablePagination()) {\n swiper.pagination.$el.off(\"keydown\", classesToSelector(swiper.params.pagination.bulletClass), onEnterOrSpaceKey);\n }\n swiper.$el.off(\"focus\", handleFocus, true);\n swiper.$el.off(\"pointerdown\", handlePointerDown, true);\n swiper.$el.off(\"pointerup\", handlePointerUp, true);\n }\n on2(\"beforeInit\", () => {\n liveRegion = dom_default(``);\n });\n on2(\"afterInit\", () => {\n if (!swiper.params.a11y.enabled) return;\n init();\n });\n on2(\"slidesLengthChange snapGridLengthChange slidesGridLengthChange\", () => {\n if (!swiper.params.a11y.enabled) return;\n initSlides();\n });\n on2(\"fromEdge toEdge afterInit lock unlock\", () => {\n if (!swiper.params.a11y.enabled) return;\n updateNavigation();\n });\n on2(\"paginationUpdate\", () => {\n if (!swiper.params.a11y.enabled) return;\n updatePagination();\n });\n on2(\"destroy\", () => {\n if (!swiper.params.a11y.enabled) return;\n destroy();\n });\n}\n\n// node_modules/swiper/modules/history/history.js\nfunction History({\n swiper,\n extendParams,\n on: on2\n}) {\n extendParams({\n history: {\n enabled: false,\n root: \"\",\n replaceState: false,\n key: \"slides\",\n keepQuery: false\n }\n });\n let initialized = false;\n let paths = {};\n const slugify = (text2) => {\n return text2.toString().replace(/\\s+/g, \"-\").replace(/[^\\w-]+/g, \"\").replace(/--+/g, \"-\").replace(/^-+/, \"\").replace(/-+$/, \"\");\n };\n const getPathValues = (urlOverride) => {\n const window2 = getWindow();\n let location;\n if (urlOverride) {\n location = new URL(urlOverride);\n } else {\n location = window2.location;\n }\n const pathArray = location.pathname.slice(1).split(\"/\").filter((part) => part !== \"\");\n const total = pathArray.length;\n const key = pathArray[total - 2];\n const value = pathArray[total - 1];\n return {\n key,\n value\n };\n };\n const setHistory = (key, index2) => {\n const window2 = getWindow();\n if (!initialized || !swiper.params.history.enabled) return;\n let location;\n if (swiper.params.url) {\n location = new URL(swiper.params.url);\n } else {\n location = window2.location;\n }\n const slide = swiper.slides.eq(index2);\n let value = slugify(slide.attr(\"data-history\"));\n if (swiper.params.history.root.length > 0) {\n let root = swiper.params.history.root;\n if (root[root.length - 1] === \"/\") root = root.slice(0, root.length - 1);\n value = `${root}/${key}/${value}`;\n } else if (!location.pathname.includes(key)) {\n value = `${key}/${value}`;\n }\n if (swiper.params.history.keepQuery) {\n value += location.search;\n }\n const currentState = window2.history.state;\n if (currentState && currentState.value === value) {\n return;\n }\n if (swiper.params.history.replaceState) {\n window2.history.replaceState({\n value\n }, null, value);\n } else {\n window2.history.pushState({\n value\n }, null, value);\n }\n };\n const scrollToSlide = (speed, value, runCallbacks) => {\n if (value) {\n for (let i = 0, length = swiper.slides.length; i < length; i += 1) {\n const slide = swiper.slides.eq(i);\n const slideHistory = slugify(slide.attr(\"data-history\"));\n if (slideHistory === value && !slide.hasClass(swiper.params.slideDuplicateClass)) {\n const index2 = slide.index();\n swiper.slideTo(index2, speed, runCallbacks);\n }\n }\n } else {\n swiper.slideTo(0, speed, runCallbacks);\n }\n };\n const setHistoryPopState = () => {\n paths = getPathValues(swiper.params.url);\n scrollToSlide(swiper.params.speed, paths.value, false);\n };\n const init = () => {\n const window2 = getWindow();\n if (!swiper.params.history) return;\n if (!window2.history || !window2.history.pushState) {\n swiper.params.history.enabled = false;\n swiper.params.hashNavigation.enabled = true;\n return;\n }\n initialized = true;\n paths = getPathValues(swiper.params.url);\n if (!paths.key && !paths.value) return;\n scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit);\n if (!swiper.params.history.replaceState) {\n window2.addEventListener(\"popstate\", setHistoryPopState);\n }\n };\n const destroy = () => {\n const window2 = getWindow();\n if (!swiper.params.history.replaceState) {\n window2.removeEventListener(\"popstate\", setHistoryPopState);\n }\n };\n on2(\"init\", () => {\n if (swiper.params.history.enabled) {\n init();\n }\n });\n on2(\"destroy\", () => {\n if (swiper.params.history.enabled) {\n destroy();\n }\n });\n on2(\"transitionEnd _freeModeNoMomentumRelease\", () => {\n if (initialized) {\n setHistory(swiper.params.history.key, swiper.activeIndex);\n }\n });\n on2(\"slideChange\", () => {\n if (initialized && swiper.params.cssMode) {\n setHistory(swiper.params.history.key, swiper.activeIndex);\n }\n });\n}\n\n// node_modules/swiper/modules/hash-navigation/hash-navigation.js\nfunction HashNavigation({\n swiper,\n extendParams,\n emit,\n on: on2\n}) {\n let initialized = false;\n const document2 = getDocument();\n const window2 = getWindow();\n extendParams({\n hashNavigation: {\n enabled: false,\n replaceState: false,\n watchState: false\n }\n });\n const onHashChange = () => {\n emit(\"hashChange\");\n const newHash = document2.location.hash.replace(\"#\", \"\");\n const activeSlideHash = swiper.slides.eq(swiper.activeIndex).attr(\"data-hash\");\n if (newHash !== activeSlideHash) {\n const newIndex = swiper.$wrapperEl.children(`.${swiper.params.slideClass}[data-hash=\"${newHash}\"]`).index();\n if (typeof newIndex === \"undefined\") return;\n swiper.slideTo(newIndex);\n }\n };\n const setHash = () => {\n if (!initialized || !swiper.params.hashNavigation.enabled) return;\n if (swiper.params.hashNavigation.replaceState && window2.history && window2.history.replaceState) {\n window2.history.replaceState(null, null, `#${swiper.slides.eq(swiper.activeIndex).attr(\"data-hash\")}` || \"\");\n emit(\"hashSet\");\n } else {\n const slide = swiper.slides.eq(swiper.activeIndex);\n const hash = slide.attr(\"data-hash\") || slide.attr(\"data-history\");\n document2.location.hash = hash || \"\";\n emit(\"hashSet\");\n }\n };\n const init = () => {\n if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return;\n initialized = true;\n const hash = document2.location.hash.replace(\"#\", \"\");\n if (hash) {\n const speed = 0;\n for (let i = 0, length = swiper.slides.length; i < length; i += 1) {\n const slide = swiper.slides.eq(i);\n const slideHash = slide.attr(\"data-hash\") || slide.attr(\"data-history\");\n if (slideHash === hash && !slide.hasClass(swiper.params.slideDuplicateClass)) {\n const index2 = slide.index();\n swiper.slideTo(index2, speed, swiper.params.runCallbacksOnInit, true);\n }\n }\n }\n if (swiper.params.hashNavigation.watchState) {\n dom_default(window2).on(\"hashchange\", onHashChange);\n }\n };\n const destroy = () => {\n if (swiper.params.hashNavigation.watchState) {\n dom_default(window2).off(\"hashchange\", onHashChange);\n }\n };\n on2(\"init\", () => {\n if (swiper.params.hashNavigation.enabled) {\n init();\n }\n });\n on2(\"destroy\", () => {\n if (swiper.params.hashNavigation.enabled) {\n destroy();\n }\n });\n on2(\"transitionEnd _freeModeNoMomentumRelease\", () => {\n if (initialized) {\n setHash();\n }\n });\n on2(\"slideChange\", () => {\n if (initialized && swiper.params.cssMode) {\n setHash();\n }\n });\n}\n\n// node_modules/swiper/modules/autoplay/autoplay.js\nfunction Autoplay({\n swiper,\n extendParams,\n on: on2,\n emit\n}) {\n let timeout;\n swiper.autoplay = {\n running: false,\n paused: false\n };\n extendParams({\n autoplay: {\n enabled: false,\n delay: 3e3,\n waitForTransition: true,\n disableOnInteraction: true,\n stopOnLastSlide: false,\n reverseDirection: false,\n pauseOnMouseEnter: false\n }\n });\n function run() {\n if (!swiper.size) {\n swiper.autoplay.running = false;\n swiper.autoplay.paused = false;\n return;\n }\n const $activeSlideEl = swiper.slides.eq(swiper.activeIndex);\n let delay = swiper.params.autoplay.delay;\n if ($activeSlideEl.attr(\"data-swiper-autoplay\")) {\n delay = $activeSlideEl.attr(\"data-swiper-autoplay\") || swiper.params.autoplay.delay;\n }\n clearTimeout(timeout);\n timeout = nextTick(() => {\n let autoplayResult;\n if (swiper.params.autoplay.reverseDirection) {\n if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n emit(\"autoplay\");\n } else if (!swiper.isBeginning) {\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n emit(\"autoplay\");\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);\n emit(\"autoplay\");\n } else {\n stop();\n }\n } else if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n emit(\"autoplay\");\n } else if (!swiper.isEnd) {\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n emit(\"autoplay\");\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(0, swiper.params.speed, true, true);\n emit(\"autoplay\");\n } else {\n stop();\n }\n if (swiper.params.cssMode && swiper.autoplay.running) run();\n else if (autoplayResult === false) {\n run();\n }\n }, delay);\n }\n function start() {\n if (typeof timeout !== \"undefined\") return false;\n if (swiper.autoplay.running) return false;\n swiper.autoplay.running = true;\n emit(\"autoplayStart\");\n run();\n return true;\n }\n function stop() {\n if (!swiper.autoplay.running) return false;\n if (typeof timeout === \"undefined\") return false;\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n swiper.autoplay.running = false;\n emit(\"autoplayStop\");\n return true;\n }\n function pause(speed) {\n if (!swiper.autoplay.running) return;\n if (swiper.autoplay.paused) return;\n if (timeout) clearTimeout(timeout);\n swiper.autoplay.paused = true;\n if (speed === 0 || !swiper.params.autoplay.waitForTransition) {\n swiper.autoplay.paused = false;\n run();\n } else {\n [\"transitionend\", \"webkitTransitionEnd\"].forEach((event2) => {\n swiper.$wrapperEl[0].addEventListener(event2, onTransitionEnd);\n });\n }\n }\n function onVisibilityChange() {\n const document2 = getDocument();\n if (document2.visibilityState === \"hidden\" && swiper.autoplay.running) {\n pause();\n }\n if (document2.visibilityState === \"visible\" && swiper.autoplay.paused) {\n run();\n swiper.autoplay.paused = false;\n }\n }\n function onTransitionEnd(e) {\n if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return;\n if (e.target !== swiper.$wrapperEl[0]) return;\n [\"transitionend\", \"webkitTransitionEnd\"].forEach((event2) => {\n swiper.$wrapperEl[0].removeEventListener(event2, onTransitionEnd);\n });\n swiper.autoplay.paused = false;\n if (!swiper.autoplay.running) {\n stop();\n } else {\n run();\n }\n }\n function onMouseEnter() {\n if (swiper.params.autoplay.disableOnInteraction) {\n stop();\n } else {\n emit(\"autoplayPause\");\n pause();\n }\n [\"transitionend\", \"webkitTransitionEnd\"].forEach((event2) => {\n swiper.$wrapperEl[0].removeEventListener(event2, onTransitionEnd);\n });\n }\n function onMouseLeave() {\n if (swiper.params.autoplay.disableOnInteraction) {\n return;\n }\n swiper.autoplay.paused = false;\n emit(\"autoplayResume\");\n run();\n }\n function attachMouseEvents() {\n if (swiper.params.autoplay.pauseOnMouseEnter) {\n swiper.$el.on(\"mouseenter\", onMouseEnter);\n swiper.$el.on(\"mouseleave\", onMouseLeave);\n }\n }\n function detachMouseEvents() {\n swiper.$el.off(\"mouseenter\", onMouseEnter);\n swiper.$el.off(\"mouseleave\", onMouseLeave);\n }\n on2(\"init\", () => {\n if (swiper.params.autoplay.enabled) {\n start();\n const document2 = getDocument();\n document2.addEventListener(\"visibilitychange\", onVisibilityChange);\n attachMouseEvents();\n }\n });\n on2(\"beforeTransitionStart\", (_s, speed, internal) => {\n if (swiper.autoplay.running) {\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.pause(speed);\n } else {\n stop();\n }\n }\n });\n on2(\"sliderFirstMove\", () => {\n if (swiper.autoplay.running) {\n if (swiper.params.autoplay.disableOnInteraction) {\n stop();\n } else {\n pause();\n }\n }\n });\n on2(\"touchEnd\", () => {\n if (swiper.params.cssMode && swiper.autoplay.paused && !swiper.params.autoplay.disableOnInteraction) {\n run();\n }\n });\n on2(\"destroy\", () => {\n detachMouseEvents();\n if (swiper.autoplay.running) {\n stop();\n }\n const document2 = getDocument();\n document2.removeEventListener(\"visibilitychange\", onVisibilityChange);\n });\n Object.assign(swiper.autoplay, {\n pause,\n run,\n start,\n stop\n });\n}\n\n// node_modules/swiper/modules/thumbs/thumbs.js\nfunction Thumb({\n swiper,\n extendParams,\n on: on2\n}) {\n extendParams({\n thumbs: {\n swiper: null,\n multipleActiveThumbs: true,\n autoScrollOffset: 0,\n slideThumbActiveClass: \"swiper-slide-thumb-active\",\n thumbsContainerClass: \"swiper-thumbs\"\n }\n });\n let initialized = false;\n let swiperCreated = false;\n swiper.thumbs = {\n swiper: null\n };\n function onThumbClick() {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n const clickedIndex = thumbsSwiper.clickedIndex;\n const clickedSlide = thumbsSwiper.clickedSlide;\n if (clickedSlide && dom_default(clickedSlide).hasClass(swiper.params.thumbs.slideThumbActiveClass)) return;\n if (typeof clickedIndex === \"undefined\" || clickedIndex === null) return;\n let slideToIndex;\n if (thumbsSwiper.params.loop) {\n slideToIndex = parseInt(dom_default(thumbsSwiper.clickedSlide).attr(\"data-swiper-slide-index\"), 10);\n } else {\n slideToIndex = clickedIndex;\n }\n if (swiper.params.loop) {\n let currentIndex = swiper.activeIndex;\n if (swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)) {\n swiper.loopFix();\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n currentIndex = swiper.activeIndex;\n }\n const prevIndex = swiper.slides.eq(currentIndex).prevAll(`[data-swiper-slide-index=\"${slideToIndex}\"]`).eq(0).index();\n const nextIndex = swiper.slides.eq(currentIndex).nextAll(`[data-swiper-slide-index=\"${slideToIndex}\"]`).eq(0).index();\n if (typeof prevIndex === \"undefined\") slideToIndex = nextIndex;\n else if (typeof nextIndex === \"undefined\") slideToIndex = prevIndex;\n else if (nextIndex - currentIndex < currentIndex - prevIndex) slideToIndex = nextIndex;\n else slideToIndex = prevIndex;\n }\n swiper.slideTo(slideToIndex);\n }\n function init() {\n const {\n thumbs: thumbsParams\n } = swiper.params;\n if (initialized) return false;\n initialized = true;\n const SwiperClass = swiper.constructor;\n if (thumbsParams.swiper instanceof SwiperClass) {\n swiper.thumbs.swiper = thumbsParams.swiper;\n Object.assign(swiper.thumbs.swiper.originalParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n Object.assign(swiper.thumbs.swiper.params, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n } else if (isObject2(thumbsParams.swiper)) {\n const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper);\n Object.assign(thumbsSwiperParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams);\n swiperCreated = true;\n }\n swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass);\n swiper.thumbs.swiper.on(\"tap\", onThumbClick);\n return true;\n }\n function update(initial) {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n const slidesPerView = thumbsSwiper.params.slidesPerView === \"auto\" ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView;\n let thumbsToActivate = 1;\n const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;\n if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {\n thumbsToActivate = swiper.params.slidesPerView;\n }\n if (!swiper.params.thumbs.multipleActiveThumbs) {\n thumbsToActivate = 1;\n }\n thumbsToActivate = Math.floor(thumbsToActivate);\n thumbsSwiper.slides.removeClass(thumbActiveClass);\n if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) {\n for (let i = 0; i < thumbsToActivate; i += 1) {\n thumbsSwiper.$wrapperEl.children(`[data-swiper-slide-index=\"${swiper.realIndex + i}\"]`).addClass(thumbActiveClass);\n }\n } else {\n for (let i = 0; i < thumbsToActivate; i += 1) {\n thumbsSwiper.slides.eq(swiper.realIndex + i).addClass(thumbActiveClass);\n }\n }\n const autoScrollOffset = swiper.params.thumbs.autoScrollOffset;\n const useOffset = autoScrollOffset && !thumbsSwiper.params.loop;\n if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) {\n let currentThumbsIndex = thumbsSwiper.activeIndex;\n let newThumbsIndex;\n let direction;\n if (thumbsSwiper.params.loop) {\n if (thumbsSwiper.slides.eq(currentThumbsIndex).hasClass(thumbsSwiper.params.slideDuplicateClass)) {\n thumbsSwiper.loopFix();\n thumbsSwiper._clientLeft = thumbsSwiper.$wrapperEl[0].clientLeft;\n currentThumbsIndex = thumbsSwiper.activeIndex;\n }\n const prevThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).prevAll(`[data-swiper-slide-index=\"${swiper.realIndex}\"]`).eq(0).index();\n const nextThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).nextAll(`[data-swiper-slide-index=\"${swiper.realIndex}\"]`).eq(0).index();\n if (typeof prevThumbsIndex === \"undefined\") {\n newThumbsIndex = nextThumbsIndex;\n } else if (typeof nextThumbsIndex === \"undefined\") {\n newThumbsIndex = prevThumbsIndex;\n } else if (nextThumbsIndex - currentThumbsIndex === currentThumbsIndex - prevThumbsIndex) {\n newThumbsIndex = thumbsSwiper.params.slidesPerGroup > 1 ? nextThumbsIndex : currentThumbsIndex;\n } else if (nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex) {\n newThumbsIndex = nextThumbsIndex;\n } else {\n newThumbsIndex = prevThumbsIndex;\n }\n direction = swiper.activeIndex > swiper.previousIndex ? \"next\" : \"prev\";\n } else {\n newThumbsIndex = swiper.realIndex;\n direction = newThumbsIndex > swiper.previousIndex ? \"next\" : \"prev\";\n }\n if (useOffset) {\n newThumbsIndex += direction === \"next\" ? autoScrollOffset : -1 * autoScrollOffset;\n }\n if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {\n if (thumbsSwiper.params.centeredSlides) {\n if (newThumbsIndex > currentThumbsIndex) {\n newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;\n } else {\n newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;\n }\n } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) {\n }\n thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : void 0);\n }\n }\n }\n on2(\"beforeInit\", () => {\n const {\n thumbs\n } = swiper.params;\n if (!thumbs || !thumbs.swiper) return;\n init();\n update(true);\n });\n on2(\"slideChange update resize observerUpdate\", () => {\n update();\n });\n on2(\"setTransition\", (_s, duration) => {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n thumbsSwiper.setTransition(duration);\n });\n on2(\"beforeDestroy\", () => {\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper || thumbsSwiper.destroyed) return;\n if (swiperCreated) {\n thumbsSwiper.destroy();\n }\n });\n Object.assign(swiper.thumbs, {\n init,\n update\n });\n}\n\n// node_modules/swiper/modules/free-mode/free-mode.js\nfunction freeMode({\n swiper,\n extendParams,\n emit,\n once\n}) {\n extendParams({\n freeMode: {\n enabled: false,\n momentum: true,\n momentumRatio: 1,\n momentumBounce: true,\n momentumBounceRatio: 1,\n momentumVelocityRatio: 1,\n sticky: false,\n minimumVelocity: 0.02\n }\n });\n function onTouchStart2() {\n const translate = swiper.getTranslate();\n swiper.setTranslate(translate);\n swiper.setTransition(0);\n swiper.touchEventsData.velocities.length = 0;\n swiper.freeMode.onTouchEnd({\n currentPos: swiper.rtl ? swiper.translate : -swiper.translate\n });\n }\n function onTouchMove2() {\n const {\n touchEventsData: data,\n touches\n } = swiper;\n if (data.velocities.length === 0) {\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? \"startX\" : \"startY\"],\n time: data.touchStartTime\n });\n }\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? \"currentX\" : \"currentY\"],\n time: now()\n });\n }\n function onTouchEnd2({\n currentPos\n }) {\n const {\n params,\n $wrapperEl,\n rtlTranslate: rtl,\n snapGrid,\n touchEventsData: data\n } = swiper;\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime;\n if (currentPos < -swiper.minTranslate()) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (currentPos > -swiper.maxTranslate()) {\n if (swiper.slides.length < snapGrid.length) {\n swiper.slideTo(snapGrid.length - 1);\n } else {\n swiper.slideTo(swiper.slides.length - 1);\n }\n return;\n }\n if (params.freeMode.momentum) {\n if (data.velocities.length > 1) {\n const lastMoveEvent = data.velocities.pop();\n const velocityEvent = data.velocities.pop();\n const distance = lastMoveEvent.position - velocityEvent.position;\n const time = lastMoveEvent.time - velocityEvent.time;\n swiper.velocity = distance / time;\n swiper.velocity /= 2;\n if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) {\n swiper.velocity = 0;\n }\n if (time > 150 || now() - lastMoveEvent.time > 300) {\n swiper.velocity = 0;\n }\n } else {\n swiper.velocity = 0;\n }\n swiper.velocity *= params.freeMode.momentumVelocityRatio;\n data.velocities.length = 0;\n let momentumDuration = 1e3 * params.freeMode.momentumRatio;\n const momentumDistance = swiper.velocity * momentumDuration;\n let newPosition = swiper.translate + momentumDistance;\n if (rtl) newPosition = -newPosition;\n let doBounce = false;\n let afterBouncePosition;\n const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio;\n let needsLoopFix;\n if (newPosition < swiper.maxTranslate()) {\n if (params.freeMode.momentumBounce) {\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n newPosition = swiper.maxTranslate() - bounceAmount;\n }\n afterBouncePosition = swiper.maxTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.maxTranslate();\n }\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (newPosition > swiper.minTranslate()) {\n if (params.freeMode.momentumBounce) {\n if (newPosition - swiper.minTranslate() > bounceAmount) {\n newPosition = swiper.minTranslate() + bounceAmount;\n }\n afterBouncePosition = swiper.minTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.minTranslate();\n }\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (params.freeMode.sticky) {\n let nextSlide;\n for (let j = 0; j < snapGrid.length; j += 1) {\n if (snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n }\n if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === \"next\") {\n newPosition = snapGrid[nextSlide];\n } else {\n newPosition = snapGrid[nextSlide - 1];\n }\n newPosition = -newPosition;\n }\n if (needsLoopFix) {\n once(\"transitionEnd\", () => {\n swiper.loopFix();\n });\n }\n if (swiper.velocity !== 0) {\n if (rtl) {\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n } else {\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n }\n if (params.freeMode.sticky) {\n const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);\n const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];\n if (moveDistance < currentSlideSize) {\n momentumDuration = params.speed;\n } else if (moveDistance < 2 * currentSlideSize) {\n momentumDuration = params.speed * 1.5;\n } else {\n momentumDuration = params.speed * 2.5;\n }\n }\n } else if (params.freeMode.sticky) {\n swiper.slideToClosest();\n return;\n }\n if (params.freeMode.momentumBounce && doBounce) {\n swiper.updateProgress(afterBouncePosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n swiper.animating = true;\n $wrapperEl.transitionEnd(() => {\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n emit(\"momentumBounce\");\n swiper.setTransition(params.speed);\n setTimeout(() => {\n swiper.setTranslate(afterBouncePosition);\n $wrapperEl.transitionEnd(() => {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }, 0);\n });\n } else if (swiper.velocity) {\n emit(\"_freeModeNoMomentumRelease\");\n swiper.updateProgress(newPosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n if (!swiper.animating) {\n swiper.animating = true;\n $wrapperEl.transitionEnd(() => {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }\n } else {\n swiper.updateProgress(newPosition);\n }\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeMode.sticky) {\n swiper.slideToClosest();\n return;\n } else if (params.freeMode) {\n emit(\"_freeModeNoMomentumRelease\");\n }\n if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) {\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n }\n Object.assign(swiper, {\n freeMode: {\n onTouchStart: onTouchStart2,\n onTouchMove: onTouchMove2,\n onTouchEnd: onTouchEnd2\n }\n });\n}\n\n// node_modules/swiper/modules/grid/grid.js\nfunction Grid({\n swiper,\n extendParams\n}) {\n extendParams({\n grid: {\n rows: 1,\n fill: \"column\"\n }\n });\n let slidesNumberEvenToRows;\n let slidesPerRow;\n let numFullColumns;\n const initSlides = (slidesLength) => {\n const {\n slidesPerView\n } = swiper.params;\n const {\n rows,\n fill\n } = swiper.params.grid;\n slidesPerRow = slidesNumberEvenToRows / rows;\n numFullColumns = Math.floor(slidesLength / rows);\n if (Math.floor(slidesLength / rows) === slidesLength / rows) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows;\n }\n if (slidesPerView !== \"auto\" && fill === \"row\") {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows);\n }\n };\n const updateSlide = (i, slide, slidesLength, getDirectionLabel) => {\n const {\n slidesPerGroup,\n spaceBetween\n } = swiper.params;\n const {\n rows,\n fill\n } = swiper.params.grid;\n let newSlideOrderIndex;\n let column;\n let row;\n if (fill === \"row\" && slidesPerGroup > 1) {\n const groupIndex = Math.floor(i / (slidesPerGroup * rows));\n const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex;\n const columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup);\n row = Math.floor(slideIndexInGroup / columnsInGroup);\n column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup;\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows;\n slide.css({\n \"-webkit-order\": newSlideOrderIndex,\n order: newSlideOrderIndex\n });\n } else if (fill === \"column\") {\n column = Math.floor(i / rows);\n row = i - column * rows;\n if (column > numFullColumns || column === numFullColumns && row === rows - 1) {\n row += 1;\n if (row >= rows) {\n row = 0;\n column += 1;\n }\n }\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n slide.css(getDirectionLabel(\"margin-top\"), row !== 0 ? spaceBetween && `${spaceBetween}px` : \"\");\n };\n const updateWrapperSize = (slideSize, snapGrid, getDirectionLabel) => {\n const {\n spaceBetween,\n centeredSlides,\n roundLengths\n } = swiper.params;\n const {\n rows\n } = swiper.params.grid;\n swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween;\n swiper.$wrapperEl.css({\n [getDirectionLabel(\"width\")]: `${swiper.virtualSize + spaceBetween}px`\n });\n if (centeredSlides) {\n snapGrid.splice(0, snapGrid.length);\n const newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n snapGrid.push(...newSlidesGrid);\n }\n };\n swiper.grid = {\n initSlides,\n updateSlide,\n updateWrapperSize\n };\n}\n\n// node_modules/swiper/modules/manipulation/methods/appendSlide.js\nfunction appendSlide(slides) {\n const swiper = this;\n const {\n $wrapperEl,\n params\n } = swiper;\n if (params.loop) {\n swiper.loopDestroy();\n }\n if (typeof slides === \"object\" && \"length\" in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.append(slides[i]);\n }\n } else {\n $wrapperEl.append(slides);\n }\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer) {\n swiper.update();\n }\n}\n\n// node_modules/swiper/modules/manipulation/methods/prependSlide.js\nfunction prependSlide(slides) {\n const swiper = this;\n const {\n params,\n $wrapperEl,\n activeIndex\n } = swiper;\n if (params.loop) {\n swiper.loopDestroy();\n }\n let newActiveIndex = activeIndex + 1;\n if (typeof slides === \"object\" && \"length\" in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.prepend(slides[i]);\n }\n newActiveIndex = activeIndex + slides.length;\n } else {\n $wrapperEl.prepend(slides);\n }\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer) {\n swiper.update();\n }\n swiper.slideTo(newActiveIndex, 0, false);\n}\n\n// node_modules/swiper/modules/manipulation/methods/addSlide.js\nfunction addSlide(index2, slides) {\n const swiper = this;\n const {\n $wrapperEl,\n params,\n activeIndex\n } = swiper;\n let activeIndexBuffer = activeIndex;\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(`.${params.slideClass}`);\n }\n const baseLength = swiper.slides.length;\n if (index2 <= 0) {\n swiper.prependSlide(slides);\n return;\n }\n if (index2 >= baseLength) {\n swiper.appendSlide(slides);\n return;\n }\n let newActiveIndex = activeIndexBuffer > index2 ? activeIndexBuffer + 1 : activeIndexBuffer;\n const slidesBuffer = [];\n for (let i = baseLength - 1; i >= index2; i -= 1) {\n const currentSlide = swiper.slides.eq(i);\n currentSlide.remove();\n slidesBuffer.unshift(currentSlide);\n }\n if (typeof slides === \"object\" && \"length\" in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.append(slides[i]);\n }\n newActiveIndex = activeIndexBuffer > index2 ? activeIndexBuffer + slides.length : activeIndexBuffer;\n } else {\n $wrapperEl.append(slides);\n }\n for (let i = 0; i < slidesBuffer.length; i += 1) {\n $wrapperEl.append(slidesBuffer[i]);\n }\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer) {\n swiper.update();\n }\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}\n\n// node_modules/swiper/modules/manipulation/methods/removeSlide.js\nfunction removeSlide(slidesIndexes) {\n const swiper = this;\n const {\n params,\n $wrapperEl,\n activeIndex\n } = swiper;\n let activeIndexBuffer = activeIndex;\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(`.${params.slideClass}`);\n }\n let newActiveIndex = activeIndexBuffer;\n let indexToRemove;\n if (typeof slidesIndexes === \"object\" && \"length\" in slidesIndexes) {\n for (let i = 0; i < slidesIndexes.length; i += 1) {\n indexToRemove = slidesIndexes[i];\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n }\n newActiveIndex = Math.max(newActiveIndex, 0);\n } else {\n indexToRemove = slidesIndexes;\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!params.observer) {\n swiper.update();\n }\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}\n\n// node_modules/swiper/modules/manipulation/methods/removeAllSlides.js\nfunction removeAllSlides() {\n const swiper = this;\n const slidesIndexes = [];\n for (let i = 0; i < swiper.slides.length; i += 1) {\n slidesIndexes.push(i);\n }\n swiper.removeSlide(slidesIndexes);\n}\n\n// node_modules/swiper/modules/manipulation/manipulation.js\nfunction Manipulation({\n swiper\n}) {\n Object.assign(swiper, {\n appendSlide: appendSlide.bind(swiper),\n prependSlide: prependSlide.bind(swiper),\n addSlide: addSlide.bind(swiper),\n removeSlide: removeSlide.bind(swiper),\n removeAllSlides: removeAllSlides.bind(swiper)\n });\n}\n\n// node_modules/swiper/shared/effect-init.js\nfunction effectInit(params) {\n const {\n effect,\n swiper,\n on: on2,\n setTranslate: setTranslate2,\n setTransition: setTransition2,\n overwriteParams,\n perspective,\n recreateShadows,\n getEffectParams\n } = params;\n on2(\"beforeInit\", () => {\n if (swiper.params.effect !== effect) return;\n swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);\n if (perspective && perspective()) {\n swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);\n }\n const overwriteParamsResult = overwriteParams ? overwriteParams() : {};\n Object.assign(swiper.params, overwriteParamsResult);\n Object.assign(swiper.originalParams, overwriteParamsResult);\n });\n on2(\"setTranslate\", () => {\n if (swiper.params.effect !== effect) return;\n setTranslate2();\n });\n on2(\"setTransition\", (_s, duration) => {\n if (swiper.params.effect !== effect) return;\n setTransition2(duration);\n });\n on2(\"transitionEnd\", () => {\n if (swiper.params.effect !== effect) return;\n if (recreateShadows) {\n if (!getEffectParams || !getEffectParams().slideShadows) return;\n swiper.slides.each((slideEl) => {\n const $slideEl = swiper.$(slideEl);\n $slideEl.find(\".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left\").remove();\n });\n recreateShadows();\n }\n });\n let requireUpdateOnVirtual;\n on2(\"virtualUpdate\", () => {\n if (swiper.params.effect !== effect) return;\n if (!swiper.slides.length) {\n requireUpdateOnVirtual = true;\n }\n requestAnimationFrame(() => {\n if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) {\n setTranslate2();\n requireUpdateOnVirtual = false;\n }\n });\n });\n}\n\n// node_modules/swiper/shared/effect-target.js\nfunction effectTarget(effectParams, $slideEl) {\n if (effectParams.transformEl) {\n return $slideEl.find(effectParams.transformEl).css({\n \"backface-visibility\": \"hidden\",\n \"-webkit-backface-visibility\": \"hidden\"\n });\n }\n return $slideEl;\n}\n\n// node_modules/swiper/shared/effect-virtual-transition-end.js\nfunction effectVirtualTransitionEnd({\n swiper,\n duration,\n transformEl,\n allSlides\n}) {\n const {\n slides,\n activeIndex,\n $wrapperEl\n } = swiper;\n if (swiper.params.virtualTranslate && duration !== 0) {\n let eventTriggered = false;\n let $transitionEndTarget;\n if (allSlides) {\n $transitionEndTarget = transformEl ? slides.find(transformEl) : slides;\n } else {\n $transitionEndTarget = transformEl ? slides.eq(activeIndex).find(transformEl) : slides.eq(activeIndex);\n }\n $transitionEndTarget.transitionEnd(() => {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return;\n eventTriggered = true;\n swiper.animating = false;\n const triggerEvents = [\"webkitTransitionEnd\", \"transitionend\"];\n for (let i = 0; i < triggerEvents.length; i += 1) {\n $wrapperEl.trigger(triggerEvents[i]);\n }\n });\n }\n}\n\n// node_modules/swiper/modules/effect-fade/effect-fade.js\nfunction EffectFade({\n swiper,\n extendParams,\n on: on2\n}) {\n extendParams({\n fadeEffect: {\n crossFade: false,\n transformEl: null\n }\n });\n const setTranslate2 = () => {\n const {\n slides\n } = swiper;\n const params = swiper.params.fadeEffect;\n for (let i = 0; i < slides.length; i += 1) {\n const $slideEl = swiper.slides.eq(i);\n const offset2 = $slideEl[0].swiperSlideOffset;\n let tx = -offset2;\n if (!swiper.params.virtualTranslate) tx -= swiper.translate;\n let ty = 0;\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs($slideEl[0].progress), 0) : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);\n const $targetEl = effectTarget(params, $slideEl);\n $targetEl.css({\n opacity: slideOpacity\n }).transform(`translate3d(${tx}px, ${ty}px, 0px)`);\n }\n };\n const setTransition2 = (duration) => {\n const {\n transformEl\n } = swiper.params.fadeEffect;\n const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements.transition(duration);\n effectVirtualTransitionEnd({\n swiper,\n duration,\n transformEl,\n allSlides: true\n });\n };\n effectInit({\n effect: \"fade\",\n swiper,\n on: on2,\n setTranslate: setTranslate2,\n setTransition: setTransition2,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: !swiper.params.cssMode\n })\n });\n}\n\n// node_modules/swiper/modules/effect-cube/effect-cube.js\nfunction EffectCube({\n swiper,\n extendParams,\n on: on2\n}) {\n extendParams({\n cubeEffect: {\n slideShadows: true,\n shadow: true,\n shadowOffset: 20,\n shadowScale: 0.94\n }\n });\n const createSlideShadows = ($slideEl, progress, isHorizontal) => {\n let shadowBefore = isHorizontal ? $slideEl.find(\".swiper-slide-shadow-left\") : $slideEl.find(\".swiper-slide-shadow-top\");\n let shadowAfter = isHorizontal ? $slideEl.find(\".swiper-slide-shadow-right\") : $slideEl.find(\".swiper-slide-shadow-bottom\");\n if (shadowBefore.length === 0) {\n shadowBefore = dom_default(`
    `);\n $slideEl.append(shadowBefore);\n }\n if (shadowAfter.length === 0) {\n shadowAfter = dom_default(`
    `);\n $slideEl.append(shadowAfter);\n }\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n };\n const recreateShadows = () => {\n const isHorizontal = swiper.isHorizontal();\n swiper.slides.each((slideEl) => {\n const progress = Math.max(Math.min(slideEl.progress, 1), -1);\n createSlideShadows(dom_default(slideEl), progress, isHorizontal);\n });\n };\n const setTranslate2 = () => {\n const {\n $el,\n $wrapperEl,\n slides,\n width: swiperWidth,\n height: swiperHeight,\n rtlTranslate: rtl,\n size: swiperSize,\n browser: browser2\n } = swiper;\n const params = swiper.params.cubeEffect;\n const isHorizontal = swiper.isHorizontal();\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let wrapperRotate = 0;\n let $cubeShadowEl;\n if (params.shadow) {\n if (isHorizontal) {\n $cubeShadowEl = $wrapperEl.find(\".swiper-cube-shadow\");\n if ($cubeShadowEl.length === 0) {\n $cubeShadowEl = dom_default('
    ');\n $wrapperEl.append($cubeShadowEl);\n }\n $cubeShadowEl.css({\n height: `${swiperWidth}px`\n });\n } else {\n $cubeShadowEl = $el.find(\".swiper-cube-shadow\");\n if ($cubeShadowEl.length === 0) {\n $cubeShadowEl = dom_default('
    ');\n $el.append($cubeShadowEl);\n }\n }\n }\n for (let i = 0; i < slides.length; i += 1) {\n const $slideEl = slides.eq(i);\n let slideIndex = i;\n if (isVirtual) {\n slideIndex = parseInt($slideEl.attr(\"data-swiper-slide-index\"), 10);\n }\n let slideAngle = slideIndex * 90;\n let round = Math.floor(slideAngle / 360);\n if (rtl) {\n slideAngle = -slideAngle;\n round = Math.floor(-slideAngle / 360);\n }\n const progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\n let tx = 0;\n let ty = 0;\n let tz = 0;\n if (slideIndex % 4 === 0) {\n tx = -round * 4 * swiperSize;\n tz = 0;\n } else if ((slideIndex - 1) % 4 === 0) {\n tx = 0;\n tz = -round * 4 * swiperSize;\n } else if ((slideIndex - 2) % 4 === 0) {\n tx = swiperSize + round * 4 * swiperSize;\n tz = swiperSize;\n } else if ((slideIndex - 3) % 4 === 0) {\n tx = -swiperSize;\n tz = 3 * swiperSize + swiperSize * 4 * round;\n }\n if (rtl) {\n tx = -tx;\n }\n if (!isHorizontal) {\n ty = tx;\n tx = 0;\n }\n const transform2 = `rotateX(${isHorizontal ? 0 : -slideAngle}deg) rotateY(${isHorizontal ? slideAngle : 0}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`;\n if (progress <= 1 && progress > -1) {\n wrapperRotate = slideIndex * 90 + progress * 90;\n if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90;\n }\n $slideEl.transform(transform2);\n if (params.slideShadows) {\n createSlideShadows($slideEl, progress, isHorizontal);\n }\n }\n $wrapperEl.css({\n \"-webkit-transform-origin\": `50% 50% -${swiperSize / 2}px`,\n \"transform-origin\": `50% 50% -${swiperSize / 2}px`\n });\n if (params.shadow) {\n if (isHorizontal) {\n $cubeShadowEl.transform(`translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(90deg) rotateZ(0deg) scale(${params.shadowScale})`);\n } else {\n const shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;\n const multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);\n const scale1 = params.shadowScale;\n const scale2 = params.shadowScale / multiplier;\n const offset2 = params.shadowOffset;\n $cubeShadowEl.transform(`scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset2}px, ${-swiperHeight / 2 / scale2}px) rotateX(-90deg)`);\n }\n }\n const zFactor = browser2.isSafari || browser2.isWebView ? -swiperSize / 2 : 0;\n $wrapperEl.transform(`translate3d(0px,0,${zFactor}px) rotateX(${swiper.isHorizontal() ? 0 : wrapperRotate}deg) rotateY(${swiper.isHorizontal() ? -wrapperRotate : 0}deg)`);\n $wrapperEl[0].style.setProperty(\"--swiper-cube-translate-z\", `${zFactor}px`);\n };\n const setTransition2 = (duration) => {\n const {\n $el,\n slides\n } = swiper;\n slides.transition(duration).find(\".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left\").transition(duration);\n if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {\n $el.find(\".swiper-cube-shadow\").transition(duration);\n }\n };\n effectInit({\n effect: \"cube\",\n swiper,\n on: on2,\n setTranslate: setTranslate2,\n setTransition: setTransition2,\n recreateShadows,\n getEffectParams: () => swiper.params.cubeEffect,\n perspective: () => true,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n resistanceRatio: 0,\n spaceBetween: 0,\n centeredSlides: false,\n virtualTranslate: true\n })\n });\n}\n\n// node_modules/swiper/shared/create-shadow.js\nfunction createShadow(params, $slideEl, side) {\n const shadowClass = `swiper-slide-shadow${side ? `-${side}` : \"\"}`;\n const $shadowContainer = params.transformEl ? $slideEl.find(params.transformEl) : $slideEl;\n let $shadowEl = $shadowContainer.children(`.${shadowClass}`);\n if (!$shadowEl.length) {\n $shadowEl = dom_default(`
    `);\n $shadowContainer.append($shadowEl);\n }\n return $shadowEl;\n}\n\n// node_modules/swiper/modules/effect-flip/effect-flip.js\nfunction EffectFlip({\n swiper,\n extendParams,\n on: on2\n}) {\n extendParams({\n flipEffect: {\n slideShadows: true,\n limitRotation: true,\n transformEl: null\n }\n });\n const createSlideShadows = ($slideEl, progress, params) => {\n let shadowBefore = swiper.isHorizontal() ? $slideEl.find(\".swiper-slide-shadow-left\") : $slideEl.find(\".swiper-slide-shadow-top\");\n let shadowAfter = swiper.isHorizontal() ? $slideEl.find(\".swiper-slide-shadow-right\") : $slideEl.find(\".swiper-slide-shadow-bottom\");\n if (shadowBefore.length === 0) {\n shadowBefore = createShadow(params, $slideEl, swiper.isHorizontal() ? \"left\" : \"top\");\n }\n if (shadowAfter.length === 0) {\n shadowAfter = createShadow(params, $slideEl, swiper.isHorizontal() ? \"right\" : \"bottom\");\n }\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n };\n const recreateShadows = () => {\n const params = swiper.params.flipEffect;\n swiper.slides.each((slideEl) => {\n const $slideEl = dom_default(slideEl);\n let progress = $slideEl[0].progress;\n if (swiper.params.flipEffect.limitRotation) {\n progress = Math.max(Math.min(slideEl.progress, 1), -1);\n }\n createSlideShadows($slideEl, progress, params);\n });\n };\n const setTranslate2 = () => {\n const {\n slides,\n rtlTranslate: rtl\n } = swiper;\n const params = swiper.params.flipEffect;\n for (let i = 0; i < slides.length; i += 1) {\n const $slideEl = slides.eq(i);\n let progress = $slideEl[0].progress;\n if (swiper.params.flipEffect.limitRotation) {\n progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\n }\n const offset2 = $slideEl[0].swiperSlideOffset;\n const rotate = -180 * progress;\n let rotateY = rotate;\n let rotateX = 0;\n let tx = swiper.params.cssMode ? -offset2 - swiper.translate : -offset2;\n let ty = 0;\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n rotateX = -rotateY;\n rotateY = 0;\n } else if (rtl) {\n rotateY = -rotateY;\n }\n $slideEl[0].style.zIndex = -Math.abs(Math.round(progress)) + slides.length;\n if (params.slideShadows) {\n createSlideShadows($slideEl, progress, params);\n }\n const transform2 = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`;\n const $targetEl = effectTarget(params, $slideEl);\n $targetEl.transform(transform2);\n }\n };\n const setTransition2 = (duration) => {\n const {\n transformEl\n } = swiper.params.flipEffect;\n const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements.transition(duration).find(\".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left\").transition(duration);\n effectVirtualTransitionEnd({\n swiper,\n duration,\n transformEl\n });\n };\n effectInit({\n effect: \"flip\",\n swiper,\n on: on2,\n setTranslate: setTranslate2,\n setTransition: setTransition2,\n recreateShadows,\n getEffectParams: () => swiper.params.flipEffect,\n perspective: () => true,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: !swiper.params.cssMode\n })\n });\n}\n\n// node_modules/swiper/modules/effect-coverflow/effect-coverflow.js\nfunction EffectCoverflow({\n swiper,\n extendParams,\n on: on2\n}) {\n extendParams({\n coverflowEffect: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n scale: 1,\n modifier: 1,\n slideShadows: true,\n transformEl: null\n }\n });\n const setTranslate2 = () => {\n const {\n width: swiperWidth,\n height: swiperHeight,\n slides,\n slidesSizesGrid\n } = swiper;\n const params = swiper.params.coverflowEffect;\n const isHorizontal = swiper.isHorizontal();\n const transform2 = swiper.translate;\n const center = isHorizontal ? -transform2 + swiperWidth / 2 : -transform2 + swiperHeight / 2;\n const rotate = isHorizontal ? params.rotate : -params.rotate;\n const translate = params.depth;\n for (let i = 0, length = slides.length; i < length; i += 1) {\n const $slideEl = slides.eq(i);\n const slideSize = slidesSizesGrid[i];\n const slideOffset = $slideEl[0].swiperSlideOffset;\n const centerOffset = (center - slideOffset - slideSize / 2) / slideSize;\n const offsetMultiplier = typeof params.modifier === \"function\" ? params.modifier(centerOffset) : centerOffset * params.modifier;\n let rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\n let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier;\n let translateZ = -translate * Math.abs(offsetMultiplier);\n let stretch = params.stretch;\n if (typeof stretch === \"string\" && stretch.indexOf(\"%\") !== -1) {\n stretch = parseFloat(params.stretch) / 100 * slideSize;\n }\n let translateY = isHorizontal ? 0 : stretch * offsetMultiplier;\n let translateX = isHorizontal ? stretch * offsetMultiplier : 0;\n let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier);\n if (Math.abs(translateX) < 1e-3) translateX = 0;\n if (Math.abs(translateY) < 1e-3) translateY = 0;\n if (Math.abs(translateZ) < 1e-3) translateZ = 0;\n if (Math.abs(rotateY) < 1e-3) rotateY = 0;\n if (Math.abs(rotateX) < 1e-3) rotateX = 0;\n if (Math.abs(scale) < 1e-3) scale = 0;\n const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`;\n const $targetEl = effectTarget(params, $slideEl);\n $targetEl.transform(slideTransform);\n $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\n if (params.slideShadows) {\n let $shadowBeforeEl = isHorizontal ? $slideEl.find(\".swiper-slide-shadow-left\") : $slideEl.find(\".swiper-slide-shadow-top\");\n let $shadowAfterEl = isHorizontal ? $slideEl.find(\".swiper-slide-shadow-right\") : $slideEl.find(\".swiper-slide-shadow-bottom\");\n if ($shadowBeforeEl.length === 0) {\n $shadowBeforeEl = createShadow(params, $slideEl, isHorizontal ? \"left\" : \"top\");\n }\n if ($shadowAfterEl.length === 0) {\n $shadowAfterEl = createShadow(params, $slideEl, isHorizontal ? \"right\" : \"bottom\");\n }\n if ($shadowBeforeEl.length) $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\n if ($shadowAfterEl.length) $shadowAfterEl[0].style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;\n }\n }\n };\n const setTransition2 = (duration) => {\n const {\n transformEl\n } = swiper.params.coverflowEffect;\n const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements.transition(duration).find(\".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left\").transition(duration);\n };\n effectInit({\n effect: \"coverflow\",\n swiper,\n on: on2,\n setTranslate: setTranslate2,\n setTransition: setTransition2,\n perspective: () => true,\n overwriteParams: () => ({\n watchSlidesProgress: true\n })\n });\n}\n\n// node_modules/swiper/modules/effect-creative/effect-creative.js\nfunction EffectCreative({\n swiper,\n extendParams,\n on: on2\n}) {\n extendParams({\n creativeEffect: {\n transformEl: null,\n limitProgress: 1,\n shadowPerProgress: false,\n progressMultiplier: 1,\n perspective: true,\n prev: {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n opacity: 1,\n scale: 1\n },\n next: {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n opacity: 1,\n scale: 1\n }\n }\n });\n const getTranslateValue = (value) => {\n if (typeof value === \"string\") return value;\n return `${value}px`;\n };\n const setTranslate2 = () => {\n const {\n slides,\n $wrapperEl,\n slidesSizesGrid\n } = swiper;\n const params = swiper.params.creativeEffect;\n const {\n progressMultiplier: multiplier\n } = params;\n const isCenteredSlides = swiper.params.centeredSlides;\n if (isCenteredSlides) {\n const margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0;\n $wrapperEl.transform(`translateX(calc(50% - ${margin}px))`);\n }\n for (let i = 0; i < slides.length; i += 1) {\n const $slideEl = slides.eq(i);\n const slideProgress = $slideEl[0].progress;\n const progress = Math.min(Math.max($slideEl[0].progress, -params.limitProgress), params.limitProgress);\n let originalProgress = progress;\n if (!isCenteredSlides) {\n originalProgress = Math.min(Math.max($slideEl[0].originalProgress, -params.limitProgress), params.limitProgress);\n }\n const offset2 = $slideEl[0].swiperSlideOffset;\n const t = [swiper.params.cssMode ? -offset2 - swiper.translate : -offset2, 0, 0];\n const r = [0, 0, 0];\n let custom = false;\n if (!swiper.isHorizontal()) {\n t[1] = t[0];\n t[0] = 0;\n }\n let data = {\n translate: [0, 0, 0],\n rotate: [0, 0, 0],\n scale: 1,\n opacity: 1\n };\n if (progress < 0) {\n data = params.next;\n custom = true;\n } else if (progress > 0) {\n data = params.prev;\n custom = true;\n }\n t.forEach((value, index2) => {\n t[index2] = `calc(${value}px + (${getTranslateValue(data.translate[index2])} * ${Math.abs(progress * multiplier)}))`;\n });\n r.forEach((value, index2) => {\n r[index2] = data.rotate[index2] * Math.abs(progress * multiplier);\n });\n $slideEl[0].style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;\n const translateString = t.join(\", \");\n const rotateString = `rotateX(${r[0]}deg) rotateY(${r[1]}deg) rotateZ(${r[2]}deg)`;\n const scaleString = originalProgress < 0 ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})` : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`;\n const opacityString = originalProgress < 0 ? 1 + (1 - data.opacity) * originalProgress * multiplier : 1 - (1 - data.opacity) * originalProgress * multiplier;\n const transform2 = `translate3d(${translateString}) ${rotateString} ${scaleString}`;\n if (custom && data.shadow || !custom) {\n let $shadowEl = $slideEl.children(\".swiper-slide-shadow\");\n if ($shadowEl.length === 0 && data.shadow) {\n $shadowEl = createShadow(params, $slideEl);\n }\n if ($shadowEl.length) {\n const shadowOpacity = params.shadowPerProgress ? progress * (1 / params.limitProgress) : progress;\n $shadowEl[0].style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1);\n }\n }\n const $targetEl = effectTarget(params, $slideEl);\n $targetEl.transform(transform2).css({\n opacity: opacityString\n });\n if (data.origin) {\n $targetEl.css(\"transform-origin\", data.origin);\n }\n }\n };\n const setTransition2 = (duration) => {\n const {\n transformEl\n } = swiper.params.creativeEffect;\n const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements.transition(duration).find(\".swiper-slide-shadow\").transition(duration);\n effectVirtualTransitionEnd({\n swiper,\n duration,\n transformEl,\n allSlides: true\n });\n };\n effectInit({\n effect: \"creative\",\n swiper,\n on: on2,\n setTranslate: setTranslate2,\n setTransition: setTransition2,\n perspective: () => swiper.params.creativeEffect.perspective,\n overwriteParams: () => ({\n watchSlidesProgress: true,\n virtualTranslate: !swiper.params.cssMode\n })\n });\n}\n\n// node_modules/swiper/modules/effect-cards/effect-cards.js\nfunction EffectCards({\n swiper,\n extendParams,\n on: on2\n}) {\n extendParams({\n cardsEffect: {\n slideShadows: true,\n transformEl: null,\n rotate: true,\n perSlideRotate: 2,\n perSlideOffset: 8\n }\n });\n const setTranslate2 = () => {\n const {\n slides,\n activeIndex\n } = swiper;\n const params = swiper.params.cardsEffect;\n const {\n startTranslate,\n isTouched\n } = swiper.touchEventsData;\n const currentTranslate = swiper.translate;\n for (let i = 0; i < slides.length; i += 1) {\n const $slideEl = slides.eq(i);\n const slideProgress = $slideEl[0].progress;\n const progress = Math.min(Math.max(slideProgress, -4), 4);\n let offset2 = $slideEl[0].swiperSlideOffset;\n if (swiper.params.centeredSlides && !swiper.params.cssMode) {\n swiper.$wrapperEl.transform(`translateX(${swiper.minTranslate()}px)`);\n }\n if (swiper.params.centeredSlides && swiper.params.cssMode) {\n offset2 -= slides[0].swiperSlideOffset;\n }\n let tX = swiper.params.cssMode ? -offset2 - swiper.translate : -offset2;\n let tY = 0;\n const tZ = -100 * Math.abs(progress);\n let scale = 1;\n let rotate = -params.perSlideRotate * progress;\n let tXAdd = params.perSlideOffset - Math.abs(progress) * 0.75;\n const slideIndex = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.from + i : i;\n const isSwipeToNext = (slideIndex === activeIndex || slideIndex === activeIndex - 1) && progress > 0 && progress < 1 && (isTouched || swiper.params.cssMode) && currentTranslate < startTranslate;\n const isSwipeToPrev = (slideIndex === activeIndex || slideIndex === activeIndex + 1) && progress < 0 && progress > -1 && (isTouched || swiper.params.cssMode) && currentTranslate > startTranslate;\n if (isSwipeToNext || isSwipeToPrev) {\n const subProgress = (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5;\n rotate += -28 * progress * subProgress;\n scale += -0.5 * subProgress;\n tXAdd += 96 * subProgress;\n tY = `${-25 * subProgress * Math.abs(progress)}%`;\n }\n if (progress < 0) {\n tX = `calc(${tX}px + (${tXAdd * Math.abs(progress)}%))`;\n } else if (progress > 0) {\n tX = `calc(${tX}px + (-${tXAdd * Math.abs(progress)}%))`;\n } else {\n tX = `${tX}px`;\n }\n if (!swiper.isHorizontal()) {\n const prevY = tY;\n tY = tX;\n tX = prevY;\n }\n const scaleString = progress < 0 ? `${1 + (1 - scale) * progress}` : `${1 - (1 - scale) * progress}`;\n const transform2 = `\n translate3d(${tX}, ${tY}, ${tZ}px)\n rotateZ(${params.rotate ? rotate : 0}deg)\n scale(${scaleString})\n `;\n if (params.slideShadows) {\n let $shadowEl = $slideEl.find(\".swiper-slide-shadow\");\n if ($shadowEl.length === 0) {\n $shadowEl = createShadow(params, $slideEl);\n }\n if ($shadowEl.length) $shadowEl[0].style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1);\n }\n $slideEl[0].style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;\n const $targetEl = effectTarget(params, $slideEl);\n $targetEl.transform(transform2);\n }\n };\n const setTransition2 = (duration) => {\n const {\n transformEl\n } = swiper.params.cardsEffect;\n const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements.transition(duration).find(\".swiper-slide-shadow\").transition(duration);\n effectVirtualTransitionEnd({\n swiper,\n duration,\n transformEl\n });\n };\n effectInit({\n effect: \"cards\",\n swiper,\n on: on2,\n setTranslate: setTranslate2,\n setTransition: setTransition2,\n perspective: () => true,\n overwriteParams: () => ({\n watchSlidesProgress: true,\n virtualTranslate: !swiper.params.cssMode\n })\n });\n}\n\nexport {\n core_default,\n Virtual,\n Keyboard,\n Mousewheel,\n Navigation,\n Pagination,\n Scrollbar,\n Parallax,\n Zoom,\n Lazy,\n Controller,\n A11y,\n History,\n HashNavigation,\n Autoplay,\n Thumb,\n freeMode,\n Grid,\n Manipulation,\n EffectFade,\n EffectCube,\n EffectFlip,\n EffectCoverflow,\n EffectCreative,\n EffectCards\n};\n", "import {\n A11y,\n Autoplay,\n Controller,\n EffectCards,\n EffectCoverflow,\n EffectCreative,\n EffectCube,\n EffectFade,\n EffectFlip,\n Grid,\n HashNavigation,\n History,\n Keyboard,\n Lazy,\n Manipulation,\n Mousewheel,\n Navigation,\n Pagination,\n Parallax,\n Scrollbar,\n Thumb,\n Virtual,\n Zoom,\n core_default,\n freeMode\n} from \"./chunk.VVD5NVY2.js\";\nimport \"./chunk.I4IFG4JG.js\";\nexport {\n A11y,\n Autoplay,\n Controller,\n EffectCards,\n EffectCoverflow,\n EffectCreative,\n EffectCube,\n EffectFade,\n EffectFlip,\n freeMode as FreeMode,\n Grid,\n HashNavigation,\n History,\n Keyboard,\n Lazy,\n Manipulation,\n Mousewheel,\n Navigation,\n Pagination,\n Parallax,\n Scrollbar,\n core_default as Swiper,\n Thumb as Thumbs,\n Virtual,\n Zoom,\n core_default as default\n};\n", "import {\n Linkable\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-language-item/jb-language-item.scss?inline\nvar jb_language_item_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\na {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\na {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.063rem;\n line-height: 1rem;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: inline-block;\n}\n\nli {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n list-style-type: none;\n font-size: 0;\n font-size: 0;\n}\n\na {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n opacity: var(--text-opacity, 0.4);\n text-decoration: none;\n text-transform: uppercase;\n transition: opacity 0.2s ease-in-out;\n}\na:hover {\n opacity: 1;\n}`;\n\n// src/components/jb-language-item/jb-language-item.ts\nvar JbLanguageItem = class extends Linkable(h) {\n render() {\n return ke`
  • ${this.text}
  • `;\n }\n};\nJbLanguageItem.styles = r(jb_language_item_default);\n__decorateClass([\n n()\n], JbLanguageItem.prototype, \"text\", 2);\nJbLanguageItem = __decorateClass([\n customElement(\"jb-language-item\")\n], JbLanguageItem);\n\nexport {\n JbLanguageItem\n};\n", "import {\n Filterable\n} from \"./chunk.TOSSI7AO.js\";\nimport {\n Linkable\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-news-list-item/jb-news-list-item.scss?inline\nvar jb_news_list_item_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\nsection {\n position: relative;\n}\nsection::before, section::after {\n bottom: 0;\n content: \"\";\n height: 1px;\n position: absolute;\n width: 100%;\n z-index: 101;\n}\nsection::before {\n background: rgba(20, 30, 85, 0.2);\n}\nsection::after {\n background: #141e55;\n transform: scaleX(0);\n transform-origin: left;\n transition: transform 0.8s ease-in-out;\n}\nsection:hover::after {\n transform: scaleX(1);\n transition-duration: 0.5s;\n}\n\n/* stylelint-disable */\n/* stylelint-enable */\na {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\na {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--text-opacity, var(--theme-opacity-80, 0.8)));\n font-size: 1rem;\n line-height: 1.625rem;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\nsection {\n --text-opacity: 1;\n padding-bottom: 12px;\n}\n\na {\n display: block;\n margin-bottom: 16px;\n text-decoration: none;\n}\na:not([href]) {\n color: rgba(0, 0, 0, 0.2);\n}\n\n.meta {\n display: flex;\n}\n\njb-date {\n margin-right: 20px;\n}\n\njb-language-item {\n --text-opacity: 0.4;\n padding: 0 15px;\n position: relative;\n}\njb-language-item:first-of-type {\n padding-left: 0;\n}\njb-language-item::after {\n background-color: rgb(var(--rgb-primary, 20, 30, 85));\n border-radius: 100%;\n content: \"\";\n height: 3px;\n position: absolute;\n right: 0;\n top: 50%;\n transform: translateY(-50%);\n width: 3px;\n}\njb-language-item:last-of-type::after {\n content: none;\n}`;\n\n// src/components/jb-news-list-item/jb-news-list-item.ts\nvar JbNewsListItem = class extends Filterable(Linkable(h)) {\n render() {\n return ke`\n
    \n ${this.link ? ke`${this.newsTitle}` : ke`${this.newsTitle}`}\n
    \n \n ${this.languages ? ke`\n
      \n ${this.languages.map(\n (language) => ke``\n )}\n
    \n ` : D}\n
    \n
    \n `;\n }\n};\nJbNewsListItem.styles = r(jb_news_list_item_default);\n__decorateClass([\n n()\n], JbNewsListItem.prototype, \"date\", 2);\n__decorateClass([\n n({ type: Array })\n], JbNewsListItem.prototype, \"languages\", 2);\n__decorateClass([\n n()\n], JbNewsListItem.prototype, \"newsTitle\", 2);\nJbNewsListItem = __decorateClass([\n customElement(\"jb-news-list-item\")\n], JbNewsListItem);\n\nexport {\n JbNewsListItem\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-date/jb-date.scss?inline\nvar jb_date_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\ntime {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\ntime {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n display: flex;\n font-size: var(--font-size, 0.688rem);\n font-weight: var(--font-weight, 700);\n gap: var(--gap, 4px);\n letter-spacing: var(--letter-spacing, 0.063rem);\n line-height: var(--line-height, 1rem);\n opacity: var(--text-opacity, 1);\n}`;\n\n// src/components/jb-date/jb-date.ts\nvar JbDate = class extends h {\n render() {\n return ke``;\n }\n};\nJbDate.styles = r(jb_date_default);\n__decorateClass([\n n()\n], JbDate.prototype, \"date\", 2);\n__decorateClass([\n n()\n], JbDate.prototype, \"time\", 2);\nJbDate = __decorateClass([\n customElement(\"jb-date\")\n], JbDate);\n\nexport {\n JbDate\n};\n", "import {\n JbNewsListItem\n} from \"../../chunks/chunk.KDMPIGAU.js\";\nimport \"../../chunks/chunk.CANFYQQ7.js\";\nimport \"../../chunks/chunk.G64OMJ2S.js\";\nimport \"../../chunks/chunk.G3SZKTQJ.js\";\nimport \"../../chunks/chunk.YTEMICXC.js\";\nimport \"../../chunks/chunk.LTAMHVKK.js\";\nimport \"../../chunks/chunk.OZEBCGEZ.js\";\nimport \"../../chunks/chunk.TOSSI7AO.js\";\nimport \"../../chunks/chunk.6DHNIVN5.js\";\nimport \"../../chunks/chunk.ABOYTYJO.js\";\nimport \"../../chunks/chunk.7ZO5ST7S.js\";\nimport \"../../chunks/chunk.EELGOWGJ.js\";\nimport \"../../chunks/chunk.WEV4VAJB.js\";\nimport \"../../chunks/chunk.NQ4JNTZU.js\";\nimport \"../../chunks/chunk.KR4IFKAA.js\";\nimport \"../../chunks/chunk.QAGUCU4C.js\";\nimport \"../../chunks/chunk.A4SFXC3I.js\";\nimport \"../../chunks/chunk.KZGIJPE3.js\";\nimport \"../../chunks/chunk.VRR2P3PQ.js\";\nimport \"../../chunks/chunk.7PRSKJZQ.js\";\nimport \"../../chunks/chunk.7ANACPIR.js\";\nimport \"../../chunks/chunk.WXNWU2SV.js\";\nimport \"../../chunks/chunk.FCKNEYTX.js\";\nimport \"../../chunks/chunk.BBN2ZB42.js\";\nimport \"../../chunks/chunk.FAJKIEWS.js\";\nimport \"../../chunks/chunk.I4IFG4JG.js\";\nexport {\n JbNewsListItem\n};\n", "import {\n Filterable\n} from \"./chunk.TOSSI7AO.js\";\nimport {\n Linkable,\n getLinkIcon\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-event-list-item/jb-event-list-item.scss?inline\nvar jb_event_list_item_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\nsection {\n position: relative;\n}\nsection::before, section::after {\n bottom: 0;\n content: \"\";\n height: 1px;\n position: absolute;\n width: 100%;\n z-index: 101;\n}\nsection::before {\n background: rgba(20, 30, 85, 0.2);\n}\nsection::after {\n background: #141e55;\n transform: scaleX(0);\n transform-origin: left;\n transition: transform 0.8s ease-in-out;\n}\nsection:hover::after {\n transform: scaleX(1);\n transition-duration: 0.5s;\n}\n\n/* stylelint-disable */\n/* stylelint-enable */\n.ics-download span, .title a, section {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.title a, section {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--text-opacity, var(--theme-opacity-80, 0.8)));\n font-size: 1rem;\n line-height: 1.625rem;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\nsection {\n --text-opacity: 1;\n padding-bottom: 12px;\n position: relative;\n}\n\n.title {\n display: block;\n margin-bottom: 6px;\n}\n.title a {\n text-decoration: none;\n}\n\n.meta {\n align-items: end;\n color: rgba(20, 30, 85, var(--theme-opacity-70, 0.7));\n display: flex;\n}\n.meta a {\n text-decoration: none;\n}\n\n.title,\n.meta {\n max-width: 90%;\n}\n\njb-date {\n --font-size: 1rem;\n --font-weight: 300;\n --line-height: 1.625rem;\n --gap: 17px;\n --rgb-primary: 20, 30, 85, var(--theme-opacity-70, 0.7);\n}\n\n.ics-download {\n align-items: center;\n cursor: pointer;\n display: flex;\n}\n.ics-download span {\n display: inline-block;\n font-size: 0.813rem;\n line-height: 1.25rem;\n margin-left: 8px;\n opacity: 0;\n padding-top: 2px;\n transition: opacity 0.25s ease-in-out;\n}\n.ics-download:hover span {\n opacity: 1;\n}\n\n.location:not(:first-child)::before,\n.ics-download:not(:first-child)::before {\n color: rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n content: \"|\";\n margin: 0 12px;\n}\n\n.link-icon {\n margin-top: -4px;\n position: absolute;\n right: 3px;\n top: 50%;\n transform: translateY(-50%);\n}`;\n\n// src/components/jb-event-list-item/jb-event-list-item.ts\nvar JbEventListItem = class extends Filterable(Linkable(h)) {\n render() {\n return ke`\n
    \n
    ${this.link ? ke`${this.text}` : ke`${this.text}`}
    \n
    \n \n ${this.location ? ke`${this.location}` : D}\n ${this.icsLink ? ke`\n \n \n ${this.addToCalendarLabel}\n \uFE0F\n ` : D}\n
    \n ${this.link ? ke`` : D}\n
    \n `;\n }\n};\nJbEventListItem.styles = r(jb_event_list_item_default);\n__decorateClass([\n n()\n], JbEventListItem.prototype, \"addToCalendarLabel\", 2);\n__decorateClass([\n n()\n], JbEventListItem.prototype, \"date\", 2);\n__decorateClass([\n n()\n], JbEventListItem.prototype, \"icsLink\", 2);\n__decorateClass([\n n()\n], JbEventListItem.prototype, \"location\", 2);\n__decorateClass([\n n()\n], JbEventListItem.prototype, \"text\", 2);\n__decorateClass([\n n()\n], JbEventListItem.prototype, \"time\", 2);\nJbEventListItem = __decorateClass([\n customElement(\"jb-event-list-item\")\n], JbEventListItem);\n\nexport {\n JbEventListItem\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-calendar-icon/jb-calendar-icon.scss?inline\nvar jb_calendar_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: inline-block;\n height: var(--icon-size, 18px);\n width: var(--icon-size, 18px);\n}\n\nsvg {\n fill: rgb(var(--rgb-primary, 20, 30, 85));\n}`;\n\n// src/components/icons/jb-calendar-icon/jb-calendar-icon.ts\nvar JbCalendarIcon = class extends h {\n render() {\n return ke`\n \n \n \n `;\n }\n};\nJbCalendarIcon.styles = r(jb_calendar_icon_default);\nJbCalendarIcon = __decorateClass([\n customElement(\"jb-calendar-icon\")\n], JbCalendarIcon);\n\nexport {\n JbCalendarIcon\n};\n", "import {\n JbEventListItem\n} from \"../../chunks/chunk.N3VILVCR.js\";\nimport \"../../chunks/chunk.OE6UAQWN.js\";\nimport \"../../chunks/chunk.G64OMJ2S.js\";\nimport \"../../chunks/chunk.G3SZKTQJ.js\";\nimport \"../../chunks/chunk.YTEMICXC.js\";\nimport \"../../chunks/chunk.LTAMHVKK.js\";\nimport \"../../chunks/chunk.OZEBCGEZ.js\";\nimport \"../../chunks/chunk.TOSSI7AO.js\";\nimport \"../../chunks/chunk.6DHNIVN5.js\";\nimport \"../../chunks/chunk.ABOYTYJO.js\";\nimport \"../../chunks/chunk.7ZO5ST7S.js\";\nimport \"../../chunks/chunk.EELGOWGJ.js\";\nimport \"../../chunks/chunk.WEV4VAJB.js\";\nimport \"../../chunks/chunk.NQ4JNTZU.js\";\nimport \"../../chunks/chunk.KR4IFKAA.js\";\nimport \"../../chunks/chunk.QAGUCU4C.js\";\nimport \"../../chunks/chunk.A4SFXC3I.js\";\nimport \"../../chunks/chunk.KZGIJPE3.js\";\nimport \"../../chunks/chunk.VRR2P3PQ.js\";\nimport \"../../chunks/chunk.7PRSKJZQ.js\";\nimport \"../../chunks/chunk.7ANACPIR.js\";\nimport \"../../chunks/chunk.WXNWU2SV.js\";\nimport \"../../chunks/chunk.FCKNEYTX.js\";\nimport \"../../chunks/chunk.BBN2ZB42.js\";\nimport \"../../chunks/chunk.FAJKIEWS.js\";\nimport \"../../chunks/chunk.I4IFG4JG.js\";\nexport {\n JbEventListItem\n};\n", "import \"./chunk.I4IFG4JG.js\";\n\n// node_modules/@lottiefiles/lottie-player/dist/lottie-player.esm.js\nfunction _asyncIterator(t2) {\n var e2, r2, i2, s2 = 2;\n for (\"undefined\" != typeof Symbol && (r2 = Symbol.asyncIterator, i2 = Symbol.iterator); s2--; ) {\n if (r2 && null != (e2 = t2[r2])) return e2.call(t2);\n if (i2 && null != (e2 = t2[i2])) return new AsyncFromSyncIterator(e2.call(t2));\n r2 = \"@@asyncIterator\", i2 = \"@@iterator\";\n }\n throw new TypeError(\"Object is not async iterable\");\n}\nfunction AsyncFromSyncIterator(t2) {\n function e2(t3) {\n if (Object(t3) !== t3) return Promise.reject(new TypeError(t3 + \" is not an object.\"));\n var e3 = t3.done;\n return Promise.resolve(t3.value).then(function(t4) {\n return { value: t4, done: e3 };\n });\n }\n return AsyncFromSyncIterator = function(t3) {\n this.s = t3, this.n = t3.next;\n }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function() {\n return e2(this.n.apply(this.s, arguments));\n }, return: function(t3) {\n var r2 = this.s.return;\n return void 0 === r2 ? Promise.resolve({ value: t3, done: true }) : e2(r2.apply(this.s, arguments));\n }, throw: function(t3) {\n var r2 = this.s.return;\n return void 0 === r2 ? Promise.reject(t3) : e2(r2.apply(this.s, arguments));\n } }, new AsyncFromSyncIterator(t2);\n}\nvar REACT_ELEMENT_TYPE;\nfunction _jsx(t2, e2, r2, i2) {\n REACT_ELEMENT_TYPE || (REACT_ELEMENT_TYPE = \"function\" == typeof Symbol && Symbol.for && Symbol.for(\"react.element\") || 60103);\n var s2 = t2 && t2.defaultProps, a2 = arguments.length - 3;\n if (e2 || 0 === a2 || (e2 = { children: void 0 }), 1 === a2) e2.children = i2;\n else if (a2 > 1) {\n for (var n2 = new Array(a2), o2 = 0; o2 < a2; o2++) n2[o2] = arguments[o2 + 3];\n e2.children = n2;\n }\n if (e2 && s2) for (var h2 in s2) void 0 === e2[h2] && (e2[h2] = s2[h2]);\n else e2 || (e2 = s2 || {});\n return { $$typeof: REACT_ELEMENT_TYPE, type: t2, key: void 0 === r2 ? null : \"\" + r2, ref: null, props: e2, _owner: null };\n}\nfunction ownKeys(t2, e2) {\n var r2 = Object.keys(t2);\n if (Object.getOwnPropertySymbols) {\n var i2 = Object.getOwnPropertySymbols(t2);\n e2 && (i2 = i2.filter(function(e3) {\n return Object.getOwnPropertyDescriptor(t2, e3).enumerable;\n })), r2.push.apply(r2, i2);\n }\n return r2;\n}\nfunction _objectSpread2(t2) {\n for (var e2 = 1; e2 < arguments.length; e2++) {\n var r2 = null != arguments[e2] ? arguments[e2] : {};\n e2 % 2 ? ownKeys(Object(r2), true).forEach(function(e3) {\n _defineProperty(t2, e3, r2[e3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t2, Object.getOwnPropertyDescriptors(r2)) : ownKeys(Object(r2)).forEach(function(e3) {\n Object.defineProperty(t2, e3, Object.getOwnPropertyDescriptor(r2, e3));\n });\n }\n return t2;\n}\nfunction _typeof2(t2) {\n return _typeof2 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(t3) {\n return typeof t3;\n } : function(t3) {\n return t3 && \"function\" == typeof Symbol && t3.constructor === Symbol && t3 !== Symbol.prototype ? \"symbol\" : typeof t3;\n }, _typeof2(t2);\n}\nfunction _wrapRegExp() {\n _wrapRegExp = function(t3, e3) {\n return new r2(t3, void 0, e3);\n };\n var t2 = RegExp.prototype, e2 = /* @__PURE__ */ new WeakMap();\n function r2(t3, i3, s2) {\n var a2 = new RegExp(t3, i3);\n return e2.set(a2, s2 || e2.get(t3)), _setPrototypeOf(a2, r2.prototype);\n }\n function i2(t3, r3) {\n var i3 = e2.get(r3);\n return Object.keys(i3).reduce(function(e3, r4) {\n return e3[r4] = t3[i3[r4]], e3;\n }, /* @__PURE__ */ Object.create(null));\n }\n return _inherits(r2, RegExp), r2.prototype.exec = function(e3) {\n var r3 = t2.exec.call(this, e3);\n return r3 && (r3.groups = i2(r3, this)), r3;\n }, r2.prototype[Symbol.replace] = function(r3, s2) {\n if (\"string\" == typeof s2) {\n var a2 = e2.get(this);\n return t2[Symbol.replace].call(this, r3, s2.replace(/\\$<([^>]+)>/g, function(t3, e3) {\n return \"$\" + a2[e3];\n }));\n }\n if (\"function\" == typeof s2) {\n var n2 = this;\n return t2[Symbol.replace].call(this, r3, function() {\n var t3 = arguments;\n return \"object\" != typeof t3[t3.length - 1] && (t3 = [].slice.call(t3)).push(i2(t3, n2)), s2.apply(this, t3);\n });\n }\n return t2[Symbol.replace].call(this, r3, s2);\n }, _wrapRegExp.apply(this, arguments);\n}\nfunction _AwaitValue(t2) {\n this.wrapped = t2;\n}\nfunction _AsyncGenerator(t2) {\n var e2, r2;\n function i2(e3, r3) {\n try {\n var a2 = t2[e3](r3), n2 = a2.value, o2 = n2 instanceof _AwaitValue;\n Promise.resolve(o2 ? n2.wrapped : n2).then(function(t3) {\n o2 ? i2(\"return\" === e3 ? \"return\" : \"next\", t3) : s2(a2.done ? \"return\" : \"normal\", t3);\n }, function(t3) {\n i2(\"throw\", t3);\n });\n } catch (t3) {\n s2(\"throw\", t3);\n }\n }\n function s2(t3, s3) {\n switch (t3) {\n case \"return\":\n e2.resolve({ value: s3, done: true });\n break;\n case \"throw\":\n e2.reject(s3);\n break;\n default:\n e2.resolve({ value: s3, done: false });\n }\n (e2 = e2.next) ? i2(e2.key, e2.arg) : r2 = null;\n }\n this._invoke = function(t3, s3) {\n return new Promise(function(a2, n2) {\n var o2 = { key: t3, arg: s3, resolve: a2, reject: n2, next: null };\n r2 ? r2 = r2.next = o2 : (e2 = r2 = o2, i2(t3, s3));\n });\n }, \"function\" != typeof t2.return && (this.return = void 0);\n}\nfunction _wrapAsyncGenerator(t2) {\n return function() {\n return new _AsyncGenerator(t2.apply(this, arguments));\n };\n}\nfunction _awaitAsyncGenerator(t2) {\n return new _AwaitValue(t2);\n}\nfunction _asyncGeneratorDelegate(t2, e2) {\n var r2 = {}, i2 = false;\n function s2(r3, s3) {\n return i2 = true, s3 = new Promise(function(e3) {\n e3(t2[r3](s3));\n }), { done: false, value: e2(s3) };\n }\n return r2[\"undefined\" != typeof Symbol && Symbol.iterator || \"@@iterator\"] = function() {\n return this;\n }, r2.next = function(t3) {\n return i2 ? (i2 = false, t3) : s2(\"next\", t3);\n }, \"function\" == typeof t2.throw && (r2.throw = function(t3) {\n if (i2) throw i2 = false, t3;\n return s2(\"throw\", t3);\n }), \"function\" == typeof t2.return && (r2.return = function(t3) {\n return i2 ? (i2 = false, t3) : s2(\"return\", t3);\n }), r2;\n}\nfunction asyncGeneratorStep(t2, e2, r2, i2, s2, a2, n2) {\n try {\n var o2 = t2[a2](n2), h2 = o2.value;\n } catch (t3) {\n return void r2(t3);\n }\n o2.done ? e2(h2) : Promise.resolve(h2).then(i2, s2);\n}\nfunction _asyncToGenerator(t2) {\n return function() {\n var e2 = this, r2 = arguments;\n return new Promise(function(i2, s2) {\n var a2 = t2.apply(e2, r2);\n function n2(t3) {\n asyncGeneratorStep(a2, i2, s2, n2, o2, \"next\", t3);\n }\n function o2(t3) {\n asyncGeneratorStep(a2, i2, s2, n2, o2, \"throw\", t3);\n }\n n2(void 0);\n });\n };\n}\nfunction _classCallCheck(t2, e2) {\n if (!(t2 instanceof e2)) throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction _defineProperties(t2, e2) {\n for (var r2 = 0; r2 < e2.length; r2++) {\n var i2 = e2[r2];\n i2.enumerable = i2.enumerable || false, i2.configurable = true, \"value\" in i2 && (i2.writable = true), Object.defineProperty(t2, i2.key, i2);\n }\n}\nfunction _createClass(t2, e2, r2) {\n return e2 && _defineProperties(t2.prototype, e2), r2 && _defineProperties(t2, r2), Object.defineProperty(t2, \"prototype\", { writable: false }), t2;\n}\nfunction _defineEnumerableProperties(t2, e2) {\n for (var r2 in e2) {\n (a2 = e2[r2]).configurable = a2.enumerable = true, \"value\" in a2 && (a2.writable = true), Object.defineProperty(t2, r2, a2);\n }\n if (Object.getOwnPropertySymbols) for (var i2 = Object.getOwnPropertySymbols(e2), s2 = 0; s2 < i2.length; s2++) {\n var a2, n2 = i2[s2];\n (a2 = e2[n2]).configurable = a2.enumerable = true, \"value\" in a2 && (a2.writable = true), Object.defineProperty(t2, n2, a2);\n }\n return t2;\n}\nfunction _defaults(t2, e2) {\n for (var r2 = Object.getOwnPropertyNames(e2), i2 = 0; i2 < r2.length; i2++) {\n var s2 = r2[i2], a2 = Object.getOwnPropertyDescriptor(e2, s2);\n a2 && a2.configurable && void 0 === t2[s2] && Object.defineProperty(t2, s2, a2);\n }\n return t2;\n}\nfunction _defineProperty(t2, e2, r2) {\n return e2 in t2 ? Object.defineProperty(t2, e2, { value: r2, enumerable: true, configurable: true, writable: true }) : t2[e2] = r2, t2;\n}\nfunction _extends() {\n return _extends = Object.assign || function(t2) {\n for (var e2 = 1; e2 < arguments.length; e2++) {\n var r2 = arguments[e2];\n for (var i2 in r2) Object.prototype.hasOwnProperty.call(r2, i2) && (t2[i2] = r2[i2]);\n }\n return t2;\n }, _extends.apply(this, arguments);\n}\nfunction _objectSpread(t2) {\n for (var e2 = 1; e2 < arguments.length; e2++) {\n var r2 = null != arguments[e2] ? Object(arguments[e2]) : {}, i2 = Object.keys(r2);\n \"function\" == typeof Object.getOwnPropertySymbols && i2.push.apply(i2, Object.getOwnPropertySymbols(r2).filter(function(t3) {\n return Object.getOwnPropertyDescriptor(r2, t3).enumerable;\n })), i2.forEach(function(e3) {\n _defineProperty(t2, e3, r2[e3]);\n });\n }\n return t2;\n}\nfunction _inherits(t2, e2) {\n if (\"function\" != typeof e2 && null !== e2) throw new TypeError(\"Super expression must either be null or a function\");\n t2.prototype = Object.create(e2 && e2.prototype, { constructor: { value: t2, writable: true, configurable: true } }), Object.defineProperty(t2, \"prototype\", { writable: false }), e2 && _setPrototypeOf(t2, e2);\n}\nfunction _inheritsLoose(t2, e2) {\n t2.prototype = Object.create(e2.prototype), t2.prototype.constructor = t2, _setPrototypeOf(t2, e2);\n}\nfunction _getPrototypeOf(t2) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function(t3) {\n return t3.__proto__ || Object.getPrototypeOf(t3);\n }, _getPrototypeOf(t2);\n}\nfunction _setPrototypeOf(t2, e2) {\n return _setPrototypeOf = Object.setPrototypeOf || function(t3, e3) {\n return t3.__proto__ = e3, t3;\n }, _setPrototypeOf(t2, e2);\n}\nfunction _isNativeReflectConstruct() {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (\"function\" == typeof Proxy) return true;\n try {\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {\n })), true;\n } catch (t2) {\n return false;\n }\n}\nfunction _construct(t2, e2, r2) {\n return _construct = _isNativeReflectConstruct() ? Reflect.construct : function(t3, e3, r3) {\n var i2 = [null];\n i2.push.apply(i2, e3);\n var s2 = new (Function.bind.apply(t3, i2))();\n return r3 && _setPrototypeOf(s2, r3.prototype), s2;\n }, _construct.apply(null, arguments);\n}\nfunction _isNativeFunction(t2) {\n return -1 !== Function.toString.call(t2).indexOf(\"[native code]\");\n}\nfunction _wrapNativeSuper(t2) {\n var e2 = \"function\" == typeof Map ? /* @__PURE__ */ new Map() : void 0;\n return _wrapNativeSuper = function(t3) {\n if (null === t3 || !_isNativeFunction(t3)) return t3;\n if (\"function\" != typeof t3) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== e2) {\n if (e2.has(t3)) return e2.get(t3);\n e2.set(t3, r2);\n }\n function r2() {\n return _construct(t3, arguments, _getPrototypeOf(this).constructor);\n }\n return r2.prototype = Object.create(t3.prototype, { constructor: { value: r2, enumerable: false, writable: true, configurable: true } }), _setPrototypeOf(r2, t3);\n }, _wrapNativeSuper(t2);\n}\nfunction _instanceof(t2, e2) {\n return null != e2 && \"undefined\" != typeof Symbol && e2[Symbol.hasInstance] ? !!e2[Symbol.hasInstance](t2) : t2 instanceof e2;\n}\nfunction _interopRequireDefault(t2) {\n return t2 && t2.__esModule ? t2 : { default: t2 };\n}\nfunction _getRequireWildcardCache(t2) {\n if (\"function\" != typeof WeakMap) return null;\n var e2 = /* @__PURE__ */ new WeakMap(), r2 = /* @__PURE__ */ new WeakMap();\n return (_getRequireWildcardCache = function(t3) {\n return t3 ? r2 : e2;\n })(t2);\n}\nfunction _interopRequireWildcard(t2, e2) {\n if (!e2 && t2 && t2.__esModule) return t2;\n if (null === t2 || \"object\" != typeof t2 && \"function\" != typeof t2) return { default: t2 };\n var r2 = _getRequireWildcardCache(e2);\n if (r2 && r2.has(t2)) return r2.get(t2);\n var i2 = {}, s2 = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var a2 in t2) if (\"default\" !== a2 && Object.prototype.hasOwnProperty.call(t2, a2)) {\n var n2 = s2 ? Object.getOwnPropertyDescriptor(t2, a2) : null;\n n2 && (n2.get || n2.set) ? Object.defineProperty(i2, a2, n2) : i2[a2] = t2[a2];\n }\n return i2.default = t2, r2 && r2.set(t2, i2), i2;\n}\nfunction _newArrowCheck(t2, e2) {\n if (t2 !== e2) throw new TypeError(\"Cannot instantiate an arrow function\");\n}\nfunction _objectDestructuringEmpty(t2) {\n if (null == t2) throw new TypeError(\"Cannot destructure undefined\");\n}\nfunction _objectWithoutPropertiesLoose(t2, e2) {\n if (null == t2) return {};\n var r2, i2, s2 = {}, a2 = Object.keys(t2);\n for (i2 = 0; i2 < a2.length; i2++) r2 = a2[i2], e2.indexOf(r2) >= 0 || (s2[r2] = t2[r2]);\n return s2;\n}\nfunction _objectWithoutProperties(t2, e2) {\n if (null == t2) return {};\n var r2, i2, s2 = _objectWithoutPropertiesLoose(t2, e2);\n if (Object.getOwnPropertySymbols) {\n var a2 = Object.getOwnPropertySymbols(t2);\n for (i2 = 0; i2 < a2.length; i2++) r2 = a2[i2], e2.indexOf(r2) >= 0 || Object.prototype.propertyIsEnumerable.call(t2, r2) && (s2[r2] = t2[r2]);\n }\n return s2;\n}\nfunction _assertThisInitialized(t2) {\n if (void 0 === t2) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return t2;\n}\nfunction _possibleConstructorReturn(t2, e2) {\n if (e2 && (\"object\" == typeof e2 || \"function\" == typeof e2)) return e2;\n if (void 0 !== e2) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return _assertThisInitialized(t2);\n}\nfunction _createSuper(t2) {\n var e2 = _isNativeReflectConstruct();\n return function() {\n var r2, i2 = _getPrototypeOf(t2);\n if (e2) {\n var s2 = _getPrototypeOf(this).constructor;\n r2 = Reflect.construct(i2, arguments, s2);\n } else r2 = i2.apply(this, arguments);\n return _possibleConstructorReturn(this, r2);\n };\n}\nfunction _superPropBase(t2, e2) {\n for (; !Object.prototype.hasOwnProperty.call(t2, e2) && null !== (t2 = _getPrototypeOf(t2)); ) ;\n return t2;\n}\nfunction _get() {\n return _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get : function(t2, e2, r2) {\n var i2 = _superPropBase(t2, e2);\n if (i2) {\n var s2 = Object.getOwnPropertyDescriptor(i2, e2);\n return s2.get ? s2.get.call(arguments.length < 3 ? t2 : r2) : s2.value;\n }\n }, _get.apply(this, arguments);\n}\nfunction set(t2, e2, r2, i2) {\n return set = \"undefined\" != typeof Reflect && Reflect.set ? Reflect.set : function(t3, e3, r3, i3) {\n var s2, a2 = _superPropBase(t3, e3);\n if (a2) {\n if ((s2 = Object.getOwnPropertyDescriptor(a2, e3)).set) return s2.set.call(i3, r3), true;\n if (!s2.writable) return false;\n }\n if (s2 = Object.getOwnPropertyDescriptor(i3, e3)) {\n if (!s2.writable) return false;\n s2.value = r3, Object.defineProperty(i3, e3, s2);\n } else _defineProperty(i3, e3, r3);\n return true;\n }, set(t2, e2, r2, i2);\n}\nfunction _set(t2, e2, r2, i2, s2) {\n if (!set(t2, e2, r2, i2 || t2) && s2) throw new Error(\"failed to set property\");\n return r2;\n}\nfunction _taggedTemplateLiteral(t2, e2) {\n return e2 || (e2 = t2.slice(0)), Object.freeze(Object.defineProperties(t2, { raw: { value: Object.freeze(e2) } }));\n}\nfunction _taggedTemplateLiteralLoose(t2, e2) {\n return e2 || (e2 = t2.slice(0)), t2.raw = e2, t2;\n}\nfunction _readOnlyError(t2) {\n throw new TypeError('\"' + t2 + '\" is read-only');\n}\nfunction _writeOnlyError(t2) {\n throw new TypeError('\"' + t2 + '\" is write-only');\n}\nfunction _classNameTDZError(t2) {\n throw new Error('Class \"' + t2 + '\" cannot be referenced in computed property keys.');\n}\nfunction _temporalUndefined() {\n}\nfunction _tdz(t2) {\n throw new ReferenceError(t2 + \" is not defined - temporal dead zone\");\n}\nfunction _temporalRef(t2, e2) {\n return t2 === _temporalUndefined ? _tdz(e2) : t2;\n}\nfunction _slicedToArray(t2, e2) {\n return _arrayWithHoles(t2) || _iterableToArrayLimit(t2, e2) || _unsupportedIterableToArray(t2, e2) || _nonIterableRest();\n}\nfunction _slicedToArrayLoose(t2, e2) {\n return _arrayWithHoles(t2) || _iterableToArrayLimitLoose(t2, e2) || _unsupportedIterableToArray(t2, e2) || _nonIterableRest();\n}\nfunction _toArray(t2) {\n return _arrayWithHoles(t2) || _iterableToArray(t2) || _unsupportedIterableToArray(t2) || _nonIterableRest();\n}\nfunction _toConsumableArray(t2) {\n return _arrayWithoutHoles(t2) || _iterableToArray(t2) || _unsupportedIterableToArray(t2) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(t2) {\n if (Array.isArray(t2)) return _arrayLikeToArray(t2);\n}\nfunction _arrayWithHoles(t2) {\n if (Array.isArray(t2)) return t2;\n}\nfunction _maybeArrayLike(t2, e2, r2) {\n if (e2 && !Array.isArray(e2) && \"number\" == typeof e2.length) {\n var i2 = e2.length;\n return _arrayLikeToArray(e2, void 0 !== r2 && r2 < i2 ? r2 : i2);\n }\n return t2(e2, r2);\n}\nfunction _iterableToArray(t2) {\n if (\"undefined\" != typeof Symbol && null != t2[Symbol.iterator] || null != t2[\"@@iterator\"]) return Array.from(t2);\n}\nfunction _iterableToArrayLimit(t2, e2) {\n var r2 = null == t2 ? null : \"undefined\" != typeof Symbol && t2[Symbol.iterator] || t2[\"@@iterator\"];\n if (null != r2) {\n var i2, s2, a2 = [], n2 = true, o2 = false;\n try {\n for (r2 = r2.call(t2); !(n2 = (i2 = r2.next()).done) && (a2.push(i2.value), !e2 || a2.length !== e2); n2 = true) ;\n } catch (t3) {\n o2 = true, s2 = t3;\n } finally {\n try {\n n2 || null == r2.return || r2.return();\n } finally {\n if (o2) throw s2;\n }\n }\n return a2;\n }\n}\nfunction _iterableToArrayLimitLoose(t2, e2) {\n var r2 = t2 && (\"undefined\" != typeof Symbol && t2[Symbol.iterator] || t2[\"@@iterator\"]);\n if (null != r2) {\n var i2 = [];\n for (r2 = r2.call(t2), _step; !(_step = r2.next()).done && (i2.push(_step.value), !e2 || i2.length !== e2); ) ;\n return i2;\n }\n}\nfunction _unsupportedIterableToArray(t2, e2) {\n if (t2) {\n if (\"string\" == typeof t2) return _arrayLikeToArray(t2, e2);\n var r2 = Object.prototype.toString.call(t2).slice(8, -1);\n return \"Object\" === r2 && t2.constructor && (r2 = t2.constructor.name), \"Map\" === r2 || \"Set\" === r2 ? Array.from(t2) : \"Arguments\" === r2 || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r2) ? _arrayLikeToArray(t2, e2) : void 0;\n }\n}\nfunction _arrayLikeToArray(t2, e2) {\n (null == e2 || e2 > t2.length) && (e2 = t2.length);\n for (var r2 = 0, i2 = new Array(e2); r2 < e2; r2++) i2[r2] = t2[r2];\n return i2;\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _createForOfIteratorHelper(t2, e2) {\n var r2 = \"undefined\" != typeof Symbol && t2[Symbol.iterator] || t2[\"@@iterator\"];\n if (!r2) {\n if (Array.isArray(t2) || (r2 = _unsupportedIterableToArray(t2)) || e2 && t2 && \"number\" == typeof t2.length) {\n r2 && (t2 = r2);\n var i2 = 0, s2 = function() {\n };\n return { s: s2, n: function() {\n return i2 >= t2.length ? { done: true } : { done: false, value: t2[i2++] };\n }, e: function(t3) {\n throw t3;\n }, f: s2 };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var a2, n2 = true, o2 = false;\n return { s: function() {\n r2 = r2.call(t2);\n }, n: function() {\n var t3 = r2.next();\n return n2 = t3.done, t3;\n }, e: function(t3) {\n o2 = true, a2 = t3;\n }, f: function() {\n try {\n n2 || null == r2.return || r2.return();\n } finally {\n if (o2) throw a2;\n }\n } };\n}\nfunction _createForOfIteratorHelperLoose(t2, e2) {\n var r2 = \"undefined\" != typeof Symbol && t2[Symbol.iterator] || t2[\"@@iterator\"];\n if (r2) return (r2 = r2.call(t2)).next.bind(r2);\n if (Array.isArray(t2) || (r2 = _unsupportedIterableToArray(t2)) || e2 && t2 && \"number\" == typeof t2.length) {\n r2 && (t2 = r2);\n var i2 = 0;\n return function() {\n return i2 >= t2.length ? { done: true } : { done: false, value: t2[i2++] };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _skipFirstGeneratorNext(t2) {\n return function() {\n var e2 = t2.apply(this, arguments);\n return e2.next(), e2;\n };\n}\nfunction _toPrimitive(t2, e2) {\n if (\"object\" != typeof t2 || null === t2) return t2;\n var r2 = t2[Symbol.toPrimitive];\n if (void 0 !== r2) {\n var i2 = r2.call(t2, e2 || \"default\");\n if (\"object\" != typeof i2) return i2;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === e2 ? String : Number)(t2);\n}\nfunction _toPropertyKey(t2) {\n var e2 = _toPrimitive(t2, \"string\");\n return \"symbol\" == typeof e2 ? e2 : String(e2);\n}\nfunction _initializerWarningHelper(t2, e2) {\n throw new Error(\"Decorating class property failed. Please ensure that proposal-class-properties is enabled and runs after the decorators transform.\");\n}\nfunction _initializerDefineProperty(t2, e2, r2, i2) {\n r2 && Object.defineProperty(t2, e2, { enumerable: r2.enumerable, configurable: r2.configurable, writable: r2.writable, value: r2.initializer ? r2.initializer.call(i2) : void 0 });\n}\nfunction _applyDecoratedDescriptor(t2, e2, r2, i2, s2) {\n var a2 = {};\n return Object.keys(i2).forEach(function(t3) {\n a2[t3] = i2[t3];\n }), a2.enumerable = !!a2.enumerable, a2.configurable = !!a2.configurable, (\"value\" in a2 || a2.initializer) && (a2.writable = true), a2 = r2.slice().reverse().reduce(function(r3, i3) {\n return i3(t2, e2, r3) || r3;\n }, a2), s2 && void 0 !== a2.initializer && (a2.value = a2.initializer ? a2.initializer.call(s2) : void 0, a2.initializer = void 0), void 0 === a2.initializer && (Object.defineProperty(t2, e2, a2), a2 = null), a2;\n}\n_AsyncGenerator.prototype[\"function\" == typeof Symbol && Symbol.asyncIterator || \"@@asyncIterator\"] = function() {\n return this;\n}, _AsyncGenerator.prototype.next = function(t2) {\n return this._invoke(\"next\", t2);\n}, _AsyncGenerator.prototype.throw = function(t2) {\n return this._invoke(\"throw\", t2);\n}, _AsyncGenerator.prototype.return = function(t2) {\n return this._invoke(\"return\", t2);\n};\nvar id = 0;\nfunction _classPrivateFieldLooseKey(t2) {\n return \"__private_\" + id++ + \"_\" + t2;\n}\nfunction _classPrivateFieldLooseBase(t2, e2) {\n if (!Object.prototype.hasOwnProperty.call(t2, e2)) throw new TypeError(\"attempted to use private field on non-instance\");\n return t2;\n}\nfunction _classPrivateFieldGet(t2, e2) {\n return _classApplyDescriptorGet(t2, _classExtractFieldDescriptor(t2, e2, \"get\"));\n}\nfunction _classPrivateFieldSet(t2, e2, r2) {\n return _classApplyDescriptorSet(t2, _classExtractFieldDescriptor(t2, e2, \"set\"), r2), r2;\n}\nfunction _classPrivateFieldDestructureSet(t2, e2) {\n return _classApplyDescriptorDestructureSet(t2, _classExtractFieldDescriptor(t2, e2, \"set\"));\n}\nfunction _classExtractFieldDescriptor(t2, e2, r2) {\n if (!e2.has(t2)) throw new TypeError(\"attempted to \" + r2 + \" private field on non-instance\");\n return e2.get(t2);\n}\nfunction _classStaticPrivateFieldSpecGet(t2, e2, r2) {\n return _classCheckPrivateStaticAccess(t2, e2), _classCheckPrivateStaticFieldDescriptor(r2, \"get\"), _classApplyDescriptorGet(t2, r2);\n}\nfunction _classStaticPrivateFieldSpecSet(t2, e2, r2, i2) {\n return _classCheckPrivateStaticAccess(t2, e2), _classCheckPrivateStaticFieldDescriptor(r2, \"set\"), _classApplyDescriptorSet(t2, r2, i2), i2;\n}\nfunction _classStaticPrivateMethodGet(t2, e2, r2) {\n return _classCheckPrivateStaticAccess(t2, e2), r2;\n}\nfunction _classStaticPrivateMethodSet() {\n throw new TypeError(\"attempted to set read only static private field\");\n}\nfunction _classApplyDescriptorGet(t2, e2) {\n return e2.get ? e2.get.call(t2) : e2.value;\n}\nfunction _classApplyDescriptorSet(t2, e2, r2) {\n if (e2.set) e2.set.call(t2, r2);\n else {\n if (!e2.writable) throw new TypeError(\"attempted to set read only private field\");\n e2.value = r2;\n }\n}\nfunction _classApplyDescriptorDestructureSet(t2, e2) {\n if (e2.set) return \"__destrObj\" in e2 || (e2.__destrObj = { set value(r2) {\n e2.set.call(t2, r2);\n } }), e2.__destrObj;\n if (!e2.writable) throw new TypeError(\"attempted to set read only private field\");\n return e2;\n}\nfunction _classStaticPrivateFieldDestructureSet(t2, e2, r2) {\n return _classCheckPrivateStaticAccess(t2, e2), _classCheckPrivateStaticFieldDescriptor(r2, \"set\"), _classApplyDescriptorDestructureSet(t2, r2);\n}\nfunction _classCheckPrivateStaticAccess(t2, e2) {\n if (t2 !== e2) throw new TypeError(\"Private static access of wrong provenance\");\n}\nfunction _classCheckPrivateStaticFieldDescriptor(t2, e2) {\n if (void 0 === t2) throw new TypeError(\"attempted to \" + e2 + \" private static field before its declaration\");\n}\nfunction _decorate(t2, e2, r2, i2) {\n var s2 = _getDecoratorsApi();\n if (i2) for (var a2 = 0; a2 < i2.length; a2++) s2 = i2[a2](s2);\n var n2 = e2(function(t3) {\n s2.initializeInstanceElements(t3, o2.elements);\n }, r2), o2 = s2.decorateClass(_coalesceClassElements(n2.d.map(_createElementDescriptor)), t2);\n return s2.initializeClassElements(n2.F, o2.elements), s2.runClassFinishers(n2.F, o2.finishers);\n}\nfunction _getDecoratorsApi() {\n _getDecoratorsApi = function() {\n return t2;\n };\n var t2 = { elementsDefinitionOrder: [[\"method\"], [\"field\"]], initializeInstanceElements: function(t3, e2) {\n [\"method\", \"field\"].forEach(function(r2) {\n e2.forEach(function(e3) {\n e3.kind === r2 && \"own\" === e3.placement && this.defineClassElement(t3, e3);\n }, this);\n }, this);\n }, initializeClassElements: function(t3, e2) {\n var r2 = t3.prototype;\n [\"method\", \"field\"].forEach(function(i2) {\n e2.forEach(function(e3) {\n var s2 = e3.placement;\n if (e3.kind === i2 && (\"static\" === s2 || \"prototype\" === s2)) {\n var a2 = \"static\" === s2 ? t3 : r2;\n this.defineClassElement(a2, e3);\n }\n }, this);\n }, this);\n }, defineClassElement: function(t3, e2) {\n var r2 = e2.descriptor;\n if (\"field\" === e2.kind) {\n var i2 = e2.initializer;\n r2 = { enumerable: r2.enumerable, writable: r2.writable, configurable: r2.configurable, value: void 0 === i2 ? void 0 : i2.call(t3) };\n }\n Object.defineProperty(t3, e2.key, r2);\n }, decorateClass: function(t3, e2) {\n var r2 = [], i2 = [], s2 = { static: [], prototype: [], own: [] };\n if (t3.forEach(function(t4) {\n this.addElementPlacement(t4, s2);\n }, this), t3.forEach(function(t4) {\n if (!_hasDecorators(t4)) return r2.push(t4);\n var e3 = this.decorateElement(t4, s2);\n r2.push(e3.element), r2.push.apply(r2, e3.extras), i2.push.apply(i2, e3.finishers);\n }, this), !e2) return { elements: r2, finishers: i2 };\n var a2 = this.decorateConstructor(r2, e2);\n return i2.push.apply(i2, a2.finishers), a2.finishers = i2, a2;\n }, addElementPlacement: function(t3, e2, r2) {\n var i2 = e2[t3.placement];\n if (!r2 && -1 !== i2.indexOf(t3.key)) throw new TypeError(\"Duplicated element (\" + t3.key + \")\");\n i2.push(t3.key);\n }, decorateElement: function(t3, e2) {\n for (var r2 = [], i2 = [], s2 = t3.decorators, a2 = s2.length - 1; a2 >= 0; a2--) {\n var n2 = e2[t3.placement];\n n2.splice(n2.indexOf(t3.key), 1);\n var o2 = this.fromElementDescriptor(t3), h2 = this.toElementFinisherExtras((0, s2[a2])(o2) || o2);\n t3 = h2.element, this.addElementPlacement(t3, e2), h2.finisher && i2.push(h2.finisher);\n var l2 = h2.extras;\n if (l2) {\n for (var p2 = 0; p2 < l2.length; p2++) this.addElementPlacement(l2[p2], e2);\n r2.push.apply(r2, l2);\n }\n }\n return { element: t3, finishers: i2, extras: r2 };\n }, decorateConstructor: function(t3, e2) {\n for (var r2 = [], i2 = e2.length - 1; i2 >= 0; i2--) {\n var s2 = this.fromClassDescriptor(t3), a2 = this.toClassDescriptor((0, e2[i2])(s2) || s2);\n if (void 0 !== a2.finisher && r2.push(a2.finisher), void 0 !== a2.elements) {\n t3 = a2.elements;\n for (var n2 = 0; n2 < t3.length - 1; n2++) for (var o2 = n2 + 1; o2 < t3.length; o2++) if (t3[n2].key === t3[o2].key && t3[n2].placement === t3[o2].placement) throw new TypeError(\"Duplicated element (\" + t3[n2].key + \")\");\n }\n }\n return { elements: t3, finishers: r2 };\n }, fromElementDescriptor: function(t3) {\n var e2 = { kind: t3.kind, key: t3.key, placement: t3.placement, descriptor: t3.descriptor };\n return Object.defineProperty(e2, Symbol.toStringTag, { value: \"Descriptor\", configurable: true }), \"field\" === t3.kind && (e2.initializer = t3.initializer), e2;\n }, toElementDescriptors: function(t3) {\n if (void 0 !== t3) return _toArray(t3).map(function(t4) {\n var e2 = this.toElementDescriptor(t4);\n return this.disallowProperty(t4, \"finisher\", \"An element descriptor\"), this.disallowProperty(t4, \"extras\", \"An element descriptor\"), e2;\n }, this);\n }, toElementDescriptor: function(t3) {\n var e2 = String(t3.kind);\n if (\"method\" !== e2 && \"field\" !== e2) throw new TypeError(`An element descriptor's .kind property must be either \"method\" or \"field\", but a decorator created an element descriptor with .kind \"` + e2 + '\"');\n var r2 = _toPropertyKey(t3.key), i2 = String(t3.placement);\n if (\"static\" !== i2 && \"prototype\" !== i2 && \"own\" !== i2) throw new TypeError(`An element descriptor's .placement property must be one of \"static\", \"prototype\" or \"own\", but a decorator created an element descriptor with .placement \"` + i2 + '\"');\n var s2 = t3.descriptor;\n this.disallowProperty(t3, \"elements\", \"An element descriptor\");\n var a2 = { kind: e2, key: r2, placement: i2, descriptor: Object.assign({}, s2) };\n return \"field\" !== e2 ? this.disallowProperty(t3, \"initializer\", \"A method descriptor\") : (this.disallowProperty(s2, \"get\", \"The property descriptor of a field descriptor\"), this.disallowProperty(s2, \"set\", \"The property descriptor of a field descriptor\"), this.disallowProperty(s2, \"value\", \"The property descriptor of a field descriptor\"), a2.initializer = t3.initializer), a2;\n }, toElementFinisherExtras: function(t3) {\n return { element: this.toElementDescriptor(t3), finisher: _optionalCallableProperty(t3, \"finisher\"), extras: this.toElementDescriptors(t3.extras) };\n }, fromClassDescriptor: function(t3) {\n var e2 = { kind: \"class\", elements: t3.map(this.fromElementDescriptor, this) };\n return Object.defineProperty(e2, Symbol.toStringTag, { value: \"Descriptor\", configurable: true }), e2;\n }, toClassDescriptor: function(t3) {\n var e2 = String(t3.kind);\n if (\"class\" !== e2) throw new TypeError(`A class descriptor's .kind property must be \"class\", but a decorator created a class descriptor with .kind \"` + e2 + '\"');\n this.disallowProperty(t3, \"key\", \"A class descriptor\"), this.disallowProperty(t3, \"placement\", \"A class descriptor\"), this.disallowProperty(t3, \"descriptor\", \"A class descriptor\"), this.disallowProperty(t3, \"initializer\", \"A class descriptor\"), this.disallowProperty(t3, \"extras\", \"A class descriptor\");\n var r2 = _optionalCallableProperty(t3, \"finisher\");\n return { elements: this.toElementDescriptors(t3.elements), finisher: r2 };\n }, runClassFinishers: function(t3, e2) {\n for (var r2 = 0; r2 < e2.length; r2++) {\n var i2 = (0, e2[r2])(t3);\n if (void 0 !== i2) {\n if (\"function\" != typeof i2) throw new TypeError(\"Finishers must return a constructor.\");\n t3 = i2;\n }\n }\n return t3;\n }, disallowProperty: function(t3, e2, r2) {\n if (void 0 !== t3[e2]) throw new TypeError(r2 + \" can't have a .\" + e2 + \" property.\");\n } };\n return t2;\n}\nfunction _createElementDescriptor(t2) {\n var e2, r2 = _toPropertyKey(t2.key);\n \"method\" === t2.kind ? e2 = { value: t2.value, writable: true, configurable: true, enumerable: false } : \"get\" === t2.kind ? e2 = { get: t2.value, configurable: true, enumerable: false } : \"set\" === t2.kind ? e2 = { set: t2.value, configurable: true, enumerable: false } : \"field\" === t2.kind && (e2 = { configurable: true, writable: true, enumerable: true });\n var i2 = { kind: \"field\" === t2.kind ? \"field\" : \"method\", key: r2, placement: t2.static ? \"static\" : \"field\" === t2.kind ? \"own\" : \"prototype\", descriptor: e2 };\n return t2.decorators && (i2.decorators = t2.decorators), \"field\" === t2.kind && (i2.initializer = t2.value), i2;\n}\nfunction _coalesceGetterSetter(t2, e2) {\n void 0 !== t2.descriptor.get ? e2.descriptor.get = t2.descriptor.get : e2.descriptor.set = t2.descriptor.set;\n}\nfunction _coalesceClassElements(t2) {\n for (var e2 = [], r2 = function(t3) {\n return \"method\" === t3.kind && t3.key === a2.key && t3.placement === a2.placement;\n }, i2 = 0; i2 < t2.length; i2++) {\n var s2, a2 = t2[i2];\n if (\"method\" === a2.kind && (s2 = e2.find(r2))) if (_isDataDescriptor(a2.descriptor) || _isDataDescriptor(s2.descriptor)) {\n if (_hasDecorators(a2) || _hasDecorators(s2)) throw new ReferenceError(\"Duplicated methods (\" + a2.key + \") can't be decorated.\");\n s2.descriptor = a2.descriptor;\n } else {\n if (_hasDecorators(a2)) {\n if (_hasDecorators(s2)) throw new ReferenceError(\"Decorators can't be placed on different accessors with for the same property (\" + a2.key + \").\");\n s2.decorators = a2.decorators;\n }\n _coalesceGetterSetter(a2, s2);\n }\n else e2.push(a2);\n }\n return e2;\n}\nfunction _hasDecorators(t2) {\n return t2.decorators && t2.decorators.length;\n}\nfunction _isDataDescriptor(t2) {\n return void 0 !== t2 && !(void 0 === t2.value && void 0 === t2.writable);\n}\nfunction _optionalCallableProperty(t2, e2) {\n var r2 = t2[e2];\n if (void 0 !== r2 && \"function\" != typeof r2) throw new TypeError(\"Expected '\" + e2 + \"' to be a function\");\n return r2;\n}\nfunction _classPrivateMethodGet(t2, e2, r2) {\n if (!e2.has(t2)) throw new TypeError(\"attempted to get private field on non-instance\");\n return r2;\n}\nfunction _checkPrivateRedeclaration(t2, e2) {\n if (e2.has(t2)) throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n}\nfunction _classPrivateFieldInitSpec(t2, e2, r2) {\n _checkPrivateRedeclaration(t2, e2), e2.set(t2, r2);\n}\nfunction _classPrivateMethodInitSpec(t2, e2) {\n _checkPrivateRedeclaration(t2, e2), e2.add(t2);\n}\nfunction _classPrivateMethodSet() {\n throw new TypeError(\"attempted to reassign private method\");\n}\nvar _extendStatics = function(t2, e2) {\n return _extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(t3, e3) {\n t3.__proto__ = e3;\n } || function(t3, e3) {\n for (var r2 in e3) Object.prototype.hasOwnProperty.call(e3, r2) && (t3[r2] = e3[r2]);\n }, _extendStatics(t2, e2);\n};\nfunction __extends(t2, e2) {\n if (\"function\" != typeof e2 && null !== e2) throw new TypeError(\"Class extends value \" + String(e2) + \" is not a constructor or null\");\n function r2() {\n this.constructor = t2;\n }\n _extendStatics(t2, e2), t2.prototype = null === e2 ? Object.create(e2) : (r2.prototype = e2.prototype, new r2());\n}\nvar _assign = function() {\n return _assign = Object.assign || function(t2) {\n for (var e2, r2 = 1, i2 = arguments.length; r2 < i2; r2++) for (var s2 in e2 = arguments[r2]) Object.prototype.hasOwnProperty.call(e2, s2) && (t2[s2] = e2[s2]);\n return t2;\n }, _assign.apply(this, arguments);\n};\nfunction __rest(t2, e2) {\n var r2 = {};\n for (var i2 in t2) Object.prototype.hasOwnProperty.call(t2, i2) && e2.indexOf(i2) < 0 && (r2[i2] = t2[i2]);\n if (null != t2 && \"function\" == typeof Object.getOwnPropertySymbols) {\n var s2 = 0;\n for (i2 = Object.getOwnPropertySymbols(t2); s2 < i2.length; s2++) e2.indexOf(i2[s2]) < 0 && Object.prototype.propertyIsEnumerable.call(t2, i2[s2]) && (r2[i2[s2]] = t2[i2[s2]]);\n }\n return r2;\n}\nfunction __decorate(t2, e2, r2, i2) {\n var s2, a2 = arguments.length, n2 = a2 < 3 ? e2 : null === i2 ? i2 = Object.getOwnPropertyDescriptor(e2, r2) : i2;\n if (\"object\" == typeof Reflect && \"function\" == typeof Reflect.decorate) n2 = Reflect.decorate(t2, e2, r2, i2);\n else for (var o2 = t2.length - 1; o2 >= 0; o2--) (s2 = t2[o2]) && (n2 = (a2 < 3 ? s2(n2) : a2 > 3 ? s2(e2, r2, n2) : s2(e2, r2)) || n2);\n return a2 > 3 && n2 && Object.defineProperty(e2, r2, n2), n2;\n}\nfunction __param(t2, e2) {\n return function(r2, i2) {\n e2(r2, i2, t2);\n };\n}\nfunction __metadata(t2, e2) {\n if (\"object\" == typeof Reflect && \"function\" == typeof Reflect.metadata) return Reflect.metadata(t2, e2);\n}\nfunction __awaiter(t2, e2, r2, i2) {\n return new (r2 || (r2 = Promise))(function(s2, a2) {\n function n2(t3) {\n try {\n h2(i2.next(t3));\n } catch (t4) {\n a2(t4);\n }\n }\n function o2(t3) {\n try {\n h2(i2.throw(t3));\n } catch (t4) {\n a2(t4);\n }\n }\n function h2(t3) {\n var e3;\n t3.done ? s2(t3.value) : (e3 = t3.value, e3 instanceof r2 ? e3 : new r2(function(t4) {\n t4(e3);\n })).then(n2, o2);\n }\n h2((i2 = i2.apply(t2, e2 || [])).next());\n });\n}\nfunction __generator(t2, e2) {\n var r2, i2, s2, a2, n2 = { label: 0, sent: function() {\n if (1 & s2[0]) throw s2[1];\n return s2[1];\n }, trys: [], ops: [] };\n return a2 = { next: o2(0), throw: o2(1), return: o2(2) }, \"function\" == typeof Symbol && (a2[Symbol.iterator] = function() {\n return this;\n }), a2;\n function o2(a3) {\n return function(o3) {\n return function(a4) {\n if (r2) throw new TypeError(\"Generator is already executing.\");\n for (; n2; ) try {\n if (r2 = 1, i2 && (s2 = 2 & a4[0] ? i2.return : a4[0] ? i2.throw || ((s2 = i2.return) && s2.call(i2), 0) : i2.next) && !(s2 = s2.call(i2, a4[1])).done) return s2;\n switch (i2 = 0, s2 && (a4 = [2 & a4[0], s2.value]), a4[0]) {\n case 0:\n case 1:\n s2 = a4;\n break;\n case 4:\n return n2.label++, { value: a4[1], done: false };\n case 5:\n n2.label++, i2 = a4[1], a4 = [0];\n continue;\n case 7:\n a4 = n2.ops.pop(), n2.trys.pop();\n continue;\n default:\n if (!(s2 = n2.trys, (s2 = s2.length > 0 && s2[s2.length - 1]) || 6 !== a4[0] && 2 !== a4[0])) {\n n2 = 0;\n continue;\n }\n if (3 === a4[0] && (!s2 || a4[1] > s2[0] && a4[1] < s2[3])) {\n n2.label = a4[1];\n break;\n }\n if (6 === a4[0] && n2.label < s2[1]) {\n n2.label = s2[1], s2 = a4;\n break;\n }\n if (s2 && n2.label < s2[2]) {\n n2.label = s2[2], n2.ops.push(a4);\n break;\n }\n s2[2] && n2.ops.pop(), n2.trys.pop();\n continue;\n }\n a4 = e2.call(t2, n2);\n } catch (t3) {\n a4 = [6, t3], i2 = 0;\n } finally {\n r2 = s2 = 0;\n }\n if (5 & a4[0]) throw a4[1];\n return { value: a4[0] ? a4[1] : void 0, done: true };\n }([a3, o3]);\n };\n }\n}\nvar __createBinding = Object.create ? function(t2, e2, r2, i2) {\n void 0 === i2 && (i2 = r2), Object.defineProperty(t2, i2, { enumerable: true, get: function() {\n return e2[r2];\n } });\n} : function(t2, e2, r2, i2) {\n void 0 === i2 && (i2 = r2), t2[i2] = e2[r2];\n};\nfunction __exportStar(t2, e2) {\n for (var r2 in t2) \"default\" === r2 || Object.prototype.hasOwnProperty.call(e2, r2) || __createBinding(e2, t2, r2);\n}\nfunction __values(t2) {\n var e2 = \"function\" == typeof Symbol && Symbol.iterator, r2 = e2 && t2[e2], i2 = 0;\n if (r2) return r2.call(t2);\n if (t2 && \"number\" == typeof t2.length) return { next: function() {\n return t2 && i2 >= t2.length && (t2 = void 0), { value: t2 && t2[i2++], done: !t2 };\n } };\n throw new TypeError(e2 ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nfunction __read(t2, e2) {\n var r2 = \"function\" == typeof Symbol && t2[Symbol.iterator];\n if (!r2) return t2;\n var i2, s2, a2 = r2.call(t2), n2 = [];\n try {\n for (; (void 0 === e2 || e2-- > 0) && !(i2 = a2.next()).done; ) n2.push(i2.value);\n } catch (t3) {\n s2 = { error: t3 };\n } finally {\n try {\n i2 && !i2.done && (r2 = a2.return) && r2.call(a2);\n } finally {\n if (s2) throw s2.error;\n }\n }\n return n2;\n}\nfunction __spread() {\n for (var t2 = [], e2 = 0; e2 < arguments.length; e2++) t2 = t2.concat(__read(arguments[e2]));\n return t2;\n}\nfunction __spreadArrays() {\n for (var t2 = 0, e2 = 0, r2 = arguments.length; e2 < r2; e2++) t2 += arguments[e2].length;\n var i2 = Array(t2), s2 = 0;\n for (e2 = 0; e2 < r2; e2++) for (var a2 = arguments[e2], n2 = 0, o2 = a2.length; n2 < o2; n2++, s2++) i2[s2] = a2[n2];\n return i2;\n}\nfunction __spreadArray(t2, e2, r2) {\n if (r2 || 2 === arguments.length) for (var i2, s2 = 0, a2 = e2.length; s2 < a2; s2++) !i2 && s2 in e2 || (i2 || (i2 = Array.prototype.slice.call(e2, 0, s2)), i2[s2] = e2[s2]);\n return t2.concat(i2 || Array.prototype.slice.call(e2));\n}\nfunction __await(t2) {\n return this instanceof __await ? (this.v = t2, this) : new __await(t2);\n}\nfunction __asyncGenerator(t2, e2, r2) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var i2, s2 = r2.apply(t2, e2 || []), a2 = [];\n return i2 = {}, n2(\"next\"), n2(\"throw\"), n2(\"return\"), i2[Symbol.asyncIterator] = function() {\n return this;\n }, i2;\n function n2(t3) {\n s2[t3] && (i2[t3] = function(e3) {\n return new Promise(function(r3, i3) {\n a2.push([t3, e3, r3, i3]) > 1 || o2(t3, e3);\n });\n });\n }\n function o2(t3, e3) {\n try {\n !function(t4) {\n t4.value instanceof __await ? Promise.resolve(t4.value.v).then(h2, l2) : p2(a2[0][2], t4);\n }(s2[t3](e3));\n } catch (t4) {\n p2(a2[0][3], t4);\n }\n }\n function h2(t3) {\n o2(\"next\", t3);\n }\n function l2(t3) {\n o2(\"throw\", t3);\n }\n function p2(t3, e3) {\n t3(e3), a2.shift(), a2.length && o2(a2[0][0], a2[0][1]);\n }\n}\nfunction __asyncDelegator(t2) {\n var e2, r2;\n return e2 = {}, i2(\"next\"), i2(\"throw\", function(t3) {\n throw t3;\n }), i2(\"return\"), e2[Symbol.iterator] = function() {\n return this;\n }, e2;\n function i2(i3, s2) {\n e2[i3] = t2[i3] ? function(e3) {\n return (r2 = !r2) ? { value: __await(t2[i3](e3)), done: \"return\" === i3 } : s2 ? s2(e3) : e3;\n } : s2;\n }\n}\nfunction __asyncValues(t2) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var e2, r2 = t2[Symbol.asyncIterator];\n return r2 ? r2.call(t2) : (t2 = \"function\" == typeof __values ? __values(t2) : t2[Symbol.iterator](), e2 = {}, i2(\"next\"), i2(\"throw\"), i2(\"return\"), e2[Symbol.asyncIterator] = function() {\n return this;\n }, e2);\n function i2(r3) {\n e2[r3] = t2[r3] && function(e3) {\n return new Promise(function(i3, s2) {\n (function(t3, e4, r4, i4) {\n Promise.resolve(i4).then(function(e5) {\n t3({ value: e5, done: r4 });\n }, e4);\n })(i3, s2, (e3 = t2[r3](e3)).done, e3.value);\n });\n };\n }\n}\nfunction __makeTemplateObject(t2, e2) {\n return Object.defineProperty ? Object.defineProperty(t2, \"raw\", { value: e2 }) : t2.raw = e2, t2;\n}\nvar __setModuleDefault = Object.create ? function(t2, e2) {\n Object.defineProperty(t2, \"default\", { enumerable: true, value: e2 });\n} : function(t2, e2) {\n t2.default = e2;\n};\nfunction __importStar(t2) {\n if (t2 && t2.__esModule) return t2;\n var e2 = {};\n if (null != t2) for (var r2 in t2) \"default\" !== r2 && Object.prototype.hasOwnProperty.call(t2, r2) && __createBinding(e2, t2, r2);\n return __setModuleDefault(e2, t2), e2;\n}\nfunction __importDefault(t2) {\n return t2 && t2.__esModule ? t2 : { default: t2 };\n}\nfunction __classPrivateFieldGet(t2, e2, r2, i2) {\n if (\"a\" === r2 && !i2) throw new TypeError(\"Private accessor was defined without a getter\");\n if (\"function\" == typeof e2 ? t2 !== e2 || !i2 : !e2.has(t2)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return \"m\" === r2 ? i2 : \"a\" === r2 ? i2.call(t2) : i2 ? i2.value : e2.get(t2);\n}\nfunction __classPrivateFieldSet(t2, e2, r2, i2, s2) {\n if (\"m\" === i2) throw new TypeError(\"Private method is not writable\");\n if (\"a\" === i2 && !s2) throw new TypeError(\"Private accessor was defined without a setter\");\n if (\"function\" == typeof e2 ? t2 !== e2 || !s2 : !e2.has(t2)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return \"a\" === i2 ? s2.call(t2, r2) : s2 ? s2.value = r2 : e2.set(t2, r2), r2;\n}\nvar t$3 = window.ShadowRoot && (void 0 === window.ShadyCSS || window.ShadyCSS.nativeShadow) && \"adoptedStyleSheets\" in Document.prototype && \"replace\" in CSSStyleSheet.prototype;\nvar e$8 = Symbol();\nvar n$5 = /* @__PURE__ */ new Map();\nvar s$3 = class {\n constructor(t2, e2) {\n if (this._$cssResult$ = true, e2 !== e$8) throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");\n this.cssText = t2;\n }\n get styleSheet() {\n var t2 = n$5.get(this.cssText);\n return t$3 && void 0 === t2 && (n$5.set(this.cssText, t2 = new CSSStyleSheet()), t2.replaceSync(this.cssText)), t2;\n }\n toString() {\n return this.cssText;\n }\n};\nvar o$5 = (t2) => new s$3(\"string\" == typeof t2 ? t2 : t2 + \"\", e$8);\nvar r$3 = function(t2) {\n for (var e2 = arguments.length, r2 = new Array(e2 > 1 ? e2 - 1 : 0), i2 = 1; i2 < e2; i2++) r2[i2 - 1] = arguments[i2];\n var s2 = 1 === t2.length ? t2[0] : r2.reduce((e3, r3, i3) => e3 + ((t3) => {\n if (true === t3._$cssResult$) return t3.cssText;\n if (\"number\" == typeof t3) return t3;\n throw Error(\"Value passed to 'css' function must be a 'css' function result: \" + t3 + \". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\");\n })(r3) + t2[i3 + 1], t2[0]);\n return new s$3(s2, e$8);\n};\nvar i$3 = (t2, e2) => {\n t$3 ? t2.adoptedStyleSheets = e2.map((t3) => t3 instanceof CSSStyleSheet ? t3 : t3.styleSheet) : e2.forEach((e3) => {\n var r2 = document.createElement(\"style\"), i2 = window.litNonce;\n void 0 !== i2 && r2.setAttribute(\"nonce\", i2), r2.textContent = e3.cssText, t2.appendChild(r2);\n });\n};\nvar S$1 = t$3 ? (t2) => t2 : (t2) => t2 instanceof CSSStyleSheet ? ((t3) => {\n var e2 = \"\";\n for (var r2 of t3.cssRules) e2 += r2.cssText;\n return o$5(e2);\n})(t2) : t2;\nvar s$2;\nvar e$7 = window.trustedTypes;\nvar r$2 = e$7 ? e$7.emptyScript : \"\";\nvar h$2 = window.reactiveElementPolyfillSupport;\nvar o$4 = { toAttribute(t2, e2) {\n switch (e2) {\n case Boolean:\n t2 = t2 ? r$2 : null;\n break;\n case Object:\n case Array:\n t2 = null == t2 ? t2 : JSON.stringify(t2);\n }\n return t2;\n}, fromAttribute(t2, e2) {\n var r2 = t2;\n switch (e2) {\n case Boolean:\n r2 = null !== t2;\n break;\n case Number:\n r2 = null === t2 ? null : Number(t2);\n break;\n case Object:\n case Array:\n try {\n r2 = JSON.parse(t2);\n } catch (t3) {\n r2 = null;\n }\n }\n return r2;\n} };\nvar n$4 = (t2, e2) => e2 !== t2 && (e2 == e2 || t2 == t2);\nvar l$3 = { attribute: true, type: String, converter: o$4, reflect: false, hasChanged: n$4 };\nvar t$2;\nvar a$1 = class extends HTMLElement {\n constructor() {\n super(), this._$Et = /* @__PURE__ */ new Map(), this.isUpdatePending = false, this.hasUpdated = false, this._$Ei = null, this.o();\n }\n static addInitializer(t2) {\n var e2;\n null !== (e2 = this.l) && void 0 !== e2 || (this.l = []), this.l.push(t2);\n }\n static get observedAttributes() {\n this.finalize();\n var t2 = [];\n return this.elementProperties.forEach((e2, r2) => {\n var i2 = this._$Eh(r2, e2);\n void 0 !== i2 && (this._$Eu.set(i2, r2), t2.push(i2));\n }), t2;\n }\n static createProperty(t2) {\n var e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : l$3;\n if (e2.state && (e2.attribute = false), this.finalize(), this.elementProperties.set(t2, e2), !e2.noAccessor && !this.prototype.hasOwnProperty(t2)) {\n var r2 = \"symbol\" == typeof t2 ? Symbol() : \"__\" + t2, i2 = this.getPropertyDescriptor(t2, r2, e2);\n void 0 !== i2 && Object.defineProperty(this.prototype, t2, i2);\n }\n }\n static getPropertyDescriptor(t2, e2, r2) {\n return { get() {\n return this[e2];\n }, set(i2) {\n var s2 = this[t2];\n this[e2] = i2, this.requestUpdate(t2, s2, r2);\n }, configurable: true, enumerable: true };\n }\n static getPropertyOptions(t2) {\n return this.elementProperties.get(t2) || l$3;\n }\n static finalize() {\n if (this.hasOwnProperty(\"finalized\")) return false;\n this.finalized = true;\n var t2 = Object.getPrototypeOf(this);\n if (t2.finalize(), this.elementProperties = new Map(t2.elementProperties), this._$Eu = /* @__PURE__ */ new Map(), this.hasOwnProperty(\"properties\")) {\n var e2 = this.properties, r2 = [...Object.getOwnPropertyNames(e2), ...Object.getOwnPropertySymbols(e2)];\n for (var i2 of r2) this.createProperty(i2, e2[i2]);\n }\n return this.elementStyles = this.finalizeStyles(this.styles), true;\n }\n static finalizeStyles(t2) {\n var e2 = [];\n if (Array.isArray(t2)) {\n var r2 = new Set(t2.flat(1 / 0).reverse());\n for (var i2 of r2) e2.unshift(S$1(i2));\n } else void 0 !== t2 && e2.push(S$1(t2));\n return e2;\n }\n static _$Eh(t2, e2) {\n var r2 = e2.attribute;\n return false === r2 ? void 0 : \"string\" == typeof r2 ? r2 : \"string\" == typeof t2 ? t2.toLowerCase() : void 0;\n }\n o() {\n var t2;\n this._$Ep = new Promise((t3) => this.enableUpdating = t3), this._$AL = /* @__PURE__ */ new Map(), this._$Em(), this.requestUpdate(), null === (t2 = this.constructor.l) || void 0 === t2 || t2.forEach((t3) => t3(this));\n }\n addController(t2) {\n var e2, r2;\n (null !== (e2 = this._$Eg) && void 0 !== e2 ? e2 : this._$Eg = []).push(t2), void 0 !== this.renderRoot && this.isConnected && (null === (r2 = t2.hostConnected) || void 0 === r2 || r2.call(t2));\n }\n removeController(t2) {\n var e2;\n null === (e2 = this._$Eg) || void 0 === e2 || e2.splice(this._$Eg.indexOf(t2) >>> 0, 1);\n }\n _$Em() {\n this.constructor.elementProperties.forEach((t2, e2) => {\n this.hasOwnProperty(e2) && (this._$Et.set(e2, this[e2]), delete this[e2]);\n });\n }\n createRenderRoot() {\n var t2, e2 = null !== (t2 = this.shadowRoot) && void 0 !== t2 ? t2 : this.attachShadow(this.constructor.shadowRootOptions);\n return i$3(e2, this.constructor.elementStyles), e2;\n }\n connectedCallback() {\n var t2;\n void 0 === this.renderRoot && (this.renderRoot = this.createRenderRoot()), this.enableUpdating(true), null === (t2 = this._$Eg) || void 0 === t2 || t2.forEach((t3) => {\n var e2;\n return null === (e2 = t3.hostConnected) || void 0 === e2 ? void 0 : e2.call(t3);\n });\n }\n enableUpdating(t2) {\n }\n disconnectedCallback() {\n var t2;\n null === (t2 = this._$Eg) || void 0 === t2 || t2.forEach((t3) => {\n var e2;\n return null === (e2 = t3.hostDisconnected) || void 0 === e2 ? void 0 : e2.call(t3);\n });\n }\n attributeChangedCallback(t2, e2, r2) {\n this._$AK(t2, r2);\n }\n _$ES(t2, e2) {\n var r2, i2, s2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : l$3, a2 = this.constructor._$Eh(t2, s2);\n if (void 0 !== a2 && true === s2.reflect) {\n var n2 = (null !== (i2 = null === (r2 = s2.converter) || void 0 === r2 ? void 0 : r2.toAttribute) && void 0 !== i2 ? i2 : o$4.toAttribute)(e2, s2.type);\n this._$Ei = t2, null == n2 ? this.removeAttribute(a2) : this.setAttribute(a2, n2), this._$Ei = null;\n }\n }\n _$AK(t2, e2) {\n var r2, i2, s2, a2 = this.constructor, n2 = a2._$Eu.get(t2);\n if (void 0 !== n2 && this._$Ei !== n2) {\n var o2 = a2.getPropertyOptions(n2), h2 = o2.converter, l2 = null !== (s2 = null !== (i2 = null === (r2 = h2) || void 0 === r2 ? void 0 : r2.fromAttribute) && void 0 !== i2 ? i2 : \"function\" == typeof h2 ? h2 : null) && void 0 !== s2 ? s2 : o$4.fromAttribute;\n this._$Ei = n2, this[n2] = l2(e2, o2.type), this._$Ei = null;\n }\n }\n requestUpdate(t2, e2, r2) {\n var i2 = true;\n void 0 !== t2 && (((r2 = r2 || this.constructor.getPropertyOptions(t2)).hasChanged || n$4)(this[t2], e2) ? (this._$AL.has(t2) || this._$AL.set(t2, e2), true === r2.reflect && this._$Ei !== t2 && (void 0 === this._$E_ && (this._$E_ = /* @__PURE__ */ new Map()), this._$E_.set(t2, r2))) : i2 = false), !this.isUpdatePending && i2 && (this._$Ep = this._$EC());\n }\n _$EC() {\n var t2 = this;\n return _asyncToGenerator(function* () {\n t2.isUpdatePending = true;\n try {\n yield t2._$Ep;\n } catch (e3) {\n Promise.reject(e3);\n }\n var e2 = t2.scheduleUpdate();\n return null != e2 && (yield e2), !t2.isUpdatePending;\n })();\n }\n scheduleUpdate() {\n return this.performUpdate();\n }\n performUpdate() {\n var t2;\n if (this.isUpdatePending) {\n this.hasUpdated, this._$Et && (this._$Et.forEach((t3, e3) => this[e3] = t3), this._$Et = void 0);\n var e2 = false, r2 = this._$AL;\n try {\n (e2 = this.shouldUpdate(r2)) ? (this.willUpdate(r2), null === (t2 = this._$Eg) || void 0 === t2 || t2.forEach((t3) => {\n var e3;\n return null === (e3 = t3.hostUpdate) || void 0 === e3 ? void 0 : e3.call(t3);\n }), this.update(r2)) : this._$EU();\n } catch (t3) {\n throw e2 = false, this._$EU(), t3;\n }\n e2 && this._$AE(r2);\n }\n }\n willUpdate(t2) {\n }\n _$AE(t2) {\n var e2;\n null === (e2 = this._$Eg) || void 0 === e2 || e2.forEach((t3) => {\n var e3;\n return null === (e3 = t3.hostUpdated) || void 0 === e3 ? void 0 : e3.call(t3);\n }), this.hasUpdated || (this.hasUpdated = true, this.firstUpdated(t2)), this.updated(t2);\n }\n _$EU() {\n this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = false;\n }\n get updateComplete() {\n return this.getUpdateComplete();\n }\n getUpdateComplete() {\n return this._$Ep;\n }\n shouldUpdate(t2) {\n return true;\n }\n update(t2) {\n void 0 !== this._$E_ && (this._$E_.forEach((t3, e2) => this._$ES(e2, this[e2], t3)), this._$E_ = void 0), this._$EU();\n }\n updated(t2) {\n }\n firstUpdated(t2) {\n }\n};\na$1.finalized = true, a$1.elementProperties = /* @__PURE__ */ new Map(), a$1.elementStyles = [], a$1.shadowRootOptions = { mode: \"open\" }, null == h$2 || h$2({ ReactiveElement: a$1 }), (null !== (s$2 = globalThis.reactiveElementVersions) && void 0 !== s$2 ? s$2 : globalThis.reactiveElementVersions = []).push(\"1.2.1\");\nvar i$2 = globalThis.trustedTypes;\nvar s$1 = i$2 ? i$2.createPolicy(\"lit-html\", { createHTML: (t2) => t2 }) : void 0;\nvar e$6 = \"lit$\".concat((Math.random() + \"\").slice(9), \"$\");\nvar o$3 = \"?\" + e$6;\nvar n$3 = \"<\".concat(o$3, \">\");\nvar l$2 = document;\nvar h$1 = function() {\n var t2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : \"\";\n return l$2.createComment(t2);\n};\nvar r$1 = (t2) => null === t2 || \"object\" != typeof t2 && \"function\" != typeof t2;\nvar d = Array.isArray;\nvar u = (t2) => {\n var e2;\n return d(t2) || \"function\" == typeof (null === (e2 = t2) || void 0 === e2 ? void 0 : e2[Symbol.iterator]);\n};\nvar c = /<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g;\nvar v = /-->/g;\nvar a = />/g;\nvar f = />|[ \t\\n\f\\r](?:([^\\s\"'>=/]+)([ \t\\n\f\\r]*=[ \t\\n\f\\r]*(?:[^ \t\\n\f\\r\"'`<>=]|(\"|')|))|$)/g;\nvar _ = /'/g;\nvar m = /\"/g;\nvar g = /^(?:script|style|textarea)$/i;\nvar p = (t2) => function(e2) {\n for (var r2 = arguments.length, i2 = new Array(r2 > 1 ? r2 - 1 : 0), s2 = 1; s2 < r2; s2++) i2[s2 - 1] = arguments[s2];\n return { _$litType$: t2, strings: e2, values: i2 };\n};\nvar $ = p(1);\nvar y = p(2);\nvar b = Symbol.for(\"lit-noChange\");\nvar w = Symbol.for(\"lit-nothing\");\nvar T = /* @__PURE__ */ new WeakMap();\nvar x = (t2, e2, r2) => {\n var i2, s2, a2 = null !== (i2 = null == r2 ? void 0 : r2.renderBefore) && void 0 !== i2 ? i2 : e2, n2 = a2._$litPart$;\n if (void 0 === n2) {\n var o2 = null !== (s2 = null == r2 ? void 0 : r2.renderBefore) && void 0 !== s2 ? s2 : null;\n a2._$litPart$ = n2 = new N(e2.insertBefore(h$1(), o2), o2, void 0, null != r2 ? r2 : {});\n }\n return n2._$AI(t2), n2;\n};\nvar A = l$2.createTreeWalker(l$2, 129, null, false);\nvar C = (t2, e2) => {\n for (var r2, i2 = t2.length - 1, s2 = [], n2 = 2 === e2 ? \"\" : \"\", o2 = c, h2 = 0; h2 < i2; h2++) {\n for (var l2 = t2[h2], p2 = void 0, u2 = void 0, d2 = -1, y2 = 0; y2 < l2.length && (o2.lastIndex = y2, null !== (u2 = o2.exec(l2))); ) y2 = o2.lastIndex, o2 === c ? \"!--\" === u2[1] ? o2 = v : void 0 !== u2[1] ? o2 = a : void 0 !== u2[2] ? (g.test(u2[2]) && (r2 = RegExp(\"\" === u2[0] ? (o2 = null != r2 ? r2 : c, d2 = -1) : void 0 === u2[1] ? d2 = -2 : (d2 = o2.lastIndex - u2[2].length, p2 = u2[1], o2 = void 0 === u2[3] ? f : '\"' === u2[3] ? m : _) : o2 === m || o2 === _ ? o2 = f : o2 === v || o2 === a ? o2 = c : (o2 = f, r2 = void 0);\n var b2 = o2 === f && t2[h2 + 1].startsWith(\"/>\") ? \" \" : \"\";\n n2 += o2 === c ? l2 + n$3 : d2 >= 0 ? (s2.push(p2), l2.slice(0, d2) + \"$lit$\" + l2.slice(d2) + e$6 + b2) : l2 + e$6 + (-2 === d2 ? (s2.push(void 0), h2) : b2);\n }\n var P2 = n2 + (t2[i2] || \"\") + (2 === e2 ? \"\" : \"\");\n if (!Array.isArray(t2) || !t2.hasOwnProperty(\"raw\")) throw Error(\"invalid template strings array\");\n return [void 0 !== s$1 ? s$1.createHTML(P2) : P2, s2];\n};\nvar E = class _E {\n constructor(t2, e2) {\n var r2, { strings: i2, _$litType$: s2 } = t2;\n this.parts = [];\n var a2 = 0, n2 = 0, o2 = i2.length - 1, h2 = this.parts, [l2, p2] = C(i2, s2);\n if (this.el = _E.createElement(l2, e2), A.currentNode = this.el.content, 2 === s2) {\n var c2 = this.el.content, f2 = c2.firstChild;\n f2.remove(), c2.append(...f2.childNodes);\n }\n for (; null !== (r2 = A.nextNode()) && h2.length < o2; ) {\n if (1 === r2.nodeType) {\n if (r2.hasAttributes()) {\n var u2 = [];\n for (var d2 of r2.getAttributeNames()) if (d2.endsWith(\"$lit$\") || d2.startsWith(e$6)) {\n var m2 = p2[n2++];\n if (u2.push(d2), void 0 !== m2) {\n var y2 = r2.getAttribute(m2.toLowerCase() + \"$lit$\").split(e$6), v2 = /([.?@])?(.*)/.exec(m2);\n h2.push({ type: 1, index: a2, name: v2[2], strings: y2, ctor: \".\" === v2[1] ? M : \"?\" === v2[1] ? H : \"@\" === v2[1] ? I : S });\n } else h2.push({ type: 6, index: a2 });\n }\n for (var b2 of u2) r2.removeAttribute(b2);\n }\n if (g.test(r2.tagName)) {\n var _2 = r2.textContent.split(e$6), P2 = _2.length - 1;\n if (P2 > 0) {\n r2.textContent = i$2 ? i$2.emptyScript : \"\";\n for (var x2 = 0; x2 < P2; x2++) r2.append(_2[x2], h$1()), A.nextNode(), h2.push({ type: 2, index: ++a2 });\n r2.append(_2[P2], h$1());\n }\n }\n } else if (8 === r2.nodeType) if (r2.data === o$3) h2.push({ type: 2, index: a2 });\n else for (var w2 = -1; -1 !== (w2 = r2.data.indexOf(e$6, w2 + 1)); ) h2.push({ type: 7, index: a2 }), w2 += e$6.length - 1;\n a2++;\n }\n }\n static createElement(t2, e2) {\n var r2 = l$2.createElement(\"template\");\n return r2.innerHTML = t2, r2;\n }\n};\nfunction P(t2, e2) {\n var r2, i2, s2, a2, n2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : t2, o2 = arguments.length > 3 ? arguments[3] : void 0;\n if (e2 === b) return e2;\n var h2 = void 0 !== o2 ? null === (r2 = n2._$Cl) || void 0 === r2 ? void 0 : r2[o2] : n2._$Cu, l2 = r$1(e2) ? void 0 : e2._$litDirective$;\n return (null == h2 ? void 0 : h2.constructor) !== l2 && (null === (i2 = null == h2 ? void 0 : h2._$AO) || void 0 === i2 || i2.call(h2, false), void 0 === l2 ? h2 = void 0 : (h2 = new l2(t2))._$AT(t2, n2, o2), void 0 !== o2 ? (null !== (s2 = (a2 = n2)._$Cl) && void 0 !== s2 ? s2 : a2._$Cl = [])[o2] = h2 : n2._$Cu = h2), void 0 !== h2 && (e2 = P(t2, h2._$AS(t2, e2.values), h2, o2)), e2;\n}\nvar V = class {\n constructor(t2, e2) {\n this.v = [], this._$AN = void 0, this._$AD = t2, this._$AM = e2;\n }\n get parentNode() {\n return this._$AM.parentNode;\n }\n get _$AU() {\n return this._$AM._$AU;\n }\n p(t2) {\n var e2, { el: { content: r2 }, parts: i2 } = this._$AD, s2 = (null !== (e2 = null == t2 ? void 0 : t2.creationScope) && void 0 !== e2 ? e2 : l$2).importNode(r2, true);\n A.currentNode = s2;\n for (var a2 = A.nextNode(), n2 = 0, o2 = 0, h2 = i2[0]; void 0 !== h2; ) {\n if (n2 === h2.index) {\n var l2 = void 0;\n 2 === h2.type ? l2 = new N(a2, a2.nextSibling, this, t2) : 1 === h2.type ? l2 = new h2.ctor(a2, h2.name, h2.strings, this, t2) : 6 === h2.type && (l2 = new L(a2, this, t2)), this.v.push(l2), h2 = i2[++o2];\n }\n n2 !== (null == h2 ? void 0 : h2.index) && (a2 = A.nextNode(), n2++);\n }\n return s2;\n }\n m(t2) {\n var e2 = 0;\n for (var r2 of this.v) void 0 !== r2 && (void 0 !== r2.strings ? (r2._$AI(t2, r2, e2), e2 += r2.strings.length - 2) : r2._$AI(t2[e2])), e2++;\n }\n};\nvar N = class _N {\n constructor(t2, e2, r2, i2) {\n var s2;\n this.type = 2, this._$AH = w, this._$AN = void 0, this._$AA = t2, this._$AB = e2, this._$AM = r2, this.options = i2, this._$Cg = null === (s2 = null == i2 ? void 0 : i2.isConnected) || void 0 === s2 || s2;\n }\n get _$AU() {\n var t2, e2;\n return null !== (e2 = null === (t2 = this._$AM) || void 0 === t2 ? void 0 : t2._$AU) && void 0 !== e2 ? e2 : this._$Cg;\n }\n get parentNode() {\n var t2 = this._$AA.parentNode, e2 = this._$AM;\n return void 0 !== e2 && 11 === t2.nodeType && (t2 = e2.parentNode), t2;\n }\n get startNode() {\n return this._$AA;\n }\n get endNode() {\n return this._$AB;\n }\n _$AI(t2) {\n t2 = P(this, t2, arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this), r$1(t2) ? t2 === w || null == t2 || \"\" === t2 ? (this._$AH !== w && this._$AR(), this._$AH = w) : t2 !== this._$AH && t2 !== b && this.$(t2) : void 0 !== t2._$litType$ ? this.T(t2) : void 0 !== t2.nodeType ? this.S(t2) : u(t2) ? this.A(t2) : this.$(t2);\n }\n M(t2) {\n var e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this._$AB;\n return this._$AA.parentNode.insertBefore(t2, e2);\n }\n S(t2) {\n this._$AH !== t2 && (this._$AR(), this._$AH = this.M(t2));\n }\n $(t2) {\n this._$AH !== w && r$1(this._$AH) ? this._$AA.nextSibling.data = t2 : this.S(l$2.createTextNode(t2)), this._$AH = t2;\n }\n T(t2) {\n var e2, { values: r2, _$litType$: i2 } = t2, s2 = \"number\" == typeof i2 ? this._$AC(t2) : (void 0 === i2.el && (i2.el = E.createElement(i2.h, this.options)), i2);\n if ((null === (e2 = this._$AH) || void 0 === e2 ? void 0 : e2._$AD) === s2) this._$AH.m(r2);\n else {\n var a2 = new V(s2, this), n2 = a2.p(this.options);\n a2.m(r2), this.S(n2), this._$AH = a2;\n }\n }\n _$AC(t2) {\n var e2 = T.get(t2.strings);\n return void 0 === e2 && T.set(t2.strings, e2 = new E(t2)), e2;\n }\n A(t2) {\n d(this._$AH) || (this._$AH = [], this._$AR());\n var e2, r2 = this._$AH, i2 = 0;\n for (var s2 of t2) i2 === r2.length ? r2.push(e2 = new _N(this.M(h$1()), this.M(h$1()), this, this.options)) : e2 = r2[i2], e2._$AI(s2), i2++;\n i2 < r2.length && (this._$AR(e2 && e2._$AB.nextSibling, i2), r2.length = i2);\n }\n _$AR() {\n var t2, e2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._$AA.nextSibling, r2 = arguments.length > 1 ? arguments[1] : void 0;\n for (null === (t2 = this._$AP) || void 0 === t2 || t2.call(this, false, true, r2); e2 && e2 !== this._$AB; ) {\n var i2 = e2.nextSibling;\n e2.remove(), e2 = i2;\n }\n }\n setConnected(t2) {\n var e2;\n void 0 === this._$AM && (this._$Cg = t2, null === (e2 = this._$AP) || void 0 === e2 || e2.call(this, t2));\n }\n};\nvar S = class {\n constructor(t2, e2, r2, i2, s2) {\n this.type = 1, this._$AH = w, this._$AN = void 0, this.element = t2, this.name = e2, this._$AM = i2, this.options = s2, r2.length > 2 || \"\" !== r2[0] || \"\" !== r2[1] ? (this._$AH = Array(r2.length - 1).fill(new String()), this.strings = r2) : this._$AH = w;\n }\n get tagName() {\n return this.element.tagName;\n }\n get _$AU() {\n return this._$AM._$AU;\n }\n _$AI(t2) {\n var e2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this, r2 = arguments.length > 2 ? arguments[2] : void 0, i2 = arguments.length > 3 ? arguments[3] : void 0, s2 = this.strings, a2 = false;\n if (void 0 === s2) t2 = P(this, t2, e2, 0), (a2 = !r$1(t2) || t2 !== this._$AH && t2 !== b) && (this._$AH = t2);\n else {\n var n2, o2, h2 = t2;\n for (t2 = s2[0], n2 = 0; n2 < s2.length - 1; n2++) (o2 = P(this, h2[r2 + n2], e2, n2)) === b && (o2 = this._$AH[n2]), a2 || (a2 = !r$1(o2) || o2 !== this._$AH[n2]), o2 === w ? t2 = w : t2 !== w && (t2 += (null != o2 ? o2 : \"\") + s2[n2 + 1]), this._$AH[n2] = o2;\n }\n a2 && !i2 && this.k(t2);\n }\n k(t2) {\n t2 === w ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, null != t2 ? t2 : \"\");\n }\n};\nvar M = class extends S {\n constructor() {\n super(...arguments), this.type = 3;\n }\n k(t2) {\n this.element[this.name] = t2 === w ? void 0 : t2;\n }\n};\nvar k = i$2 ? i$2.emptyScript : \"\";\nvar H = class extends S {\n constructor() {\n super(...arguments), this.type = 4;\n }\n k(t2) {\n t2 && t2 !== w ? this.element.setAttribute(this.name, k) : this.element.removeAttribute(this.name);\n }\n};\nvar I = class extends S {\n constructor(t2, e2, r2, i2, s2) {\n super(t2, e2, r2, i2, s2), this.type = 5;\n }\n _$AI(t2) {\n var e2;\n if ((t2 = null !== (e2 = P(this, t2, arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this, 0)) && void 0 !== e2 ? e2 : w) !== b) {\n var r2 = this._$AH, i2 = t2 === w && r2 !== w || t2.capture !== r2.capture || t2.once !== r2.once || t2.passive !== r2.passive, s2 = t2 !== w && (r2 === w || i2);\n i2 && this.element.removeEventListener(this.name, this, r2), s2 && this.element.addEventListener(this.name, this, t2), this._$AH = t2;\n }\n }\n handleEvent(t2) {\n var e2, r2;\n \"function\" == typeof this._$AH ? this._$AH.call(null !== (r2 = null === (e2 = this.options) || void 0 === e2 ? void 0 : e2.host) && void 0 !== r2 ? r2 : this.element, t2) : this._$AH.handleEvent(t2);\n }\n};\nvar L = class {\n constructor(t2, e2, r2) {\n this.element = t2, this.type = 6, this._$AN = void 0, this._$AM = e2, this.options = r2;\n }\n get _$AU() {\n return this._$AM._$AU;\n }\n _$AI(t2) {\n P(this, t2);\n }\n};\nvar R = { P: \"$lit$\", V: e$6, L: o$3, I: 1, N: C, R: V, D: u, j: P, H: N, O: S, F: H, B: I, W: M, Z: L };\nvar z = window.litHtmlPolyfillSupport;\nvar l$1;\nvar o$2;\nnull == z || z(E, N), (null !== (t$2 = globalThis.litHtmlVersions) && void 0 !== t$2 ? t$2 : globalThis.litHtmlVersions = []).push(\"2.1.2\");\nvar r = a$1;\nvar s = class extends a$1 {\n constructor() {\n super(...arguments), this.renderOptions = { host: this }, this._$Dt = void 0;\n }\n createRenderRoot() {\n var t2, e2, r2 = super.createRenderRoot();\n return null !== (t2 = (e2 = this.renderOptions).renderBefore) && void 0 !== t2 || (e2.renderBefore = r2.firstChild), r2;\n }\n update(t2) {\n var e2 = this.render();\n this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t2), this._$Dt = x(e2, this.renderRoot, this.renderOptions);\n }\n connectedCallback() {\n var t2;\n super.connectedCallback(), null === (t2 = this._$Dt) || void 0 === t2 || t2.setConnected(true);\n }\n disconnectedCallback() {\n var t2;\n super.disconnectedCallback(), null === (t2 = this._$Dt) || void 0 === t2 || t2.setConnected(false);\n }\n render() {\n return b;\n }\n};\ns.finalized = true, s._$litElement$ = true, null === (l$1 = globalThis.litElementHydrateSupport) || void 0 === l$1 || l$1.call(globalThis, { LitElement: s });\nvar n$2 = globalThis.litElementPolyfillSupport;\nnull == n$2 || n$2({ LitElement: s });\nvar h = { _$AK: (t2, e2, r2) => {\n t2._$AK(e2, r2);\n}, _$AL: (t2) => t2._$AL };\n(null !== (o$2 = globalThis.litElementVersions) && void 0 !== o$2 ? o$2 : globalThis.litElementVersions = []).push(\"3.1.2\");\nvar n$1 = (t2) => (e2) => \"function\" == typeof e2 ? ((t3, e3) => (window.customElements.define(t3, e3), e3))(t2, e2) : ((t3, e3) => {\n var { kind: r2, elements: i2 } = e3;\n return { kind: r2, elements: i2, finisher(e4) {\n window.customElements.define(t3, e4);\n } };\n})(t2, e2);\nvar i$1 = (t2, e2) => \"method\" === e2.kind && e2.descriptor && !(\"value\" in e2.descriptor) ? _objectSpread2(_objectSpread2({}, e2), {}, { finisher(r2) {\n r2.createProperty(e2.key, t2);\n} }) : { kind: \"field\", key: Symbol(), placement: \"own\", descriptor: {}, originalKey: e2.key, initializer() {\n \"function\" == typeof e2.initializer && (this[e2.key] = e2.initializer.call(this));\n}, finisher(r2) {\n r2.createProperty(e2.key, t2);\n} };\nfunction e$5(t2) {\n return (e2, r2) => void 0 !== r2 ? ((t3, e3, r3) => {\n e3.constructor.createProperty(r3, t3);\n })(t2, e2, r2) : i$1(t2, e2);\n}\nfunction t$1(t2) {\n return e$5(_objectSpread2(_objectSpread2({}, t2), {}, { state: true }));\n}\nvar e$4 = (t2, e2, r2) => {\n Object.defineProperty(e2, r2, t2);\n};\nvar t = (t2, e2) => ({ kind: \"method\", placement: \"prototype\", key: e2.key, descriptor: t2 });\nvar o$1 = (t2) => {\n var { finisher: e2, descriptor: r2 } = t2;\n return (t3, i2) => {\n var s2;\n if (void 0 === i2) {\n var a2 = null !== (s2 = t3.originalKey) && void 0 !== s2 ? s2 : t3.key, n2 = null != r2 ? { kind: \"method\", placement: \"prototype\", key: a2, descriptor: r2(t3.key) } : _objectSpread2(_objectSpread2({}, t3), {}, { key: a2 });\n return null != e2 && (n2.finisher = function(t4) {\n e2(t4, a2);\n }), n2;\n }\n var o2 = t3.constructor;\n void 0 !== r2 && Object.defineProperty(t3, i2, r2(i2)), null == e2 || e2(o2, i2);\n };\n};\nvar n;\nfunction e$3(t2) {\n return o$1({ finisher: (e2, r2) => {\n Object.assign(e2.prototype[r2], t2);\n } });\n}\nfunction i(t2, e2) {\n return o$1({ descriptor: (r2) => {\n var i2 = { get() {\n var e3, r3;\n return null !== (r3 = null === (e3 = this.renderRoot) || void 0 === e3 ? void 0 : e3.querySelector(t2)) && void 0 !== r3 ? r3 : null;\n }, enumerable: true, configurable: true };\n if (e2) {\n var s2 = \"symbol\" == typeof r2 ? Symbol() : \"__\" + r2;\n i2.get = function() {\n var e3, r3;\n return void 0 === this[s2] && (this[s2] = null !== (r3 = null === (e3 = this.renderRoot) || void 0 === e3 ? void 0 : e3.querySelector(t2)) && void 0 !== r3 ? r3 : null), this[s2];\n };\n }\n return i2;\n } });\n}\nfunction e$2(t2) {\n return o$1({ descriptor: (e2) => ({ get() {\n var e3, r2;\n return null !== (r2 = null === (e3 = this.renderRoot) || void 0 === e3 ? void 0 : e3.querySelectorAll(t2)) && void 0 !== r2 ? r2 : [];\n }, enumerable: true, configurable: true }) });\n}\nfunction e$1(t2) {\n return o$1({ descriptor: (e2) => ({ get() {\n var e3 = this;\n return _asyncToGenerator(function* () {\n var r2;\n return yield e3.updateComplete, null === (r2 = e3.renderRoot) || void 0 === r2 ? void 0 : r2.querySelector(t2);\n })();\n }, enumerable: true, configurable: true }) });\n}\nvar e = null != (null === (n = window.HTMLSlotElement) || void 0 === n ? void 0 : n.prototype.assignedElements) ? (t2, e2) => t2.assignedElements(e2) : (t2, e2) => t2.assignedNodes(e2).filter((t3) => t3.nodeType === Node.ELEMENT_NODE);\nfunction l(t2) {\n var { slot: r2, selector: i2 } = null != t2 ? t2 : {};\n return o$1({ descriptor: (s2) => ({ get() {\n var s3, a2 = \"slot\" + (r2 ? \"[name=\".concat(r2, \"]\") : \":not([name])\"), n2 = null === (s3 = this.renderRoot) || void 0 === s3 ? void 0 : s3.querySelector(a2), o2 = null != n2 ? e(n2, t2) : [];\n return i2 ? o2.filter((t3) => t3.matches(i2)) : o2;\n }, enumerable: true, configurable: true }) });\n}\nfunction o(t2, e2, r2) {\n var i2, s2 = t2;\n return \"object\" == typeof t2 ? (s2 = t2.slot, i2 = t2) : i2 = { flatten: e2 }, r2 ? l({ slot: s2, flatten: e2, selector: r2 }) : o$1({ descriptor: (t3) => ({ get() {\n var t4, e3, r3 = \"slot\" + (s2 ? \"[name=\".concat(s2, \"]\") : \":not([name])\"), a2 = null === (t4 = this.renderRoot) || void 0 === t4 ? void 0 : t4.querySelector(r3);\n return null !== (e3 = null == a2 ? void 0 : a2.assignedNodes(i2)) && void 0 !== e3 ? e3 : [];\n }, enumerable: true, configurable: true }) });\n}\nvar commonjsGlobal = \"undefined\" != typeof globalThis ? globalThis : \"undefined\" != typeof window ? window : \"undefined\" != typeof global ? global : \"undefined\" != typeof self ? self : {};\nfunction getDefaultExportFromCjs(t2) {\n return t2 && t2.__esModule && Object.prototype.hasOwnProperty.call(t2, \"default\") ? t2.default : t2;\n}\nfunction getDefaultExportFromNamespaceIfPresent(t2) {\n return t2 && Object.prototype.hasOwnProperty.call(t2, \"default\") ? t2.default : t2;\n}\nfunction getDefaultExportFromNamespaceIfNotNamed(t2) {\n return t2 && Object.prototype.hasOwnProperty.call(t2, \"default\") && 1 === Object.keys(t2).length ? t2.default : t2;\n}\nfunction getAugmentedNamespace(t2) {\n if (t2.__esModule) return t2;\n var e2 = Object.defineProperty({}, \"__esModule\", { value: true });\n return Object.keys(t2).forEach(function(r2) {\n var i2 = Object.getOwnPropertyDescriptor(t2, r2);\n Object.defineProperty(e2, r2, i2.get ? i2 : { enumerable: true, get: function() {\n return t2[r2];\n } });\n }), e2;\n}\nfunction commonjsRequire(t2) {\n throw new Error('Could not dynamically require \"' + t2 + '\". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');\n}\nvar lottie$1 = { exports: {} };\n(function(module, exports) {\n var factory;\n \"undefined\" != typeof navigator && (factory = function() {\n var svgNS = \"http://www.w3.org/2000/svg\", locationHref = \"\", _useWebWorker = false, initialDefaultFrame = -999999, setWebWorker = function(t2) {\n _useWebWorker = !!t2;\n }, getWebWorker = function() {\n return _useWebWorker;\n }, setLocationHref = function(t2) {\n locationHref = t2;\n }, getLocationHref = function() {\n return locationHref;\n };\n function createTag(t2) {\n return document.createElement(t2);\n }\n function extendPrototype(t2, e2) {\n var r2, i2, s2 = t2.length;\n for (r2 = 0; r2 < s2; r2 += 1) for (var a2 in i2 = t2[r2].prototype) Object.prototype.hasOwnProperty.call(i2, a2) && (e2.prototype[a2] = i2[a2]);\n }\n function getDescriptor(t2, e2) {\n return Object.getOwnPropertyDescriptor(t2, e2);\n }\n function createProxyFunction(t2) {\n function e2() {\n }\n return e2.prototype = t2, e2;\n }\n var audioControllerFactory = function() {\n function t2(t3) {\n this.audios = [], this.audioFactory = t3, this._volume = 1, this._isMuted = false;\n }\n return t2.prototype = { addAudio: function(t3) {\n this.audios.push(t3);\n }, pause: function() {\n var t3, e2 = this.audios.length;\n for (t3 = 0; t3 < e2; t3 += 1) this.audios[t3].pause();\n }, resume: function() {\n var t3, e2 = this.audios.length;\n for (t3 = 0; t3 < e2; t3 += 1) this.audios[t3].resume();\n }, setRate: function(t3) {\n var e2, r2 = this.audios.length;\n for (e2 = 0; e2 < r2; e2 += 1) this.audios[e2].setRate(t3);\n }, createAudio: function(t3) {\n return this.audioFactory ? this.audioFactory(t3) : window.Howl ? new window.Howl({ src: [t3] }) : { isPlaying: false, play: function() {\n this.isPlaying = true;\n }, seek: function() {\n this.isPlaying = false;\n }, playing: function() {\n }, rate: function() {\n }, setVolume: function() {\n } };\n }, setAudioFactory: function(t3) {\n this.audioFactory = t3;\n }, setVolume: function(t3) {\n this._volume = t3, this._updateVolume();\n }, mute: function() {\n this._isMuted = true, this._updateVolume();\n }, unmute: function() {\n this._isMuted = false, this._updateVolume();\n }, getVolume: function() {\n return this._volume;\n }, _updateVolume: function() {\n var t3, e2 = this.audios.length;\n for (t3 = 0; t3 < e2; t3 += 1) this.audios[t3].volume(this._volume * (this._isMuted ? 0 : 1));\n } }, function() {\n return new t2();\n };\n }(), createTypedArray = /* @__PURE__ */ function() {\n function t2(t3, e2) {\n var r2, i2 = 0, s2 = [];\n switch (t3) {\n case \"int16\":\n case \"uint8c\":\n r2 = 1;\n break;\n default:\n r2 = 1.1;\n }\n for (i2 = 0; i2 < e2; i2 += 1) s2.push(r2);\n return s2;\n }\n return \"function\" == typeof Uint8ClampedArray && \"function\" == typeof Float32Array ? function(e2, r2) {\n return \"float32\" === e2 ? new Float32Array(r2) : \"int16\" === e2 ? new Int16Array(r2) : \"uint8c\" === e2 ? new Uint8ClampedArray(r2) : t2(e2, r2);\n } : t2;\n }();\n function createSizedArray(t2) {\n return Array.apply(null, { length: t2 });\n }\n function _typeof$6(t2) {\n return _typeof$6 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(t3) {\n return typeof t3;\n } : function(t3) {\n return t3 && \"function\" == typeof Symbol && t3.constructor === Symbol && t3 !== Symbol.prototype ? \"symbol\" : typeof t3;\n }, _typeof$6(t2);\n }\n var subframeEnabled = true, expressionsPlugin = null, expressionsInterfaces = null, idPrefix$1 = \"\", isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent), _shouldRoundValues = false, bmPow = Math.pow, bmSqrt = Math.sqrt, bmFloor = Math.floor, bmMax = Math.max, bmMin = Math.min, BMMath = {};\n function ProjectInterface$1() {\n return {};\n }\n !function() {\n var t2, e2 = [\"abs\", \"acos\", \"acosh\", \"asin\", \"asinh\", \"atan\", \"atanh\", \"atan2\", \"ceil\", \"cbrt\", \"expm1\", \"clz32\", \"cos\", \"cosh\", \"exp\", \"floor\", \"fround\", \"hypot\", \"imul\", \"log\", \"log1p\", \"log2\", \"log10\", \"max\", \"min\", \"pow\", \"random\", \"round\", \"sign\", \"sin\", \"sinh\", \"sqrt\", \"tan\", \"tanh\", \"trunc\", \"E\", \"LN10\", \"LN2\", \"LOG10E\", \"LOG2E\", \"PI\", \"SQRT1_2\", \"SQRT2\"], r2 = e2.length;\n for (t2 = 0; t2 < r2; t2 += 1) BMMath[e2[t2]] = Math[e2[t2]];\n }(), BMMath.random = Math.random, BMMath.abs = function(t2) {\n if (\"object\" === _typeof$6(t2) && t2.length) {\n var e2, r2 = createSizedArray(t2.length), i2 = t2.length;\n for (e2 = 0; e2 < i2; e2 += 1) r2[e2] = Math.abs(t2[e2]);\n return r2;\n }\n return Math.abs(t2);\n };\n var defaultCurveSegments = 150, degToRads = Math.PI / 180, roundCorner = 0.5519;\n function roundValues(t2) {\n _shouldRoundValues = !!t2;\n }\n function bmRnd(t2) {\n return _shouldRoundValues ? Math.round(t2) : t2;\n }\n function styleDiv(t2) {\n t2.style.position = \"absolute\", t2.style.top = 0, t2.style.left = 0, t2.style.display = \"block\", t2.style.transformOrigin = \"0 0\", t2.style.webkitTransformOrigin = \"0 0\", t2.style.backfaceVisibility = \"visible\", t2.style.webkitBackfaceVisibility = \"visible\", t2.style.transformStyle = \"preserve-3d\", t2.style.webkitTransformStyle = \"preserve-3d\", t2.style.mozTransformStyle = \"preserve-3d\";\n }\n function BMEnterFrameEvent(t2, e2, r2, i2) {\n this.type = t2, this.currentTime = e2, this.totalTime = r2, this.direction = i2 < 0 ? -1 : 1;\n }\n function BMCompleteEvent(t2, e2) {\n this.type = t2, this.direction = e2 < 0 ? -1 : 1;\n }\n function BMCompleteLoopEvent(t2, e2, r2, i2) {\n this.type = t2, this.currentLoop = r2, this.totalLoops = e2, this.direction = i2 < 0 ? -1 : 1;\n }\n function BMSegmentStartEvent(t2, e2, r2) {\n this.type = t2, this.firstFrame = e2, this.totalFrames = r2;\n }\n function BMDestroyEvent(t2, e2) {\n this.type = t2, this.target = e2;\n }\n function BMRenderFrameErrorEvent(t2, e2) {\n this.type = \"renderFrameError\", this.nativeError = t2, this.currentTime = e2;\n }\n function BMConfigErrorEvent(t2) {\n this.type = \"configError\", this.nativeError = t2;\n }\n function BMAnimationConfigErrorEvent(t2, e2) {\n this.type = t2, this.nativeError = e2;\n }\n var createElementID = (_count = 0, function() {\n return idPrefix$1 + \"__lottie_element_\" + (_count += 1);\n }), _count;\n function HSVtoRGB(t2, e2, r2) {\n var i2, s2, a2, n2, o2, h2, l2, p2;\n switch (h2 = r2 * (1 - e2), l2 = r2 * (1 - (o2 = 6 * t2 - (n2 = Math.floor(6 * t2))) * e2), p2 = r2 * (1 - (1 - o2) * e2), n2 % 6) {\n case 0:\n i2 = r2, s2 = p2, a2 = h2;\n break;\n case 1:\n i2 = l2, s2 = r2, a2 = h2;\n break;\n case 2:\n i2 = h2, s2 = r2, a2 = p2;\n break;\n case 3:\n i2 = h2, s2 = l2, a2 = r2;\n break;\n case 4:\n i2 = p2, s2 = h2, a2 = r2;\n break;\n case 5:\n i2 = r2, s2 = h2, a2 = l2;\n }\n return [i2, s2, a2];\n }\n function RGBtoHSV(t2, e2, r2) {\n var i2, s2 = Math.max(t2, e2, r2), a2 = Math.min(t2, e2, r2), n2 = s2 - a2, o2 = 0 === s2 ? 0 : n2 / s2, h2 = s2 / 255;\n switch (s2) {\n case a2:\n i2 = 0;\n break;\n case t2:\n i2 = e2 - r2 + n2 * (e2 < r2 ? 6 : 0), i2 /= 6 * n2;\n break;\n case e2:\n i2 = r2 - t2 + 2 * n2, i2 /= 6 * n2;\n break;\n case r2:\n i2 = t2 - e2 + 4 * n2, i2 /= 6 * n2;\n }\n return [i2, o2, h2];\n }\n function addSaturationToRGB(t2, e2) {\n var r2 = RGBtoHSV(255 * t2[0], 255 * t2[1], 255 * t2[2]);\n return r2[1] += e2, r2[1] > 1 ? r2[1] = 1 : r2[1] <= 0 && (r2[1] = 0), HSVtoRGB(r2[0], r2[1], r2[2]);\n }\n function addBrightnessToRGB(t2, e2) {\n var r2 = RGBtoHSV(255 * t2[0], 255 * t2[1], 255 * t2[2]);\n return r2[2] += e2, r2[2] > 1 ? r2[2] = 1 : r2[2] < 0 && (r2[2] = 0), HSVtoRGB(r2[0], r2[1], r2[2]);\n }\n function addHueToRGB(t2, e2) {\n var r2 = RGBtoHSV(255 * t2[0], 255 * t2[1], 255 * t2[2]);\n return r2[0] += e2 / 360, r2[0] > 1 ? r2[0] -= 1 : r2[0] < 0 && (r2[0] += 1), HSVtoRGB(r2[0], r2[1], r2[2]);\n }\n var rgbToHex = function() {\n var t2, e2, r2 = [];\n for (t2 = 0; t2 < 256; t2 += 1) e2 = t2.toString(16), r2[t2] = 1 === e2.length ? \"0\" + e2 : e2;\n return function(t3, e3, i2) {\n return t3 < 0 && (t3 = 0), e3 < 0 && (e3 = 0), i2 < 0 && (i2 = 0), \"#\" + r2[t3] + r2[e3] + r2[i2];\n };\n }(), setSubframeEnabled = function(t2) {\n subframeEnabled = !!t2;\n }, getSubframeEnabled = function() {\n return subframeEnabled;\n }, setExpressionsPlugin = function(t2) {\n expressionsPlugin = t2;\n }, getExpressionsPlugin = function() {\n return expressionsPlugin;\n }, setExpressionInterfaces = function(t2) {\n expressionsInterfaces = t2;\n }, getExpressionInterfaces = function() {\n return expressionsInterfaces;\n }, setDefaultCurveSegments = function(t2) {\n defaultCurveSegments = t2;\n }, getDefaultCurveSegments = function() {\n return defaultCurveSegments;\n }, setIdPrefix = function(t2) {\n idPrefix$1 = t2;\n }, getIdPrefix = function() {\n return idPrefix$1;\n };\n function createNS(t2) {\n return document.createElementNS(svgNS, t2);\n }\n function _typeof$5(t2) {\n return _typeof$5 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(t3) {\n return typeof t3;\n } : function(t3) {\n return t3 && \"function\" == typeof Symbol && t3.constructor === Symbol && t3 !== Symbol.prototype ? \"symbol\" : typeof t3;\n }, _typeof$5(t2);\n }\n var dataManager = /* @__PURE__ */ function() {\n var t2, e2, r2 = 1, i2 = [], s2 = { onmessage: function() {\n }, postMessage: function(e3) {\n t2({ data: e3 });\n } }, _workerSelf = { postMessage: function(t3) {\n s2.onmessage({ data: t3 });\n } };\n function a2() {\n e2 || (e2 = function(e3) {\n if (window.Worker && window.Blob && getWebWorker()) {\n var r3 = new Blob([\"var _workerSelf = self; self.onmessage = \", e3.toString()], { type: \"text/javascript\" }), i3 = URL.createObjectURL(r3);\n return new Worker(i3);\n }\n return t2 = e3, s2;\n }(function(t3) {\n if (_workerSelf.dataManager || (_workerSelf.dataManager = function() {\n function t4(s4, a4) {\n var n4, o3, h3, l3, p3, f3, u2 = s4.length;\n for (o3 = 0; o3 < u2; o3 += 1) if (\"ks\" in (n4 = s4[o3]) && !n4.completed) {\n if (n4.completed = true, n4.hasMask) {\n var d2 = n4.masksProperties;\n for (l3 = d2.length, h3 = 0; h3 < l3; h3 += 1) if (d2[h3].pt.k.i) i3(d2[h3].pt.k);\n else for (f3 = d2[h3].pt.k.length, p3 = 0; p3 < f3; p3 += 1) d2[h3].pt.k[p3].s && i3(d2[h3].pt.k[p3].s[0]), d2[h3].pt.k[p3].e && i3(d2[h3].pt.k[p3].e[0]);\n }\n 0 === n4.ty ? (n4.layers = e4(n4.refId, a4), t4(n4.layers, a4)) : 4 === n4.ty ? r3(n4.shapes) : 5 === n4.ty && c2(n4);\n }\n }\n function e4(t5, e5) {\n var r4 = function(t6, e6) {\n for (var r5 = 0, i4 = e6.length; r5 < i4; ) {\n if (e6[r5].id === t6) return e6[r5];\n r5 += 1;\n }\n return null;\n }(t5, e5);\n return r4 ? r4.layers.__used ? JSON.parse(JSON.stringify(r4.layers)) : (r4.layers.__used = true, r4.layers) : null;\n }\n function r3(t5) {\n var e5, s4, a4;\n for (e5 = t5.length - 1; e5 >= 0; e5 -= 1) if (\"sh\" === t5[e5].ty) if (t5[e5].ks.k.i) i3(t5[e5].ks.k);\n else for (a4 = t5[e5].ks.k.length, s4 = 0; s4 < a4; s4 += 1) t5[e5].ks.k[s4].s && i3(t5[e5].ks.k[s4].s[0]), t5[e5].ks.k[s4].e && i3(t5[e5].ks.k[s4].e[0]);\n else \"gr\" === t5[e5].ty && r3(t5[e5].it);\n }\n function i3(t5) {\n var e5, r4 = t5.i.length;\n for (e5 = 0; e5 < r4; e5 += 1) t5.i[e5][0] += t5.v[e5][0], t5.i[e5][1] += t5.v[e5][1], t5.o[e5][0] += t5.v[e5][0], t5.o[e5][1] += t5.v[e5][1];\n }\n function s3(t5, e5) {\n var r4 = e5 ? e5.split(\".\") : [100, 100, 100];\n return t5[0] > r4[0] || !(r4[0] > t5[0]) && (t5[1] > r4[1] || !(r4[1] > t5[1]) && (t5[2] > r4[2] || !(r4[2] > t5[2]) && null));\n }\n var a3, n3 = /* @__PURE__ */ function() {\n var t5 = [4, 4, 14];\n function e5(t6) {\n var e6, r4, i4, s4 = t6.length;\n for (e6 = 0; e6 < s4; e6 += 1) 5 === t6[e6].ty && (i4 = void 0, i4 = (r4 = t6[e6]).t.d, r4.t.d = { k: [{ s: i4, t: 0 }] });\n }\n return function(r4) {\n if (s3(t5, r4.v) && (e5(r4.layers), r4.assets)) {\n var i4, a4 = r4.assets.length;\n for (i4 = 0; i4 < a4; i4 += 1) r4.assets[i4].layers && e5(r4.assets[i4].layers);\n }\n };\n }(), o2 = (a3 = [4, 7, 99], function(t5) {\n if (t5.chars && !s3(a3, t5.v)) {\n var e5, i4 = t5.chars.length;\n for (e5 = 0; e5 < i4; e5 += 1) {\n var n4 = t5.chars[e5];\n n4.data && n4.data.shapes && (r3(n4.data.shapes), n4.data.ip = 0, n4.data.op = 99999, n4.data.st = 0, n4.data.sr = 1, n4.data.ks = { p: { k: [0, 0], a: 0 }, s: { k: [100, 100], a: 0 }, a: { k: [0, 0], a: 0 }, r: { k: 0, a: 0 }, o: { k: 100, a: 0 } }, t5.chars[e5].t || (n4.data.shapes.push({ ty: \"no\" }), n4.data.shapes[0].it.push({ p: { k: [0, 0], a: 0 }, s: { k: [100, 100], a: 0 }, a: { k: [0, 0], a: 0 }, r: { k: 0, a: 0 }, o: { k: 100, a: 0 }, sk: { k: 0, a: 0 }, sa: { k: 0, a: 0 }, ty: \"tr\" })));\n }\n }\n }), h2 = /* @__PURE__ */ function() {\n var t5 = [5, 7, 15];\n function e5(t6) {\n var e6, r4, i4 = t6.length;\n for (e6 = 0; e6 < i4; e6 += 1) 5 === t6[e6].ty && (r4 = void 0, \"number\" == typeof (r4 = t6[e6].t.p).a && (r4.a = { a: 0, k: r4.a }), \"number\" == typeof r4.p && (r4.p = { a: 0, k: r4.p }), \"number\" == typeof r4.r && (r4.r = { a: 0, k: r4.r }));\n }\n return function(r4) {\n if (s3(t5, r4.v) && (e5(r4.layers), r4.assets)) {\n var i4, a4 = r4.assets.length;\n for (i4 = 0; i4 < a4; i4 += 1) r4.assets[i4].layers && e5(r4.assets[i4].layers);\n }\n };\n }(), l2 = /* @__PURE__ */ function() {\n var t5 = [4, 1, 9];\n function e5(t6) {\n var r5, i4, s4, a4 = t6.length;\n for (r5 = 0; r5 < a4; r5 += 1) if (\"gr\" === t6[r5].ty) e5(t6[r5].it);\n else if (\"fl\" === t6[r5].ty || \"st\" === t6[r5].ty) if (t6[r5].c.k && t6[r5].c.k[0].i) for (s4 = t6[r5].c.k.length, i4 = 0; i4 < s4; i4 += 1) t6[r5].c.k[i4].s && (t6[r5].c.k[i4].s[0] /= 255, t6[r5].c.k[i4].s[1] /= 255, t6[r5].c.k[i4].s[2] /= 255, t6[r5].c.k[i4].s[3] /= 255), t6[r5].c.k[i4].e && (t6[r5].c.k[i4].e[0] /= 255, t6[r5].c.k[i4].e[1] /= 255, t6[r5].c.k[i4].e[2] /= 255, t6[r5].c.k[i4].e[3] /= 255);\n else t6[r5].c.k[0] /= 255, t6[r5].c.k[1] /= 255, t6[r5].c.k[2] /= 255, t6[r5].c.k[3] /= 255;\n }\n function r4(t6) {\n var r5, i4 = t6.length;\n for (r5 = 0; r5 < i4; r5 += 1) 4 === t6[r5].ty && e5(t6[r5].shapes);\n }\n return function(e6) {\n if (s3(t5, e6.v) && (r4(e6.layers), e6.assets)) {\n var i4, a4 = e6.assets.length;\n for (i4 = 0; i4 < a4; i4 += 1) e6.assets[i4].layers && r4(e6.assets[i4].layers);\n }\n };\n }(), p2 = /* @__PURE__ */ function() {\n var t5 = [4, 4, 18];\n function e5(t6) {\n var r5, i4, s4;\n for (r5 = t6.length - 1; r5 >= 0; r5 -= 1) if (\"sh\" === t6[r5].ty) if (t6[r5].ks.k.i) t6[r5].ks.k.c = t6[r5].closed;\n else for (s4 = t6[r5].ks.k.length, i4 = 0; i4 < s4; i4 += 1) t6[r5].ks.k[i4].s && (t6[r5].ks.k[i4].s[0].c = t6[r5].closed), t6[r5].ks.k[i4].e && (t6[r5].ks.k[i4].e[0].c = t6[r5].closed);\n else \"gr\" === t6[r5].ty && e5(t6[r5].it);\n }\n function r4(t6) {\n var r5, i4, s4, a4, n4, o3, h3 = t6.length;\n for (i4 = 0; i4 < h3; i4 += 1) {\n if ((r5 = t6[i4]).hasMask) {\n var l3 = r5.masksProperties;\n for (a4 = l3.length, s4 = 0; s4 < a4; s4 += 1) if (l3[s4].pt.k.i) l3[s4].pt.k.c = l3[s4].cl;\n else for (o3 = l3[s4].pt.k.length, n4 = 0; n4 < o3; n4 += 1) l3[s4].pt.k[n4].s && (l3[s4].pt.k[n4].s[0].c = l3[s4].cl), l3[s4].pt.k[n4].e && (l3[s4].pt.k[n4].e[0].c = l3[s4].cl);\n }\n 4 === r5.ty && e5(r5.shapes);\n }\n }\n return function(e6) {\n if (s3(t5, e6.v) && (r4(e6.layers), e6.assets)) {\n var i4, a4 = e6.assets.length;\n for (i4 = 0; i4 < a4; i4 += 1) e6.assets[i4].layers && r4(e6.assets[i4].layers);\n }\n };\n }();\n function c2(t5) {\n 0 === t5.t.a.length && t5.t.p;\n }\n var f2 = { completeData: function(r4) {\n r4.__complete || (l2(r4), n3(r4), o2(r4), h2(r4), p2(r4), t4(r4.layers, r4.assets), function(r5, i4) {\n if (r5) {\n var s4 = 0, a4 = r5.length;\n for (s4 = 0; s4 < a4; s4 += 1) 1 === r5[s4].t && (r5[s4].data.layers = e4(r5[s4].data.refId, i4), t4(r5[s4].data.layers, i4));\n }\n }(r4.chars, r4.assets), r4.__complete = true);\n } };\n return f2.checkColors = l2, f2.checkChars = o2, f2.checkPathProperties = h2, f2.checkShapes = p2, f2.completeLayers = t4, f2;\n }()), _workerSelf.assetLoader || (_workerSelf.assetLoader = /* @__PURE__ */ function() {\n function t4(t5) {\n var e4 = t5.getResponseHeader(\"content-type\");\n return e4 && \"json\" === t5.responseType && -1 !== e4.indexOf(\"json\") || t5.response && \"object\" === _typeof$5(t5.response) ? t5.response : t5.response && \"string\" == typeof t5.response ? JSON.parse(t5.response) : t5.responseText ? JSON.parse(t5.responseText) : null;\n }\n return { load: function(e4, r3, i3, s3) {\n var a3, n3 = new XMLHttpRequest();\n try {\n n3.responseType = \"json\";\n } catch (t5) {\n }\n n3.onreadystatechange = function() {\n if (4 === n3.readyState) if (200 === n3.status) a3 = t4(n3), i3(a3);\n else try {\n a3 = t4(n3), i3(a3);\n } catch (t5) {\n s3 && s3(t5);\n }\n };\n try {\n n3.open([\"G\", \"E\", \"T\"].join(\"\"), e4, true);\n } catch (t5) {\n n3.open([\"G\", \"E\", \"T\"].join(\"\"), r3 + \"/\" + e4, true);\n }\n n3.send();\n } };\n }()), \"loadAnimation\" === t3.data.type) _workerSelf.assetLoader.load(t3.data.path, t3.data.fullPath, function(e4) {\n _workerSelf.dataManager.completeData(e4), _workerSelf.postMessage({ id: t3.data.id, payload: e4, status: \"success\" });\n }, function() {\n _workerSelf.postMessage({ id: t3.data.id, status: \"error\" });\n });\n else if (\"complete\" === t3.data.type) {\n var e3 = t3.data.animation;\n _workerSelf.dataManager.completeData(e3), _workerSelf.postMessage({ id: t3.data.id, payload: e3, status: \"success\" });\n } else \"loadData\" === t3.data.type && _workerSelf.assetLoader.load(t3.data.path, t3.data.fullPath, function(e4) {\n _workerSelf.postMessage({ id: t3.data.id, payload: e4, status: \"success\" });\n }, function() {\n _workerSelf.postMessage({ id: t3.data.id, status: \"error\" });\n });\n }), e2.onmessage = function(t3) {\n var e3 = t3.data, r3 = e3.id, s3 = i2[r3];\n i2[r3] = null, \"success\" === e3.status ? s3.onComplete(e3.payload) : s3.onError && s3.onError();\n });\n }\n function n2(t3, e3) {\n var s3 = \"processId_\" + (r2 += 1);\n return i2[s3] = { onComplete: t3, onError: e3 }, s3;\n }\n return { loadAnimation: function(t3, r3, i3) {\n a2();\n var s3 = n2(r3, i3);\n e2.postMessage({ type: \"loadAnimation\", path: t3, fullPath: window.location.origin + window.location.pathname, id: s3 });\n }, loadData: function(t3, r3, i3) {\n a2();\n var s3 = n2(r3, i3);\n e2.postMessage({ type: \"loadData\", path: t3, fullPath: window.location.origin + window.location.pathname, id: s3 });\n }, completeAnimation: function(t3, r3, i3) {\n a2();\n var s3 = n2(r3, i3);\n e2.postMessage({ type: \"complete\", animation: t3, id: s3 });\n } };\n }(), ImagePreloader = function() {\n var t2 = function() {\n var t3 = createTag(\"canvas\");\n t3.width = 1, t3.height = 1;\n var e3 = t3.getContext(\"2d\");\n return e3.fillStyle = \"rgba(0,0,0,0)\", e3.fillRect(0, 0, 1, 1), t3;\n }();\n function e2() {\n this.loadedAssets += 1, this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null);\n }\n function r2() {\n this.loadedFootagesCount += 1, this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null);\n }\n function i2(t3, e3, r3) {\n var i3 = \"\";\n if (t3.e) i3 = t3.p;\n else if (e3) {\n var s3 = t3.p;\n -1 !== s3.indexOf(\"images/\") && (s3 = s3.split(\"/\")[1]), i3 = e3 + s3;\n } else i3 = r3, i3 += t3.u ? t3.u : \"\", i3 += t3.p;\n return i3;\n }\n function s2(t3) {\n var e3 = 0, r3 = setInterval(function() {\n (t3.getBBox().width || e3 > 500) && (this._imageLoaded(), clearInterval(r3)), e3 += 1;\n }.bind(this), 50);\n }\n function a2(t3) {\n var e3 = { assetData: t3 }, r3 = i2(t3, this.assetsPath, this.path);\n return dataManager.loadData(r3, function(t4) {\n e3.img = t4, this._footageLoaded();\n }.bind(this), function() {\n e3.img = {}, this._footageLoaded();\n }.bind(this)), e3;\n }\n function n2() {\n this._imageLoaded = e2.bind(this), this._footageLoaded = r2.bind(this), this.testImageLoaded = s2.bind(this), this.createFootageData = a2.bind(this), this.assetsPath = \"\", this.path = \"\", this.totalImages = 0, this.totalFootages = 0, this.loadedAssets = 0, this.loadedFootagesCount = 0, this.imagesLoadedCb = null, this.images = [];\n }\n return n2.prototype = { loadAssets: function(t3, e3) {\n var r3;\n this.imagesLoadedCb = e3;\n var i3 = t3.length;\n for (r3 = 0; r3 < i3; r3 += 1) t3[r3].layers || (t3[r3].t && \"seq\" !== t3[r3].t ? 3 === t3[r3].t && (this.totalFootages += 1, this.images.push(this.createFootageData(t3[r3]))) : (this.totalImages += 1, this.images.push(this._createImageData(t3[r3]))));\n }, setAssetsPath: function(t3) {\n this.assetsPath = t3 || \"\";\n }, setPath: function(t3) {\n this.path = t3 || \"\";\n }, loadedImages: function() {\n return this.totalImages === this.loadedAssets;\n }, loadedFootages: function() {\n return this.totalFootages === this.loadedFootagesCount;\n }, destroy: function() {\n this.imagesLoadedCb = null, this.images.length = 0;\n }, getAsset: function(t3) {\n for (var e3 = 0, r3 = this.images.length; e3 < r3; ) {\n if (this.images[e3].assetData === t3) return this.images[e3].img;\n e3 += 1;\n }\n return null;\n }, createImgData: function(e3) {\n var r3 = i2(e3, this.assetsPath, this.path), s3 = createTag(\"img\");\n s3.crossOrigin = \"anonymous\", s3.addEventListener(\"load\", this._imageLoaded, false), s3.addEventListener(\"error\", function() {\n a3.img = t2, this._imageLoaded();\n }.bind(this), false), s3.src = r3;\n var a3 = { img: s3, assetData: e3 };\n return a3;\n }, createImageData: function(e3) {\n var r3 = i2(e3, this.assetsPath, this.path), s3 = createNS(\"image\");\n isSafari ? this.testImageLoaded(s3) : s3.addEventListener(\"load\", this._imageLoaded, false), s3.addEventListener(\"error\", function() {\n a3.img = t2, this._imageLoaded();\n }.bind(this), false), s3.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", r3), this._elementHelper.append ? this._elementHelper.append(s3) : this._elementHelper.appendChild(s3);\n var a3 = { img: s3, assetData: e3 };\n return a3;\n }, imageLoaded: e2, footageLoaded: r2, setCacheType: function(t3, e3) {\n \"svg\" === t3 ? (this._elementHelper = e3, this._createImageData = this.createImageData.bind(this)) : this._createImageData = this.createImgData.bind(this);\n } }, n2;\n }();\n function BaseEvent() {\n }\n BaseEvent.prototype = { triggerEvent: function(t2, e2) {\n if (this._cbs[t2]) for (var r2 = this._cbs[t2], i2 = 0; i2 < r2.length; i2 += 1) r2[i2](e2);\n }, addEventListener: function(t2, e2) {\n return this._cbs[t2] || (this._cbs[t2] = []), this._cbs[t2].push(e2), function() {\n this.removeEventListener(t2, e2);\n }.bind(this);\n }, removeEventListener: function(t2, e2) {\n if (e2) {\n if (this._cbs[t2]) {\n for (var r2 = 0, i2 = this._cbs[t2].length; r2 < i2; ) this._cbs[t2][r2] === e2 && (this._cbs[t2].splice(r2, 1), r2 -= 1, i2 -= 1), r2 += 1;\n this._cbs[t2].length || (this._cbs[t2] = null);\n }\n } else this._cbs[t2] = null;\n } };\n var markerParser = /* @__PURE__ */ function() {\n function t2(t3) {\n for (var e2, r2 = t3.split(\"\\r\\n\"), i2 = {}, s2 = 0, a2 = 0; a2 < r2.length; a2 += 1) 2 === (e2 = r2[a2].split(\":\")).length && (i2[e2[0]] = e2[1].trim(), s2 += 1);\n if (0 === s2) throw new Error();\n return i2;\n }\n return function(e2) {\n for (var r2 = [], i2 = 0; i2 < e2.length; i2 += 1) {\n var s2 = e2[i2], a2 = { time: s2.tm, duration: s2.dr };\n try {\n a2.payload = JSON.parse(e2[i2].cm);\n } catch (r3) {\n try {\n a2.payload = t2(e2[i2].cm);\n } catch (t3) {\n a2.payload = { name: e2[i2].cm };\n }\n }\n r2.push(a2);\n }\n return r2;\n };\n }(), ProjectInterface = /* @__PURE__ */ function() {\n function t2(t3) {\n this.compositions.push(t3);\n }\n return function() {\n function e2(t3) {\n for (var e3 = 0, r2 = this.compositions.length; e3 < r2; ) {\n if (this.compositions[e3].data && this.compositions[e3].data.nm === t3) return this.compositions[e3].prepareFrame && this.compositions[e3].data.xt && this.compositions[e3].prepareFrame(this.currentFrame), this.compositions[e3].compInterface;\n e3 += 1;\n }\n return null;\n }\n return e2.compositions = [], e2.currentFrame = 0, e2.registerComposition = t2, e2;\n };\n }(), renderers = {}, registerRenderer = function(t2, e2) {\n renderers[t2] = e2;\n };\n function getRenderer(t2) {\n return renderers[t2];\n }\n function getRegisteredRenderer() {\n if (renderers.canvas) return \"canvas\";\n for (var t2 in renderers) if (renderers[t2]) return t2;\n return \"\";\n }\n function _typeof$4(t2) {\n return _typeof$4 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(t3) {\n return typeof t3;\n } : function(t3) {\n return t3 && \"function\" == typeof Symbol && t3.constructor === Symbol && t3 !== Symbol.prototype ? \"symbol\" : typeof t3;\n }, _typeof$4(t2);\n }\n var AnimationItem = function() {\n this._cbs = [], this.name = \"\", this.path = \"\", this.isLoaded = false, this.currentFrame = 0, this.currentRawFrame = 0, this.firstFrame = 0, this.totalFrames = 0, this.frameRate = 0, this.frameMult = 0, this.playSpeed = 1, this.playDirection = 1, this.playCount = 0, this.animationData = {}, this.assets = [], this.isPaused = true, this.autoplay = false, this.loop = true, this.renderer = null, this.animationID = createElementID(), this.assetsPath = \"\", this.timeCompleted = 0, this.segmentPos = 0, this.isSubframeEnabled = getSubframeEnabled(), this.segments = [], this._idle = true, this._completedLoop = false, this.projectInterface = ProjectInterface(), this.imagePreloader = new ImagePreloader(), this.audioController = audioControllerFactory(), this.markers = [], this.configAnimation = this.configAnimation.bind(this), this.onSetupError = this.onSetupError.bind(this), this.onSegmentComplete = this.onSegmentComplete.bind(this), this.drawnFrameEvent = new BMEnterFrameEvent(\"drawnFrame\", 0, 0, 0), this.expressionsPlugin = getExpressionsPlugin();\n };\n extendPrototype([BaseEvent], AnimationItem), AnimationItem.prototype.setParams = function(t2) {\n (t2.wrapper || t2.container) && (this.wrapper = t2.wrapper || t2.container);\n var e2 = \"svg\";\n t2.animType ? e2 = t2.animType : t2.renderer && (e2 = t2.renderer);\n var r2 = getRenderer(e2);\n this.renderer = new r2(this, t2.rendererSettings), this.imagePreloader.setCacheType(e2, this.renderer.globalData.defs), this.renderer.setProjectInterface(this.projectInterface), this.animType = e2, \"\" === t2.loop || null === t2.loop || void 0 === t2.loop || true === t2.loop ? this.loop = true : false === t2.loop ? this.loop = false : this.loop = parseInt(t2.loop, 10), this.autoplay = !(\"autoplay\" in t2) || t2.autoplay, this.name = t2.name ? t2.name : \"\", this.autoloadSegments = !Object.prototype.hasOwnProperty.call(t2, \"autoloadSegments\") || t2.autoloadSegments, this.assetsPath = t2.assetsPath, this.initialSegment = t2.initialSegment, t2.audioFactory && this.audioController.setAudioFactory(t2.audioFactory), t2.animationData ? this.setupAnimation(t2.animationData) : t2.path && (-1 !== t2.path.lastIndexOf(\"\\\\\") ? this.path = t2.path.substr(0, t2.path.lastIndexOf(\"\\\\\") + 1) : this.path = t2.path.substr(0, t2.path.lastIndexOf(\"/\") + 1), this.fileName = t2.path.substr(t2.path.lastIndexOf(\"/\") + 1), this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf(\".json\")), dataManager.loadAnimation(t2.path, this.configAnimation, this.onSetupError));\n }, AnimationItem.prototype.onSetupError = function() {\n this.trigger(\"data_failed\");\n }, AnimationItem.prototype.setupAnimation = function(t2) {\n dataManager.completeAnimation(t2, this.configAnimation);\n }, AnimationItem.prototype.setData = function(t2, e2) {\n e2 && \"object\" !== _typeof$4(e2) && (e2 = JSON.parse(e2));\n var r2 = { wrapper: t2, animationData: e2 }, i2 = t2.attributes;\n r2.path = i2.getNamedItem(\"data-animation-path\") ? i2.getNamedItem(\"data-animation-path\").value : i2.getNamedItem(\"data-bm-path\") ? i2.getNamedItem(\"data-bm-path\").value : i2.getNamedItem(\"bm-path\") ? i2.getNamedItem(\"bm-path\").value : \"\", r2.animType = i2.getNamedItem(\"data-anim-type\") ? i2.getNamedItem(\"data-anim-type\").value : i2.getNamedItem(\"data-bm-type\") ? i2.getNamedItem(\"data-bm-type\").value : i2.getNamedItem(\"bm-type\") ? i2.getNamedItem(\"bm-type\").value : i2.getNamedItem(\"data-bm-renderer\") ? i2.getNamedItem(\"data-bm-renderer\").value : i2.getNamedItem(\"bm-renderer\") ? i2.getNamedItem(\"bm-renderer\").value : getRegisteredRenderer() || \"canvas\";\n var s2 = i2.getNamedItem(\"data-anim-loop\") ? i2.getNamedItem(\"data-anim-loop\").value : i2.getNamedItem(\"data-bm-loop\") ? i2.getNamedItem(\"data-bm-loop\").value : i2.getNamedItem(\"bm-loop\") ? i2.getNamedItem(\"bm-loop\").value : \"\";\n \"false\" === s2 ? r2.loop = false : \"true\" === s2 ? r2.loop = true : \"\" !== s2 && (r2.loop = parseInt(s2, 10));\n var a2 = i2.getNamedItem(\"data-anim-autoplay\") ? i2.getNamedItem(\"data-anim-autoplay\").value : i2.getNamedItem(\"data-bm-autoplay\") ? i2.getNamedItem(\"data-bm-autoplay\").value : !i2.getNamedItem(\"bm-autoplay\") || i2.getNamedItem(\"bm-autoplay\").value;\n r2.autoplay = \"false\" !== a2, r2.name = i2.getNamedItem(\"data-name\") ? i2.getNamedItem(\"data-name\").value : i2.getNamedItem(\"data-bm-name\") ? i2.getNamedItem(\"data-bm-name\").value : i2.getNamedItem(\"bm-name\") ? i2.getNamedItem(\"bm-name\").value : \"\", \"false\" === (i2.getNamedItem(\"data-anim-prerender\") ? i2.getNamedItem(\"data-anim-prerender\").value : i2.getNamedItem(\"data-bm-prerender\") ? i2.getNamedItem(\"data-bm-prerender\").value : i2.getNamedItem(\"bm-prerender\") ? i2.getNamedItem(\"bm-prerender\").value : \"\") && (r2.prerender = false), r2.path ? this.setParams(r2) : this.trigger(\"destroy\");\n }, AnimationItem.prototype.includeLayers = function(t2) {\n t2.op > this.animationData.op && (this.animationData.op = t2.op, this.totalFrames = Math.floor(t2.op - this.animationData.ip));\n var e2, r2, i2 = this.animationData.layers, s2 = i2.length, a2 = t2.layers, n2 = a2.length;\n for (r2 = 0; r2 < n2; r2 += 1) for (e2 = 0; e2 < s2; ) {\n if (i2[e2].id === a2[r2].id) {\n i2[e2] = a2[r2];\n break;\n }\n e2 += 1;\n }\n if ((t2.chars || t2.fonts) && (this.renderer.globalData.fontManager.addChars(t2.chars), this.renderer.globalData.fontManager.addFonts(t2.fonts, this.renderer.globalData.defs)), t2.assets) for (s2 = t2.assets.length, e2 = 0; e2 < s2; e2 += 1) this.animationData.assets.push(t2.assets[e2]);\n this.animationData.__complete = false, dataManager.completeAnimation(this.animationData, this.onSegmentComplete);\n }, AnimationItem.prototype.onSegmentComplete = function(t2) {\n this.animationData = t2;\n var e2 = getExpressionsPlugin();\n e2 && e2.initExpressions(this), this.loadNextSegment();\n }, AnimationItem.prototype.loadNextSegment = function() {\n var t2 = this.animationData.segments;\n if (!t2 || 0 === t2.length || !this.autoloadSegments) return this.trigger(\"data_ready\"), void (this.timeCompleted = this.totalFrames);\n var e2 = t2.shift();\n this.timeCompleted = e2.time * this.frameRate;\n var r2 = this.path + this.fileName + \"_\" + this.segmentPos + \".json\";\n this.segmentPos += 1, dataManager.loadData(r2, this.includeLayers.bind(this), function() {\n this.trigger(\"data_failed\");\n }.bind(this));\n }, AnimationItem.prototype.loadSegments = function() {\n this.animationData.segments || (this.timeCompleted = this.totalFrames), this.loadNextSegment();\n }, AnimationItem.prototype.imagesLoaded = function() {\n this.trigger(\"loaded_images\"), this.checkLoaded();\n }, AnimationItem.prototype.preloadImages = function() {\n this.imagePreloader.setAssetsPath(this.assetsPath), this.imagePreloader.setPath(this.path), this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));\n }, AnimationItem.prototype.configAnimation = function(t2) {\n if (this.renderer) try {\n this.animationData = t2, this.initialSegment ? (this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]), this.firstFrame = Math.round(this.initialSegment[0])) : (this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip), this.firstFrame = Math.round(this.animationData.ip)), this.renderer.configAnimation(t2), t2.assets || (t2.assets = []), this.assets = this.animationData.assets, this.frameRate = this.animationData.fr, this.frameMult = this.animationData.fr / 1e3, this.renderer.searchExtraCompositions(t2.assets), this.markers = markerParser(t2.markers || []), this.trigger(\"config_ready\"), this.preloadImages(), this.loadSegments(), this.updaFrameModifier(), this.waitForFontsLoaded(), this.isPaused && this.audioController.pause();\n } catch (t3) {\n this.triggerConfigError(t3);\n }\n }, AnimationItem.prototype.waitForFontsLoaded = function() {\n this.renderer && (this.renderer.globalData.fontManager.isLoaded ? this.checkLoaded() : setTimeout(this.waitForFontsLoaded.bind(this), 20));\n }, AnimationItem.prototype.checkLoaded = function() {\n if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || \"canvas\" !== this.renderer.rendererType) && this.imagePreloader.loadedFootages()) {\n this.isLoaded = true;\n var t2 = getExpressionsPlugin();\n t2 && t2.initExpressions(this), this.renderer.initItems(), setTimeout(function() {\n this.trigger(\"DOMLoaded\");\n }.bind(this), 0), this.gotoFrame(), this.autoplay && this.play();\n }\n }, AnimationItem.prototype.resize = function(t2, e2) {\n var r2 = \"number\" == typeof t2 ? t2 : void 0, i2 = \"number\" == typeof e2 ? e2 : void 0;\n this.renderer.updateContainerSize(r2, i2);\n }, AnimationItem.prototype.setSubframe = function(t2) {\n this.isSubframeEnabled = !!t2;\n }, AnimationItem.prototype.gotoFrame = function() {\n this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame, this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted && (this.currentFrame = this.timeCompleted), this.trigger(\"enterFrame\"), this.renderFrame(), this.trigger(\"drawnFrame\");\n }, AnimationItem.prototype.renderFrame = function() {\n if (false !== this.isLoaded && this.renderer) try {\n this.expressionsPlugin && this.expressionsPlugin.resetFrame(), this.renderer.renderFrame(this.currentFrame + this.firstFrame);\n } catch (t2) {\n this.triggerRenderFrameError(t2);\n }\n }, AnimationItem.prototype.play = function(t2) {\n t2 && this.name !== t2 || true === this.isPaused && (this.isPaused = false, this.trigger(\"_play\"), this.audioController.resume(), this._idle && (this._idle = false, this.trigger(\"_active\")));\n }, AnimationItem.prototype.pause = function(t2) {\n t2 && this.name !== t2 || false === this.isPaused && (this.isPaused = true, this.trigger(\"_pause\"), this._idle = true, this.trigger(\"_idle\"), this.audioController.pause());\n }, AnimationItem.prototype.togglePause = function(t2) {\n t2 && this.name !== t2 || (true === this.isPaused ? this.play() : this.pause());\n }, AnimationItem.prototype.stop = function(t2) {\n t2 && this.name !== t2 || (this.pause(), this.playCount = 0, this._completedLoop = false, this.setCurrentRawFrameValue(0));\n }, AnimationItem.prototype.getMarkerData = function(t2) {\n for (var e2, r2 = 0; r2 < this.markers.length; r2 += 1) if ((e2 = this.markers[r2]).payload && e2.payload.name === t2) return e2;\n return null;\n }, AnimationItem.prototype.goToAndStop = function(t2, e2, r2) {\n if (!r2 || this.name === r2) {\n var i2 = Number(t2);\n if (isNaN(i2)) {\n var s2 = this.getMarkerData(t2);\n s2 && this.goToAndStop(s2.time, true);\n } else e2 ? this.setCurrentRawFrameValue(t2) : this.setCurrentRawFrameValue(t2 * this.frameModifier);\n this.pause();\n }\n }, AnimationItem.prototype.goToAndPlay = function(t2, e2, r2) {\n if (!r2 || this.name === r2) {\n var i2 = Number(t2);\n if (isNaN(i2)) {\n var s2 = this.getMarkerData(t2);\n s2 && (s2.duration ? this.playSegments([s2.time, s2.time + s2.duration], true) : this.goToAndStop(s2.time, true));\n } else this.goToAndStop(i2, e2, r2);\n this.play();\n }\n }, AnimationItem.prototype.advanceTime = function(t2) {\n if (true !== this.isPaused && false !== this.isLoaded) {\n var e2 = this.currentRawFrame + t2 * this.frameModifier, r2 = false;\n e2 >= this.totalFrames - 1 && this.frameModifier > 0 ? this.loop && this.playCount !== this.loop ? e2 >= this.totalFrames ? (this.playCount += 1, this.checkSegments(e2 % this.totalFrames) || (this.setCurrentRawFrameValue(e2 % this.totalFrames), this._completedLoop = true, this.trigger(\"loopComplete\"))) : this.setCurrentRawFrameValue(e2) : this.checkSegments(e2 > this.totalFrames ? e2 % this.totalFrames : 0) || (r2 = true, e2 = this.totalFrames - 1) : e2 < 0 ? this.checkSegments(e2 % this.totalFrames) || (!this.loop || this.playCount-- <= 0 && true !== this.loop ? (r2 = true, e2 = 0) : (this.setCurrentRawFrameValue(this.totalFrames + e2 % this.totalFrames), this._completedLoop ? this.trigger(\"loopComplete\") : this._completedLoop = true)) : this.setCurrentRawFrameValue(e2), r2 && (this.setCurrentRawFrameValue(e2), this.pause(), this.trigger(\"complete\"));\n }\n }, AnimationItem.prototype.adjustSegment = function(t2, e2) {\n this.playCount = 0, t2[1] < t2[0] ? (this.frameModifier > 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(-1)), this.totalFrames = t2[0] - t2[1], this.timeCompleted = this.totalFrames, this.firstFrame = t2[1], this.setCurrentRawFrameValue(this.totalFrames - 1e-3 - e2)) : t2[1] > t2[0] && (this.frameModifier < 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(1)), this.totalFrames = t2[1] - t2[0], this.timeCompleted = this.totalFrames, this.firstFrame = t2[0], this.setCurrentRawFrameValue(1e-3 + e2)), this.trigger(\"segmentStart\");\n }, AnimationItem.prototype.setSegment = function(t2, e2) {\n var r2 = -1;\n this.isPaused && (this.currentRawFrame + this.firstFrame < t2 ? r2 = t2 : this.currentRawFrame + this.firstFrame > e2 && (r2 = e2 - t2)), this.firstFrame = t2, this.totalFrames = e2 - t2, this.timeCompleted = this.totalFrames, -1 !== r2 && this.goToAndStop(r2, true);\n }, AnimationItem.prototype.playSegments = function(t2, e2) {\n if (e2 && (this.segments.length = 0), \"object\" === _typeof$4(t2[0])) {\n var r2, i2 = t2.length;\n for (r2 = 0; r2 < i2; r2 += 1) this.segments.push(t2[r2]);\n } else this.segments.push(t2);\n this.segments.length && e2 && this.adjustSegment(this.segments.shift(), 0), this.isPaused && this.play();\n }, AnimationItem.prototype.resetSegments = function(t2) {\n this.segments.length = 0, this.segments.push([this.animationData.ip, this.animationData.op]), t2 && this.checkSegments(0);\n }, AnimationItem.prototype.checkSegments = function(t2) {\n return !!this.segments.length && (this.adjustSegment(this.segments.shift(), t2), true);\n }, AnimationItem.prototype.destroy = function(t2) {\n t2 && this.name !== t2 || !this.renderer || (this.renderer.destroy(), this.imagePreloader.destroy(), this.trigger(\"destroy\"), this._cbs = null, this.onEnterFrame = null, this.onLoopComplete = null, this.onComplete = null, this.onSegmentStart = null, this.onDestroy = null, this.renderer = null, this.expressionsPlugin = null, this.imagePreloader = null, this.projectInterface = null);\n }, AnimationItem.prototype.setCurrentRawFrameValue = function(t2) {\n this.currentRawFrame = t2, this.gotoFrame();\n }, AnimationItem.prototype.setSpeed = function(t2) {\n this.playSpeed = t2, this.updaFrameModifier();\n }, AnimationItem.prototype.setDirection = function(t2) {\n this.playDirection = t2 < 0 ? -1 : 1, this.updaFrameModifier();\n }, AnimationItem.prototype.setLoop = function(t2) {\n this.loop = t2;\n }, AnimationItem.prototype.setVolume = function(t2, e2) {\n e2 && this.name !== e2 || this.audioController.setVolume(t2);\n }, AnimationItem.prototype.getVolume = function() {\n return this.audioController.getVolume();\n }, AnimationItem.prototype.mute = function(t2) {\n t2 && this.name !== t2 || this.audioController.mute();\n }, AnimationItem.prototype.unmute = function(t2) {\n t2 && this.name !== t2 || this.audioController.unmute();\n }, AnimationItem.prototype.updaFrameModifier = function() {\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection, this.audioController.setRate(this.playSpeed * this.playDirection);\n }, AnimationItem.prototype.getPath = function() {\n return this.path;\n }, AnimationItem.prototype.getAssetsPath = function(t2) {\n var e2 = \"\";\n if (t2.e) e2 = t2.p;\n else if (this.assetsPath) {\n var r2 = t2.p;\n -1 !== r2.indexOf(\"images/\") && (r2 = r2.split(\"/\")[1]), e2 = this.assetsPath + r2;\n } else e2 = this.path, e2 += t2.u ? t2.u : \"\", e2 += t2.p;\n return e2;\n }, AnimationItem.prototype.getAssetData = function(t2) {\n for (var e2 = 0, r2 = this.assets.length; e2 < r2; ) {\n if (t2 === this.assets[e2].id) return this.assets[e2];\n e2 += 1;\n }\n return null;\n }, AnimationItem.prototype.hide = function() {\n this.renderer.hide();\n }, AnimationItem.prototype.show = function() {\n this.renderer.show();\n }, AnimationItem.prototype.getDuration = function(t2) {\n return t2 ? this.totalFrames : this.totalFrames / this.frameRate;\n }, AnimationItem.prototype.updateDocumentData = function(t2, e2, r2) {\n try {\n this.renderer.getElementByPath(t2).updateDocumentData(e2, r2);\n } catch (t3) {\n }\n }, AnimationItem.prototype.trigger = function(t2) {\n if (this._cbs && this._cbs[t2]) switch (t2) {\n case \"enterFrame\":\n this.triggerEvent(t2, new BMEnterFrameEvent(t2, this.currentFrame, this.totalFrames, this.frameModifier));\n break;\n case \"drawnFrame\":\n this.drawnFrameEvent.currentTime = this.currentFrame, this.drawnFrameEvent.totalTime = this.totalFrames, this.drawnFrameEvent.direction = this.frameModifier, this.triggerEvent(t2, this.drawnFrameEvent);\n break;\n case \"loopComplete\":\n this.triggerEvent(t2, new BMCompleteLoopEvent(t2, this.loop, this.playCount, this.frameMult));\n break;\n case \"complete\":\n this.triggerEvent(t2, new BMCompleteEvent(t2, this.frameMult));\n break;\n case \"segmentStart\":\n this.triggerEvent(t2, new BMSegmentStartEvent(t2, this.firstFrame, this.totalFrames));\n break;\n case \"destroy\":\n this.triggerEvent(t2, new BMDestroyEvent(t2, this));\n break;\n default:\n this.triggerEvent(t2);\n }\n \"enterFrame\" === t2 && this.onEnterFrame && this.onEnterFrame.call(this, new BMEnterFrameEvent(t2, this.currentFrame, this.totalFrames, this.frameMult)), \"loopComplete\" === t2 && this.onLoopComplete && this.onLoopComplete.call(this, new BMCompleteLoopEvent(t2, this.loop, this.playCount, this.frameMult)), \"complete\" === t2 && this.onComplete && this.onComplete.call(this, new BMCompleteEvent(t2, this.frameMult)), \"segmentStart\" === t2 && this.onSegmentStart && this.onSegmentStart.call(this, new BMSegmentStartEvent(t2, this.firstFrame, this.totalFrames)), \"destroy\" === t2 && this.onDestroy && this.onDestroy.call(this, new BMDestroyEvent(t2, this));\n }, AnimationItem.prototype.triggerRenderFrameError = function(t2) {\n var e2 = new BMRenderFrameErrorEvent(t2, this.currentFrame);\n this.triggerEvent(\"error\", e2), this.onError && this.onError.call(this, e2);\n }, AnimationItem.prototype.triggerConfigError = function(t2) {\n var e2 = new BMConfigErrorEvent(t2, this.currentFrame);\n this.triggerEvent(\"error\", e2), this.onError && this.onError.call(this, e2);\n };\n var animationManager = function() {\n var t2 = {}, e2 = [], r2 = 0, i2 = 0, s2 = 0, a2 = true, n2 = false;\n function o2(t3) {\n for (var r3 = 0, s3 = t3.target; r3 < i2; ) e2[r3].animation === s3 && (e2.splice(r3, 1), r3 -= 1, i2 -= 1, s3.isPaused || p2()), r3 += 1;\n }\n function h2(t3, r3) {\n if (!t3) return null;\n for (var s3 = 0; s3 < i2; ) {\n if (e2[s3].elem === t3 && null !== e2[s3].elem) return e2[s3].animation;\n s3 += 1;\n }\n var a3 = new AnimationItem();\n return c2(a3, t3), a3.setData(t3, r3), a3;\n }\n function l2() {\n s2 += 1, d2();\n }\n function p2() {\n s2 -= 1;\n }\n function c2(t3, r3) {\n t3.addEventListener(\"destroy\", o2), t3.addEventListener(\"_active\", l2), t3.addEventListener(\"_idle\", p2), e2.push({ elem: r3, animation: t3 }), i2 += 1;\n }\n function f2(t3) {\n var o3, h3 = t3 - r2;\n for (o3 = 0; o3 < i2; o3 += 1) e2[o3].animation.advanceTime(h3);\n r2 = t3, s2 && !n2 ? window.requestAnimationFrame(f2) : a2 = true;\n }\n function u2(t3) {\n r2 = t3, window.requestAnimationFrame(f2);\n }\n function d2() {\n !n2 && s2 && a2 && (window.requestAnimationFrame(u2), a2 = false);\n }\n return t2.registerAnimation = h2, t2.loadAnimation = function(t3) {\n var e3 = new AnimationItem();\n return c2(e3, null), e3.setParams(t3), e3;\n }, t2.setSpeed = function(t3, r3) {\n var s3;\n for (s3 = 0; s3 < i2; s3 += 1) e2[s3].animation.setSpeed(t3, r3);\n }, t2.setDirection = function(t3, r3) {\n var s3;\n for (s3 = 0; s3 < i2; s3 += 1) e2[s3].animation.setDirection(t3, r3);\n }, t2.play = function(t3) {\n var r3;\n for (r3 = 0; r3 < i2; r3 += 1) e2[r3].animation.play(t3);\n }, t2.pause = function(t3) {\n var r3;\n for (r3 = 0; r3 < i2; r3 += 1) e2[r3].animation.pause(t3);\n }, t2.stop = function(t3) {\n var r3;\n for (r3 = 0; r3 < i2; r3 += 1) e2[r3].animation.stop(t3);\n }, t2.togglePause = function(t3) {\n var r3;\n for (r3 = 0; r3 < i2; r3 += 1) e2[r3].animation.togglePause(t3);\n }, t2.searchAnimations = function(t3, e3, r3) {\n var i3, s3 = [].concat([].slice.call(document.getElementsByClassName(\"lottie\")), [].slice.call(document.getElementsByClassName(\"bodymovin\"))), a3 = s3.length;\n for (i3 = 0; i3 < a3; i3 += 1) r3 && s3[i3].setAttribute(\"data-bm-type\", r3), h2(s3[i3], t3);\n if (e3 && 0 === a3) {\n r3 || (r3 = \"svg\");\n var n3 = document.getElementsByTagName(\"body\")[0];\n n3.innerText = \"\";\n var o3 = createTag(\"div\");\n o3.style.width = \"100%\", o3.style.height = \"100%\", o3.setAttribute(\"data-bm-type\", r3), n3.appendChild(o3), h2(o3, t3);\n }\n }, t2.resize = function() {\n var t3;\n for (t3 = 0; t3 < i2; t3 += 1) e2[t3].animation.resize();\n }, t2.goToAndStop = function(t3, r3, s3) {\n var a3;\n for (a3 = 0; a3 < i2; a3 += 1) e2[a3].animation.goToAndStop(t3, r3, s3);\n }, t2.destroy = function(t3) {\n var r3;\n for (r3 = i2 - 1; r3 >= 0; r3 -= 1) e2[r3].animation.destroy(t3);\n }, t2.freeze = function() {\n n2 = true;\n }, t2.unfreeze = function() {\n n2 = false, d2();\n }, t2.setVolume = function(t3, r3) {\n var s3;\n for (s3 = 0; s3 < i2; s3 += 1) e2[s3].animation.setVolume(t3, r3);\n }, t2.mute = function(t3) {\n var r3;\n for (r3 = 0; r3 < i2; r3 += 1) e2[r3].animation.mute(t3);\n }, t2.unmute = function(t3) {\n var r3;\n for (r3 = 0; r3 < i2; r3 += 1) e2[r3].animation.unmute(t3);\n }, t2.getRegisteredAnimations = function() {\n var t3, r3 = e2.length, i3 = [];\n for (t3 = 0; t3 < r3; t3 += 1) i3.push(e2[t3].animation);\n return i3;\n }, t2;\n }(), BezierFactory = function() {\n var t2 = { getBezierEasing: function(t3, r3, i3, s3, a3) {\n var n3 = a3 || (\"bez_\" + t3 + \"_\" + r3 + \"_\" + i3 + \"_\" + s3).replace(/\\./g, \"p\");\n if (e2[n3]) return e2[n3];\n var o3 = new l2([t3, r3, i3, s3]);\n return e2[n3] = o3, o3;\n } }, e2 = {}, r2 = 0.1, i2 = \"function\" == typeof Float32Array;\n function s2(t3, e3) {\n return 1 - 3 * e3 + 3 * t3;\n }\n function a2(t3, e3) {\n return 3 * e3 - 6 * t3;\n }\n function n2(t3) {\n return 3 * t3;\n }\n function o2(t3, e3, r3) {\n return ((s2(e3, r3) * t3 + a2(e3, r3)) * t3 + n2(e3)) * t3;\n }\n function h2(t3, e3, r3) {\n return 3 * s2(e3, r3) * t3 * t3 + 2 * a2(e3, r3) * t3 + n2(e3);\n }\n function l2(t3) {\n this._p = t3, this._mSampleValues = i2 ? new Float32Array(11) : new Array(11), this._precomputed = false, this.get = this.get.bind(this);\n }\n return l2.prototype = { get: function(t3) {\n var e3 = this._p[0], r3 = this._p[1], i3 = this._p[2], s3 = this._p[3];\n return this._precomputed || this._precompute(), e3 === r3 && i3 === s3 ? t3 : 0 === t3 ? 0 : 1 === t3 ? 1 : o2(this._getTForX(t3), r3, s3);\n }, _precompute: function() {\n var t3 = this._p[0], e3 = this._p[1], r3 = this._p[2], i3 = this._p[3];\n this._precomputed = true, t3 === e3 && r3 === i3 || this._calcSampleValues();\n }, _calcSampleValues: function() {\n for (var t3 = this._p[0], e3 = this._p[2], i3 = 0; i3 < 11; ++i3) this._mSampleValues[i3] = o2(i3 * r2, t3, e3);\n }, _getTForX: function(t3) {\n for (var e3 = this._p[0], i3 = this._p[2], s3 = this._mSampleValues, a3 = 0, n3 = 1; 10 !== n3 && s3[n3] <= t3; ++n3) a3 += r2;\n var l3 = a3 + (t3 - s3[--n3]) / (s3[n3 + 1] - s3[n3]) * r2, p2 = h2(l3, e3, i3);\n return p2 >= 1e-3 ? function(t4, e4, r3, i4) {\n for (var s4 = 0; s4 < 4; ++s4) {\n var a4 = h2(e4, r3, i4);\n if (0 === a4) return e4;\n e4 -= (o2(e4, r3, i4) - t4) / a4;\n }\n return e4;\n }(t3, l3, e3, i3) : 0 === p2 ? l3 : function(t4, e4, r3, i4, s4) {\n var a4, n4, h3 = 0;\n do {\n (a4 = o2(n4 = e4 + (r3 - e4) / 2, i4, s4) - t4) > 0 ? r3 = n4 : e4 = n4;\n } while (Math.abs(a4) > 1e-7 && ++h3 < 10);\n return n4;\n }(t3, a3, a3 + r2, e3, i3);\n } }, t2;\n }(), pooling = { double: function(t2) {\n return t2.concat(createSizedArray(t2.length));\n } }, poolFactory = function(t2, e2, r2) {\n var i2 = 0, s2 = t2, a2 = createSizedArray(s2);\n return { newElement: function() {\n return i2 ? a2[i2 -= 1] : e2();\n }, release: function(t3) {\n i2 === s2 && (a2 = pooling.double(a2), s2 *= 2), r2 && r2(t3), a2[i2] = t3, i2 += 1;\n } };\n }, bezierLengthPool = poolFactory(8, function() {\n return { addedLength: 0, percents: createTypedArray(\"float32\", getDefaultCurveSegments()), lengths: createTypedArray(\"float32\", getDefaultCurveSegments()) };\n }), segmentsLengthPool = poolFactory(8, function() {\n return { lengths: [], totalLength: 0 };\n }, function(t2) {\n var e2, r2 = t2.lengths.length;\n for (e2 = 0; e2 < r2; e2 += 1) bezierLengthPool.release(t2.lengths[e2]);\n t2.lengths.length = 0;\n });\n function bezFunction() {\n var t2 = Math;\n function e2(t3, e3, r3, i3, s3, a3) {\n var n3 = t3 * i3 + e3 * s3 + r3 * a3 - s3 * i3 - a3 * t3 - r3 * e3;\n return n3 > -1e-3 && n3 < 1e-3;\n }\n var r2 = function(t3, e3, r3, i3) {\n var s3, a3, n3, o3, h3, l2, p2 = getDefaultCurveSegments(), c2 = 0, f2 = [], u2 = [], d2 = bezierLengthPool.newElement();\n for (n3 = r3.length, s3 = 0; s3 < p2; s3 += 1) {\n for (h3 = s3 / (p2 - 1), l2 = 0, a3 = 0; a3 < n3; a3 += 1) o3 = bmPow(1 - h3, 3) * t3[a3] + 3 * bmPow(1 - h3, 2) * h3 * r3[a3] + 3 * (1 - h3) * bmPow(h3, 2) * i3[a3] + bmPow(h3, 3) * e3[a3], f2[a3] = o3, null !== u2[a3] && (l2 += bmPow(f2[a3] - u2[a3], 2)), u2[a3] = f2[a3];\n l2 && (c2 += l2 = bmSqrt(l2)), d2.percents[s3] = h3, d2.lengths[s3] = c2;\n }\n return d2.addedLength = c2, d2;\n };\n function i2(t3) {\n this.segmentLength = 0, this.points = new Array(t3);\n }\n function s2(t3, e3) {\n this.partialLength = t3, this.point = e3;\n }\n var a2, n2 = (a2 = {}, function(t3, r3, n3, o3) {\n var h3 = (t3[0] + \"_\" + t3[1] + \"_\" + r3[0] + \"_\" + r3[1] + \"_\" + n3[0] + \"_\" + n3[1] + \"_\" + o3[0] + \"_\" + o3[1]).replace(/\\./g, \"p\");\n if (!a2[h3]) {\n var l2, p2, c2, f2, u2, d2, m2, y2 = getDefaultCurveSegments(), g2 = 0, v2 = null;\n 2 === t3.length && (t3[0] !== r3[0] || t3[1] !== r3[1]) && e2(t3[0], t3[1], r3[0], r3[1], t3[0] + n3[0], t3[1] + n3[1]) && e2(t3[0], t3[1], r3[0], r3[1], r3[0] + o3[0], r3[1] + o3[1]) && (y2 = 2);\n var b2 = new i2(y2);\n for (c2 = n3.length, l2 = 0; l2 < y2; l2 += 1) {\n for (m2 = createSizedArray(c2), u2 = l2 / (y2 - 1), d2 = 0, p2 = 0; p2 < c2; p2 += 1) f2 = bmPow(1 - u2, 3) * t3[p2] + 3 * bmPow(1 - u2, 2) * u2 * (t3[p2] + n3[p2]) + 3 * (1 - u2) * bmPow(u2, 2) * (r3[p2] + o3[p2]) + bmPow(u2, 3) * r3[p2], m2[p2] = f2, null !== v2 && (d2 += bmPow(m2[p2] - v2[p2], 2));\n g2 += d2 = bmSqrt(d2), b2.points[l2] = new s2(d2, m2), v2 = m2;\n }\n b2.segmentLength = g2, a2[h3] = b2;\n }\n return a2[h3];\n });\n function o2(t3, e3) {\n var r3 = e3.percents, i3 = e3.lengths, s3 = r3.length, a3 = bmFloor((s3 - 1) * t3), n3 = t3 * e3.addedLength, o3 = 0;\n if (a3 === s3 - 1 || 0 === a3 || n3 === i3[a3]) return r3[a3];\n for (var h3 = i3[a3] > n3 ? -1 : 1, l2 = true; l2; ) if (i3[a3] <= n3 && i3[a3 + 1] > n3 ? (o3 = (n3 - i3[a3]) / (i3[a3 + 1] - i3[a3]), l2 = false) : a3 += h3, a3 < 0 || a3 >= s3 - 1) {\n if (a3 === s3 - 1) return r3[a3];\n l2 = false;\n }\n return r3[a3] + (r3[a3 + 1] - r3[a3]) * o3;\n }\n var h2 = createTypedArray(\"float32\", 8);\n return { getSegmentsLength: function(t3) {\n var e3, i3 = segmentsLengthPool.newElement(), s3 = t3.c, a3 = t3.v, n3 = t3.o, o3 = t3.i, h3 = t3._length, l2 = i3.lengths, p2 = 0;\n for (e3 = 0; e3 < h3 - 1; e3 += 1) l2[e3] = r2(a3[e3], a3[e3 + 1], n3[e3], o3[e3 + 1]), p2 += l2[e3].addedLength;\n return s3 && h3 && (l2[e3] = r2(a3[e3], a3[0], n3[e3], o3[0]), p2 += l2[e3].addedLength), i3.totalLength = p2, i3;\n }, getNewSegment: function(e3, r3, i3, s3, a3, n3, l2) {\n a3 < 0 ? a3 = 0 : a3 > 1 && (a3 = 1);\n var p2, c2 = o2(a3, l2), f2 = o2(n3 = n3 > 1 ? 1 : n3, l2), u2 = e3.length, d2 = 1 - c2, m2 = 1 - f2, y2 = d2 * d2 * d2, g2 = c2 * d2 * d2 * 3, v2 = c2 * c2 * d2 * 3, b2 = c2 * c2 * c2, _2 = d2 * d2 * m2, P2 = c2 * d2 * m2 + d2 * c2 * m2 + d2 * d2 * f2, S2 = c2 * c2 * m2 + d2 * c2 * f2 + c2 * d2 * f2, E2 = c2 * c2 * f2, x2 = d2 * m2 * m2, C2 = c2 * m2 * m2 + d2 * f2 * m2 + d2 * m2 * f2, A2 = c2 * f2 * m2 + d2 * f2 * f2 + c2 * m2 * f2, w2 = c2 * f2 * f2, k2 = m2 * m2 * m2, T2 = f2 * m2 * m2 + m2 * f2 * m2 + m2 * m2 * f2, M2 = f2 * f2 * m2 + m2 * f2 * f2 + f2 * m2 * f2, D = f2 * f2 * f2;\n for (p2 = 0; p2 < u2; p2 += 1) h2[4 * p2] = t2.round(1e3 * (y2 * e3[p2] + g2 * i3[p2] + v2 * s3[p2] + b2 * r3[p2])) / 1e3, h2[4 * p2 + 1] = t2.round(1e3 * (_2 * e3[p2] + P2 * i3[p2] + S2 * s3[p2] + E2 * r3[p2])) / 1e3, h2[4 * p2 + 2] = t2.round(1e3 * (x2 * e3[p2] + C2 * i3[p2] + A2 * s3[p2] + w2 * r3[p2])) / 1e3, h2[4 * p2 + 3] = t2.round(1e3 * (k2 * e3[p2] + T2 * i3[p2] + M2 * s3[p2] + D * r3[p2])) / 1e3;\n return h2;\n }, getPointInSegment: function(e3, r3, i3, s3, a3, n3) {\n var h3 = o2(a3, n3), l2 = 1 - h3;\n return [t2.round(1e3 * (l2 * l2 * l2 * e3[0] + (h3 * l2 * l2 + l2 * h3 * l2 + l2 * l2 * h3) * i3[0] + (h3 * h3 * l2 + l2 * h3 * h3 + h3 * l2 * h3) * s3[0] + h3 * h3 * h3 * r3[0])) / 1e3, t2.round(1e3 * (l2 * l2 * l2 * e3[1] + (h3 * l2 * l2 + l2 * h3 * l2 + l2 * l2 * h3) * i3[1] + (h3 * h3 * l2 + l2 * h3 * h3 + h3 * l2 * h3) * s3[1] + h3 * h3 * h3 * r3[1])) / 1e3];\n }, buildBezierData: n2, pointOnLine2D: e2, pointOnLine3D: function(r3, i3, s3, a3, n3, o3, h3, l2, p2) {\n if (0 === s3 && 0 === o3 && 0 === p2) return e2(r3, i3, a3, n3, h3, l2);\n var c2, f2 = t2.sqrt(t2.pow(a3 - r3, 2) + t2.pow(n3 - i3, 2) + t2.pow(o3 - s3, 2)), u2 = t2.sqrt(t2.pow(h3 - r3, 2) + t2.pow(l2 - i3, 2) + t2.pow(p2 - s3, 2)), d2 = t2.sqrt(t2.pow(h3 - a3, 2) + t2.pow(l2 - n3, 2) + t2.pow(p2 - o3, 2));\n return (c2 = f2 > u2 ? f2 > d2 ? f2 - u2 - d2 : d2 - u2 - f2 : d2 > u2 ? d2 - u2 - f2 : u2 - f2 - d2) > -1e-4 && c2 < 1e-4;\n } };\n }\n var bez = bezFunction(), initFrame = initialDefaultFrame, mathAbs = Math.abs;\n function interpolateValue(t2, e2) {\n var r2, i2 = this.offsetTime;\n \"multidimensional\" === this.propType && (r2 = createTypedArray(\"float32\", this.pv.length));\n for (var s2, a2, n2, o2, h2, l2, p2, c2, f2, u2 = e2.lastIndex, d2 = u2, m2 = this.keyframes.length - 1, y2 = true; y2; ) {\n if (s2 = this.keyframes[d2], a2 = this.keyframes[d2 + 1], d2 === m2 - 1 && t2 >= a2.t - i2) {\n s2.h && (s2 = a2), u2 = 0;\n break;\n }\n if (a2.t - i2 > t2) {\n u2 = d2;\n break;\n }\n d2 < m2 - 1 ? d2 += 1 : (u2 = 0, y2 = false);\n }\n n2 = this.keyframesMetadata[d2] || {};\n var g2, v2 = a2.t - i2, b2 = s2.t - i2;\n if (s2.to) {\n n2.bezierData || (n2.bezierData = bez.buildBezierData(s2.s, a2.s || s2.e, s2.to, s2.ti));\n var _2 = n2.bezierData;\n if (t2 >= v2 || t2 < b2) {\n var P2 = t2 >= v2 ? _2.points.length - 1 : 0;\n for (h2 = _2.points[P2].point.length, o2 = 0; o2 < h2; o2 += 1) r2[o2] = _2.points[P2].point[o2];\n } else {\n n2.__fnct ? f2 = n2.__fnct : (f2 = BezierFactory.getBezierEasing(s2.o.x, s2.o.y, s2.i.x, s2.i.y, s2.n).get, n2.__fnct = f2), l2 = f2((t2 - b2) / (v2 - b2));\n var S2, E2 = _2.segmentLength * l2, x2 = e2.lastFrame < t2 && e2._lastKeyframeIndex === d2 ? e2._lastAddedLength : 0;\n for (c2 = e2.lastFrame < t2 && e2._lastKeyframeIndex === d2 ? e2._lastPoint : 0, y2 = true, p2 = _2.points.length; y2; ) {\n if (x2 += _2.points[c2].partialLength, 0 === E2 || 0 === l2 || c2 === _2.points.length - 1) {\n for (h2 = _2.points[c2].point.length, o2 = 0; o2 < h2; o2 += 1) r2[o2] = _2.points[c2].point[o2];\n break;\n }\n if (E2 >= x2 && E2 < x2 + _2.points[c2 + 1].partialLength) {\n for (S2 = (E2 - x2) / _2.points[c2 + 1].partialLength, h2 = _2.points[c2].point.length, o2 = 0; o2 < h2; o2 += 1) r2[o2] = _2.points[c2].point[o2] + (_2.points[c2 + 1].point[o2] - _2.points[c2].point[o2]) * S2;\n break;\n }\n c2 < p2 - 1 ? c2 += 1 : y2 = false;\n }\n e2._lastPoint = c2, e2._lastAddedLength = x2 - _2.points[c2].partialLength, e2._lastKeyframeIndex = d2;\n }\n } else {\n var C2, A2, w2, k2, T2;\n if (m2 = s2.s.length, g2 = a2.s || s2.e, this.sh && 1 !== s2.h) t2 >= v2 ? (r2[0] = g2[0], r2[1] = g2[1], r2[2] = g2[2]) : t2 <= b2 ? (r2[0] = s2.s[0], r2[1] = s2.s[1], r2[2] = s2.s[2]) : quaternionToEuler(r2, slerp(createQuaternion(s2.s), createQuaternion(g2), (t2 - b2) / (v2 - b2)));\n else for (d2 = 0; d2 < m2; d2 += 1) 1 !== s2.h && (t2 >= v2 ? l2 = 1 : t2 < b2 ? l2 = 0 : (s2.o.x.constructor === Array ? (n2.__fnct || (n2.__fnct = []), n2.__fnct[d2] ? f2 = n2.__fnct[d2] : (C2 = void 0 === s2.o.x[d2] ? s2.o.x[0] : s2.o.x[d2], A2 = void 0 === s2.o.y[d2] ? s2.o.y[0] : s2.o.y[d2], w2 = void 0 === s2.i.x[d2] ? s2.i.x[0] : s2.i.x[d2], k2 = void 0 === s2.i.y[d2] ? s2.i.y[0] : s2.i.y[d2], f2 = BezierFactory.getBezierEasing(C2, A2, w2, k2).get, n2.__fnct[d2] = f2)) : n2.__fnct ? f2 = n2.__fnct : (C2 = s2.o.x, A2 = s2.o.y, w2 = s2.i.x, k2 = s2.i.y, f2 = BezierFactory.getBezierEasing(C2, A2, w2, k2).get, s2.keyframeMetadata = f2), l2 = f2((t2 - b2) / (v2 - b2)))), g2 = a2.s || s2.e, T2 = 1 === s2.h ? s2.s[d2] : s2.s[d2] + (g2[d2] - s2.s[d2]) * l2, \"multidimensional\" === this.propType ? r2[d2] = T2 : r2 = T2;\n }\n return e2.lastIndex = u2, r2;\n }\n function slerp(t2, e2, r2) {\n var i2, s2, a2, n2, o2, h2 = [], l2 = t2[0], p2 = t2[1], c2 = t2[2], f2 = t2[3], u2 = e2[0], d2 = e2[1], m2 = e2[2], y2 = e2[3];\n return (s2 = l2 * u2 + p2 * d2 + c2 * m2 + f2 * y2) < 0 && (s2 = -s2, u2 = -u2, d2 = -d2, m2 = -m2, y2 = -y2), 1 - s2 > 1e-6 ? (i2 = Math.acos(s2), a2 = Math.sin(i2), n2 = Math.sin((1 - r2) * i2) / a2, o2 = Math.sin(r2 * i2) / a2) : (n2 = 1 - r2, o2 = r2), h2[0] = n2 * l2 + o2 * u2, h2[1] = n2 * p2 + o2 * d2, h2[2] = n2 * c2 + o2 * m2, h2[3] = n2 * f2 + o2 * y2, h2;\n }\n function quaternionToEuler(t2, e2) {\n var r2 = e2[0], i2 = e2[1], s2 = e2[2], a2 = e2[3], n2 = Math.atan2(2 * i2 * a2 - 2 * r2 * s2, 1 - 2 * i2 * i2 - 2 * s2 * s2), o2 = Math.asin(2 * r2 * i2 + 2 * s2 * a2), h2 = Math.atan2(2 * r2 * a2 - 2 * i2 * s2, 1 - 2 * r2 * r2 - 2 * s2 * s2);\n t2[0] = n2 / degToRads, t2[1] = o2 / degToRads, t2[2] = h2 / degToRads;\n }\n function createQuaternion(t2) {\n var e2 = t2[0] * degToRads, r2 = t2[1] * degToRads, i2 = t2[2] * degToRads, s2 = Math.cos(e2 / 2), a2 = Math.cos(r2 / 2), n2 = Math.cos(i2 / 2), o2 = Math.sin(e2 / 2), h2 = Math.sin(r2 / 2), l2 = Math.sin(i2 / 2);\n return [o2 * h2 * n2 + s2 * a2 * l2, o2 * a2 * n2 + s2 * h2 * l2, s2 * h2 * n2 - o2 * a2 * l2, s2 * a2 * n2 - o2 * h2 * l2];\n }\n function getValueAtCurrentTime() {\n var t2 = this.comp.renderedFrame - this.offsetTime, e2 = this.keyframes[0].t - this.offsetTime, r2 = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n if (!(t2 === this._caching.lastFrame || this._caching.lastFrame !== initFrame && (this._caching.lastFrame >= r2 && t2 >= r2 || this._caching.lastFrame < e2 && t2 < e2))) {\n this._caching.lastFrame >= t2 && (this._caching._lastKeyframeIndex = -1, this._caching.lastIndex = 0);\n var i2 = this.interpolateValue(t2, this._caching);\n this.pv = i2;\n }\n return this._caching.lastFrame = t2, this.pv;\n }\n function setVValue(t2) {\n var e2;\n if (\"unidimensional\" === this.propType) e2 = t2 * this.mult, mathAbs(this.v - e2) > 1e-5 && (this.v = e2, this._mdf = true);\n else for (var r2 = 0, i2 = this.v.length; r2 < i2; ) e2 = t2[r2] * this.mult, mathAbs(this.v[r2] - e2) > 1e-5 && (this.v[r2] = e2, this._mdf = true), r2 += 1;\n }\n function processEffectsSequence() {\n if (this.elem.globalData.frameId !== this.frameId && this.effectsSequence.length) if (this.lock) this.setVValue(this.pv);\n else {\n var t2;\n this.lock = true, this._mdf = this._isFirstFrame;\n var e2 = this.effectsSequence.length, r2 = this.kf ? this.pv : this.data.k;\n for (t2 = 0; t2 < e2; t2 += 1) r2 = this.effectsSequence[t2](r2);\n this.setVValue(r2), this._isFirstFrame = false, this.lock = false, this.frameId = this.elem.globalData.frameId;\n }\n }\n function addEffect(t2) {\n this.effectsSequence.push(t2), this.container.addDynamicProperty(this);\n }\n function ValueProperty(t2, e2, r2, i2) {\n this.propType = \"unidimensional\", this.mult = r2 || 1, this.data = e2, this.v = r2 ? e2.k * r2 : e2.k, this.pv = e2.k, this._mdf = false, this.elem = t2, this.container = i2, this.comp = t2.comp, this.k = false, this.kf = false, this.vel = 0, this.effectsSequence = [], this._isFirstFrame = true, this.getValue = processEffectsSequence, this.setVValue = setVValue, this.addEffect = addEffect;\n }\n function MultiDimensionalProperty(t2, e2, r2, i2) {\n var s2;\n this.propType = \"multidimensional\", this.mult = r2 || 1, this.data = e2, this._mdf = false, this.elem = t2, this.container = i2, this.comp = t2.comp, this.k = false, this.kf = false, this.frameId = -1;\n var a2 = e2.k.length;\n for (this.v = createTypedArray(\"float32\", a2), this.pv = createTypedArray(\"float32\", a2), this.vel = createTypedArray(\"float32\", a2), s2 = 0; s2 < a2; s2 += 1) this.v[s2] = e2.k[s2] * this.mult, this.pv[s2] = e2.k[s2];\n this._isFirstFrame = true, this.effectsSequence = [], this.getValue = processEffectsSequence, this.setVValue = setVValue, this.addEffect = addEffect;\n }\n function KeyframedValueProperty(t2, e2, r2, i2) {\n this.propType = \"unidimensional\", this.keyframes = e2.k, this.keyframesMetadata = [], this.offsetTime = t2.data.st, this.frameId = -1, this._caching = { lastFrame: initFrame, lastIndex: 0, value: 0, _lastKeyframeIndex: -1 }, this.k = true, this.kf = true, this.data = e2, this.mult = r2 || 1, this.elem = t2, this.container = i2, this.comp = t2.comp, this.v = initFrame, this.pv = initFrame, this._isFirstFrame = true, this.getValue = processEffectsSequence, this.setVValue = setVValue, this.interpolateValue = interpolateValue, this.effectsSequence = [getValueAtCurrentTime.bind(this)], this.addEffect = addEffect;\n }\n function KeyframedMultidimensionalProperty(t2, e2, r2, i2) {\n var s2;\n this.propType = \"multidimensional\";\n var a2, n2, o2, h2, l2 = e2.k.length;\n for (s2 = 0; s2 < l2 - 1; s2 += 1) e2.k[s2].to && e2.k[s2].s && e2.k[s2 + 1] && e2.k[s2 + 1].s && (a2 = e2.k[s2].s, n2 = e2.k[s2 + 1].s, o2 = e2.k[s2].to, h2 = e2.k[s2].ti, (2 === a2.length && (a2[0] !== n2[0] || a2[1] !== n2[1]) && bez.pointOnLine2D(a2[0], a2[1], n2[0], n2[1], a2[0] + o2[0], a2[1] + o2[1]) && bez.pointOnLine2D(a2[0], a2[1], n2[0], n2[1], n2[0] + h2[0], n2[1] + h2[1]) || 3 === a2.length && (a2[0] !== n2[0] || a2[1] !== n2[1] || a2[2] !== n2[2]) && bez.pointOnLine3D(a2[0], a2[1], a2[2], n2[0], n2[1], n2[2], a2[0] + o2[0], a2[1] + o2[1], a2[2] + o2[2]) && bez.pointOnLine3D(a2[0], a2[1], a2[2], n2[0], n2[1], n2[2], n2[0] + h2[0], n2[1] + h2[1], n2[2] + h2[2])) && (e2.k[s2].to = null, e2.k[s2].ti = null), a2[0] === n2[0] && a2[1] === n2[1] && 0 === o2[0] && 0 === o2[1] && 0 === h2[0] && 0 === h2[1] && (2 === a2.length || a2[2] === n2[2] && 0 === o2[2] && 0 === h2[2]) && (e2.k[s2].to = null, e2.k[s2].ti = null));\n this.effectsSequence = [getValueAtCurrentTime.bind(this)], this.data = e2, this.keyframes = e2.k, this.keyframesMetadata = [], this.offsetTime = t2.data.st, this.k = true, this.kf = true, this._isFirstFrame = true, this.mult = r2 || 1, this.elem = t2, this.container = i2, this.comp = t2.comp, this.getValue = processEffectsSequence, this.setVValue = setVValue, this.interpolateValue = interpolateValue, this.frameId = -1;\n var p2 = e2.k[0].s.length;\n for (this.v = createTypedArray(\"float32\", p2), this.pv = createTypedArray(\"float32\", p2), s2 = 0; s2 < p2; s2 += 1) this.v[s2] = initFrame, this.pv[s2] = initFrame;\n this._caching = { lastFrame: initFrame, lastIndex: 0, value: createTypedArray(\"float32\", p2) }, this.addEffect = addEffect;\n }\n var PropertyFactory = (ob = { getProp: function(t2, e2, r2, i2, s2) {\n var a2;\n if (e2.sid && (e2 = t2.globalData.slotManager.getProp(e2)), e2.k.length) if (\"number\" == typeof e2.k[0]) a2 = new MultiDimensionalProperty(t2, e2, i2, s2);\n else switch (r2) {\n case 0:\n a2 = new KeyframedValueProperty(t2, e2, i2, s2);\n break;\n case 1:\n a2 = new KeyframedMultidimensionalProperty(t2, e2, i2, s2);\n }\n else a2 = new ValueProperty(t2, e2, i2, s2);\n return a2.effectsSequence.length && s2.addDynamicProperty(a2), a2;\n } }, ob), ob;\n function DynamicPropertyContainer() {\n }\n DynamicPropertyContainer.prototype = { addDynamicProperty: function(t2) {\n -1 === this.dynamicProperties.indexOf(t2) && (this.dynamicProperties.push(t2), this.container.addDynamicProperty(this), this._isAnimated = true);\n }, iterateDynamicProperties: function() {\n var t2;\n this._mdf = false;\n var e2 = this.dynamicProperties.length;\n for (t2 = 0; t2 < e2; t2 += 1) this.dynamicProperties[t2].getValue(), this.dynamicProperties[t2]._mdf && (this._mdf = true);\n }, initDynamicPropertyContainer: function(t2) {\n this.container = t2, this.dynamicProperties = [], this._mdf = false, this._isAnimated = false;\n } };\n var pointPool = poolFactory(8, function() {\n return createTypedArray(\"float32\", 2);\n });\n function ShapePath() {\n this.c = false, this._length = 0, this._maxLength = 8, this.v = createSizedArray(this._maxLength), this.o = createSizedArray(this._maxLength), this.i = createSizedArray(this._maxLength);\n }\n ShapePath.prototype.setPathData = function(t2, e2) {\n this.c = t2, this.setLength(e2);\n for (var r2 = 0; r2 < e2; ) this.v[r2] = pointPool.newElement(), this.o[r2] = pointPool.newElement(), this.i[r2] = pointPool.newElement(), r2 += 1;\n }, ShapePath.prototype.setLength = function(t2) {\n for (; this._maxLength < t2; ) this.doubleArrayLength();\n this._length = t2;\n }, ShapePath.prototype.doubleArrayLength = function() {\n this.v = this.v.concat(createSizedArray(this._maxLength)), this.i = this.i.concat(createSizedArray(this._maxLength)), this.o = this.o.concat(createSizedArray(this._maxLength)), this._maxLength *= 2;\n }, ShapePath.prototype.setXYAt = function(t2, e2, r2, i2, s2) {\n var a2;\n switch (this._length = Math.max(this._length, i2 + 1), this._length >= this._maxLength && this.doubleArrayLength(), r2) {\n case \"v\":\n a2 = this.v;\n break;\n case \"i\":\n a2 = this.i;\n break;\n case \"o\":\n a2 = this.o;\n break;\n default:\n a2 = [];\n }\n (!a2[i2] || a2[i2] && !s2) && (a2[i2] = pointPool.newElement()), a2[i2][0] = t2, a2[i2][1] = e2;\n }, ShapePath.prototype.setTripleAt = function(t2, e2, r2, i2, s2, a2, n2, o2) {\n this.setXYAt(t2, e2, \"v\", n2, o2), this.setXYAt(r2, i2, \"o\", n2, o2), this.setXYAt(s2, a2, \"i\", n2, o2);\n }, ShapePath.prototype.reverse = function() {\n var t2 = new ShapePath();\n t2.setPathData(this.c, this._length);\n var e2 = this.v, r2 = this.o, i2 = this.i, s2 = 0;\n this.c && (t2.setTripleAt(e2[0][0], e2[0][1], i2[0][0], i2[0][1], r2[0][0], r2[0][1], 0, false), s2 = 1);\n var a2, n2 = this._length - 1, o2 = this._length;\n for (a2 = s2; a2 < o2; a2 += 1) t2.setTripleAt(e2[n2][0], e2[n2][1], i2[n2][0], i2[n2][1], r2[n2][0], r2[n2][1], a2, false), n2 -= 1;\n return t2;\n }, ShapePath.prototype.length = function() {\n return this._length;\n };\n var shapePool = (factory = poolFactory(4, function() {\n return new ShapePath();\n }, function(t2) {\n var e2, r2 = t2._length;\n for (e2 = 0; e2 < r2; e2 += 1) pointPool.release(t2.v[e2]), pointPool.release(t2.i[e2]), pointPool.release(t2.o[e2]), t2.v[e2] = null, t2.i[e2] = null, t2.o[e2] = null;\n t2._length = 0, t2.c = false;\n }), factory.clone = function(t2) {\n var e2, r2 = factory.newElement(), i2 = void 0 === t2._length ? t2.v.length : t2._length;\n for (r2.setLength(i2), r2.c = t2.c, e2 = 0; e2 < i2; e2 += 1) r2.setTripleAt(t2.v[e2][0], t2.v[e2][1], t2.o[e2][0], t2.o[e2][1], t2.i[e2][0], t2.i[e2][1], e2);\n return r2;\n }, factory), factory;\n function ShapeCollection() {\n this._length = 0, this._maxLength = 4, this.shapes = createSizedArray(this._maxLength);\n }\n ShapeCollection.prototype.addShape = function(t2) {\n this._length === this._maxLength && (this.shapes = this.shapes.concat(createSizedArray(this._maxLength)), this._maxLength *= 2), this.shapes[this._length] = t2, this._length += 1;\n }, ShapeCollection.prototype.releaseShapes = function() {\n var t2;\n for (t2 = 0; t2 < this._length; t2 += 1) shapePool.release(this.shapes[t2]);\n this._length = 0;\n };\n var shapeCollectionPool = function() {\n var t2 = { newShapeCollection: function() {\n return e2 ? i2[e2 -= 1] : new ShapeCollection();\n }, release: function(t3) {\n var s2, a2 = t3._length;\n for (s2 = 0; s2 < a2; s2 += 1) shapePool.release(t3.shapes[s2]);\n t3._length = 0, e2 === r2 && (i2 = pooling.double(i2), r2 *= 2), i2[e2] = t3, e2 += 1;\n } }, e2 = 0, r2 = 4, i2 = createSizedArray(r2);\n return t2;\n }(), ShapePropertyFactory = function() {\n var t2 = -999999;\n function e2(t3, e3, r3) {\n var i3, s3, a3, n3, o3, h3, l3, p3, c3, f3 = r3.lastIndex, u2 = this.keyframes;\n if (t3 < u2[0].t - this.offsetTime) i3 = u2[0].s[0], a3 = true, f3 = 0;\n else if (t3 >= u2[u2.length - 1].t - this.offsetTime) i3 = u2[u2.length - 1].s ? u2[u2.length - 1].s[0] : u2[u2.length - 2].e[0], a3 = true;\n else {\n for (var d2, m2, y2, g2 = f3, v2 = u2.length - 1, b2 = true; b2 && (d2 = u2[g2], !((m2 = u2[g2 + 1]).t - this.offsetTime > t3)); ) g2 < v2 - 1 ? g2 += 1 : b2 = false;\n if (y2 = this.keyframesMetadata[g2] || {}, f3 = g2, !(a3 = 1 === d2.h)) {\n if (t3 >= m2.t - this.offsetTime) p3 = 1;\n else if (t3 < d2.t - this.offsetTime) p3 = 0;\n else {\n var _2;\n y2.__fnct ? _2 = y2.__fnct : (_2 = BezierFactory.getBezierEasing(d2.o.x, d2.o.y, d2.i.x, d2.i.y).get, y2.__fnct = _2), p3 = _2((t3 - (d2.t - this.offsetTime)) / (m2.t - this.offsetTime - (d2.t - this.offsetTime)));\n }\n s3 = m2.s ? m2.s[0] : d2.e[0];\n }\n i3 = d2.s[0];\n }\n for (h3 = e3._length, l3 = i3.i[0].length, r3.lastIndex = f3, n3 = 0; n3 < h3; n3 += 1) for (o3 = 0; o3 < l3; o3 += 1) c3 = a3 ? i3.i[n3][o3] : i3.i[n3][o3] + (s3.i[n3][o3] - i3.i[n3][o3]) * p3, e3.i[n3][o3] = c3, c3 = a3 ? i3.o[n3][o3] : i3.o[n3][o3] + (s3.o[n3][o3] - i3.o[n3][o3]) * p3, e3.o[n3][o3] = c3, c3 = a3 ? i3.v[n3][o3] : i3.v[n3][o3] + (s3.v[n3][o3] - i3.v[n3][o3]) * p3, e3.v[n3][o3] = c3;\n }\n function r2() {\n var e3 = this.comp.renderedFrame - this.offsetTime, r3 = this.keyframes[0].t - this.offsetTime, i3 = this.keyframes[this.keyframes.length - 1].t - this.offsetTime, s3 = this._caching.lastFrame;\n return s3 !== t2 && (s3 < r3 && e3 < r3 || s3 > i3 && e3 > i3) || (this._caching.lastIndex = s3 < e3 ? this._caching.lastIndex : 0, this.interpolateShape(e3, this.pv, this._caching)), this._caching.lastFrame = e3, this.pv;\n }\n function i2() {\n this.paths = this.localShapeCollection;\n }\n function s2(t3) {\n (function(t4, e3) {\n if (t4._length !== e3._length || t4.c !== e3.c) return false;\n var r3, i3 = t4._length;\n for (r3 = 0; r3 < i3; r3 += 1) if (t4.v[r3][0] !== e3.v[r3][0] || t4.v[r3][1] !== e3.v[r3][1] || t4.o[r3][0] !== e3.o[r3][0] || t4.o[r3][1] !== e3.o[r3][1] || t4.i[r3][0] !== e3.i[r3][0] || t4.i[r3][1] !== e3.i[r3][1]) return false;\n return true;\n })(this.v, t3) || (this.v = shapePool.clone(t3), this.localShapeCollection.releaseShapes(), this.localShapeCollection.addShape(this.v), this._mdf = true, this.paths = this.localShapeCollection);\n }\n function a2() {\n if (this.elem.globalData.frameId !== this.frameId) if (this.effectsSequence.length) if (this.lock) this.setVValue(this.pv);\n else {\n var t3, e3;\n this.lock = true, this._mdf = false, t3 = this.kf ? this.pv : this.data.ks ? this.data.ks.k : this.data.pt.k;\n var r3 = this.effectsSequence.length;\n for (e3 = 0; e3 < r3; e3 += 1) t3 = this.effectsSequence[e3](t3);\n this.setVValue(t3), this.lock = false, this.frameId = this.elem.globalData.frameId;\n }\n else this._mdf = false;\n }\n function n2(t3, e3, r3) {\n this.propType = \"shape\", this.comp = t3.comp, this.container = t3, this.elem = t3, this.data = e3, this.k = false, this.kf = false, this._mdf = false;\n var s3 = 3 === r3 ? e3.pt.k : e3.ks.k;\n this.v = shapePool.clone(s3), this.pv = shapePool.clone(this.v), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.paths = this.localShapeCollection, this.paths.addShape(this.v), this.reset = i2, this.effectsSequence = [];\n }\n function o2(t3) {\n this.effectsSequence.push(t3), this.container.addDynamicProperty(this);\n }\n function h2(e3, s3, a3) {\n this.propType = \"shape\", this.comp = e3.comp, this.elem = e3, this.container = e3, this.offsetTime = e3.data.st, this.keyframes = 3 === a3 ? s3.pt.k : s3.ks.k, this.keyframesMetadata = [], this.k = true, this.kf = true;\n var n3 = this.keyframes[0].s[0].i.length;\n this.v = shapePool.newElement(), this.v.setPathData(this.keyframes[0].s[0].c, n3), this.pv = shapePool.clone(this.v), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.paths = this.localShapeCollection, this.paths.addShape(this.v), this.lastFrame = t2, this.reset = i2, this._caching = { lastFrame: t2, lastIndex: 0 }, this.effectsSequence = [r2.bind(this)];\n }\n n2.prototype.interpolateShape = e2, n2.prototype.getValue = a2, n2.prototype.setVValue = s2, n2.prototype.addEffect = o2, h2.prototype.getValue = a2, h2.prototype.interpolateShape = e2, h2.prototype.setVValue = s2, h2.prototype.addEffect = o2;\n var l2 = function() {\n var t3 = roundCorner;\n function e3(t4, e4) {\n this.v = shapePool.newElement(), this.v.setPathData(true, 4), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.paths = this.localShapeCollection, this.localShapeCollection.addShape(this.v), this.d = e4.d, this.elem = t4, this.comp = t4.comp, this.frameId = -1, this.initDynamicPropertyContainer(t4), this.p = PropertyFactory.getProp(t4, e4.p, 1, 0, this), this.s = PropertyFactory.getProp(t4, e4.s, 1, 0, this), this.dynamicProperties.length ? this.k = true : (this.k = false, this.convertEllToPath());\n }\n return e3.prototype = { reset: i2, getValue: function() {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertEllToPath());\n }, convertEllToPath: function() {\n var e4 = this.p.v[0], r3 = this.p.v[1], i3 = this.s.v[0] / 2, s3 = this.s.v[1] / 2, a3 = 3 !== this.d, n3 = this.v;\n n3.v[0][0] = e4, n3.v[0][1] = r3 - s3, n3.v[1][0] = a3 ? e4 + i3 : e4 - i3, n3.v[1][1] = r3, n3.v[2][0] = e4, n3.v[2][1] = r3 + s3, n3.v[3][0] = a3 ? e4 - i3 : e4 + i3, n3.v[3][1] = r3, n3.i[0][0] = a3 ? e4 - i3 * t3 : e4 + i3 * t3, n3.i[0][1] = r3 - s3, n3.i[1][0] = a3 ? e4 + i3 : e4 - i3, n3.i[1][1] = r3 - s3 * t3, n3.i[2][0] = a3 ? e4 + i3 * t3 : e4 - i3 * t3, n3.i[2][1] = r3 + s3, n3.i[3][0] = a3 ? e4 - i3 : e4 + i3, n3.i[3][1] = r3 + s3 * t3, n3.o[0][0] = a3 ? e4 + i3 * t3 : e4 - i3 * t3, n3.o[0][1] = r3 - s3, n3.o[1][0] = a3 ? e4 + i3 : e4 - i3, n3.o[1][1] = r3 + s3 * t3, n3.o[2][0] = a3 ? e4 - i3 * t3 : e4 + i3 * t3, n3.o[2][1] = r3 + s3, n3.o[3][0] = a3 ? e4 - i3 : e4 + i3, n3.o[3][1] = r3 - s3 * t3;\n } }, extendPrototype([DynamicPropertyContainer], e3), e3;\n }(), p2 = function() {\n function t3(t4, e3) {\n this.v = shapePool.newElement(), this.v.setPathData(true, 0), this.elem = t4, this.comp = t4.comp, this.data = e3, this.frameId = -1, this.d = e3.d, this.initDynamicPropertyContainer(t4), 1 === e3.sy ? (this.ir = PropertyFactory.getProp(t4, e3.ir, 0, 0, this), this.is = PropertyFactory.getProp(t4, e3.is, 0, 0.01, this), this.convertToPath = this.convertStarToPath) : this.convertToPath = this.convertPolygonToPath, this.pt = PropertyFactory.getProp(t4, e3.pt, 0, 0, this), this.p = PropertyFactory.getProp(t4, e3.p, 1, 0, this), this.r = PropertyFactory.getProp(t4, e3.r, 0, degToRads, this), this.or = PropertyFactory.getProp(t4, e3.or, 0, 0, this), this.os = PropertyFactory.getProp(t4, e3.os, 0, 0.01, this), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.localShapeCollection.addShape(this.v), this.paths = this.localShapeCollection, this.dynamicProperties.length ? this.k = true : (this.k = false, this.convertToPath());\n }\n return t3.prototype = { reset: i2, getValue: function() {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertToPath());\n }, convertStarToPath: function() {\n var t4, e3, r3, i3, s3 = 2 * Math.floor(this.pt.v), a3 = 2 * Math.PI / s3, n3 = true, o3 = this.or.v, h3 = this.ir.v, l3 = this.os.v, p3 = this.is.v, c3 = 2 * Math.PI * o3 / (2 * s3), f3 = 2 * Math.PI * h3 / (2 * s3), u2 = -Math.PI / 2;\n u2 += this.r.v;\n var d2 = 3 === this.data.d ? -1 : 1;\n for (this.v._length = 0, t4 = 0; t4 < s3; t4 += 1) {\n r3 = n3 ? l3 : p3, i3 = n3 ? c3 : f3;\n var m2 = (e3 = n3 ? o3 : h3) * Math.cos(u2), y2 = e3 * Math.sin(u2), g2 = 0 === m2 && 0 === y2 ? 0 : y2 / Math.sqrt(m2 * m2 + y2 * y2), v2 = 0 === m2 && 0 === y2 ? 0 : -m2 / Math.sqrt(m2 * m2 + y2 * y2);\n m2 += +this.p.v[0], y2 += +this.p.v[1], this.v.setTripleAt(m2, y2, m2 - g2 * i3 * r3 * d2, y2 - v2 * i3 * r3 * d2, m2 + g2 * i3 * r3 * d2, y2 + v2 * i3 * r3 * d2, t4, true), n3 = !n3, u2 += a3 * d2;\n }\n }, convertPolygonToPath: function() {\n var t4, e3 = Math.floor(this.pt.v), r3 = 2 * Math.PI / e3, i3 = this.or.v, s3 = this.os.v, a3 = 2 * Math.PI * i3 / (4 * e3), n3 = 0.5 * -Math.PI, o3 = 3 === this.data.d ? -1 : 1;\n for (n3 += this.r.v, this.v._length = 0, t4 = 0; t4 < e3; t4 += 1) {\n var h3 = i3 * Math.cos(n3), l3 = i3 * Math.sin(n3), p3 = 0 === h3 && 0 === l3 ? 0 : l3 / Math.sqrt(h3 * h3 + l3 * l3), c3 = 0 === h3 && 0 === l3 ? 0 : -h3 / Math.sqrt(h3 * h3 + l3 * l3);\n h3 += +this.p.v[0], l3 += +this.p.v[1], this.v.setTripleAt(h3, l3, h3 - p3 * a3 * s3 * o3, l3 - c3 * a3 * s3 * o3, h3 + p3 * a3 * s3 * o3, l3 + c3 * a3 * s3 * o3, t4, true), n3 += r3 * o3;\n }\n this.paths.length = 0, this.paths[0] = this.v;\n } }, extendPrototype([DynamicPropertyContainer], t3), t3;\n }(), c2 = function() {\n function t3(t4, e3) {\n this.v = shapePool.newElement(), this.v.c = true, this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.localShapeCollection.addShape(this.v), this.paths = this.localShapeCollection, this.elem = t4, this.comp = t4.comp, this.frameId = -1, this.d = e3.d, this.initDynamicPropertyContainer(t4), this.p = PropertyFactory.getProp(t4, e3.p, 1, 0, this), this.s = PropertyFactory.getProp(t4, e3.s, 1, 0, this), this.r = PropertyFactory.getProp(t4, e3.r, 0, 0, this), this.dynamicProperties.length ? this.k = true : (this.k = false, this.convertRectToPath());\n }\n return t3.prototype = { convertRectToPath: function() {\n var t4 = this.p.v[0], e3 = this.p.v[1], r3 = this.s.v[0] / 2, i3 = this.s.v[1] / 2, s3 = bmMin(r3, i3, this.r.v), a3 = s3 * (1 - roundCorner);\n this.v._length = 0, 2 === this.d || 1 === this.d ? (this.v.setTripleAt(t4 + r3, e3 - i3 + s3, t4 + r3, e3 - i3 + s3, t4 + r3, e3 - i3 + a3, 0, true), this.v.setTripleAt(t4 + r3, e3 + i3 - s3, t4 + r3, e3 + i3 - a3, t4 + r3, e3 + i3 - s3, 1, true), 0 !== s3 ? (this.v.setTripleAt(t4 + r3 - s3, e3 + i3, t4 + r3 - s3, e3 + i3, t4 + r3 - a3, e3 + i3, 2, true), this.v.setTripleAt(t4 - r3 + s3, e3 + i3, t4 - r3 + a3, e3 + i3, t4 - r3 + s3, e3 + i3, 3, true), this.v.setTripleAt(t4 - r3, e3 + i3 - s3, t4 - r3, e3 + i3 - s3, t4 - r3, e3 + i3 - a3, 4, true), this.v.setTripleAt(t4 - r3, e3 - i3 + s3, t4 - r3, e3 - i3 + a3, t4 - r3, e3 - i3 + s3, 5, true), this.v.setTripleAt(t4 - r3 + s3, e3 - i3, t4 - r3 + s3, e3 - i3, t4 - r3 + a3, e3 - i3, 6, true), this.v.setTripleAt(t4 + r3 - s3, e3 - i3, t4 + r3 - a3, e3 - i3, t4 + r3 - s3, e3 - i3, 7, true)) : (this.v.setTripleAt(t4 - r3, e3 + i3, t4 - r3 + a3, e3 + i3, t4 - r3, e3 + i3, 2), this.v.setTripleAt(t4 - r3, e3 - i3, t4 - r3, e3 - i3 + a3, t4 - r3, e3 - i3, 3))) : (this.v.setTripleAt(t4 + r3, e3 - i3 + s3, t4 + r3, e3 - i3 + a3, t4 + r3, e3 - i3 + s3, 0, true), 0 !== s3 ? (this.v.setTripleAt(t4 + r3 - s3, e3 - i3, t4 + r3 - s3, e3 - i3, t4 + r3 - a3, e3 - i3, 1, true), this.v.setTripleAt(t4 - r3 + s3, e3 - i3, t4 - r3 + a3, e3 - i3, t4 - r3 + s3, e3 - i3, 2, true), this.v.setTripleAt(t4 - r3, e3 - i3 + s3, t4 - r3, e3 - i3 + s3, t4 - r3, e3 - i3 + a3, 3, true), this.v.setTripleAt(t4 - r3, e3 + i3 - s3, t4 - r3, e3 + i3 - a3, t4 - r3, e3 + i3 - s3, 4, true), this.v.setTripleAt(t4 - r3 + s3, e3 + i3, t4 - r3 + s3, e3 + i3, t4 - r3 + a3, e3 + i3, 5, true), this.v.setTripleAt(t4 + r3 - s3, e3 + i3, t4 + r3 - a3, e3 + i3, t4 + r3 - s3, e3 + i3, 6, true), this.v.setTripleAt(t4 + r3, e3 + i3 - s3, t4 + r3, e3 + i3 - s3, t4 + r3, e3 + i3 - a3, 7, true)) : (this.v.setTripleAt(t4 - r3, e3 - i3, t4 - r3 + a3, e3 - i3, t4 - r3, e3 - i3, 1, true), this.v.setTripleAt(t4 - r3, e3 + i3, t4 - r3, e3 + i3 - a3, t4 - r3, e3 + i3, 2, true), this.v.setTripleAt(t4 + r3, e3 + i3, t4 + r3 - a3, e3 + i3, t4 + r3, e3 + i3, 3, true)));\n }, getValue: function() {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertRectToPath());\n }, reset: i2 }, extendPrototype([DynamicPropertyContainer], t3), t3;\n }(), f2 = { getShapeProp: function(t3, e3, r3) {\n var i3;\n return 3 === r3 || 4 === r3 ? i3 = (3 === r3 ? e3.pt : e3.ks).k.length ? new h2(t3, e3, r3) : new n2(t3, e3, r3) : 5 === r3 ? i3 = new c2(t3, e3) : 6 === r3 ? i3 = new l2(t3, e3) : 7 === r3 && (i3 = new p2(t3, e3)), i3.k && t3.addDynamicProperty(i3), i3;\n }, getConstructorFunction: function() {\n return n2;\n }, getKeyframedConstructorFunction: function() {\n return h2;\n } };\n return f2;\n }(), Matrix = /* @__PURE__ */ function() {\n var t2 = Math.cos, e2 = Math.sin, r2 = Math.tan, i2 = Math.round;\n function s2() {\n return this.props[0] = 1, this.props[1] = 0, this.props[2] = 0, this.props[3] = 0, this.props[4] = 0, this.props[5] = 1, this.props[6] = 0, this.props[7] = 0, this.props[8] = 0, this.props[9] = 0, this.props[10] = 1, this.props[11] = 0, this.props[12] = 0, this.props[13] = 0, this.props[14] = 0, this.props[15] = 1, this;\n }\n function a2(r3) {\n if (0 === r3) return this;\n var i3 = t2(r3), s3 = e2(r3);\n return this._t(i3, -s3, 0, 0, s3, i3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n function n2(r3) {\n if (0 === r3) return this;\n var i3 = t2(r3), s3 = e2(r3);\n return this._t(1, 0, 0, 0, 0, i3, -s3, 0, 0, s3, i3, 0, 0, 0, 0, 1);\n }\n function o2(r3) {\n if (0 === r3) return this;\n var i3 = t2(r3), s3 = e2(r3);\n return this._t(i3, 0, s3, 0, 0, 1, 0, 0, -s3, 0, i3, 0, 0, 0, 0, 1);\n }\n function h2(r3) {\n if (0 === r3) return this;\n var i3 = t2(r3), s3 = e2(r3);\n return this._t(i3, -s3, 0, 0, s3, i3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n function l2(t3, e3) {\n return this._t(1, e3, t3, 1, 0, 0);\n }\n function p2(t3, e3) {\n return this.shear(r2(t3), r2(e3));\n }\n function c2(i3, s3) {\n var a3 = t2(s3), n3 = e2(s3);\n return this._t(a3, n3, 0, 0, -n3, a3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, r2(i3), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(a3, -n3, 0, 0, n3, a3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n function f2(t3, e3, r3) {\n return r3 || 0 === r3 || (r3 = 1), 1 === t3 && 1 === e3 && 1 === r3 ? this : this._t(t3, 0, 0, 0, 0, e3, 0, 0, 0, 0, r3, 0, 0, 0, 0, 1);\n }\n function u2(t3, e3, r3, i3, s3, a3, n3, o3, h3, l3, p3, c3, f3, u3, d3, m3) {\n return this.props[0] = t3, this.props[1] = e3, this.props[2] = r3, this.props[3] = i3, this.props[4] = s3, this.props[5] = a3, this.props[6] = n3, this.props[7] = o3, this.props[8] = h3, this.props[9] = l3, this.props[10] = p3, this.props[11] = c3, this.props[12] = f3, this.props[13] = u3, this.props[14] = d3, this.props[15] = m3, this;\n }\n function d2(t3, e3, r3) {\n return r3 = r3 || 0, 0 !== t3 || 0 !== e3 || 0 !== r3 ? this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, t3, e3, r3, 1) : this;\n }\n function m2(t3, e3, r3, i3, s3, a3, n3, o3, h3, l3, p3, c3, f3, u3, d3, m3) {\n var y3 = this.props;\n if (1 === t3 && 0 === e3 && 0 === r3 && 0 === i3 && 0 === s3 && 1 === a3 && 0 === n3 && 0 === o3 && 0 === h3 && 0 === l3 && 1 === p3 && 0 === c3) return y3[12] = y3[12] * t3 + y3[15] * f3, y3[13] = y3[13] * a3 + y3[15] * u3, y3[14] = y3[14] * p3 + y3[15] * d3, y3[15] *= m3, this._identityCalculated = false, this;\n var g3 = y3[0], v3 = y3[1], b3 = y3[2], _3 = y3[3], P3 = y3[4], S3 = y3[5], E3 = y3[6], x3 = y3[7], C3 = y3[8], A3 = y3[9], w3 = y3[10], k3 = y3[11], T3 = y3[12], M3 = y3[13], D2 = y3[14], F2 = y3[15];\n return y3[0] = g3 * t3 + v3 * s3 + b3 * h3 + _3 * f3, y3[1] = g3 * e3 + v3 * a3 + b3 * l3 + _3 * u3, y3[2] = g3 * r3 + v3 * n3 + b3 * p3 + _3 * d3, y3[3] = g3 * i3 + v3 * o3 + b3 * c3 + _3 * m3, y3[4] = P3 * t3 + S3 * s3 + E3 * h3 + x3 * f3, y3[5] = P3 * e3 + S3 * a3 + E3 * l3 + x3 * u3, y3[6] = P3 * r3 + S3 * n3 + E3 * p3 + x3 * d3, y3[7] = P3 * i3 + S3 * o3 + E3 * c3 + x3 * m3, y3[8] = C3 * t3 + A3 * s3 + w3 * h3 + k3 * f3, y3[9] = C3 * e3 + A3 * a3 + w3 * l3 + k3 * u3, y3[10] = C3 * r3 + A3 * n3 + w3 * p3 + k3 * d3, y3[11] = C3 * i3 + A3 * o3 + w3 * c3 + k3 * m3, y3[12] = T3 * t3 + M3 * s3 + D2 * h3 + F2 * f3, y3[13] = T3 * e3 + M3 * a3 + D2 * l3 + F2 * u3, y3[14] = T3 * r3 + M3 * n3 + D2 * p3 + F2 * d3, y3[15] = T3 * i3 + M3 * o3 + D2 * c3 + F2 * m3, this._identityCalculated = false, this;\n }\n function y2(t3) {\n var e3 = t3.props;\n return this.transform(e3[0], e3[1], e3[2], e3[3], e3[4], e3[5], e3[6], e3[7], e3[8], e3[9], e3[10], e3[11], e3[12], e3[13], e3[14], e3[15]);\n }\n function g2() {\n return this._identityCalculated || (this._identity = !(1 !== this.props[0] || 0 !== this.props[1] || 0 !== this.props[2] || 0 !== this.props[3] || 0 !== this.props[4] || 1 !== this.props[5] || 0 !== this.props[6] || 0 !== this.props[7] || 0 !== this.props[8] || 0 !== this.props[9] || 1 !== this.props[10] || 0 !== this.props[11] || 0 !== this.props[12] || 0 !== this.props[13] || 0 !== this.props[14] || 1 !== this.props[15]), this._identityCalculated = true), this._identity;\n }\n function v2(t3) {\n for (var e3 = 0; e3 < 16; ) {\n if (t3.props[e3] !== this.props[e3]) return false;\n e3 += 1;\n }\n return true;\n }\n function b2(t3) {\n var e3;\n for (e3 = 0; e3 < 16; e3 += 1) t3.props[e3] = this.props[e3];\n return t3;\n }\n function _2(t3) {\n var e3;\n for (e3 = 0; e3 < 16; e3 += 1) this.props[e3] = t3[e3];\n }\n function P2(t3, e3, r3) {\n return { x: t3 * this.props[0] + e3 * this.props[4] + r3 * this.props[8] + this.props[12], y: t3 * this.props[1] + e3 * this.props[5] + r3 * this.props[9] + this.props[13], z: t3 * this.props[2] + e3 * this.props[6] + r3 * this.props[10] + this.props[14] };\n }\n function S2(t3, e3, r3) {\n return t3 * this.props[0] + e3 * this.props[4] + r3 * this.props[8] + this.props[12];\n }\n function E2(t3, e3, r3) {\n return t3 * this.props[1] + e3 * this.props[5] + r3 * this.props[9] + this.props[13];\n }\n function x2(t3, e3, r3) {\n return t3 * this.props[2] + e3 * this.props[6] + r3 * this.props[10] + this.props[14];\n }\n function C2() {\n var t3 = this.props[0] * this.props[5] - this.props[1] * this.props[4], e3 = this.props[5] / t3, r3 = -this.props[1] / t3, i3 = -this.props[4] / t3, s3 = this.props[0] / t3, a3 = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / t3, n3 = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / t3, o3 = new Matrix();\n return o3.props[0] = e3, o3.props[1] = r3, o3.props[4] = i3, o3.props[5] = s3, o3.props[12] = a3, o3.props[13] = n3, o3;\n }\n function A2(t3) {\n return this.getInverseMatrix().applyToPointArray(t3[0], t3[1], t3[2] || 0);\n }\n function w2(t3) {\n var e3, r3 = t3.length, i3 = [];\n for (e3 = 0; e3 < r3; e3 += 1) i3[e3] = A2(t3[e3]);\n return i3;\n }\n function k2(t3, e3, r3) {\n var i3 = createTypedArray(\"float32\", 6);\n if (this.isIdentity()) i3[0] = t3[0], i3[1] = t3[1], i3[2] = e3[0], i3[3] = e3[1], i3[4] = r3[0], i3[5] = r3[1];\n else {\n var s3 = this.props[0], a3 = this.props[1], n3 = this.props[4], o3 = this.props[5], h3 = this.props[12], l3 = this.props[13];\n i3[0] = t3[0] * s3 + t3[1] * n3 + h3, i3[1] = t3[0] * a3 + t3[1] * o3 + l3, i3[2] = e3[0] * s3 + e3[1] * n3 + h3, i3[3] = e3[0] * a3 + e3[1] * o3 + l3, i3[4] = r3[0] * s3 + r3[1] * n3 + h3, i3[5] = r3[0] * a3 + r3[1] * o3 + l3;\n }\n return i3;\n }\n function T2(t3, e3, r3) {\n return this.isIdentity() ? [t3, e3, r3] : [t3 * this.props[0] + e3 * this.props[4] + r3 * this.props[8] + this.props[12], t3 * this.props[1] + e3 * this.props[5] + r3 * this.props[9] + this.props[13], t3 * this.props[2] + e3 * this.props[6] + r3 * this.props[10] + this.props[14]];\n }\n function M2(t3, e3) {\n if (this.isIdentity()) return t3 + \",\" + e3;\n var r3 = this.props;\n return Math.round(100 * (t3 * r3[0] + e3 * r3[4] + r3[12])) / 100 + \",\" + Math.round(100 * (t3 * r3[1] + e3 * r3[5] + r3[13])) / 100;\n }\n function D() {\n for (var t3 = 0, e3 = this.props, r3 = \"matrix3d(\"; t3 < 16; ) r3 += i2(1e4 * e3[t3]) / 1e4, r3 += 15 === t3 ? \")\" : \",\", t3 += 1;\n return r3;\n }\n function F(t3) {\n return t3 < 1e-6 && t3 > 0 || t3 > -1e-6 && t3 < 0 ? i2(1e4 * t3) / 1e4 : t3;\n }\n function I2() {\n var t3 = this.props;\n return \"matrix(\" + F(t3[0]) + \",\" + F(t3[1]) + \",\" + F(t3[4]) + \",\" + F(t3[5]) + \",\" + F(t3[12]) + \",\" + F(t3[13]) + \")\";\n }\n return function() {\n this.reset = s2, this.rotate = a2, this.rotateX = n2, this.rotateY = o2, this.rotateZ = h2, this.skew = p2, this.skewFromAxis = c2, this.shear = l2, this.scale = f2, this.setTransform = u2, this.translate = d2, this.transform = m2, this.multiply = y2, this.applyToPoint = P2, this.applyToX = S2, this.applyToY = E2, this.applyToZ = x2, this.applyToPointArray = T2, this.applyToTriplePoints = k2, this.applyToPointStringified = M2, this.toCSS = D, this.to2dCSS = I2, this.clone = b2, this.cloneFromProps = _2, this.equals = v2, this.inversePoints = w2, this.inversePoint = A2, this.getInverseMatrix = C2, this._t = this.transform, this.isIdentity = g2, this._identity = true, this._identityCalculated = false, this.props = createTypedArray(\"float32\", 16), this.reset();\n };\n }();\n function _typeof$3(t2) {\n return _typeof$3 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(t3) {\n return typeof t3;\n } : function(t3) {\n return t3 && \"function\" == typeof Symbol && t3.constructor === Symbol && t3 !== Symbol.prototype ? \"symbol\" : typeof t3;\n }, _typeof$3(t2);\n }\n var lottie = {}, standalone = \"__[STANDALONE]__\", animationData = \"__[ANIMATIONDATA]__\", renderer = \"\";\n function setLocation(t2) {\n setLocationHref(t2);\n }\n function searchAnimations() {\n true === standalone ? animationManager.searchAnimations(animationData, standalone, renderer) : animationManager.searchAnimations();\n }\n function setSubframeRendering(t2) {\n setSubframeEnabled(t2);\n }\n function setPrefix(t2) {\n setIdPrefix(t2);\n }\n function loadAnimation(t2) {\n return true === standalone && (t2.animationData = JSON.parse(animationData)), animationManager.loadAnimation(t2);\n }\n function setQuality(t2) {\n if (\"string\" == typeof t2) switch (t2) {\n case \"high\":\n setDefaultCurveSegments(200);\n break;\n default:\n case \"medium\":\n setDefaultCurveSegments(50);\n break;\n case \"low\":\n setDefaultCurveSegments(10);\n }\n else !isNaN(t2) && t2 > 1 && setDefaultCurveSegments(t2);\n getDefaultCurveSegments() >= 50 ? roundValues(false) : roundValues(true);\n }\n function inBrowser() {\n return \"undefined\" != typeof navigator;\n }\n function installPlugin(t2, e2) {\n \"expressions\" === t2 && setExpressionsPlugin(e2);\n }\n function getFactory(t2) {\n switch (t2) {\n case \"propertyFactory\":\n return PropertyFactory;\n case \"shapePropertyFactory\":\n return ShapePropertyFactory;\n case \"matrix\":\n return Matrix;\n default:\n return null;\n }\n }\n function checkReady() {\n \"complete\" === document.readyState && (clearInterval(readyStateCheckInterval), searchAnimations());\n }\n function getQueryVariable(t2) {\n for (var e2 = queryString.split(\"&\"), r2 = 0; r2 < e2.length; r2 += 1) {\n var i2 = e2[r2].split(\"=\");\n if (decodeURIComponent(i2[0]) == t2) return decodeURIComponent(i2[1]);\n }\n return null;\n }\n lottie.play = animationManager.play, lottie.pause = animationManager.pause, lottie.setLocationHref = setLocation, lottie.togglePause = animationManager.togglePause, lottie.setSpeed = animationManager.setSpeed, lottie.setDirection = animationManager.setDirection, lottie.stop = animationManager.stop, lottie.searchAnimations = searchAnimations, lottie.registerAnimation = animationManager.registerAnimation, lottie.loadAnimation = loadAnimation, lottie.setSubframeRendering = setSubframeRendering, lottie.resize = animationManager.resize, lottie.goToAndStop = animationManager.goToAndStop, lottie.destroy = animationManager.destroy, lottie.setQuality = setQuality, lottie.inBrowser = inBrowser, lottie.installPlugin = installPlugin, lottie.freeze = animationManager.freeze, lottie.unfreeze = animationManager.unfreeze, lottie.setVolume = animationManager.setVolume, lottie.mute = animationManager.mute, lottie.unmute = animationManager.unmute, lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations, lottie.useWebWorker = setWebWorker, lottie.setIDPrefix = setPrefix, lottie.__getFactory = getFactory, lottie.version = \"5.12.2\";\n var queryString = \"\";\n if (standalone) {\n var scripts = document.getElementsByTagName(\"script\"), index = scripts.length - 1, myScript = scripts[index] || { src: \"\" };\n queryString = myScript.src ? myScript.src.replace(/^[^\\?]+\\??/, \"\") : \"\", renderer = getQueryVariable(\"renderer\");\n }\n var readyStateCheckInterval = setInterval(checkReady, 100);\n try {\n \"object\" !== _typeof$3(exports) && (window.bodymovin = lottie);\n } catch (t2) {\n }\n var ShapeModifiers = function() {\n var t2 = {}, e2 = {};\n return t2.registerModifier = function(t3, r2) {\n e2[t3] || (e2[t3] = r2);\n }, t2.getModifier = function(t3, r2, i2) {\n return new e2[t3](r2, i2);\n }, t2;\n }();\n function ShapeModifier() {\n }\n function TrimModifier() {\n }\n function PuckerAndBloatModifier() {\n }\n ShapeModifier.prototype.initModifierProperties = function() {\n }, ShapeModifier.prototype.addShapeToModifier = function() {\n }, ShapeModifier.prototype.addShape = function(t2) {\n if (!this.closed) {\n t2.sh.container.addDynamicProperty(t2.sh);\n var e2 = { shape: t2.sh, data: t2, localShapeCollection: shapeCollectionPool.newShapeCollection() };\n this.shapes.push(e2), this.addShapeToModifier(e2), this._isAnimated && t2.setAsAnimated();\n }\n }, ShapeModifier.prototype.init = function(t2, e2) {\n this.shapes = [], this.elem = t2, this.initDynamicPropertyContainer(t2), this.initModifierProperties(t2, e2), this.frameId = initialDefaultFrame, this.closed = false, this.k = false, this.dynamicProperties.length ? this.k = true : this.getValue(true);\n }, ShapeModifier.prototype.processKeys = function() {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties());\n }, extendPrototype([DynamicPropertyContainer], ShapeModifier), extendPrototype([ShapeModifier], TrimModifier), TrimModifier.prototype.initModifierProperties = function(t2, e2) {\n this.s = PropertyFactory.getProp(t2, e2.s, 0, 0.01, this), this.e = PropertyFactory.getProp(t2, e2.e, 0, 0.01, this), this.o = PropertyFactory.getProp(t2, e2.o, 0, 0, this), this.sValue = 0, this.eValue = 0, this.getValue = this.processKeys, this.m = e2.m, this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;\n }, TrimModifier.prototype.addShapeToModifier = function(t2) {\n t2.pathsData = [];\n }, TrimModifier.prototype.calculateShapeEdges = function(t2, e2, r2, i2, s2) {\n var a2 = [];\n e2 <= 1 ? a2.push({ s: t2, e: e2 }) : t2 >= 1 ? a2.push({ s: t2 - 1, e: e2 - 1 }) : (a2.push({ s: t2, e: 1 }), a2.push({ s: 0, e: e2 - 1 }));\n var n2, o2, h2 = [], l2 = a2.length;\n for (n2 = 0; n2 < l2; n2 += 1) {\n var p2, c2;\n (o2 = a2[n2]).e * s2 < i2 || o2.s * s2 > i2 + r2 || (p2 = o2.s * s2 <= i2 ? 0 : (o2.s * s2 - i2) / r2, c2 = o2.e * s2 >= i2 + r2 ? 1 : (o2.e * s2 - i2) / r2, h2.push([p2, c2]));\n }\n return h2.length || h2.push([0, 0]), h2;\n }, TrimModifier.prototype.releasePathsData = function(t2) {\n var e2, r2 = t2.length;\n for (e2 = 0; e2 < r2; e2 += 1) segmentsLengthPool.release(t2[e2]);\n return t2.length = 0, t2;\n }, TrimModifier.prototype.processShapes = function(t2) {\n var e2, r2, i2, s2;\n if (this._mdf || t2) {\n var a2 = this.o.v % 360 / 360;\n if (a2 < 0 && (a2 += 1), (e2 = this.s.v > 1 ? 1 + a2 : this.s.v < 0 ? 0 + a2 : this.s.v + a2) > (r2 = this.e.v > 1 ? 1 + a2 : this.e.v < 0 ? 0 + a2 : this.e.v + a2)) {\n var n2 = e2;\n e2 = r2, r2 = n2;\n }\n e2 = 1e-4 * Math.round(1e4 * e2), r2 = 1e-4 * Math.round(1e4 * r2), this.sValue = e2, this.eValue = r2;\n } else e2 = this.sValue, r2 = this.eValue;\n var o2, h2, l2, p2, c2, f2 = this.shapes.length, u2 = 0;\n if (r2 === e2) for (s2 = 0; s2 < f2; s2 += 1) this.shapes[s2].localShapeCollection.releaseShapes(), this.shapes[s2].shape._mdf = true, this.shapes[s2].shape.paths = this.shapes[s2].localShapeCollection, this._mdf && (this.shapes[s2].pathsData.length = 0);\n else if (1 === r2 && 0 === e2 || 0 === r2 && 1 === e2) {\n if (this._mdf) for (s2 = 0; s2 < f2; s2 += 1) this.shapes[s2].pathsData.length = 0, this.shapes[s2].shape._mdf = true;\n } else {\n var d2, m2, y2 = [];\n for (s2 = 0; s2 < f2; s2 += 1) if ((d2 = this.shapes[s2]).shape._mdf || this._mdf || t2 || 2 === this.m) {\n if (h2 = (i2 = d2.shape.paths)._length, c2 = 0, !d2.shape._mdf && d2.pathsData.length) c2 = d2.totalShapeLength;\n else {\n for (l2 = this.releasePathsData(d2.pathsData), o2 = 0; o2 < h2; o2 += 1) p2 = bez.getSegmentsLength(i2.shapes[o2]), l2.push(p2), c2 += p2.totalLength;\n d2.totalShapeLength = c2, d2.pathsData = l2;\n }\n u2 += c2, d2.shape._mdf = true;\n } else d2.shape.paths = d2.localShapeCollection;\n var g2, v2 = e2, b2 = r2, _2 = 0;\n for (s2 = f2 - 1; s2 >= 0; s2 -= 1) if ((d2 = this.shapes[s2]).shape._mdf) {\n for ((m2 = d2.localShapeCollection).releaseShapes(), 2 === this.m && f2 > 1 ? (g2 = this.calculateShapeEdges(e2, r2, d2.totalShapeLength, _2, u2), _2 += d2.totalShapeLength) : g2 = [[v2, b2]], h2 = g2.length, o2 = 0; o2 < h2; o2 += 1) {\n v2 = g2[o2][0], b2 = g2[o2][1], y2.length = 0, b2 <= 1 ? y2.push({ s: d2.totalShapeLength * v2, e: d2.totalShapeLength * b2 }) : v2 >= 1 ? y2.push({ s: d2.totalShapeLength * (v2 - 1), e: d2.totalShapeLength * (b2 - 1) }) : (y2.push({ s: d2.totalShapeLength * v2, e: d2.totalShapeLength }), y2.push({ s: 0, e: d2.totalShapeLength * (b2 - 1) }));\n var P2 = this.addShapes(d2, y2[0]);\n if (y2[0].s !== y2[0].e) {\n if (y2.length > 1) if (d2.shape.paths.shapes[d2.shape.paths._length - 1].c) {\n var S2 = P2.pop();\n this.addPaths(P2, m2), P2 = this.addShapes(d2, y2[1], S2);\n } else this.addPaths(P2, m2), P2 = this.addShapes(d2, y2[1]);\n this.addPaths(P2, m2);\n }\n }\n d2.shape.paths = m2;\n }\n }\n }, TrimModifier.prototype.addPaths = function(t2, e2) {\n var r2, i2 = t2.length;\n for (r2 = 0; r2 < i2; r2 += 1) e2.addShape(t2[r2]);\n }, TrimModifier.prototype.addSegment = function(t2, e2, r2, i2, s2, a2, n2) {\n s2.setXYAt(e2[0], e2[1], \"o\", a2), s2.setXYAt(r2[0], r2[1], \"i\", a2 + 1), n2 && s2.setXYAt(t2[0], t2[1], \"v\", a2), s2.setXYAt(i2[0], i2[1], \"v\", a2 + 1);\n }, TrimModifier.prototype.addSegmentFromArray = function(t2, e2, r2, i2) {\n e2.setXYAt(t2[1], t2[5], \"o\", r2), e2.setXYAt(t2[2], t2[6], \"i\", r2 + 1), i2 && e2.setXYAt(t2[0], t2[4], \"v\", r2), e2.setXYAt(t2[3], t2[7], \"v\", r2 + 1);\n }, TrimModifier.prototype.addShapes = function(t2, e2, r2) {\n var i2, s2, a2, n2, o2, h2, l2, p2, c2 = t2.pathsData, f2 = t2.shape.paths.shapes, u2 = t2.shape.paths._length, d2 = 0, m2 = [], y2 = true;\n for (r2 ? (o2 = r2._length, p2 = r2._length) : (r2 = shapePool.newElement(), o2 = 0, p2 = 0), m2.push(r2), i2 = 0; i2 < u2; i2 += 1) {\n for (h2 = c2[i2].lengths, r2.c = f2[i2].c, a2 = f2[i2].c ? h2.length : h2.length + 1, s2 = 1; s2 < a2; s2 += 1) if (d2 + (n2 = h2[s2 - 1]).addedLength < e2.s) d2 += n2.addedLength, r2.c = false;\n else {\n if (d2 > e2.e) {\n r2.c = false;\n break;\n }\n e2.s <= d2 && e2.e >= d2 + n2.addedLength ? (this.addSegment(f2[i2].v[s2 - 1], f2[i2].o[s2 - 1], f2[i2].i[s2], f2[i2].v[s2], r2, o2, y2), y2 = false) : (l2 = bez.getNewSegment(f2[i2].v[s2 - 1], f2[i2].v[s2], f2[i2].o[s2 - 1], f2[i2].i[s2], (e2.s - d2) / n2.addedLength, (e2.e - d2) / n2.addedLength, h2[s2 - 1]), this.addSegmentFromArray(l2, r2, o2, y2), y2 = false, r2.c = false), d2 += n2.addedLength, o2 += 1;\n }\n if (f2[i2].c && h2.length) {\n if (n2 = h2[s2 - 1], d2 <= e2.e) {\n var g2 = h2[s2 - 1].addedLength;\n e2.s <= d2 && e2.e >= d2 + g2 ? (this.addSegment(f2[i2].v[s2 - 1], f2[i2].o[s2 - 1], f2[i2].i[0], f2[i2].v[0], r2, o2, y2), y2 = false) : (l2 = bez.getNewSegment(f2[i2].v[s2 - 1], f2[i2].v[0], f2[i2].o[s2 - 1], f2[i2].i[0], (e2.s - d2) / g2, (e2.e - d2) / g2, h2[s2 - 1]), this.addSegmentFromArray(l2, r2, o2, y2), y2 = false, r2.c = false);\n } else r2.c = false;\n d2 += n2.addedLength, o2 += 1;\n }\n if (r2._length && (r2.setXYAt(r2.v[p2][0], r2.v[p2][1], \"i\", p2), r2.setXYAt(r2.v[r2._length - 1][0], r2.v[r2._length - 1][1], \"o\", r2._length - 1)), d2 > e2.e) break;\n i2 < u2 - 1 && (r2 = shapePool.newElement(), y2 = true, m2.push(r2), o2 = 0);\n }\n return m2;\n }, extendPrototype([ShapeModifier], PuckerAndBloatModifier), PuckerAndBloatModifier.prototype.initModifierProperties = function(t2, e2) {\n this.getValue = this.processKeys, this.amount = PropertyFactory.getProp(t2, e2.a, 0, null, this), this._isAnimated = !!this.amount.effectsSequence.length;\n }, PuckerAndBloatModifier.prototype.processPath = function(t2, e2) {\n var r2 = e2 / 100, i2 = [0, 0], s2 = t2._length, a2 = 0;\n for (a2 = 0; a2 < s2; a2 += 1) i2[0] += t2.v[a2][0], i2[1] += t2.v[a2][1];\n i2[0] /= s2, i2[1] /= s2;\n var n2, o2, h2, l2, p2, c2, f2 = shapePool.newElement();\n for (f2.c = t2.c, a2 = 0; a2 < s2; a2 += 1) n2 = t2.v[a2][0] + (i2[0] - t2.v[a2][0]) * r2, o2 = t2.v[a2][1] + (i2[1] - t2.v[a2][1]) * r2, h2 = t2.o[a2][0] + (i2[0] - t2.o[a2][0]) * -r2, l2 = t2.o[a2][1] + (i2[1] - t2.o[a2][1]) * -r2, p2 = t2.i[a2][0] + (i2[0] - t2.i[a2][0]) * -r2, c2 = t2.i[a2][1] + (i2[1] - t2.i[a2][1]) * -r2, f2.setTripleAt(n2, o2, h2, l2, p2, c2, a2);\n return f2;\n }, PuckerAndBloatModifier.prototype.processShapes = function(t2) {\n var e2, r2, i2, s2, a2, n2, o2 = this.shapes.length, h2 = this.amount.v;\n if (0 !== h2) for (r2 = 0; r2 < o2; r2 += 1) {\n if (n2 = (a2 = this.shapes[r2]).localShapeCollection, a2.shape._mdf || this._mdf || t2) for (n2.releaseShapes(), a2.shape._mdf = true, e2 = a2.shape.paths.shapes, s2 = a2.shape.paths._length, i2 = 0; i2 < s2; i2 += 1) n2.addShape(this.processPath(e2[i2], h2));\n a2.shape.paths = a2.localShapeCollection;\n }\n this.dynamicProperties.length || (this._mdf = false);\n };\n var TransformPropertyFactory = function() {\n var t2 = [0, 0];\n function e2(t3, e3, r2) {\n if (this.elem = t3, this.frameId = -1, this.propType = \"transform\", this.data = e3, this.v = new Matrix(), this.pre = new Matrix(), this.appliedTransformations = 0, this.initDynamicPropertyContainer(r2 || t3), e3.p && e3.p.s ? (this.px = PropertyFactory.getProp(t3, e3.p.x, 0, 0, this), this.py = PropertyFactory.getProp(t3, e3.p.y, 0, 0, this), e3.p.z && (this.pz = PropertyFactory.getProp(t3, e3.p.z, 0, 0, this))) : this.p = PropertyFactory.getProp(t3, e3.p || { k: [0, 0, 0] }, 1, 0, this), e3.rx) {\n if (this.rx = PropertyFactory.getProp(t3, e3.rx, 0, degToRads, this), this.ry = PropertyFactory.getProp(t3, e3.ry, 0, degToRads, this), this.rz = PropertyFactory.getProp(t3, e3.rz, 0, degToRads, this), e3.or.k[0].ti) {\n var i2, s2 = e3.or.k.length;\n for (i2 = 0; i2 < s2; i2 += 1) e3.or.k[i2].to = null, e3.or.k[i2].ti = null;\n }\n this.or = PropertyFactory.getProp(t3, e3.or, 1, degToRads, this), this.or.sh = true;\n } else this.r = PropertyFactory.getProp(t3, e3.r || { k: 0 }, 0, degToRads, this);\n e3.sk && (this.sk = PropertyFactory.getProp(t3, e3.sk, 0, degToRads, this), this.sa = PropertyFactory.getProp(t3, e3.sa, 0, degToRads, this)), this.a = PropertyFactory.getProp(t3, e3.a || { k: [0, 0, 0] }, 1, 0, this), this.s = PropertyFactory.getProp(t3, e3.s || { k: [100, 100, 100] }, 1, 0.01, this), e3.o ? this.o = PropertyFactory.getProp(t3, e3.o, 0, 0.01, t3) : this.o = { _mdf: false, v: 1 }, this._isDirty = true, this.dynamicProperties.length || this.getValue(true);\n }\n return e2.prototype = { applyToMatrix: function(t3) {\n var e3 = this._mdf;\n this.iterateDynamicProperties(), this._mdf = this._mdf || e3, this.a && t3.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.s && t3.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.sk && t3.skewFromAxis(-this.sk.v, this.sa.v), this.r ? t3.rotate(-this.r.v) : t3.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.data.p.s ? this.data.p.z ? t3.translate(this.px.v, this.py.v, -this.pz.v) : t3.translate(this.px.v, this.py.v, 0) : t3.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }, getValue: function(e3) {\n if (this.elem.globalData.frameId !== this.frameId) {\n if (this._isDirty && (this.precalculateMatrix(), this._isDirty = false), this.iterateDynamicProperties(), this._mdf || e3) {\n var r2;\n if (this.v.cloneFromProps(this.pre.props), this.appliedTransformations < 1 && this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.appliedTransformations < 2 && this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.sk && this.appliedTransformations < 3 && this.v.skewFromAxis(-this.sk.v, this.sa.v), this.r && this.appliedTransformations < 4 ? this.v.rotate(-this.r.v) : !this.r && this.appliedTransformations < 4 && this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.autoOriented) {\n var i2, s2;\n if (r2 = this.elem.globalData.frameRate, this.p && this.p.keyframes && this.p.getValueAtTime) this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t ? (i2 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / r2, 0), s2 = this.p.getValueAtTime(this.p.keyframes[0].t / r2, 0)) : this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t ? (i2 = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / r2, 0), s2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / r2, 0)) : (i2 = this.p.pv, s2 = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - 0.01) / r2, this.p.offsetTime));\n else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\n i2 = [], s2 = [];\n var a2 = this.px, n2 = this.py;\n a2._caching.lastFrame + a2.offsetTime <= a2.keyframes[0].t ? (i2[0] = a2.getValueAtTime((a2.keyframes[0].t + 0.01) / r2, 0), i2[1] = n2.getValueAtTime((n2.keyframes[0].t + 0.01) / r2, 0), s2[0] = a2.getValueAtTime(a2.keyframes[0].t / r2, 0), s2[1] = n2.getValueAtTime(n2.keyframes[0].t / r2, 0)) : a2._caching.lastFrame + a2.offsetTime >= a2.keyframes[a2.keyframes.length - 1].t ? (i2[0] = a2.getValueAtTime(a2.keyframes[a2.keyframes.length - 1].t / r2, 0), i2[1] = n2.getValueAtTime(n2.keyframes[n2.keyframes.length - 1].t / r2, 0), s2[0] = a2.getValueAtTime((a2.keyframes[a2.keyframes.length - 1].t - 0.01) / r2, 0), s2[1] = n2.getValueAtTime((n2.keyframes[n2.keyframes.length - 1].t - 0.01) / r2, 0)) : (i2 = [a2.pv, n2.pv], s2[0] = a2.getValueAtTime((a2._caching.lastFrame + a2.offsetTime - 0.01) / r2, a2.offsetTime), s2[1] = n2.getValueAtTime((n2._caching.lastFrame + n2.offsetTime - 0.01) / r2, n2.offsetTime));\n } else i2 = s2 = t2;\n this.v.rotate(-Math.atan2(i2[1] - s2[1], i2[0] - s2[0]));\n }\n this.data.p && this.data.p.s ? this.data.p.z ? this.v.translate(this.px.v, this.py.v, -this.pz.v) : this.v.translate(this.px.v, this.py.v, 0) : this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n this.frameId = this.elem.globalData.frameId;\n }\n }, precalculateMatrix: function() {\n if (this.appliedTransformations = 0, this.pre.reset(), !this.a.effectsSequence.length && (this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.appliedTransformations = 1, !this.s.effectsSequence.length)) {\n if (this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.appliedTransformations = 2, this.sk) {\n if (this.sk.effectsSequence.length || this.sa.effectsSequence.length) return;\n this.pre.skewFromAxis(-this.sk.v, this.sa.v), this.appliedTransformations = 3;\n }\n this.r ? this.r.effectsSequence.length || (this.pre.rotate(-this.r.v), this.appliedTransformations = 4) : this.rz.effectsSequence.length || this.ry.effectsSequence.length || this.rx.effectsSequence.length || this.or.effectsSequence.length || (this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.appliedTransformations = 4);\n }\n }, autoOrient: function() {\n } }, extendPrototype([DynamicPropertyContainer], e2), e2.prototype.addDynamicProperty = function(t3) {\n this._addDynamicProperty(t3), this.elem.addDynamicProperty(t3), this._isDirty = true;\n }, e2.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty, { getTransformProperty: function(t3, r2, i2) {\n return new e2(t3, r2, i2);\n } };\n }();\n function RepeaterModifier() {\n }\n function RoundCornersModifier() {\n }\n function floatEqual(t2, e2) {\n return 1e5 * Math.abs(t2 - e2) <= Math.min(Math.abs(t2), Math.abs(e2));\n }\n function floatZero(t2) {\n return Math.abs(t2) <= 1e-5;\n }\n function lerp(t2, e2, r2) {\n return t2 * (1 - r2) + e2 * r2;\n }\n function lerpPoint(t2, e2, r2) {\n return [lerp(t2[0], e2[0], r2), lerp(t2[1], e2[1], r2)];\n }\n function quadRoots(t2, e2, r2) {\n if (0 === t2) return [];\n var i2 = e2 * e2 - 4 * t2 * r2;\n if (i2 < 0) return [];\n var s2 = -e2 / (2 * t2);\n if (0 === i2) return [s2];\n var a2 = Math.sqrt(i2) / (2 * t2);\n return [s2 - a2, s2 + a2];\n }\n function polynomialCoefficients(t2, e2, r2, i2) {\n return [3 * e2 - t2 - 3 * r2 + i2, 3 * t2 - 6 * e2 + 3 * r2, -3 * t2 + 3 * e2, t2];\n }\n function singlePoint(t2) {\n return new PolynomialBezier(t2, t2, t2, t2, false);\n }\n function PolynomialBezier(t2, e2, r2, i2, s2) {\n s2 && pointEqual(t2, e2) && (e2 = lerpPoint(t2, i2, 1 / 3)), s2 && pointEqual(r2, i2) && (r2 = lerpPoint(t2, i2, 2 / 3));\n var a2 = polynomialCoefficients(t2[0], e2[0], r2[0], i2[0]), n2 = polynomialCoefficients(t2[1], e2[1], r2[1], i2[1]);\n this.a = [a2[0], n2[0]], this.b = [a2[1], n2[1]], this.c = [a2[2], n2[2]], this.d = [a2[3], n2[3]], this.points = [t2, e2, r2, i2];\n }\n function extrema(t2, e2) {\n var r2 = t2.points[0][e2], i2 = t2.points[t2.points.length - 1][e2];\n if (r2 > i2) {\n var s2 = i2;\n i2 = r2, r2 = s2;\n }\n for (var a2 = quadRoots(3 * t2.a[e2], 2 * t2.b[e2], t2.c[e2]), n2 = 0; n2 < a2.length; n2 += 1) if (a2[n2] > 0 && a2[n2] < 1) {\n var o2 = t2.point(a2[n2])[e2];\n o2 < r2 ? r2 = o2 : o2 > i2 && (i2 = o2);\n }\n return { min: r2, max: i2 };\n }\n function intersectData(t2, e2, r2) {\n var i2 = t2.boundingBox();\n return { cx: i2.cx, cy: i2.cy, width: i2.width, height: i2.height, bez: t2, t: (e2 + r2) / 2, t1: e2, t2: r2 };\n }\n function splitData(t2) {\n var e2 = t2.bez.split(0.5);\n return [intersectData(e2[0], t2.t1, t2.t), intersectData(e2[1], t2.t, t2.t2)];\n }\n function boxIntersect(t2, e2) {\n return 2 * Math.abs(t2.cx - e2.cx) < t2.width + e2.width && 2 * Math.abs(t2.cy - e2.cy) < t2.height + e2.height;\n }\n function intersectsImpl(t2, e2, r2, i2, s2, a2) {\n if (boxIntersect(t2, e2)) if (r2 >= a2 || t2.width <= i2 && t2.height <= i2 && e2.width <= i2 && e2.height <= i2) s2.push([t2.t, e2.t]);\n else {\n var n2 = splitData(t2), o2 = splitData(e2);\n intersectsImpl(n2[0], o2[0], r2 + 1, i2, s2, a2), intersectsImpl(n2[0], o2[1], r2 + 1, i2, s2, a2), intersectsImpl(n2[1], o2[0], r2 + 1, i2, s2, a2), intersectsImpl(n2[1], o2[1], r2 + 1, i2, s2, a2);\n }\n }\n function crossProduct(t2, e2) {\n return [t2[1] * e2[2] - t2[2] * e2[1], t2[2] * e2[0] - t2[0] * e2[2], t2[0] * e2[1] - t2[1] * e2[0]];\n }\n function lineIntersection(t2, e2, r2, i2) {\n var s2 = [t2[0], t2[1], 1], a2 = [e2[0], e2[1], 1], n2 = [r2[0], r2[1], 1], o2 = [i2[0], i2[1], 1], h2 = crossProduct(crossProduct(s2, a2), crossProduct(n2, o2));\n return floatZero(h2[2]) ? null : [h2[0] / h2[2], h2[1] / h2[2]];\n }\n function polarOffset(t2, e2, r2) {\n return [t2[0] + Math.cos(e2) * r2, t2[1] - Math.sin(e2) * r2];\n }\n function pointDistance(t2, e2) {\n return Math.hypot(t2[0] - e2[0], t2[1] - e2[1]);\n }\n function pointEqual(t2, e2) {\n return floatEqual(t2[0], e2[0]) && floatEqual(t2[1], e2[1]);\n }\n function ZigZagModifier() {\n }\n function setPoint(t2, e2, r2, i2, s2, a2, n2) {\n var o2 = r2 - Math.PI / 2, h2 = r2 + Math.PI / 2, l2 = e2[0] + Math.cos(r2) * i2 * s2, p2 = e2[1] - Math.sin(r2) * i2 * s2;\n t2.setTripleAt(l2, p2, l2 + Math.cos(o2) * a2, p2 - Math.sin(o2) * a2, l2 + Math.cos(h2) * n2, p2 - Math.sin(h2) * n2, t2.length());\n }\n function getPerpendicularVector(t2, e2) {\n var r2 = [e2[0] - t2[0], e2[1] - t2[1]], i2 = 0.5 * -Math.PI;\n return [Math.cos(i2) * r2[0] - Math.sin(i2) * r2[1], Math.sin(i2) * r2[0] + Math.cos(i2) * r2[1]];\n }\n function getProjectingAngle(t2, e2) {\n var r2 = 0 === e2 ? t2.length() - 1 : e2 - 1, i2 = (e2 + 1) % t2.length(), s2 = getPerpendicularVector(t2.v[r2], t2.v[i2]);\n return Math.atan2(0, 1) - Math.atan2(s2[1], s2[0]);\n }\n function zigZagCorner(t2, e2, r2, i2, s2, a2, n2) {\n var o2 = getProjectingAngle(e2, r2), h2 = e2.v[r2 % e2._length], l2 = e2.v[0 === r2 ? e2._length - 1 : r2 - 1], p2 = e2.v[(r2 + 1) % e2._length], c2 = 2 === a2 ? Math.sqrt(Math.pow(h2[0] - l2[0], 2) + Math.pow(h2[1] - l2[1], 2)) : 0, f2 = 2 === a2 ? Math.sqrt(Math.pow(h2[0] - p2[0], 2) + Math.pow(h2[1] - p2[1], 2)) : 0;\n setPoint(t2, e2.v[r2 % e2._length], o2, n2, i2, f2 / (2 * (s2 + 1)), c2 / (2 * (s2 + 1)), a2);\n }\n function zigZagSegment(t2, e2, r2, i2, s2, a2) {\n for (var n2 = 0; n2 < i2; n2 += 1) {\n var o2 = (n2 + 1) / (i2 + 1), h2 = 2 === s2 ? Math.sqrt(Math.pow(e2.points[3][0] - e2.points[0][0], 2) + Math.pow(e2.points[3][1] - e2.points[0][1], 2)) : 0, l2 = e2.normalAngle(o2);\n setPoint(t2, e2.point(o2), l2, a2, r2, h2 / (2 * (i2 + 1)), h2 / (2 * (i2 + 1)), s2), a2 = -a2;\n }\n return a2;\n }\n function linearOffset(t2, e2, r2) {\n var i2 = Math.atan2(e2[0] - t2[0], e2[1] - t2[1]);\n return [polarOffset(t2, i2, r2), polarOffset(e2, i2, r2)];\n }\n function offsetSegment(t2, e2) {\n var r2, i2, s2, a2, n2, o2, h2;\n r2 = (h2 = linearOffset(t2.points[0], t2.points[1], e2))[0], i2 = h2[1], s2 = (h2 = linearOffset(t2.points[1], t2.points[2], e2))[0], a2 = h2[1], n2 = (h2 = linearOffset(t2.points[2], t2.points[3], e2))[0], o2 = h2[1];\n var l2 = lineIntersection(r2, i2, s2, a2);\n null === l2 && (l2 = i2);\n var p2 = lineIntersection(n2, o2, s2, a2);\n return null === p2 && (p2 = n2), new PolynomialBezier(r2, l2, p2, o2);\n }\n function joinLines(t2, e2, r2, i2, s2) {\n var a2 = e2.points[3], n2 = r2.points[0];\n if (3 === i2) return a2;\n if (pointEqual(a2, n2)) return a2;\n if (2 === i2) {\n var o2 = -e2.tangentAngle(1), h2 = -r2.tangentAngle(0) + Math.PI, l2 = lineIntersection(a2, polarOffset(a2, o2 + Math.PI / 2, 100), n2, polarOffset(n2, o2 + Math.PI / 2, 100)), p2 = l2 ? pointDistance(l2, a2) : pointDistance(a2, n2) / 2, c2 = polarOffset(a2, o2, 2 * p2 * roundCorner);\n return t2.setXYAt(c2[0], c2[1], \"o\", t2.length() - 1), c2 = polarOffset(n2, h2, 2 * p2 * roundCorner), t2.setTripleAt(n2[0], n2[1], n2[0], n2[1], c2[0], c2[1], t2.length()), n2;\n }\n var f2 = lineIntersection(pointEqual(a2, e2.points[2]) ? e2.points[0] : e2.points[2], a2, n2, pointEqual(n2, r2.points[1]) ? r2.points[3] : r2.points[1]);\n return f2 && pointDistance(f2, a2) < s2 ? (t2.setTripleAt(f2[0], f2[1], f2[0], f2[1], f2[0], f2[1], t2.length()), f2) : a2;\n }\n function getIntersection(t2, e2) {\n var r2 = t2.intersections(e2);\n return r2.length && floatEqual(r2[0][0], 1) && r2.shift(), r2.length ? r2[0] : null;\n }\n function pruneSegmentIntersection(t2, e2) {\n var r2 = t2.slice(), i2 = e2.slice(), s2 = getIntersection(t2[t2.length - 1], e2[0]);\n return s2 && (r2[t2.length - 1] = t2[t2.length - 1].split(s2[0])[0], i2[0] = e2[0].split(s2[1])[1]), t2.length > 1 && e2.length > 1 && (s2 = getIntersection(t2[0], e2[e2.length - 1])) ? [[t2[0].split(s2[0])[0]], [e2[e2.length - 1].split(s2[1])[1]]] : [r2, i2];\n }\n function pruneIntersections(t2) {\n for (var e2, r2 = 1; r2 < t2.length; r2 += 1) e2 = pruneSegmentIntersection(t2[r2 - 1], t2[r2]), t2[r2 - 1] = e2[0], t2[r2] = e2[1];\n return t2.length > 1 && (e2 = pruneSegmentIntersection(t2[t2.length - 1], t2[0]), t2[t2.length - 1] = e2[0], t2[0] = e2[1]), t2;\n }\n function offsetSegmentSplit(t2, e2) {\n var r2, i2, s2, a2, n2 = t2.inflectionPoints();\n if (0 === n2.length) return [offsetSegment(t2, e2)];\n if (1 === n2.length || floatEqual(n2[1], 1)) return r2 = (s2 = t2.split(n2[0]))[0], i2 = s2[1], [offsetSegment(r2, e2), offsetSegment(i2, e2)];\n r2 = (s2 = t2.split(n2[0]))[0];\n var o2 = (n2[1] - n2[0]) / (1 - n2[0]);\n return a2 = (s2 = s2[1].split(o2))[0], i2 = s2[1], [offsetSegment(r2, e2), offsetSegment(a2, e2), offsetSegment(i2, e2)];\n }\n function OffsetPathModifier() {\n }\n function getFontProperties(t2) {\n for (var e2 = t2.fStyle ? t2.fStyle.split(\" \") : [], r2 = \"normal\", i2 = \"normal\", s2 = e2.length, a2 = 0; a2 < s2; a2 += 1) switch (e2[a2].toLowerCase()) {\n case \"italic\":\n i2 = \"italic\";\n break;\n case \"bold\":\n r2 = \"700\";\n break;\n case \"black\":\n r2 = \"900\";\n break;\n case \"medium\":\n r2 = \"500\";\n break;\n case \"regular\":\n case \"normal\":\n r2 = \"400\";\n break;\n case \"light\":\n case \"thin\":\n r2 = \"200\";\n }\n return { style: i2, weight: t2.fWeight || r2 };\n }\n extendPrototype([ShapeModifier], RepeaterModifier), RepeaterModifier.prototype.initModifierProperties = function(t2, e2) {\n this.getValue = this.processKeys, this.c = PropertyFactory.getProp(t2, e2.c, 0, null, this), this.o = PropertyFactory.getProp(t2, e2.o, 0, null, this), this.tr = TransformPropertyFactory.getTransformProperty(t2, e2.tr, this), this.so = PropertyFactory.getProp(t2, e2.tr.so, 0, 0.01, this), this.eo = PropertyFactory.getProp(t2, e2.tr.eo, 0, 0.01, this), this.data = e2, this.dynamicProperties.length || this.getValue(true), this._isAnimated = !!this.dynamicProperties.length, this.pMatrix = new Matrix(), this.rMatrix = new Matrix(), this.sMatrix = new Matrix(), this.tMatrix = new Matrix(), this.matrix = new Matrix();\n }, RepeaterModifier.prototype.applyTransforms = function(t2, e2, r2, i2, s2, a2) {\n var n2 = a2 ? -1 : 1, o2 = i2.s.v[0] + (1 - i2.s.v[0]) * (1 - s2), h2 = i2.s.v[1] + (1 - i2.s.v[1]) * (1 - s2);\n t2.translate(i2.p.v[0] * n2 * s2, i2.p.v[1] * n2 * s2, i2.p.v[2]), e2.translate(-i2.a.v[0], -i2.a.v[1], i2.a.v[2]), e2.rotate(-i2.r.v * n2 * s2), e2.translate(i2.a.v[0], i2.a.v[1], i2.a.v[2]), r2.translate(-i2.a.v[0], -i2.a.v[1], i2.a.v[2]), r2.scale(a2 ? 1 / o2 : o2, a2 ? 1 / h2 : h2), r2.translate(i2.a.v[0], i2.a.v[1], i2.a.v[2]);\n }, RepeaterModifier.prototype.init = function(t2, e2, r2, i2) {\n for (this.elem = t2, this.arr = e2, this.pos = r2, this.elemsData = i2, this._currentCopies = 0, this._elements = [], this._groups = [], this.frameId = -1, this.initDynamicPropertyContainer(t2), this.initModifierProperties(t2, e2[r2]); r2 > 0; ) r2 -= 1, this._elements.unshift(e2[r2]);\n this.dynamicProperties.length ? this.k = true : this.getValue(true);\n }, RepeaterModifier.prototype.resetElements = function(t2) {\n var e2, r2 = t2.length;\n for (e2 = 0; e2 < r2; e2 += 1) t2[e2]._processed = false, \"gr\" === t2[e2].ty && this.resetElements(t2[e2].it);\n }, RepeaterModifier.prototype.cloneElements = function(t2) {\n var e2 = JSON.parse(JSON.stringify(t2));\n return this.resetElements(e2), e2;\n }, RepeaterModifier.prototype.changeGroupRender = function(t2, e2) {\n var r2, i2 = t2.length;\n for (r2 = 0; r2 < i2; r2 += 1) t2[r2]._render = e2, \"gr\" === t2[r2].ty && this.changeGroupRender(t2[r2].it, e2);\n }, RepeaterModifier.prototype.processShapes = function(t2) {\n var e2, r2, i2, s2, a2, n2 = false;\n if (this._mdf || t2) {\n var o2, h2 = Math.ceil(this.c.v);\n if (this._groups.length < h2) {\n for (; this._groups.length < h2; ) {\n var l2 = { it: this.cloneElements(this._elements), ty: \"gr\" };\n l2.it.push({ a: { a: 0, ix: 1, k: [0, 0] }, nm: \"Transform\", o: { a: 0, ix: 7, k: 100 }, p: { a: 0, ix: 2, k: [0, 0] }, r: { a: 1, ix: 6, k: [{ s: 0, e: 0, t: 0 }, { s: 0, e: 0, t: 1 }] }, s: { a: 0, ix: 3, k: [100, 100] }, sa: { a: 0, ix: 5, k: 0 }, sk: { a: 0, ix: 4, k: 0 }, ty: \"tr\" }), this.arr.splice(0, 0, l2), this._groups.splice(0, 0, l2), this._currentCopies += 1;\n }\n this.elem.reloadShapes(), n2 = true;\n }\n for (a2 = 0, i2 = 0; i2 <= this._groups.length - 1; i2 += 1) {\n if (o2 = a2 < h2, this._groups[i2]._render = o2, this.changeGroupRender(this._groups[i2].it, o2), !o2) {\n var p2 = this.elemsData[i2].it, c2 = p2[p2.length - 1];\n 0 !== c2.transform.op.v ? (c2.transform.op._mdf = true, c2.transform.op.v = 0) : c2.transform.op._mdf = false;\n }\n a2 += 1;\n }\n this._currentCopies = h2;\n var f2 = this.o.v, u2 = f2 % 1, d2 = f2 > 0 ? Math.floor(f2) : Math.ceil(f2), m2 = this.pMatrix.props, y2 = this.rMatrix.props, g2 = this.sMatrix.props;\n this.pMatrix.reset(), this.rMatrix.reset(), this.sMatrix.reset(), this.tMatrix.reset(), this.matrix.reset();\n var v2, b2, _2 = 0;\n if (f2 > 0) {\n for (; _2 < d2; ) this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false), _2 += 1;\n u2 && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, u2, false), _2 += u2);\n } else if (f2 < 0) {\n for (; _2 > d2; ) this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true), _2 -= 1;\n u2 && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -u2, true), _2 -= u2);\n }\n for (i2 = 1 === this.data.m ? 0 : this._currentCopies - 1, s2 = 1 === this.data.m ? 1 : -1, a2 = this._currentCopies; a2; ) {\n if (b2 = (r2 = (e2 = this.elemsData[i2].it)[e2.length - 1].transform.mProps.v.props).length, e2[e2.length - 1].transform.mProps._mdf = true, e2[e2.length - 1].transform.op._mdf = true, e2[e2.length - 1].transform.op.v = 1 === this._currentCopies ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (i2 / (this._currentCopies - 1)), 0 !== _2) {\n for ((0 !== i2 && 1 === s2 || i2 !== this._currentCopies - 1 && -1 === s2) && this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false), this.matrix.transform(y2[0], y2[1], y2[2], y2[3], y2[4], y2[5], y2[6], y2[7], y2[8], y2[9], y2[10], y2[11], y2[12], y2[13], y2[14], y2[15]), this.matrix.transform(g2[0], g2[1], g2[2], g2[3], g2[4], g2[5], g2[6], g2[7], g2[8], g2[9], g2[10], g2[11], g2[12], g2[13], g2[14], g2[15]), this.matrix.transform(m2[0], m2[1], m2[2], m2[3], m2[4], m2[5], m2[6], m2[7], m2[8], m2[9], m2[10], m2[11], m2[12], m2[13], m2[14], m2[15]), v2 = 0; v2 < b2; v2 += 1) r2[v2] = this.matrix.props[v2];\n this.matrix.reset();\n } else for (this.matrix.reset(), v2 = 0; v2 < b2; v2 += 1) r2[v2] = this.matrix.props[v2];\n _2 += 1, a2 -= 1, i2 += s2;\n }\n } else for (a2 = this._currentCopies, i2 = 0, s2 = 1; a2; ) r2 = (e2 = this.elemsData[i2].it)[e2.length - 1].transform.mProps.v.props, e2[e2.length - 1].transform.mProps._mdf = false, e2[e2.length - 1].transform.op._mdf = false, a2 -= 1, i2 += s2;\n return n2;\n }, RepeaterModifier.prototype.addShape = function() {\n }, extendPrototype([ShapeModifier], RoundCornersModifier), RoundCornersModifier.prototype.initModifierProperties = function(t2, e2) {\n this.getValue = this.processKeys, this.rd = PropertyFactory.getProp(t2, e2.r, 0, null, this), this._isAnimated = !!this.rd.effectsSequence.length;\n }, RoundCornersModifier.prototype.processPath = function(t2, e2) {\n var r2, i2 = shapePool.newElement();\n i2.c = t2.c;\n var s2, a2, n2, o2, h2, l2, p2, c2, f2, u2, d2, m2, y2 = t2._length, g2 = 0;\n for (r2 = 0; r2 < y2; r2 += 1) s2 = t2.v[r2], n2 = t2.o[r2], a2 = t2.i[r2], s2[0] === n2[0] && s2[1] === n2[1] && s2[0] === a2[0] && s2[1] === a2[1] ? 0 !== r2 && r2 !== y2 - 1 || t2.c ? (o2 = 0 === r2 ? t2.v[y2 - 1] : t2.v[r2 - 1], l2 = (h2 = Math.sqrt(Math.pow(s2[0] - o2[0], 2) + Math.pow(s2[1] - o2[1], 2))) ? Math.min(h2 / 2, e2) / h2 : 0, p2 = d2 = s2[0] + (o2[0] - s2[0]) * l2, c2 = m2 = s2[1] - (s2[1] - o2[1]) * l2, f2 = p2 - (p2 - s2[0]) * roundCorner, u2 = c2 - (c2 - s2[1]) * roundCorner, i2.setTripleAt(p2, c2, f2, u2, d2, m2, g2), g2 += 1, o2 = r2 === y2 - 1 ? t2.v[0] : t2.v[r2 + 1], l2 = (h2 = Math.sqrt(Math.pow(s2[0] - o2[0], 2) + Math.pow(s2[1] - o2[1], 2))) ? Math.min(h2 / 2, e2) / h2 : 0, p2 = f2 = s2[0] + (o2[0] - s2[0]) * l2, c2 = u2 = s2[1] + (o2[1] - s2[1]) * l2, d2 = p2 - (p2 - s2[0]) * roundCorner, m2 = c2 - (c2 - s2[1]) * roundCorner, i2.setTripleAt(p2, c2, f2, u2, d2, m2, g2), g2 += 1) : (i2.setTripleAt(s2[0], s2[1], n2[0], n2[1], a2[0], a2[1], g2), g2 += 1) : (i2.setTripleAt(t2.v[r2][0], t2.v[r2][1], t2.o[r2][0], t2.o[r2][1], t2.i[r2][0], t2.i[r2][1], g2), g2 += 1);\n return i2;\n }, RoundCornersModifier.prototype.processShapes = function(t2) {\n var e2, r2, i2, s2, a2, n2, o2 = this.shapes.length, h2 = this.rd.v;\n if (0 !== h2) for (r2 = 0; r2 < o2; r2 += 1) {\n if (n2 = (a2 = this.shapes[r2]).localShapeCollection, a2.shape._mdf || this._mdf || t2) for (n2.releaseShapes(), a2.shape._mdf = true, e2 = a2.shape.paths.shapes, s2 = a2.shape.paths._length, i2 = 0; i2 < s2; i2 += 1) n2.addShape(this.processPath(e2[i2], h2));\n a2.shape.paths = a2.localShapeCollection;\n }\n this.dynamicProperties.length || (this._mdf = false);\n }, PolynomialBezier.prototype.point = function(t2) {\n return [((this.a[0] * t2 + this.b[0]) * t2 + this.c[0]) * t2 + this.d[0], ((this.a[1] * t2 + this.b[1]) * t2 + this.c[1]) * t2 + this.d[1]];\n }, PolynomialBezier.prototype.derivative = function(t2) {\n return [(3 * t2 * this.a[0] + 2 * this.b[0]) * t2 + this.c[0], (3 * t2 * this.a[1] + 2 * this.b[1]) * t2 + this.c[1]];\n }, PolynomialBezier.prototype.tangentAngle = function(t2) {\n var e2 = this.derivative(t2);\n return Math.atan2(e2[1], e2[0]);\n }, PolynomialBezier.prototype.normalAngle = function(t2) {\n var e2 = this.derivative(t2);\n return Math.atan2(e2[0], e2[1]);\n }, PolynomialBezier.prototype.inflectionPoints = function() {\n var t2 = this.a[1] * this.b[0] - this.a[0] * this.b[1];\n if (floatZero(t2)) return [];\n var e2 = -0.5 * (this.a[1] * this.c[0] - this.a[0] * this.c[1]) / t2, r2 = e2 * e2 - 1 / 3 * (this.b[1] * this.c[0] - this.b[0] * this.c[1]) / t2;\n if (r2 < 0) return [];\n var i2 = Math.sqrt(r2);\n return floatZero(i2) ? i2 > 0 && i2 < 1 ? [e2] : [] : [e2 - i2, e2 + i2].filter(function(t3) {\n return t3 > 0 && t3 < 1;\n });\n }, PolynomialBezier.prototype.split = function(t2) {\n if (t2 <= 0) return [singlePoint(this.points[0]), this];\n if (t2 >= 1) return [this, singlePoint(this.points[this.points.length - 1])];\n var e2 = lerpPoint(this.points[0], this.points[1], t2), r2 = lerpPoint(this.points[1], this.points[2], t2), i2 = lerpPoint(this.points[2], this.points[3], t2), s2 = lerpPoint(e2, r2, t2), a2 = lerpPoint(r2, i2, t2), n2 = lerpPoint(s2, a2, t2);\n return [new PolynomialBezier(this.points[0], e2, s2, n2, true), new PolynomialBezier(n2, a2, i2, this.points[3], true)];\n }, PolynomialBezier.prototype.bounds = function() {\n return { x: extrema(this, 0), y: extrema(this, 1) };\n }, PolynomialBezier.prototype.boundingBox = function() {\n var t2 = this.bounds();\n return { left: t2.x.min, right: t2.x.max, top: t2.y.min, bottom: t2.y.max, width: t2.x.max - t2.x.min, height: t2.y.max - t2.y.min, cx: (t2.x.max + t2.x.min) / 2, cy: (t2.y.max + t2.y.min) / 2 };\n }, PolynomialBezier.prototype.intersections = function(t2, e2, r2) {\n void 0 === e2 && (e2 = 2), void 0 === r2 && (r2 = 7);\n var i2 = [];\n return intersectsImpl(intersectData(this, 0, 1), intersectData(t2, 0, 1), 0, e2, i2, r2), i2;\n }, PolynomialBezier.shapeSegment = function(t2, e2) {\n var r2 = (e2 + 1) % t2.length();\n return new PolynomialBezier(t2.v[e2], t2.o[e2], t2.i[r2], t2.v[r2], true);\n }, PolynomialBezier.shapeSegmentInverted = function(t2, e2) {\n var r2 = (e2 + 1) % t2.length();\n return new PolynomialBezier(t2.v[r2], t2.i[r2], t2.o[e2], t2.v[e2], true);\n }, extendPrototype([ShapeModifier], ZigZagModifier), ZigZagModifier.prototype.initModifierProperties = function(t2, e2) {\n this.getValue = this.processKeys, this.amplitude = PropertyFactory.getProp(t2, e2.s, 0, null, this), this.frequency = PropertyFactory.getProp(t2, e2.r, 0, null, this), this.pointsType = PropertyFactory.getProp(t2, e2.pt, 0, null, this), this._isAnimated = 0 !== this.amplitude.effectsSequence.length || 0 !== this.frequency.effectsSequence.length || 0 !== this.pointsType.effectsSequence.length;\n }, ZigZagModifier.prototype.processPath = function(t2, e2, r2, i2) {\n var s2 = t2._length, a2 = shapePool.newElement();\n if (a2.c = t2.c, t2.c || (s2 -= 1), 0 === s2) return a2;\n var n2 = -1, o2 = PolynomialBezier.shapeSegment(t2, 0);\n zigZagCorner(a2, t2, 0, e2, r2, i2, n2);\n for (var h2 = 0; h2 < s2; h2 += 1) n2 = zigZagSegment(a2, o2, e2, r2, i2, -n2), o2 = h2 !== s2 - 1 || t2.c ? PolynomialBezier.shapeSegment(t2, (h2 + 1) % s2) : null, zigZagCorner(a2, t2, h2 + 1, e2, r2, i2, n2);\n return a2;\n }, ZigZagModifier.prototype.processShapes = function(t2) {\n var e2, r2, i2, s2, a2, n2, o2 = this.shapes.length, h2 = this.amplitude.v, l2 = Math.max(0, Math.round(this.frequency.v)), p2 = this.pointsType.v;\n if (0 !== h2) for (r2 = 0; r2 < o2; r2 += 1) {\n if (n2 = (a2 = this.shapes[r2]).localShapeCollection, a2.shape._mdf || this._mdf || t2) for (n2.releaseShapes(), a2.shape._mdf = true, e2 = a2.shape.paths.shapes, s2 = a2.shape.paths._length, i2 = 0; i2 < s2; i2 += 1) n2.addShape(this.processPath(e2[i2], h2, l2, p2));\n a2.shape.paths = a2.localShapeCollection;\n }\n this.dynamicProperties.length || (this._mdf = false);\n }, extendPrototype([ShapeModifier], OffsetPathModifier), OffsetPathModifier.prototype.initModifierProperties = function(t2, e2) {\n this.getValue = this.processKeys, this.amount = PropertyFactory.getProp(t2, e2.a, 0, null, this), this.miterLimit = PropertyFactory.getProp(t2, e2.ml, 0, null, this), this.lineJoin = e2.lj, this._isAnimated = 0 !== this.amount.effectsSequence.length;\n }, OffsetPathModifier.prototype.processPath = function(t2, e2, r2, i2) {\n var s2 = shapePool.newElement();\n s2.c = t2.c;\n var a2, n2, o2, h2 = t2.length();\n t2.c || (h2 -= 1);\n var l2 = [];\n for (a2 = 0; a2 < h2; a2 += 1) o2 = PolynomialBezier.shapeSegment(t2, a2), l2.push(offsetSegmentSplit(o2, e2));\n if (!t2.c) for (a2 = h2 - 1; a2 >= 0; a2 -= 1) o2 = PolynomialBezier.shapeSegmentInverted(t2, a2), l2.push(offsetSegmentSplit(o2, e2));\n l2 = pruneIntersections(l2);\n var p2 = null, c2 = null;\n for (a2 = 0; a2 < l2.length; a2 += 1) {\n var f2 = l2[a2];\n for (c2 && (p2 = joinLines(s2, c2, f2[0], r2, i2)), c2 = f2[f2.length - 1], n2 = 0; n2 < f2.length; n2 += 1) o2 = f2[n2], p2 && pointEqual(o2.points[0], p2) ? s2.setXYAt(o2.points[1][0], o2.points[1][1], \"o\", s2.length() - 1) : s2.setTripleAt(o2.points[0][0], o2.points[0][1], o2.points[1][0], o2.points[1][1], o2.points[0][0], o2.points[0][1], s2.length()), s2.setTripleAt(o2.points[3][0], o2.points[3][1], o2.points[3][0], o2.points[3][1], o2.points[2][0], o2.points[2][1], s2.length()), p2 = o2.points[3];\n }\n return l2.length && joinLines(s2, c2, l2[0][0], r2, i2), s2;\n }, OffsetPathModifier.prototype.processShapes = function(t2) {\n var e2, r2, i2, s2, a2, n2, o2 = this.shapes.length, h2 = this.amount.v, l2 = this.miterLimit.v, p2 = this.lineJoin;\n if (0 !== h2) for (r2 = 0; r2 < o2; r2 += 1) {\n if (n2 = (a2 = this.shapes[r2]).localShapeCollection, a2.shape._mdf || this._mdf || t2) for (n2.releaseShapes(), a2.shape._mdf = true, e2 = a2.shape.paths.shapes, s2 = a2.shape.paths._length, i2 = 0; i2 < s2; i2 += 1) n2.addShape(this.processPath(e2[i2], h2, p2, l2));\n a2.shape.paths = a2.localShapeCollection;\n }\n this.dynamicProperties.length || (this._mdf = false);\n };\n var FontManager = function() {\n var t2 = { w: 0, size: 0, shapes: [], data: { shapes: [] } }, e2 = [];\n e2 = e2.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\n var r2 = 127988, i2 = [\"d83cdffb\", \"d83cdffc\", \"d83cdffd\", \"d83cdffe\", \"d83cdfff\"];\n function s2(t3, e3) {\n var r3 = createTag(\"span\");\n r3.setAttribute(\"aria-hidden\", true), r3.style.fontFamily = e3;\n var i3 = createTag(\"span\");\n i3.innerText = \"giItT1WQy@!-/#\", r3.style.position = \"absolute\", r3.style.left = \"-10000px\", r3.style.top = \"-10000px\", r3.style.fontSize = \"300px\", r3.style.fontVariant = \"normal\", r3.style.fontStyle = \"normal\", r3.style.fontWeight = \"normal\", r3.style.letterSpacing = \"0\", r3.appendChild(i3), document.body.appendChild(r3);\n var s3 = i3.offsetWidth;\n return i3.style.fontFamily = function(t4) {\n var e4, r4 = t4.split(\",\"), i4 = r4.length, s4 = [];\n for (e4 = 0; e4 < i4; e4 += 1) \"sans-serif\" !== r4[e4] && \"monospace\" !== r4[e4] && s4.push(r4[e4]);\n return s4.join(\",\");\n }(t3) + \", \" + e3, { node: i3, w: s3, parent: r3 };\n }\n function a2(t3, e3) {\n var r3, i3 = document.body && e3 ? \"svg\" : \"canvas\", s3 = getFontProperties(t3);\n if (\"svg\" === i3) {\n var a3 = createNS(\"text\");\n a3.style.fontSize = \"100px\", a3.setAttribute(\"font-family\", t3.fFamily), a3.setAttribute(\"font-style\", s3.style), a3.setAttribute(\"font-weight\", s3.weight), a3.textContent = \"1\", t3.fClass ? (a3.style.fontFamily = \"inherit\", a3.setAttribute(\"class\", t3.fClass)) : a3.style.fontFamily = t3.fFamily, e3.appendChild(a3), r3 = a3;\n } else {\n var n3 = new OffscreenCanvas(500, 500).getContext(\"2d\");\n n3.font = s3.style + \" \" + s3.weight + \" 100px \" + t3.fFamily, r3 = n3;\n }\n return { measureText: function(t4) {\n return \"svg\" === i3 ? (r3.textContent = t4, r3.getComputedTextLength()) : r3.measureText(t4).width;\n } };\n }\n function n2(t3) {\n var e3 = 0, r3 = t3.charCodeAt(0);\n if (r3 >= 55296 && r3 <= 56319) {\n var i3 = t3.charCodeAt(1);\n i3 >= 56320 && i3 <= 57343 && (e3 = 1024 * (r3 - 55296) + i3 - 56320 + 65536);\n }\n return e3;\n }\n function o2(t3) {\n var e3 = n2(t3);\n return e3 >= 127462 && e3 <= 127487;\n }\n var h2 = function() {\n this.fonts = [], this.chars = null, this.typekitLoaded = 0, this.isLoaded = false, this._warned = false, this.initTime = Date.now(), this.setIsLoadedBinded = this.setIsLoaded.bind(this), this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\n };\n h2.isModifier = function(t3, e3) {\n var r3 = t3.toString(16) + e3.toString(16);\n return -1 !== i2.indexOf(r3);\n }, h2.isZeroWidthJoiner = function(t3) {\n return 8205 === t3;\n }, h2.isFlagEmoji = function(t3) {\n return o2(t3.substr(0, 2)) && o2(t3.substr(2, 2));\n }, h2.isRegionalCode = o2, h2.isCombinedCharacter = function(t3) {\n return -1 !== e2.indexOf(t3);\n }, h2.isRegionalFlag = function(t3, e3) {\n var i3 = n2(t3.substr(e3, 2));\n if (i3 !== r2) return false;\n var s3 = 0;\n for (e3 += 2; s3 < 5; ) {\n if ((i3 = n2(t3.substr(e3, 2))) < 917601 || i3 > 917626) return false;\n s3 += 1, e3 += 2;\n }\n return 917631 === n2(t3.substr(e3, 2));\n }, h2.isVariationSelector = function(t3) {\n return 65039 === t3;\n }, h2.BLACK_FLAG_CODE_POINT = r2;\n var l2 = { addChars: function(t3) {\n if (t3) {\n var e3;\n this.chars || (this.chars = []);\n var r3, i3, s3 = t3.length, a3 = this.chars.length;\n for (e3 = 0; e3 < s3; e3 += 1) {\n for (r3 = 0, i3 = false; r3 < a3; ) this.chars[r3].style === t3[e3].style && this.chars[r3].fFamily === t3[e3].fFamily && this.chars[r3].ch === t3[e3].ch && (i3 = true), r3 += 1;\n i3 || (this.chars.push(t3[e3]), a3 += 1);\n }\n }\n }, addFonts: function(t3, e3) {\n if (t3) {\n if (this.chars) return this.isLoaded = true, void (this.fonts = t3.list);\n if (!document.body) return this.isLoaded = true, t3.list.forEach(function(t4) {\n t4.helper = a2(t4), t4.cache = {};\n }), void (this.fonts = t3.list);\n var r3, i3 = t3.list, n3 = i3.length, o3 = n3;\n for (r3 = 0; r3 < n3; r3 += 1) {\n var h3, l3, p2 = true;\n if (i3[r3].loaded = false, i3[r3].monoCase = s2(i3[r3].fFamily, \"monospace\"), i3[r3].sansCase = s2(i3[r3].fFamily, \"sans-serif\"), i3[r3].fPath) {\n if (\"p\" === i3[r3].fOrigin || 3 === i3[r3].origin) {\n if ((h3 = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + i3[r3].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + i3[r3].fFamily + '\"]')).length > 0 && (p2 = false), p2) {\n var c2 = createTag(\"style\");\n c2.setAttribute(\"f-forigin\", i3[r3].fOrigin), c2.setAttribute(\"f-origin\", i3[r3].origin), c2.setAttribute(\"f-family\", i3[r3].fFamily), c2.type = \"text/css\", c2.innerText = \"@font-face {font-family: \" + i3[r3].fFamily + \"; font-style: normal; src: url('\" + i3[r3].fPath + \"');}\", e3.appendChild(c2);\n }\n } else if (\"g\" === i3[r3].fOrigin || 1 === i3[r3].origin) {\n for (h3 = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]'), l3 = 0; l3 < h3.length; l3 += 1) -1 !== h3[l3].href.indexOf(i3[r3].fPath) && (p2 = false);\n if (p2) {\n var f2 = createTag(\"link\");\n f2.setAttribute(\"f-forigin\", i3[r3].fOrigin), f2.setAttribute(\"f-origin\", i3[r3].origin), f2.type = \"text/css\", f2.rel = \"stylesheet\", f2.href = i3[r3].fPath, document.body.appendChild(f2);\n }\n } else if (\"t\" === i3[r3].fOrigin || 2 === i3[r3].origin) {\n for (h3 = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]'), l3 = 0; l3 < h3.length; l3 += 1) i3[r3].fPath === h3[l3].src && (p2 = false);\n if (p2) {\n var u2 = createTag(\"link\");\n u2.setAttribute(\"f-forigin\", i3[r3].fOrigin), u2.setAttribute(\"f-origin\", i3[r3].origin), u2.setAttribute(\"rel\", \"stylesheet\"), u2.setAttribute(\"href\", i3[r3].fPath), e3.appendChild(u2);\n }\n }\n } else i3[r3].loaded = true, o3 -= 1;\n i3[r3].helper = a2(i3[r3], e3), i3[r3].cache = {}, this.fonts.push(i3[r3]);\n }\n 0 === o3 ? this.isLoaded = true : setTimeout(this.checkLoadedFonts.bind(this), 100);\n } else this.isLoaded = true;\n }, getCharData: function(e3, r3, i3) {\n for (var s3 = 0, a3 = this.chars.length; s3 < a3; ) {\n if (this.chars[s3].ch === e3 && this.chars[s3].style === r3 && this.chars[s3].fFamily === i3) return this.chars[s3];\n s3 += 1;\n }\n return (\"string\" == typeof e3 && 13 !== e3.charCodeAt(0) || !e3) && console && console.warn && !this._warned && (this._warned = true, console.warn(\"Missing character from exported characters list: \", e3, r3, i3)), t2;\n }, getFontByName: function(t3) {\n for (var e3 = 0, r3 = this.fonts.length; e3 < r3; ) {\n if (this.fonts[e3].fName === t3) return this.fonts[e3];\n e3 += 1;\n }\n return this.fonts[0];\n }, measureText: function(t3, e3, r3) {\n var i3 = this.getFontByName(e3), s3 = t3;\n if (!i3.cache[s3]) {\n var a3 = i3.helper;\n if (\" \" === t3) {\n var n3 = a3.measureText(\"|\" + t3 + \"|\"), o3 = a3.measureText(\"||\");\n i3.cache[s3] = (n3 - o3) / 100;\n } else i3.cache[s3] = a3.measureText(t3) / 100;\n }\n return i3.cache[s3] * r3;\n }, checkLoadedFonts: function() {\n var t3, e3, r3, i3 = this.fonts.length, s3 = i3;\n for (t3 = 0; t3 < i3; t3 += 1) this.fonts[t3].loaded ? s3 -= 1 : \"n\" === this.fonts[t3].fOrigin || 0 === this.fonts[t3].origin ? this.fonts[t3].loaded = true : (e3 = this.fonts[t3].monoCase.node, r3 = this.fonts[t3].monoCase.w, e3.offsetWidth !== r3 ? (s3 -= 1, this.fonts[t3].loaded = true) : (e3 = this.fonts[t3].sansCase.node, r3 = this.fonts[t3].sansCase.w, e3.offsetWidth !== r3 && (s3 -= 1, this.fonts[t3].loaded = true)), this.fonts[t3].loaded && (this.fonts[t3].sansCase.parent.parentNode.removeChild(this.fonts[t3].sansCase.parent), this.fonts[t3].monoCase.parent.parentNode.removeChild(this.fonts[t3].monoCase.parent)));\n 0 !== s3 && Date.now() - this.initTime < 5e3 ? setTimeout(this.checkLoadedFontsBinded, 20) : setTimeout(this.setIsLoadedBinded, 10);\n }, setIsLoaded: function() {\n this.isLoaded = true;\n } };\n return h2.prototype = l2, h2;\n }();\n function SlotManager(t2) {\n this.animationData = t2;\n }\n function slotFactory(t2) {\n return new SlotManager(t2);\n }\n function RenderableElement() {\n }\n SlotManager.prototype.getProp = function(t2) {\n return this.animationData.slots && this.animationData.slots[t2.sid] ? Object.assign(t2, this.animationData.slots[t2.sid].p) : t2;\n }, RenderableElement.prototype = { initRenderable: function() {\n this.isInRange = false, this.hidden = false, this.isTransparent = false, this.renderableComponents = [];\n }, addRenderableComponent: function(t2) {\n -1 === this.renderableComponents.indexOf(t2) && this.renderableComponents.push(t2);\n }, removeRenderableComponent: function(t2) {\n -1 !== this.renderableComponents.indexOf(t2) && this.renderableComponents.splice(this.renderableComponents.indexOf(t2), 1);\n }, prepareRenderableFrame: function(t2) {\n this.checkLayerLimits(t2);\n }, checkTransparency: function() {\n this.finalTransform.mProp.o.v <= 0 ? !this.isTransparent && this.globalData.renderConfig.hideOnTransparent && (this.isTransparent = true, this.hide()) : this.isTransparent && (this.isTransparent = false, this.show());\n }, checkLayerLimits: function(t2) {\n this.data.ip - this.data.st <= t2 && this.data.op - this.data.st > t2 ? true !== this.isInRange && (this.globalData._mdf = true, this._mdf = true, this.isInRange = true, this.show()) : false !== this.isInRange && (this.globalData._mdf = true, this.isInRange = false, this.hide());\n }, renderRenderable: function() {\n var t2, e2 = this.renderableComponents.length;\n for (t2 = 0; t2 < e2; t2 += 1) this.renderableComponents[t2].renderFrame(this._isFirstFrame);\n }, sourceRectAtTime: function() {\n return { top: 0, left: 0, width: 100, height: 100 };\n }, getLayerSize: function() {\n return 5 === this.data.ty ? { w: this.data.textData.width, h: this.data.textData.height } : { w: this.data.width, h: this.data.height };\n } };\n var getBlendMode = (blendModeEnums = { 0: \"source-over\", 1: \"multiply\", 2: \"screen\", 3: \"overlay\", 4: \"darken\", 5: \"lighten\", 6: \"color-dodge\", 7: \"color-burn\", 8: \"hard-light\", 9: \"soft-light\", 10: \"difference\", 11: \"exclusion\", 12: \"hue\", 13: \"saturation\", 14: \"color\", 15: \"luminosity\" }, function(t2) {\n return blendModeEnums[t2] || \"\";\n }), blendModeEnums;\n function SliderEffect(t2, e2, r2) {\n this.p = PropertyFactory.getProp(e2, t2.v, 0, 0, r2);\n }\n function AngleEffect(t2, e2, r2) {\n this.p = PropertyFactory.getProp(e2, t2.v, 0, 0, r2);\n }\n function ColorEffect(t2, e2, r2) {\n this.p = PropertyFactory.getProp(e2, t2.v, 1, 0, r2);\n }\n function PointEffect(t2, e2, r2) {\n this.p = PropertyFactory.getProp(e2, t2.v, 1, 0, r2);\n }\n function LayerIndexEffect(t2, e2, r2) {\n this.p = PropertyFactory.getProp(e2, t2.v, 0, 0, r2);\n }\n function MaskIndexEffect(t2, e2, r2) {\n this.p = PropertyFactory.getProp(e2, t2.v, 0, 0, r2);\n }\n function CheckboxEffect(t2, e2, r2) {\n this.p = PropertyFactory.getProp(e2, t2.v, 0, 0, r2);\n }\n function NoValueEffect() {\n this.p = {};\n }\n function EffectsManager(t2, e2) {\n var r2, i2 = t2.ef || [];\n this.effectElements = [];\n var s2, a2 = i2.length;\n for (r2 = 0; r2 < a2; r2 += 1) s2 = new GroupEffect(i2[r2], e2), this.effectElements.push(s2);\n }\n function GroupEffect(t2, e2) {\n this.init(t2, e2);\n }\n function BaseElement() {\n }\n function FrameElement() {\n }\n function FootageElement(t2, e2, r2) {\n this.initFrame(), this.initRenderable(), this.assetData = e2.getAssetData(t2.refId), this.footageData = e2.imageLoader.getAsset(this.assetData), this.initBaseData(t2, e2, r2);\n }\n function AudioElement(t2, e2, r2) {\n this.initFrame(), this.initRenderable(), this.assetData = e2.getAssetData(t2.refId), this.initBaseData(t2, e2, r2), this._isPlaying = false, this._canPlay = false;\n var i2 = this.globalData.getAssetsPath(this.assetData);\n this.audio = this.globalData.audioController.createAudio(i2), this._currentTime = 0, this.globalData.audioController.addAudio(this), this._volumeMultiplier = 1, this._volume = 1, this._previousVolume = null, this.tm = t2.tm ? PropertyFactory.getProp(this, t2.tm, 0, e2.frameRate, this) : { _placeholder: true }, this.lv = PropertyFactory.getProp(this, t2.au && t2.au.lv ? t2.au.lv : { k: [100] }, 1, 0.01, this);\n }\n function BaseRenderer() {\n }\n extendPrototype([DynamicPropertyContainer], GroupEffect), GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties, GroupEffect.prototype.init = function(t2, e2) {\n var r2;\n this.data = t2, this.effectElements = [], this.initDynamicPropertyContainer(e2);\n var i2, s2 = this.data.ef.length, a2 = this.data.ef;\n for (r2 = 0; r2 < s2; r2 += 1) {\n switch (i2 = null, a2[r2].ty) {\n case 0:\n i2 = new SliderEffect(a2[r2], e2, this);\n break;\n case 1:\n i2 = new AngleEffect(a2[r2], e2, this);\n break;\n case 2:\n i2 = new ColorEffect(a2[r2], e2, this);\n break;\n case 3:\n i2 = new PointEffect(a2[r2], e2, this);\n break;\n case 4:\n case 7:\n i2 = new CheckboxEffect(a2[r2], e2, this);\n break;\n case 10:\n i2 = new LayerIndexEffect(a2[r2], e2, this);\n break;\n case 11:\n i2 = new MaskIndexEffect(a2[r2], e2, this);\n break;\n case 5:\n i2 = new EffectsManager(a2[r2], e2, this);\n break;\n default:\n i2 = new NoValueEffect(a2[r2], e2, this);\n }\n i2 && this.effectElements.push(i2);\n }\n }, BaseElement.prototype = { checkMasks: function() {\n if (!this.data.hasMask) return false;\n for (var t2 = 0, e2 = this.data.masksProperties.length; t2 < e2; ) {\n if (\"n\" !== this.data.masksProperties[t2].mode && false !== this.data.masksProperties[t2].cl) return true;\n t2 += 1;\n }\n return false;\n }, initExpressions: function() {\n var t2 = getExpressionInterfaces();\n if (t2) {\n var e2 = t2(\"layer\"), r2 = t2(\"effects\"), i2 = t2(\"shape\"), s2 = t2(\"text\"), a2 = t2(\"comp\");\n this.layerInterface = e2(this), this.data.hasMask && this.maskManager && this.layerInterface.registerMaskInterface(this.maskManager);\n var n2 = r2.createEffectsInterface(this, this.layerInterface);\n this.layerInterface.registerEffectsInterface(n2), 0 === this.data.ty || this.data.xt ? this.compInterface = a2(this) : 4 === this.data.ty ? (this.layerInterface.shapeInterface = i2(this.shapesData, this.itemsData, this.layerInterface), this.layerInterface.content = this.layerInterface.shapeInterface) : 5 === this.data.ty && (this.layerInterface.textInterface = s2(this), this.layerInterface.text = this.layerInterface.textInterface);\n }\n }, setBlendMode: function() {\n var t2 = getBlendMode(this.data.bm);\n (this.baseElement || this.layerElement).style[\"mix-blend-mode\"] = t2;\n }, initBaseData: function(t2, e2, r2) {\n this.globalData = e2, this.comp = r2, this.data = t2, this.layerId = createElementID(), this.data.sr || (this.data.sr = 1), this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);\n }, getType: function() {\n return this.type;\n }, sourceRectAtTime: function() {\n } }, FrameElement.prototype = { initFrame: function() {\n this._isFirstFrame = false, this.dynamicProperties = [], this._mdf = false;\n }, prepareProperties: function(t2, e2) {\n var r2, i2 = this.dynamicProperties.length;\n for (r2 = 0; r2 < i2; r2 += 1) (e2 || this._isParent && \"transform\" === this.dynamicProperties[r2].propType) && (this.dynamicProperties[r2].getValue(), this.dynamicProperties[r2]._mdf && (this.globalData._mdf = true, this._mdf = true));\n }, addDynamicProperty: function(t2) {\n -1 === this.dynamicProperties.indexOf(t2) && this.dynamicProperties.push(t2);\n } }, FootageElement.prototype.prepareFrame = function() {\n }, extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement), FootageElement.prototype.getBaseElement = function() {\n return null;\n }, FootageElement.prototype.renderFrame = function() {\n }, FootageElement.prototype.destroy = function() {\n }, FootageElement.prototype.initExpressions = function() {\n var t2 = getExpressionInterfaces();\n if (t2) {\n var e2 = t2(\"footage\");\n this.layerInterface = e2(this);\n }\n }, FootageElement.prototype.getFootageData = function() {\n return this.footageData;\n }, AudioElement.prototype.prepareFrame = function(t2) {\n if (this.prepareRenderableFrame(t2, true), this.prepareProperties(t2, true), this.tm._placeholder) this._currentTime = t2 / this.data.sr;\n else {\n var e2 = this.tm.v;\n this._currentTime = e2;\n }\n this._volume = this.lv.v[0];\n var r2 = this._volume * this._volumeMultiplier;\n this._previousVolume !== r2 && (this._previousVolume = r2, this.audio.volume(r2));\n }, extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement), AudioElement.prototype.renderFrame = function() {\n this.isInRange && this._canPlay && (this._isPlaying ? (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1) && this.audio.seek(this._currentTime / this.globalData.frameRate) : (this.audio.play(), this.audio.seek(this._currentTime / this.globalData.frameRate), this._isPlaying = true));\n }, AudioElement.prototype.show = function() {\n }, AudioElement.prototype.hide = function() {\n this.audio.pause(), this._isPlaying = false;\n }, AudioElement.prototype.pause = function() {\n this.audio.pause(), this._isPlaying = false, this._canPlay = false;\n }, AudioElement.prototype.resume = function() {\n this._canPlay = true;\n }, AudioElement.prototype.setRate = function(t2) {\n this.audio.rate(t2);\n }, AudioElement.prototype.volume = function(t2) {\n this._volumeMultiplier = t2, this._previousVolume = t2 * this._volume, this.audio.volume(this._previousVolume);\n }, AudioElement.prototype.getBaseElement = function() {\n return null;\n }, AudioElement.prototype.destroy = function() {\n }, AudioElement.prototype.sourceRectAtTime = function() {\n }, AudioElement.prototype.initExpressions = function() {\n }, BaseRenderer.prototype.checkLayers = function(t2) {\n var e2, r2, i2 = this.layers.length;\n for (this.completeLayers = true, e2 = i2 - 1; e2 >= 0; e2 -= 1) this.elements[e2] || (r2 = this.layers[e2]).ip - r2.st <= t2 - this.layers[e2].st && r2.op - r2.st > t2 - this.layers[e2].st && this.buildItem(e2), this.completeLayers = !!this.elements[e2] && this.completeLayers;\n this.checkPendingElements();\n }, BaseRenderer.prototype.createItem = function(t2) {\n switch (t2.ty) {\n case 2:\n return this.createImage(t2);\n case 0:\n return this.createComp(t2);\n case 1:\n return this.createSolid(t2);\n case 3:\n default:\n return this.createNull(t2);\n case 4:\n return this.createShape(t2);\n case 5:\n return this.createText(t2);\n case 6:\n return this.createAudio(t2);\n case 13:\n return this.createCamera(t2);\n case 15:\n return this.createFootage(t2);\n }\n }, BaseRenderer.prototype.createCamera = function() {\n throw new Error(\"You're using a 3d camera. Try the html renderer.\");\n }, BaseRenderer.prototype.createAudio = function(t2) {\n return new AudioElement(t2, this.globalData, this);\n }, BaseRenderer.prototype.createFootage = function(t2) {\n return new FootageElement(t2, this.globalData, this);\n }, BaseRenderer.prototype.buildAllItems = function() {\n var t2, e2 = this.layers.length;\n for (t2 = 0; t2 < e2; t2 += 1) this.buildItem(t2);\n this.checkPendingElements();\n }, BaseRenderer.prototype.includeLayers = function(t2) {\n var e2;\n this.completeLayers = false;\n var r2, i2 = t2.length, s2 = this.layers.length;\n for (e2 = 0; e2 < i2; e2 += 1) for (r2 = 0; r2 < s2; ) {\n if (this.layers[r2].id === t2[e2].id) {\n this.layers[r2] = t2[e2];\n break;\n }\n r2 += 1;\n }\n }, BaseRenderer.prototype.setProjectInterface = function(t2) {\n this.globalData.projectInterface = t2;\n }, BaseRenderer.prototype.initItems = function() {\n this.globalData.progressiveLoad || this.buildAllItems();\n }, BaseRenderer.prototype.buildElementParenting = function(t2, e2, r2) {\n for (var i2 = this.elements, s2 = this.layers, a2 = 0, n2 = s2.length; a2 < n2; ) s2[a2].ind == e2 && (i2[a2] && true !== i2[a2] ? (r2.push(i2[a2]), i2[a2].setAsParent(), void 0 !== s2[a2].parent ? this.buildElementParenting(t2, s2[a2].parent, r2) : t2.setHierarchy(r2)) : (this.buildItem(a2), this.addPendingElement(t2))), a2 += 1;\n }, BaseRenderer.prototype.addPendingElement = function(t2) {\n this.pendingElements.push(t2);\n }, BaseRenderer.prototype.searchExtraCompositions = function(t2) {\n var e2, r2 = t2.length;\n for (e2 = 0; e2 < r2; e2 += 1) if (t2[e2].xt) {\n var i2 = this.createComp(t2[e2]);\n i2.initExpressions(), this.globalData.projectInterface.registerComposition(i2);\n }\n }, BaseRenderer.prototype.getElementById = function(t2) {\n var e2, r2 = this.elements.length;\n for (e2 = 0; e2 < r2; e2 += 1) if (this.elements[e2].data.ind === t2) return this.elements[e2];\n return null;\n }, BaseRenderer.prototype.getElementByPath = function(t2) {\n var e2, r2 = t2.shift();\n if (\"number\" == typeof r2) e2 = this.elements[r2];\n else {\n var i2, s2 = this.elements.length;\n for (i2 = 0; i2 < s2; i2 += 1) if (this.elements[i2].data.nm === r2) {\n e2 = this.elements[i2];\n break;\n }\n }\n return 0 === t2.length ? e2 : e2.getElementByPath(t2);\n }, BaseRenderer.prototype.setupGlobalData = function(t2, e2) {\n this.globalData.fontManager = new FontManager(), this.globalData.slotManager = slotFactory(t2), this.globalData.fontManager.addChars(t2.chars), this.globalData.fontManager.addFonts(t2.fonts, e2), this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem), this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem), this.globalData.imageLoader = this.animationItem.imagePreloader, this.globalData.audioController = this.animationItem.audioController, this.globalData.frameId = 0, this.globalData.frameRate = t2.fr, this.globalData.nm = t2.nm, this.globalData.compSize = { w: t2.w, h: t2.h };\n };\n var effectTypes = { TRANSFORM_EFFECT: \"transformEFfect\" };\n function TransformElement() {\n }\n function MaskElement(t2, e2, r2) {\n this.data = t2, this.element = e2, this.globalData = r2, this.storedData = [], this.masksProperties = this.data.masksProperties || [], this.maskElement = null;\n var i2, s2, a2 = this.globalData.defs, n2 = this.masksProperties ? this.masksProperties.length : 0;\n this.viewData = createSizedArray(n2), this.solidPath = \"\";\n var o2, h2, l2, p2, c2, f2, u2 = this.masksProperties, d2 = 0, m2 = [], y2 = createElementID(), g2 = \"clipPath\", v2 = \"clip-path\";\n for (i2 = 0; i2 < n2; i2 += 1) if ((\"a\" !== u2[i2].mode && \"n\" !== u2[i2].mode || u2[i2].inv || 100 !== u2[i2].o.k || u2[i2].o.x) && (g2 = \"mask\", v2 = \"mask\"), \"s\" !== u2[i2].mode && \"i\" !== u2[i2].mode || 0 !== d2 ? l2 = null : ((l2 = createNS(\"rect\")).setAttribute(\"fill\", \"#ffffff\"), l2.setAttribute(\"width\", this.element.comp.data.w || 0), l2.setAttribute(\"height\", this.element.comp.data.h || 0), m2.push(l2)), s2 = createNS(\"path\"), \"n\" === u2[i2].mode) this.viewData[i2] = { op: PropertyFactory.getProp(this.element, u2[i2].o, 0, 0.01, this.element), prop: ShapePropertyFactory.getShapeProp(this.element, u2[i2], 3), elem: s2, lastPath: \"\" }, a2.appendChild(s2);\n else {\n var b2;\n if (d2 += 1, s2.setAttribute(\"fill\", \"s\" === u2[i2].mode ? \"#000000\" : \"#ffffff\"), s2.setAttribute(\"clip-rule\", \"nonzero\"), 0 !== u2[i2].x.k ? (g2 = \"mask\", v2 = \"mask\", f2 = PropertyFactory.getProp(this.element, u2[i2].x, 0, null, this.element), b2 = createElementID(), (p2 = createNS(\"filter\")).setAttribute(\"id\", b2), (c2 = createNS(\"feMorphology\")).setAttribute(\"operator\", \"erode\"), c2.setAttribute(\"in\", \"SourceGraphic\"), c2.setAttribute(\"radius\", \"0\"), p2.appendChild(c2), a2.appendChild(p2), s2.setAttribute(\"stroke\", \"s\" === u2[i2].mode ? \"#000000\" : \"#ffffff\")) : (c2 = null, f2 = null), this.storedData[i2] = { elem: s2, x: f2, expan: c2, lastPath: \"\", lastOperator: \"\", filterId: b2, lastRadius: 0 }, \"i\" === u2[i2].mode) {\n h2 = m2.length;\n var _2 = createNS(\"g\");\n for (o2 = 0; o2 < h2; o2 += 1) _2.appendChild(m2[o2]);\n var P2 = createNS(\"mask\");\n P2.setAttribute(\"mask-type\", \"alpha\"), P2.setAttribute(\"id\", y2 + \"_\" + d2), P2.appendChild(s2), a2.appendChild(P2), _2.setAttribute(\"mask\", \"url(\" + getLocationHref() + \"#\" + y2 + \"_\" + d2 + \")\"), m2.length = 0, m2.push(_2);\n } else m2.push(s2);\n u2[i2].inv && !this.solidPath && (this.solidPath = this.createLayerSolidPath()), this.viewData[i2] = { elem: s2, lastPath: \"\", op: PropertyFactory.getProp(this.element, u2[i2].o, 0, 0.01, this.element), prop: ShapePropertyFactory.getShapeProp(this.element, u2[i2], 3), invRect: l2 }, this.viewData[i2].prop.k || this.drawPath(u2[i2], this.viewData[i2].prop.v, this.viewData[i2]);\n }\n for (this.maskElement = createNS(g2), n2 = m2.length, i2 = 0; i2 < n2; i2 += 1) this.maskElement.appendChild(m2[i2]);\n d2 > 0 && (this.maskElement.setAttribute(\"id\", y2), this.element.maskedElement.setAttribute(v2, \"url(\" + getLocationHref() + \"#\" + y2 + \")\"), a2.appendChild(this.maskElement)), this.viewData.length && this.element.addRenderableComponent(this);\n }\n TransformElement.prototype = { initTransform: function() {\n var t2 = new Matrix();\n this.finalTransform = { mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : { o: 0 }, _matMdf: false, _localMatMdf: false, _opMdf: false, mat: t2, localMat: t2, localOpacity: 1 }, this.data.ao && (this.finalTransform.mProp.autoOriented = true), this.data.ty;\n }, renderTransform: function() {\n if (this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame, this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame, this.hierarchy) {\n var t2, e2 = this.finalTransform.mat, r2 = 0, i2 = this.hierarchy.length;\n if (!this.finalTransform._matMdf) for (; r2 < i2; ) {\n if (this.hierarchy[r2].finalTransform.mProp._mdf) {\n this.finalTransform._matMdf = true;\n break;\n }\n r2 += 1;\n }\n if (this.finalTransform._matMdf) for (t2 = this.finalTransform.mProp.v.props, e2.cloneFromProps(t2), r2 = 0; r2 < i2; r2 += 1) e2.multiply(this.hierarchy[r2].finalTransform.mProp.v);\n }\n this.finalTransform._matMdf && (this.finalTransform._localMatMdf = this.finalTransform._matMdf), this.finalTransform._opMdf && (this.finalTransform.localOpacity = this.finalTransform.mProp.o.v);\n }, renderLocalTransform: function() {\n if (this.localTransforms) {\n var t2 = 0, e2 = this.localTransforms.length;\n if (this.finalTransform._localMatMdf = this.finalTransform._matMdf, !this.finalTransform._localMatMdf || !this.finalTransform._opMdf) for (; t2 < e2; ) this.localTransforms[t2]._mdf && (this.finalTransform._localMatMdf = true), this.localTransforms[t2]._opMdf && !this.finalTransform._opMdf && (this.finalTransform.localOpacity = this.finalTransform.mProp.o.v, this.finalTransform._opMdf = true), t2 += 1;\n if (this.finalTransform._localMatMdf) {\n var r2 = this.finalTransform.localMat;\n for (this.localTransforms[0].matrix.clone(r2), t2 = 1; t2 < e2; t2 += 1) {\n var i2 = this.localTransforms[t2].matrix;\n r2.multiply(i2);\n }\n r2.multiply(this.finalTransform.mat);\n }\n if (this.finalTransform._opMdf) {\n var s2 = this.finalTransform.localOpacity;\n for (t2 = 0; t2 < e2; t2 += 1) s2 *= 0.01 * this.localTransforms[t2].opacity;\n this.finalTransform.localOpacity = s2;\n }\n }\n }, searchEffectTransforms: function() {\n if (this.renderableEffectsManager) {\n var t2 = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n if (t2.length) {\n this.localTransforms = [], this.finalTransform.localMat = new Matrix();\n var e2 = 0, r2 = t2.length;\n for (e2 = 0; e2 < r2; e2 += 1) this.localTransforms.push(t2[e2]);\n }\n }\n }, globalToLocal: function(t2) {\n var e2 = [];\n e2.push(this.finalTransform);\n for (var r2, i2 = true, s2 = this.comp; i2; ) s2.finalTransform ? (s2.data.hasMask && e2.splice(0, 0, s2.finalTransform), s2 = s2.comp) : i2 = false;\n var a2, n2 = e2.length;\n for (r2 = 0; r2 < n2; r2 += 1) a2 = e2[r2].mat.applyToPointArray(0, 0, 0), t2 = [t2[0] - a2[0], t2[1] - a2[1], 0];\n return t2;\n }, mHelper: new Matrix() }, MaskElement.prototype.getMaskProperty = function(t2) {\n return this.viewData[t2].prop;\n }, MaskElement.prototype.renderFrame = function(t2) {\n var e2, r2 = this.element.finalTransform.mat, i2 = this.masksProperties.length;\n for (e2 = 0; e2 < i2; e2 += 1) if ((this.viewData[e2].prop._mdf || t2) && this.drawPath(this.masksProperties[e2], this.viewData[e2].prop.v, this.viewData[e2]), (this.viewData[e2].op._mdf || t2) && this.viewData[e2].elem.setAttribute(\"fill-opacity\", this.viewData[e2].op.v), \"n\" !== this.masksProperties[e2].mode && (this.viewData[e2].invRect && (this.element.finalTransform.mProp._mdf || t2) && this.viewData[e2].invRect.setAttribute(\"transform\", r2.getInverseMatrix().to2dCSS()), this.storedData[e2].x && (this.storedData[e2].x._mdf || t2))) {\n var s2 = this.storedData[e2].expan;\n this.storedData[e2].x.v < 0 ? (\"erode\" !== this.storedData[e2].lastOperator && (this.storedData[e2].lastOperator = \"erode\", this.storedData[e2].elem.setAttribute(\"filter\", \"url(\" + getLocationHref() + \"#\" + this.storedData[e2].filterId + \")\")), s2.setAttribute(\"radius\", -this.storedData[e2].x.v)) : (\"dilate\" !== this.storedData[e2].lastOperator && (this.storedData[e2].lastOperator = \"dilate\", this.storedData[e2].elem.setAttribute(\"filter\", null)), this.storedData[e2].elem.setAttribute(\"stroke-width\", 2 * this.storedData[e2].x.v));\n }\n }, MaskElement.prototype.getMaskelement = function() {\n return this.maskElement;\n }, MaskElement.prototype.createLayerSolidPath = function() {\n var t2 = \"M0,0 \";\n return t2 += \" h\" + this.globalData.compSize.w, t2 += \" v\" + this.globalData.compSize.h, t2 += \" h-\" + this.globalData.compSize.w, t2 += \" v-\" + this.globalData.compSize.h + \" \";\n }, MaskElement.prototype.drawPath = function(t2, e2, r2) {\n var i2, s2, a2 = \" M\" + e2.v[0][0] + \",\" + e2.v[0][1];\n for (s2 = e2._length, i2 = 1; i2 < s2; i2 += 1) a2 += \" C\" + e2.o[i2 - 1][0] + \",\" + e2.o[i2 - 1][1] + \" \" + e2.i[i2][0] + \",\" + e2.i[i2][1] + \" \" + e2.v[i2][0] + \",\" + e2.v[i2][1];\n if (e2.c && s2 > 1 && (a2 += \" C\" + e2.o[i2 - 1][0] + \",\" + e2.o[i2 - 1][1] + \" \" + e2.i[0][0] + \",\" + e2.i[0][1] + \" \" + e2.v[0][0] + \",\" + e2.v[0][1]), r2.lastPath !== a2) {\n var n2 = \"\";\n r2.elem && (e2.c && (n2 = t2.inv ? this.solidPath + a2 : a2), r2.elem.setAttribute(\"d\", n2)), r2.lastPath = a2;\n }\n }, MaskElement.prototype.destroy = function() {\n this.element = null, this.globalData = null, this.maskElement = null, this.data = null, this.masksProperties = null;\n };\n var filtersFactory = /* @__PURE__ */ function() {\n var t2 = { createFilter: function(t3, e2) {\n var r2 = createNS(\"filter\");\n return r2.setAttribute(\"id\", t3), true !== e2 && (r2.setAttribute(\"filterUnits\", \"objectBoundingBox\"), r2.setAttribute(\"x\", \"0%\"), r2.setAttribute(\"y\", \"0%\"), r2.setAttribute(\"width\", \"100%\"), r2.setAttribute(\"height\", \"100%\")), r2;\n }, createAlphaToLuminanceFilter: function() {\n var t3 = createNS(\"feColorMatrix\");\n return t3.setAttribute(\"type\", \"matrix\"), t3.setAttribute(\"color-interpolation-filters\", \"sRGB\"), t3.setAttribute(\"values\", \"0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1\"), t3;\n } };\n return t2;\n }(), featureSupport = function() {\n var t2 = { maskType: true, svgLumaHidden: true, offscreenCanvas: \"undefined\" != typeof OffscreenCanvas };\n return (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent)) && (t2.maskType = false), /firefox/i.test(navigator.userAgent) && (t2.svgLumaHidden = false), t2;\n }(), registeredEffects$1 = {}, idPrefix = \"filter_result_\";\n function SVGEffects(t2) {\n var e2, r2, i2 = \"SourceGraphic\", s2 = t2.data.ef ? t2.data.ef.length : 0, a2 = createElementID(), n2 = filtersFactory.createFilter(a2, true), o2 = 0;\n for (this.filters = [], e2 = 0; e2 < s2; e2 += 1) {\n r2 = null;\n var h2 = t2.data.ef[e2].ty;\n registeredEffects$1[h2] && (r2 = new (0, registeredEffects$1[h2].effect)(n2, t2.effectsManager.effectElements[e2], t2, idPrefix + o2, i2), i2 = idPrefix + o2, registeredEffects$1[h2].countsAsEffect && (o2 += 1)), r2 && this.filters.push(r2);\n }\n o2 && (t2.globalData.defs.appendChild(n2), t2.layerElement.setAttribute(\"filter\", \"url(\" + getLocationHref() + \"#\" + a2 + \")\")), this.filters.length && t2.addRenderableComponent(this);\n }\n function registerEffect$1(t2, e2, r2) {\n registeredEffects$1[t2] = { effect: e2, countsAsEffect: r2 };\n }\n function SVGBaseElement() {\n }\n function HierarchyElement() {\n }\n function RenderableDOMElement() {\n }\n function IImageElement(t2, e2, r2) {\n this.assetData = e2.getAssetData(t2.refId), this.assetData && this.assetData.sid && (this.assetData = e2.slotManager.getProp(this.assetData)), this.initElement(t2, e2, r2), this.sourceRect = { top: 0, left: 0, width: this.assetData.w, height: this.assetData.h };\n }\n function ProcessedElement(t2, e2) {\n this.elem = t2, this.pos = e2;\n }\n function IShapeElement() {\n }\n SVGEffects.prototype.renderFrame = function(t2) {\n var e2, r2 = this.filters.length;\n for (e2 = 0; e2 < r2; e2 += 1) this.filters[e2].renderFrame(t2);\n }, SVGEffects.prototype.getEffects = function(t2) {\n var e2, r2 = this.filters.length, i2 = [];\n for (e2 = 0; e2 < r2; e2 += 1) this.filters[e2].type === t2 && i2.push(this.filters[e2]);\n return i2;\n }, SVGBaseElement.prototype = { initRendererElement: function() {\n this.layerElement = createNS(\"g\");\n }, createContainerElements: function() {\n this.matteElement = createNS(\"g\"), this.transformedElement = this.layerElement, this.maskedElement = this.layerElement, this._sizeChanged = false;\n var t2 = null;\n if (this.data.td) {\n this.matteMasks = {};\n var e2 = createNS(\"g\");\n e2.setAttribute(\"id\", this.layerId), e2.appendChild(this.layerElement), t2 = e2, this.globalData.defs.appendChild(e2);\n } else this.data.tt ? (this.matteElement.appendChild(this.layerElement), t2 = this.matteElement, this.baseElement = this.matteElement) : this.baseElement = this.layerElement;\n if (this.data.ln && this.layerElement.setAttribute(\"id\", this.data.ln), this.data.cl && this.layerElement.setAttribute(\"class\", this.data.cl), 0 === this.data.ty && !this.data.hd) {\n var r2 = createNS(\"clipPath\"), i2 = createNS(\"path\");\n i2.setAttribute(\"d\", \"M0,0 L\" + this.data.w + \",0 L\" + this.data.w + \",\" + this.data.h + \" L0,\" + this.data.h + \"z\");\n var s2 = createElementID();\n if (r2.setAttribute(\"id\", s2), r2.appendChild(i2), this.globalData.defs.appendChild(r2), this.checkMasks()) {\n var a2 = createNS(\"g\");\n a2.setAttribute(\"clip-path\", \"url(\" + getLocationHref() + \"#\" + s2 + \")\"), a2.appendChild(this.layerElement), this.transformedElement = a2, t2 ? t2.appendChild(this.transformedElement) : this.baseElement = this.transformedElement;\n } else this.layerElement.setAttribute(\"clip-path\", \"url(\" + getLocationHref() + \"#\" + s2 + \")\");\n }\n 0 !== this.data.bm && this.setBlendMode();\n }, renderElement: function() {\n this.finalTransform._localMatMdf && this.transformedElement.setAttribute(\"transform\", this.finalTransform.localMat.to2dCSS()), this.finalTransform._opMdf && this.transformedElement.setAttribute(\"opacity\", this.finalTransform.localOpacity);\n }, destroyBaseElement: function() {\n this.layerElement = null, this.matteElement = null, this.maskManager.destroy();\n }, getBaseElement: function() {\n return this.data.hd ? null : this.baseElement;\n }, createRenderableComponents: function() {\n this.maskManager = new MaskElement(this.data, this, this.globalData), this.renderableEffectsManager = new SVGEffects(this), this.searchEffectTransforms();\n }, getMatte: function(t2) {\n if (this.matteMasks || (this.matteMasks = {}), !this.matteMasks[t2]) {\n var e2, r2, i2, s2, a2 = this.layerId + \"_\" + t2;\n if (1 === t2 || 3 === t2) {\n var n2 = createNS(\"mask\");\n n2.setAttribute(\"id\", a2), n2.setAttribute(\"mask-type\", 3 === t2 ? \"luminance\" : \"alpha\"), (i2 = createNS(\"use\")).setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", \"#\" + this.layerId), n2.appendChild(i2), this.globalData.defs.appendChild(n2), featureSupport.maskType || 1 !== t2 || (n2.setAttribute(\"mask-type\", \"luminance\"), e2 = createElementID(), r2 = filtersFactory.createFilter(e2), this.globalData.defs.appendChild(r2), r2.appendChild(filtersFactory.createAlphaToLuminanceFilter()), (s2 = createNS(\"g\")).appendChild(i2), n2.appendChild(s2), s2.setAttribute(\"filter\", \"url(\" + getLocationHref() + \"#\" + e2 + \")\"));\n } else if (2 === t2) {\n var o2 = createNS(\"mask\");\n o2.setAttribute(\"id\", a2), o2.setAttribute(\"mask-type\", \"alpha\");\n var h2 = createNS(\"g\");\n o2.appendChild(h2), e2 = createElementID(), r2 = filtersFactory.createFilter(e2);\n var l2 = createNS(\"feComponentTransfer\");\n l2.setAttribute(\"in\", \"SourceGraphic\"), r2.appendChild(l2);\n var p2 = createNS(\"feFuncA\");\n p2.setAttribute(\"type\", \"table\"), p2.setAttribute(\"tableValues\", \"1.0 0.0\"), l2.appendChild(p2), this.globalData.defs.appendChild(r2);\n var c2 = createNS(\"rect\");\n c2.setAttribute(\"width\", this.comp.data.w), c2.setAttribute(\"height\", this.comp.data.h), c2.setAttribute(\"x\", \"0\"), c2.setAttribute(\"y\", \"0\"), c2.setAttribute(\"fill\", \"#ffffff\"), c2.setAttribute(\"opacity\", \"0\"), h2.setAttribute(\"filter\", \"url(\" + getLocationHref() + \"#\" + e2 + \")\"), h2.appendChild(c2), (i2 = createNS(\"use\")).setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", \"#\" + this.layerId), h2.appendChild(i2), featureSupport.maskType || (o2.setAttribute(\"mask-type\", \"luminance\"), r2.appendChild(filtersFactory.createAlphaToLuminanceFilter()), s2 = createNS(\"g\"), h2.appendChild(c2), s2.appendChild(this.layerElement), h2.appendChild(s2)), this.globalData.defs.appendChild(o2);\n }\n this.matteMasks[t2] = a2;\n }\n return this.matteMasks[t2];\n }, setMatte: function(t2) {\n this.matteElement && this.matteElement.setAttribute(\"mask\", \"url(\" + getLocationHref() + \"#\" + t2 + \")\");\n } }, HierarchyElement.prototype = { initHierarchy: function() {\n this.hierarchy = [], this._isParent = false, this.checkParenting();\n }, setHierarchy: function(t2) {\n this.hierarchy = t2;\n }, setAsParent: function() {\n this._isParent = true;\n }, checkParenting: function() {\n void 0 !== this.data.parent && this.comp.buildElementParenting(this, this.data.parent, []);\n } }, extendPrototype([RenderableElement, createProxyFunction({ initElement: function(t2, e2, r2) {\n this.initFrame(), this.initBaseData(t2, e2, r2), this.initTransform(t2, e2, r2), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide();\n }, hide: function() {\n this.hidden || this.isInRange && !this.isTransparent || ((this.baseElement || this.layerElement).style.display = \"none\", this.hidden = true);\n }, show: function() {\n this.isInRange && !this.isTransparent && (this.data.hd || ((this.baseElement || this.layerElement).style.display = \"block\"), this.hidden = false, this._isFirstFrame = true);\n }, renderFrame: function() {\n this.data.hd || this.hidden || (this.renderTransform(), this.renderRenderable(), this.renderLocalTransform(), this.renderElement(), this.renderInnerContent(), this._isFirstFrame && (this._isFirstFrame = false));\n }, renderInnerContent: function() {\n }, prepareFrame: function(t2) {\n this._mdf = false, this.prepareRenderableFrame(t2), this.prepareProperties(t2, this.isInRange), this.checkTransparency();\n }, destroy: function() {\n this.innerElem = null, this.destroyBaseElement();\n } })], RenderableDOMElement), extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement), IImageElement.prototype.createContent = function() {\n var t2 = this.globalData.getAssetsPath(this.assetData);\n this.innerElem = createNS(\"image\"), this.innerElem.setAttribute(\"width\", this.assetData.w + \"px\"), this.innerElem.setAttribute(\"height\", this.assetData.h + \"px\"), this.innerElem.setAttribute(\"preserveAspectRatio\", this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio), this.innerElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", t2), this.layerElement.appendChild(this.innerElem);\n }, IImageElement.prototype.sourceRectAtTime = function() {\n return this.sourceRect;\n }, IShapeElement.prototype = { addShapeToModifiers: function(t2) {\n var e2, r2 = this.shapeModifiers.length;\n for (e2 = 0; e2 < r2; e2 += 1) this.shapeModifiers[e2].addShape(t2);\n }, isShapeInAnimatedModifiers: function(t2) {\n for (var e2 = this.shapeModifiers.length; 0 < e2; ) if (this.shapeModifiers[0].isAnimatedWithShape(t2)) return true;\n return false;\n }, renderModifiers: function() {\n if (this.shapeModifiers.length) {\n var t2, e2 = this.shapes.length;\n for (t2 = 0; t2 < e2; t2 += 1) this.shapes[t2].sh.reset();\n for (t2 = (e2 = this.shapeModifiers.length) - 1; t2 >= 0 && !this.shapeModifiers[t2].processShapes(this._isFirstFrame); t2 -= 1) ;\n }\n }, searchProcessedElement: function(t2) {\n for (var e2 = this.processedElements, r2 = 0, i2 = e2.length; r2 < i2; ) {\n if (e2[r2].elem === t2) return e2[r2].pos;\n r2 += 1;\n }\n return 0;\n }, addProcessedElement: function(t2, e2) {\n for (var r2 = this.processedElements, i2 = r2.length; i2; ) if (r2[i2 -= 1].elem === t2) return void (r2[i2].pos = e2);\n r2.push(new ProcessedElement(t2, e2));\n }, prepareFrame: function(t2) {\n this.prepareRenderableFrame(t2), this.prepareProperties(t2, this.isInRange);\n } };\n var lineCapEnum = { 1: \"butt\", 2: \"round\", 3: \"square\" }, lineJoinEnum = { 1: \"miter\", 2: \"round\", 3: \"bevel\" };\n function SVGShapeData(t2, e2, r2) {\n this.caches = [], this.styles = [], this.transformers = t2, this.lStr = \"\", this.sh = r2, this.lvl = e2, this._isAnimated = !!r2.k;\n for (var i2 = 0, s2 = t2.length; i2 < s2; ) {\n if (t2[i2].mProps.dynamicProperties.length) {\n this._isAnimated = true;\n break;\n }\n i2 += 1;\n }\n }\n function SVGStyleData(t2, e2) {\n this.data = t2, this.type = t2.ty, this.d = \"\", this.lvl = e2, this._mdf = false, this.closed = true === t2.hd, this.pElem = createNS(\"path\"), this.msElem = null;\n }\n function DashProperty(t2, e2, r2, i2) {\n var s2;\n this.elem = t2, this.frameId = -1, this.dataProps = createSizedArray(e2.length), this.renderer = r2, this.k = false, this.dashStr = \"\", this.dashArray = createTypedArray(\"float32\", e2.length ? e2.length - 1 : 0), this.dashoffset = createTypedArray(\"float32\", 1), this.initDynamicPropertyContainer(i2);\n var a2, n2 = e2.length || 0;\n for (s2 = 0; s2 < n2; s2 += 1) a2 = PropertyFactory.getProp(t2, e2[s2].v, 0, 0, this), this.k = a2.k || this.k, this.dataProps[s2] = { n: e2[s2].n, p: a2 };\n this.k || this.getValue(true), this._isAnimated = this.k;\n }\n function SVGStrokeStyleData(t2, e2, r2) {\n this.initDynamicPropertyContainer(t2), this.getValue = this.iterateDynamicProperties, this.o = PropertyFactory.getProp(t2, e2.o, 0, 0.01, this), this.w = PropertyFactory.getProp(t2, e2.w, 0, null, this), this.d = new DashProperty(t2, e2.d || {}, \"svg\", this), this.c = PropertyFactory.getProp(t2, e2.c, 1, 255, this), this.style = r2, this._isAnimated = !!this._isAnimated;\n }\n function SVGFillStyleData(t2, e2, r2) {\n this.initDynamicPropertyContainer(t2), this.getValue = this.iterateDynamicProperties, this.o = PropertyFactory.getProp(t2, e2.o, 0, 0.01, this), this.c = PropertyFactory.getProp(t2, e2.c, 1, 255, this), this.style = r2;\n }\n function SVGNoStyleData(t2, e2, r2) {\n this.initDynamicPropertyContainer(t2), this.getValue = this.iterateDynamicProperties, this.style = r2;\n }\n function GradientProperty(t2, e2, r2) {\n this.data = e2, this.c = createTypedArray(\"uint8c\", 4 * e2.p);\n var i2 = e2.k.k[0].s ? e2.k.k[0].s.length - 4 * e2.p : e2.k.k.length - 4 * e2.p;\n this.o = createTypedArray(\"float32\", i2), this._cmdf = false, this._omdf = false, this._collapsable = this.checkCollapsable(), this._hasOpacity = i2, this.initDynamicPropertyContainer(r2), this.prop = PropertyFactory.getProp(t2, e2.k, 1, null, this), this.k = this.prop.k, this.getValue(true);\n }\n function SVGGradientFillStyleData(t2, e2, r2) {\n this.initDynamicPropertyContainer(t2), this.getValue = this.iterateDynamicProperties, this.initGradientData(t2, e2, r2);\n }\n function SVGGradientStrokeStyleData(t2, e2, r2) {\n this.initDynamicPropertyContainer(t2), this.getValue = this.iterateDynamicProperties, this.w = PropertyFactory.getProp(t2, e2.w, 0, null, this), this.d = new DashProperty(t2, e2.d || {}, \"svg\", this), this.initGradientData(t2, e2, r2), this._isAnimated = !!this._isAnimated;\n }\n function ShapeGroupData() {\n this.it = [], this.prevViewData = [], this.gr = createNS(\"g\");\n }\n function SVGTransformData(t2, e2, r2) {\n this.transform = { mProps: t2, op: e2, container: r2 }, this.elements = [], this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\n }\n SVGShapeData.prototype.setAsAnimated = function() {\n this._isAnimated = true;\n }, SVGStyleData.prototype.reset = function() {\n this.d = \"\", this._mdf = false;\n }, DashProperty.prototype.getValue = function(t2) {\n if ((this.elem.globalData.frameId !== this.frameId || t2) && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf = this._mdf || t2, this._mdf)) {\n var e2 = 0, r2 = this.dataProps.length;\n for (\"svg\" === this.renderer && (this.dashStr = \"\"), e2 = 0; e2 < r2; e2 += 1) \"o\" !== this.dataProps[e2].n ? \"svg\" === this.renderer ? this.dashStr += \" \" + this.dataProps[e2].p.v : this.dashArray[e2] = this.dataProps[e2].p.v : this.dashoffset[0] = this.dataProps[e2].p.v;\n }\n }, extendPrototype([DynamicPropertyContainer], DashProperty), extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData), extendPrototype([DynamicPropertyContainer], SVGFillStyleData), extendPrototype([DynamicPropertyContainer], SVGNoStyleData), GradientProperty.prototype.comparePoints = function(t2, e2) {\n for (var r2 = 0, i2 = this.o.length / 2; r2 < i2; ) {\n if (Math.abs(t2[4 * r2] - t2[4 * e2 + 2 * r2]) > 0.01) return false;\n r2 += 1;\n }\n return true;\n }, GradientProperty.prototype.checkCollapsable = function() {\n if (this.o.length / 2 != this.c.length / 4) return false;\n if (this.data.k.k[0].s) for (var t2 = 0, e2 = this.data.k.k.length; t2 < e2; ) {\n if (!this.comparePoints(this.data.k.k[t2].s, this.data.p)) return false;\n t2 += 1;\n }\n else if (!this.comparePoints(this.data.k.k, this.data.p)) return false;\n return true;\n }, GradientProperty.prototype.getValue = function(t2) {\n if (this.prop.getValue(), this._mdf = false, this._cmdf = false, this._omdf = false, this.prop._mdf || t2) {\n var e2, r2, i2, s2 = 4 * this.data.p;\n for (e2 = 0; e2 < s2; e2 += 1) r2 = e2 % 4 == 0 ? 100 : 255, i2 = Math.round(this.prop.v[e2] * r2), this.c[e2] !== i2 && (this.c[e2] = i2, this._cmdf = !t2);\n if (this.o.length) for (s2 = this.prop.v.length, e2 = 4 * this.data.p; e2 < s2; e2 += 1) r2 = e2 % 2 == 0 ? 100 : 1, i2 = e2 % 2 == 0 ? Math.round(100 * this.prop.v[e2]) : this.prop.v[e2], this.o[e2 - 4 * this.data.p] !== i2 && (this.o[e2 - 4 * this.data.p] = i2, this._omdf = !t2);\n this._mdf = !t2;\n }\n }, extendPrototype([DynamicPropertyContainer], GradientProperty), SVGGradientFillStyleData.prototype.initGradientData = function(t2, e2, r2) {\n this.o = PropertyFactory.getProp(t2, e2.o, 0, 0.01, this), this.s = PropertyFactory.getProp(t2, e2.s, 1, null, this), this.e = PropertyFactory.getProp(t2, e2.e, 1, null, this), this.h = PropertyFactory.getProp(t2, e2.h || { k: 0 }, 0, 0.01, this), this.a = PropertyFactory.getProp(t2, e2.a || { k: 0 }, 0, degToRads, this), this.g = new GradientProperty(t2, e2.g, this), this.style = r2, this.stops = [], this.setGradientData(r2.pElem, e2), this.setGradientOpacity(e2, r2), this._isAnimated = !!this._isAnimated;\n }, SVGGradientFillStyleData.prototype.setGradientData = function(t2, e2) {\n var r2 = createElementID(), i2 = createNS(1 === e2.t ? \"linearGradient\" : \"radialGradient\");\n i2.setAttribute(\"id\", r2), i2.setAttribute(\"spreadMethod\", \"pad\"), i2.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n var s2, a2, n2, o2 = [];\n for (n2 = 4 * e2.g.p, a2 = 0; a2 < n2; a2 += 4) s2 = createNS(\"stop\"), i2.appendChild(s2), o2.push(s2);\n t2.setAttribute(\"gf\" === e2.ty ? \"fill\" : \"stroke\", \"url(\" + getLocationHref() + \"#\" + r2 + \")\"), this.gf = i2, this.cst = o2;\n }, SVGGradientFillStyleData.prototype.setGradientOpacity = function(t2, e2) {\n if (this.g._hasOpacity && !this.g._collapsable) {\n var r2, i2, s2, a2 = createNS(\"mask\"), n2 = createNS(\"path\");\n a2.appendChild(n2);\n var o2 = createElementID(), h2 = createElementID();\n a2.setAttribute(\"id\", h2);\n var l2 = createNS(1 === t2.t ? \"linearGradient\" : \"radialGradient\");\n l2.setAttribute(\"id\", o2), l2.setAttribute(\"spreadMethod\", \"pad\"), l2.setAttribute(\"gradientUnits\", \"userSpaceOnUse\"), s2 = t2.g.k.k[0].s ? t2.g.k.k[0].s.length : t2.g.k.k.length;\n var p2 = this.stops;\n for (i2 = 4 * t2.g.p; i2 < s2; i2 += 2) (r2 = createNS(\"stop\")).setAttribute(\"stop-color\", \"rgb(255,255,255)\"), l2.appendChild(r2), p2.push(r2);\n n2.setAttribute(\"gf\" === t2.ty ? \"fill\" : \"stroke\", \"url(\" + getLocationHref() + \"#\" + o2 + \")\"), \"gs\" === t2.ty && (n2.setAttribute(\"stroke-linecap\", lineCapEnum[t2.lc || 2]), n2.setAttribute(\"stroke-linejoin\", lineJoinEnum[t2.lj || 2]), 1 === t2.lj && n2.setAttribute(\"stroke-miterlimit\", t2.ml)), this.of = l2, this.ms = a2, this.ost = p2, this.maskId = h2, e2.msElem = n2;\n }\n }, extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData), extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n var buildShapeString = function(t2, e2, r2, i2) {\n if (0 === e2) return \"\";\n var s2, a2 = t2.o, n2 = t2.i, o2 = t2.v, h2 = \" M\" + i2.applyToPointStringified(o2[0][0], o2[0][1]);\n for (s2 = 1; s2 < e2; s2 += 1) h2 += \" C\" + i2.applyToPointStringified(a2[s2 - 1][0], a2[s2 - 1][1]) + \" \" + i2.applyToPointStringified(n2[s2][0], n2[s2][1]) + \" \" + i2.applyToPointStringified(o2[s2][0], o2[s2][1]);\n return r2 && e2 && (h2 += \" C\" + i2.applyToPointStringified(a2[s2 - 1][0], a2[s2 - 1][1]) + \" \" + i2.applyToPointStringified(n2[0][0], n2[0][1]) + \" \" + i2.applyToPointStringified(o2[0][0], o2[0][1]), h2 += \"z\"), h2;\n }, SVGElementsRenderer = function() {\n var t2 = new Matrix(), e2 = new Matrix();\n function r2(t3, e3, r3) {\n (r3 || e3.transform.op._mdf) && e3.transform.container.setAttribute(\"opacity\", e3.transform.op.v), (r3 || e3.transform.mProps._mdf) && e3.transform.container.setAttribute(\"transform\", e3.transform.mProps.v.to2dCSS());\n }\n function i2() {\n }\n function s2(r3, i3, s3) {\n var a3, n3, o3, h3, l2, p2, c2, f2, u2, d2, m2 = i3.styles.length, y2 = i3.lvl;\n for (p2 = 0; p2 < m2; p2 += 1) {\n if (h3 = i3.sh._mdf || s3, i3.styles[p2].lvl < y2) {\n for (f2 = e2.reset(), u2 = y2 - i3.styles[p2].lvl, d2 = i3.transformers.length - 1; !h3 && u2 > 0; ) h3 = i3.transformers[d2].mProps._mdf || h3, u2 -= 1, d2 -= 1;\n if (h3) for (u2 = y2 - i3.styles[p2].lvl, d2 = i3.transformers.length - 1; u2 > 0; ) f2.multiply(i3.transformers[d2].mProps.v), u2 -= 1, d2 -= 1;\n } else f2 = t2;\n if (n3 = (c2 = i3.sh.paths)._length, h3) {\n for (o3 = \"\", a3 = 0; a3 < n3; a3 += 1) (l2 = c2.shapes[a3]) && l2._length && (o3 += buildShapeString(l2, l2._length, l2.c, f2));\n i3.caches[p2] = o3;\n } else o3 = i3.caches[p2];\n i3.styles[p2].d += true === r3.hd ? \"\" : o3, i3.styles[p2]._mdf = h3 || i3.styles[p2]._mdf;\n }\n }\n function a2(t3, e3, r3) {\n var i3 = e3.style;\n (e3.c._mdf || r3) && i3.pElem.setAttribute(\"fill\", \"rgb(\" + bmFloor(e3.c.v[0]) + \",\" + bmFloor(e3.c.v[1]) + \",\" + bmFloor(e3.c.v[2]) + \")\"), (e3.o._mdf || r3) && i3.pElem.setAttribute(\"fill-opacity\", e3.o.v);\n }\n function n2(t3, e3, r3) {\n o2(t3, e3, r3), h2(0, e3, r3);\n }\n function o2(t3, e3, r3) {\n var i3, s3, a3, n3, o3, h3 = e3.gf, l2 = e3.g._hasOpacity, p2 = e3.s.v, c2 = e3.e.v;\n if (e3.o._mdf || r3) {\n var f2 = \"gf\" === t3.ty ? \"fill-opacity\" : \"stroke-opacity\";\n e3.style.pElem.setAttribute(f2, e3.o.v);\n }\n if (e3.s._mdf || r3) {\n var u2 = 1 === t3.t ? \"x1\" : \"cx\", d2 = \"x1\" === u2 ? \"y1\" : \"cy\";\n h3.setAttribute(u2, p2[0]), h3.setAttribute(d2, p2[1]), l2 && !e3.g._collapsable && (e3.of.setAttribute(u2, p2[0]), e3.of.setAttribute(d2, p2[1]));\n }\n if (e3.g._cmdf || r3) {\n i3 = e3.cst;\n var m2 = e3.g.c;\n for (a3 = i3.length, s3 = 0; s3 < a3; s3 += 1) (n3 = i3[s3]).setAttribute(\"offset\", m2[4 * s3] + \"%\"), n3.setAttribute(\"stop-color\", \"rgb(\" + m2[4 * s3 + 1] + \",\" + m2[4 * s3 + 2] + \",\" + m2[4 * s3 + 3] + \")\");\n }\n if (l2 && (e3.g._omdf || r3)) {\n var y2 = e3.g.o;\n for (a3 = (i3 = e3.g._collapsable ? e3.cst : e3.ost).length, s3 = 0; s3 < a3; s3 += 1) n3 = i3[s3], e3.g._collapsable || n3.setAttribute(\"offset\", y2[2 * s3] + \"%\"), n3.setAttribute(\"stop-opacity\", y2[2 * s3 + 1]);\n }\n if (1 === t3.t) (e3.e._mdf || r3) && (h3.setAttribute(\"x2\", c2[0]), h3.setAttribute(\"y2\", c2[1]), l2 && !e3.g._collapsable && (e3.of.setAttribute(\"x2\", c2[0]), e3.of.setAttribute(\"y2\", c2[1])));\n else if ((e3.s._mdf || e3.e._mdf || r3) && (o3 = Math.sqrt(Math.pow(p2[0] - c2[0], 2) + Math.pow(p2[1] - c2[1], 2)), h3.setAttribute(\"r\", o3), l2 && !e3.g._collapsable && e3.of.setAttribute(\"r\", o3)), e3.e._mdf || e3.h._mdf || e3.a._mdf || r3) {\n o3 || (o3 = Math.sqrt(Math.pow(p2[0] - c2[0], 2) + Math.pow(p2[1] - c2[1], 2)));\n var g2 = Math.atan2(c2[1] - p2[1], c2[0] - p2[0]), v2 = e3.h.v;\n v2 >= 1 ? v2 = 0.99 : v2 <= -1 && (v2 = -0.99);\n var b2 = o3 * v2, _2 = Math.cos(g2 + e3.a.v) * b2 + p2[0], P2 = Math.sin(g2 + e3.a.v) * b2 + p2[1];\n h3.setAttribute(\"fx\", _2), h3.setAttribute(\"fy\", P2), l2 && !e3.g._collapsable && (e3.of.setAttribute(\"fx\", _2), e3.of.setAttribute(\"fy\", P2));\n }\n }\n function h2(t3, e3, r3) {\n var i3 = e3.style, s3 = e3.d;\n s3 && (s3._mdf || r3) && s3.dashStr && (i3.pElem.setAttribute(\"stroke-dasharray\", s3.dashStr), i3.pElem.setAttribute(\"stroke-dashoffset\", s3.dashoffset[0])), e3.c && (e3.c._mdf || r3) && i3.pElem.setAttribute(\"stroke\", \"rgb(\" + bmFloor(e3.c.v[0]) + \",\" + bmFloor(e3.c.v[1]) + \",\" + bmFloor(e3.c.v[2]) + \")\"), (e3.o._mdf || r3) && i3.pElem.setAttribute(\"stroke-opacity\", e3.o.v), (e3.w._mdf || r3) && (i3.pElem.setAttribute(\"stroke-width\", e3.w.v), i3.msElem && i3.msElem.setAttribute(\"stroke-width\", e3.w.v));\n }\n return { createRenderFunction: function(t3) {\n switch (t3.ty) {\n case \"fl\":\n return a2;\n case \"gf\":\n return o2;\n case \"gs\":\n return n2;\n case \"st\":\n return h2;\n case \"sh\":\n case \"el\":\n case \"rc\":\n case \"sr\":\n return s2;\n case \"tr\":\n return r2;\n case \"no\":\n return i2;\n default:\n return null;\n }\n } };\n }();\n function SVGShapeElement(t2, e2, r2) {\n this.shapes = [], this.shapesData = t2.shapes, this.stylesList = [], this.shapeModifiers = [], this.itemsData = [], this.processedElements = [], this.animatedContents = [], this.initElement(t2, e2, r2), this.prevViewData = [];\n }\n function LetterProps(t2, e2, r2, i2, s2, a2) {\n this.o = t2, this.sw = e2, this.sc = r2, this.fc = i2, this.m = s2, this.p = a2, this._mdf = { o: true, sw: !!e2, sc: !!r2, fc: !!i2, m: true, p: true };\n }\n function TextProperty(t2, e2) {\n this._frameId = initialDefaultFrame, this.pv = \"\", this.v = \"\", this.kf = false, this._isFirstFrame = true, this._mdf = false, e2.d && e2.d.sid && (e2.d = t2.globalData.slotManager.getProp(e2.d)), this.data = e2, this.elem = t2, this.comp = this.elem.comp, this.keysIndex = 0, this.canResize = false, this.minimumFontSize = 1, this.effectsSequence = [], this.currentData = { ascent: 0, boxWidth: this.defaultBoxWidth, f: \"\", fStyle: \"\", fWeight: \"\", fc: \"\", j: \"\", justifyOffset: \"\", l: [], lh: 0, lineWidths: [], ls: \"\", of: \"\", s: \"\", sc: \"\", sw: 0, t: 0, tr: 0, sz: 0, ps: null, fillColorAnim: false, strokeColorAnim: false, strokeWidthAnim: false, yOffset: 0, finalSize: 0, finalText: [], finalLineHeight: 0, __complete: false }, this.copyData(this.currentData, this.data.d.k[0].s), this.searchProperty() || this.completeTextData(this.currentData);\n }\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement), SVGShapeElement.prototype.initSecondaryElement = function() {\n }, SVGShapeElement.prototype.identityMatrix = new Matrix(), SVGShapeElement.prototype.buildExpressionInterface = function() {\n }, SVGShapeElement.prototype.createContent = function() {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true), this.filterUniqueShapes();\n }, SVGShapeElement.prototype.filterUniqueShapes = function() {\n var t2, e2, r2, i2, s2 = this.shapes.length, a2 = this.stylesList.length, n2 = [], o2 = false;\n for (r2 = 0; r2 < a2; r2 += 1) {\n for (i2 = this.stylesList[r2], o2 = false, n2.length = 0, t2 = 0; t2 < s2; t2 += 1) -1 !== (e2 = this.shapes[t2]).styles.indexOf(i2) && (n2.push(e2), o2 = e2._isAnimated || o2);\n n2.length > 1 && o2 && this.setShapesAsAnimated(n2);\n }\n }, SVGShapeElement.prototype.setShapesAsAnimated = function(t2) {\n var e2, r2 = t2.length;\n for (e2 = 0; e2 < r2; e2 += 1) t2[e2].setAsAnimated();\n }, SVGShapeElement.prototype.createStyleElement = function(t2, e2) {\n var r2, i2 = new SVGStyleData(t2, e2), s2 = i2.pElem;\n return \"st\" === t2.ty ? r2 = new SVGStrokeStyleData(this, t2, i2) : \"fl\" === t2.ty ? r2 = new SVGFillStyleData(this, t2, i2) : \"gf\" === t2.ty || \"gs\" === t2.ty ? (r2 = new (\"gf\" === t2.ty ? SVGGradientFillStyleData : SVGGradientStrokeStyleData)(this, t2, i2), this.globalData.defs.appendChild(r2.gf), r2.maskId && (this.globalData.defs.appendChild(r2.ms), this.globalData.defs.appendChild(r2.of), s2.setAttribute(\"mask\", \"url(\" + getLocationHref() + \"#\" + r2.maskId + \")\"))) : \"no\" === t2.ty && (r2 = new SVGNoStyleData(this, t2, i2)), \"st\" !== t2.ty && \"gs\" !== t2.ty || (s2.setAttribute(\"stroke-linecap\", lineCapEnum[t2.lc || 2]), s2.setAttribute(\"stroke-linejoin\", lineJoinEnum[t2.lj || 2]), s2.setAttribute(\"fill-opacity\", \"0\"), 1 === t2.lj && s2.setAttribute(\"stroke-miterlimit\", t2.ml)), 2 === t2.r && s2.setAttribute(\"fill-rule\", \"evenodd\"), t2.ln && s2.setAttribute(\"id\", t2.ln), t2.cl && s2.setAttribute(\"class\", t2.cl), t2.bm && (s2.style[\"mix-blend-mode\"] = getBlendMode(t2.bm)), this.stylesList.push(i2), this.addToAnimatedContents(t2, r2), r2;\n }, SVGShapeElement.prototype.createGroupElement = function(t2) {\n var e2 = new ShapeGroupData();\n return t2.ln && e2.gr.setAttribute(\"id\", t2.ln), t2.cl && e2.gr.setAttribute(\"class\", t2.cl), t2.bm && (e2.gr.style[\"mix-blend-mode\"] = getBlendMode(t2.bm)), e2;\n }, SVGShapeElement.prototype.createTransformElement = function(t2, e2) {\n var r2 = TransformPropertyFactory.getTransformProperty(this, t2, this), i2 = new SVGTransformData(r2, r2.o, e2);\n return this.addToAnimatedContents(t2, i2), i2;\n }, SVGShapeElement.prototype.createShapeElement = function(t2, e2, r2) {\n var i2 = 4;\n \"rc\" === t2.ty ? i2 = 5 : \"el\" === t2.ty ? i2 = 6 : \"sr\" === t2.ty && (i2 = 7);\n var s2 = new SVGShapeData(e2, r2, ShapePropertyFactory.getShapeProp(this, t2, i2, this));\n return this.shapes.push(s2), this.addShapeToModifiers(s2), this.addToAnimatedContents(t2, s2), s2;\n }, SVGShapeElement.prototype.addToAnimatedContents = function(t2, e2) {\n for (var r2 = 0, i2 = this.animatedContents.length; r2 < i2; ) {\n if (this.animatedContents[r2].element === e2) return;\n r2 += 1;\n }\n this.animatedContents.push({ fn: SVGElementsRenderer.createRenderFunction(t2), element: e2, data: t2 });\n }, SVGShapeElement.prototype.setElementStyles = function(t2) {\n var e2, r2 = t2.styles, i2 = this.stylesList.length;\n for (e2 = 0; e2 < i2; e2 += 1) this.stylesList[e2].closed || r2.push(this.stylesList[e2]);\n }, SVGShapeElement.prototype.reloadShapes = function() {\n var t2;\n this._isFirstFrame = true;\n var e2 = this.itemsData.length;\n for (t2 = 0; t2 < e2; t2 += 1) this.prevViewData[t2] = this.itemsData[t2];\n for (this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true), this.filterUniqueShapes(), e2 = this.dynamicProperties.length, t2 = 0; t2 < e2; t2 += 1) this.dynamicProperties[t2].getValue();\n this.renderModifiers();\n }, SVGShapeElement.prototype.searchShapes = function(t2, e2, r2, i2, s2, a2, n2) {\n var o2, h2, l2, p2, c2, f2, u2 = [].concat(a2), d2 = t2.length - 1, m2 = [], y2 = [];\n for (o2 = d2; o2 >= 0; o2 -= 1) {\n if ((f2 = this.searchProcessedElement(t2[o2])) ? e2[o2] = r2[f2 - 1] : t2[o2]._render = n2, \"fl\" === t2[o2].ty || \"st\" === t2[o2].ty || \"gf\" === t2[o2].ty || \"gs\" === t2[o2].ty || \"no\" === t2[o2].ty) f2 ? e2[o2].style.closed = false : e2[o2] = this.createStyleElement(t2[o2], s2), t2[o2]._render && e2[o2].style.pElem.parentNode !== i2 && i2.appendChild(e2[o2].style.pElem), m2.push(e2[o2].style);\n else if (\"gr\" === t2[o2].ty) {\n if (f2) for (l2 = e2[o2].it.length, h2 = 0; h2 < l2; h2 += 1) e2[o2].prevViewData[h2] = e2[o2].it[h2];\n else e2[o2] = this.createGroupElement(t2[o2]);\n this.searchShapes(t2[o2].it, e2[o2].it, e2[o2].prevViewData, e2[o2].gr, s2 + 1, u2, n2), t2[o2]._render && e2[o2].gr.parentNode !== i2 && i2.appendChild(e2[o2].gr);\n } else \"tr\" === t2[o2].ty ? (f2 || (e2[o2] = this.createTransformElement(t2[o2], i2)), p2 = e2[o2].transform, u2.push(p2)) : \"sh\" === t2[o2].ty || \"rc\" === t2[o2].ty || \"el\" === t2[o2].ty || \"sr\" === t2[o2].ty ? (f2 || (e2[o2] = this.createShapeElement(t2[o2], u2, s2)), this.setElementStyles(e2[o2])) : \"tm\" === t2[o2].ty || \"rd\" === t2[o2].ty || \"ms\" === t2[o2].ty || \"pb\" === t2[o2].ty || \"zz\" === t2[o2].ty || \"op\" === t2[o2].ty ? (f2 ? (c2 = e2[o2]).closed = false : ((c2 = ShapeModifiers.getModifier(t2[o2].ty)).init(this, t2[o2]), e2[o2] = c2, this.shapeModifiers.push(c2)), y2.push(c2)) : \"rp\" === t2[o2].ty && (f2 ? (c2 = e2[o2]).closed = true : (c2 = ShapeModifiers.getModifier(t2[o2].ty), e2[o2] = c2, c2.init(this, t2, o2, e2), this.shapeModifiers.push(c2), n2 = false), y2.push(c2));\n this.addProcessedElement(t2[o2], o2 + 1);\n }\n for (d2 = m2.length, o2 = 0; o2 < d2; o2 += 1) m2[o2].closed = true;\n for (d2 = y2.length, o2 = 0; o2 < d2; o2 += 1) y2[o2].closed = true;\n }, SVGShapeElement.prototype.renderInnerContent = function() {\n var t2;\n this.renderModifiers();\n var e2 = this.stylesList.length;\n for (t2 = 0; t2 < e2; t2 += 1) this.stylesList[t2].reset();\n for (this.renderShape(), t2 = 0; t2 < e2; t2 += 1) (this.stylesList[t2]._mdf || this._isFirstFrame) && (this.stylesList[t2].msElem && (this.stylesList[t2].msElem.setAttribute(\"d\", this.stylesList[t2].d), this.stylesList[t2].d = \"M0 0\" + this.stylesList[t2].d), this.stylesList[t2].pElem.setAttribute(\"d\", this.stylesList[t2].d || \"M0 0\"));\n }, SVGShapeElement.prototype.renderShape = function() {\n var t2, e2, r2 = this.animatedContents.length;\n for (t2 = 0; t2 < r2; t2 += 1) e2 = this.animatedContents[t2], (this._isFirstFrame || e2.element._isAnimated) && true !== e2.data && e2.fn(e2.data, e2.element, this._isFirstFrame);\n }, SVGShapeElement.prototype.destroy = function() {\n this.destroyBaseElement(), this.shapesData = null, this.itemsData = null;\n }, LetterProps.prototype.update = function(t2, e2, r2, i2, s2, a2) {\n this._mdf.o = false, this._mdf.sw = false, this._mdf.sc = false, this._mdf.fc = false, this._mdf.m = false, this._mdf.p = false;\n var n2 = false;\n return this.o !== t2 && (this.o = t2, this._mdf.o = true, n2 = true), this.sw !== e2 && (this.sw = e2, this._mdf.sw = true, n2 = true), this.sc !== r2 && (this.sc = r2, this._mdf.sc = true, n2 = true), this.fc !== i2 && (this.fc = i2, this._mdf.fc = true, n2 = true), this.m !== s2 && (this.m = s2, this._mdf.m = true, n2 = true), !a2.length || this.p[0] === a2[0] && this.p[1] === a2[1] && this.p[4] === a2[4] && this.p[5] === a2[5] && this.p[12] === a2[12] && this.p[13] === a2[13] || (this.p = a2, this._mdf.p = true, n2 = true), n2;\n }, TextProperty.prototype.defaultBoxWidth = [0, 0], TextProperty.prototype.copyData = function(t2, e2) {\n for (var r2 in e2) Object.prototype.hasOwnProperty.call(e2, r2) && (t2[r2] = e2[r2]);\n return t2;\n }, TextProperty.prototype.setCurrentData = function(t2) {\n t2.__complete || this.completeTextData(t2), this.currentData = t2, this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth, this._mdf = true;\n }, TextProperty.prototype.searchProperty = function() {\n return this.searchKeyframes();\n }, TextProperty.prototype.searchKeyframes = function() {\n return this.kf = this.data.d.k.length > 1, this.kf && this.addEffect(this.getKeyframeValue.bind(this)), this.kf;\n }, TextProperty.prototype.addEffect = function(t2) {\n this.effectsSequence.push(t2), this.elem.addDynamicProperty(this);\n }, TextProperty.prototype.getValue = function(t2) {\n if (this.elem.globalData.frameId !== this.frameId && this.effectsSequence.length || t2) {\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\n var e2 = this.currentData, r2 = this.keysIndex;\n if (this.lock) this.setCurrentData(this.currentData);\n else {\n var i2;\n this.lock = true, this._mdf = false;\n var s2 = this.effectsSequence.length, a2 = t2 || this.data.d.k[this.keysIndex].s;\n for (i2 = 0; i2 < s2; i2 += 1) a2 = r2 !== this.keysIndex ? this.effectsSequence[i2](a2, a2.t) : this.effectsSequence[i2](this.currentData, a2.t);\n e2 !== a2 && this.setCurrentData(a2), this.v = this.currentData, this.pv = this.v, this.lock = false, this.frameId = this.elem.globalData.frameId;\n }\n }\n }, TextProperty.prototype.getKeyframeValue = function() {\n for (var t2 = this.data.d.k, e2 = this.elem.comp.renderedFrame, r2 = 0, i2 = t2.length; r2 <= i2 - 1 && !(r2 === i2 - 1 || t2[r2 + 1].t > e2); ) r2 += 1;\n return this.keysIndex !== r2 && (this.keysIndex = r2), this.data.d.k[this.keysIndex].s;\n }, TextProperty.prototype.buildFinalText = function(t2) {\n for (var e2, r2, i2 = [], s2 = 0, a2 = t2.length, n2 = false, o2 = false, h2 = \"\"; s2 < a2; ) n2 = o2, o2 = false, e2 = t2.charCodeAt(s2), h2 = t2.charAt(s2), FontManager.isCombinedCharacter(e2) ? n2 = true : e2 >= 55296 && e2 <= 56319 ? FontManager.isRegionalFlag(t2, s2) ? h2 = t2.substr(s2, 14) : (r2 = t2.charCodeAt(s2 + 1)) >= 56320 && r2 <= 57343 && (FontManager.isModifier(e2, r2) ? (h2 = t2.substr(s2, 2), n2 = true) : h2 = FontManager.isFlagEmoji(t2.substr(s2, 4)) ? t2.substr(s2, 4) : t2.substr(s2, 2)) : e2 > 56319 ? (r2 = t2.charCodeAt(s2 + 1), FontManager.isVariationSelector(e2) && (n2 = true)) : FontManager.isZeroWidthJoiner(e2) && (n2 = true, o2 = true), n2 ? (i2[i2.length - 1] += h2, n2 = false) : i2.push(h2), s2 += h2.length;\n return i2;\n }, TextProperty.prototype.completeTextData = function(t2) {\n t2.__complete = true;\n var e2, r2, i2, s2, a2, n2, o2, h2 = this.elem.globalData.fontManager, l2 = this.data, p2 = [], c2 = 0, f2 = l2.m.g, u2 = 0, d2 = 0, m2 = 0, y2 = [], g2 = 0, v2 = 0, b2 = h2.getFontByName(t2.f), _2 = 0, P2 = getFontProperties(b2);\n t2.fWeight = P2.weight, t2.fStyle = P2.style, t2.finalSize = t2.s, t2.finalText = this.buildFinalText(t2.t), r2 = t2.finalText.length, t2.finalLineHeight = t2.lh;\n var S2, E2 = t2.tr / 1e3 * t2.finalSize;\n if (t2.sz) for (var x2, C2, A2 = true, w2 = t2.sz[0], k2 = t2.sz[1]; A2; ) {\n x2 = 0, g2 = 0, r2 = (C2 = this.buildFinalText(t2.t)).length, E2 = t2.tr / 1e3 * t2.finalSize;\n var T2 = -1;\n for (e2 = 0; e2 < r2; e2 += 1) S2 = C2[e2].charCodeAt(0), i2 = false, \" \" === C2[e2] ? T2 = e2 : 13 !== S2 && 3 !== S2 || (g2 = 0, i2 = true, x2 += t2.finalLineHeight || 1.2 * t2.finalSize), h2.chars ? (o2 = h2.getCharData(C2[e2], b2.fStyle, b2.fFamily), _2 = i2 ? 0 : o2.w * t2.finalSize / 100) : _2 = h2.measureText(C2[e2], t2.f, t2.finalSize), g2 + _2 > w2 && \" \" !== C2[e2] ? (-1 === T2 ? r2 += 1 : e2 = T2, x2 += t2.finalLineHeight || 1.2 * t2.finalSize, C2.splice(e2, T2 === e2 ? 1 : 0, \"\\r\"), T2 = -1, g2 = 0) : (g2 += _2, g2 += E2);\n x2 += b2.ascent * t2.finalSize / 100, this.canResize && t2.finalSize > this.minimumFontSize && k2 < x2 ? (t2.finalSize -= 1, t2.finalLineHeight = t2.finalSize * t2.lh / t2.s) : (t2.finalText = C2, r2 = t2.finalText.length, A2 = false);\n }\n g2 = -E2, _2 = 0;\n var M2, D = 0;\n for (e2 = 0; e2 < r2; e2 += 1) if (i2 = false, 13 === (S2 = (M2 = t2.finalText[e2]).charCodeAt(0)) || 3 === S2 ? (D = 0, y2.push(g2), v2 = g2 > v2 ? g2 : v2, g2 = -2 * E2, s2 = \"\", i2 = true, m2 += 1) : s2 = M2, h2.chars ? (o2 = h2.getCharData(M2, b2.fStyle, h2.getFontByName(t2.f).fFamily), _2 = i2 ? 0 : o2.w * t2.finalSize / 100) : _2 = h2.measureText(s2, t2.f, t2.finalSize), \" \" === M2 ? D += _2 + E2 : (g2 += _2 + E2 + D, D = 0), p2.push({ l: _2, an: _2, add: u2, n: i2, anIndexes: [], val: s2, line: m2, animatorJustifyOffset: 0 }), 2 == f2) {\n if (u2 += _2, \"\" === s2 || \" \" === s2 || e2 === r2 - 1) {\n for (\"\" !== s2 && \" \" !== s2 || (u2 -= _2); d2 <= e2; ) p2[d2].an = u2, p2[d2].ind = c2, p2[d2].extra = _2, d2 += 1;\n c2 += 1, u2 = 0;\n }\n } else if (3 == f2) {\n if (u2 += _2, \"\" === s2 || e2 === r2 - 1) {\n for (\"\" === s2 && (u2 -= _2); d2 <= e2; ) p2[d2].an = u2, p2[d2].ind = c2, p2[d2].extra = _2, d2 += 1;\n u2 = 0, c2 += 1;\n }\n } else p2[c2].ind = c2, p2[c2].extra = 0, c2 += 1;\n if (t2.l = p2, v2 = g2 > v2 ? g2 : v2, y2.push(g2), t2.sz) t2.boxWidth = t2.sz[0], t2.justifyOffset = 0;\n else switch (t2.boxWidth = v2, t2.j) {\n case 1:\n t2.justifyOffset = -t2.boxWidth;\n break;\n case 2:\n t2.justifyOffset = -t2.boxWidth / 2;\n break;\n default:\n t2.justifyOffset = 0;\n }\n t2.lineWidths = y2;\n var F, I2, R2, L2, V2 = l2.a;\n n2 = V2.length;\n var B = [];\n for (a2 = 0; a2 < n2; a2 += 1) {\n for ((F = V2[a2]).a.sc && (t2.strokeColorAnim = true), F.a.sw && (t2.strokeWidthAnim = true), (F.a.fc || F.a.fh || F.a.fs || F.a.fb) && (t2.fillColorAnim = true), L2 = 0, R2 = F.s.b, e2 = 0; e2 < r2; e2 += 1) (I2 = p2[e2]).anIndexes[a2] = L2, (1 == R2 && \"\" !== I2.val || 2 == R2 && \"\" !== I2.val && \" \" !== I2.val || 3 == R2 && (I2.n || \" \" == I2.val || e2 == r2 - 1) || 4 == R2 && (I2.n || e2 == r2 - 1)) && (1 === F.s.rn && B.push(L2), L2 += 1);\n l2.a[a2].s.totalChars = L2;\n var O, $2 = -1;\n if (1 === F.s.rn) for (e2 = 0; e2 < r2; e2 += 1) $2 != (I2 = p2[e2]).anIndexes[a2] && ($2 = I2.anIndexes[a2], O = B.splice(Math.floor(Math.random() * B.length), 1)[0]), I2.anIndexes[a2] = O;\n }\n t2.yOffset = t2.finalLineHeight || 1.2 * t2.finalSize, t2.ls = t2.ls || 0, t2.ascent = b2.ascent * t2.finalSize / 100;\n }, TextProperty.prototype.updateDocumentData = function(t2, e2) {\n e2 = void 0 === e2 ? this.keysIndex : e2;\n var r2 = this.copyData({}, this.data.d.k[e2].s);\n r2 = this.copyData(r2, t2), this.data.d.k[e2].s = r2, this.recalculate(e2), this.setCurrentData(r2), this.elem.addDynamicProperty(this);\n }, TextProperty.prototype.recalculate = function(t2) {\n var e2 = this.data.d.k[t2].s;\n e2.__complete = false, this.keysIndex = 0, this._isFirstFrame = true, this.getValue(e2);\n }, TextProperty.prototype.canResizeFont = function(t2) {\n this.canResize = t2, this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this);\n }, TextProperty.prototype.setMinimumFontSize = function(t2) {\n this.minimumFontSize = Math.floor(t2) || 1, this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this);\n };\n var TextSelectorProp = function() {\n var t2 = Math.max, e2 = Math.min, r2 = Math.floor;\n function i2(t3, e3) {\n this._currentTextLength = -1, this.k = false, this.data = e3, this.elem = t3, this.comp = t3.comp, this.finalS = 0, this.finalE = 0, this.initDynamicPropertyContainer(t3), this.s = PropertyFactory.getProp(t3, e3.s || { k: 0 }, 0, 0, this), this.e = \"e\" in e3 ? PropertyFactory.getProp(t3, e3.e, 0, 0, this) : { v: 100 }, this.o = PropertyFactory.getProp(t3, e3.o || { k: 0 }, 0, 0, this), this.xe = PropertyFactory.getProp(t3, e3.xe || { k: 0 }, 0, 0, this), this.ne = PropertyFactory.getProp(t3, e3.ne || { k: 0 }, 0, 0, this), this.sm = PropertyFactory.getProp(t3, e3.sm || { k: 100 }, 0, 0, this), this.a = PropertyFactory.getProp(t3, e3.a, 0, 0.01, this), this.dynamicProperties.length || this.getValue();\n }\n return i2.prototype = { getMult: function(i3) {\n this._currentTextLength !== this.elem.textProperty.currentData.l.length && this.getValue();\n var s2 = 0, a2 = 0, n2 = 1, o2 = 1;\n this.ne.v > 0 ? s2 = this.ne.v / 100 : a2 = -this.ne.v / 100, this.xe.v > 0 ? n2 = 1 - this.xe.v / 100 : o2 = 1 + this.xe.v / 100;\n var h2 = BezierFactory.getBezierEasing(s2, a2, n2, o2).get, l2 = 0, p2 = this.finalS, c2 = this.finalE, f2 = this.data.sh;\n if (2 === f2) l2 = h2(l2 = c2 === p2 ? i3 >= c2 ? 1 : 0 : t2(0, e2(0.5 / (c2 - p2) + (i3 - p2) / (c2 - p2), 1)));\n else if (3 === f2) l2 = h2(l2 = c2 === p2 ? i3 >= c2 ? 0 : 1 : 1 - t2(0, e2(0.5 / (c2 - p2) + (i3 - p2) / (c2 - p2), 1)));\n else if (4 === f2) c2 === p2 ? l2 = 0 : (l2 = t2(0, e2(0.5 / (c2 - p2) + (i3 - p2) / (c2 - p2), 1))) < 0.5 ? l2 *= 2 : l2 = 1 - 2 * (l2 - 0.5), l2 = h2(l2);\n else if (5 === f2) {\n if (c2 === p2) l2 = 0;\n else {\n var u2 = c2 - p2, d2 = -u2 / 2 + (i3 = e2(t2(0, i3 + 0.5 - p2), c2 - p2)), m2 = u2 / 2;\n l2 = Math.sqrt(1 - d2 * d2 / (m2 * m2));\n }\n l2 = h2(l2);\n } else 6 === f2 ? (c2 === p2 ? l2 = 0 : (i3 = e2(t2(0, i3 + 0.5 - p2), c2 - p2), l2 = (1 + Math.cos(Math.PI + 2 * Math.PI * i3 / (c2 - p2))) / 2), l2 = h2(l2)) : (i3 >= r2(p2) && (l2 = t2(0, e2(i3 - p2 < 0 ? e2(c2, 1) - (p2 - i3) : c2 - i3, 1))), l2 = h2(l2));\n if (100 !== this.sm.v) {\n var y2 = 0.01 * this.sm.v;\n 0 === y2 && (y2 = 1e-8);\n var g2 = 0.5 - 0.5 * y2;\n l2 < g2 ? l2 = 0 : (l2 = (l2 - g2) / y2) > 1 && (l2 = 1);\n }\n return l2 * this.a.v;\n }, getValue: function(t3) {\n this.iterateDynamicProperties(), this._mdf = t3 || this._mdf, this._currentTextLength = this.elem.textProperty.currentData.l.length || 0, t3 && 2 === this.data.r && (this.e.v = this._currentTextLength);\n var e3 = 2 === this.data.r ? 1 : 100 / this.data.totalChars, r3 = this.o.v / e3, i3 = this.s.v / e3 + r3, s2 = this.e.v / e3 + r3;\n if (i3 > s2) {\n var a2 = i3;\n i3 = s2, s2 = a2;\n }\n this.finalS = i3, this.finalE = s2;\n } }, extendPrototype([DynamicPropertyContainer], i2), { getTextSelectorProp: function(t3, e3, r3) {\n return new i2(t3, e3, r3);\n } };\n }();\n function TextAnimatorDataProperty(t2, e2, r2) {\n var i2 = { propType: false }, s2 = PropertyFactory.getProp, a2 = e2.a;\n this.a = { r: a2.r ? s2(t2, a2.r, 0, degToRads, r2) : i2, rx: a2.rx ? s2(t2, a2.rx, 0, degToRads, r2) : i2, ry: a2.ry ? s2(t2, a2.ry, 0, degToRads, r2) : i2, sk: a2.sk ? s2(t2, a2.sk, 0, degToRads, r2) : i2, sa: a2.sa ? s2(t2, a2.sa, 0, degToRads, r2) : i2, s: a2.s ? s2(t2, a2.s, 1, 0.01, r2) : i2, a: a2.a ? s2(t2, a2.a, 1, 0, r2) : i2, o: a2.o ? s2(t2, a2.o, 0, 0.01, r2) : i2, p: a2.p ? s2(t2, a2.p, 1, 0, r2) : i2, sw: a2.sw ? s2(t2, a2.sw, 0, 0, r2) : i2, sc: a2.sc ? s2(t2, a2.sc, 1, 0, r2) : i2, fc: a2.fc ? s2(t2, a2.fc, 1, 0, r2) : i2, fh: a2.fh ? s2(t2, a2.fh, 0, 0, r2) : i2, fs: a2.fs ? s2(t2, a2.fs, 0, 0.01, r2) : i2, fb: a2.fb ? s2(t2, a2.fb, 0, 0.01, r2) : i2, t: a2.t ? s2(t2, a2.t, 0, 0, r2) : i2 }, this.s = TextSelectorProp.getTextSelectorProp(t2, e2.s, r2), this.s.t = e2.s.t;\n }\n function TextAnimatorProperty(t2, e2, r2) {\n this._isFirstFrame = true, this._hasMaskedPath = false, this._frameId = -1, this._textData = t2, this._renderType = e2, this._elem = r2, this._animatorsData = createSizedArray(this._textData.a.length), this._pathData = {}, this._moreOptions = { alignment: {} }, this.renderedLetters = [], this.lettersChangedFlag = false, this.initDynamicPropertyContainer(r2);\n }\n function ITextElement() {\n }\n TextAnimatorProperty.prototype.searchProperties = function() {\n var t2, e2, r2 = this._textData.a.length, i2 = PropertyFactory.getProp;\n for (t2 = 0; t2 < r2; t2 += 1) e2 = this._textData.a[t2], this._animatorsData[t2] = new TextAnimatorDataProperty(this._elem, e2, this);\n this._textData.p && \"m\" in this._textData.p ? (this._pathData = { a: i2(this._elem, this._textData.p.a, 0, 0, this), f: i2(this._elem, this._textData.p.f, 0, 0, this), l: i2(this._elem, this._textData.p.l, 0, 0, this), r: i2(this._elem, this._textData.p.r, 0, 0, this), p: i2(this._elem, this._textData.p.p, 0, 0, this), m: this._elem.maskManager.getMaskProperty(this._textData.p.m) }, this._hasMaskedPath = true) : this._hasMaskedPath = false, this._moreOptions.alignment = i2(this._elem, this._textData.m.a, 1, 0, this);\n }, TextAnimatorProperty.prototype.getMeasures = function(t2, e2) {\n if (this.lettersChangedFlag = e2, this._mdf || this._isFirstFrame || e2 || this._hasMaskedPath && this._pathData.m._mdf) {\n this._isFirstFrame = false;\n var r2, i2, s2, a2, n2, o2, h2, l2, p2, c2, f2, u2, d2, m2, y2, g2, v2, b2, _2, P2 = this._moreOptions.alignment.v, S2 = this._animatorsData, E2 = this._textData, x2 = this.mHelper, C2 = this._renderType, A2 = this.renderedLetters.length, w2 = t2.l;\n if (this._hasMaskedPath) {\n if (_2 = this._pathData.m, !this._pathData.n || this._pathData._mdf) {\n var k2, T2 = _2.v;\n for (this._pathData.r.v && (T2 = T2.reverse()), n2 = { tLength: 0, segments: [] }, a2 = T2._length - 1, g2 = 0, s2 = 0; s2 < a2; s2 += 1) k2 = bez.buildBezierData(T2.v[s2], T2.v[s2 + 1], [T2.o[s2][0] - T2.v[s2][0], T2.o[s2][1] - T2.v[s2][1]], [T2.i[s2 + 1][0] - T2.v[s2 + 1][0], T2.i[s2 + 1][1] - T2.v[s2 + 1][1]]), n2.tLength += k2.segmentLength, n2.segments.push(k2), g2 += k2.segmentLength;\n s2 = a2, _2.v.c && (k2 = bez.buildBezierData(T2.v[s2], T2.v[0], [T2.o[s2][0] - T2.v[s2][0], T2.o[s2][1] - T2.v[s2][1]], [T2.i[0][0] - T2.v[0][0], T2.i[0][1] - T2.v[0][1]]), n2.tLength += k2.segmentLength, n2.segments.push(k2), g2 += k2.segmentLength), this._pathData.pi = n2;\n }\n if (n2 = this._pathData.pi, o2 = this._pathData.f.v, f2 = 0, c2 = 1, l2 = 0, p2 = true, m2 = n2.segments, o2 < 0 && _2.v.c) for (n2.tLength < Math.abs(o2) && (o2 = -Math.abs(o2) % n2.tLength), c2 = (d2 = m2[f2 = m2.length - 1].points).length - 1; o2 < 0; ) o2 += d2[c2].partialLength, (c2 -= 1) < 0 && (c2 = (d2 = m2[f2 -= 1].points).length - 1);\n u2 = (d2 = m2[f2].points)[c2 - 1], y2 = (h2 = d2[c2]).partialLength;\n }\n a2 = w2.length, r2 = 0, i2 = 0;\n var M2, D, F, I2, R2, L2 = 1.2 * t2.finalSize * 0.714, V2 = true;\n F = S2.length;\n var B, O, $2, z2, G, N2, j, H2, q, W, U, Y, J = -1, X = o2, K = f2, Z = c2, Q = -1, tt = \"\", et = this.defaultPropsArray;\n if (2 === t2.j || 1 === t2.j) {\n var rt = 0, it = 0, st = 2 === t2.j ? -0.5 : -1, at = 0, nt = true;\n for (s2 = 0; s2 < a2; s2 += 1) if (w2[s2].n) {\n for (rt && (rt += it); at < s2; ) w2[at].animatorJustifyOffset = rt, at += 1;\n rt = 0, nt = true;\n } else {\n for (D = 0; D < F; D += 1) (M2 = S2[D].a).t.propType && (nt && 2 === t2.j && (it += M2.t.v * st), (R2 = S2[D].s.getMult(w2[s2].anIndexes[D], E2.a[D].s.totalChars)).length ? rt += M2.t.v * R2[0] * st : rt += M2.t.v * R2 * st);\n nt = false;\n }\n for (rt && (rt += it); at < s2; ) w2[at].animatorJustifyOffset = rt, at += 1;\n }\n for (s2 = 0; s2 < a2; s2 += 1) {\n if (x2.reset(), z2 = 1, w2[s2].n) r2 = 0, i2 += t2.yOffset, i2 += V2 ? 1 : 0, o2 = X, V2 = false, this._hasMaskedPath && (c2 = Z, u2 = (d2 = m2[f2 = K].points)[c2 - 1], y2 = (h2 = d2[c2]).partialLength, l2 = 0), tt = \"\", U = \"\", q = \"\", Y = \"\", et = this.defaultPropsArray;\n else {\n if (this._hasMaskedPath) {\n if (Q !== w2[s2].line) {\n switch (t2.j) {\n case 1:\n o2 += g2 - t2.lineWidths[w2[s2].line];\n break;\n case 2:\n o2 += (g2 - t2.lineWidths[w2[s2].line]) / 2;\n }\n Q = w2[s2].line;\n }\n J !== w2[s2].ind && (w2[J] && (o2 += w2[J].extra), o2 += w2[s2].an / 2, J = w2[s2].ind), o2 += P2[0] * w2[s2].an * 5e-3;\n var ot = 0;\n for (D = 0; D < F; D += 1) (M2 = S2[D].a).p.propType && ((R2 = S2[D].s.getMult(w2[s2].anIndexes[D], E2.a[D].s.totalChars)).length ? ot += M2.p.v[0] * R2[0] : ot += M2.p.v[0] * R2), M2.a.propType && ((R2 = S2[D].s.getMult(w2[s2].anIndexes[D], E2.a[D].s.totalChars)).length ? ot += M2.a.v[0] * R2[0] : ot += M2.a.v[0] * R2);\n for (p2 = true, this._pathData.a.v && (o2 = 0.5 * w2[0].an + (g2 - this._pathData.f.v - 0.5 * w2[0].an - 0.5 * w2[w2.length - 1].an) * J / (a2 - 1), o2 += this._pathData.f.v); p2; ) l2 + y2 >= o2 + ot || !d2 ? (v2 = (o2 + ot - l2) / h2.partialLength, O = u2.point[0] + (h2.point[0] - u2.point[0]) * v2, $2 = u2.point[1] + (h2.point[1] - u2.point[1]) * v2, x2.translate(-P2[0] * w2[s2].an * 5e-3, -P2[1] * L2 * 0.01), p2 = false) : d2 && (l2 += h2.partialLength, (c2 += 1) >= d2.length && (c2 = 0, m2[f2 += 1] ? d2 = m2[f2].points : _2.v.c ? (c2 = 0, d2 = m2[f2 = 0].points) : (l2 -= h2.partialLength, d2 = null)), d2 && (u2 = h2, y2 = (h2 = d2[c2]).partialLength));\n B = w2[s2].an / 2 - w2[s2].add, x2.translate(-B, 0, 0);\n } else B = w2[s2].an / 2 - w2[s2].add, x2.translate(-B, 0, 0), x2.translate(-P2[0] * w2[s2].an * 5e-3, -P2[1] * L2 * 0.01, 0);\n for (D = 0; D < F; D += 1) (M2 = S2[D].a).t.propType && (R2 = S2[D].s.getMult(w2[s2].anIndexes[D], E2.a[D].s.totalChars), 0 === r2 && 0 === t2.j || (this._hasMaskedPath ? R2.length ? o2 += M2.t.v * R2[0] : o2 += M2.t.v * R2 : R2.length ? r2 += M2.t.v * R2[0] : r2 += M2.t.v * R2));\n for (t2.strokeWidthAnim && (N2 = t2.sw || 0), t2.strokeColorAnim && (G = t2.sc ? [t2.sc[0], t2.sc[1], t2.sc[2]] : [0, 0, 0]), t2.fillColorAnim && t2.fc && (j = [t2.fc[0], t2.fc[1], t2.fc[2]]), D = 0; D < F; D += 1) (M2 = S2[D].a).a.propType && ((R2 = S2[D].s.getMult(w2[s2].anIndexes[D], E2.a[D].s.totalChars)).length ? x2.translate(-M2.a.v[0] * R2[0], -M2.a.v[1] * R2[1], M2.a.v[2] * R2[2]) : x2.translate(-M2.a.v[0] * R2, -M2.a.v[1] * R2, M2.a.v[2] * R2));\n for (D = 0; D < F; D += 1) (M2 = S2[D].a).s.propType && ((R2 = S2[D].s.getMult(w2[s2].anIndexes[D], E2.a[D].s.totalChars)).length ? x2.scale(1 + (M2.s.v[0] - 1) * R2[0], 1 + (M2.s.v[1] - 1) * R2[1], 1) : x2.scale(1 + (M2.s.v[0] - 1) * R2, 1 + (M2.s.v[1] - 1) * R2, 1));\n for (D = 0; D < F; D += 1) {\n if (M2 = S2[D].a, R2 = S2[D].s.getMult(w2[s2].anIndexes[D], E2.a[D].s.totalChars), M2.sk.propType && (R2.length ? x2.skewFromAxis(-M2.sk.v * R2[0], M2.sa.v * R2[1]) : x2.skewFromAxis(-M2.sk.v * R2, M2.sa.v * R2)), M2.r.propType && (R2.length ? x2.rotateZ(-M2.r.v * R2[2]) : x2.rotateZ(-M2.r.v * R2)), M2.ry.propType && (R2.length ? x2.rotateY(M2.ry.v * R2[1]) : x2.rotateY(M2.ry.v * R2)), M2.rx.propType && (R2.length ? x2.rotateX(M2.rx.v * R2[0]) : x2.rotateX(M2.rx.v * R2)), M2.o.propType && (R2.length ? z2 += (M2.o.v * R2[0] - z2) * R2[0] : z2 += (M2.o.v * R2 - z2) * R2), t2.strokeWidthAnim && M2.sw.propType && (R2.length ? N2 += M2.sw.v * R2[0] : N2 += M2.sw.v * R2), t2.strokeColorAnim && M2.sc.propType) for (H2 = 0; H2 < 3; H2 += 1) R2.length ? G[H2] += (M2.sc.v[H2] - G[H2]) * R2[0] : G[H2] += (M2.sc.v[H2] - G[H2]) * R2;\n if (t2.fillColorAnim && t2.fc) {\n if (M2.fc.propType) for (H2 = 0; H2 < 3; H2 += 1) R2.length ? j[H2] += (M2.fc.v[H2] - j[H2]) * R2[0] : j[H2] += (M2.fc.v[H2] - j[H2]) * R2;\n M2.fh.propType && (j = R2.length ? addHueToRGB(j, M2.fh.v * R2[0]) : addHueToRGB(j, M2.fh.v * R2)), M2.fs.propType && (j = R2.length ? addSaturationToRGB(j, M2.fs.v * R2[0]) : addSaturationToRGB(j, M2.fs.v * R2)), M2.fb.propType && (j = R2.length ? addBrightnessToRGB(j, M2.fb.v * R2[0]) : addBrightnessToRGB(j, M2.fb.v * R2));\n }\n }\n for (D = 0; D < F; D += 1) (M2 = S2[D].a).p.propType && (R2 = S2[D].s.getMult(w2[s2].anIndexes[D], E2.a[D].s.totalChars), this._hasMaskedPath ? R2.length ? x2.translate(0, M2.p.v[1] * R2[0], -M2.p.v[2] * R2[1]) : x2.translate(0, M2.p.v[1] * R2, -M2.p.v[2] * R2) : R2.length ? x2.translate(M2.p.v[0] * R2[0], M2.p.v[1] * R2[1], -M2.p.v[2] * R2[2]) : x2.translate(M2.p.v[0] * R2, M2.p.v[1] * R2, -M2.p.v[2] * R2));\n if (t2.strokeWidthAnim && (q = N2 < 0 ? 0 : N2), t2.strokeColorAnim && (W = \"rgb(\" + Math.round(255 * G[0]) + \",\" + Math.round(255 * G[1]) + \",\" + Math.round(255 * G[2]) + \")\"), t2.fillColorAnim && t2.fc && (U = \"rgb(\" + Math.round(255 * j[0]) + \",\" + Math.round(255 * j[1]) + \",\" + Math.round(255 * j[2]) + \")\"), this._hasMaskedPath) {\n if (x2.translate(0, -t2.ls), x2.translate(0, P2[1] * L2 * 0.01 + i2, 0), this._pathData.p.v) {\n b2 = (h2.point[1] - u2.point[1]) / (h2.point[0] - u2.point[0]);\n var ht = 180 * Math.atan(b2) / Math.PI;\n h2.point[0] < u2.point[0] && (ht += 180), x2.rotate(-ht * Math.PI / 180);\n }\n x2.translate(O, $2, 0), o2 -= P2[0] * w2[s2].an * 5e-3, w2[s2 + 1] && J !== w2[s2 + 1].ind && (o2 += w2[s2].an / 2, o2 += 1e-3 * t2.tr * t2.finalSize);\n } else {\n switch (x2.translate(r2, i2, 0), t2.ps && x2.translate(t2.ps[0], t2.ps[1] + t2.ascent, 0), t2.j) {\n case 1:\n x2.translate(w2[s2].animatorJustifyOffset + t2.justifyOffset + (t2.boxWidth - t2.lineWidths[w2[s2].line]), 0, 0);\n break;\n case 2:\n x2.translate(w2[s2].animatorJustifyOffset + t2.justifyOffset + (t2.boxWidth - t2.lineWidths[w2[s2].line]) / 2, 0, 0);\n }\n x2.translate(0, -t2.ls), x2.translate(B, 0, 0), x2.translate(P2[0] * w2[s2].an * 5e-3, P2[1] * L2 * 0.01, 0), r2 += w2[s2].l + 1e-3 * t2.tr * t2.finalSize;\n }\n \"html\" === C2 ? tt = x2.toCSS() : \"svg\" === C2 ? tt = x2.to2dCSS() : et = [x2.props[0], x2.props[1], x2.props[2], x2.props[3], x2.props[4], x2.props[5], x2.props[6], x2.props[7], x2.props[8], x2.props[9], x2.props[10], x2.props[11], x2.props[12], x2.props[13], x2.props[14], x2.props[15]], Y = z2;\n }\n A2 <= s2 ? (I2 = new LetterProps(Y, q, W, U, tt, et), this.renderedLetters.push(I2), A2 += 1, this.lettersChangedFlag = true) : (I2 = this.renderedLetters[s2], this.lettersChangedFlag = I2.update(Y, q, W, U, tt, et) || this.lettersChangedFlag);\n }\n }\n }, TextAnimatorProperty.prototype.getValue = function() {\n this._elem.globalData.frameId !== this._frameId && (this._frameId = this._elem.globalData.frameId, this.iterateDynamicProperties());\n }, TextAnimatorProperty.prototype.mHelper = new Matrix(), TextAnimatorProperty.prototype.defaultPropsArray = [], extendPrototype([DynamicPropertyContainer], TextAnimatorProperty), ITextElement.prototype.initElement = function(t2, e2, r2) {\n this.lettersChangedFlag = true, this.initFrame(), this.initBaseData(t2, e2, r2), this.textProperty = new TextProperty(this, t2.t, this.dynamicProperties), this.textAnimator = new TextAnimatorProperty(t2.t, this.renderType, this), this.initTransform(t2, e2, r2), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide(), this.textAnimator.searchProperties(this.dynamicProperties);\n }, ITextElement.prototype.prepareFrame = function(t2) {\n this._mdf = false, this.prepareRenderableFrame(t2), this.prepareProperties(t2, this.isInRange);\n }, ITextElement.prototype.createPathShape = function(t2, e2) {\n var r2, i2, s2 = e2.length, a2 = \"\";\n for (r2 = 0; r2 < s2; r2 += 1) \"sh\" === e2[r2].ty && (i2 = e2[r2].ks.k, a2 += buildShapeString(i2, i2.i.length, true, t2));\n return a2;\n }, ITextElement.prototype.updateDocumentData = function(t2, e2) {\n this.textProperty.updateDocumentData(t2, e2);\n }, ITextElement.prototype.canResizeFont = function(t2) {\n this.textProperty.canResizeFont(t2);\n }, ITextElement.prototype.setMinimumFontSize = function(t2) {\n this.textProperty.setMinimumFontSize(t2);\n }, ITextElement.prototype.applyTextPropertiesToMatrix = function(t2, e2, r2, i2, s2) {\n switch (t2.ps && e2.translate(t2.ps[0], t2.ps[1] + t2.ascent, 0), e2.translate(0, -t2.ls, 0), t2.j) {\n case 1:\n e2.translate(t2.justifyOffset + (t2.boxWidth - t2.lineWidths[r2]), 0, 0);\n break;\n case 2:\n e2.translate(t2.justifyOffset + (t2.boxWidth - t2.lineWidths[r2]) / 2, 0, 0);\n }\n e2.translate(i2, s2, 0);\n }, ITextElement.prototype.buildColor = function(t2) {\n return \"rgb(\" + Math.round(255 * t2[0]) + \",\" + Math.round(255 * t2[1]) + \",\" + Math.round(255 * t2[2]) + \")\";\n }, ITextElement.prototype.emptyProp = new LetterProps(), ITextElement.prototype.destroy = function() {\n }, ITextElement.prototype.validateText = function() {\n (this.textProperty._mdf || this.textProperty._isFirstFrame) && (this.buildNewText(), this.textProperty._isFirstFrame = false, this.textProperty._mdf = false);\n };\n var emptyShapeData = { shapes: [] };\n function SVGTextLottieElement(t2, e2, r2) {\n this.textSpans = [], this.renderType = \"svg\", this.initElement(t2, e2, r2);\n }\n function ISolidElement(t2, e2, r2) {\n this.initElement(t2, e2, r2);\n }\n function NullElement(t2, e2, r2) {\n this.initFrame(), this.initBaseData(t2, e2, r2), this.initFrame(), this.initTransform(t2, e2, r2), this.initHierarchy();\n }\n function SVGRendererBase() {\n }\n function ICompElement() {\n }\n function SVGCompElement(t2, e2, r2) {\n this.layers = t2.layers, this.supports3d = true, this.completeLayers = false, this.pendingElements = [], this.elements = this.layers ? createSizedArray(this.layers.length) : [], this.initElement(t2, e2, r2), this.tm = t2.tm ? PropertyFactory.getProp(this, t2.tm, 0, e2.frameRate, this) : { _placeholder: true };\n }\n function SVGRenderer(t2, e2) {\n this.animationItem = t2, this.layers = null, this.renderedFrame = -1, this.svgElement = createNS(\"svg\");\n var r2 = \"\";\n if (e2 && e2.title) {\n var i2 = createNS(\"title\"), s2 = createElementID();\n i2.setAttribute(\"id\", s2), i2.textContent = e2.title, this.svgElement.appendChild(i2), r2 += s2;\n }\n if (e2 && e2.description) {\n var a2 = createNS(\"desc\"), n2 = createElementID();\n a2.setAttribute(\"id\", n2), a2.textContent = e2.description, this.svgElement.appendChild(a2), r2 += \" \" + n2;\n }\n r2 && this.svgElement.setAttribute(\"aria-labelledby\", r2);\n var o2 = createNS(\"defs\");\n this.svgElement.appendChild(o2);\n var h2 = createNS(\"g\");\n this.svgElement.appendChild(h2), this.layerElement = h2, this.renderConfig = { preserveAspectRatio: e2 && e2.preserveAspectRatio || \"xMidYMid meet\", imagePreserveAspectRatio: e2 && e2.imagePreserveAspectRatio || \"xMidYMid slice\", contentVisibility: e2 && e2.contentVisibility || \"visible\", progressiveLoad: e2 && e2.progressiveLoad || false, hideOnTransparent: !(e2 && false === e2.hideOnTransparent), viewBoxOnly: e2 && e2.viewBoxOnly || false, viewBoxSize: e2 && e2.viewBoxSize || false, className: e2 && e2.className || \"\", id: e2 && e2.id || \"\", focusable: e2 && e2.focusable, filterSize: { width: e2 && e2.filterSize && e2.filterSize.width || \"100%\", height: e2 && e2.filterSize && e2.filterSize.height || \"100%\", x: e2 && e2.filterSize && e2.filterSize.x || \"0%\", y: e2 && e2.filterSize && e2.filterSize.y || \"0%\" }, width: e2 && e2.width, height: e2 && e2.height, runExpressions: !e2 || void 0 === e2.runExpressions || e2.runExpressions }, this.globalData = { _mdf: false, frameNum: -1, defs: o2, renderConfig: this.renderConfig }, this.elements = [], this.pendingElements = [], this.destroyed = false, this.rendererType = \"svg\";\n }\n function ShapeTransformManager() {\n this.sequences = {}, this.sequenceList = [], this.transform_key_count = 0;\n }\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement), SVGTextLottieElement.prototype.createContent = function() {\n this.data.singleShape && !this.globalData.fontManager.chars && (this.textContainer = createNS(\"text\"));\n }, SVGTextLottieElement.prototype.buildTextContents = function(t2) {\n for (var e2 = 0, r2 = t2.length, i2 = [], s2 = \"\"; e2 < r2; ) t2[e2] === String.fromCharCode(13) || t2[e2] === String.fromCharCode(3) ? (i2.push(s2), s2 = \"\") : s2 += t2[e2], e2 += 1;\n return i2.push(s2), i2;\n }, SVGTextLottieElement.prototype.buildShapeData = function(t2, e2) {\n if (t2.shapes && t2.shapes.length) {\n var r2 = t2.shapes[0];\n if (r2.it) {\n var i2 = r2.it[r2.it.length - 1];\n i2.s && (i2.s.k[0] = e2, i2.s.k[1] = e2);\n }\n }\n return t2;\n }, SVGTextLottieElement.prototype.buildNewText = function() {\n var t2, e2;\n this.addDynamicProperty(this);\n var r2 = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(r2 ? r2.l.length : 0), r2.fc ? this.layerElement.setAttribute(\"fill\", this.buildColor(r2.fc)) : this.layerElement.setAttribute(\"fill\", \"rgba(0,0,0,0)\"), r2.sc && (this.layerElement.setAttribute(\"stroke\", this.buildColor(r2.sc)), this.layerElement.setAttribute(\"stroke-width\", r2.sw)), this.layerElement.setAttribute(\"font-size\", r2.finalSize);\n var i2 = this.globalData.fontManager.getFontByName(r2.f);\n if (i2.fClass) this.layerElement.setAttribute(\"class\", i2.fClass);\n else {\n this.layerElement.setAttribute(\"font-family\", i2.fFamily);\n var s2 = r2.fWeight, a2 = r2.fStyle;\n this.layerElement.setAttribute(\"font-style\", a2), this.layerElement.setAttribute(\"font-weight\", s2);\n }\n this.layerElement.setAttribute(\"aria-label\", r2.t);\n var n2, o2 = r2.l || [], h2 = !!this.globalData.fontManager.chars;\n e2 = o2.length;\n var l2 = this.mHelper, p2 = this.data.singleShape, c2 = 0, f2 = 0, u2 = true, d2 = 1e-3 * r2.tr * r2.finalSize;\n if (!p2 || h2 || r2.sz) {\n var m2, y2 = this.textSpans.length;\n for (t2 = 0; t2 < e2; t2 += 1) {\n if (this.textSpans[t2] || (this.textSpans[t2] = { span: null, childSpan: null, glyph: null }), !h2 || !p2 || 0 === t2) {\n if (n2 = y2 > t2 ? this.textSpans[t2].span : createNS(h2 ? \"g\" : \"text\"), y2 <= t2) {\n if (n2.setAttribute(\"stroke-linecap\", \"butt\"), n2.setAttribute(\"stroke-linejoin\", \"round\"), n2.setAttribute(\"stroke-miterlimit\", \"4\"), this.textSpans[t2].span = n2, h2) {\n var g2 = createNS(\"g\");\n n2.appendChild(g2), this.textSpans[t2].childSpan = g2;\n }\n this.textSpans[t2].span = n2, this.layerElement.appendChild(n2);\n }\n n2.style.display = \"inherit\";\n }\n if (l2.reset(), p2 && (o2[t2].n && (c2 = -d2, f2 += r2.yOffset, f2 += u2 ? 1 : 0, u2 = false), this.applyTextPropertiesToMatrix(r2, l2, o2[t2].line, c2, f2), c2 += o2[t2].l || 0, c2 += d2), h2) {\n var v2;\n if (1 === (m2 = this.globalData.fontManager.getCharData(r2.finalText[t2], i2.fStyle, this.globalData.fontManager.getFontByName(r2.f).fFamily)).t) v2 = new SVGCompElement(m2.data, this.globalData, this);\n else {\n var b2 = emptyShapeData;\n m2.data && m2.data.shapes && (b2 = this.buildShapeData(m2.data, r2.finalSize)), v2 = new SVGShapeElement(b2, this.globalData, this);\n }\n if (this.textSpans[t2].glyph) {\n var _2 = this.textSpans[t2].glyph;\n this.textSpans[t2].childSpan.removeChild(_2.layerElement), _2.destroy();\n }\n this.textSpans[t2].glyph = v2, v2._debug = true, v2.prepareFrame(0), v2.renderFrame(), this.textSpans[t2].childSpan.appendChild(v2.layerElement), 1 === m2.t && this.textSpans[t2].childSpan.setAttribute(\"transform\", \"scale(\" + r2.finalSize / 100 + \",\" + r2.finalSize / 100 + \")\");\n } else p2 && n2.setAttribute(\"transform\", \"translate(\" + l2.props[12] + \",\" + l2.props[13] + \")\"), n2.textContent = o2[t2].val, n2.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n }\n p2 && n2 && n2.setAttribute(\"d\", \"\");\n } else {\n var P2 = this.textContainer, S2 = \"start\";\n switch (r2.j) {\n case 1:\n S2 = \"end\";\n break;\n case 2:\n S2 = \"middle\";\n break;\n default:\n S2 = \"start\";\n }\n P2.setAttribute(\"text-anchor\", S2), P2.setAttribute(\"letter-spacing\", d2);\n var E2 = this.buildTextContents(r2.finalText);\n for (e2 = E2.length, f2 = r2.ps ? r2.ps[1] + r2.ascent : 0, t2 = 0; t2 < e2; t2 += 1) (n2 = this.textSpans[t2].span || createNS(\"tspan\")).textContent = E2[t2], n2.setAttribute(\"x\", 0), n2.setAttribute(\"y\", f2), n2.style.display = \"inherit\", P2.appendChild(n2), this.textSpans[t2] || (this.textSpans[t2] = { span: null, glyph: null }), this.textSpans[t2].span = n2, f2 += r2.finalLineHeight;\n this.layerElement.appendChild(P2);\n }\n for (; t2 < this.textSpans.length; ) this.textSpans[t2].span.style.display = \"none\", t2 += 1;\n this._sizeChanged = true;\n }, SVGTextLottieElement.prototype.sourceRectAtTime = function() {\n if (this.prepareFrame(this.comp.renderedFrame - this.data.st), this.renderInnerContent(), this._sizeChanged) {\n this._sizeChanged = false;\n var t2 = this.layerElement.getBBox();\n this.bbox = { top: t2.y, left: t2.x, width: t2.width, height: t2.height };\n }\n return this.bbox;\n }, SVGTextLottieElement.prototype.getValue = function() {\n var t2, e2, r2 = this.textSpans.length;\n for (this.renderedFrame = this.comp.renderedFrame, t2 = 0; t2 < r2; t2 += 1) (e2 = this.textSpans[t2].glyph) && (e2.prepareFrame(this.comp.renderedFrame - this.data.st), e2._mdf && (this._mdf = true));\n }, SVGTextLottieElement.prototype.renderInnerContent = function() {\n if (this.validateText(), (!this.data.singleShape || this._mdf) && (this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag), this.lettersChangedFlag || this.textAnimator.lettersChangedFlag)) {\n var t2, e2;\n this._sizeChanged = true;\n var r2, i2, s2, a2 = this.textAnimator.renderedLetters, n2 = this.textProperty.currentData.l;\n for (e2 = n2.length, t2 = 0; t2 < e2; t2 += 1) n2[t2].n || (r2 = a2[t2], i2 = this.textSpans[t2].span, (s2 = this.textSpans[t2].glyph) && s2.renderFrame(), r2._mdf.m && i2.setAttribute(\"transform\", r2.m), r2._mdf.o && i2.setAttribute(\"opacity\", r2.o), r2._mdf.sw && i2.setAttribute(\"stroke-width\", r2.sw), r2._mdf.sc && i2.setAttribute(\"stroke\", r2.sc), r2._mdf.fc && i2.setAttribute(\"fill\", r2.fc));\n }\n }, extendPrototype([IImageElement], ISolidElement), ISolidElement.prototype.createContent = function() {\n var t2 = createNS(\"rect\");\n t2.setAttribute(\"width\", this.data.sw), t2.setAttribute(\"height\", this.data.sh), t2.setAttribute(\"fill\", this.data.sc), this.layerElement.appendChild(t2);\n }, NullElement.prototype.prepareFrame = function(t2) {\n this.prepareProperties(t2, true);\n }, NullElement.prototype.renderFrame = function() {\n }, NullElement.prototype.getBaseElement = function() {\n return null;\n }, NullElement.prototype.destroy = function() {\n }, NullElement.prototype.sourceRectAtTime = function() {\n }, NullElement.prototype.hide = function() {\n }, extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement), extendPrototype([BaseRenderer], SVGRendererBase), SVGRendererBase.prototype.createNull = function(t2) {\n return new NullElement(t2, this.globalData, this);\n }, SVGRendererBase.prototype.createShape = function(t2) {\n return new SVGShapeElement(t2, this.globalData, this);\n }, SVGRendererBase.prototype.createText = function(t2) {\n return new SVGTextLottieElement(t2, this.globalData, this);\n }, SVGRendererBase.prototype.createImage = function(t2) {\n return new IImageElement(t2, this.globalData, this);\n }, SVGRendererBase.prototype.createSolid = function(t2) {\n return new ISolidElement(t2, this.globalData, this);\n }, SVGRendererBase.prototype.configAnimation = function(t2) {\n this.svgElement.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\"), this.svgElement.setAttribute(\"xmlns:xlink\", \"http://www.w3.org/1999/xlink\"), this.renderConfig.viewBoxSize ? this.svgElement.setAttribute(\"viewBox\", this.renderConfig.viewBoxSize) : this.svgElement.setAttribute(\"viewBox\", \"0 0 \" + t2.w + \" \" + t2.h), this.renderConfig.viewBoxOnly || (this.svgElement.setAttribute(\"width\", t2.w), this.svgElement.setAttribute(\"height\", t2.h), this.svgElement.style.width = \"100%\", this.svgElement.style.height = \"100%\", this.svgElement.style.transform = \"translate3d(0,0,0)\", this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility), this.renderConfig.width && this.svgElement.setAttribute(\"width\", this.renderConfig.width), this.renderConfig.height && this.svgElement.setAttribute(\"height\", this.renderConfig.height), this.renderConfig.className && this.svgElement.setAttribute(\"class\", this.renderConfig.className), this.renderConfig.id && this.svgElement.setAttribute(\"id\", this.renderConfig.id), void 0 !== this.renderConfig.focusable && this.svgElement.setAttribute(\"focusable\", this.renderConfig.focusable), this.svgElement.setAttribute(\"preserveAspectRatio\", this.renderConfig.preserveAspectRatio), this.animationItem.wrapper.appendChild(this.svgElement);\n var e2 = this.globalData.defs;\n this.setupGlobalData(t2, e2), this.globalData.progressiveLoad = this.renderConfig.progressiveLoad, this.data = t2;\n var r2 = createNS(\"clipPath\"), i2 = createNS(\"rect\");\n i2.setAttribute(\"width\", t2.w), i2.setAttribute(\"height\", t2.h), i2.setAttribute(\"x\", 0), i2.setAttribute(\"y\", 0);\n var s2 = createElementID();\n r2.setAttribute(\"id\", s2), r2.appendChild(i2), this.layerElement.setAttribute(\"clip-path\", \"url(\" + getLocationHref() + \"#\" + s2 + \")\"), e2.appendChild(r2), this.layers = t2.layers, this.elements = createSizedArray(t2.layers.length);\n }, SVGRendererBase.prototype.destroy = function() {\n var t2;\n this.animationItem.wrapper && (this.animationItem.wrapper.innerText = \"\"), this.layerElement = null, this.globalData.defs = null;\n var e2 = this.layers ? this.layers.length : 0;\n for (t2 = 0; t2 < e2; t2 += 1) this.elements[t2] && this.elements[t2].destroy && this.elements[t2].destroy();\n this.elements.length = 0, this.destroyed = true, this.animationItem = null;\n }, SVGRendererBase.prototype.updateContainerSize = function() {\n }, SVGRendererBase.prototype.findIndexByInd = function(t2) {\n var e2 = 0, r2 = this.layers.length;\n for (e2 = 0; e2 < r2; e2 += 1) if (this.layers[e2].ind === t2) return e2;\n return -1;\n }, SVGRendererBase.prototype.buildItem = function(t2) {\n var e2 = this.elements;\n if (!e2[t2] && 99 !== this.layers[t2].ty) {\n e2[t2] = true;\n var r2 = this.createItem(this.layers[t2]);\n if (e2[t2] = r2, getExpressionsPlugin() && (0 === this.layers[t2].ty && this.globalData.projectInterface.registerComposition(r2), r2.initExpressions()), this.appendElementInPos(r2, t2), this.layers[t2].tt) {\n var i2 = \"tp\" in this.layers[t2] ? this.findIndexByInd(this.layers[t2].tp) : t2 - 1;\n if (-1 === i2) return;\n if (this.elements[i2] && true !== this.elements[i2]) {\n var s2 = e2[i2].getMatte(this.layers[t2].tt);\n r2.setMatte(s2);\n } else this.buildItem(i2), this.addPendingElement(r2);\n }\n }\n }, SVGRendererBase.prototype.checkPendingElements = function() {\n for (; this.pendingElements.length; ) {\n var t2 = this.pendingElements.pop();\n if (t2.checkParenting(), t2.data.tt) for (var e2 = 0, r2 = this.elements.length; e2 < r2; ) {\n if (this.elements[e2] === t2) {\n var i2 = \"tp\" in t2.data ? this.findIndexByInd(t2.data.tp) : e2 - 1, s2 = this.elements[i2].getMatte(this.layers[e2].tt);\n t2.setMatte(s2);\n break;\n }\n e2 += 1;\n }\n }\n }, SVGRendererBase.prototype.renderFrame = function(t2) {\n if (this.renderedFrame !== t2 && !this.destroyed) {\n var e2;\n null === t2 ? t2 = this.renderedFrame : this.renderedFrame = t2, this.globalData.frameNum = t2, this.globalData.frameId += 1, this.globalData.projectInterface.currentFrame = t2, this.globalData._mdf = false;\n var r2 = this.layers.length;\n for (this.completeLayers || this.checkLayers(t2), e2 = r2 - 1; e2 >= 0; e2 -= 1) (this.completeLayers || this.elements[e2]) && this.elements[e2].prepareFrame(t2 - this.layers[e2].st);\n if (this.globalData._mdf) for (e2 = 0; e2 < r2; e2 += 1) (this.completeLayers || this.elements[e2]) && this.elements[e2].renderFrame();\n }\n }, SVGRendererBase.prototype.appendElementInPos = function(t2, e2) {\n var r2 = t2.getBaseElement();\n if (r2) {\n for (var i2, s2 = 0; s2 < e2; ) this.elements[s2] && true !== this.elements[s2] && this.elements[s2].getBaseElement() && (i2 = this.elements[s2].getBaseElement()), s2 += 1;\n i2 ? this.layerElement.insertBefore(r2, i2) : this.layerElement.appendChild(r2);\n }\n }, SVGRendererBase.prototype.hide = function() {\n this.layerElement.style.display = \"none\";\n }, SVGRendererBase.prototype.show = function() {\n this.layerElement.style.display = \"block\";\n }, extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement), ICompElement.prototype.initElement = function(t2, e2, r2) {\n this.initFrame(), this.initBaseData(t2, e2, r2), this.initTransform(t2, e2, r2), this.initRenderable(), this.initHierarchy(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), !this.data.xt && e2.progressiveLoad || this.buildAllItems(), this.hide();\n }, ICompElement.prototype.prepareFrame = function(t2) {\n if (this._mdf = false, this.prepareRenderableFrame(t2), this.prepareProperties(t2, this.isInRange), this.isInRange || this.data.xt) {\n if (this.tm._placeholder) this.renderedFrame = t2 / this.data.sr;\n else {\n var e2 = this.tm.v;\n e2 === this.data.op && (e2 = this.data.op - 1), this.renderedFrame = e2;\n }\n var r2, i2 = this.elements.length;\n for (this.completeLayers || this.checkLayers(this.renderedFrame), r2 = i2 - 1; r2 >= 0; r2 -= 1) (this.completeLayers || this.elements[r2]) && (this.elements[r2].prepareFrame(this.renderedFrame - this.layers[r2].st), this.elements[r2]._mdf && (this._mdf = true));\n }\n }, ICompElement.prototype.renderInnerContent = function() {\n var t2, e2 = this.layers.length;\n for (t2 = 0; t2 < e2; t2 += 1) (this.completeLayers || this.elements[t2]) && this.elements[t2].renderFrame();\n }, ICompElement.prototype.setElements = function(t2) {\n this.elements = t2;\n }, ICompElement.prototype.getElements = function() {\n return this.elements;\n }, ICompElement.prototype.destroyElements = function() {\n var t2, e2 = this.layers.length;\n for (t2 = 0; t2 < e2; t2 += 1) this.elements[t2] && this.elements[t2].destroy();\n }, ICompElement.prototype.destroy = function() {\n this.destroyElements(), this.destroyBaseElement();\n }, extendPrototype([SVGRendererBase, ICompElement, SVGBaseElement], SVGCompElement), SVGCompElement.prototype.createComp = function(t2) {\n return new SVGCompElement(t2, this.globalData, this);\n }, extendPrototype([SVGRendererBase], SVGRenderer), SVGRenderer.prototype.createComp = function(t2) {\n return new SVGCompElement(t2, this.globalData, this);\n }, ShapeTransformManager.prototype = { addTransformSequence: function(t2) {\n var e2, r2 = t2.length, i2 = \"_\";\n for (e2 = 0; e2 < r2; e2 += 1) i2 += t2[e2].transform.key + \"_\";\n var s2 = this.sequences[i2];\n return s2 || (s2 = { transforms: [].concat(t2), finalTransform: new Matrix(), _mdf: false }, this.sequences[i2] = s2, this.sequenceList.push(s2)), s2;\n }, processSequence: function(t2, e2) {\n for (var r2 = 0, i2 = t2.transforms.length, s2 = e2; r2 < i2 && !e2; ) {\n if (t2.transforms[r2].transform.mProps._mdf) {\n s2 = true;\n break;\n }\n r2 += 1;\n }\n if (s2) for (t2.finalTransform.reset(), r2 = i2 - 1; r2 >= 0; r2 -= 1) t2.finalTransform.multiply(t2.transforms[r2].transform.mProps.v);\n t2._mdf = s2;\n }, processSequences: function(t2) {\n var e2, r2 = this.sequenceList.length;\n for (e2 = 0; e2 < r2; e2 += 1) this.processSequence(this.sequenceList[e2], t2);\n }, getNewKey: function() {\n return this.transform_key_count += 1, \"_\" + this.transform_key_count;\n } };\n var lumaLoader = function() {\n var t2 = \"__lottie_element_luma_buffer\", e2 = null, r2 = null, i2 = null;\n function s2() {\n var s3, a2, n2;\n e2 || (s3 = createNS(\"svg\"), a2 = createNS(\"filter\"), n2 = createNS(\"feColorMatrix\"), a2.setAttribute(\"id\", t2), n2.setAttribute(\"type\", \"matrix\"), n2.setAttribute(\"color-interpolation-filters\", \"sRGB\"), n2.setAttribute(\"values\", \"0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0\"), a2.appendChild(n2), s3.appendChild(a2), s3.setAttribute(\"id\", t2 + \"_svg\"), featureSupport.svgLumaHidden && (s3.style.display = \"none\"), i2 = s3, document.body.appendChild(i2), e2 = createTag(\"canvas\"), (r2 = e2.getContext(\"2d\")).filter = \"url(#\" + t2 + \")\", r2.fillStyle = \"rgba(0,0,0,0)\", r2.fillRect(0, 0, 1, 1));\n }\n return { load: s2, get: function(i3) {\n return e2 || s2(), e2.width = i3.width, e2.height = i3.height, r2.filter = \"url(#\" + t2 + \")\", e2;\n } };\n };\n function createCanvas(t2, e2) {\n if (featureSupport.offscreenCanvas) return new OffscreenCanvas(t2, e2);\n var r2 = createTag(\"canvas\");\n return r2.width = t2, r2.height = e2, r2;\n }\n var assetLoader = { loadLumaCanvas: lumaLoader.load, getLumaCanvas: lumaLoader.get, createCanvas }, registeredEffects = {};\n function CVEffects(t2) {\n var e2, r2, i2 = t2.data.ef ? t2.data.ef.length : 0;\n for (this.filters = [], e2 = 0; e2 < i2; e2 += 1) {\n r2 = null;\n var s2 = t2.data.ef[e2].ty;\n registeredEffects[s2] && (r2 = new (0, registeredEffects[s2].effect)(t2.effectsManager.effectElements[e2], t2)), r2 && this.filters.push(r2);\n }\n this.filters.length && t2.addRenderableComponent(this);\n }\n function registerEffect(t2, e2) {\n registeredEffects[t2] = { effect: e2 };\n }\n function CVMaskElement(t2, e2) {\n var r2;\n this.data = t2, this.element = e2, this.masksProperties = this.data.masksProperties || [], this.viewData = createSizedArray(this.masksProperties.length);\n var i2 = this.masksProperties.length, s2 = false;\n for (r2 = 0; r2 < i2; r2 += 1) \"n\" !== this.masksProperties[r2].mode && (s2 = true), this.viewData[r2] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[r2], 3);\n this.hasMasks = s2, s2 && this.element.addRenderableComponent(this);\n }\n function CVBaseElement() {\n }\n CVEffects.prototype.renderFrame = function(t2) {\n var e2, r2 = this.filters.length;\n for (e2 = 0; e2 < r2; e2 += 1) this.filters[e2].renderFrame(t2);\n }, CVEffects.prototype.getEffects = function(t2) {\n var e2, r2 = this.filters.length, i2 = [];\n for (e2 = 0; e2 < r2; e2 += 1) this.filters[e2].type === t2 && i2.push(this.filters[e2]);\n return i2;\n }, CVMaskElement.prototype.renderFrame = function() {\n if (this.hasMasks) {\n var t2, e2, r2, i2, s2 = this.element.finalTransform.mat, a2 = this.element.canvasContext, n2 = this.masksProperties.length;\n for (a2.beginPath(), t2 = 0; t2 < n2; t2 += 1) if (\"n\" !== this.masksProperties[t2].mode) {\n var o2;\n this.masksProperties[t2].inv && (a2.moveTo(0, 0), a2.lineTo(this.element.globalData.compSize.w, 0), a2.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h), a2.lineTo(0, this.element.globalData.compSize.h), a2.lineTo(0, 0)), i2 = this.viewData[t2].v, e2 = s2.applyToPointArray(i2.v[0][0], i2.v[0][1], 0), a2.moveTo(e2[0], e2[1]);\n var h2 = i2._length;\n for (o2 = 1; o2 < h2; o2 += 1) r2 = s2.applyToTriplePoints(i2.o[o2 - 1], i2.i[o2], i2.v[o2]), a2.bezierCurveTo(r2[0], r2[1], r2[2], r2[3], r2[4], r2[5]);\n r2 = s2.applyToTriplePoints(i2.o[o2 - 1], i2.i[0], i2.v[0]), a2.bezierCurveTo(r2[0], r2[1], r2[2], r2[3], r2[4], r2[5]);\n }\n this.element.globalData.renderer.save(true), a2.clip();\n }\n }, CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty, CVMaskElement.prototype.destroy = function() {\n this.element = null;\n };\n var operationsMap = { 1: \"source-in\", 2: \"source-out\", 3: \"source-in\", 4: \"source-out\" };\n function CVShapeData(t2, e2, r2, i2) {\n this.styledShapes = [], this.tr = [0, 0, 0, 0, 0, 0];\n var s2, a2 = 4;\n \"rc\" === e2.ty ? a2 = 5 : \"el\" === e2.ty ? a2 = 6 : \"sr\" === e2.ty && (a2 = 7), this.sh = ShapePropertyFactory.getShapeProp(t2, e2, a2, t2);\n var n2, o2 = r2.length;\n for (s2 = 0; s2 < o2; s2 += 1) r2[s2].closed || (n2 = { transforms: i2.addTransformSequence(r2[s2].transforms), trNodes: [] }, this.styledShapes.push(n2), r2[s2].elements.push(n2));\n }\n function CVShapeElement(t2, e2, r2) {\n this.shapes = [], this.shapesData = t2.shapes, this.stylesList = [], this.itemsData = [], this.prevViewData = [], this.shapeModifiers = [], this.processedElements = [], this.transformsManager = new ShapeTransformManager(), this.initElement(t2, e2, r2);\n }\n function CVTextElement(t2, e2, r2) {\n this.textSpans = [], this.yOffset = 0, this.fillColorAnim = false, this.strokeColorAnim = false, this.strokeWidthAnim = false, this.stroke = false, this.fill = false, this.justifyOffset = 0, this.currentRender = null, this.renderType = \"canvas\", this.values = { fill: \"rgba(0,0,0,0)\", stroke: \"rgba(0,0,0,0)\", sWidth: 0, fValue: \"\" }, this.initElement(t2, e2, r2);\n }\n function CVImageElement(t2, e2, r2) {\n this.assetData = e2.getAssetData(t2.refId), this.img = e2.imageLoader.getAsset(this.assetData), this.initElement(t2, e2, r2);\n }\n function CVSolidElement(t2, e2, r2) {\n this.initElement(t2, e2, r2);\n }\n function CanvasRendererBase() {\n }\n function CanvasContext() {\n this.opacity = -1, this.transform = createTypedArray(\"float32\", 16), this.fillStyle = \"\", this.strokeStyle = \"\", this.lineWidth = \"\", this.lineCap = \"\", this.lineJoin = \"\", this.miterLimit = \"\", this.id = Math.random();\n }\n function CVContextData() {\n var t2;\n for (this.stack = [], this.cArrPos = 0, this.cTr = new Matrix(), t2 = 0; t2 < 15; t2 += 1) {\n var e2 = new CanvasContext();\n this.stack[t2] = e2;\n }\n this._length = 15, this.nativeContext = null, this.transformMat = new Matrix(), this.currentOpacity = 1, this.currentFillStyle = \"\", this.appliedFillStyle = \"\", this.currentStrokeStyle = \"\", this.appliedStrokeStyle = \"\", this.currentLineWidth = \"\", this.appliedLineWidth = \"\", this.currentLineCap = \"\", this.appliedLineCap = \"\", this.currentLineJoin = \"\", this.appliedLineJoin = \"\", this.appliedMiterLimit = \"\", this.currentMiterLimit = \"\";\n }\n function CVCompElement(t2, e2, r2) {\n this.completeLayers = false, this.layers = t2.layers, this.pendingElements = [], this.elements = createSizedArray(this.layers.length), this.initElement(t2, e2, r2), this.tm = t2.tm ? PropertyFactory.getProp(this, t2.tm, 0, e2.frameRate, this) : { _placeholder: true };\n }\n function CanvasRenderer(t2, e2) {\n this.animationItem = t2, this.renderConfig = { clearCanvas: !e2 || void 0 === e2.clearCanvas || e2.clearCanvas, context: e2 && e2.context || null, progressiveLoad: e2 && e2.progressiveLoad || false, preserveAspectRatio: e2 && e2.preserveAspectRatio || \"xMidYMid meet\", imagePreserveAspectRatio: e2 && e2.imagePreserveAspectRatio || \"xMidYMid slice\", contentVisibility: e2 && e2.contentVisibility || \"visible\", className: e2 && e2.className || \"\", id: e2 && e2.id || \"\", runExpressions: !e2 || void 0 === e2.runExpressions || e2.runExpressions }, this.renderConfig.dpr = e2 && e2.dpr || 1, this.animationItem.wrapper && (this.renderConfig.dpr = e2 && e2.dpr || window.devicePixelRatio || 1), this.renderedFrame = -1, this.globalData = { frameNum: -1, _mdf: false, renderConfig: this.renderConfig, currentGlobalAlpha: -1 }, this.contextData = new CVContextData(), this.elements = [], this.pendingElements = [], this.transformMat = new Matrix(), this.completeLayers = false, this.rendererType = \"canvas\", this.renderConfig.clearCanvas && (this.ctxTransform = this.contextData.transform.bind(this.contextData), this.ctxOpacity = this.contextData.opacity.bind(this.contextData), this.ctxFillStyle = this.contextData.fillStyle.bind(this.contextData), this.ctxStrokeStyle = this.contextData.strokeStyle.bind(this.contextData), this.ctxLineWidth = this.contextData.lineWidth.bind(this.contextData), this.ctxLineCap = this.contextData.lineCap.bind(this.contextData), this.ctxLineJoin = this.contextData.lineJoin.bind(this.contextData), this.ctxMiterLimit = this.contextData.miterLimit.bind(this.contextData), this.ctxFill = this.contextData.fill.bind(this.contextData), this.ctxFillRect = this.contextData.fillRect.bind(this.contextData), this.ctxStroke = this.contextData.stroke.bind(this.contextData), this.save = this.contextData.save.bind(this.contextData));\n }\n function HBaseElement() {\n }\n function HSolidElement(t2, e2, r2) {\n this.initElement(t2, e2, r2);\n }\n function HShapeElement(t2, e2, r2) {\n this.shapes = [], this.shapesData = t2.shapes, this.stylesList = [], this.shapeModifiers = [], this.itemsData = [], this.processedElements = [], this.animatedContents = [], this.shapesContainer = createNS(\"g\"), this.initElement(t2, e2, r2), this.prevViewData = [], this.currentBBox = { x: 999999, y: -999999, h: 0, w: 0 };\n }\n function HTextElement(t2, e2, r2) {\n this.textSpans = [], this.textPaths = [], this.currentBBox = { x: 999999, y: -999999, h: 0, w: 0 }, this.renderType = \"svg\", this.isMasked = false, this.initElement(t2, e2, r2);\n }\n function HCameraElement(t2, e2, r2) {\n this.initFrame(), this.initBaseData(t2, e2, r2), this.initHierarchy();\n var i2 = PropertyFactory.getProp;\n if (this.pe = i2(this, t2.pe, 0, 0, this), t2.ks.p.s ? (this.px = i2(this, t2.ks.p.x, 1, 0, this), this.py = i2(this, t2.ks.p.y, 1, 0, this), this.pz = i2(this, t2.ks.p.z, 1, 0, this)) : this.p = i2(this, t2.ks.p, 1, 0, this), t2.ks.a && (this.a = i2(this, t2.ks.a, 1, 0, this)), t2.ks.or.k.length && t2.ks.or.k[0].to) {\n var s2, a2 = t2.ks.or.k.length;\n for (s2 = 0; s2 < a2; s2 += 1) t2.ks.or.k[s2].to = null, t2.ks.or.k[s2].ti = null;\n }\n this.or = i2(this, t2.ks.or, 1, degToRads, this), this.or.sh = true, this.rx = i2(this, t2.ks.rx, 0, degToRads, this), this.ry = i2(this, t2.ks.ry, 0, degToRads, this), this.rz = i2(this, t2.ks.rz, 0, degToRads, this), this.mat = new Matrix(), this._prevMat = new Matrix(), this._isFirstFrame = true, this.finalTransform = { mProp: this };\n }\n function HImageElement(t2, e2, r2) {\n this.assetData = e2.getAssetData(t2.refId), this.initElement(t2, e2, r2);\n }\n function HybridRendererBase(t2, e2) {\n this.animationItem = t2, this.layers = null, this.renderedFrame = -1, this.renderConfig = { className: e2 && e2.className || \"\", imagePreserveAspectRatio: e2 && e2.imagePreserveAspectRatio || \"xMidYMid slice\", hideOnTransparent: !(e2 && false === e2.hideOnTransparent), filterSize: { width: e2 && e2.filterSize && e2.filterSize.width || \"400%\", height: e2 && e2.filterSize && e2.filterSize.height || \"400%\", x: e2 && e2.filterSize && e2.filterSize.x || \"-100%\", y: e2 && e2.filterSize && e2.filterSize.y || \"-100%\" } }, this.globalData = { _mdf: false, frameNum: -1, renderConfig: this.renderConfig }, this.pendingElements = [], this.elements = [], this.threeDElements = [], this.destroyed = false, this.camera = null, this.supports3d = true, this.rendererType = \"html\";\n }\n function HCompElement(t2, e2, r2) {\n this.layers = t2.layers, this.supports3d = !t2.hasMask, this.completeLayers = false, this.pendingElements = [], this.elements = this.layers ? createSizedArray(this.layers.length) : [], this.initElement(t2, e2, r2), this.tm = t2.tm ? PropertyFactory.getProp(this, t2.tm, 0, e2.frameRate, this) : { _placeholder: true };\n }\n function HybridRenderer(t2, e2) {\n this.animationItem = t2, this.layers = null, this.renderedFrame = -1, this.renderConfig = { className: e2 && e2.className || \"\", imagePreserveAspectRatio: e2 && e2.imagePreserveAspectRatio || \"xMidYMid slice\", hideOnTransparent: !(e2 && false === e2.hideOnTransparent), filterSize: { width: e2 && e2.filterSize && e2.filterSize.width || \"400%\", height: e2 && e2.filterSize && e2.filterSize.height || \"400%\", x: e2 && e2.filterSize && e2.filterSize.x || \"-100%\", y: e2 && e2.filterSize && e2.filterSize.y || \"-100%\" }, runExpressions: !e2 || void 0 === e2.runExpressions || e2.runExpressions }, this.globalData = { _mdf: false, frameNum: -1, renderConfig: this.renderConfig }, this.pendingElements = [], this.elements = [], this.threeDElements = [], this.destroyed = false, this.camera = null, this.supports3d = true, this.rendererType = \"html\";\n }\n CVBaseElement.prototype = { createElements: function() {\n }, initRendererElement: function() {\n }, createContainerElements: function() {\n if (this.data.tt >= 1) {\n this.buffers = [];\n var t2 = this.globalData.canvasContext, e2 = assetLoader.createCanvas(t2.canvas.width, t2.canvas.height);\n this.buffers.push(e2);\n var r2 = assetLoader.createCanvas(t2.canvas.width, t2.canvas.height);\n this.buffers.push(r2), this.data.tt >= 3 && !document._isProxy && assetLoader.loadLumaCanvas();\n }\n this.canvasContext = this.globalData.canvasContext, this.transformCanvas = this.globalData.transformCanvas, this.renderableEffectsManager = new CVEffects(this), this.searchEffectTransforms();\n }, createContent: function() {\n }, setBlendMode: function() {\n var t2 = this.globalData;\n if (t2.blendMode !== this.data.bm) {\n t2.blendMode = this.data.bm;\n var e2 = getBlendMode(this.data.bm);\n t2.canvasContext.globalCompositeOperation = e2;\n }\n }, createRenderableComponents: function() {\n this.maskManager = new CVMaskElement(this.data, this), this.transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n }, hideElement: function() {\n this.hidden || this.isInRange && !this.isTransparent || (this.hidden = true);\n }, showElement: function() {\n this.isInRange && !this.isTransparent && (this.hidden = false, this._isFirstFrame = true, this.maskManager._isFirstFrame = true);\n }, clearCanvas: function(t2) {\n t2.clearRect(this.transformCanvas.tx, this.transformCanvas.ty, this.transformCanvas.w * this.transformCanvas.sx, this.transformCanvas.h * this.transformCanvas.sy);\n }, prepareLayer: function() {\n if (this.data.tt >= 1) {\n var t2 = this.buffers[0].getContext(\"2d\");\n this.clearCanvas(t2), t2.drawImage(this.canvasContext.canvas, 0, 0), this.currentTransform = this.canvasContext.getTransform(), this.canvasContext.setTransform(1, 0, 0, 1, 0, 0), this.clearCanvas(this.canvasContext), this.canvasContext.setTransform(this.currentTransform);\n }\n }, exitLayer: function() {\n if (this.data.tt >= 1) {\n var t2 = this.buffers[1], e2 = t2.getContext(\"2d\");\n if (this.clearCanvas(e2), e2.drawImage(this.canvasContext.canvas, 0, 0), this.canvasContext.setTransform(1, 0, 0, 1, 0, 0), this.clearCanvas(this.canvasContext), this.canvasContext.setTransform(this.currentTransform), this.comp.getElementById(\"tp\" in this.data ? this.data.tp : this.data.ind - 1).renderFrame(true), this.canvasContext.setTransform(1, 0, 0, 1, 0, 0), this.data.tt >= 3 && !document._isProxy) {\n var r2 = assetLoader.getLumaCanvas(this.canvasContext.canvas);\n r2.getContext(\"2d\").drawImage(this.canvasContext.canvas, 0, 0), this.clearCanvas(this.canvasContext), this.canvasContext.drawImage(r2, 0, 0);\n }\n this.canvasContext.globalCompositeOperation = operationsMap[this.data.tt], this.canvasContext.drawImage(t2, 0, 0), this.canvasContext.globalCompositeOperation = \"destination-over\", this.canvasContext.drawImage(this.buffers[0], 0, 0), this.canvasContext.setTransform(this.currentTransform), this.canvasContext.globalCompositeOperation = \"source-over\";\n }\n }, renderFrame: function(t2) {\n if (!this.hidden && !this.data.hd && (1 !== this.data.td || t2)) {\n this.renderTransform(), this.renderRenderable(), this.renderLocalTransform(), this.setBlendMode();\n var e2 = 0 === this.data.ty;\n this.prepareLayer(), this.globalData.renderer.save(e2), this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props), this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity), this.renderInnerContent(), this.globalData.renderer.restore(e2), this.exitLayer(), this.maskManager.hasMasks && this.globalData.renderer.restore(true), this._isFirstFrame && (this._isFirstFrame = false);\n }\n }, destroy: function() {\n this.canvasContext = null, this.data = null, this.globalData = null, this.maskManager.destroy();\n }, mHelper: new Matrix() }, CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement, CVBaseElement.prototype.show = CVBaseElement.prototype.showElement, CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated, extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement), CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement, CVShapeElement.prototype.transformHelper = { opacity: 1, _opMdf: false }, CVShapeElement.prototype.dashResetter = [], CVShapeElement.prototype.createContent = function() {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);\n }, CVShapeElement.prototype.createStyleElement = function(t2, e2) {\n var r2 = { data: t2, type: t2.ty, preTransforms: this.transformsManager.addTransformSequence(e2), transforms: [], elements: [], closed: true === t2.hd }, i2 = {};\n if (\"fl\" === t2.ty || \"st\" === t2.ty ? (i2.c = PropertyFactory.getProp(this, t2.c, 1, 255, this), i2.c.k || (r2.co = \"rgb(\" + bmFloor(i2.c.v[0]) + \",\" + bmFloor(i2.c.v[1]) + \",\" + bmFloor(i2.c.v[2]) + \")\")) : \"gf\" !== t2.ty && \"gs\" !== t2.ty || (i2.s = PropertyFactory.getProp(this, t2.s, 1, null, this), i2.e = PropertyFactory.getProp(this, t2.e, 1, null, this), i2.h = PropertyFactory.getProp(this, t2.h || { k: 0 }, 0, 0.01, this), i2.a = PropertyFactory.getProp(this, t2.a || { k: 0 }, 0, degToRads, this), i2.g = new GradientProperty(this, t2.g, this)), i2.o = PropertyFactory.getProp(this, t2.o, 0, 0.01, this), \"st\" === t2.ty || \"gs\" === t2.ty) {\n if (r2.lc = lineCapEnum[t2.lc || 2], r2.lj = lineJoinEnum[t2.lj || 2], 1 == t2.lj && (r2.ml = t2.ml), i2.w = PropertyFactory.getProp(this, t2.w, 0, null, this), i2.w.k || (r2.wi = i2.w.v), t2.d) {\n var s2 = new DashProperty(this, t2.d, \"canvas\", this);\n i2.d = s2, i2.d.k || (r2.da = i2.d.dashArray, r2.do = i2.d.dashoffset[0]);\n }\n } else r2.r = 2 === t2.r ? \"evenodd\" : \"nonzero\";\n return this.stylesList.push(r2), i2.style = r2, i2;\n }, CVShapeElement.prototype.createGroupElement = function() {\n return { it: [], prevViewData: [] };\n }, CVShapeElement.prototype.createTransformElement = function(t2) {\n return { transform: { opacity: 1, _opMdf: false, key: this.transformsManager.getNewKey(), op: PropertyFactory.getProp(this, t2.o, 0, 0.01, this), mProps: TransformPropertyFactory.getTransformProperty(this, t2, this) } };\n }, CVShapeElement.prototype.createShapeElement = function(t2) {\n var e2 = new CVShapeData(this, t2, this.stylesList, this.transformsManager);\n return this.shapes.push(e2), this.addShapeToModifiers(e2), e2;\n }, CVShapeElement.prototype.reloadShapes = function() {\n var t2;\n this._isFirstFrame = true;\n var e2 = this.itemsData.length;\n for (t2 = 0; t2 < e2; t2 += 1) this.prevViewData[t2] = this.itemsData[t2];\n for (this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []), e2 = this.dynamicProperties.length, t2 = 0; t2 < e2; t2 += 1) this.dynamicProperties[t2].getValue();\n this.renderModifiers(), this.transformsManager.processSequences(this._isFirstFrame);\n }, CVShapeElement.prototype.addTransformToStyleList = function(t2) {\n var e2, r2 = this.stylesList.length;\n for (e2 = 0; e2 < r2; e2 += 1) this.stylesList[e2].closed || this.stylesList[e2].transforms.push(t2);\n }, CVShapeElement.prototype.removeTransformFromStyleList = function() {\n var t2, e2 = this.stylesList.length;\n for (t2 = 0; t2 < e2; t2 += 1) this.stylesList[t2].closed || this.stylesList[t2].transforms.pop();\n }, CVShapeElement.prototype.closeStyles = function(t2) {\n var e2, r2 = t2.length;\n for (e2 = 0; e2 < r2; e2 += 1) t2[e2].closed = true;\n }, CVShapeElement.prototype.searchShapes = function(t2, e2, r2, i2, s2) {\n var a2, n2, o2, h2, l2, p2, c2 = t2.length - 1, f2 = [], u2 = [], d2 = [].concat(s2);\n for (a2 = c2; a2 >= 0; a2 -= 1) {\n if ((h2 = this.searchProcessedElement(t2[a2])) ? e2[a2] = r2[h2 - 1] : t2[a2]._shouldRender = i2, \"fl\" === t2[a2].ty || \"st\" === t2[a2].ty || \"gf\" === t2[a2].ty || \"gs\" === t2[a2].ty) h2 ? e2[a2].style.closed = false : e2[a2] = this.createStyleElement(t2[a2], d2), f2.push(e2[a2].style);\n else if (\"gr\" === t2[a2].ty) {\n if (h2) for (o2 = e2[a2].it.length, n2 = 0; n2 < o2; n2 += 1) e2[a2].prevViewData[n2] = e2[a2].it[n2];\n else e2[a2] = this.createGroupElement(t2[a2]);\n this.searchShapes(t2[a2].it, e2[a2].it, e2[a2].prevViewData, i2, d2);\n } else \"tr\" === t2[a2].ty ? (h2 || (p2 = this.createTransformElement(t2[a2]), e2[a2] = p2), d2.push(e2[a2]), this.addTransformToStyleList(e2[a2])) : \"sh\" === t2[a2].ty || \"rc\" === t2[a2].ty || \"el\" === t2[a2].ty || \"sr\" === t2[a2].ty ? h2 || (e2[a2] = this.createShapeElement(t2[a2])) : \"tm\" === t2[a2].ty || \"rd\" === t2[a2].ty || \"pb\" === t2[a2].ty || \"zz\" === t2[a2].ty || \"op\" === t2[a2].ty ? (h2 ? (l2 = e2[a2]).closed = false : ((l2 = ShapeModifiers.getModifier(t2[a2].ty)).init(this, t2[a2]), e2[a2] = l2, this.shapeModifiers.push(l2)), u2.push(l2)) : \"rp\" === t2[a2].ty && (h2 ? (l2 = e2[a2]).closed = true : (l2 = ShapeModifiers.getModifier(t2[a2].ty), e2[a2] = l2, l2.init(this, t2, a2, e2), this.shapeModifiers.push(l2), i2 = false), u2.push(l2));\n this.addProcessedElement(t2[a2], a2 + 1);\n }\n for (this.removeTransformFromStyleList(), this.closeStyles(f2), c2 = u2.length, a2 = 0; a2 < c2; a2 += 1) u2[a2].closed = true;\n }, CVShapeElement.prototype.renderInnerContent = function() {\n this.transformHelper.opacity = 1, this.transformHelper._opMdf = false, this.renderModifiers(), this.transformsManager.processSequences(this._isFirstFrame), this.renderShape(this.transformHelper, this.shapesData, this.itemsData, true);\n }, CVShapeElement.prototype.renderShapeTransform = function(t2, e2) {\n (t2._opMdf || e2.op._mdf || this._isFirstFrame) && (e2.opacity = t2.opacity, e2.opacity *= e2.op.v, e2._opMdf = true);\n }, CVShapeElement.prototype.drawLayer = function() {\n var t2, e2, r2, i2, s2, a2, n2, o2, h2, l2 = this.stylesList.length, p2 = this.globalData.renderer, c2 = this.globalData.canvasContext;\n for (t2 = 0; t2 < l2; t2 += 1) if ((\"st\" !== (o2 = (h2 = this.stylesList[t2]).type) && \"gs\" !== o2 || 0 !== h2.wi) && h2.data._shouldRender && 0 !== h2.coOp && 0 !== this.globalData.currentGlobalAlpha) {\n for (p2.save(), a2 = h2.elements, \"st\" === o2 || \"gs\" === o2 ? (p2.ctxStrokeStyle(\"st\" === o2 ? h2.co : h2.grd), p2.ctxLineWidth(h2.wi), p2.ctxLineCap(h2.lc), p2.ctxLineJoin(h2.lj), p2.ctxMiterLimit(h2.ml || 0)) : p2.ctxFillStyle(\"fl\" === o2 ? h2.co : h2.grd), p2.ctxOpacity(h2.coOp), \"st\" !== o2 && \"gs\" !== o2 && c2.beginPath(), p2.ctxTransform(h2.preTransforms.finalTransform.props), r2 = a2.length, e2 = 0; e2 < r2; e2 += 1) {\n for (\"st\" !== o2 && \"gs\" !== o2 || (c2.beginPath(), h2.da && (c2.setLineDash(h2.da), c2.lineDashOffset = h2.do)), s2 = (n2 = a2[e2].trNodes).length, i2 = 0; i2 < s2; i2 += 1) \"m\" === n2[i2].t ? c2.moveTo(n2[i2].p[0], n2[i2].p[1]) : \"c\" === n2[i2].t ? c2.bezierCurveTo(n2[i2].pts[0], n2[i2].pts[1], n2[i2].pts[2], n2[i2].pts[3], n2[i2].pts[4], n2[i2].pts[5]) : c2.closePath();\n \"st\" !== o2 && \"gs\" !== o2 || (p2.ctxStroke(), h2.da && c2.setLineDash(this.dashResetter));\n }\n \"st\" !== o2 && \"gs\" !== o2 && this.globalData.renderer.ctxFill(h2.r), p2.restore();\n }\n }, CVShapeElement.prototype.renderShape = function(t2, e2, r2, i2) {\n var s2, a2;\n for (a2 = t2, s2 = e2.length - 1; s2 >= 0; s2 -= 1) \"tr\" === e2[s2].ty ? (a2 = r2[s2].transform, this.renderShapeTransform(t2, a2)) : \"sh\" === e2[s2].ty || \"el\" === e2[s2].ty || \"rc\" === e2[s2].ty || \"sr\" === e2[s2].ty ? this.renderPath(e2[s2], r2[s2]) : \"fl\" === e2[s2].ty ? this.renderFill(e2[s2], r2[s2], a2) : \"st\" === e2[s2].ty ? this.renderStroke(e2[s2], r2[s2], a2) : \"gf\" === e2[s2].ty || \"gs\" === e2[s2].ty ? this.renderGradientFill(e2[s2], r2[s2], a2) : \"gr\" === e2[s2].ty ? this.renderShape(a2, e2[s2].it, r2[s2].it) : e2[s2].ty;\n i2 && this.drawLayer();\n }, CVShapeElement.prototype.renderStyledShape = function(t2, e2) {\n if (this._isFirstFrame || e2._mdf || t2.transforms._mdf) {\n var r2, i2, s2, a2 = t2.trNodes, n2 = e2.paths, o2 = n2._length;\n a2.length = 0;\n var h2 = t2.transforms.finalTransform;\n for (s2 = 0; s2 < o2; s2 += 1) {\n var l2 = n2.shapes[s2];\n if (l2 && l2.v) {\n for (i2 = l2._length, r2 = 1; r2 < i2; r2 += 1) 1 === r2 && a2.push({ t: \"m\", p: h2.applyToPointArray(l2.v[0][0], l2.v[0][1], 0) }), a2.push({ t: \"c\", pts: h2.applyToTriplePoints(l2.o[r2 - 1], l2.i[r2], l2.v[r2]) });\n 1 === i2 && a2.push({ t: \"m\", p: h2.applyToPointArray(l2.v[0][0], l2.v[0][1], 0) }), l2.c && i2 && (a2.push({ t: \"c\", pts: h2.applyToTriplePoints(l2.o[r2 - 1], l2.i[0], l2.v[0]) }), a2.push({ t: \"z\" }));\n }\n }\n t2.trNodes = a2;\n }\n }, CVShapeElement.prototype.renderPath = function(t2, e2) {\n if (true !== t2.hd && t2._shouldRender) {\n var r2, i2 = e2.styledShapes.length;\n for (r2 = 0; r2 < i2; r2 += 1) this.renderStyledShape(e2.styledShapes[r2], e2.sh);\n }\n }, CVShapeElement.prototype.renderFill = function(t2, e2, r2) {\n var i2 = e2.style;\n (e2.c._mdf || this._isFirstFrame) && (i2.co = \"rgb(\" + bmFloor(e2.c.v[0]) + \",\" + bmFloor(e2.c.v[1]) + \",\" + bmFloor(e2.c.v[2]) + \")\"), (e2.o._mdf || r2._opMdf || this._isFirstFrame) && (i2.coOp = e2.o.v * r2.opacity);\n }, CVShapeElement.prototype.renderGradientFill = function(t2, e2, r2) {\n var i2, s2 = e2.style;\n if (!s2.grd || e2.g._mdf || e2.s._mdf || e2.e._mdf || 1 !== t2.t && (e2.h._mdf || e2.a._mdf)) {\n var a2, n2 = this.globalData.canvasContext, o2 = e2.s.v, h2 = e2.e.v;\n if (1 === t2.t) i2 = n2.createLinearGradient(o2[0], o2[1], h2[0], h2[1]);\n else {\n var l2 = Math.sqrt(Math.pow(o2[0] - h2[0], 2) + Math.pow(o2[1] - h2[1], 2)), p2 = Math.atan2(h2[1] - o2[1], h2[0] - o2[0]), c2 = e2.h.v;\n c2 >= 1 ? c2 = 0.99 : c2 <= -1 && (c2 = -0.99);\n var f2 = l2 * c2, u2 = Math.cos(p2 + e2.a.v) * f2 + o2[0], d2 = Math.sin(p2 + e2.a.v) * f2 + o2[1];\n i2 = n2.createRadialGradient(u2, d2, 0, o2[0], o2[1], l2);\n }\n var m2 = t2.g.p, y2 = e2.g.c, g2 = 1;\n for (a2 = 0; a2 < m2; a2 += 1) e2.g._hasOpacity && e2.g._collapsable && (g2 = e2.g.o[2 * a2 + 1]), i2.addColorStop(y2[4 * a2] / 100, \"rgba(\" + y2[4 * a2 + 1] + \",\" + y2[4 * a2 + 2] + \",\" + y2[4 * a2 + 3] + \",\" + g2 + \")\");\n s2.grd = i2;\n }\n s2.coOp = e2.o.v * r2.opacity;\n }, CVShapeElement.prototype.renderStroke = function(t2, e2, r2) {\n var i2 = e2.style, s2 = e2.d;\n s2 && (s2._mdf || this._isFirstFrame) && (i2.da = s2.dashArray, i2.do = s2.dashoffset[0]), (e2.c._mdf || this._isFirstFrame) && (i2.co = \"rgb(\" + bmFloor(e2.c.v[0]) + \",\" + bmFloor(e2.c.v[1]) + \",\" + bmFloor(e2.c.v[2]) + \")\"), (e2.o._mdf || r2._opMdf || this._isFirstFrame) && (i2.coOp = e2.o.v * r2.opacity), (e2.w._mdf || this._isFirstFrame) && (i2.wi = e2.w.v);\n }, CVShapeElement.prototype.destroy = function() {\n this.shapesData = null, this.globalData = null, this.canvasContext = null, this.stylesList.length = 0, this.itemsData.length = 0;\n }, extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement), CVTextElement.prototype.tHelper = createTag(\"canvas\").getContext(\"2d\"), CVTextElement.prototype.buildNewText = function() {\n var t2 = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(t2.l ? t2.l.length : 0);\n var e2 = false;\n t2.fc ? (e2 = true, this.values.fill = this.buildColor(t2.fc)) : this.values.fill = \"rgba(0,0,0,0)\", this.fill = e2;\n var r2 = false;\n t2.sc && (r2 = true, this.values.stroke = this.buildColor(t2.sc), this.values.sWidth = t2.sw);\n var i2, s2, a2, n2, o2, h2, l2, p2, c2, f2, u2, d2, m2 = this.globalData.fontManager.getFontByName(t2.f), y2 = t2.l, g2 = this.mHelper;\n this.stroke = r2, this.values.fValue = t2.finalSize + \"px \" + this.globalData.fontManager.getFontByName(t2.f).fFamily, s2 = t2.finalText.length;\n var v2 = this.data.singleShape, b2 = 1e-3 * t2.tr * t2.finalSize, _2 = 0, P2 = 0, S2 = true, E2 = 0;\n for (i2 = 0; i2 < s2; i2 += 1) {\n n2 = (a2 = this.globalData.fontManager.getCharData(t2.finalText[i2], m2.fStyle, this.globalData.fontManager.getFontByName(t2.f).fFamily)) && a2.data || {}, g2.reset(), v2 && y2[i2].n && (_2 = -b2, P2 += t2.yOffset, P2 += S2 ? 1 : 0, S2 = false), c2 = (l2 = n2.shapes ? n2.shapes[0].it : []).length, g2.scale(t2.finalSize / 100, t2.finalSize / 100), v2 && this.applyTextPropertiesToMatrix(t2, g2, y2[i2].line, _2, P2), u2 = createSizedArray(c2 - 1);\n var x2 = 0;\n for (p2 = 0; p2 < c2; p2 += 1) if (\"sh\" === l2[p2].ty) {\n for (h2 = l2[p2].ks.k.i.length, f2 = l2[p2].ks.k, d2 = [], o2 = 1; o2 < h2; o2 += 1) 1 === o2 && d2.push(g2.applyToX(f2.v[0][0], f2.v[0][1], 0), g2.applyToY(f2.v[0][0], f2.v[0][1], 0)), d2.push(g2.applyToX(f2.o[o2 - 1][0], f2.o[o2 - 1][1], 0), g2.applyToY(f2.o[o2 - 1][0], f2.o[o2 - 1][1], 0), g2.applyToX(f2.i[o2][0], f2.i[o2][1], 0), g2.applyToY(f2.i[o2][0], f2.i[o2][1], 0), g2.applyToX(f2.v[o2][0], f2.v[o2][1], 0), g2.applyToY(f2.v[o2][0], f2.v[o2][1], 0));\n d2.push(g2.applyToX(f2.o[o2 - 1][0], f2.o[o2 - 1][1], 0), g2.applyToY(f2.o[o2 - 1][0], f2.o[o2 - 1][1], 0), g2.applyToX(f2.i[0][0], f2.i[0][1], 0), g2.applyToY(f2.i[0][0], f2.i[0][1], 0), g2.applyToX(f2.v[0][0], f2.v[0][1], 0), g2.applyToY(f2.v[0][0], f2.v[0][1], 0)), u2[x2] = d2, x2 += 1;\n }\n v2 && (_2 += y2[i2].l, _2 += b2), this.textSpans[E2] ? this.textSpans[E2].elem = u2 : this.textSpans[E2] = { elem: u2 }, E2 += 1;\n }\n }, CVTextElement.prototype.renderInnerContent = function() {\n var t2, e2, r2, i2, s2, a2;\n this.validateText(), this.canvasContext.font = this.values.fValue, this.globalData.renderer.ctxLineCap(\"butt\"), this.globalData.renderer.ctxLineJoin(\"miter\"), this.globalData.renderer.ctxMiterLimit(4), this.data.singleShape || this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n var n2, o2 = this.textAnimator.renderedLetters, h2 = this.textProperty.currentData.l;\n e2 = h2.length;\n var l2, p2, c2 = null, f2 = null, u2 = null, d2 = this.globalData.renderer;\n for (t2 = 0; t2 < e2; t2 += 1) if (!h2[t2].n) {\n if ((n2 = o2[t2]) && (d2.save(), d2.ctxTransform(n2.p), d2.ctxOpacity(n2.o)), this.fill) {\n for (n2 && n2.fc ? c2 !== n2.fc && (d2.ctxFillStyle(n2.fc), c2 = n2.fc) : c2 !== this.values.fill && (c2 = this.values.fill, d2.ctxFillStyle(this.values.fill)), i2 = (l2 = this.textSpans[t2].elem).length, this.globalData.canvasContext.beginPath(), r2 = 0; r2 < i2; r2 += 1) for (a2 = (p2 = l2[r2]).length, this.globalData.canvasContext.moveTo(p2[0], p2[1]), s2 = 2; s2 < a2; s2 += 6) this.globalData.canvasContext.bezierCurveTo(p2[s2], p2[s2 + 1], p2[s2 + 2], p2[s2 + 3], p2[s2 + 4], p2[s2 + 5]);\n this.globalData.canvasContext.closePath(), d2.ctxFill();\n }\n if (this.stroke) {\n for (n2 && n2.sw ? u2 !== n2.sw && (u2 = n2.sw, d2.ctxLineWidth(n2.sw)) : u2 !== this.values.sWidth && (u2 = this.values.sWidth, d2.ctxLineWidth(this.values.sWidth)), n2 && n2.sc ? f2 !== n2.sc && (f2 = n2.sc, d2.ctxStrokeStyle(n2.sc)) : f2 !== this.values.stroke && (f2 = this.values.stroke, d2.ctxStrokeStyle(this.values.stroke)), i2 = (l2 = this.textSpans[t2].elem).length, this.globalData.canvasContext.beginPath(), r2 = 0; r2 < i2; r2 += 1) for (a2 = (p2 = l2[r2]).length, this.globalData.canvasContext.moveTo(p2[0], p2[1]), s2 = 2; s2 < a2; s2 += 6) this.globalData.canvasContext.bezierCurveTo(p2[s2], p2[s2 + 1], p2[s2 + 2], p2[s2 + 3], p2[s2 + 4], p2[s2 + 5]);\n this.globalData.canvasContext.closePath(), d2.ctxStroke();\n }\n n2 && this.globalData.renderer.restore();\n }\n }, extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement), CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement, CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame, CVImageElement.prototype.createContent = function() {\n if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {\n var t2 = createTag(\"canvas\");\n t2.width = this.assetData.w, t2.height = this.assetData.h;\n var e2, r2, i2 = t2.getContext(\"2d\"), s2 = this.img.width, a2 = this.img.height, n2 = s2 / a2, o2 = this.assetData.w / this.assetData.h, h2 = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;\n n2 > o2 && \"xMidYMid slice\" === h2 || n2 < o2 && \"xMidYMid slice\" !== h2 ? e2 = (r2 = a2) * o2 : r2 = (e2 = s2) / o2, i2.drawImage(this.img, (s2 - e2) / 2, (a2 - r2) / 2, e2, r2, 0, 0, this.assetData.w, this.assetData.h), this.img = t2;\n }\n }, CVImageElement.prototype.renderInnerContent = function() {\n this.canvasContext.drawImage(this.img, 0, 0);\n }, CVImageElement.prototype.destroy = function() {\n this.img = null;\n }, extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement), CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement, CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame, CVSolidElement.prototype.renderInnerContent = function() {\n this.globalData.renderer.ctxFillStyle(this.data.sc), this.globalData.renderer.ctxFillRect(0, 0, this.data.sw, this.data.sh);\n }, extendPrototype([BaseRenderer], CanvasRendererBase), CanvasRendererBase.prototype.createShape = function(t2) {\n return new CVShapeElement(t2, this.globalData, this);\n }, CanvasRendererBase.prototype.createText = function(t2) {\n return new CVTextElement(t2, this.globalData, this);\n }, CanvasRendererBase.prototype.createImage = function(t2) {\n return new CVImageElement(t2, this.globalData, this);\n }, CanvasRendererBase.prototype.createSolid = function(t2) {\n return new CVSolidElement(t2, this.globalData, this);\n }, CanvasRendererBase.prototype.createNull = SVGRenderer.prototype.createNull, CanvasRendererBase.prototype.ctxTransform = function(t2) {\n 1 === t2[0] && 0 === t2[1] && 0 === t2[4] && 1 === t2[5] && 0 === t2[12] && 0 === t2[13] || this.canvasContext.transform(t2[0], t2[1], t2[4], t2[5], t2[12], t2[13]);\n }, CanvasRendererBase.prototype.ctxOpacity = function(t2) {\n this.canvasContext.globalAlpha *= t2 < 0 ? 0 : t2;\n }, CanvasRendererBase.prototype.ctxFillStyle = function(t2) {\n this.canvasContext.fillStyle = t2;\n }, CanvasRendererBase.prototype.ctxStrokeStyle = function(t2) {\n this.canvasContext.strokeStyle = t2;\n }, CanvasRendererBase.prototype.ctxLineWidth = function(t2) {\n this.canvasContext.lineWidth = t2;\n }, CanvasRendererBase.prototype.ctxLineCap = function(t2) {\n this.canvasContext.lineCap = t2;\n }, CanvasRendererBase.prototype.ctxLineJoin = function(t2) {\n this.canvasContext.lineJoin = t2;\n }, CanvasRendererBase.prototype.ctxMiterLimit = function(t2) {\n this.canvasContext.miterLimit = t2;\n }, CanvasRendererBase.prototype.ctxFill = function(t2) {\n this.canvasContext.fill(t2);\n }, CanvasRendererBase.prototype.ctxFillRect = function(t2, e2, r2, i2) {\n this.canvasContext.fillRect(t2, e2, r2, i2);\n }, CanvasRendererBase.prototype.ctxStroke = function() {\n this.canvasContext.stroke();\n }, CanvasRendererBase.prototype.reset = function() {\n this.renderConfig.clearCanvas ? this.contextData.reset() : this.canvasContext.restore();\n }, CanvasRendererBase.prototype.save = function() {\n this.canvasContext.save();\n }, CanvasRendererBase.prototype.restore = function(t2) {\n this.renderConfig.clearCanvas ? (t2 && (this.globalData.blendMode = \"source-over\"), this.contextData.restore(t2)) : this.canvasContext.restore();\n }, CanvasRendererBase.prototype.configAnimation = function(t2) {\n if (this.animationItem.wrapper) {\n this.animationItem.container = createTag(\"canvas\");\n var e2 = this.animationItem.container.style;\n e2.width = \"100%\", e2.height = \"100%\";\n var r2 = \"0px 0px 0px\";\n e2.transformOrigin = r2, e2.mozTransformOrigin = r2, e2.webkitTransformOrigin = r2, e2[\"-webkit-transform\"] = r2, e2.contentVisibility = this.renderConfig.contentVisibility, this.animationItem.wrapper.appendChild(this.animationItem.container), this.canvasContext = this.animationItem.container.getContext(\"2d\"), this.renderConfig.className && this.animationItem.container.setAttribute(\"class\", this.renderConfig.className), this.renderConfig.id && this.animationItem.container.setAttribute(\"id\", this.renderConfig.id);\n } else this.canvasContext = this.renderConfig.context;\n this.contextData.setContext(this.canvasContext), this.data = t2, this.layers = t2.layers, this.transformCanvas = { w: t2.w, h: t2.h, sx: 0, sy: 0, tx: 0, ty: 0 }, this.setupGlobalData(t2, document.body), this.globalData.canvasContext = this.canvasContext, this.globalData.renderer = this, this.globalData.isDashed = false, this.globalData.progressiveLoad = this.renderConfig.progressiveLoad, this.globalData.transformCanvas = this.transformCanvas, this.elements = createSizedArray(t2.layers.length), this.updateContainerSize();\n }, CanvasRendererBase.prototype.updateContainerSize = function(t2, e2) {\n var r2, i2, s2, a2;\n if (this.reset(), t2 ? (r2 = t2, i2 = e2, this.canvasContext.canvas.width = r2, this.canvasContext.canvas.height = i2) : (this.animationItem.wrapper && this.animationItem.container ? (r2 = this.animationItem.wrapper.offsetWidth, i2 = this.animationItem.wrapper.offsetHeight) : (r2 = this.canvasContext.canvas.width, i2 = this.canvasContext.canvas.height), this.canvasContext.canvas.width = r2 * this.renderConfig.dpr, this.canvasContext.canvas.height = i2 * this.renderConfig.dpr), -1 !== this.renderConfig.preserveAspectRatio.indexOf(\"meet\") || -1 !== this.renderConfig.preserveAspectRatio.indexOf(\"slice\")) {\n var n2 = this.renderConfig.preserveAspectRatio.split(\" \"), o2 = n2[1] || \"meet\", h2 = n2[0] || \"xMidYMid\", l2 = h2.substr(0, 4), p2 = h2.substr(4);\n s2 = r2 / i2, (a2 = this.transformCanvas.w / this.transformCanvas.h) > s2 && \"meet\" === o2 || a2 < s2 && \"slice\" === o2 ? (this.transformCanvas.sx = r2 / (this.transformCanvas.w / this.renderConfig.dpr), this.transformCanvas.sy = r2 / (this.transformCanvas.w / this.renderConfig.dpr)) : (this.transformCanvas.sx = i2 / (this.transformCanvas.h / this.renderConfig.dpr), this.transformCanvas.sy = i2 / (this.transformCanvas.h / this.renderConfig.dpr)), this.transformCanvas.tx = \"xMid\" === l2 && (a2 < s2 && \"meet\" === o2 || a2 > s2 && \"slice\" === o2) ? (r2 - this.transformCanvas.w * (i2 / this.transformCanvas.h)) / 2 * this.renderConfig.dpr : \"xMax\" === l2 && (a2 < s2 && \"meet\" === o2 || a2 > s2 && \"slice\" === o2) ? (r2 - this.transformCanvas.w * (i2 / this.transformCanvas.h)) * this.renderConfig.dpr : 0, this.transformCanvas.ty = \"YMid\" === p2 && (a2 > s2 && \"meet\" === o2 || a2 < s2 && \"slice\" === o2) ? (i2 - this.transformCanvas.h * (r2 / this.transformCanvas.w)) / 2 * this.renderConfig.dpr : \"YMax\" === p2 && (a2 > s2 && \"meet\" === o2 || a2 < s2 && \"slice\" === o2) ? (i2 - this.transformCanvas.h * (r2 / this.transformCanvas.w)) * this.renderConfig.dpr : 0;\n } else \"none\" === this.renderConfig.preserveAspectRatio ? (this.transformCanvas.sx = r2 / (this.transformCanvas.w / this.renderConfig.dpr), this.transformCanvas.sy = i2 / (this.transformCanvas.h / this.renderConfig.dpr), this.transformCanvas.tx = 0, this.transformCanvas.ty = 0) : (this.transformCanvas.sx = this.renderConfig.dpr, this.transformCanvas.sy = this.renderConfig.dpr, this.transformCanvas.tx = 0, this.transformCanvas.ty = 0);\n this.transformCanvas.props = [this.transformCanvas.sx, 0, 0, 0, 0, this.transformCanvas.sy, 0, 0, 0, 0, 1, 0, this.transformCanvas.tx, this.transformCanvas.ty, 0, 1], this.ctxTransform(this.transformCanvas.props), this.canvasContext.beginPath(), this.canvasContext.rect(0, 0, this.transformCanvas.w, this.transformCanvas.h), this.canvasContext.closePath(), this.canvasContext.clip(), this.renderFrame(this.renderedFrame, true);\n }, CanvasRendererBase.prototype.destroy = function() {\n var t2;\n for (this.renderConfig.clearCanvas && this.animationItem.wrapper && (this.animationItem.wrapper.innerText = \"\"), t2 = (this.layers ? this.layers.length : 0) - 1; t2 >= 0; t2 -= 1) this.elements[t2] && this.elements[t2].destroy && this.elements[t2].destroy();\n this.elements.length = 0, this.globalData.canvasContext = null, this.animationItem.container = null, this.destroyed = true;\n }, CanvasRendererBase.prototype.renderFrame = function(t2, e2) {\n if ((this.renderedFrame !== t2 || true !== this.renderConfig.clearCanvas || e2) && !this.destroyed && -1 !== t2) {\n var r2;\n this.renderedFrame = t2, this.globalData.frameNum = t2 - this.animationItem._isFirstFrame, this.globalData.frameId += 1, this.globalData._mdf = !this.renderConfig.clearCanvas || e2, this.globalData.projectInterface.currentFrame = t2;\n var i2 = this.layers.length;\n for (this.completeLayers || this.checkLayers(t2), r2 = i2 - 1; r2 >= 0; r2 -= 1) (this.completeLayers || this.elements[r2]) && this.elements[r2].prepareFrame(t2 - this.layers[r2].st);\n if (this.globalData._mdf) {\n for (true === this.renderConfig.clearCanvas ? this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h) : this.save(), r2 = i2 - 1; r2 >= 0; r2 -= 1) (this.completeLayers || this.elements[r2]) && this.elements[r2].renderFrame();\n true !== this.renderConfig.clearCanvas && this.restore();\n }\n }\n }, CanvasRendererBase.prototype.buildItem = function(t2) {\n var e2 = this.elements;\n if (!e2[t2] && 99 !== this.layers[t2].ty) {\n var r2 = this.createItem(this.layers[t2], this, this.globalData);\n e2[t2] = r2, r2.initExpressions();\n }\n }, CanvasRendererBase.prototype.checkPendingElements = function() {\n for (; this.pendingElements.length; ) this.pendingElements.pop().checkParenting();\n }, CanvasRendererBase.prototype.hide = function() {\n this.animationItem.container.style.display = \"none\";\n }, CanvasRendererBase.prototype.show = function() {\n this.animationItem.container.style.display = \"block\";\n }, CVContextData.prototype.duplicate = function() {\n var t2 = 2 * this._length, e2 = 0;\n for (e2 = this._length; e2 < t2; e2 += 1) this.stack[e2] = new CanvasContext();\n this._length = t2;\n }, CVContextData.prototype.reset = function() {\n this.cArrPos = 0, this.cTr.reset(), this.stack[this.cArrPos].opacity = 1;\n }, CVContextData.prototype.restore = function(t2) {\n this.cArrPos -= 1;\n var e2, r2 = this.stack[this.cArrPos], i2 = r2.transform, s2 = this.cTr.props;\n for (e2 = 0; e2 < 16; e2 += 1) s2[e2] = i2[e2];\n if (t2) {\n this.nativeContext.restore();\n var a2 = this.stack[this.cArrPos + 1];\n this.appliedFillStyle = a2.fillStyle, this.appliedStrokeStyle = a2.strokeStyle, this.appliedLineWidth = a2.lineWidth, this.appliedLineCap = a2.lineCap, this.appliedLineJoin = a2.lineJoin, this.appliedMiterLimit = a2.miterLimit;\n }\n this.nativeContext.setTransform(i2[0], i2[1], i2[4], i2[5], i2[12], i2[13]), (t2 || -1 !== r2.opacity && this.currentOpacity !== r2.opacity) && (this.nativeContext.globalAlpha = r2.opacity, this.currentOpacity = r2.opacity), this.currentFillStyle = r2.fillStyle, this.currentStrokeStyle = r2.strokeStyle, this.currentLineWidth = r2.lineWidth, this.currentLineCap = r2.lineCap, this.currentLineJoin = r2.lineJoin, this.currentMiterLimit = r2.miterLimit;\n }, CVContextData.prototype.save = function(t2) {\n t2 && this.nativeContext.save();\n var e2 = this.cTr.props;\n this._length <= this.cArrPos && this.duplicate();\n var r2, i2 = this.stack[this.cArrPos];\n for (r2 = 0; r2 < 16; r2 += 1) i2.transform[r2] = e2[r2];\n this.cArrPos += 1;\n var s2 = this.stack[this.cArrPos];\n s2.opacity = i2.opacity, s2.fillStyle = i2.fillStyle, s2.strokeStyle = i2.strokeStyle, s2.lineWidth = i2.lineWidth, s2.lineCap = i2.lineCap, s2.lineJoin = i2.lineJoin, s2.miterLimit = i2.miterLimit;\n }, CVContextData.prototype.setOpacity = function(t2) {\n this.stack[this.cArrPos].opacity = t2;\n }, CVContextData.prototype.setContext = function(t2) {\n this.nativeContext = t2;\n }, CVContextData.prototype.fillStyle = function(t2) {\n this.stack[this.cArrPos].fillStyle !== t2 && (this.currentFillStyle = t2, this.stack[this.cArrPos].fillStyle = t2);\n }, CVContextData.prototype.strokeStyle = function(t2) {\n this.stack[this.cArrPos].strokeStyle !== t2 && (this.currentStrokeStyle = t2, this.stack[this.cArrPos].strokeStyle = t2);\n }, CVContextData.prototype.lineWidth = function(t2) {\n this.stack[this.cArrPos].lineWidth !== t2 && (this.currentLineWidth = t2, this.stack[this.cArrPos].lineWidth = t2);\n }, CVContextData.prototype.lineCap = function(t2) {\n this.stack[this.cArrPos].lineCap !== t2 && (this.currentLineCap = t2, this.stack[this.cArrPos].lineCap = t2);\n }, CVContextData.prototype.lineJoin = function(t2) {\n this.stack[this.cArrPos].lineJoin !== t2 && (this.currentLineJoin = t2, this.stack[this.cArrPos].lineJoin = t2);\n }, CVContextData.prototype.miterLimit = function(t2) {\n this.stack[this.cArrPos].miterLimit !== t2 && (this.currentMiterLimit = t2, this.stack[this.cArrPos].miterLimit = t2);\n }, CVContextData.prototype.transform = function(t2) {\n this.transformMat.cloneFromProps(t2);\n var e2 = this.cTr;\n this.transformMat.multiply(e2), e2.cloneFromProps(this.transformMat.props);\n var r2 = e2.props;\n this.nativeContext.setTransform(r2[0], r2[1], r2[4], r2[5], r2[12], r2[13]);\n }, CVContextData.prototype.opacity = function(t2) {\n var e2 = this.stack[this.cArrPos].opacity;\n e2 *= t2 < 0 ? 0 : t2, this.stack[this.cArrPos].opacity !== e2 && (this.currentOpacity !== t2 && (this.nativeContext.globalAlpha = t2, this.currentOpacity = t2), this.stack[this.cArrPos].opacity = e2);\n }, CVContextData.prototype.fill = function(t2) {\n this.appliedFillStyle !== this.currentFillStyle && (this.appliedFillStyle = this.currentFillStyle, this.nativeContext.fillStyle = this.appliedFillStyle), this.nativeContext.fill(t2);\n }, CVContextData.prototype.fillRect = function(t2, e2, r2, i2) {\n this.appliedFillStyle !== this.currentFillStyle && (this.appliedFillStyle = this.currentFillStyle, this.nativeContext.fillStyle = this.appliedFillStyle), this.nativeContext.fillRect(t2, e2, r2, i2);\n }, CVContextData.prototype.stroke = function() {\n this.appliedStrokeStyle !== this.currentStrokeStyle && (this.appliedStrokeStyle = this.currentStrokeStyle, this.nativeContext.strokeStyle = this.appliedStrokeStyle), this.appliedLineWidth !== this.currentLineWidth && (this.appliedLineWidth = this.currentLineWidth, this.nativeContext.lineWidth = this.appliedLineWidth), this.appliedLineCap !== this.currentLineCap && (this.appliedLineCap = this.currentLineCap, this.nativeContext.lineCap = this.appliedLineCap), this.appliedLineJoin !== this.currentLineJoin && (this.appliedLineJoin = this.currentLineJoin, this.nativeContext.lineJoin = this.appliedLineJoin), this.appliedMiterLimit !== this.currentMiterLimit && (this.appliedMiterLimit = this.currentMiterLimit, this.nativeContext.miterLimit = this.appliedMiterLimit), this.nativeContext.stroke();\n }, extendPrototype([CanvasRendererBase, ICompElement, CVBaseElement], CVCompElement), CVCompElement.prototype.renderInnerContent = function() {\n var t2, e2 = this.canvasContext;\n for (e2.beginPath(), e2.moveTo(0, 0), e2.lineTo(this.data.w, 0), e2.lineTo(this.data.w, this.data.h), e2.lineTo(0, this.data.h), e2.lineTo(0, 0), e2.clip(), t2 = this.layers.length - 1; t2 >= 0; t2 -= 1) (this.completeLayers || this.elements[t2]) && this.elements[t2].renderFrame();\n }, CVCompElement.prototype.destroy = function() {\n var t2;\n for (t2 = this.layers.length - 1; t2 >= 0; t2 -= 1) this.elements[t2] && this.elements[t2].destroy();\n this.layers = null, this.elements = null;\n }, CVCompElement.prototype.createComp = function(t2) {\n return new CVCompElement(t2, this.globalData, this);\n }, extendPrototype([CanvasRendererBase], CanvasRenderer), CanvasRenderer.prototype.createComp = function(t2) {\n return new CVCompElement(t2, this.globalData, this);\n }, HBaseElement.prototype = { checkBlendMode: function() {\n }, initRendererElement: function() {\n this.baseElement = createTag(this.data.tg || \"div\"), this.data.hasMask ? (this.svgElement = createNS(\"svg\"), this.layerElement = createNS(\"g\"), this.maskedElement = this.layerElement, this.svgElement.appendChild(this.layerElement), this.baseElement.appendChild(this.svgElement)) : this.layerElement = this.baseElement, styleDiv(this.baseElement);\n }, createContainerElements: function() {\n this.renderableEffectsManager = new CVEffects(this), this.transformedElement = this.baseElement, this.maskedElement = this.layerElement, this.data.ln && this.layerElement.setAttribute(\"id\", this.data.ln), this.data.cl && this.layerElement.setAttribute(\"class\", this.data.cl), 0 !== this.data.bm && this.setBlendMode();\n }, renderElement: function() {\n var t2 = this.transformedElement ? this.transformedElement.style : {};\n if (this.finalTransform._matMdf) {\n var e2 = this.finalTransform.mat.toCSS();\n t2.transform = e2, t2.webkitTransform = e2;\n }\n this.finalTransform._opMdf && (t2.opacity = this.finalTransform.mProp.o.v);\n }, renderFrame: function() {\n this.data.hd || this.hidden || (this.renderTransform(), this.renderRenderable(), this.renderElement(), this.renderInnerContent(), this._isFirstFrame && (this._isFirstFrame = false));\n }, destroy: function() {\n this.layerElement = null, this.transformedElement = null, this.matteElement && (this.matteElement = null), this.maskManager && (this.maskManager.destroy(), this.maskManager = null);\n }, createRenderableComponents: function() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n }, addEffects: function() {\n }, setMatte: function() {\n } }, HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement, HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy, HBaseElement.prototype.buildElementParenting = BaseRenderer.prototype.buildElementParenting, extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement), HSolidElement.prototype.createContent = function() {\n var t2;\n this.data.hasMask ? ((t2 = createNS(\"rect\")).setAttribute(\"width\", this.data.sw), t2.setAttribute(\"height\", this.data.sh), t2.setAttribute(\"fill\", this.data.sc), this.svgElement.setAttribute(\"width\", this.data.sw), this.svgElement.setAttribute(\"height\", this.data.sh)) : ((t2 = createTag(\"div\")).style.width = this.data.sw + \"px\", t2.style.height = this.data.sh + \"px\", t2.style.backgroundColor = this.data.sc), this.layerElement.appendChild(t2);\n }, extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement), HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent, HShapeElement.prototype.createContent = function() {\n var t2;\n if (this.baseElement.style.fontSize = 0, this.data.hasMask) this.layerElement.appendChild(this.shapesContainer), t2 = this.svgElement;\n else {\n t2 = createNS(\"svg\");\n var e2 = this.comp.data ? this.comp.data : this.globalData.compSize;\n t2.setAttribute(\"width\", e2.w), t2.setAttribute(\"height\", e2.h), t2.appendChild(this.shapesContainer), this.layerElement.appendChild(t2);\n }\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], true), this.filterUniqueShapes(), this.shapeCont = t2;\n }, HShapeElement.prototype.getTransformedPoint = function(t2, e2) {\n var r2, i2 = t2.length;\n for (r2 = 0; r2 < i2; r2 += 1) e2 = t2[r2].mProps.v.applyToPointArray(e2[0], e2[1], 0);\n return e2;\n }, HShapeElement.prototype.calculateShapeBoundingBox = function(t2, e2) {\n var r2, i2, s2, a2, n2, o2 = t2.sh.v, h2 = t2.transformers, l2 = o2._length;\n if (!(l2 <= 1)) {\n for (r2 = 0; r2 < l2 - 1; r2 += 1) i2 = this.getTransformedPoint(h2, o2.v[r2]), s2 = this.getTransformedPoint(h2, o2.o[r2]), a2 = this.getTransformedPoint(h2, o2.i[r2 + 1]), n2 = this.getTransformedPoint(h2, o2.v[r2 + 1]), this.checkBounds(i2, s2, a2, n2, e2);\n o2.c && (i2 = this.getTransformedPoint(h2, o2.v[r2]), s2 = this.getTransformedPoint(h2, o2.o[r2]), a2 = this.getTransformedPoint(h2, o2.i[0]), n2 = this.getTransformedPoint(h2, o2.v[0]), this.checkBounds(i2, s2, a2, n2, e2));\n }\n }, HShapeElement.prototype.checkBounds = function(t2, e2, r2, i2, s2) {\n this.getBoundsOfCurve(t2, e2, r2, i2);\n var a2 = this.shapeBoundingBox;\n s2.x = bmMin(a2.left, s2.x), s2.xMax = bmMax(a2.right, s2.xMax), s2.y = bmMin(a2.top, s2.y), s2.yMax = bmMax(a2.bottom, s2.yMax);\n }, HShapeElement.prototype.shapeBoundingBox = { left: 0, right: 0, top: 0, bottom: 0 }, HShapeElement.prototype.tempBoundingBox = { x: 0, xMax: 0, y: 0, yMax: 0, width: 0, height: 0 }, HShapeElement.prototype.getBoundsOfCurve = function(t2, e2, r2, i2) {\n for (var s2, a2, n2, o2, h2, l2, p2, c2 = [[t2[0], i2[0]], [t2[1], i2[1]]], f2 = 0; f2 < 2; ++f2) a2 = 6 * t2[f2] - 12 * e2[f2] + 6 * r2[f2], s2 = -3 * t2[f2] + 9 * e2[f2] - 9 * r2[f2] + 3 * i2[f2], n2 = 3 * e2[f2] - 3 * t2[f2], a2 |= 0, n2 |= 0, 0 == (s2 |= 0) && 0 === a2 || (0 === s2 ? (o2 = -n2 / a2) > 0 && o2 < 1 && c2[f2].push(this.calculateF(o2, t2, e2, r2, i2, f2)) : (h2 = a2 * a2 - 4 * n2 * s2) >= 0 && ((l2 = (-a2 + bmSqrt(h2)) / (2 * s2)) > 0 && l2 < 1 && c2[f2].push(this.calculateF(l2, t2, e2, r2, i2, f2)), (p2 = (-a2 - bmSqrt(h2)) / (2 * s2)) > 0 && p2 < 1 && c2[f2].push(this.calculateF(p2, t2, e2, r2, i2, f2))));\n this.shapeBoundingBox.left = bmMin.apply(null, c2[0]), this.shapeBoundingBox.top = bmMin.apply(null, c2[1]), this.shapeBoundingBox.right = bmMax.apply(null, c2[0]), this.shapeBoundingBox.bottom = bmMax.apply(null, c2[1]);\n }, HShapeElement.prototype.calculateF = function(t2, e2, r2, i2, s2, a2) {\n return bmPow(1 - t2, 3) * e2[a2] + 3 * bmPow(1 - t2, 2) * t2 * r2[a2] + 3 * (1 - t2) * bmPow(t2, 2) * i2[a2] + bmPow(t2, 3) * s2[a2];\n }, HShapeElement.prototype.calculateBoundingBox = function(t2, e2) {\n var r2, i2 = t2.length;\n for (r2 = 0; r2 < i2; r2 += 1) t2[r2] && t2[r2].sh ? this.calculateShapeBoundingBox(t2[r2], e2) : t2[r2] && t2[r2].it ? this.calculateBoundingBox(t2[r2].it, e2) : t2[r2] && t2[r2].style && t2[r2].w && this.expandStrokeBoundingBox(t2[r2].w, e2);\n }, HShapeElement.prototype.expandStrokeBoundingBox = function(t2, e2) {\n var r2 = 0;\n if (t2.keyframes) {\n for (var i2 = 0; i2 < t2.keyframes.length; i2 += 1) {\n var s2 = t2.keyframes[i2].s;\n s2 > r2 && (r2 = s2);\n }\n r2 *= t2.mult;\n } else r2 = t2.v * t2.mult;\n e2.x -= r2, e2.xMax += r2, e2.y -= r2, e2.yMax += r2;\n }, HShapeElement.prototype.currentBoxContains = function(t2) {\n return this.currentBBox.x <= t2.x && this.currentBBox.y <= t2.y && this.currentBBox.width + this.currentBBox.x >= t2.x + t2.width && this.currentBBox.height + this.currentBBox.y >= t2.y + t2.height;\n }, HShapeElement.prototype.renderInnerContent = function() {\n if (this._renderShapeFrame(), !this.hidden && (this._isFirstFrame || this._mdf)) {\n var t2 = this.tempBoundingBox, e2 = 999999;\n if (t2.x = e2, t2.xMax = -e2, t2.y = e2, t2.yMax = -e2, this.calculateBoundingBox(this.itemsData, t2), t2.width = t2.xMax < t2.x ? 0 : t2.xMax - t2.x, t2.height = t2.yMax < t2.y ? 0 : t2.yMax - t2.y, this.currentBoxContains(t2)) return;\n var r2 = false;\n if (this.currentBBox.w !== t2.width && (this.currentBBox.w = t2.width, this.shapeCont.setAttribute(\"width\", t2.width), r2 = true), this.currentBBox.h !== t2.height && (this.currentBBox.h = t2.height, this.shapeCont.setAttribute(\"height\", t2.height), r2 = true), r2 || this.currentBBox.x !== t2.x || this.currentBBox.y !== t2.y) {\n this.currentBBox.w = t2.width, this.currentBBox.h = t2.height, this.currentBBox.x = t2.x, this.currentBBox.y = t2.y, this.shapeCont.setAttribute(\"viewBox\", this.currentBBox.x + \" \" + this.currentBBox.y + \" \" + this.currentBBox.w + \" \" + this.currentBBox.h);\n var i2 = this.shapeCont.style, s2 = \"translate(\" + this.currentBBox.x + \"px,\" + this.currentBBox.y + \"px)\";\n i2.transform = s2, i2.webkitTransform = s2;\n }\n }\n }, extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement), HTextElement.prototype.createContent = function() {\n if (this.isMasked = this.checkMasks(), this.isMasked) {\n this.renderType = \"svg\", this.compW = this.comp.data.w, this.compH = this.comp.data.h, this.svgElement.setAttribute(\"width\", this.compW), this.svgElement.setAttribute(\"height\", this.compH);\n var t2 = createNS(\"g\");\n this.maskedElement.appendChild(t2), this.innerElem = t2;\n } else this.renderType = \"html\", this.innerElem = this.layerElement;\n this.checkParenting();\n }, HTextElement.prototype.buildNewText = function() {\n var t2 = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(t2.l ? t2.l.length : 0);\n var e2 = this.innerElem.style, r2 = t2.fc ? this.buildColor(t2.fc) : \"rgba(0,0,0,0)\";\n e2.fill = r2, e2.color = r2, t2.sc && (e2.stroke = this.buildColor(t2.sc), e2.strokeWidth = t2.sw + \"px\");\n var i2, s2, a2 = this.globalData.fontManager.getFontByName(t2.f);\n if (!this.globalData.fontManager.chars) if (e2.fontSize = t2.finalSize + \"px\", e2.lineHeight = t2.finalSize + \"px\", a2.fClass) this.innerElem.className = a2.fClass;\n else {\n e2.fontFamily = a2.fFamily;\n var n2 = t2.fWeight, o2 = t2.fStyle;\n e2.fontStyle = o2, e2.fontWeight = n2;\n }\n var h2, l2, p2, c2 = t2.l;\n s2 = c2.length;\n var f2, u2 = this.mHelper, d2 = \"\", m2 = 0;\n for (i2 = 0; i2 < s2; i2 += 1) {\n if (this.globalData.fontManager.chars ? (this.textPaths[m2] ? h2 = this.textPaths[m2] : ((h2 = createNS(\"path\")).setAttribute(\"stroke-linecap\", lineCapEnum[1]), h2.setAttribute(\"stroke-linejoin\", lineJoinEnum[2]), h2.setAttribute(\"stroke-miterlimit\", \"4\")), this.isMasked || (this.textSpans[m2] ? p2 = (l2 = this.textSpans[m2]).children[0] : ((l2 = createTag(\"div\")).style.lineHeight = 0, (p2 = createNS(\"svg\")).appendChild(h2), styleDiv(l2)))) : this.isMasked ? h2 = this.textPaths[m2] ? this.textPaths[m2] : createNS(\"text\") : this.textSpans[m2] ? (l2 = this.textSpans[m2], h2 = this.textPaths[m2]) : (styleDiv(l2 = createTag(\"span\")), styleDiv(h2 = createTag(\"span\")), l2.appendChild(h2)), this.globalData.fontManager.chars) {\n var y2, g2 = this.globalData.fontManager.getCharData(t2.finalText[i2], a2.fStyle, this.globalData.fontManager.getFontByName(t2.f).fFamily);\n if (y2 = g2 ? g2.data : null, u2.reset(), y2 && y2.shapes && y2.shapes.length && (f2 = y2.shapes[0].it, u2.scale(t2.finalSize / 100, t2.finalSize / 100), d2 = this.createPathShape(u2, f2), h2.setAttribute(\"d\", d2)), this.isMasked) this.innerElem.appendChild(h2);\n else {\n if (this.innerElem.appendChild(l2), y2 && y2.shapes) {\n document.body.appendChild(p2);\n var v2 = p2.getBBox();\n p2.setAttribute(\"width\", v2.width + 2), p2.setAttribute(\"height\", v2.height + 2), p2.setAttribute(\"viewBox\", v2.x - 1 + \" \" + (v2.y - 1) + \" \" + (v2.width + 2) + \" \" + (v2.height + 2));\n var b2 = p2.style, _2 = \"translate(\" + (v2.x - 1) + \"px,\" + (v2.y - 1) + \"px)\";\n b2.transform = _2, b2.webkitTransform = _2, c2[i2].yOffset = v2.y - 1;\n } else p2.setAttribute(\"width\", 1), p2.setAttribute(\"height\", 1);\n l2.appendChild(p2);\n }\n } else if (h2.textContent = c2[i2].val, h2.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\"), this.isMasked) this.innerElem.appendChild(h2);\n else {\n this.innerElem.appendChild(l2);\n var P2 = h2.style, S2 = \"translate3d(0,\" + -t2.finalSize / 1.2 + \"px,0)\";\n P2.transform = S2, P2.webkitTransform = S2;\n }\n this.isMasked ? this.textSpans[m2] = h2 : this.textSpans[m2] = l2, this.textSpans[m2].style.display = \"block\", this.textPaths[m2] = h2, m2 += 1;\n }\n for (; m2 < this.textSpans.length; ) this.textSpans[m2].style.display = \"none\", m2 += 1;\n }, HTextElement.prototype.renderInnerContent = function() {\n var t2;\n if (this.validateText(), this.data.singleShape) {\n if (!this._isFirstFrame && !this.lettersChangedFlag) return;\n if (this.isMasked && this.finalTransform._matMdf) {\n this.svgElement.setAttribute(\"viewBox\", -this.finalTransform.mProp.p.v[0] + \" \" + -this.finalTransform.mProp.p.v[1] + \" \" + this.compW + \" \" + this.compH), t2 = this.svgElement.style;\n var e2 = \"translate(\" + -this.finalTransform.mProp.p.v[0] + \"px,\" + -this.finalTransform.mProp.p.v[1] + \"px)\";\n t2.transform = e2, t2.webkitTransform = e2;\n }\n }\n if (this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag), this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\n var r2, i2, s2, a2, n2, o2 = 0, h2 = this.textAnimator.renderedLetters, l2 = this.textProperty.currentData.l;\n for (i2 = l2.length, r2 = 0; r2 < i2; r2 += 1) l2[r2].n ? o2 += 1 : (a2 = this.textSpans[r2], n2 = this.textPaths[r2], s2 = h2[o2], o2 += 1, s2._mdf.m && (this.isMasked ? a2.setAttribute(\"transform\", s2.m) : (a2.style.webkitTransform = s2.m, a2.style.transform = s2.m)), a2.style.opacity = s2.o, s2.sw && s2._mdf.sw && n2.setAttribute(\"stroke-width\", s2.sw), s2.sc && s2._mdf.sc && n2.setAttribute(\"stroke\", s2.sc), s2.fc && s2._mdf.fc && (n2.setAttribute(\"fill\", s2.fc), n2.style.color = s2.fc));\n if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\n var p2 = this.innerElem.getBBox();\n if (this.currentBBox.w !== p2.width && (this.currentBBox.w = p2.width, this.svgElement.setAttribute(\"width\", p2.width)), this.currentBBox.h !== p2.height && (this.currentBBox.h = p2.height, this.svgElement.setAttribute(\"height\", p2.height)), this.currentBBox.w !== p2.width + 2 || this.currentBBox.h !== p2.height + 2 || this.currentBBox.x !== p2.x - 1 || this.currentBBox.y !== p2.y - 1) {\n this.currentBBox.w = p2.width + 2, this.currentBBox.h = p2.height + 2, this.currentBBox.x = p2.x - 1, this.currentBBox.y = p2.y - 1, this.svgElement.setAttribute(\"viewBox\", this.currentBBox.x + \" \" + this.currentBBox.y + \" \" + this.currentBBox.w + \" \" + this.currentBBox.h), t2 = this.svgElement.style;\n var c2 = \"translate(\" + this.currentBBox.x + \"px,\" + this.currentBBox.y + \"px)\";\n t2.transform = c2, t2.webkitTransform = c2;\n }\n }\n }\n }, extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement), HCameraElement.prototype.setup = function() {\n var t2, e2, r2, i2, s2 = this.comp.threeDElements.length;\n for (t2 = 0; t2 < s2; t2 += 1) if (\"3d\" === (e2 = this.comp.threeDElements[t2]).type) {\n r2 = e2.perspectiveElem.style, i2 = e2.container.style;\n var a2 = this.pe.v + \"px\", n2 = \"0px 0px 0px\", o2 = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n r2.perspective = a2, r2.webkitPerspective = a2, i2.transformOrigin = n2, i2.mozTransformOrigin = n2, i2.webkitTransformOrigin = n2, r2.transform = o2, r2.webkitTransform = o2;\n }\n }, HCameraElement.prototype.createElements = function() {\n }, HCameraElement.prototype.hide = function() {\n }, HCameraElement.prototype.renderFrame = function() {\n var t2, e2, r2 = this._isFirstFrame;\n if (this.hierarchy) for (e2 = this.hierarchy.length, t2 = 0; t2 < e2; t2 += 1) r2 = this.hierarchy[t2].finalTransform.mProp._mdf || r2;\n if (r2 || this.pe._mdf || this.p && this.p._mdf || this.px && (this.px._mdf || this.py._mdf || this.pz._mdf) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || this.a && this.a._mdf) {\n if (this.mat.reset(), this.hierarchy) for (t2 = e2 = this.hierarchy.length - 1; t2 >= 0; t2 -= 1) {\n var i2 = this.hierarchy[t2].finalTransform.mProp;\n this.mat.translate(-i2.p.v[0], -i2.p.v[1], i2.p.v[2]), this.mat.rotateX(-i2.or.v[0]).rotateY(-i2.or.v[1]).rotateZ(i2.or.v[2]), this.mat.rotateX(-i2.rx.v).rotateY(-i2.ry.v).rotateZ(i2.rz.v), this.mat.scale(1 / i2.s.v[0], 1 / i2.s.v[1], 1 / i2.s.v[2]), this.mat.translate(i2.a.v[0], i2.a.v[1], i2.a.v[2]);\n }\n if (this.p ? this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]) : this.mat.translate(-this.px.v, -this.py.v, this.pz.v), this.a) {\n var s2;\n s2 = this.p ? [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]] : [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];\n var a2 = Math.sqrt(Math.pow(s2[0], 2) + Math.pow(s2[1], 2) + Math.pow(s2[2], 2)), n2 = [s2[0] / a2, s2[1] / a2, s2[2] / a2], o2 = Math.sqrt(n2[2] * n2[2] + n2[0] * n2[0]), h2 = Math.atan2(n2[1], o2), l2 = Math.atan2(n2[0], -n2[2]);\n this.mat.rotateY(l2).rotateX(-h2);\n }\n this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v), this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]), this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0), this.mat.translate(0, 0, this.pe.v);\n var p2 = !this._prevMat.equals(this.mat);\n if ((p2 || this.pe._mdf) && this.comp.threeDElements) {\n var c2, f2, u2;\n for (e2 = this.comp.threeDElements.length, t2 = 0; t2 < e2; t2 += 1) if (\"3d\" === (c2 = this.comp.threeDElements[t2]).type) {\n if (p2) {\n var d2 = this.mat.toCSS();\n (u2 = c2.container.style).transform = d2, u2.webkitTransform = d2;\n }\n this.pe._mdf && ((f2 = c2.perspectiveElem.style).perspective = this.pe.v + \"px\", f2.webkitPerspective = this.pe.v + \"px\");\n }\n this.mat.clone(this._prevMat);\n }\n }\n this._isFirstFrame = false;\n }, HCameraElement.prototype.prepareFrame = function(t2) {\n this.prepareProperties(t2, true);\n }, HCameraElement.prototype.destroy = function() {\n }, HCameraElement.prototype.getBaseElement = function() {\n return null;\n }, extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement), HImageElement.prototype.createContent = function() {\n var t2 = this.globalData.getAssetsPath(this.assetData), e2 = new Image();\n this.data.hasMask ? (this.imageElem = createNS(\"image\"), this.imageElem.setAttribute(\"width\", this.assetData.w + \"px\"), this.imageElem.setAttribute(\"height\", this.assetData.h + \"px\"), this.imageElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", t2), this.layerElement.appendChild(this.imageElem), this.baseElement.setAttribute(\"width\", this.assetData.w), this.baseElement.setAttribute(\"height\", this.assetData.h)) : this.layerElement.appendChild(e2), e2.crossOrigin = \"anonymous\", e2.src = t2, this.data.ln && this.baseElement.setAttribute(\"id\", this.data.ln);\n }, extendPrototype([BaseRenderer], HybridRendererBase), HybridRendererBase.prototype.buildItem = SVGRenderer.prototype.buildItem, HybridRendererBase.prototype.checkPendingElements = function() {\n for (; this.pendingElements.length; ) this.pendingElements.pop().checkParenting();\n }, HybridRendererBase.prototype.appendElementInPos = function(t2, e2) {\n var r2 = t2.getBaseElement();\n if (r2) {\n var i2 = this.layers[e2];\n if (i2.ddd && this.supports3d) this.addTo3dContainer(r2, e2);\n else if (this.threeDElements) this.addTo3dContainer(r2, e2);\n else {\n for (var s2, a2, n2 = 0; n2 < e2; ) this.elements[n2] && true !== this.elements[n2] && this.elements[n2].getBaseElement && (a2 = this.elements[n2], s2 = (this.layers[n2].ddd ? this.getThreeDContainerByPos(n2) : a2.getBaseElement()) || s2), n2 += 1;\n s2 ? i2.ddd && this.supports3d || this.layerElement.insertBefore(r2, s2) : i2.ddd && this.supports3d || this.layerElement.appendChild(r2);\n }\n }\n }, HybridRendererBase.prototype.createShape = function(t2) {\n return this.supports3d ? new HShapeElement(t2, this.globalData, this) : new SVGShapeElement(t2, this.globalData, this);\n }, HybridRendererBase.prototype.createText = function(t2) {\n return this.supports3d ? new HTextElement(t2, this.globalData, this) : new SVGTextLottieElement(t2, this.globalData, this);\n }, HybridRendererBase.prototype.createCamera = function(t2) {\n return this.camera = new HCameraElement(t2, this.globalData, this), this.camera;\n }, HybridRendererBase.prototype.createImage = function(t2) {\n return this.supports3d ? new HImageElement(t2, this.globalData, this) : new IImageElement(t2, this.globalData, this);\n }, HybridRendererBase.prototype.createSolid = function(t2) {\n return this.supports3d ? new HSolidElement(t2, this.globalData, this) : new ISolidElement(t2, this.globalData, this);\n }, HybridRendererBase.prototype.createNull = SVGRenderer.prototype.createNull, HybridRendererBase.prototype.getThreeDContainerByPos = function(t2) {\n for (var e2 = 0, r2 = this.threeDElements.length; e2 < r2; ) {\n if (this.threeDElements[e2].startPos <= t2 && this.threeDElements[e2].endPos >= t2) return this.threeDElements[e2].perspectiveElem;\n e2 += 1;\n }\n return null;\n }, HybridRendererBase.prototype.createThreeDContainer = function(t2, e2) {\n var r2, i2, s2 = createTag(\"div\");\n styleDiv(s2);\n var a2 = createTag(\"div\");\n if (styleDiv(a2), \"3d\" === e2) {\n (r2 = s2.style).width = this.globalData.compSize.w + \"px\", r2.height = this.globalData.compSize.h + \"px\";\n var n2 = \"50% 50%\";\n r2.webkitTransformOrigin = n2, r2.mozTransformOrigin = n2, r2.transformOrigin = n2;\n var o2 = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n (i2 = a2.style).transform = o2, i2.webkitTransform = o2;\n }\n s2.appendChild(a2);\n var h2 = { container: a2, perspectiveElem: s2, startPos: t2, endPos: t2, type: e2 };\n return this.threeDElements.push(h2), h2;\n }, HybridRendererBase.prototype.build3dContainers = function() {\n var t2, e2, r2 = this.layers.length, i2 = \"\";\n for (t2 = 0; t2 < r2; t2 += 1) this.layers[t2].ddd && 3 !== this.layers[t2].ty ? (\"3d\" !== i2 && (i2 = \"3d\", e2 = this.createThreeDContainer(t2, \"3d\")), e2.endPos = Math.max(e2.endPos, t2)) : (\"2d\" !== i2 && (i2 = \"2d\", e2 = this.createThreeDContainer(t2, \"2d\")), e2.endPos = Math.max(e2.endPos, t2));\n for (t2 = (r2 = this.threeDElements.length) - 1; t2 >= 0; t2 -= 1) this.resizerElem.appendChild(this.threeDElements[t2].perspectiveElem);\n }, HybridRendererBase.prototype.addTo3dContainer = function(t2, e2) {\n for (var r2 = 0, i2 = this.threeDElements.length; r2 < i2; ) {\n if (e2 <= this.threeDElements[r2].endPos) {\n for (var s2, a2 = this.threeDElements[r2].startPos; a2 < e2; ) this.elements[a2] && this.elements[a2].getBaseElement && (s2 = this.elements[a2].getBaseElement()), a2 += 1;\n s2 ? this.threeDElements[r2].container.insertBefore(t2, s2) : this.threeDElements[r2].container.appendChild(t2);\n break;\n }\n r2 += 1;\n }\n }, HybridRendererBase.prototype.configAnimation = function(t2) {\n var e2 = createTag(\"div\"), r2 = this.animationItem.wrapper, i2 = e2.style;\n i2.width = t2.w + \"px\", i2.height = t2.h + \"px\", this.resizerElem = e2, styleDiv(e2), i2.transformStyle = \"flat\", i2.mozTransformStyle = \"flat\", i2.webkitTransformStyle = \"flat\", this.renderConfig.className && e2.setAttribute(\"class\", this.renderConfig.className), r2.appendChild(e2), i2.overflow = \"hidden\";\n var s2 = createNS(\"svg\");\n s2.setAttribute(\"width\", \"1\"), s2.setAttribute(\"height\", \"1\"), styleDiv(s2), this.resizerElem.appendChild(s2);\n var a2 = createNS(\"defs\");\n s2.appendChild(a2), this.data = t2, this.setupGlobalData(t2, s2), this.globalData.defs = a2, this.layers = t2.layers, this.layerElement = this.resizerElem, this.build3dContainers(), this.updateContainerSize();\n }, HybridRendererBase.prototype.destroy = function() {\n var t2;\n this.animationItem.wrapper && (this.animationItem.wrapper.innerText = \"\"), this.animationItem.container = null, this.globalData.defs = null;\n var e2 = this.layers ? this.layers.length : 0;\n for (t2 = 0; t2 < e2; t2 += 1) this.elements[t2] && this.elements[t2].destroy && this.elements[t2].destroy();\n this.elements.length = 0, this.destroyed = true, this.animationItem = null;\n }, HybridRendererBase.prototype.updateContainerSize = function() {\n var t2, e2, r2, i2, s2 = this.animationItem.wrapper.offsetWidth, a2 = this.animationItem.wrapper.offsetHeight, n2 = s2 / a2;\n this.globalData.compSize.w / this.globalData.compSize.h > n2 ? (t2 = s2 / this.globalData.compSize.w, e2 = s2 / this.globalData.compSize.w, r2 = 0, i2 = (a2 - this.globalData.compSize.h * (s2 / this.globalData.compSize.w)) / 2) : (t2 = a2 / this.globalData.compSize.h, e2 = a2 / this.globalData.compSize.h, r2 = (s2 - this.globalData.compSize.w * (a2 / this.globalData.compSize.h)) / 2, i2 = 0);\n var o2 = this.resizerElem.style;\n o2.webkitTransform = \"matrix3d(\" + t2 + \",0,0,0,0,\" + e2 + \",0,0,0,0,1,0,\" + r2 + \",\" + i2 + \",0,1)\", o2.transform = o2.webkitTransform;\n }, HybridRendererBase.prototype.renderFrame = SVGRenderer.prototype.renderFrame, HybridRendererBase.prototype.hide = function() {\n this.resizerElem.style.display = \"none\";\n }, HybridRendererBase.prototype.show = function() {\n this.resizerElem.style.display = \"block\";\n }, HybridRendererBase.prototype.initItems = function() {\n if (this.buildAllItems(), this.camera) this.camera.setup();\n else {\n var t2, e2 = this.globalData.compSize.w, r2 = this.globalData.compSize.h, i2 = this.threeDElements.length;\n for (t2 = 0; t2 < i2; t2 += 1) {\n var s2 = this.threeDElements[t2].perspectiveElem.style;\n s2.webkitPerspective = Math.sqrt(Math.pow(e2, 2) + Math.pow(r2, 2)) + \"px\", s2.perspective = s2.webkitPerspective;\n }\n }\n }, HybridRendererBase.prototype.searchExtraCompositions = function(t2) {\n var e2, r2 = t2.length, i2 = createTag(\"div\");\n for (e2 = 0; e2 < r2; e2 += 1) if (t2[e2].xt) {\n var s2 = this.createComp(t2[e2], i2, this.globalData.comp, null);\n s2.initExpressions(), this.globalData.projectInterface.registerComposition(s2);\n }\n }, extendPrototype([HybridRendererBase, ICompElement, HBaseElement], HCompElement), HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements, HCompElement.prototype.createContainerElements = function() {\n this._createBaseContainerElements(), this.data.hasMask ? (this.svgElement.setAttribute(\"width\", this.data.w), this.svgElement.setAttribute(\"height\", this.data.h), this.transformedElement = this.baseElement) : this.transformedElement = this.layerElement;\n }, HCompElement.prototype.addTo3dContainer = function(t2, e2) {\n for (var r2, i2 = 0; i2 < e2; ) this.elements[i2] && this.elements[i2].getBaseElement && (r2 = this.elements[i2].getBaseElement()), i2 += 1;\n r2 ? this.layerElement.insertBefore(t2, r2) : this.layerElement.appendChild(t2);\n }, HCompElement.prototype.createComp = function(t2) {\n return this.supports3d ? new HCompElement(t2, this.globalData, this) : new SVGCompElement(t2, this.globalData, this);\n }, extendPrototype([HybridRendererBase], HybridRenderer), HybridRenderer.prototype.createComp = function(t2) {\n return this.supports3d ? new HCompElement(t2, this.globalData, this) : new SVGCompElement(t2, this.globalData, this);\n };\n var CompExpressionInterface = function(t2) {\n function e2(e3) {\n for (var r2 = 0, i2 = t2.layers.length; r2 < i2; ) {\n if (t2.layers[r2].nm === e3 || t2.layers[r2].ind === e3) return t2.elements[r2].layerInterface;\n r2 += 1;\n }\n return null;\n }\n return Object.defineProperty(e2, \"_name\", { value: t2.data.nm }), e2.layer = e2, e2.pixelAspect = 1, e2.height = t2.data.h || t2.globalData.compSize.h, e2.width = t2.data.w || t2.globalData.compSize.w, e2.pixelAspect = 1, e2.frameDuration = 1 / t2.globalData.frameRate, e2.displayStartTime = 0, e2.numLayers = t2.layers.length, e2;\n };\n function _typeof$2(t2) {\n return _typeof$2 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(t3) {\n return typeof t3;\n } : function(t3) {\n return t3 && \"function\" == typeof Symbol && t3.constructor === Symbol && t3 !== Symbol.prototype ? \"symbol\" : typeof t3;\n }, _typeof$2(t2);\n }\n function seedRandom(t2, e2) {\n var r2 = this, i2 = 256, s2 = e2.pow(i2, 6), a2 = e2.pow(2, 52), n2 = 2 * a2, o2 = 255;\n function h2(t3) {\n var e3, r3 = t3.length, s3 = this, a3 = 0, n3 = s3.i = s3.j = 0, h3 = s3.S = [];\n for (r3 || (t3 = [r3++]); a3 < i2; ) h3[a3] = a3++;\n for (a3 = 0; a3 < i2; a3++) h3[a3] = h3[n3 = o2 & n3 + t3[a3 % r3] + (e3 = h3[a3])], h3[n3] = e3;\n s3.g = function(t4) {\n for (var e4, r4 = 0, a4 = s3.i, n4 = s3.j, h4 = s3.S; t4--; ) e4 = h4[a4 = o2 & a4 + 1], r4 = r4 * i2 + h4[o2 & (h4[a4] = h4[n4 = o2 & n4 + e4]) + (h4[n4] = e4)];\n return s3.i = a4, s3.j = n4, r4;\n };\n }\n function l2(t3, e3) {\n return e3.i = t3.i, e3.j = t3.j, e3.S = t3.S.slice(), e3;\n }\n function p2(t3, e3) {\n var r3, i3 = [], s3 = _typeof$2(t3);\n if (e3 && \"object\" == s3) for (r3 in t3) try {\n i3.push(p2(t3[r3], e3 - 1));\n } catch (t4) {\n }\n return i3.length ? i3 : \"string\" == s3 ? t3 : t3 + \"\\0\";\n }\n function c2(t3, e3) {\n for (var r3, i3 = t3 + \"\", s3 = 0; s3 < i3.length; ) e3[o2 & s3] = o2 & (r3 ^= 19 * e3[o2 & s3]) + i3.charCodeAt(s3++);\n return f2(e3);\n }\n function f2(t3) {\n return String.fromCharCode.apply(0, t3);\n }\n e2.seedrandom = function(o3, u2, d2) {\n var m2 = [], y2 = c2(p2((u2 = true === u2 ? { entropy: true } : u2 || {}).entropy ? [o3, f2(t2)] : null === o3 ? function() {\n try {\n var e3 = new Uint8Array(i2);\n return (r2.crypto || r2.msCrypto).getRandomValues(e3), f2(e3);\n } catch (e4) {\n var s3 = r2.navigator, a3 = s3 && s3.plugins;\n return [+/* @__PURE__ */ new Date(), r2, a3, r2.screen, f2(t2)];\n }\n }() : o3, 3), m2), g2 = new h2(m2), v2 = function() {\n for (var t3 = g2.g(6), e3 = s2, r3 = 0; t3 < a2; ) t3 = (t3 + r3) * i2, e3 *= i2, r3 = g2.g(1);\n for (; t3 >= n2; ) t3 /= 2, e3 /= 2, r3 >>>= 1;\n return (t3 + r3) / e3;\n };\n return v2.int32 = function() {\n return 0 | g2.g(4);\n }, v2.quick = function() {\n return g2.g(4) / 4294967296;\n }, v2.double = v2, c2(f2(g2.S), t2), (u2.pass || d2 || function(t3, r3, i3, s3) {\n return s3 && (s3.S && l2(s3, g2), t3.state = function() {\n return l2(g2, {});\n }), i3 ? (e2.random = t3, r3) : t3;\n })(v2, y2, \"global\" in u2 ? u2.global : this == e2, u2.state);\n }, c2(e2.random(), t2);\n }\n function initialize$2(t2) {\n seedRandom([], t2);\n }\n var propTypes = { SHAPE: \"shape\" };\n function _typeof$1(t2) {\n return _typeof$1 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(t3) {\n return typeof t3;\n } : function(t3) {\n return t3 && \"function\" == typeof Symbol && t3.constructor === Symbol && t3 !== Symbol.prototype ? \"symbol\" : typeof t3;\n }, _typeof$1(t2);\n }\n var ExpressionManager = function() {\n var ob = {}, Math = BMMath, window = null, document = null, XMLHttpRequest = null, fetch = null, frames = null, _lottieGlobal = {};\n function resetFrame() {\n _lottieGlobal = {};\n }\n function $bm_isInstanceOfArray(t2) {\n return t2.constructor === Array || t2.constructor === Float32Array;\n }\n function isNumerable(t2, e2) {\n return \"number\" === t2 || e2 instanceof Number || \"boolean\" === t2 || \"string\" === t2;\n }\n function $bm_neg(t2) {\n var e2 = _typeof$1(t2);\n if (\"number\" === e2 || t2 instanceof Number || \"boolean\" === e2) return -t2;\n if ($bm_isInstanceOfArray(t2)) {\n var r2, i2 = t2.length, s2 = [];\n for (r2 = 0; r2 < i2; r2 += 1) s2[r2] = -t2[r2];\n return s2;\n }\n return t2.propType ? t2.v : -t2;\n }\n initialize$2(BMMath);\n var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, \"easeIn\").get, easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, \"easeOut\").get, easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, \"easeInOut\").get;\n function sum(t2, e2) {\n var r2 = _typeof$1(t2), i2 = _typeof$1(e2);\n if (isNumerable(r2, t2) && isNumerable(i2, e2) || \"string\" === r2 || \"string\" === i2) return t2 + e2;\n if ($bm_isInstanceOfArray(t2) && isNumerable(i2, e2)) return (t2 = t2.slice(0))[0] += e2, t2;\n if (isNumerable(r2, t2) && $bm_isInstanceOfArray(e2)) return (e2 = e2.slice(0))[0] = t2 + e2[0], e2;\n if ($bm_isInstanceOfArray(t2) && $bm_isInstanceOfArray(e2)) {\n for (var s2 = 0, a2 = t2.length, n2 = e2.length, o2 = []; s2 < a2 || s2 < n2; ) (\"number\" == typeof t2[s2] || t2[s2] instanceof Number) && (\"number\" == typeof e2[s2] || e2[s2] instanceof Number) ? o2[s2] = t2[s2] + e2[s2] : o2[s2] = void 0 === e2[s2] ? t2[s2] : t2[s2] || e2[s2], s2 += 1;\n return o2;\n }\n return 0;\n }\n var add = sum;\n function sub(t2, e2) {\n var r2 = _typeof$1(t2), i2 = _typeof$1(e2);\n if (isNumerable(r2, t2) && isNumerable(i2, e2)) return \"string\" === r2 && (t2 = parseInt(t2, 10)), \"string\" === i2 && (e2 = parseInt(e2, 10)), t2 - e2;\n if ($bm_isInstanceOfArray(t2) && isNumerable(i2, e2)) return (t2 = t2.slice(0))[0] -= e2, t2;\n if (isNumerable(r2, t2) && $bm_isInstanceOfArray(e2)) return (e2 = e2.slice(0))[0] = t2 - e2[0], e2;\n if ($bm_isInstanceOfArray(t2) && $bm_isInstanceOfArray(e2)) {\n for (var s2 = 0, a2 = t2.length, n2 = e2.length, o2 = []; s2 < a2 || s2 < n2; ) (\"number\" == typeof t2[s2] || t2[s2] instanceof Number) && (\"number\" == typeof e2[s2] || e2[s2] instanceof Number) ? o2[s2] = t2[s2] - e2[s2] : o2[s2] = void 0 === e2[s2] ? t2[s2] : t2[s2] || e2[s2], s2 += 1;\n return o2;\n }\n return 0;\n }\n function mul(t2, e2) {\n var r2, i2, s2, a2 = _typeof$1(t2), n2 = _typeof$1(e2);\n if (isNumerable(a2, t2) && isNumerable(n2, e2)) return t2 * e2;\n if ($bm_isInstanceOfArray(t2) && isNumerable(n2, e2)) {\n for (s2 = t2.length, r2 = createTypedArray(\"float32\", s2), i2 = 0; i2 < s2; i2 += 1) r2[i2] = t2[i2] * e2;\n return r2;\n }\n if (isNumerable(a2, t2) && $bm_isInstanceOfArray(e2)) {\n for (s2 = e2.length, r2 = createTypedArray(\"float32\", s2), i2 = 0; i2 < s2; i2 += 1) r2[i2] = t2 * e2[i2];\n return r2;\n }\n return 0;\n }\n function div(t2, e2) {\n var r2, i2, s2, a2 = _typeof$1(t2), n2 = _typeof$1(e2);\n if (isNumerable(a2, t2) && isNumerable(n2, e2)) return t2 / e2;\n if ($bm_isInstanceOfArray(t2) && isNumerable(n2, e2)) {\n for (s2 = t2.length, r2 = createTypedArray(\"float32\", s2), i2 = 0; i2 < s2; i2 += 1) r2[i2] = t2[i2] / e2;\n return r2;\n }\n if (isNumerable(a2, t2) && $bm_isInstanceOfArray(e2)) {\n for (s2 = e2.length, r2 = createTypedArray(\"float32\", s2), i2 = 0; i2 < s2; i2 += 1) r2[i2] = t2 / e2[i2];\n return r2;\n }\n return 0;\n }\n function mod(t2, e2) {\n return \"string\" == typeof t2 && (t2 = parseInt(t2, 10)), \"string\" == typeof e2 && (e2 = parseInt(e2, 10)), t2 % e2;\n }\n var $bm_sum = sum, $bm_sub = sub, $bm_mul = mul, $bm_div = div, $bm_mod = mod;\n function clamp(t2, e2, r2) {\n if (e2 > r2) {\n var i2 = r2;\n r2 = e2, e2 = i2;\n }\n return Math.min(Math.max(t2, e2), r2);\n }\n function radiansToDegrees(t2) {\n return t2 / degToRads;\n }\n var radians_to_degrees = radiansToDegrees;\n function degreesToRadians(t2) {\n return t2 * degToRads;\n }\n var degrees_to_radians = radiansToDegrees, helperLengthArray = [0, 0, 0, 0, 0, 0];\n function length(t2, e2) {\n if (\"number\" == typeof t2 || t2 instanceof Number) return e2 = e2 || 0, Math.abs(t2 - e2);\n var r2;\n e2 || (e2 = helperLengthArray);\n var i2 = Math.min(t2.length, e2.length), s2 = 0;\n for (r2 = 0; r2 < i2; r2 += 1) s2 += Math.pow(e2[r2] - t2[r2], 2);\n return Math.sqrt(s2);\n }\n function normalize(t2) {\n return div(t2, length(t2));\n }\n function rgbToHsl(t2) {\n var e2, r2, i2 = t2[0], s2 = t2[1], a2 = t2[2], n2 = Math.max(i2, s2, a2), o2 = Math.min(i2, s2, a2), h2 = (n2 + o2) / 2;\n if (n2 === o2) e2 = 0, r2 = 0;\n else {\n var l2 = n2 - o2;\n switch (r2 = h2 > 0.5 ? l2 / (2 - n2 - o2) : l2 / (n2 + o2), n2) {\n case i2:\n e2 = (s2 - a2) / l2 + (s2 < a2 ? 6 : 0);\n break;\n case s2:\n e2 = (a2 - i2) / l2 + 2;\n break;\n case a2:\n e2 = (i2 - s2) / l2 + 4;\n }\n e2 /= 6;\n }\n return [e2, r2, h2, t2[3]];\n }\n function hue2rgb(t2, e2, r2) {\n return r2 < 0 && (r2 += 1), r2 > 1 && (r2 -= 1), r2 < 1 / 6 ? t2 + 6 * (e2 - t2) * r2 : r2 < 0.5 ? e2 : r2 < 2 / 3 ? t2 + (e2 - t2) * (2 / 3 - r2) * 6 : t2;\n }\n function hslToRgb(t2) {\n var e2, r2, i2, s2 = t2[0], a2 = t2[1], n2 = t2[2];\n if (0 === a2) e2 = n2, i2 = n2, r2 = n2;\n else {\n var o2 = n2 < 0.5 ? n2 * (1 + a2) : n2 + a2 - n2 * a2, h2 = 2 * n2 - o2;\n e2 = hue2rgb(h2, o2, s2 + 1 / 3), r2 = hue2rgb(h2, o2, s2), i2 = hue2rgb(h2, o2, s2 - 1 / 3);\n }\n return [e2, r2, i2, t2[3]];\n }\n function linear(t2, e2, r2, i2, s2) {\n if (void 0 !== i2 && void 0 !== s2 || (i2 = e2, s2 = r2, e2 = 0, r2 = 1), r2 < e2) {\n var a2 = r2;\n r2 = e2, e2 = a2;\n }\n if (t2 <= e2) return i2;\n if (t2 >= r2) return s2;\n var n2, o2 = r2 === e2 ? 0 : (t2 - e2) / (r2 - e2);\n if (!i2.length) return i2 + (s2 - i2) * o2;\n var h2 = i2.length, l2 = createTypedArray(\"float32\", h2);\n for (n2 = 0; n2 < h2; n2 += 1) l2[n2] = i2[n2] + (s2[n2] - i2[n2]) * o2;\n return l2;\n }\n function random(t2, e2) {\n if (void 0 === e2 && (void 0 === t2 ? (t2 = 0, e2 = 1) : (e2 = t2, t2 = void 0)), e2.length) {\n var r2, i2 = e2.length;\n t2 || (t2 = createTypedArray(\"float32\", i2));\n var s2 = createTypedArray(\"float32\", i2), a2 = BMMath.random();\n for (r2 = 0; r2 < i2; r2 += 1) s2[r2] = t2[r2] + a2 * (e2[r2] - t2[r2]);\n return s2;\n }\n return void 0 === t2 && (t2 = 0), t2 + BMMath.random() * (e2 - t2);\n }\n function createPath(t2, e2, r2, i2) {\n var s2, a2 = t2.length, n2 = shapePool.newElement();\n n2.setPathData(!!i2, a2);\n var o2, h2, l2 = [0, 0];\n for (s2 = 0; s2 < a2; s2 += 1) o2 = e2 && e2[s2] ? e2[s2] : l2, h2 = r2 && r2[s2] ? r2[s2] : l2, n2.setTripleAt(t2[s2][0], t2[s2][1], h2[0] + t2[s2][0], h2[1] + t2[s2][1], o2[0] + t2[s2][0], o2[1] + t2[s2][1], s2, true);\n return n2;\n }\n function initiateExpression(elem, data, property) {\n function noOp(t2) {\n return t2;\n }\n if (!elem.globalData.renderConfig.runExpressions) return noOp;\n var val = data.x, needsVelocity = /velocity(?![\\w\\d])/.test(val), _needsRandom = -1 !== val.indexOf(\"random\"), elemType = elem.data.ty, transform, $bm_transform, content, effect, thisProperty = property;\n thisProperty.valueAtTime = thisProperty.getValueAtTime, Object.defineProperty(thisProperty, \"value\", { get: function() {\n return thisProperty.v;\n } }), elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate, elem.comp.displayStartTime = 0;\n var inPoint = elem.data.ip / elem.comp.globalData.frameRate, outPoint = elem.data.op / elem.comp.globalData.frameRate, width = elem.data.sw ? elem.data.sw : 0, height = elem.data.sh ? elem.data.sh : 0, name = elem.data.nm, loopIn, loop_in, loopOut, loop_out, smooth, toWorld, fromWorld, fromComp, toComp, fromCompToSurface, position, rotation, anchorPoint, scale, thisLayer, thisComp, mask, valueAtTime, velocityAtTime, scoped_bm_rt, expression_function = eval(\"[function _expression_function(){\" + val + \";scoped_bm_rt=$bm_rt}]\")[0], numKeys = property.kf ? data.k.length : 0, active = !this.data || true !== this.data.hd, wiggle = function(t2, e2) {\n var r2, i2, s2 = this.pv.length ? this.pv.length : 1, a2 = createTypedArray(\"float32\", s2), n2 = Math.floor(5 * time);\n for (r2 = 0, i2 = 0; r2 < n2; ) {\n for (i2 = 0; i2 < s2; i2 += 1) a2[i2] += -e2 + 2 * e2 * BMMath.random();\n r2 += 1;\n }\n var o2 = 5 * time, h2 = o2 - Math.floor(o2), l2 = createTypedArray(\"float32\", s2);\n if (s2 > 1) {\n for (i2 = 0; i2 < s2; i2 += 1) l2[i2] = this.pv[i2] + a2[i2] + (-e2 + 2 * e2 * BMMath.random()) * h2;\n return l2;\n }\n return this.pv + a2[0] + (-e2 + 2 * e2 * BMMath.random()) * h2;\n }.bind(this);\n function loopInDuration(t2, e2) {\n return loopIn(t2, e2, true);\n }\n function loopOutDuration(t2, e2) {\n return loopOut(t2, e2, true);\n }\n thisProperty.loopIn && (loopIn = thisProperty.loopIn.bind(thisProperty), loop_in = loopIn), thisProperty.loopOut && (loopOut = thisProperty.loopOut.bind(thisProperty), loop_out = loopOut), thisProperty.smooth && (smooth = thisProperty.smooth.bind(thisProperty)), this.getValueAtTime && (valueAtTime = this.getValueAtTime.bind(this)), this.getVelocityAtTime && (velocityAtTime = this.getVelocityAtTime.bind(this));\n var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface), time, velocity, value, text, textIndex, textTotal, selectorValue;\n function lookAt(t2, e2) {\n var r2 = [e2[0] - t2[0], e2[1] - t2[1], e2[2] - t2[2]], i2 = Math.atan2(r2[0], Math.sqrt(r2[1] * r2[1] + r2[2] * r2[2])) / degToRads;\n return [-Math.atan2(r2[1], r2[2]) / degToRads, i2, 0];\n }\n function easeOut(t2, e2, r2, i2, s2) {\n return applyEase(easeOutBez, t2, e2, r2, i2, s2);\n }\n function easeIn(t2, e2, r2, i2, s2) {\n return applyEase(easeInBez, t2, e2, r2, i2, s2);\n }\n function ease(t2, e2, r2, i2, s2) {\n return applyEase(easeInOutBez, t2, e2, r2, i2, s2);\n }\n function applyEase(t2, e2, r2, i2, s2, a2) {\n void 0 === s2 ? (s2 = r2, a2 = i2) : e2 = (e2 - r2) / (i2 - r2), e2 > 1 ? e2 = 1 : e2 < 0 && (e2 = 0);\n var n2 = t2(e2);\n if ($bm_isInstanceOfArray(s2)) {\n var o2, h2 = s2.length, l2 = createTypedArray(\"float32\", h2);\n for (o2 = 0; o2 < h2; o2 += 1) l2[o2] = (a2[o2] - s2[o2]) * n2 + s2[o2];\n return l2;\n }\n return (a2 - s2) * n2 + s2;\n }\n function nearestKey(t2) {\n var e2, r2, i2, s2 = data.k.length;\n if (data.k.length && \"number\" != typeof data.k[0]) if (r2 = -1, (t2 *= elem.comp.globalData.frameRate) < data.k[0].t) r2 = 1, i2 = data.k[0].t;\n else {\n for (e2 = 0; e2 < s2 - 1; e2 += 1) {\n if (t2 === data.k[e2].t) {\n r2 = e2 + 1, i2 = data.k[e2].t;\n break;\n }\n if (t2 > data.k[e2].t && t2 < data.k[e2 + 1].t) {\n t2 - data.k[e2].t > data.k[e2 + 1].t - t2 ? (r2 = e2 + 2, i2 = data.k[e2 + 1].t) : (r2 = e2 + 1, i2 = data.k[e2].t);\n break;\n }\n }\n -1 === r2 && (r2 = e2 + 1, i2 = data.k[e2].t);\n }\n else r2 = 0, i2 = 0;\n var a2 = {};\n return a2.index = r2, a2.time = i2 / elem.comp.globalData.frameRate, a2;\n }\n function key(t2) {\n var e2, r2, i2;\n if (!data.k.length || \"number\" == typeof data.k[0]) throw new Error(\"The property has no keyframe at index \" + t2);\n t2 -= 1, e2 = { time: data.k[t2].t / elem.comp.globalData.frameRate, value: [] };\n var s2 = Object.prototype.hasOwnProperty.call(data.k[t2], \"s\") ? data.k[t2].s : data.k[t2 - 1].e;\n for (i2 = s2.length, r2 = 0; r2 < i2; r2 += 1) e2[r2] = s2[r2], e2.value[r2] = s2[r2];\n return e2;\n }\n function framesToTime(t2, e2) {\n return e2 || (e2 = elem.comp.globalData.frameRate), t2 / e2;\n }\n function timeToFrames(t2, e2) {\n return t2 || 0 === t2 || (t2 = time), e2 || (e2 = elem.comp.globalData.frameRate), t2 * e2;\n }\n function seedRandom(t2) {\n BMMath.seedrandom(randSeed + t2);\n }\n function sourceRectAtTime() {\n return elem.sourceRectAtTime();\n }\n function substring(t2, e2) {\n return \"string\" == typeof value ? void 0 === e2 ? value.substring(t2) : value.substring(t2, e2) : \"\";\n }\n function substr(t2, e2) {\n return \"string\" == typeof value ? void 0 === e2 ? value.substr(t2) : value.substr(t2, e2) : \"\";\n }\n function posterizeTime(t2) {\n time = 0 === t2 ? 0 : Math.floor(time * t2) / t2, value = valueAtTime(time);\n }\n var index = elem.data.ind, hasParent = !(!elem.hierarchy || !elem.hierarchy.length), parent, randSeed = Math.floor(1e6 * Math.random()), globalData = elem.globalData;\n function executeExpression(t2) {\n return value = t2, this.frameExpressionId === elem.globalData.frameId && \"textSelector\" !== this.propType ? value : (\"textSelector\" === this.propType && (textIndex = this.textIndex, textTotal = this.textTotal, selectorValue = this.selectorValue), thisLayer || (text = elem.layerInterface.text, thisLayer = elem.layerInterface, thisComp = elem.comp.compInterface, toWorld = thisLayer.toWorld.bind(thisLayer), fromWorld = thisLayer.fromWorld.bind(thisLayer), fromComp = thisLayer.fromComp.bind(thisLayer), toComp = thisLayer.toComp.bind(thisLayer), mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null, fromCompToSurface = fromComp), transform || (transform = elem.layerInterface(\"ADBE Transform Group\"), $bm_transform = transform, transform && (anchorPoint = transform.anchorPoint)), 4 !== elemType || content || (content = thisLayer(\"ADBE Root Vectors Group\")), effect || (effect = thisLayer(4)), (hasParent = !(!elem.hierarchy || !elem.hierarchy.length)) && !parent && (parent = elem.hierarchy[0].layerInterface), time = this.comp.renderedFrame / this.comp.globalData.frameRate, _needsRandom && seedRandom(randSeed + time), needsVelocity && (velocity = velocityAtTime(time)), expression_function(), this.frameExpressionId = elem.globalData.frameId, scoped_bm_rt = scoped_bm_rt.propType === propTypes.SHAPE ? scoped_bm_rt.v : scoped_bm_rt);\n }\n return executeExpression.__preventDeadCodeRemoval = [$bm_transform, anchorPoint, time, velocity, inPoint, outPoint, width, height, name, loop_in, loop_out, smooth, toComp, fromCompToSurface, toWorld, fromWorld, mask, position, rotation, scale, thisComp, numKeys, active, wiggle, loopInDuration, loopOutDuration, comp, lookAt, easeOut, easeIn, ease, nearestKey, key, text, textIndex, textTotal, selectorValue, framesToTime, timeToFrames, sourceRectAtTime, substring, substr, posterizeTime, index, globalData], executeExpression;\n }\n return ob.initiateExpression = initiateExpression, ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal], ob.resetFrame = resetFrame, ob;\n }(), Expressions = function() {\n var t2 = { initExpressions: function(t3) {\n var e2 = 0, r2 = [];\n t3.renderer.compInterface = CompExpressionInterface(t3.renderer), t3.renderer.globalData.projectInterface.registerComposition(t3.renderer), t3.renderer.globalData.pushExpression = function() {\n e2 += 1;\n }, t3.renderer.globalData.popExpression = function() {\n 0 == (e2 -= 1) && function() {\n var t4, e3 = r2.length;\n for (t4 = 0; t4 < e3; t4 += 1) r2[t4].release();\n r2.length = 0;\n }();\n }, t3.renderer.globalData.registerExpressionProperty = function(t4) {\n -1 === r2.indexOf(t4) && r2.push(t4);\n };\n } };\n return t2.resetFrame = ExpressionManager.resetFrame, t2;\n }(), MaskManagerInterface = function() {\n function t2(t3, e2) {\n this._mask = t3, this._data = e2;\n }\n return Object.defineProperty(t2.prototype, \"maskPath\", { get: function() {\n return this._mask.prop.k && this._mask.prop.getValue(), this._mask.prop;\n } }), Object.defineProperty(t2.prototype, \"maskOpacity\", { get: function() {\n return this._mask.op.k && this._mask.op.getValue(), 100 * this._mask.op.v;\n } }), function(e2) {\n var r2, i2 = createSizedArray(e2.viewData.length), s2 = e2.viewData.length;\n for (r2 = 0; r2 < s2; r2 += 1) i2[r2] = new t2(e2.viewData[r2], e2.masksProperties[r2]);\n return function(t3) {\n for (r2 = 0; r2 < s2; ) {\n if (e2.masksProperties[r2].nm === t3) return i2[r2];\n r2 += 1;\n }\n return null;\n };\n };\n }(), ExpressionPropertyInterface = /* @__PURE__ */ function() {\n var t2 = { pv: 0, v: 0, mult: 1 }, e2 = { pv: [0, 0, 0], v: [0, 0, 0], mult: 1 };\n function r2(t3, e3, r3) {\n Object.defineProperty(t3, \"velocity\", { get: function() {\n return e3.getVelocityAtTime(e3.comp.currentFrame);\n } }), t3.numKeys = e3.keyframes ? e3.keyframes.length : 0, t3.key = function(i3) {\n if (!t3.numKeys) return 0;\n var s2 = \"\";\n s2 = \"s\" in e3.keyframes[i3 - 1] ? e3.keyframes[i3 - 1].s : \"e\" in e3.keyframes[i3 - 2] ? e3.keyframes[i3 - 2].e : e3.keyframes[i3 - 2].s;\n var a2 = \"unidimensional\" === r3 ? new Number(s2) : Object.assign({}, s2);\n return a2.time = e3.keyframes[i3 - 1].t / e3.elem.comp.globalData.frameRate, a2.value = \"unidimensional\" === r3 ? s2[0] : s2, a2;\n }, t3.valueAtTime = e3.getValueAtTime, t3.speedAtTime = e3.getSpeedAtTime, t3.velocityAtTime = e3.getVelocityAtTime, t3.propertyGroup = e3.propertyGroup;\n }\n function i2() {\n return t2;\n }\n return function(s2) {\n return s2 ? \"unidimensional\" === s2.propType ? function(e3) {\n e3 && \"pv\" in e3 || (e3 = t2);\n var i3 = 1 / e3.mult, s3 = e3.pv * i3, a2 = new Number(s3);\n return a2.value = s3, r2(a2, e3, \"unidimensional\"), function() {\n return e3.k && e3.getValue(), s3 = e3.v * i3, a2.value !== s3 && ((a2 = new Number(s3)).value = s3, r2(a2, e3, \"unidimensional\")), a2;\n };\n }(s2) : function(t3) {\n t3 && \"pv\" in t3 || (t3 = e2);\n var i3 = 1 / t3.mult, s3 = t3.data && t3.data.l || t3.pv.length, a2 = createTypedArray(\"float32\", s3), n2 = createTypedArray(\"float32\", s3);\n return a2.value = n2, r2(a2, t3, \"multidimensional\"), function() {\n t3.k && t3.getValue();\n for (var e3 = 0; e3 < s3; e3 += 1) n2[e3] = t3.v[e3] * i3, a2[e3] = n2[e3];\n return a2;\n };\n }(s2) : i2;\n };\n }(), TransformExpressionInterface = function(t2) {\n function e2(t3) {\n switch (t3) {\n case \"scale\":\n case \"Scale\":\n case \"ADBE Scale\":\n case 6:\n return e2.scale;\n case \"rotation\":\n case \"Rotation\":\n case \"ADBE Rotation\":\n case \"ADBE Rotate Z\":\n case 10:\n return e2.rotation;\n case \"ADBE Rotate X\":\n return e2.xRotation;\n case \"ADBE Rotate Y\":\n return e2.yRotation;\n case \"position\":\n case \"Position\":\n case \"ADBE Position\":\n case 2:\n return e2.position;\n case \"ADBE Position_0\":\n return e2.xPosition;\n case \"ADBE Position_1\":\n return e2.yPosition;\n case \"ADBE Position_2\":\n return e2.zPosition;\n case \"anchorPoint\":\n case \"AnchorPoint\":\n case \"Anchor Point\":\n case \"ADBE AnchorPoint\":\n case 1:\n return e2.anchorPoint;\n case \"opacity\":\n case \"Opacity\":\n case 11:\n return e2.opacity;\n default:\n return null;\n }\n }\n var r2, i2, s2, a2;\n return Object.defineProperty(e2, \"rotation\", { get: ExpressionPropertyInterface(t2.r || t2.rz) }), Object.defineProperty(e2, \"zRotation\", { get: ExpressionPropertyInterface(t2.rz || t2.r) }), Object.defineProperty(e2, \"xRotation\", { get: ExpressionPropertyInterface(t2.rx) }), Object.defineProperty(e2, \"yRotation\", { get: ExpressionPropertyInterface(t2.ry) }), Object.defineProperty(e2, \"scale\", { get: ExpressionPropertyInterface(t2.s) }), t2.p ? a2 = ExpressionPropertyInterface(t2.p) : (r2 = ExpressionPropertyInterface(t2.px), i2 = ExpressionPropertyInterface(t2.py), t2.pz && (s2 = ExpressionPropertyInterface(t2.pz))), Object.defineProperty(e2, \"position\", { get: function() {\n return t2.p ? a2() : [r2(), i2(), s2 ? s2() : 0];\n } }), Object.defineProperty(e2, \"xPosition\", { get: ExpressionPropertyInterface(t2.px) }), Object.defineProperty(e2, \"yPosition\", { get: ExpressionPropertyInterface(t2.py) }), Object.defineProperty(e2, \"zPosition\", { get: ExpressionPropertyInterface(t2.pz) }), Object.defineProperty(e2, \"anchorPoint\", { get: ExpressionPropertyInterface(t2.a) }), Object.defineProperty(e2, \"opacity\", { get: ExpressionPropertyInterface(t2.o) }), Object.defineProperty(e2, \"skew\", { get: ExpressionPropertyInterface(t2.sk) }), Object.defineProperty(e2, \"skewAxis\", { get: ExpressionPropertyInterface(t2.sa) }), Object.defineProperty(e2, \"orientation\", { get: ExpressionPropertyInterface(t2.or) }), e2;\n }, LayerExpressionInterface = /* @__PURE__ */ function() {\n function t2(t3) {\n var e3 = new Matrix();\n return void 0 !== t3 ? this._elem.finalTransform.mProp.getValueAtTime(t3).clone(e3) : this._elem.finalTransform.mProp.applyToMatrix(e3), e3;\n }\n function e2(t3, e3) {\n var r3 = this.getMatrix(e3);\n return r3.props[12] = 0, r3.props[13] = 0, r3.props[14] = 0, this.applyPoint(r3, t3);\n }\n function r2(t3, e3) {\n var r3 = this.getMatrix(e3);\n return this.applyPoint(r3, t3);\n }\n function i2(t3, e3) {\n var r3 = this.getMatrix(e3);\n return r3.props[12] = 0, r3.props[13] = 0, r3.props[14] = 0, this.invertPoint(r3, t3);\n }\n function s2(t3, e3) {\n var r3 = this.getMatrix(e3);\n return this.invertPoint(r3, t3);\n }\n function a2(t3, e3) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var r3, i3 = this._elem.hierarchy.length;\n for (r3 = 0; r3 < i3; r3 += 1) this._elem.hierarchy[r3].finalTransform.mProp.applyToMatrix(t3);\n }\n return t3.applyToPointArray(e3[0], e3[1], e3[2] || 0);\n }\n function n2(t3, e3) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var r3, i3 = this._elem.hierarchy.length;\n for (r3 = 0; r3 < i3; r3 += 1) this._elem.hierarchy[r3].finalTransform.mProp.applyToMatrix(t3);\n }\n return t3.inversePoint(e3);\n }\n function o2(t3) {\n var e3 = new Matrix();\n if (e3.reset(), this._elem.finalTransform.mProp.applyToMatrix(e3), this._elem.hierarchy && this._elem.hierarchy.length) {\n var r3, i3 = this._elem.hierarchy.length;\n for (r3 = 0; r3 < i3; r3 += 1) this._elem.hierarchy[r3].finalTransform.mProp.applyToMatrix(e3);\n return e3.inversePoint(t3);\n }\n return e3.inversePoint(t3);\n }\n function h2() {\n return [1, 1, 1, 1];\n }\n return function(l2) {\n var p2;\n function c2(t3) {\n switch (t3) {\n case \"ADBE Root Vectors Group\":\n case \"Contents\":\n case 2:\n return c2.shapeInterface;\n case 1:\n case 6:\n case \"Transform\":\n case \"transform\":\n case \"ADBE Transform Group\":\n return p2;\n case 4:\n case \"ADBE Effect Parade\":\n case \"effects\":\n case \"Effects\":\n return c2.effect;\n case \"ADBE Text Properties\":\n return c2.textInterface;\n default:\n return null;\n }\n }\n c2.getMatrix = t2, c2.invertPoint = n2, c2.applyPoint = a2, c2.toWorld = r2, c2.toWorldVec = e2, c2.fromWorld = s2, c2.fromWorldVec = i2, c2.toComp = r2, c2.fromComp = o2, c2.sampleImage = h2, c2.sourceRectAtTime = l2.sourceRectAtTime.bind(l2), c2._elem = l2;\n var f2 = getDescriptor(p2 = TransformExpressionInterface(l2.finalTransform.mProp), \"anchorPoint\");\n return Object.defineProperties(c2, { hasParent: { get: function() {\n return l2.hierarchy.length;\n } }, parent: { get: function() {\n return l2.hierarchy[0].layerInterface;\n } }, rotation: getDescriptor(p2, \"rotation\"), scale: getDescriptor(p2, \"scale\"), position: getDescriptor(p2, \"position\"), opacity: getDescriptor(p2, \"opacity\"), anchorPoint: f2, anchor_point: f2, transform: { get: function() {\n return p2;\n } }, active: { get: function() {\n return l2.isInRange;\n } } }), c2.startTime = l2.data.st, c2.index = l2.data.ind, c2.source = l2.data.refId, c2.height = 0 === l2.data.ty ? l2.data.h : 100, c2.width = 0 === l2.data.ty ? l2.data.w : 100, c2.inPoint = l2.data.ip / l2.comp.globalData.frameRate, c2.outPoint = l2.data.op / l2.comp.globalData.frameRate, c2._name = l2.data.nm, c2.registerMaskInterface = function(t3) {\n c2.mask = new MaskManagerInterface(t3, l2);\n }, c2.registerEffectsInterface = function(t3) {\n c2.effect = t3;\n }, c2;\n };\n }(), propertyGroupFactory = function(t2, e2) {\n return function(r2) {\n return (r2 = void 0 === r2 ? 1 : r2) <= 0 ? t2 : e2(r2 - 1);\n };\n }, PropertyInterface = function(t2, e2) {\n var r2 = { _name: t2 };\n return function(t3) {\n return (t3 = void 0 === t3 ? 1 : t3) <= 0 ? r2 : e2(t3 - 1);\n };\n }, EffectsExpressionInterface = /* @__PURE__ */ function() {\n var t2 = { createEffectsInterface: function(t3, r3) {\n if (t3.effectsManager) {\n var i2, s2 = [], a2 = t3.data.ef, n2 = t3.effectsManager.effectElements.length;\n for (i2 = 0; i2 < n2; i2 += 1) s2.push(e2(a2[i2], t3.effectsManager.effectElements[i2], r3, t3));\n var o2 = t3.data.ef || [], h2 = function(t4) {\n for (i2 = 0, n2 = o2.length; i2 < n2; ) {\n if (t4 === o2[i2].nm || t4 === o2[i2].mn || t4 === o2[i2].ix) return s2[i2];\n i2 += 1;\n }\n return null;\n };\n return Object.defineProperty(h2, \"numProperties\", { get: function() {\n return o2.length;\n } }), h2;\n }\n return null;\n } };\n function e2(t3, i2, s2, a2) {\n function n2(e3) {\n for (var r3 = t3.ef, i3 = 0, s3 = r3.length; i3 < s3; ) {\n if (e3 === r3[i3].nm || e3 === r3[i3].mn || e3 === r3[i3].ix) return 5 === r3[i3].ty ? l2[i3] : l2[i3]();\n i3 += 1;\n }\n throw new Error();\n }\n var o2, h2 = propertyGroupFactory(n2, s2), l2 = [], p2 = t3.ef.length;\n for (o2 = 0; o2 < p2; o2 += 1) 5 === t3.ef[o2].ty ? l2.push(e2(t3.ef[o2], i2.effectElements[o2], i2.effectElements[o2].propertyGroup, a2)) : l2.push(r2(i2.effectElements[o2], t3.ef[o2].ty, a2, h2));\n return \"ADBE Color Control\" === t3.mn && Object.defineProperty(n2, \"color\", { get: function() {\n return l2[0]();\n } }), Object.defineProperties(n2, { numProperties: { get: function() {\n return t3.np;\n } }, _name: { value: t3.nm }, propertyGroup: { value: h2 } }), n2.enabled = 0 !== t3.en, n2.active = n2.enabled, n2;\n }\n function r2(t3, e3, r3, i2) {\n var s2 = ExpressionPropertyInterface(t3.p);\n return t3.p.setGroupProperty && t3.p.setGroupProperty(PropertyInterface(\"\", i2)), function() {\n return 10 === e3 ? r3.comp.compInterface(t3.p.v) : s2();\n };\n }\n return t2;\n }(), ShapePathInterface = function(t2, e2, r2) {\n var i2 = e2.sh;\n function s2(t3) {\n return \"Shape\" === t3 || \"shape\" === t3 || \"Path\" === t3 || \"path\" === t3 || \"ADBE Vector Shape\" === t3 || 2 === t3 ? s2.path : null;\n }\n var a2 = propertyGroupFactory(s2, r2);\n return i2.setGroupProperty(PropertyInterface(\"Path\", a2)), Object.defineProperties(s2, { path: { get: function() {\n return i2.k && i2.getValue(), i2;\n } }, shape: { get: function() {\n return i2.k && i2.getValue(), i2;\n } }, _name: { value: t2.nm }, ix: { value: t2.ix }, propertyIndex: { value: t2.ix }, mn: { value: t2.mn }, propertyGroup: { value: r2 } }), s2;\n }, ShapeExpressionInterface = /* @__PURE__ */ function() {\n function t2(t3, n3, f2) {\n var u2, d2 = [], m2 = t3 ? t3.length : 0;\n for (u2 = 0; u2 < m2; u2 += 1) \"gr\" === t3[u2].ty ? d2.push(e2(t3[u2], n3[u2], f2)) : \"fl\" === t3[u2].ty ? d2.push(r2(t3[u2], n3[u2], f2)) : \"st\" === t3[u2].ty ? d2.push(s2(t3[u2], n3[u2], f2)) : \"tm\" === t3[u2].ty ? d2.push(a2(t3[u2], n3[u2], f2)) : \"tr\" === t3[u2].ty || (\"el\" === t3[u2].ty ? d2.push(o2(t3[u2], n3[u2], f2)) : \"sr\" === t3[u2].ty ? d2.push(h2(t3[u2], n3[u2], f2)) : \"sh\" === t3[u2].ty ? d2.push(ShapePathInterface(t3[u2], n3[u2], f2)) : \"rc\" === t3[u2].ty ? d2.push(l2(t3[u2], n3[u2], f2)) : \"rd\" === t3[u2].ty ? d2.push(p2(t3[u2], n3[u2], f2)) : \"rp\" === t3[u2].ty ? d2.push(c2(t3[u2], n3[u2], f2)) : \"gf\" === t3[u2].ty ? d2.push(i2(t3[u2], n3[u2], f2)) : d2.push((t3[u2], n3[u2], function() {\n return null;\n })));\n return d2;\n }\n function e2(e3, r3, i3) {\n var s3 = function(t3) {\n switch (t3) {\n case \"ADBE Vectors Group\":\n case \"Contents\":\n case 2:\n return s3.content;\n default:\n return s3.transform;\n }\n };\n s3.propertyGroup = propertyGroupFactory(s3, i3);\n var a3 = function(e4, r4, i4) {\n var s4, a4 = function(t3) {\n for (var e5 = 0, r5 = s4.length; e5 < r5; ) {\n if (s4[e5]._name === t3 || s4[e5].mn === t3 || s4[e5].propertyIndex === t3 || s4[e5].ix === t3 || s4[e5].ind === t3) return s4[e5];\n e5 += 1;\n }\n return \"number\" == typeof t3 ? s4[t3 - 1] : null;\n };\n a4.propertyGroup = propertyGroupFactory(a4, i4), s4 = t2(e4.it, r4.it, a4.propertyGroup), a4.numProperties = s4.length;\n var o4 = n2(e4.it[e4.it.length - 1], r4.it[r4.it.length - 1], a4.propertyGroup);\n return a4.transform = o4, a4.propertyIndex = e4.cix, a4._name = e4.nm, a4;\n }(e3, r3, s3.propertyGroup), o3 = n2(e3.it[e3.it.length - 1], r3.it[r3.it.length - 1], s3.propertyGroup);\n return s3.content = a3, s3.transform = o3, Object.defineProperty(s3, \"_name\", { get: function() {\n return e3.nm;\n } }), s3.numProperties = e3.np, s3.propertyIndex = e3.ix, s3.nm = e3.nm, s3.mn = e3.mn, s3;\n }\n function r2(t3, e3, r3) {\n function i3(t4) {\n return \"Color\" === t4 || \"color\" === t4 ? i3.color : \"Opacity\" === t4 || \"opacity\" === t4 ? i3.opacity : null;\n }\n return Object.defineProperties(i3, { color: { get: ExpressionPropertyInterface(e3.c) }, opacity: { get: ExpressionPropertyInterface(e3.o) }, _name: { value: t3.nm }, mn: { value: t3.mn } }), e3.c.setGroupProperty(PropertyInterface(\"Color\", r3)), e3.o.setGroupProperty(PropertyInterface(\"Opacity\", r3)), i3;\n }\n function i2(t3, e3, r3) {\n function i3(t4) {\n return \"Start Point\" === t4 || \"start point\" === t4 ? i3.startPoint : \"End Point\" === t4 || \"end point\" === t4 ? i3.endPoint : \"Opacity\" === t4 || \"opacity\" === t4 ? i3.opacity : null;\n }\n return Object.defineProperties(i3, { startPoint: { get: ExpressionPropertyInterface(e3.s) }, endPoint: { get: ExpressionPropertyInterface(e3.e) }, opacity: { get: ExpressionPropertyInterface(e3.o) }, type: { get: function() {\n return \"a\";\n } }, _name: { value: t3.nm }, mn: { value: t3.mn } }), e3.s.setGroupProperty(PropertyInterface(\"Start Point\", r3)), e3.e.setGroupProperty(PropertyInterface(\"End Point\", r3)), e3.o.setGroupProperty(PropertyInterface(\"Opacity\", r3)), i3;\n }\n function s2(t3, e3, r3) {\n var i3, s3 = propertyGroupFactory(l3, r3), a3 = propertyGroupFactory(h3, s3);\n function n3(r4) {\n Object.defineProperty(h3, t3.d[r4].nm, { get: ExpressionPropertyInterface(e3.d.dataProps[r4].p) });\n }\n var o3 = t3.d ? t3.d.length : 0, h3 = {};\n for (i3 = 0; i3 < o3; i3 += 1) n3(i3), e3.d.dataProps[i3].p.setGroupProperty(a3);\n function l3(t4) {\n return \"Color\" === t4 || \"color\" === t4 ? l3.color : \"Opacity\" === t4 || \"opacity\" === t4 ? l3.opacity : \"Stroke Width\" === t4 || \"stroke width\" === t4 ? l3.strokeWidth : null;\n }\n return Object.defineProperties(l3, { color: { get: ExpressionPropertyInterface(e3.c) }, opacity: { get: ExpressionPropertyInterface(e3.o) }, strokeWidth: { get: ExpressionPropertyInterface(e3.w) }, dash: { get: function() {\n return h3;\n } }, _name: { value: t3.nm }, mn: { value: t3.mn } }), e3.c.setGroupProperty(PropertyInterface(\"Color\", s3)), e3.o.setGroupProperty(PropertyInterface(\"Opacity\", s3)), e3.w.setGroupProperty(PropertyInterface(\"Stroke Width\", s3)), l3;\n }\n function a2(t3, e3, r3) {\n function i3(e4) {\n return e4 === t3.e.ix || \"End\" === e4 || \"end\" === e4 ? i3.end : e4 === t3.s.ix ? i3.start : e4 === t3.o.ix ? i3.offset : null;\n }\n var s3 = propertyGroupFactory(i3, r3);\n return i3.propertyIndex = t3.ix, e3.s.setGroupProperty(PropertyInterface(\"Start\", s3)), e3.e.setGroupProperty(PropertyInterface(\"End\", s3)), e3.o.setGroupProperty(PropertyInterface(\"Offset\", s3)), i3.propertyIndex = t3.ix, i3.propertyGroup = r3, Object.defineProperties(i3, { start: { get: ExpressionPropertyInterface(e3.s) }, end: { get: ExpressionPropertyInterface(e3.e) }, offset: { get: ExpressionPropertyInterface(e3.o) }, _name: { value: t3.nm } }), i3.mn = t3.mn, i3;\n }\n function n2(t3, e3, r3) {\n function i3(e4) {\n return t3.a.ix === e4 || \"Anchor Point\" === e4 ? i3.anchorPoint : t3.o.ix === e4 || \"Opacity\" === e4 ? i3.opacity : t3.p.ix === e4 || \"Position\" === e4 ? i3.position : t3.r.ix === e4 || \"Rotation\" === e4 || \"ADBE Vector Rotation\" === e4 ? i3.rotation : t3.s.ix === e4 || \"Scale\" === e4 ? i3.scale : t3.sk && t3.sk.ix === e4 || \"Skew\" === e4 ? i3.skew : t3.sa && t3.sa.ix === e4 || \"Skew Axis\" === e4 ? i3.skewAxis : null;\n }\n var s3 = propertyGroupFactory(i3, r3);\n return e3.transform.mProps.o.setGroupProperty(PropertyInterface(\"Opacity\", s3)), e3.transform.mProps.p.setGroupProperty(PropertyInterface(\"Position\", s3)), e3.transform.mProps.a.setGroupProperty(PropertyInterface(\"Anchor Point\", s3)), e3.transform.mProps.s.setGroupProperty(PropertyInterface(\"Scale\", s3)), e3.transform.mProps.r.setGroupProperty(PropertyInterface(\"Rotation\", s3)), e3.transform.mProps.sk && (e3.transform.mProps.sk.setGroupProperty(PropertyInterface(\"Skew\", s3)), e3.transform.mProps.sa.setGroupProperty(PropertyInterface(\"Skew Angle\", s3))), e3.transform.op.setGroupProperty(PropertyInterface(\"Opacity\", s3)), Object.defineProperties(i3, { opacity: { get: ExpressionPropertyInterface(e3.transform.mProps.o) }, position: { get: ExpressionPropertyInterface(e3.transform.mProps.p) }, anchorPoint: { get: ExpressionPropertyInterface(e3.transform.mProps.a) }, scale: { get: ExpressionPropertyInterface(e3.transform.mProps.s) }, rotation: { get: ExpressionPropertyInterface(e3.transform.mProps.r) }, skew: { get: ExpressionPropertyInterface(e3.transform.mProps.sk) }, skewAxis: { get: ExpressionPropertyInterface(e3.transform.mProps.sa) }, _name: { value: t3.nm } }), i3.ty = \"tr\", i3.mn = t3.mn, i3.propertyGroup = r3, i3;\n }\n function o2(t3, e3, r3) {\n function i3(e4) {\n return t3.p.ix === e4 ? i3.position : t3.s.ix === e4 ? i3.size : null;\n }\n var s3 = propertyGroupFactory(i3, r3);\n i3.propertyIndex = t3.ix;\n var a3 = \"tm\" === e3.sh.ty ? e3.sh.prop : e3.sh;\n return a3.s.setGroupProperty(PropertyInterface(\"Size\", s3)), a3.p.setGroupProperty(PropertyInterface(\"Position\", s3)), Object.defineProperties(i3, { size: { get: ExpressionPropertyInterface(a3.s) }, position: { get: ExpressionPropertyInterface(a3.p) }, _name: { value: t3.nm } }), i3.mn = t3.mn, i3;\n }\n function h2(t3, e3, r3) {\n function i3(e4) {\n return t3.p.ix === e4 ? i3.position : t3.r.ix === e4 ? i3.rotation : t3.pt.ix === e4 ? i3.points : t3.or.ix === e4 || \"ADBE Vector Star Outer Radius\" === e4 ? i3.outerRadius : t3.os.ix === e4 ? i3.outerRoundness : !t3.ir || t3.ir.ix !== e4 && \"ADBE Vector Star Inner Radius\" !== e4 ? t3.is && t3.is.ix === e4 ? i3.innerRoundness : null : i3.innerRadius;\n }\n var s3 = propertyGroupFactory(i3, r3), a3 = \"tm\" === e3.sh.ty ? e3.sh.prop : e3.sh;\n return i3.propertyIndex = t3.ix, a3.or.setGroupProperty(PropertyInterface(\"Outer Radius\", s3)), a3.os.setGroupProperty(PropertyInterface(\"Outer Roundness\", s3)), a3.pt.setGroupProperty(PropertyInterface(\"Points\", s3)), a3.p.setGroupProperty(PropertyInterface(\"Position\", s3)), a3.r.setGroupProperty(PropertyInterface(\"Rotation\", s3)), t3.ir && (a3.ir.setGroupProperty(PropertyInterface(\"Inner Radius\", s3)), a3.is.setGroupProperty(PropertyInterface(\"Inner Roundness\", s3))), Object.defineProperties(i3, { position: { get: ExpressionPropertyInterface(a3.p) }, rotation: { get: ExpressionPropertyInterface(a3.r) }, points: { get: ExpressionPropertyInterface(a3.pt) }, outerRadius: { get: ExpressionPropertyInterface(a3.or) }, outerRoundness: { get: ExpressionPropertyInterface(a3.os) }, innerRadius: { get: ExpressionPropertyInterface(a3.ir) }, innerRoundness: { get: ExpressionPropertyInterface(a3.is) }, _name: { value: t3.nm } }), i3.mn = t3.mn, i3;\n }\n function l2(t3, e3, r3) {\n function i3(e4) {\n return t3.p.ix === e4 ? i3.position : t3.r.ix === e4 ? i3.roundness : t3.s.ix === e4 || \"Size\" === e4 || \"ADBE Vector Rect Size\" === e4 ? i3.size : null;\n }\n var s3 = propertyGroupFactory(i3, r3), a3 = \"tm\" === e3.sh.ty ? e3.sh.prop : e3.sh;\n return i3.propertyIndex = t3.ix, a3.p.setGroupProperty(PropertyInterface(\"Position\", s3)), a3.s.setGroupProperty(PropertyInterface(\"Size\", s3)), a3.r.setGroupProperty(PropertyInterface(\"Rotation\", s3)), Object.defineProperties(i3, { position: { get: ExpressionPropertyInterface(a3.p) }, roundness: { get: ExpressionPropertyInterface(a3.r) }, size: { get: ExpressionPropertyInterface(a3.s) }, _name: { value: t3.nm } }), i3.mn = t3.mn, i3;\n }\n function p2(t3, e3, r3) {\n function i3(e4) {\n return t3.r.ix === e4 || \"Round Corners 1\" === e4 ? i3.radius : null;\n }\n var s3 = propertyGroupFactory(i3, r3), a3 = e3;\n return i3.propertyIndex = t3.ix, a3.rd.setGroupProperty(PropertyInterface(\"Radius\", s3)), Object.defineProperties(i3, { radius: { get: ExpressionPropertyInterface(a3.rd) }, _name: { value: t3.nm } }), i3.mn = t3.mn, i3;\n }\n function c2(t3, e3, r3) {\n function i3(e4) {\n return t3.c.ix === e4 || \"Copies\" === e4 ? i3.copies : t3.o.ix === e4 || \"Offset\" === e4 ? i3.offset : null;\n }\n var s3 = propertyGroupFactory(i3, r3), a3 = e3;\n return i3.propertyIndex = t3.ix, a3.c.setGroupProperty(PropertyInterface(\"Copies\", s3)), a3.o.setGroupProperty(PropertyInterface(\"Offset\", s3)), Object.defineProperties(i3, { copies: { get: ExpressionPropertyInterface(a3.c) }, offset: { get: ExpressionPropertyInterface(a3.o) }, _name: { value: t3.nm } }), i3.mn = t3.mn, i3;\n }\n return function(e3, r3, i3) {\n var s3;\n function a3(t3) {\n if (\"number\" == typeof t3) return 0 === (t3 = void 0 === t3 ? 1 : t3) ? i3 : s3[t3 - 1];\n for (var e4 = 0, r4 = s3.length; e4 < r4; ) {\n if (s3[e4]._name === t3) return s3[e4];\n e4 += 1;\n }\n return null;\n }\n return a3.propertyGroup = propertyGroupFactory(a3, function() {\n return i3;\n }), s3 = t2(e3, r3, a3.propertyGroup), a3.numProperties = s3.length, a3._name = \"Contents\", a3;\n };\n }(), TextExpressionInterface = function(t2) {\n var e2;\n function r2(t3) {\n return \"ADBE Text Document\" === t3 ? r2.sourceText : null;\n }\n return Object.defineProperty(r2, \"sourceText\", { get: function() {\n t2.textProperty.getValue();\n var r3 = t2.textProperty.currentData.t;\n return e2 && r3 === e2.value || ((e2 = new String(r3)).value = r3 || new String(r3), Object.defineProperty(e2, \"style\", { get: function() {\n return { fillColor: t2.textProperty.currentData.fc };\n } })), e2;\n } }), r2;\n };\n function _typeof(t2) {\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(t3) {\n return typeof t3;\n } : function(t3) {\n return t3 && \"function\" == typeof Symbol && t3.constructor === Symbol && t3 !== Symbol.prototype ? \"symbol\" : typeof t3;\n }, _typeof(t2);\n }\n var FootageInterface = (dataInterfaceFactory = function(t2) {\n function e2(t3) {\n return \"Outline\" === t3 ? e2.outlineInterface() : null;\n }\n return e2._name = \"Outline\", e2.outlineInterface = function(t3) {\n var e3 = \"\", r2 = t3.getFootageData();\n function i2(t4) {\n if (r2[t4]) return e3 = t4, \"object\" === _typeof(r2 = r2[t4]) ? i2 : r2;\n var s2 = t4.indexOf(e3);\n if (-1 !== s2) {\n var a2 = parseInt(t4.substr(s2 + e3.length), 10);\n return \"object\" === _typeof(r2 = r2[a2]) ? i2 : r2;\n }\n return \"\";\n }\n return function() {\n return e3 = \"\", r2 = t3.getFootageData(), i2;\n };\n }(t2), e2;\n }, function(t2) {\n function e2(t3) {\n return \"Data\" === t3 ? e2.dataInterface : null;\n }\n return e2._name = \"Data\", e2.dataInterface = dataInterfaceFactory(t2), e2;\n }), dataInterfaceFactory, interfaces = { layer: LayerExpressionInterface, effects: EffectsExpressionInterface, comp: CompExpressionInterface, shape: ShapeExpressionInterface, text: TextExpressionInterface, footage: FootageInterface };\n function getInterface(t2) {\n return interfaces[t2] || null;\n }\n var expressionHelpers = { searchExpressions: function(t2, e2, r2) {\n e2.x && (r2.k = true, r2.x = true, r2.initiateExpression = ExpressionManager.initiateExpression, r2.effectsSequence.push(r2.initiateExpression(t2, e2, r2).bind(r2)));\n }, getSpeedAtTime: function(t2) {\n var e2 = this.getValueAtTime(t2), r2 = this.getValueAtTime(t2 + -0.01), i2 = 0;\n if (e2.length) {\n var s2;\n for (s2 = 0; s2 < e2.length; s2 += 1) i2 += Math.pow(r2[s2] - e2[s2], 2);\n i2 = 100 * Math.sqrt(i2);\n } else i2 = 0;\n return i2;\n }, getVelocityAtTime: function(t2) {\n if (void 0 !== this.vel) return this.vel;\n var e2, r2, i2 = -1e-3, s2 = this.getValueAtTime(t2), a2 = this.getValueAtTime(t2 + i2);\n if (s2.length) for (e2 = createTypedArray(\"float32\", s2.length), r2 = 0; r2 < s2.length; r2 += 1) e2[r2] = (a2[r2] - s2[r2]) / i2;\n else e2 = (a2 - s2) / i2;\n return e2;\n }, getValueAtTime: function(t2) {\n return t2 *= this.elem.globalData.frameRate, (t2 -= this.offsetTime) !== this._cachingAtTime.lastFrame && (this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < t2 ? this._cachingAtTime.lastIndex : 0, this._cachingAtTime.value = this.interpolateValue(t2, this._cachingAtTime), this._cachingAtTime.lastFrame = t2), this._cachingAtTime.value;\n }, getStaticValueAtTime: function() {\n return this.pv;\n }, setGroupProperty: function(t2) {\n this.propertyGroup = t2;\n } };\n function addPropertyDecorator() {\n function t2(t3, e3, r3) {\n if (!this.k || !this.keyframes) return this.pv;\n t3 = t3 ? t3.toLowerCase() : \"\";\n var i3, s3, a3, n3, o3, h3 = this.comp.renderedFrame, l3 = this.keyframes, p3 = l3[l3.length - 1].t;\n if (h3 <= p3) return this.pv;\n if (r3 ? s3 = p3 - (i3 = e3 ? Math.abs(p3 - this.elem.comp.globalData.frameRate * e3) : Math.max(0, p3 - this.elem.data.ip)) : ((!e3 || e3 > l3.length - 1) && (e3 = l3.length - 1), i3 = p3 - (s3 = l3[l3.length - 1 - e3].t)), \"pingpong\" === t3) {\n if (Math.floor((h3 - s3) / i3) % 2 != 0) return this.getValueAtTime((i3 - (h3 - s3) % i3 + s3) / this.comp.globalData.frameRate, 0);\n } else {\n if (\"offset\" === t3) {\n var c2 = this.getValueAtTime(s3 / this.comp.globalData.frameRate, 0), f2 = this.getValueAtTime(p3 / this.comp.globalData.frameRate, 0), u2 = this.getValueAtTime(((h3 - s3) % i3 + s3) / this.comp.globalData.frameRate, 0), d2 = Math.floor((h3 - s3) / i3);\n if (this.pv.length) {\n for (n3 = (o3 = new Array(c2.length)).length, a3 = 0; a3 < n3; a3 += 1) o3[a3] = (f2[a3] - c2[a3]) * d2 + u2[a3];\n return o3;\n }\n return (f2 - c2) * d2 + u2;\n }\n if (\"continue\" === t3) {\n var m2 = this.getValueAtTime(p3 / this.comp.globalData.frameRate, 0), y2 = this.getValueAtTime((p3 - 1e-3) / this.comp.globalData.frameRate, 0);\n if (this.pv.length) {\n for (n3 = (o3 = new Array(m2.length)).length, a3 = 0; a3 < n3; a3 += 1) o3[a3] = m2[a3] + (m2[a3] - y2[a3]) * ((h3 - p3) / this.comp.globalData.frameRate) / 5e-4;\n return o3;\n }\n return m2 + (h3 - p3) / 1e-3 * (m2 - y2);\n }\n }\n return this.getValueAtTime(((h3 - s3) % i3 + s3) / this.comp.globalData.frameRate, 0);\n }\n function e2(t3, e3, r3) {\n if (!this.k) return this.pv;\n t3 = t3 ? t3.toLowerCase() : \"\";\n var i3, s3, a3, n3, o3, h3 = this.comp.renderedFrame, l3 = this.keyframes, p3 = l3[0].t;\n if (h3 >= p3) return this.pv;\n if (r3 ? s3 = p3 + (i3 = e3 ? Math.abs(this.elem.comp.globalData.frameRate * e3) : Math.max(0, this.elem.data.op - p3)) : ((!e3 || e3 > l3.length - 1) && (e3 = l3.length - 1), i3 = (s3 = l3[e3].t) - p3), \"pingpong\" === t3) {\n if (Math.floor((p3 - h3) / i3) % 2 == 0) return this.getValueAtTime(((p3 - h3) % i3 + p3) / this.comp.globalData.frameRate, 0);\n } else {\n if (\"offset\" === t3) {\n var c2 = this.getValueAtTime(p3 / this.comp.globalData.frameRate, 0), f2 = this.getValueAtTime(s3 / this.comp.globalData.frameRate, 0), u2 = this.getValueAtTime((i3 - (p3 - h3) % i3 + p3) / this.comp.globalData.frameRate, 0), d2 = Math.floor((p3 - h3) / i3) + 1;\n if (this.pv.length) {\n for (n3 = (o3 = new Array(c2.length)).length, a3 = 0; a3 < n3; a3 += 1) o3[a3] = u2[a3] - (f2[a3] - c2[a3]) * d2;\n return o3;\n }\n return u2 - (f2 - c2) * d2;\n }\n if (\"continue\" === t3) {\n var m2 = this.getValueAtTime(p3 / this.comp.globalData.frameRate, 0), y2 = this.getValueAtTime((p3 + 1e-3) / this.comp.globalData.frameRate, 0);\n if (this.pv.length) {\n for (n3 = (o3 = new Array(m2.length)).length, a3 = 0; a3 < n3; a3 += 1) o3[a3] = m2[a3] + (m2[a3] - y2[a3]) * (p3 - h3) / 1e-3;\n return o3;\n }\n return m2 + (m2 - y2) * (p3 - h3) / 1e-3;\n }\n }\n return this.getValueAtTime((i3 - ((p3 - h3) % i3 + p3)) / this.comp.globalData.frameRate, 0);\n }\n function r2(t3, e3) {\n if (!this.k) return this.pv;\n if (t3 = 0.5 * (t3 || 0.4), (e3 = Math.floor(e3 || 5)) <= 1) return this.pv;\n var r3, i3, s3 = this.comp.renderedFrame / this.comp.globalData.frameRate, a3 = s3 - t3, n3 = e3 > 1 ? (s3 + t3 - a3) / (e3 - 1) : 1, o3 = 0, h3 = 0;\n for (r3 = this.pv.length ? createTypedArray(\"float32\", this.pv.length) : 0; o3 < e3; ) {\n if (i3 = this.getValueAtTime(a3 + o3 * n3), this.pv.length) for (h3 = 0; h3 < this.pv.length; h3 += 1) r3[h3] += i3[h3];\n else r3 += i3;\n o3 += 1;\n }\n if (this.pv.length) for (h3 = 0; h3 < this.pv.length; h3 += 1) r3[h3] /= e3;\n else r3 /= e3;\n return r3;\n }\n function i2(t3) {\n this._transformCachingAtTime || (this._transformCachingAtTime = { v: new Matrix() });\n var e3 = this._transformCachingAtTime.v;\n if (e3.cloneFromProps(this.pre.props), this.appliedTransformations < 1) {\n var r3 = this.a.getValueAtTime(t3);\n e3.translate(-r3[0] * this.a.mult, -r3[1] * this.a.mult, r3[2] * this.a.mult);\n }\n if (this.appliedTransformations < 2) {\n var i3 = this.s.getValueAtTime(t3);\n e3.scale(i3[0] * this.s.mult, i3[1] * this.s.mult, i3[2] * this.s.mult);\n }\n if (this.sk && this.appliedTransformations < 3) {\n var s3 = this.sk.getValueAtTime(t3), a3 = this.sa.getValueAtTime(t3);\n e3.skewFromAxis(-s3 * this.sk.mult, a3 * this.sa.mult);\n }\n if (this.r && this.appliedTransformations < 4) {\n var n3 = this.r.getValueAtTime(t3);\n e3.rotate(-n3 * this.r.mult);\n } else if (!this.r && this.appliedTransformations < 4) {\n var o3 = this.rz.getValueAtTime(t3), h3 = this.ry.getValueAtTime(t3), l3 = this.rx.getValueAtTime(t3), p3 = this.or.getValueAtTime(t3);\n e3.rotateZ(-o3 * this.rz.mult).rotateY(h3 * this.ry.mult).rotateX(l3 * this.rx.mult).rotateZ(-p3[2] * this.or.mult).rotateY(p3[1] * this.or.mult).rotateX(p3[0] * this.or.mult);\n }\n if (this.data.p && this.data.p.s) {\n var c2 = this.px.getValueAtTime(t3), f2 = this.py.getValueAtTime(t3);\n if (this.data.p.z) {\n var u2 = this.pz.getValueAtTime(t3);\n e3.translate(c2 * this.px.mult, f2 * this.py.mult, -u2 * this.pz.mult);\n } else e3.translate(c2 * this.px.mult, f2 * this.py.mult, 0);\n } else {\n var d2 = this.p.getValueAtTime(t3);\n e3.translate(d2[0] * this.p.mult, d2[1] * this.p.mult, -d2[2] * this.p.mult);\n }\n return e3;\n }\n function s2() {\n return this.v.clone(new Matrix());\n }\n var a2 = TransformPropertyFactory.getTransformProperty;\n TransformPropertyFactory.getTransformProperty = function(t3, e3, r3) {\n var n3 = a2(t3, e3, r3);\n return n3.dynamicProperties.length ? n3.getValueAtTime = i2.bind(n3) : n3.getValueAtTime = s2.bind(n3), n3.setGroupProperty = expressionHelpers.setGroupProperty, n3;\n };\n var n2 = PropertyFactory.getProp;\n PropertyFactory.getProp = function(i3, s3, a3, o3, h3) {\n var l3 = n2(i3, s3, a3, o3, h3);\n l3.kf ? l3.getValueAtTime = expressionHelpers.getValueAtTime.bind(l3) : l3.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(l3), l3.setGroupProperty = expressionHelpers.setGroupProperty, l3.loopOut = t2, l3.loopIn = e2, l3.smooth = r2, l3.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(l3), l3.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(l3), l3.numKeys = 1 === s3.a ? s3.k.length : 0, l3.propertyIndex = s3.ix;\n var p3 = 0;\n return 0 !== a3 && (p3 = createTypedArray(\"float32\", 1 === s3.a ? s3.k[0].s.length : s3.k.length)), l3._cachingAtTime = { lastFrame: initialDefaultFrame, lastIndex: 0, value: p3 }, expressionHelpers.searchExpressions(i3, s3, l3), l3.k && h3.addDynamicProperty(l3), l3;\n };\n var o2 = ShapePropertyFactory.getConstructorFunction(), h2 = ShapePropertyFactory.getKeyframedConstructorFunction();\n function l2() {\n }\n l2.prototype = { vertices: function(t3, e3) {\n this.k && this.getValue();\n var r3, i3 = this.v;\n void 0 !== e3 && (i3 = this.getValueAtTime(e3, 0));\n var s3 = i3._length, a3 = i3[t3], n3 = i3.v, o3 = createSizedArray(s3);\n for (r3 = 0; r3 < s3; r3 += 1) o3[r3] = \"i\" === t3 || \"o\" === t3 ? [a3[r3][0] - n3[r3][0], a3[r3][1] - n3[r3][1]] : [a3[r3][0], a3[r3][1]];\n return o3;\n }, points: function(t3) {\n return this.vertices(\"v\", t3);\n }, inTangents: function(t3) {\n return this.vertices(\"i\", t3);\n }, outTangents: function(t3) {\n return this.vertices(\"o\", t3);\n }, isClosed: function() {\n return this.v.c;\n }, pointOnPath: function(t3, e3) {\n var r3 = this.v;\n void 0 !== e3 && (r3 = this.getValueAtTime(e3, 0)), this._segmentsLength || (this._segmentsLength = bez.getSegmentsLength(r3));\n for (var i3, s3 = this._segmentsLength, a3 = s3.lengths, n3 = s3.totalLength * t3, o3 = 0, h3 = a3.length, l3 = 0; o3 < h3; ) {\n if (l3 + a3[o3].addedLength > n3) {\n var p3 = o3, c2 = r3.c && o3 === h3 - 1 ? 0 : o3 + 1, f2 = (n3 - l3) / a3[o3].addedLength;\n i3 = bez.getPointInSegment(r3.v[p3], r3.v[c2], r3.o[p3], r3.i[c2], f2, a3[o3]);\n break;\n }\n l3 += a3[o3].addedLength, o3 += 1;\n }\n return i3 || (i3 = r3.c ? [r3.v[0][0], r3.v[0][1]] : [r3.v[r3._length - 1][0], r3.v[r3._length - 1][1]]), i3;\n }, vectorOnPath: function(t3, e3, r3) {\n 1 == t3 ? t3 = this.v.c : 0 == t3 && (t3 = 0.999);\n var i3 = this.pointOnPath(t3, e3), s3 = this.pointOnPath(t3 + 1e-3, e3), a3 = s3[0] - i3[0], n3 = s3[1] - i3[1], o3 = Math.sqrt(Math.pow(a3, 2) + Math.pow(n3, 2));\n return 0 === o3 ? [0, 0] : \"tangent\" === r3 ? [a3 / o3, n3 / o3] : [-n3 / o3, a3 / o3];\n }, tangentOnPath: function(t3, e3) {\n return this.vectorOnPath(t3, e3, \"tangent\");\n }, normalOnPath: function(t3, e3) {\n return this.vectorOnPath(t3, e3, \"normal\");\n }, setGroupProperty: expressionHelpers.setGroupProperty, getValueAtTime: expressionHelpers.getStaticValueAtTime }, extendPrototype([l2], o2), extendPrototype([l2], h2), h2.prototype.getValueAtTime = function(t3) {\n return this._cachingAtTime || (this._cachingAtTime = { shapeValue: shapePool.clone(this.pv), lastIndex: 0, lastTime: initialDefaultFrame }), t3 *= this.elem.globalData.frameRate, (t3 -= this.offsetTime) !== this._cachingAtTime.lastTime && (this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < t3 ? this._caching.lastIndex : 0, this._cachingAtTime.lastTime = t3, this.interpolateShape(t3, this._cachingAtTime.shapeValue, this._cachingAtTime)), this._cachingAtTime.shapeValue;\n }, h2.prototype.initiateExpression = ExpressionManager.initiateExpression;\n var p2 = ShapePropertyFactory.getShapeProp;\n ShapePropertyFactory.getShapeProp = function(t3, e3, r3, i3, s3) {\n var a3 = p2(t3, e3, r3, i3, s3);\n return a3.propertyIndex = e3.ix, a3.lock = false, 3 === r3 ? expressionHelpers.searchExpressions(t3, e3.pt, a3) : 4 === r3 && expressionHelpers.searchExpressions(t3, e3.ks, a3), a3.k && t3.addDynamicProperty(a3), a3;\n };\n }\n function initialize$1() {\n addPropertyDecorator();\n }\n function addDecorator() {\n TextProperty.prototype.getExpressionValue = function(t2, e2) {\n var r2 = this.calculateExpression(e2);\n if (t2.t !== r2) {\n var i2 = {};\n return this.copyData(i2, t2), i2.t = r2.toString(), i2.__complete = false, i2;\n }\n return t2;\n }, TextProperty.prototype.searchProperty = function() {\n var t2 = this.searchKeyframes(), e2 = this.searchExpressions();\n return this.kf = t2 || e2, this.kf;\n }, TextProperty.prototype.searchExpressions = function() {\n return this.data.d.x ? (this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this), this.addEffect(this.getExpressionValue.bind(this)), true) : null;\n };\n }\n function initialize() {\n addDecorator();\n }\n function SVGComposableEffect() {\n }\n SVGComposableEffect.prototype = { createMergeNode: function(t2, e2) {\n var r2, i2, s2 = createNS(\"feMerge\");\n for (s2.setAttribute(\"result\", t2), i2 = 0; i2 < e2.length; i2 += 1) (r2 = createNS(\"feMergeNode\")).setAttribute(\"in\", e2[i2]), s2.appendChild(r2), s2.appendChild(r2);\n return s2;\n } };\n var linearFilterValue = \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0\";\n function SVGTintFilter(t2, e2, r2, i2, s2) {\n this.filterManager = e2;\n var a2 = createNS(\"feColorMatrix\");\n a2.setAttribute(\"type\", \"matrix\"), a2.setAttribute(\"color-interpolation-filters\", \"linearRGB\"), a2.setAttribute(\"values\", linearFilterValue + \" 1 0\"), this.linearFilter = a2, a2.setAttribute(\"result\", i2 + \"_tint_1\"), t2.appendChild(a2), (a2 = createNS(\"feColorMatrix\")).setAttribute(\"type\", \"matrix\"), a2.setAttribute(\"color-interpolation-filters\", \"sRGB\"), a2.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"), a2.setAttribute(\"result\", i2 + \"_tint_2\"), t2.appendChild(a2), this.matrixFilter = a2;\n var n2 = this.createMergeNode(i2, [s2, i2 + \"_tint_1\", i2 + \"_tint_2\"]);\n t2.appendChild(n2);\n }\n function SVGFillFilter(t2, e2, r2, i2) {\n this.filterManager = e2;\n var s2 = createNS(\"feColorMatrix\");\n s2.setAttribute(\"type\", \"matrix\"), s2.setAttribute(\"color-interpolation-filters\", \"sRGB\"), s2.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"), s2.setAttribute(\"result\", i2), t2.appendChild(s2), this.matrixFilter = s2;\n }\n function SVGStrokeEffect(t2, e2, r2) {\n this.initialized = false, this.filterManager = e2, this.elem = r2, this.paths = [];\n }\n function SVGTritoneFilter(t2, e2, r2, i2) {\n this.filterManager = e2;\n var s2 = createNS(\"feColorMatrix\");\n s2.setAttribute(\"type\", \"matrix\"), s2.setAttribute(\"color-interpolation-filters\", \"linearRGB\"), s2.setAttribute(\"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"), t2.appendChild(s2);\n var a2 = createNS(\"feComponentTransfer\");\n a2.setAttribute(\"color-interpolation-filters\", \"sRGB\"), a2.setAttribute(\"result\", i2), this.matrixFilter = a2;\n var n2 = createNS(\"feFuncR\");\n n2.setAttribute(\"type\", \"table\"), a2.appendChild(n2), this.feFuncR = n2;\n var o2 = createNS(\"feFuncG\");\n o2.setAttribute(\"type\", \"table\"), a2.appendChild(o2), this.feFuncG = o2;\n var h2 = createNS(\"feFuncB\");\n h2.setAttribute(\"type\", \"table\"), a2.appendChild(h2), this.feFuncB = h2, t2.appendChild(a2);\n }\n function SVGProLevelsFilter(t2, e2, r2, i2) {\n this.filterManager = e2;\n var s2 = this.filterManager.effectElements, a2 = createNS(\"feComponentTransfer\");\n (s2[10].p.k || 0 !== s2[10].p.v || s2[11].p.k || 1 !== s2[11].p.v || s2[12].p.k || 1 !== s2[12].p.v || s2[13].p.k || 0 !== s2[13].p.v || s2[14].p.k || 1 !== s2[14].p.v) && (this.feFuncR = this.createFeFunc(\"feFuncR\", a2)), (s2[17].p.k || 0 !== s2[17].p.v || s2[18].p.k || 1 !== s2[18].p.v || s2[19].p.k || 1 !== s2[19].p.v || s2[20].p.k || 0 !== s2[20].p.v || s2[21].p.k || 1 !== s2[21].p.v) && (this.feFuncG = this.createFeFunc(\"feFuncG\", a2)), (s2[24].p.k || 0 !== s2[24].p.v || s2[25].p.k || 1 !== s2[25].p.v || s2[26].p.k || 1 !== s2[26].p.v || s2[27].p.k || 0 !== s2[27].p.v || s2[28].p.k || 1 !== s2[28].p.v) && (this.feFuncB = this.createFeFunc(\"feFuncB\", a2)), (s2[31].p.k || 0 !== s2[31].p.v || s2[32].p.k || 1 !== s2[32].p.v || s2[33].p.k || 1 !== s2[33].p.v || s2[34].p.k || 0 !== s2[34].p.v || s2[35].p.k || 1 !== s2[35].p.v) && (this.feFuncA = this.createFeFunc(\"feFuncA\", a2)), (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) && (a2.setAttribute(\"color-interpolation-filters\", \"sRGB\"), t2.appendChild(a2)), (s2[3].p.k || 0 !== s2[3].p.v || s2[4].p.k || 1 !== s2[4].p.v || s2[5].p.k || 1 !== s2[5].p.v || s2[6].p.k || 0 !== s2[6].p.v || s2[7].p.k || 1 !== s2[7].p.v) && ((a2 = createNS(\"feComponentTransfer\")).setAttribute(\"color-interpolation-filters\", \"sRGB\"), a2.setAttribute(\"result\", i2), t2.appendChild(a2), this.feFuncRComposed = this.createFeFunc(\"feFuncR\", a2), this.feFuncGComposed = this.createFeFunc(\"feFuncG\", a2), this.feFuncBComposed = this.createFeFunc(\"feFuncB\", a2));\n }\n function SVGDropShadowEffect(t2, e2, r2, i2, s2) {\n var a2 = e2.container.globalData.renderConfig.filterSize, n2 = e2.data.fs || a2;\n t2.setAttribute(\"x\", n2.x || a2.x), t2.setAttribute(\"y\", n2.y || a2.y), t2.setAttribute(\"width\", n2.width || a2.width), t2.setAttribute(\"height\", n2.height || a2.height), this.filterManager = e2;\n var o2 = createNS(\"feGaussianBlur\");\n o2.setAttribute(\"in\", \"SourceAlpha\"), o2.setAttribute(\"result\", i2 + \"_drop_shadow_1\"), o2.setAttribute(\"stdDeviation\", \"0\"), this.feGaussianBlur = o2, t2.appendChild(o2);\n var h2 = createNS(\"feOffset\");\n h2.setAttribute(\"dx\", \"25\"), h2.setAttribute(\"dy\", \"0\"), h2.setAttribute(\"in\", i2 + \"_drop_shadow_1\"), h2.setAttribute(\"result\", i2 + \"_drop_shadow_2\"), this.feOffset = h2, t2.appendChild(h2);\n var l2 = createNS(\"feFlood\");\n l2.setAttribute(\"flood-color\", \"#00ff00\"), l2.setAttribute(\"flood-opacity\", \"1\"), l2.setAttribute(\"result\", i2 + \"_drop_shadow_3\"), this.feFlood = l2, t2.appendChild(l2);\n var p2 = createNS(\"feComposite\");\n p2.setAttribute(\"in\", i2 + \"_drop_shadow_3\"), p2.setAttribute(\"in2\", i2 + \"_drop_shadow_2\"), p2.setAttribute(\"operator\", \"in\"), p2.setAttribute(\"result\", i2 + \"_drop_shadow_4\"), t2.appendChild(p2);\n var c2 = this.createMergeNode(i2, [i2 + \"_drop_shadow_4\", s2]);\n t2.appendChild(c2);\n }\n extendPrototype([SVGComposableEffect], SVGTintFilter), SVGTintFilter.prototype.renderFrame = function(t2) {\n if (t2 || this.filterManager._mdf) {\n var e2 = this.filterManager.effectElements[0].p.v, r2 = this.filterManager.effectElements[1].p.v, i2 = this.filterManager.effectElements[2].p.v / 100;\n this.linearFilter.setAttribute(\"values\", linearFilterValue + \" \" + i2 + \" 0\"), this.matrixFilter.setAttribute(\"values\", r2[0] - e2[0] + \" 0 0 0 \" + e2[0] + \" \" + (r2[1] - e2[1]) + \" 0 0 0 \" + e2[1] + \" \" + (r2[2] - e2[2]) + \" 0 0 0 \" + e2[2] + \" 0 0 0 1 0\");\n }\n }, SVGFillFilter.prototype.renderFrame = function(t2) {\n if (t2 || this.filterManager._mdf) {\n var e2 = this.filterManager.effectElements[2].p.v, r2 = this.filterManager.effectElements[6].p.v;\n this.matrixFilter.setAttribute(\"values\", \"0 0 0 0 \" + e2[0] + \" 0 0 0 0 \" + e2[1] + \" 0 0 0 0 \" + e2[2] + \" 0 0 0 \" + r2 + \" 0\");\n }\n }, SVGStrokeEffect.prototype.initialize = function() {\n var t2, e2, r2, i2, s2 = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n for (1 === this.filterManager.effectElements[1].p.v ? (i2 = this.elem.maskManager.masksProperties.length, r2 = 0) : i2 = 1 + (r2 = this.filterManager.effectElements[0].p.v - 1), (e2 = createNS(\"g\")).setAttribute(\"fill\", \"none\"), e2.setAttribute(\"stroke-linecap\", \"round\"), e2.setAttribute(\"stroke-dashoffset\", 1); r2 < i2; r2 += 1) t2 = createNS(\"path\"), e2.appendChild(t2), this.paths.push({ p: t2, m: r2 });\n if (3 === this.filterManager.effectElements[10].p.v) {\n var a2 = createNS(\"mask\"), n2 = createElementID();\n a2.setAttribute(\"id\", n2), a2.setAttribute(\"mask-type\", \"alpha\"), a2.appendChild(e2), this.elem.globalData.defs.appendChild(a2);\n var o2 = createNS(\"g\");\n for (o2.setAttribute(\"mask\", \"url(\" + getLocationHref() + \"#\" + n2 + \")\"); s2[0]; ) o2.appendChild(s2[0]);\n this.elem.layerElement.appendChild(o2), this.masker = a2, e2.setAttribute(\"stroke\", \"#fff\");\n } else if (1 === this.filterManager.effectElements[10].p.v || 2 === this.filterManager.effectElements[10].p.v) {\n if (2 === this.filterManager.effectElements[10].p.v) for (s2 = this.elem.layerElement.children || this.elem.layerElement.childNodes; s2.length; ) this.elem.layerElement.removeChild(s2[0]);\n this.elem.layerElement.appendChild(e2), this.elem.layerElement.removeAttribute(\"mask\"), e2.setAttribute(\"stroke\", \"#fff\");\n }\n this.initialized = true, this.pathMasker = e2;\n }, SVGStrokeEffect.prototype.renderFrame = function(t2) {\n var e2;\n this.initialized || this.initialize();\n var r2, i2, s2 = this.paths.length;\n for (e2 = 0; e2 < s2; e2 += 1) if (-1 !== this.paths[e2].m && (r2 = this.elem.maskManager.viewData[this.paths[e2].m], i2 = this.paths[e2].p, (t2 || this.filterManager._mdf || r2.prop._mdf) && i2.setAttribute(\"d\", r2.lastPath), t2 || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || r2.prop._mdf)) {\n var a2;\n if (0 !== this.filterManager.effectElements[7].p.v || 100 !== this.filterManager.effectElements[8].p.v) {\n var n2 = 0.01 * Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v), o2 = 0.01 * Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v), h2 = i2.getTotalLength();\n a2 = \"0 0 0 \" + h2 * n2 + \" \";\n var l2, p2 = h2 * (o2 - n2), c2 = 1 + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * 0.01, f2 = Math.floor(p2 / c2);\n for (l2 = 0; l2 < f2; l2 += 1) a2 += \"1 \" + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * 0.01 + \" \";\n a2 += \"0 \" + 10 * h2 + \" 0 0\";\n } else a2 = \"1 \" + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * 0.01;\n i2.setAttribute(\"stroke-dasharray\", a2);\n }\n if ((t2 || this.filterManager.effectElements[4].p._mdf) && this.pathMasker.setAttribute(\"stroke-width\", 2 * this.filterManager.effectElements[4].p.v), (t2 || this.filterManager.effectElements[6].p._mdf) && this.pathMasker.setAttribute(\"opacity\", this.filterManager.effectElements[6].p.v), (1 === this.filterManager.effectElements[10].p.v || 2 === this.filterManager.effectElements[10].p.v) && (t2 || this.filterManager.effectElements[3].p._mdf)) {\n var u2 = this.filterManager.effectElements[3].p.v;\n this.pathMasker.setAttribute(\"stroke\", \"rgb(\" + bmFloor(255 * u2[0]) + \",\" + bmFloor(255 * u2[1]) + \",\" + bmFloor(255 * u2[2]) + \")\");\n }\n }, SVGTritoneFilter.prototype.renderFrame = function(t2) {\n if (t2 || this.filterManager._mdf) {\n var e2 = this.filterManager.effectElements[0].p.v, r2 = this.filterManager.effectElements[1].p.v, i2 = this.filterManager.effectElements[2].p.v, s2 = i2[0] + \" \" + r2[0] + \" \" + e2[0], a2 = i2[1] + \" \" + r2[1] + \" \" + e2[1], n2 = i2[2] + \" \" + r2[2] + \" \" + e2[2];\n this.feFuncR.setAttribute(\"tableValues\", s2), this.feFuncG.setAttribute(\"tableValues\", a2), this.feFuncB.setAttribute(\"tableValues\", n2);\n }\n }, SVGProLevelsFilter.prototype.createFeFunc = function(t2, e2) {\n var r2 = createNS(t2);\n return r2.setAttribute(\"type\", \"table\"), e2.appendChild(r2), r2;\n }, SVGProLevelsFilter.prototype.getTableValue = function(t2, e2, r2, i2, s2) {\n for (var a2, n2, o2 = 0, h2 = Math.min(t2, e2), l2 = Math.max(t2, e2), p2 = Array.call(null, { length: 256 }), c2 = 0, f2 = s2 - i2, u2 = e2 - t2; o2 <= 256; ) n2 = (a2 = o2 / 256) <= h2 ? u2 < 0 ? s2 : i2 : a2 >= l2 ? u2 < 0 ? i2 : s2 : i2 + f2 * Math.pow((a2 - t2) / u2, 1 / r2), p2[c2] = n2, c2 += 1, o2 += 256 / 255;\n return p2.join(\" \");\n }, SVGProLevelsFilter.prototype.renderFrame = function(t2) {\n if (t2 || this.filterManager._mdf) {\n var e2, r2 = this.filterManager.effectElements;\n this.feFuncRComposed && (t2 || r2[3].p._mdf || r2[4].p._mdf || r2[5].p._mdf || r2[6].p._mdf || r2[7].p._mdf) && (e2 = this.getTableValue(r2[3].p.v, r2[4].p.v, r2[5].p.v, r2[6].p.v, r2[7].p.v), this.feFuncRComposed.setAttribute(\"tableValues\", e2), this.feFuncGComposed.setAttribute(\"tableValues\", e2), this.feFuncBComposed.setAttribute(\"tableValues\", e2)), this.feFuncR && (t2 || r2[10].p._mdf || r2[11].p._mdf || r2[12].p._mdf || r2[13].p._mdf || r2[14].p._mdf) && (e2 = this.getTableValue(r2[10].p.v, r2[11].p.v, r2[12].p.v, r2[13].p.v, r2[14].p.v), this.feFuncR.setAttribute(\"tableValues\", e2)), this.feFuncG && (t2 || r2[17].p._mdf || r2[18].p._mdf || r2[19].p._mdf || r2[20].p._mdf || r2[21].p._mdf) && (e2 = this.getTableValue(r2[17].p.v, r2[18].p.v, r2[19].p.v, r2[20].p.v, r2[21].p.v), this.feFuncG.setAttribute(\"tableValues\", e2)), this.feFuncB && (t2 || r2[24].p._mdf || r2[25].p._mdf || r2[26].p._mdf || r2[27].p._mdf || r2[28].p._mdf) && (e2 = this.getTableValue(r2[24].p.v, r2[25].p.v, r2[26].p.v, r2[27].p.v, r2[28].p.v), this.feFuncB.setAttribute(\"tableValues\", e2)), this.feFuncA && (t2 || r2[31].p._mdf || r2[32].p._mdf || r2[33].p._mdf || r2[34].p._mdf || r2[35].p._mdf) && (e2 = this.getTableValue(r2[31].p.v, r2[32].p.v, r2[33].p.v, r2[34].p.v, r2[35].p.v), this.feFuncA.setAttribute(\"tableValues\", e2));\n }\n }, extendPrototype([SVGComposableEffect], SVGDropShadowEffect), SVGDropShadowEffect.prototype.renderFrame = function(t2) {\n if (t2 || this.filterManager._mdf) {\n if ((t2 || this.filterManager.effectElements[4].p._mdf) && this.feGaussianBlur.setAttribute(\"stdDeviation\", this.filterManager.effectElements[4].p.v / 4), t2 || this.filterManager.effectElements[0].p._mdf) {\n var e2 = this.filterManager.effectElements[0].p.v;\n this.feFlood.setAttribute(\"flood-color\", rgbToHex(Math.round(255 * e2[0]), Math.round(255 * e2[1]), Math.round(255 * e2[2])));\n }\n if ((t2 || this.filterManager.effectElements[1].p._mdf) && this.feFlood.setAttribute(\"flood-opacity\", this.filterManager.effectElements[1].p.v / 255), t2 || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\n var r2 = this.filterManager.effectElements[3].p.v, i2 = (this.filterManager.effectElements[2].p.v - 90) * degToRads, s2 = r2 * Math.cos(i2), a2 = r2 * Math.sin(i2);\n this.feOffset.setAttribute(\"dx\", s2), this.feOffset.setAttribute(\"dy\", a2);\n }\n }\n };\n var _svgMatteSymbols = [];\n function SVGMatte3Effect(t2, e2, r2) {\n this.initialized = false, this.filterManager = e2, this.filterElem = t2, this.elem = r2, r2.matteElement = createNS(\"g\"), r2.matteElement.appendChild(r2.layerElement), r2.matteElement.appendChild(r2.transformedElement), r2.baseElement = r2.matteElement;\n }\n function SVGGaussianBlurEffect(t2, e2, r2, i2) {\n t2.setAttribute(\"x\", \"-100%\"), t2.setAttribute(\"y\", \"-100%\"), t2.setAttribute(\"width\", \"300%\"), t2.setAttribute(\"height\", \"300%\"), this.filterManager = e2;\n var s2 = createNS(\"feGaussianBlur\");\n s2.setAttribute(\"result\", i2), t2.appendChild(s2), this.feGaussianBlur = s2;\n }\n function TransformEffect() {\n }\n function SVGTransformEffect(t2, e2) {\n this.init(e2);\n }\n function CVTransformEffect(t2) {\n this.init(t2);\n }\n return SVGMatte3Effect.prototype.findSymbol = function(t2) {\n for (var e2 = 0, r2 = _svgMatteSymbols.length; e2 < r2; ) {\n if (_svgMatteSymbols[e2] === t2) return _svgMatteSymbols[e2];\n e2 += 1;\n }\n return null;\n }, SVGMatte3Effect.prototype.replaceInParent = function(t2, e2) {\n var r2 = t2.layerElement.parentNode;\n if (r2) {\n for (var i2, s2 = r2.children, a2 = 0, n2 = s2.length; a2 < n2 && s2[a2] !== t2.layerElement; ) a2 += 1;\n a2 <= n2 - 2 && (i2 = s2[a2 + 1]);\n var o2 = createNS(\"use\");\n o2.setAttribute(\"href\", \"#\" + e2), i2 ? r2.insertBefore(o2, i2) : r2.appendChild(o2);\n }\n }, SVGMatte3Effect.prototype.setElementAsMask = function(t2, e2) {\n if (!this.findSymbol(e2)) {\n var r2 = createElementID(), i2 = createNS(\"mask\");\n i2.setAttribute(\"id\", e2.layerId), i2.setAttribute(\"mask-type\", \"alpha\"), _svgMatteSymbols.push(e2);\n var s2 = t2.globalData.defs;\n s2.appendChild(i2);\n var a2 = createNS(\"symbol\");\n a2.setAttribute(\"id\", r2), this.replaceInParent(e2, r2), a2.appendChild(e2.layerElement), s2.appendChild(a2);\n var n2 = createNS(\"use\");\n n2.setAttribute(\"href\", \"#\" + r2), i2.appendChild(n2), e2.data.hd = false, e2.show();\n }\n t2.setMatte(e2.layerId);\n }, SVGMatte3Effect.prototype.initialize = function() {\n for (var t2 = this.filterManager.effectElements[0].p.v, e2 = this.elem.comp.elements, r2 = 0, i2 = e2.length; r2 < i2; ) e2[r2] && e2[r2].data.ind === t2 && this.setElementAsMask(this.elem, e2[r2]), r2 += 1;\n this.initialized = true;\n }, SVGMatte3Effect.prototype.renderFrame = function() {\n this.initialized || this.initialize();\n }, SVGGaussianBlurEffect.prototype.renderFrame = function(t2) {\n if (t2 || this.filterManager._mdf) {\n var e2 = 0.3 * this.filterManager.effectElements[0].p.v, r2 = this.filterManager.effectElements[1].p.v, i2 = 3 == r2 ? 0 : e2, s2 = 2 == r2 ? 0 : e2;\n this.feGaussianBlur.setAttribute(\"stdDeviation\", i2 + \" \" + s2);\n var a2 = 1 == this.filterManager.effectElements[2].p.v ? \"wrap\" : \"duplicate\";\n this.feGaussianBlur.setAttribute(\"edgeMode\", a2);\n }\n }, TransformEffect.prototype.init = function(t2) {\n this.effectsManager = t2, this.type = effectTypes.TRANSFORM_EFFECT, this.matrix = new Matrix(), this.opacity = -1, this._mdf = false, this._opMdf = false;\n }, TransformEffect.prototype.renderFrame = function(t2) {\n if (this._opMdf = false, this._mdf = false, t2 || this.effectsManager._mdf) {\n var e2 = this.effectsManager.effectElements, r2 = e2[0].p.v, i2 = e2[1].p.v, s2 = 1 === e2[2].p.v, a2 = e2[3].p.v, n2 = s2 ? a2 : e2[4].p.v, o2 = e2[5].p.v, h2 = e2[6].p.v, l2 = e2[7].p.v;\n this.matrix.reset(), this.matrix.translate(-r2[0], -r2[1], r2[2]), this.matrix.scale(0.01 * n2, 0.01 * a2, 1), this.matrix.rotate(-l2 * degToRads), this.matrix.skewFromAxis(-o2 * degToRads, (h2 + 90) * degToRads), this.matrix.translate(i2[0], i2[1], 0), this._mdf = true, this.opacity !== e2[8].p.v && (this.opacity = e2[8].p.v, this._opMdf = true);\n }\n }, extendPrototype([TransformEffect], SVGTransformEffect), extendPrototype([TransformEffect], CVTransformEffect), registerRenderer(\"canvas\", CanvasRenderer), registerRenderer(\"html\", HybridRenderer), registerRenderer(\"svg\", SVGRenderer), ShapeModifiers.registerModifier(\"tm\", TrimModifier), ShapeModifiers.registerModifier(\"pb\", PuckerAndBloatModifier), ShapeModifiers.registerModifier(\"rp\", RepeaterModifier), ShapeModifiers.registerModifier(\"rd\", RoundCornersModifier), ShapeModifiers.registerModifier(\"zz\", ZigZagModifier), ShapeModifiers.registerModifier(\"op\", OffsetPathModifier), setExpressionsPlugin(Expressions), setExpressionInterfaces(getInterface), initialize$1(), initialize(), registerEffect$1(20, SVGTintFilter, true), registerEffect$1(21, SVGFillFilter, true), registerEffect$1(22, SVGStrokeEffect, false), registerEffect$1(23, SVGTritoneFilter, true), registerEffect$1(24, SVGProLevelsFilter, true), registerEffect$1(25, SVGDropShadowEffect, true), registerEffect$1(28, SVGMatte3Effect, false), registerEffect$1(29, SVGGaussianBlurEffect, true), registerEffect$1(35, SVGTransformEffect, false), registerEffect(35, CVTransformEffect), lottie;\n }, module.exports = factory());\n})(lottie$1, lottie$1.exports);\nvar lottie2 = lottie$1.exports;\nvar _templateObject$1;\nvar styles = r$3(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral([\"\\n * {\\n box-sizing: border-box;\\n }\\n\\n :host {\\n --lottie-player-toolbar-height: 35px;\\n --lottie-player-toolbar-background-color: transparent;\\n --lottie-player-toolbar-icon-color: #999;\\n --lottie-player-toolbar-icon-hover-color: #222;\\n --lottie-player-toolbar-icon-active-color: #555;\\n --lottie-player-seeker-track-color: #ccc;\\n --lottie-player-seeker-thumb-color: rgba(0, 107, 120, 0.8);\\n --lottie-player-seeker-display: block;\\n\\n display: block;\\n width: 100%;\\n height: 100%;\\n }\\n\\n .main {\\n display: flex;\\n flex-direction: column;\\n height: 100%;\\n width: 100%;\\n }\\n\\n .animation {\\n width: 100%;\\n height: 100%;\\n display: flex;\\n }\\n .animation.controls {\\n height: calc(100% - 35px);\\n }\\n\\n .toolbar {\\n display: flex;\\n align-items: center;\\n justify-items: center;\\n background-color: var(--lottie-player-toolbar-background-color);\\n margin: 0 5px;\\n height: 35px;\\n }\\n\\n .toolbar button {\\n cursor: pointer;\\n fill: var(--lottie-player-toolbar-icon-color);\\n display: flex;\\n background: none;\\n border: 0;\\n padding: 0;\\n outline: none;\\n height: 100%;\\n }\\n\\n .toolbar button:hover {\\n fill: var(--lottie-player-toolbar-icon-hover-color);\\n }\\n\\n .toolbar button.active {\\n fill: var(--lottie-player-toolbar-icon-active-color);\\n }\\n\\n .toolbar button.active:hover {\\n fill: var(--lottie-player-toolbar-icon-hover-color);\\n }\\n\\n .toolbar button:focus {\\n outline: 1px dotted var(--lottie-player-toolbar-icon-active-color);\\n }\\n\\n .toolbar button svg {\\n }\\n\\n .toolbar button.disabled svg {\\n display: none;\\n }\\n\\n .seeker {\\n -webkit-appearance: none;\\n width: 95%;\\n outline: none;\\n background-color: var(--lottie-player-toolbar-background-color);\\n display: var(--lottie-player-seeker-display);\\n }\\n\\n .seeker::-webkit-slider-runnable-track {\\n width: 100%;\\n height: 5px;\\n cursor: pointer;\\n background: var(--lottie-player-seeker-track-color);\\n border-radius: 3px;\\n }\\n .seeker::-webkit-slider-thumb {\\n height: 15px;\\n width: 15px;\\n border-radius: 50%;\\n background: var(--lottie-player-seeker-thumb-color);\\n cursor: pointer;\\n -webkit-appearance: none;\\n margin-top: -5px;\\n }\\n .seeker:focus::-webkit-slider-runnable-track {\\n background: #999;\\n }\\n .seeker::-moz-range-track {\\n width: 100%;\\n height: 5px;\\n cursor: pointer;\\n background: var(--lottie-player-seeker-track-color);\\n border-radius: 3px;\\n }\\n .seeker::-moz-range-thumb {\\n height: 15px;\\n width: 15px;\\n border-radius: 50%;\\n background: var(--lottie-player-seeker-thumb-color);\\n cursor: pointer;\\n }\\n .seeker::-ms-track {\\n width: 100%;\\n height: 5px;\\n cursor: pointer;\\n background: transparent;\\n border-color: transparent;\\n color: transparent;\\n }\\n .seeker::-ms-fill-lower {\\n background: var(--lottie-player-seeker-track-color);\\n border-radius: 3px;\\n }\\n .seeker::-ms-fill-upper {\\n background: var(--lottie-player-seeker-track-color);\\n border-radius: 3px;\\n }\\n .seeker::-ms-thumb {\\n border: 0;\\n height: 15px;\\n width: 15px;\\n border-radius: 50%;\\n background: var(--lottie-player-seeker-thumb-color);\\n cursor: pointer;\\n }\\n .seeker:focus::-ms-fill-lower {\\n background: var(--lottie-player-seeker-track-color);\\n }\\n .seeker:focus::-ms-fill-upper {\\n background: var(--lottie-player-seeker-track-color);\\n }\\n\\n .error {\\n display: flex;\\n justify-content: center;\\n height: 100%;\\n align-items: center;\\n }\\n\"])));\nvar LOTTIE_PLAYER_VERSION = \"2.0.4\";\nvar LOTTIE_WEB_VERSION = \"^5.12.2\";\nvar _templateObject;\nvar _templateObject2;\nvar _templateObject3;\nvar _templateObject4;\nvar _templateObject5;\nvar PlayerState;\nvar PlayMode;\nvar PlayerEvents;\nfunction parseSrc(t2) {\n if (\"object\" == typeof t2) return t2;\n try {\n return JSON.parse(t2);\n } catch (e2) {\n return new URL(t2, window.location.href).toString();\n }\n}\nfunction isLottie(t2) {\n return [\"v\", \"ip\", \"op\", \"layers\", \"fr\", \"w\", \"h\"].every((e2) => Object.prototype.hasOwnProperty.call(t2, e2));\n}\nfunction fromURL(t2) {\n return _fromURL.apply(this, arguments);\n}\nfunction _fromURL() {\n return (_fromURL = _asyncToGenerator(function* (t2) {\n if (\"string\" != typeof t2) throw new Error(\"The url value must be a string\");\n var e2;\n try {\n var r2 = new URL(t2), i2 = yield fetch(r2.toString());\n e2 = yield i2.json();\n } catch (t3) {\n throw new Error(\"An error occurred while trying to load the Lottie file from URL\");\n }\n return e2;\n })).apply(this, arguments);\n}\n!function(t2) {\n t2.Destroyed = \"destroyed\", t2.Error = \"error\", t2.Frozen = \"frozen\", t2.Loading = \"loading\", t2.Paused = \"paused\", t2.Playing = \"playing\", t2.Stopped = \"stopped\";\n}(PlayerState || (PlayerState = {})), function(t2) {\n t2.Bounce = \"bounce\", t2.Normal = \"normal\";\n}(PlayMode || (PlayMode = {})), function(t2) {\n t2.Complete = \"complete\", t2.Destroyed = \"destroyed\", t2.Error = \"error\", t2.Frame = \"frame\", t2.Freeze = \"freeze\", t2.Load = \"load\", t2.Loop = \"loop\", t2.Pause = \"pause\", t2.Play = \"play\", t2.Ready = \"ready\", t2.Rendered = \"rendered\", t2.Stop = \"stop\";\n}(PlayerEvents || (PlayerEvents = {}));\nvar LottiePlayer = class extends s {\n constructor() {\n super(...arguments), this.autoplay = false, this.background = \"transparent\", this.controls = false, this.currentState = PlayerState.Loading, this.description = \"Lottie animation\", this.direction = 1, this.disableCheck = false, this.disableShadowDOM = false, this.hover = false, this.intermission = 1, this.loop = false, this.mode = PlayMode.Normal, this.preserveAspectRatio = \"xMidYMid meet\", this.renderer = \"svg\", this.speed = 1, this._io = void 0, this._counter = 1, this._onVisibilityChange = () => {\n true === document.hidden && this.currentState === PlayerState.Playing ? this.freeze() : this.currentState === PlayerState.Frozen && this.play();\n };\n }\n load(t2) {\n var e2 = this;\n return _asyncToGenerator(function* () {\n var r2 = { container: e2.container, loop: false, autoplay: false, renderer: e2.renderer, rendererSettings: Object.assign({ preserveAspectRatio: e2.preserveAspectRatio, clearCanvas: false, progressiveLoad: true, hideOnTransparent: true }, e2.viewBoxSize && { viewBoxSize: e2.viewBoxSize }) };\n try {\n var i2 = parseSrc(t2), s2 = {}, a2 = \"string\" == typeof i2 ? \"path\" : \"animationData\";\n e2._lottie && e2._lottie.destroy(), e2.webworkers && lottie$1.exports.useWebWorker(true), e2._lottie = lottie$1.exports.loadAnimation(Object.assign(Object.assign({}, r2), { [a2]: i2 })), e2._attachEventListeners(), e2.disableCheck || (\"path\" === a2 ? (s2 = yield fromURL(i2), a2 = \"animationData\") : s2 = i2, isLottie(s2) || (e2.currentState = PlayerState.Error, e2.dispatchEvent(new CustomEvent(PlayerEvents.Error))));\n } catch (t3) {\n e2.currentState = PlayerState.Error, e2.dispatchEvent(new CustomEvent(PlayerEvents.Error));\n }\n })();\n }\n getLottie() {\n return this._lottie;\n }\n getVersions() {\n return { lottieWebVersion: LOTTIE_WEB_VERSION, lottiePlayerVersion: LOTTIE_PLAYER_VERSION };\n }\n play() {\n this._lottie && (this._lottie.play(), this.currentState = PlayerState.Playing, this.dispatchEvent(new CustomEvent(PlayerEvents.Play)));\n }\n pause() {\n this._lottie && (this._lottie.pause(), this.currentState = PlayerState.Paused, this.dispatchEvent(new CustomEvent(PlayerEvents.Pause)));\n }\n stop() {\n this._lottie && (this._counter = 1, this._lottie.stop(), this.currentState = PlayerState.Stopped, this.dispatchEvent(new CustomEvent(PlayerEvents.Stop)));\n }\n destroy() {\n this._lottie && (this._lottie.destroy(), this._lottie = null, this.currentState = PlayerState.Destroyed, this.dispatchEvent(new CustomEvent(PlayerEvents.Destroyed)), this.remove());\n }\n seek(t2) {\n if (this._lottie) {\n var e2 = /^(\\d+)(%?)$/.exec(t2.toString());\n if (e2) {\n var r2 = \"%\" === e2[2] ? this._lottie.totalFrames * Number(e2[1]) / 100 : Number(e2[1]);\n this.seeker = r2, this.currentState === PlayerState.Playing ? this._lottie.goToAndPlay(r2, true) : (this._lottie.goToAndStop(r2, true), this._lottie.pause());\n }\n }\n }\n snapshot() {\n var t2 = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0];\n if (this.shadowRoot) {\n var e2 = this.shadowRoot.querySelector(\".animation svg\"), r2 = new XMLSerializer().serializeToString(e2);\n if (t2) {\n var i2 = document.createElement(\"a\");\n i2.href = \"data:image/svg+xml;charset=utf-8,\".concat(encodeURIComponent(r2)), i2.download = \"download_\".concat(this.seeker, \".svg\"), document.body.appendChild(i2), i2.click(), document.body.removeChild(i2);\n }\n return r2;\n }\n }\n setSpeed() {\n var t2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 1;\n this._lottie && this._lottie.setSpeed(t2);\n }\n setDirection(t2) {\n this._lottie && this._lottie.setDirection(t2);\n }\n setLooping(t2) {\n this._lottie && (this.loop = t2, this._lottie.loop = t2);\n }\n togglePlay() {\n return this.currentState === PlayerState.Playing ? this.pause() : this.play();\n }\n toggleLooping() {\n this.setLooping(!this.loop);\n }\n resize() {\n this._lottie && this._lottie.resize();\n }\n static get styles() {\n return styles;\n }\n disconnectedCallback() {\n this.isConnected || (this._io && (this._io.disconnect(), this._io = void 0), document.removeEventListener(\"visibilitychange\", this._onVisibilityChange), this.destroy());\n }\n render() {\n var t2 = this.controls ? \"main controls\" : \"main\", e2 = this.controls ? \"animation controls\" : \"animation\";\n return $(_templateObject || (_templateObject = _taggedTemplateLiteral([' \\n \\n ', \"\\n
    \\n \", \"\\n
    \"])), t2, this.description, e2, this.background, this.currentState === PlayerState.Error ? $(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(['
    \\u26A0\\uFE0F
    ']))) : void 0, this.controls && !this.disableShadowDOM ? this.renderControls() : void 0);\n }\n createRenderRoot() {\n return this.disableShadowDOM && (this.style.display = \"block\"), this.disableShadowDOM ? this : super.createRenderRoot();\n }\n firstUpdated() {\n \"IntersectionObserver\" in window && (this._io = new IntersectionObserver((t2) => {\n t2[0].isIntersecting ? this.currentState === PlayerState.Frozen && this.play() : this.currentState === PlayerState.Playing && this.freeze();\n }), this._io.observe(this.container)), void 0 !== document.hidden && document.addEventListener(\"visibilitychange\", this._onVisibilityChange), this.src && this.load(this.src), this.dispatchEvent(new CustomEvent(PlayerEvents.Rendered));\n }\n renderControls() {\n var t2 = this.currentState === PlayerState.Playing, e2 = this.currentState === PlayerState.Paused, r2 = this.currentState === PlayerState.Stopped;\n return $(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(['\\n \\n \\n ', '\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n '])), this.togglePlay, t2 || e2 ? \"active\" : \"\", $(t2 ? _templateObject4 || (_templateObject4 = _taggedTemplateLiteral(['\\n \\n '])) : _templateObject5 || (_templateObject5 = _taggedTemplateLiteral(['\\n \\n ']))), this.stop, r2 ? \"active\" : \"\", this.seeker, this._handleSeekChange, () => {\n this._prevState = this.currentState, this.freeze();\n }, () => {\n this._prevState === PlayerState.Playing && this.play();\n }, this.seeker, this.toggleLooping, this.loop ? \"active\" : \"\");\n }\n _handleSeekChange(t2) {\n if (this._lottie && !isNaN(t2.target.value)) {\n var e2 = t2.target.value / 100 * this._lottie.totalFrames;\n this.seek(e2);\n }\n }\n _attachEventListeners() {\n this._lottie.addEventListener(\"enterFrame\", () => {\n this.seeker = this._lottie.currentFrame / this._lottie.totalFrames * 100, this.dispatchEvent(new CustomEvent(PlayerEvents.Frame, { detail: { frame: this._lottie.currentFrame, seeker: this.seeker } }));\n }), this._lottie.addEventListener(\"complete\", () => {\n if (this.currentState === PlayerState.Playing) {\n if (!this.loop || this.count && this._counter >= this.count) {\n if (this.dispatchEvent(new CustomEvent(PlayerEvents.Complete)), this.mode !== PlayMode.Bounce) return;\n if (0 === this._lottie.currentFrame) return;\n }\n this.mode === PlayMode.Bounce ? (this.count && (this._counter += 0.5), setTimeout(() => {\n this.dispatchEvent(new CustomEvent(PlayerEvents.Loop)), this.currentState === PlayerState.Playing && (this._lottie.setDirection(-1 * this._lottie.playDirection), this._lottie.play());\n }, this.intermission)) : (this.count && (this._counter += 1), window.setTimeout(() => {\n this.dispatchEvent(new CustomEvent(PlayerEvents.Loop)), this.currentState === PlayerState.Playing && (-1 === this.direction ? (this.seek(\"99%\"), this.play()) : (this._lottie.stop(), this._lottie.play()));\n }, this.intermission));\n } else this.dispatchEvent(new CustomEvent(PlayerEvents.Complete));\n }), this._lottie.addEventListener(\"DOMLoaded\", () => {\n this.setSpeed(this.speed), this.setDirection(this.direction), this.autoplay && (-1 === this.direction && this.seek(\"100%\"), this.play()), this.dispatchEvent(new CustomEvent(PlayerEvents.Ready));\n }), this._lottie.addEventListener(\"data_ready\", () => {\n this.dispatchEvent(new CustomEvent(PlayerEvents.Load));\n }), this._lottie.addEventListener(\"data_failed\", () => {\n this.currentState = PlayerState.Error, this.dispatchEvent(new CustomEvent(PlayerEvents.Error));\n }), this.container.addEventListener(\"mouseenter\", () => {\n this.hover && this.currentState !== PlayerState.Playing && this.play();\n }), this.container.addEventListener(\"mouseleave\", () => {\n this.hover && this.currentState === PlayerState.Playing && this.stop();\n });\n }\n freeze() {\n this._lottie && (this._lottie.pause(), this.currentState = PlayerState.Frozen, this.dispatchEvent(new CustomEvent(PlayerEvents.Freeze)));\n }\n};\n__decorate([e$5({ type: Boolean })], LottiePlayer.prototype, \"autoplay\", void 0), __decorate([e$5({ type: String, reflect: true })], LottiePlayer.prototype, \"background\", void 0), __decorate([e$5({ type: Boolean })], LottiePlayer.prototype, \"controls\", void 0), __decorate([e$5({ type: Number })], LottiePlayer.prototype, \"count\", void 0), __decorate([e$5({ type: String })], LottiePlayer.prototype, \"currentState\", void 0), __decorate([e$5({ type: String })], LottiePlayer.prototype, \"description\", void 0), __decorate([e$5({ type: Number })], LottiePlayer.prototype, \"direction\", void 0), __decorate([e$5({ type: Boolean })], LottiePlayer.prototype, \"disableCheck\", void 0), __decorate([e$5({ type: Boolean })], LottiePlayer.prototype, \"disableShadowDOM\", void 0), __decorate([e$5({ type: Boolean })], LottiePlayer.prototype, \"hover\", void 0), __decorate([e$5()], LottiePlayer.prototype, \"intermission\", void 0), __decorate([e$5({ type: Boolean, reflect: true })], LottiePlayer.prototype, \"loop\", void 0), __decorate([e$5()], LottiePlayer.prototype, \"mode\", void 0), __decorate([e$5({ type: String })], LottiePlayer.prototype, \"preserveAspectRatio\", void 0), __decorate([e$5({ type: String })], LottiePlayer.prototype, \"renderer\", void 0), __decorate([e$5({ type: String })], LottiePlayer.prototype, \"viewBoxSize\", void 0), __decorate([e$5()], LottiePlayer.prototype, \"seeker\", void 0), __decorate([e$5({ type: Number })], LottiePlayer.prototype, \"speed\", void 0), __decorate([e$5({ type: String })], LottiePlayer.prototype, \"src\", void 0), __decorate([e$5({ type: Boolean })], LottiePlayer.prototype, \"webworkers\", void 0), __decorate([i(\".animation\")], LottiePlayer.prototype, \"container\", void 0), LottiePlayer = __decorate([n$1(\"lottie-player\")], LottiePlayer);\nexport {\n LottiePlayer,\n PlayMode,\n PlayerEvents,\n PlayerState,\n parseSrc\n};\n/*! Bundled license information:\n\n@lottiefiles/lottie-player/dist/lottie-player.esm.js:\n (*! *****************************************************************************\n Copyright (c) Microsoft Corporation.\n \n Permission to use, copy, modify, and/or distribute this software for any\n purpose with or without fee is hereby granted.\n \n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n PERFORMANCE OF THIS SOFTWARE.\n ***************************************************************************** *)\n (**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n (**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n (**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n*/\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n to\n} from \"./chunk.YTEMICXC.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n initializeLink\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-richtext/jb-richtext.scss?inline\nvar jb_richtext_default = i`@charset \"UTF-8\";\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nul li strong,\nol li strong, slot.small p strong, .tablewrapper table thead, .tablewrapper table strong, p strong, h4 {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\n.tablewrapper table tr.section_header td {\n font-family: var(--theme-font-regular-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-regular-weight, 400);\n}\n\n.tablewrapper .footnotes, .tablewrapper table td > .supplementary, .tablewrapper table td.subitem, p small.mini, slot.mini p, .tablewrapper table tbody tr, .tablewrapper table figcaption, .tablewrapper table, .tablewrapper .preface, slot.small-text-regular-a-tags a, p small, slot.small p, slot.small-text-regular-a-tags p, blockquote footer,\nblockquote footer p, slot.contactform p, ul li,\nol li, p, blockquote > p, h3, slot.contactform h2, h2 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh2 {\n font-size: var(--theme-typo-h2-subtitle-mobile-fontsize, 1.625rem);\n line-height: var(--theme-typo-h2-subtitle-mobile-lineheight, 2.188rem);\n}\n@media (min-width: 1281px) {\n h2 {\n font-size: var(--theme-typo-h2-subtitle-desktop-fontsize, 1.938rem);\n line-height: var(--theme-typo-h2-subtitle-desktop-lineheight, 2.625rem);\n }\n}\n\nh3, slot.contactform h2 {\n font-size: var(--theme-typo-h3-mobile-fontsize, 1.375rem);\n line-height: var(--theme-typo-h3-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n h3, slot.contactform h2 {\n font-size: var(--theme-typo-h3-desktop-fontsize, 1.625rem);\n line-height: var(--theme-typo-h3-desktop-lineheight, 2.25rem);\n }\n}\n\nh4 {\n font-size: var(--theme-typo-h4-mobile-fontsize, 1.188rem);\n line-height: var(--theme-typo-h4-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n h4 {\n font-size: var(--theme-typo-h4-desktop-fontsize, 1.375rem);\n line-height: var(--theme-typo-h4-desktop-lineheight, 2.125rem);\n }\n}\n\nul li,\nol li, p, blockquote > p {\n font-size: var(--theme-typo-p-mobile-fontsize, 1.063rem);\n line-height: var(--theme-typo-p-mobile-lineheight, 1.875rem);\n}\n@media (min-width: 1281px) {\n ul li,\n ol li, p, blockquote > p {\n font-size: var(--theme-typo-p-desktop-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-desktop-lineheight, 2.125rem);\n }\n}\n\np strong {\n font-size: var(--theme-typo-p-highlight-mobile-fontsize, 1.063rem);\n line-height: var(--theme-typo-p-highlight-mobile-lineheight, 1.875rem);\n}\n@media (min-width: 1281px) {\n p strong {\n font-size: var(--theme-typo-p-highlight-desktop-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-highlight-desktop-lineheight, 2.125rem);\n }\n}\n\n.tablewrapper table tbody tr, .tablewrapper table figcaption, .tablewrapper table, .tablewrapper .preface, slot.small-text-regular-a-tags a, p small, slot.small p, slot.small-text-regular-a-tags p, blockquote footer,\nblockquote footer p, slot.contactform p {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\n\n.tablewrapper table thead, .tablewrapper table strong {\n font-size: var(--theme-typo-p-small-highlight-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-highlight-desktop-lineheight, 1.625rem);\n}\n\n.tablewrapper .footnotes, .tablewrapper table td > .supplementary, .tablewrapper table td.subitem, p small.mini, slot.mini p {\n font-size: var(--theme-typo-p-mini-desktop-fontsize, 0.813rem);\n line-height: var(--theme-typo-p-mini-desktop-lineheight, 1.25rem);\n}\n\n.tablewrapper table tr.section_header td {\n font-size: var(--theme-typo-p-mini-highlight-desktop-fontsize, 0.813rem);\n line-height: var(--theme-typo-p-mini-highlight-desktop-lineheight, 1.25rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\nslot {\n display: block;\n}\nslot > :last-child {\n margin-block-end: var(--textarea-paragraph-margin-bottom, 0);\n}\n\nh2 {\n /* stylelint-disable */\n margin-block-start: var(--textarea-title-margin-top);\n margin-block-end: var(--textarea-title-margin-bottom, var(--spacing-lm));\n /* stylelint-enable */\n}\n* + h2 {\n margin-block-start: 51px;\n}\n\nslot.contactform {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--text-opacity, 0.8));\n}\nslot.contactform h2 {\n margin-block: 0;\n}\nslot.contactform p {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--text-opacity, 0.8));\n}\nslot.contactform p:not(:first-child) {\n margin-block-start: var(--spacing-3xs);\n}\nslot.contactform > :last-child {\n --textarea-paragraph-margin-bottom: 0;\n}\n\nh3 {\n margin-block-end: var(--spacing-2xs);\n}\n\nh4 {\n margin-block-end: var(--spacing-2xs);\n}\n\nblockquote {\n border-inline-start: 1px solid #b0aa7e;\n margin-bottom: var(--spacing-lm);\n padding-block: var(--spacing-3xs);\n padding-inline-start: var(--spacing-m);\n}\nblockquote > p {\n font-style: italic;\n margin-block-end: var(--spacing-s);\n}\nblockquote > p::before {\n content: \"\u201C\";\n}\nblockquote > p::after {\n content: \"\u201D\";\n}\nblockquote footer,\nblockquote footer p {\n margin-block-end: 0;\n}\n\np {\n margin-block-end: var(--spacing-lm);\n}\nslot.small-text-regular-a-tags p {\n margin-block-end: var(--textarea-p-margin-bottom, 20px);\n}\nslot.small p strong {\n font-size: 1rem;\n line-height: 1.625rem;\n}\np.text-center {\n text-align: center;\n}\np.text-right {\n text-align: end;\n}\n\nul,\nol {\n margin-block-end: 30px;\n margin-inline-start: 16px;\n padding-inline-start: 20px;\n}\n@media (min-width: 960px) {\n ul,\n ol {\n margin-inline-start: 24px;\n }\n}\n@media (min-width: 1281px) {\n ul,\n ol {\n margin-block-end: 51px;\n }\n}\nul:last-child,\nol:last-child {\n margin-block-end: 0;\n}\nul {\n list-style-type: disc;\n}\n\n:is(p, ul, ol) + :is(ul, ol) {\n margin-block-start: calc(-1 * (var(--spacing-lm) - var(--spacing-3xs)));\n}\n\na {\n box-shadow: inset 0 -1px 0 0 RGBA(var(--rgb-primary, 20, 30, 85), var(--theme-opacity-30, 0.3));\n padding-bottom: 0.15em;\n text-decoration: none;\n transition: box-shadow 0.2s;\n}\na:hover {\n box-shadow: inset 0 -1px 0 0 RGB(var(--rgb-primary, 20, 30, 85));\n}\nslot.small-text-regular-a-tags a {\n padding-block-end: 0;\n}\n\nhr {\n border: 0;\n border-block-end: rgb(var(--rgb-primary, 20, 30, 85)) solid 1px;\n}\n\nmark {\n background-color: rgba(var(--rgb-primary, 20, 30, 85), var(--theme-opacity-10, 0.1));\n}\n\n.tablewrapper {\n margin-block-end: 28px;\n}\n@media (min-width: 1281px) {\n .tablewrapper {\n margin-block-end: var(--spacing-lm, 36px);\n }\n}\n.tablewrapper::-webkit-scrollbar {\n background-color: #141e55;\n block-size: 5px;\n inline-size: 5px;\n}\n.tablewrapper::-webkit-scrollbar-track {\n background-clip: content-box;\n background-color: #f1f2f2;\n}\n.tablewrapper::-webkit-scrollbar-thumb {\n background-color: #141e55;\n border-radius: var(--spacing-base);\n inline-size: 180px;\n}\n.tablewrapper::-webkit-scrollbar-track-piece:start {\n background-color: transparent;\n margin-block-start: 40px;\n}\n.tablewrapper .preface {\n margin-block: 30px 16px !important;\n}\n@media (min-width: 1281px) {\n .tablewrapper .preface {\n margin-block-start: 34px;\n }\n}\n.tablewrapper table {\n border-collapse: collapse;\n inline-size: 100%;\n position: relative;\n text-align: start;\n}\n.tablewrapper table figcaption {\n text-align: center;\n}\n.tablewrapper table thead {\n border-block-end: 1px solid rgb(var(--rgb-primary, 20, 30, 85));\n}\n.tablewrapper table thead tr th {\n color: rgb(var(--rgb-primary, 20, 30, 85)) !important;\n padding: 7px 20px 7px 0;\n text-align: start;\n}\n.tablewrapper table thead tr th:last-of-type {\n padding-inline-end: 0;\n}\n.tablewrapper table tbody tr {\n border-block-end: 1px solid rgba(var(--rgb-primary, 20, 30, 85), 0.3);\n}\n.tablewrapper table tbody tr th {\n text-align: start;\n}\n.tablewrapper table tbody tr td {\n padding: 7px 34px 7px 0;\n}\n.tablewrapper table tbody tr:last-of-type {\n border-block-end: none;\n}\n.tablewrapper table tbody td {\n padding-inline-end: 20px;\n}\n.tablewrapper table tbody td sup {\n inline-size: 0;\n}\n.tablewrapper table tbody td:last-of-type {\n padding-inline-end: 0;\n}\n.tablewrapper table tr.section_header {\n border-block-end-color: rgb(var(--theme-color-royal-blue, 20 30 85)/var(--theme-opacity-40, 0.4));\n}\n.tablewrapper table tr.section_header td {\n padding-block-start: 24px;\n}\n.tablewrapper table tr.section_separator {\n border-block-end-color: rgb(var(--theme-color-royal-blue, 20 30 85));\n}\n.tablewrapper table td.subitem {\n padding-inline-start: var(--spacing-sm);\n}\n.tablewrapper table td > .supplementary {\n color: rgb(var(--theme-color-royal-blue, 20 30 85)/var(--theme-opacity-80, 0.8));\n display: block;\n}\n.tablewrapper .footnotes {\n margin-block-start: 30px;\n}\n@media (min-width: 1281px) {\n .tablewrapper .footnotes {\n margin-block-start: 34px;\n }\n}\n\nu {\n box-shadow: inset 0 -1px 0 0;\n padding-block-end: 0.15em;\n text-decoration: none;\n}\n\n@media print {\n a::after {\n content: \" (\" attr(href) \")\";\n }\n}`;\n\n// src/components/jb-richtext/jb-richtext.ts\nvar JbRichtext = class extends Initiable(Spaceable(h)) {\n async firstUpdated() {\n const firstChildElement = [...Array.from(this.childNodes)].find((node) => node.nodeType === 1);\n if (firstChildElement === void 0) {\n return;\n }\n const slot = firstChildElement.assignedSlot;\n slot.append(...Array.from(this.childNodes));\n slot.querySelectorAll(\"table\").forEach((table) => {\n const originalTable = table.cloneNode(true);\n table.replaceWith(\n this._wrapTable(\n originalTable,\n table.previousElementSibling,\n table.nextElementSibling\n )\n );\n });\n slot.querySelectorAll(\"a\").forEach((link) => {\n initializeLink(link);\n });\n }\n _getContentSpacingProperties() {\n return { grid: \"legacy\", type: \"text\" };\n }\n _wrapTable(table, preface, footnotes) {\n const tableWrapper = document.createElement(\"div\");\n tableWrapper.classList.add(\"tablewrapper\");\n if (preface?.classList.contains(\"preface\")) {\n tableWrapper.appendChild(preface);\n }\n tableWrapper.appendChild(table);\n if (footnotes?.classList.contains(\"footnotes\")) {\n tableWrapper.appendChild(footnotes);\n }\n return tableWrapper;\n }\n render() {\n return ke``;\n }\n};\nJbRichtext.styles = r(jb_richtext_default);\n__decorateClass([\n n()\n], JbRichtext.prototype, \"size\", 2);\nJbRichtext = __decorateClass([\n customElement(\"jb-richtext\")\n], JbRichtext);\n\nexport {\n JbRichtext\n};\n", "import {\n ae\n} from \"./chunk.Q25FCJRM.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-button-switch/jb-button-switch.scss?inline\nvar jb_button_switch_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.state::after, .state::before, h2 {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\njb-richtext, jb-richtext p {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh2 {\n font-size: var(--theme-typo-p-small-highlight-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-highlight-desktop-lineheight, 1.625rem);\n}\n\njb-richtext p {\n font-size: var(--theme-typo-p-mini-desktop-fontsize, 0.813rem);\n line-height: var(--theme-typo-p-mini-desktop-lineheight, 1.25rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nlabel {\n align-items: center;\n cursor: pointer;\n display: flex;\n justify-content: space-between;\n margin-block-end: 10px;\n padding-block-start: 1px;\n}\n\ndiv {\n block-size: 27px;\n border-radius: 18px;\n display: inline-block;\n inline-size: 60px;\n position: relative;\n}\n\ninput {\n inset-block-start: 0;\n inset-inline-start: 0;\n opacity: 0;\n position: absolute;\n}\ninput:checked ~ .state {\n background-color: #b0aa7e;\n}\ninput:checked ~ .state::before {\n opacity: 0;\n}\ninput:checked ~ .state::after {\n opacity: 1;\n}\ninput:checked ~ .handle {\n background: #fff;\n box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.2);\n inset-inline-start: 32px;\n}\ninput:disabled ~ .state {\n opacity: 0.5;\n}\ninput:disabled ~ .handle {\n opacity: 0.75;\n}\n\n.state {\n background: rgba(255, 255, 255, 0.4);\n block-size: inherit;\n border-radius: inherit;\n display: block;\n font-size: 0.625rem;\n position: relative;\n text-transform: uppercase;\n}\n.state::before {\n color: #141e55;\n content: attr(data-off);\n font-size: 0.688rem;\n inset-inline-end: 7px;\n line-height: 0.75rem;\n text-transform: uppercase;\n}\n.state::after {\n color: #141e55;\n content: attr(data-on);\n font-size: 0.688rem;\n inset-inline-start: 7px;\n line-height: 0.75rem;\n opacity: 0;\n text-transform: uppercase;\n}\n.state::before, .state::after {\n inset-block-start: 50%;\n line-height: 1;\n position: absolute;\n transform: translateY(-49%);\n transition: inherit;\n}\n\n.handle {\n background-color: #fff;\n block-size: 27px;\n border: 1px solid rgba(0, 0, 0, 0.1);\n border-radius: 100%;\n box-shadow: 0 3px 3px rgba(0, 0, 0, 0.05), 0 2px 2px rgba(0, 0, 0, 0.1), 0 3px 1px rgba(0, 0, 0, 0.05);\n inline-size: 28px;\n inset-block-start: 0;\n inset-inline-start: 0;\n position: absolute;\n}\n\n.state,\n.handle {\n transition: all 0.2s ease-in-out;\n}\n\nh2 {\n color: #fff;\n margin: 0;\n}\n\njb-richtext {\n color: rgba(255, 255, 255, 0.7);\n}`;\n\n// src/components/jb-button-switch/jb-button-switch.ts\nvar JbButtonSwitch = class extends Initiable(h) {\n async firstUpdated() {\n this.setAttributes();\n const event = new CustomEvent(\"button-switch:initialized\", {\n detail: { buttonSwitch: this },\n bubbles: true\n });\n this.dispatchEvent(event);\n }\n setAttributes() {\n if (this.name) {\n this._checkbox.setAttribute(\"name\", this.name);\n }\n if (this.initialState) {\n this._checkbox.setAttribute(\"checked\", \"checked\");\n }\n if (this.forceState) {\n this._checkbox.setAttribute(\"disabled\", \"disabled\");\n }\n }\n setState(state) {\n if (state) {\n this._checkbox.setAttribute(\"checked\", \"checked\");\n } else {\n this._checkbox.removeAttribute(\"checked\");\n }\n }\n _change(e2) {\n if (!this.name) {\n return;\n }\n const { checked } = e2.target;\n const event = new CustomEvent(\"button-switch:changed\", {\n detail: { name: this.name, checked },\n bubbles: true\n });\n this.dispatchEvent(event);\n }\n render() {\n return ke`\n
    \n \n ${this.description ? ke`${ae(this.description)}` : D}\n
    \n `;\n }\n};\nJbButtonSwitch.styles = r(jb_button_switch_default);\n__decorateClass([\n n()\n], JbButtonSwitch.prototype, \"description\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbButtonSwitch.prototype, \"forceState\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbButtonSwitch.prototype, \"initialState\", 2);\n__decorateClass([\n n()\n], JbButtonSwitch.prototype, \"label\", 2);\n__decorateClass([\n n()\n], JbButtonSwitch.prototype, \"name\", 2);\n__decorateClass([\n n()\n], JbButtonSwitch.prototype, \"offText\", 2);\n__decorateClass([\n n()\n], JbButtonSwitch.prototype, \"onText\", 2);\n__decorateClass([\n e(\"input\")\n], JbButtonSwitch.prototype, \"_checkbox\", 2);\nJbButtonSwitch = __decorateClass([\n customElement(\"jb-button-switch\")\n], JbButtonSwitch);\n\nexport {\n JbButtonSwitch\n};\n", "import {\n JbRichtext\n} from \"./chunk.MRDK22UH.js\";\nimport {\n JbButtonSwitch\n} from \"./chunk.76WY2E6U.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n JBCookie\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-cookie-settings/jb-cookie-settings.scss?inline\nvar jb_cookie_settings_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nh4 {\n font-family: var(--theme-font-regular-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-regular-weight, 400);\n}\n\nh2 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh2 {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.313rem;\n line-height: 2.125rem;\n}\n@media (min-width: 1281px) {\n h2 {\n font-size: 1.5rem;\n line-height: 2.25rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\nsection {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: 100%;\n justify-content: center;\n}\n\n.container {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 0;\n width: 100%;\n background-color: var(--background-color, #141e55);\n padding: 60px 20px;\n position: relative;\n}\n@media (min-width: 960px) {\n .container {\n padding: 70px 98px;\n }\n}\n\nh2 {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 0;\n width: 100%;\n color: #fff;\n margin-bottom: 10px;\n}\n\nslot[name=introduction]::slotted(jb-richtext) {\n color: rgba(255, 255, 255, var(--theme-opacity-80, 0.8));\n --rgb-primary: 255, 255, 255;\n --text-opacity: 1;\n}\n\n.options {\n margin-bottom: 30px;\n padding-top: 30px;\n}\n@media (min-width: 1281px) {\n .options {\n column-gap: 40px;\n columns: 2;\n }\n}\n\nslot[name=options]::slotted(jb-button-switch) {\n break-inside: avoid;\n color: rgba(255, 255, 255, var(--theme-opacity-70, 0.7));\n display: block;\n margin-bottom: 30px;\n --rgb-primary: 255, 255, 255;\n --text-opacity: 1;\n}\n\n.additional-text {\n break-inside: avoid;\n margin-top: -10px;\n}\n\nh4 {\n font-size: 16px;\n font-size: 1rem;\n line-height: 26px;\n line-height: 1.625rem;\n color: #fff;\n margin-bottom: 10px;\n}\n\nslot[name=additionalText]::slotted(jb-richtext) {\n color: RGBA(255, 255, 255, 0.7);\n --rgb-primary: 255, 255, 255;\n --text-opacity: 1;\n}\n\njb-button-panel {\n padding-bottom: 5px;\n --rgb-primary: 255, 255, 255;\n}\n\njb-close-icon {\n position: absolute;\n right: 22px;\n top: 20px;\n --icon-size: 26px;\n --rgb-primary: 255, 255, 255;\n}\n@media (min-width: 960px) {\n jb-close-icon {\n right: 45px;\n top: 40px;\n --icon-size: 30px;\n }\n}\n\njb-button,\njb-button-primary,\njb-button-secondary,\njb-button-tertiary {\n width: 100%;\n}\n@media (min-width: 960px) {\n jb-button,\n jb-button-primary,\n jb-button-secondary,\n jb-button-tertiary {\n margin-bottom: 0;\n width: auto;\n }\n}`;\n\n// src/components/jb-cookie-settings/jb-cookie-settings.ts\nvar JbCookieSettings = class extends Initiable(h) {\n constructor() {\n super(...arguments);\n this._newCookieSettings = /* @__PURE__ */ new Map();\n }\n static create(data) {\n const childNodes = [];\n childNodes.push(\n new JbRichtext().init({\n innerHTML: data.introduction.content,\n props: { ...data.introduction, size: \"small\" },\n attributes: { slot: \"introduction\" }\n })\n );\n childNodes.push(\n ...data.options.map(\n (option) => new JbButtonSwitch().init({\n props: option,\n attributes: { slot: \"options\" }\n })\n )\n );\n if (data.additionalText) {\n childNodes.push(\n new JbRichtext().init({\n innerHTML: data.additionalText.content,\n props: { ...data.additionalText, size: \"mini\" },\n attributes: { slot: \"additionalText\" }\n })\n );\n }\n return new JbCookieSettings().init({ props: data, childNodes });\n }\n acceptAll() {\n this.addEventListener(\"button-switch:initialized\", (event) => {\n this._forceSetting(event, true);\n this._save();\n });\n document.body.append(this);\n this.parentElement?.removeChild(this);\n }\n setConsentFor(optionNames) {\n this.addEventListener(\"button-switch:initialized\", (event) => {\n const buttonSwitch = event.detail.buttonSwitch;\n if (!buttonSwitch.name) {\n return;\n }\n if (optionNames.includes(buttonSwitch.name)) {\n this._forceSetting(event, true);\n }\n });\n document.querySelector(\"body\")?.append(this);\n this.parentElement?.removeChild(this);\n window.setTimeout(() => {\n this._save();\n }, 0);\n }\n _buttonClicked(e) {\n e.stopPropagation();\n e.detail.clickEvent.preventDefault();\n if (e.detail.name === \"save\") {\n this._save();\n JBCookie.setCookie(\"hide_cookie_banner\", \"1\");\n JBCookie.setCookie(\"show_cookie_banner\", \"0\");\n JBCookie.setCookie(\"cookie_banner_suppressed\", \"0\");\n this.dispatchEvent(new CustomEvent(\"jb-popup:close-stack\", { bubbles: true, composed: true }));\n } else {\n this.dispatchEvent(new CustomEvent(\"jb-popup:close\", { bubbles: true, composed: true }));\n }\n }\n _forceSetting(e, state) {\n const { name } = e.detail.buttonSwitch;\n e.detail.buttonSwitch.setState(state);\n this._newCookieSettings.set(name, state);\n }\n _handleCloseIconClick() {\n this.dispatchEvent(new CustomEvent(\"jb-popup:close\", { bubbles: true, composed: true }));\n }\n static _initializeSetting(e) {\n const { name } = e.detail.buttonSwitch;\n const value = JBCookie.getCookie(name);\n if (value) {\n e.detail.buttonSwitch.setState(true);\n }\n }\n _save() {\n this._newCookieSettings.forEach((value, key) => {\n if (value) {\n JBCookie.setCookie(key, \"1\");\n } else {\n JBCookie.deleteCookie(key);\n }\n });\n document.body.dispatchEvent(\n new CustomEvent(\"jb-cookie-settings:update\", {\n bubbles: true,\n composed: true,\n detail: { updatedCookieSettings: this._newCookieSettings }\n })\n );\n this._newCookieSettings = /* @__PURE__ */ new Map();\n }\n _settingChanged(e) {\n e.stopPropagation();\n this._newCookieSettings.set(e.detail.name, e.detail.checked);\n }\n render() {\n return ke`\n
    \n
    \n \n

    ${this.headline}

    \n \n
    \n \n
    \n ${this.additionalHeadline ? ke`

    ${this.additionalHeadline}

    ` : D}\n \n
    \n
    \n \n \n ${this.cancelButtonText}\n \n \n ${this.saveButtonText}\n \n \n
    \n
    \n `;\n }\n};\nJbCookieSettings.styles = r(jb_cookie_settings_default);\n__decorateClass([\n n()\n], JbCookieSettings.prototype, \"additionalHeadline\", 2);\n__decorateClass([\n n()\n], JbCookieSettings.prototype, \"cancelButtonText\", 2);\n__decorateClass([\n n()\n], JbCookieSettings.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbCookieSettings.prototype, \"saveButtonText\", 2);\nJbCookieSettings = __decorateClass([\n customElement(\"jb-cookie-settings\")\n], JbCookieSettings);\n\nexport {\n JbCookieSettings\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-close-icon/jb-close-icon.scss?inline\nvar jb_close_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nsvg {\n cursor: pointer;\n display: inline-block;\n fill: rgb(var(--rgb-primary, 20, 30, 85));\n height: var(--icon-size, 29px);\n transform: scale(1);\n transition: transform 0.3s linear;\n width: var(--icon-size, 30px);\n}\nsvg:hover {\n transform: scale3d(0.8, 0.8, 1);\n transition: transform 0.3s linear;\n}`;\n\n// src/components/icons/jb-close-icon/jb-close-icon.ts\nvar JbCloseIcon = class extends h {\n render() {\n return ke`\n \n \n \n \n
    \n \n \n \n \n `;\n }\n};\nJbCloseIcon.styles = r(jb_close_icon_default);\nJbCloseIcon = __decorateClass([\n customElement(\"jb-close-icon\")\n], JbCloseIcon);\n\nexport {\n JbCloseIcon\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-button-panel/jb-button-panel.scss?inline\nvar jb_button_panel_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\ndiv {\n align-items: center;\n display: flex;\n flex: var(--flex, 0 1 auto);\n flex-wrap: var(--panel-wrap, wrap);\n gap: var(--panel-gap, var(--spacing-s));\n white-space: var(--white-space, nowrap);\n}\ndiv.left-aligned {\n justify-content: flex-start;\n}\ndiv.right-aligned {\n justify-content: flex-end;\n}\ndiv.center-aligned {\n justify-content: center;\n}`;\n\n// src/components/jb-button-panel/jb-button-panel.ts\nvar JbButtonPanel = class extends h {\n constructor() {\n super(...arguments);\n this.align = \"left\";\n }\n render() {\n this.align = this.align || \"left\";\n return ke`
    \n \n
    `;\n }\n};\nJbButtonPanel.styles = r(jb_button_panel_default);\n__decorateClass([\n n()\n], JbButtonPanel.prototype, \"align\", 2);\nJbButtonPanel = __decorateClass([\n customElement(\"jb-button-panel\")\n], JbButtonPanel);\n\nexport {\n JbButtonPanel\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n Linkable\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-button/jb-button.scss?inline\nvar jb_button_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\ndiv.tertiary a,\ndiv.tertiary button, div.primary a,\ndiv.primary button, div.secondary a,\ndiv.secondary button {\n font-family: var(--theme-font-black-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-black-weight, 900);\n}\n\ndiv.tertiary a,\ndiv.tertiary button, div.primary a,\ndiv.primary button, div.secondary a,\ndiv.secondary button {\n font-size: var(--theme-typo-uppercase-900-fontsize, 0.688rem);\n letter-spacing: var(--theme-typo-uppercase-900-letterspacing, 0.125rem);\n line-height: var(--theme-typo-uppercase-900-lineheight, 1rem);\n text-transform: uppercase;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\ndiv {\n cursor: pointer;\n display: inline-block;\n position: relative;\n user-select: none;\n}\n\ndiv.secondary {\n margin: var(--button-secondary-margin, 0);\n}\ndiv.secondary a,\ndiv.secondary button {\n background-color: transparent;\n border: none;\n color: var(--stroke-color, rgb(var(--rgb-primary, 20, 30, 85)));\n display: inline-flex;\n padding: var(--button-padding, 10px 16px);\n text-decoration: none;\n transition: padding 0.3s ease-out 0s;\n}\ndiv.secondary::before {\n border-left: var(--border-width, 1px) solid var(--stroke-color, rgb(var(--rgb-primary, 20, 30, 85)));\n bottom: 0;\n content: \"\";\n height: 66%;\n left: 0;\n position: absolute;\n transition: height 0.2s ease-out 0.1s;\n width: var(--border-width, 1px);\n}\ndiv.secondary::after {\n border-bottom: var(--border-width, 1px) solid var(--stroke-color, rgb(var(--rgb-primary, 20, 30, 85)));\n bottom: 0;\n content: \"\";\n height: var(--border-width, 1px);\n left: 0;\n position: absolute;\n transition: width 0.3s ease-out 0s;\n width: 50%;\n}\ndiv.secondary.forcehover::before, div.secondary:hover::before {\n height: 0;\n}\ndiv.secondary.forcehover::after, div.secondary:hover::after {\n width: calc(100% + 3px);\n}\n@media all and (-ms-high-contrast: none) {\n div.secondary.forcehover::after, div.secondary:hover::after {\n width: 100%;\n }\n}\n@supports (-ms-ime-align: auto) {\n div.secondary.forcehover::after, div.secondary:hover::after {\n width: 100%;\n }\n}\ndiv.secondary.forcehover a,\ndiv.secondary.forcehover button, div.secondary:hover a,\ndiv.secondary:hover button {\n padding-left: var(--hover-padding-left, 36px);\n padding-right: 0;\n}\ndiv.secondary.disabled {\n opacity: 0.5;\n pointer-events: none;\n}\ndiv.secondary.disabled::before, div.secondary.disabled::after {\n opacity: 0.5;\n}\ndiv.secondary.white a,\ndiv.secondary.white button {\n background-color: transparent;\n color: var(--stroke-color, #fff);\n}\ndiv.secondary.white::before {\n border-left: var(--border-width, 1px) solid var(--stroke-color, #fff);\n}\ndiv.secondary.white::after {\n border-bottom: var(--border-width, 1px) solid var(--stroke-color, #fff);\n}\n\ndiv.primary a,\ndiv.primary button {\n border: none;\n color: var(--stroke-color, #fff);\n display: inline-flex;\n padding: 12px 18px;\n text-decoration: none;\n}\ndiv.primary a:hover::before,\ndiv.primary button:hover::before {\n transform: scale(1.03, 1.1);\n}\ndiv.primary a::before,\ndiv.primary button::before {\n background: rgb(var(--rgb-primary, 20, 30, 85));\n content: \"\";\n inset: 0;\n position: absolute;\n transition: transform 0.6s ease-in-out;\n z-index: 1;\n}\ndiv.primary a > span,\ndiv.primary button > span {\n position: relative;\n z-index: 2;\n}\ndiv.primary.white a,\ndiv.primary.white button {\n color: var(--stroke-color, rgb(var(--rgb-primary, 20, 30, 85)));\n}\ndiv.primary.white a::before,\ndiv.primary.white button::before {\n background: #fff;\n}\n\ndiv.tertiary a,\ndiv.tertiary button {\n align-items: center;\n background-color: transparent;\n border: none;\n color: var(--stroke-color, rgb(var(--rgb-primary, 20, 30, 85)));\n display: inline-flex;\n padding: 10px 0;\n text-decoration: none;\n transition: padding 0.3s ease-out 0s;\n}\ndiv.tertiary svg {\n flex-basis: 19px;\n flex-shrink: 0;\n position: relative;\n top: 5px;\n transition: transform 0.3s ease-out 0s;\n}\ndiv.tertiary.arrowright.forcehover svg, div.tertiary.arrowright:hover svg {\n transform: translateX(8px);\n}\ndiv.tertiary.arrowup svg {\n transform: rotate(-90deg);\n}\ndiv.tertiary.arrowup.forcehover svg, div.tertiary.arrowup:hover svg {\n transform: translateY(-3px) rotate(-90deg);\n}\ndiv.tertiary.arrowdown svg {\n transform: rotate(90deg);\n}\ndiv.tertiary.arrowdown.forcehover svg, div.tertiary.arrowdown:hover svg {\n transform: translateY(3px) rotate(90deg);\n}\ndiv.tertiary.white a,\ndiv.tertiary.white button {\n background-color: transparent;\n color: var(--stroke-color, #fff);\n}\ndiv.tertiary.white path,\ndiv.tertiary.white rect {\n fill: var(--stroke-color, #fff);\n}\ndiv.tertiary p {\n transition: padding 0.3s ease-out 0s;\n}\n\ndiv.fullwidth {\n text-align: center;\n width: 100%;\n}\n\njb-mail-icon,\njb-print-icon {\n margin-right: 10px;\n}\n\njb-mail-icon {\n transform: var(--translate-y, translateY(2px));\n}\n\njb-print-icon {\n max-width: 22px;\n}\n\njb-play-pause-button {\n display: inline-block;\n margin-right: 12px;\n vertical-align: bottom;\n --border-width: 1px;\n --icon-size: 14px;\n --icon-size-lg: var(--icon-size);\n --size: 36px;\n --size-lg: var(--size);\n}`;\n\n// src/components/jb-button/jb-button.ts\nvar JbButton = class extends Initiable(Linkable(h)) {\n _click(clickEvent) {\n if (!this.name || this.disabled) {\n return;\n }\n this.dispatchEvent(\n new CustomEvent(\"jb-button:clicked\", {\n detail: { name: this.name, clickEvent },\n bubbles: true,\n composed: true\n })\n );\n }\n render() {\n const tertiaryArrow = ke`\n \n \n \n \n \n \n \n \n \n `;\n return ke`\n ${this.icon === \"video\" ? ke`` : D}\n \n \n ${this.icon === \"mail\" ? ke`` : D}\n ${this.icon === \"print\" ? ke`` : D}\n ${this.text} ${this.variant === \"tertiary\" ? tertiaryArrow : D}\n \n \n `;\n }\n};\nJbButton.styles = r(jb_button_default);\n__decorateClass([\n n({ type: Boolean })\n], JbButton.prototype, \"disabled\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbButton.prototype, \"forceHover\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbButton.prototype, \"fullWidth\", 2);\n__decorateClass([\n n()\n], JbButton.prototype, \"icon\", 2);\n__decorateClass([\n n()\n], JbButton.prototype, \"name\", 2);\n__decorateClass([\n n()\n], JbButton.prototype, \"tertiaryArrowDirection\", 2);\n__decorateClass([\n n()\n], JbButton.prototype, \"text\", 2);\n__decorateClass([\n n()\n], JbButton.prototype, \"variant\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbButton.prototype, \"white\", 2);\nJbButton = __decorateClass([\n customElement(\"jb-button\")\n], JbButton);\n\nexport {\n JbButton\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n Oe,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-video-icon/jb-video-icon.scss?inline\nvar jb_video_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nsvg {\n fill: var(--stroke-color, rgba(20, 30, 85, var(--theme-opacity-20, 0.2)));\n stroke: var(--stroke-color, rgba(20, 30, 85, var(--theme-opacity-20, 0.2)));\n}\nsvg circle {\n fill: transparent;\n}`;\n\n// src/components/icons/jb-video-icon/jb-video-icon.ts\nvar JbVideoIcon = class extends h {\n constructor() {\n super(...arguments);\n this.circle = Oe``;\n this.withCircle = false;\n }\n render() {\n return ke` \n ${this.withCircle ? this.circle : D}\n \n `;\n }\n};\nJbVideoIcon.styles = r(jb_video_icon_default);\n__decorateClass([\n n({ type: Boolean })\n], JbVideoIcon.prototype, \"withCircle\", 2);\nJbVideoIcon = __decorateClass([\n customElement(\"jb-video-icon\")\n], JbVideoIcon);\n\nexport {\n JbVideoIcon\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-print-icon/jb-print-icon.scss?inline\nvar jb_print_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: inline-block;\n height: var(--icon-size, 18px);\n width: var(--icon-size, 18px);\n}\n\nsvg {\n fill: var(--icon-color, rgb(var(--rgb-primary, 20, 30, 85)));\n height: var(--icon-height, 18px);\n transition: var(--icon-transition, none);\n width: var(--icon-width, 18px);\n}`;\n\n// src/components/icons/jb-print-icon/jb-print-icon.ts\nvar JbPrintIcon = class extends h {\n render() {\n return ke`\n \n \n \n `;\n }\n};\nJbPrintIcon.styles = r(jb_print_icon_default);\nJbPrintIcon = __decorateClass([\n customElement(\"jb-print-icon\")\n], JbPrintIcon);\n\nexport {\n JbPrintIcon\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n Linkable\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n ButtonElement\n} from \"./chunk.7PRSKJZQ.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-button-secondary/jb-button-secondary.scss?inline\nvar jb_button_secondary_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\na,\nbutton {\n font-family: var(--theme-font-black-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-black-weight, 900);\n}\n\na,\nbutton {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.125rem;\n line-height: 1rem;\n text-decoration: none;\n text-transform: uppercase;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host,\n::before,\n::after {\n display: inline-block;\n inline-size: var(--button-width, initial);\n --_button-border-color: 20 30 85 / 1;\n --_button-transition-duration: 2s;\n --_button-transition-easing: cubic-bezier(0.16, 1, 0.3, 1);\n --_button-bottom-border-width: 1px;\n --_button-bottom-border-spacing: 1px;\n --_button-text-color: 20, 30, 85;\n --_icon-color: var(--button-text-color);\n}\n\n::slotted(*) {\n margin-inline-end: 0.5rem;\n}\n\na,\nbutton {\n align-items: center;\n background-color: transparent;\n border: var(--_button-bottom-border-width) solid rgb(var(--button-border-color, var(--_button-border-color)));\n color: rgba(var(--_button-text-color), 1);\n cursor: pointer;\n display: flex;\n inline-size: 100%;\n justify-content: center;\n padding: var(--_button-padding, 11px 32px);\n position: relative;\n text-align: center;\n user-select: none;\n}\na::before,\nbutton::before {\n background-color: rgb(var(--button-border-color, var(--_button-border-color)));\n block-size: var(--_button-bottom-border-width);\n content: \"\";\n display: block;\n inline-size: calc(100% + 2px);\n inset-block-end: var(--_button-bottom-border-spacing);\n inset-inline-start: -1px;\n position: absolute;\n transform: scaleX(0);\n transform-origin: left;\n transition: transform var(--_button-transition-duration) var(--_button-transition-easing);\n}\na.hover::before, a:hover::before,\nbutton.hover::before,\nbutton:hover::before {\n transform: scaleX(1);\n}\na:active,\nbutton:active {\n transform: scale(0.99);\n}\n\n.inverted,\n.inverted::before {\n --_button-border-color: 255 255 255 / 1;\n --_button-text-color: 255, 255, 255;\n}\n\n.inverted.inactive,\n.inverted.inactive::before {\n --_button-border-color: 255 255 255 / 0.4;\n color: rgba(var(--_button-text-color), 0.7);\n pointer-events: none;\n}\n\n:not(.inverted).inactive {\n opacity: 0.4;\n pointer-events: none;\n}`;\n\n// src/components/jb-button-secondary/jb-button-secondary.ts\nvar JbButtonSecondary = class extends Initiable(ButtonElement(Linkable(h))) {\n render() {\n const classes = { inactive: !!this.inactive, hover: !!this.forceHover, inverted: !!this.inverted };\n return this.link?.href ? ke`\n \n ` : ke`\n \n `;\n }\n};\nJbButtonSecondary.styles = r(jb_button_secondary_default);\n__decorateClass([\n n({ type: Boolean })\n], JbButtonSecondary.prototype, \"forceHover\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbButtonSecondary.prototype, \"inactive\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbButtonSecondary.prototype, \"inverted\", 2);\n__decorateClass([\n n({ type: Object })\n], JbButtonSecondary.prototype, \"link\", 2);\n__decorateClass([\n n()\n], JbButtonSecondary.prototype, \"name\", 2);\nJbButtonSecondary = __decorateClass([\n customElement(\"jb-button-secondary\")\n], JbButtonSecondary);\n\nexport {\n JbButtonSecondary\n};\n", "import {\n JbCookieSettings\n} from \"../../chunks/chunk.7OA654OI.js\";\nimport \"../../chunks/chunk.MRDK22UH.js\";\nimport \"../../chunks/chunk.76WY2E6U.js\";\nimport \"../../chunks/chunk.5SGCPDSP.js\";\nimport \"../../chunks/chunk.Z6P446BB.js\";\nimport \"../../chunks/chunk.3HJXLVF4.js\";\nimport \"../../chunks/chunk.BRZYRWW4.js\";\nimport \"../../chunks/chunk.7NUVYMIM.js\";\nimport \"../../chunks/chunk.BPDOBKMA.js\";\nimport \"../../chunks/chunk.RSUHM5A4.js\";\nimport \"../../chunks/chunk.Q25FCJRM.js\";\nimport \"../../chunks/chunk.G3SZKTQJ.js\";\nimport \"../../chunks/chunk.YTEMICXC.js\";\nimport \"../../chunks/chunk.LTAMHVKK.js\";\nimport \"../../chunks/chunk.OZEBCGEZ.js\";\nimport \"../../chunks/chunk.TOSSI7AO.js\";\nimport \"../../chunks/chunk.6DHNIVN5.js\";\nimport \"../../chunks/chunk.ABOYTYJO.js\";\nimport \"../../chunks/chunk.7ZO5ST7S.js\";\nimport \"../../chunks/chunk.EELGOWGJ.js\";\nimport \"../../chunks/chunk.WEV4VAJB.js\";\nimport \"../../chunks/chunk.NQ4JNTZU.js\";\nimport \"../../chunks/chunk.KR4IFKAA.js\";\nimport \"../../chunks/chunk.QAGUCU4C.js\";\nimport \"../../chunks/chunk.A4SFXC3I.js\";\nimport \"../../chunks/chunk.KZGIJPE3.js\";\nimport \"../../chunks/chunk.VRR2P3PQ.js\";\nimport \"../../chunks/chunk.7PRSKJZQ.js\";\nimport \"../../chunks/chunk.7ANACPIR.js\";\nimport \"../../chunks/chunk.WXNWU2SV.js\";\nimport \"../../chunks/chunk.FCKNEYTX.js\";\nimport \"../../chunks/chunk.BBN2ZB42.js\";\nimport \"../../chunks/chunk.FAJKIEWS.js\";\nimport \"../../chunks/chunk.I4IFG4JG.js\";\nexport {\n JbCookieSettings\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n Oe,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-read-icon/jb-read-icon.scss?inline\nvar jb_read_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nsvg {\n fill: rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n stroke: rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n}\nsvg circle {\n fill: transparent;\n}`;\n\n// src/components/icons/jb-read-icon/jb-read-icon.ts\nvar JbReadIcon = class extends h {\n constructor() {\n super(...arguments);\n this.circle = Oe``;\n this.withCircle = false;\n }\n render() {\n return ke` \n ${this.withCircle ? this.circle : D}\n \n `;\n }\n};\nJbReadIcon.styles = r(jb_read_icon_default);\n__decorateClass([\n n({ type: Boolean })\n], JbReadIcon.prototype, \"withCircle\", 2);\nJbReadIcon = __decorateClass([\n customElement(\"jb-read-icon\")\n], JbReadIcon);\n\nexport {\n JbReadIcon\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n Oe,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-podcast-icon/jb-podcast-icon.scss?inline\nvar jb_podcast_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nsvg {\n fill: rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n stroke: rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n}\nsvg circle {\n fill: transparent;\n}`;\n\n// src/components/icons/jb-podcast-icon/jb-podcast-icon.ts\nvar JbPodcastIcon = class extends h {\n constructor() {\n super(...arguments);\n this.circle = Oe``;\n this.withCircle = false;\n }\n render() {\n return ke` \n ${this.withCircle ? this.circle : D}\n \n `;\n }\n};\nJbPodcastIcon.styles = r(jb_podcast_icon_default);\n__decorateClass([\n n({ type: Boolean })\n], JbPodcastIcon.prototype, \"withCircle\", 2);\nJbPodcastIcon = __decorateClass([\n customElement(\"jb-podcast-icon\")\n], JbPodcastIcon);\n\nexport {\n JbPodcastIcon\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-text-with-image/jb-text-with-image.scss?inline\nvar jb_text_with_image_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\narticle {\n --_grid-gap: 16px;\n --_grid-template-columns: repeat(12, 1fr);\n display: grid;\n gap: var(--grid-row-gap, 0) var(--grid-column-gap, var(--_grid-gap));\n grid-template-columns: var(--theme-grid-template-columns, var(--_grid-template-columns));\n width: 100%;\n}\n@media (min-width: 960px) {\n article {\n --_grid-gap: 40px;\n }\n}\n\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n --_imagewidth: 4;\n --_columnstart: 2;\n --image-caption-font-size: 0.813rem;\n --image-caption-line-height: 1.25rem;\n --paragraphs-margin-left: 0;\n --paragraphs-margin-right: 0;\n --image-caption-margin-top: var(--spacing-2xs);\n --image-credit-margin-top: 0;\n}\n\narticle {\n grid-column: main;\n}\n\njb-image {\n grid-column: 1/13;\n margin-block-end: var(--spacing-l);\n}\n\n.slotwrapper {\n grid-column: 1/13;\n}\n\n@media (min-width: 960px) {\n .small {\n --_columnstart: 3;\n --_imagewidth: 3;\n }\n .small .slotwrapper {\n grid-column: calc(var(--_columnstart) + var(--_imagewidth))/span calc(8 - var(--_imagewidth));\n }\n .landscape.large {\n --_imagewidth: 5;\n }\n .portrait.large {\n --_imagewidth: 4;\n }\n jb-image {\n grid-column: var(--_columnstart)/span var(--_imagewidth);\n }\n .slotwrapper {\n grid-column: calc(var(--_columnstart) + var(--_imagewidth))/span calc(9 - var(--_imagewidth));\n }\n .end,\n .right {\n --_columnstart: 3;\n }\n .end jb-image,\n .right jb-image {\n grid-row: 1;\n order: 2;\n }\n .end .slotwrapper,\n .right .slotwrapper {\n grid-row: 1;\n order: 1;\n }\n .end.large jb-image,\n .right.large jb-image {\n grid-column: calc(13 - var(--_imagewidth) - 1)/span var(--_imagewidth);\n }\n .end.large .slotwrapper,\n .right.large .slotwrapper {\n grid-column: var(--_columnstart)/span calc(9 - var(--_imagewidth));\n }\n .end.small jb-image,\n .right.small jb-image {\n grid-column: calc(13 - var(--_imagewidth) - 2)/span var(--_imagewidth);\n }\n .end.small .slotwrapper,\n .right.small .slotwrapper {\n grid-column: var(--_columnstart)/span calc(8 - var(--_imagewidth));\n }\n}`;\n\n// src/components/jb-text-with-image/jb-text-with-image.ts\nvar JbTextWithImage = class extends Spaceable(h) {\n _getContentSpacingProperties() {\n return {\n colsMdUp: 12,\n type: \"text\"\n };\n }\n _tracking(e) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e, {\n component_name: \"text-with-image\"\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n }\n render() {\n return ke`\n \n \n
    \n \n
    \n \n `;\n }\n};\nJbTextWithImage.styles = r(jb_text_with_image_default);\n__decorateClass([\n n({ type: Object })\n], JbTextWithImage.prototype, \"image\", 2);\n__decorateClass([\n n()\n], JbTextWithImage.prototype, \"imageAlign\", 2);\n__decorateClass([\n n()\n], JbTextWithImage.prototype, \"imageOrientation\", 2);\n__decorateClass([\n n()\n], JbTextWithImage.prototype, \"imageSize\", 2);\nJbTextWithImage = __decorateClass([\n customElement(\"jb-text-with-image\")\n], JbTextWithImage);\n\nexport {\n JbTextWithImage\n};\n", "// node_modules/gsap/Observer.js\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nvar gsap;\nvar _coreInitted;\nvar _clamp;\nvar _win;\nvar _doc;\nvar _docEl;\nvar _body;\nvar _isTouch;\nvar _pointerType;\nvar ScrollTrigger;\nvar _root;\nvar _normalizer;\nvar _eventTypes;\nvar _context;\nvar _getGSAP = function _getGSAP2() {\n return gsap || typeof window !== \"undefined\" && (gsap = window.gsap) && gsap.registerPlugin && gsap;\n};\nvar _startup = 1;\nvar _observers = [];\nvar _scrollers = [];\nvar _proxies = [];\nvar _getTime = Date.now;\nvar _bridge = function _bridge2(name, value) {\n return value;\n};\nvar _integrate = function _integrate2() {\n var core = ScrollTrigger.core, data = core.bridge || {}, scrollers = core._scrollers, proxies = core._proxies;\n scrollers.push.apply(scrollers, _scrollers);\n proxies.push.apply(proxies, _proxies);\n _scrollers = scrollers;\n _proxies = proxies;\n _bridge = function _bridge3(name, value) {\n return data[name](value);\n };\n};\nvar _getProxyProp = function _getProxyProp2(element, property) {\n return ~_proxies.indexOf(element) && _proxies[_proxies.indexOf(element) + 1][property];\n};\nvar _isViewport = function _isViewport2(el) {\n return !!~_root.indexOf(el);\n};\nvar _addListener = function _addListener2(element, type, func, passive, capture) {\n return element.addEventListener(type, func, {\n passive: passive !== false,\n capture: !!capture\n });\n};\nvar _removeListener = function _removeListener2(element, type, func, capture) {\n return element.removeEventListener(type, func, !!capture);\n};\nvar _scrollLeft = \"scrollLeft\";\nvar _scrollTop = \"scrollTop\";\nvar _onScroll = function _onScroll2() {\n return _normalizer && _normalizer.isPressed || _scrollers.cache++;\n};\nvar _scrollCacheFunc = function _scrollCacheFunc2(f, doNotCache) {\n var cachingFunc = function cachingFunc2(value) {\n if (value || value === 0) {\n _startup && (_win.history.scrollRestoration = \"manual\");\n var isNormalizing = _normalizer && _normalizer.isPressed;\n value = cachingFunc2.v = Math.round(value) || (_normalizer && _normalizer.iOS ? 1 : 0);\n f(value);\n cachingFunc2.cacheID = _scrollers.cache;\n isNormalizing && _bridge(\"ss\", value);\n } else if (doNotCache || _scrollers.cache !== cachingFunc2.cacheID || _bridge(\"ref\")) {\n cachingFunc2.cacheID = _scrollers.cache;\n cachingFunc2.v = f();\n }\n return cachingFunc2.v + cachingFunc2.offset;\n };\n cachingFunc.offset = 0;\n return f && cachingFunc;\n};\nvar _horizontal = {\n s: _scrollLeft,\n p: \"left\",\n p2: \"Left\",\n os: \"right\",\n os2: \"Right\",\n d: \"width\",\n d2: \"Width\",\n a: \"x\",\n sc: _scrollCacheFunc(function(value) {\n return arguments.length ? _win.scrollTo(value, _vertical.sc()) : _win.pageXOffset || _doc[_scrollLeft] || _docEl[_scrollLeft] || _body[_scrollLeft] || 0;\n })\n};\nvar _vertical = {\n s: _scrollTop,\n p: \"top\",\n p2: \"Top\",\n os: \"bottom\",\n os2: \"Bottom\",\n d: \"height\",\n d2: \"Height\",\n a: \"y\",\n op: _horizontal,\n sc: _scrollCacheFunc(function(value) {\n return arguments.length ? _win.scrollTo(_horizontal.sc(), value) : _win.pageYOffset || _doc[_scrollTop] || _docEl[_scrollTop] || _body[_scrollTop] || 0;\n })\n};\nvar _getTarget = function _getTarget2(t, self) {\n return (self && self._ctx && self._ctx.selector || gsap.utils.toArray)(t)[0] || (typeof t === \"string\" && gsap.config().nullTargetWarn !== false ? console.warn(\"Element not found:\", t) : null);\n};\nvar _getScrollFunc = function _getScrollFunc2(element, _ref) {\n var s = _ref.s, sc = _ref.sc;\n _isViewport(element) && (element = _doc.scrollingElement || _docEl);\n var i = _scrollers.indexOf(element), offset = sc === _vertical.sc ? 1 : 2;\n !~i && (i = _scrollers.push(element) - 1);\n _scrollers[i + offset] || _addListener(element, \"scroll\", _onScroll);\n var prev = _scrollers[i + offset], func = prev || (_scrollers[i + offset] = _scrollCacheFunc(_getProxyProp(element, s), true) || (_isViewport(element) ? sc : _scrollCacheFunc(function(value) {\n return arguments.length ? element[s] = value : element[s];\n })));\n func.target = element;\n prev || (func.smooth = gsap.getProperty(element, \"scrollBehavior\") === \"smooth\");\n return func;\n};\nvar _getVelocityProp = function _getVelocityProp2(value, minTimeRefresh, useDelta) {\n var v1 = value, v2 = value, t1 = _getTime(), t2 = t1, min = minTimeRefresh || 50, dropToZeroTime = Math.max(500, min * 3), update = function update2(value2, force) {\n var t = _getTime();\n if (force || t - t1 > min) {\n v2 = v1;\n v1 = value2;\n t2 = t1;\n t1 = t;\n } else if (useDelta) {\n v1 += value2;\n } else {\n v1 = v2 + (value2 - v2) / (t - t2) * (t1 - t2);\n }\n }, reset = function reset2() {\n v2 = v1 = useDelta ? 0 : v1;\n t2 = t1 = 0;\n }, getVelocity = function getVelocity2(latestValue) {\n var tOld = t2, vOld = v2, t = _getTime();\n (latestValue || latestValue === 0) && latestValue !== v1 && update(latestValue);\n return t1 === t2 || t - t2 > dropToZeroTime ? 0 : (v1 + (useDelta ? vOld : -vOld)) / ((useDelta ? t : t1) - tOld) * 1e3;\n };\n return {\n update,\n reset,\n getVelocity\n };\n};\nvar _getEvent = function _getEvent2(e, preventDefault) {\n preventDefault && !e._gsapAllow && e.preventDefault();\n return e.changedTouches ? e.changedTouches[0] : e;\n};\nvar _getAbsoluteMax = function _getAbsoluteMax2(a) {\n var max = Math.max.apply(Math, a), min = Math.min.apply(Math, a);\n return Math.abs(max) >= Math.abs(min) ? max : min;\n};\nvar _setScrollTrigger = function _setScrollTrigger2() {\n ScrollTrigger = gsap.core.globals().ScrollTrigger;\n ScrollTrigger && ScrollTrigger.core && _integrate();\n};\nvar _initCore = function _initCore2(core) {\n gsap = core || _getGSAP();\n if (!_coreInitted && gsap && typeof document !== \"undefined\" && document.body) {\n _win = window;\n _doc = document;\n _docEl = _doc.documentElement;\n _body = _doc.body;\n _root = [_win, _doc, _docEl, _body];\n _clamp = gsap.utils.clamp;\n _context = gsap.core.context || function() {\n };\n _pointerType = \"onpointerenter\" in _body ? \"pointer\" : \"mouse\";\n _isTouch = Observer.isTouch = _win.matchMedia && _win.matchMedia(\"(hover: none), (pointer: coarse)\").matches ? 1 : \"ontouchstart\" in _win || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0 ? 2 : 0;\n _eventTypes = Observer.eventTypes = (\"ontouchstart\" in _docEl ? \"touchstart,touchmove,touchcancel,touchend\" : !(\"onpointerdown\" in _docEl) ? \"mousedown,mousemove,mouseup,mouseup\" : \"pointerdown,pointermove,pointercancel,pointerup\").split(\",\");\n setTimeout(function() {\n return _startup = 0;\n }, 500);\n _setScrollTrigger();\n _coreInitted = 1;\n }\n return _coreInitted;\n};\n_horizontal.op = _vertical;\n_scrollers.cache = 0;\nvar Observer = /* @__PURE__ */ function() {\n function Observer2(vars) {\n this.init(vars);\n }\n var _proto = Observer2.prototype;\n _proto.init = function init(vars) {\n _coreInitted || _initCore(gsap) || console.warn(\"Please gsap.registerPlugin(Observer)\");\n ScrollTrigger || _setScrollTrigger();\n var tolerance = vars.tolerance, dragMinimum = vars.dragMinimum, type = vars.type, target = vars.target, lineHeight = vars.lineHeight, debounce = vars.debounce, preventDefault = vars.preventDefault, onStop = vars.onStop, onStopDelay = vars.onStopDelay, ignore = vars.ignore, wheelSpeed = vars.wheelSpeed, event = vars.event, onDragStart = vars.onDragStart, onDragEnd = vars.onDragEnd, onDrag = vars.onDrag, onPress = vars.onPress, onRelease = vars.onRelease, onRight = vars.onRight, onLeft = vars.onLeft, onUp = vars.onUp, onDown = vars.onDown, onChangeX = vars.onChangeX, onChangeY = vars.onChangeY, onChange = vars.onChange, onToggleX = vars.onToggleX, onToggleY = vars.onToggleY, onHover = vars.onHover, onHoverEnd = vars.onHoverEnd, onMove = vars.onMove, ignoreCheck = vars.ignoreCheck, isNormalizer = vars.isNormalizer, onGestureStart = vars.onGestureStart, onGestureEnd = vars.onGestureEnd, onWheel = vars.onWheel, onEnable = vars.onEnable, onDisable = vars.onDisable, onClick = vars.onClick, scrollSpeed = vars.scrollSpeed, capture = vars.capture, allowClicks = vars.allowClicks, lockAxis = vars.lockAxis, onLockAxis = vars.onLockAxis;\n this.target = target = _getTarget(target) || _docEl;\n this.vars = vars;\n ignore && (ignore = gsap.utils.toArray(ignore));\n tolerance = tolerance || 1e-9;\n dragMinimum = dragMinimum || 0;\n wheelSpeed = wheelSpeed || 1;\n scrollSpeed = scrollSpeed || 1;\n type = type || \"wheel,touch,pointer\";\n debounce = debounce !== false;\n lineHeight || (lineHeight = parseFloat(_win.getComputedStyle(_body).lineHeight) || 22);\n var id, onStopDelayedCall, dragged, moved, wheeled, locked, axis, self = this, prevDeltaX = 0, prevDeltaY = 0, passive = vars.passive || !preventDefault, scrollFuncX = _getScrollFunc(target, _horizontal), scrollFuncY = _getScrollFunc(target, _vertical), scrollX = scrollFuncX(), scrollY = scrollFuncY(), limitToTouch = ~type.indexOf(\"touch\") && !~type.indexOf(\"pointer\") && _eventTypes[0] === \"pointerdown\", isViewport = _isViewport(target), ownerDoc = target.ownerDocument || _doc, deltaX = [0, 0, 0], deltaY = [0, 0, 0], onClickTime = 0, clickCapture = function clickCapture2() {\n return onClickTime = _getTime();\n }, _ignoreCheck = function _ignoreCheck2(e, isPointerOrTouch) {\n return (self.event = e) && ignore && ~ignore.indexOf(e.target) || isPointerOrTouch && limitToTouch && e.pointerType !== \"touch\" || ignoreCheck && ignoreCheck(e, isPointerOrTouch);\n }, onStopFunc = function onStopFunc2() {\n self._vx.reset();\n self._vy.reset();\n onStopDelayedCall.pause();\n onStop && onStop(self);\n }, update = function update2() {\n var dx = self.deltaX = _getAbsoluteMax(deltaX), dy = self.deltaY = _getAbsoluteMax(deltaY), changedX = Math.abs(dx) >= tolerance, changedY = Math.abs(dy) >= tolerance;\n onChange && (changedX || changedY) && onChange(self, dx, dy, deltaX, deltaY);\n if (changedX) {\n onRight && self.deltaX > 0 && onRight(self);\n onLeft && self.deltaX < 0 && onLeft(self);\n onChangeX && onChangeX(self);\n onToggleX && self.deltaX < 0 !== prevDeltaX < 0 && onToggleX(self);\n prevDeltaX = self.deltaX;\n deltaX[0] = deltaX[1] = deltaX[2] = 0;\n }\n if (changedY) {\n onDown && self.deltaY > 0 && onDown(self);\n onUp && self.deltaY < 0 && onUp(self);\n onChangeY && onChangeY(self);\n onToggleY && self.deltaY < 0 !== prevDeltaY < 0 && onToggleY(self);\n prevDeltaY = self.deltaY;\n deltaY[0] = deltaY[1] = deltaY[2] = 0;\n }\n if (moved || dragged) {\n onMove && onMove(self);\n if (dragged) {\n onDrag(self);\n dragged = false;\n }\n moved = false;\n }\n locked && !(locked = false) && onLockAxis && onLockAxis(self);\n if (wheeled) {\n onWheel(self);\n wheeled = false;\n }\n id = 0;\n }, onDelta = function onDelta2(x, y, index) {\n deltaX[index] += x;\n deltaY[index] += y;\n self._vx.update(x);\n self._vy.update(y);\n debounce ? id || (id = requestAnimationFrame(update)) : update();\n }, onTouchOrPointerDelta = function onTouchOrPointerDelta2(x, y) {\n if (lockAxis && !axis) {\n self.axis = axis = Math.abs(x) > Math.abs(y) ? \"x\" : \"y\";\n locked = true;\n }\n if (axis !== \"y\") {\n deltaX[2] += x;\n self._vx.update(x, true);\n }\n if (axis !== \"x\") {\n deltaY[2] += y;\n self._vy.update(y, true);\n }\n debounce ? id || (id = requestAnimationFrame(update)) : update();\n }, _onDrag = function _onDrag2(e) {\n if (_ignoreCheck(e, 1)) {\n return;\n }\n e = _getEvent(e, preventDefault);\n var x = e.clientX, y = e.clientY, dx = x - self.x, dy = y - self.y, isDragging = self.isDragging;\n self.x = x;\n self.y = y;\n if (isDragging || Math.abs(self.startX - x) >= dragMinimum || Math.abs(self.startY - y) >= dragMinimum) {\n onDrag && (dragged = true);\n isDragging || (self.isDragging = true);\n onTouchOrPointerDelta(dx, dy);\n isDragging || onDragStart && onDragStart(self);\n }\n }, _onPress = self.onPress = function(e) {\n if (_ignoreCheck(e, 1) || e && e.button) {\n return;\n }\n self.axis = axis = null;\n onStopDelayedCall.pause();\n self.isPressed = true;\n e = _getEvent(e);\n prevDeltaX = prevDeltaY = 0;\n self.startX = self.x = e.clientX;\n self.startY = self.y = e.clientY;\n self._vx.reset();\n self._vy.reset();\n _addListener(isNormalizer ? target : ownerDoc, _eventTypes[1], _onDrag, passive, true);\n self.deltaX = self.deltaY = 0;\n onPress && onPress(self);\n }, _onRelease = self.onRelease = function(e) {\n if (_ignoreCheck(e, 1)) {\n return;\n }\n _removeListener(isNormalizer ? target : ownerDoc, _eventTypes[1], _onDrag, true);\n var isTrackingDrag = !isNaN(self.y - self.startY), wasDragging = self.isDragging, isDragNotClick = wasDragging && (Math.abs(self.x - self.startX) > 3 || Math.abs(self.y - self.startY) > 3), eventData = _getEvent(e);\n if (!isDragNotClick && isTrackingDrag) {\n self._vx.reset();\n self._vy.reset();\n if (preventDefault && allowClicks) {\n gsap.delayedCall(0.08, function() {\n if (_getTime() - onClickTime > 300 && !e.defaultPrevented) {\n if (e.target.click) {\n e.target.click();\n } else if (ownerDoc.createEvent) {\n var syntheticEvent = ownerDoc.createEvent(\"MouseEvents\");\n syntheticEvent.initMouseEvent(\"click\", true, true, _win, 1, eventData.screenX, eventData.screenY, eventData.clientX, eventData.clientY, false, false, false, false, 0, null);\n e.target.dispatchEvent(syntheticEvent);\n }\n }\n });\n }\n }\n self.isDragging = self.isGesturing = self.isPressed = false;\n onStop && wasDragging && !isNormalizer && onStopDelayedCall.restart(true);\n onDragEnd && wasDragging && onDragEnd(self);\n onRelease && onRelease(self, isDragNotClick);\n }, _onGestureStart = function _onGestureStart2(e) {\n return e.touches && e.touches.length > 1 && (self.isGesturing = true) && onGestureStart(e, self.isDragging);\n }, _onGestureEnd = function _onGestureEnd2() {\n return (self.isGesturing = false) || onGestureEnd(self);\n }, onScroll = function onScroll2(e) {\n if (_ignoreCheck(e)) {\n return;\n }\n var x = scrollFuncX(), y = scrollFuncY();\n onDelta((x - scrollX) * scrollSpeed, (y - scrollY) * scrollSpeed, 1);\n scrollX = x;\n scrollY = y;\n onStop && onStopDelayedCall.restart(true);\n }, _onWheel = function _onWheel2(e) {\n if (_ignoreCheck(e)) {\n return;\n }\n e = _getEvent(e, preventDefault);\n onWheel && (wheeled = true);\n var multiplier = (e.deltaMode === 1 ? lineHeight : e.deltaMode === 2 ? _win.innerHeight : 1) * wheelSpeed;\n onDelta(e.deltaX * multiplier, e.deltaY * multiplier, 0);\n onStop && !isNormalizer && onStopDelayedCall.restart(true);\n }, _onMove = function _onMove2(e) {\n if (_ignoreCheck(e)) {\n return;\n }\n var x = e.clientX, y = e.clientY, dx = x - self.x, dy = y - self.y;\n self.x = x;\n self.y = y;\n moved = true;\n onStop && onStopDelayedCall.restart(true);\n (dx || dy) && onTouchOrPointerDelta(dx, dy);\n }, _onHover = function _onHover2(e) {\n self.event = e;\n onHover(self);\n }, _onHoverEnd = function _onHoverEnd2(e) {\n self.event = e;\n onHoverEnd(self);\n }, _onClick = function _onClick2(e) {\n return _ignoreCheck(e) || _getEvent(e, preventDefault) && onClick(self);\n };\n onStopDelayedCall = self._dc = gsap.delayedCall(onStopDelay || 0.25, onStopFunc).pause();\n self.deltaX = self.deltaY = 0;\n self._vx = _getVelocityProp(0, 50, true);\n self._vy = _getVelocityProp(0, 50, true);\n self.scrollX = scrollFuncX;\n self.scrollY = scrollFuncY;\n self.isDragging = self.isGesturing = self.isPressed = false;\n _context(this);\n self.enable = function(e) {\n if (!self.isEnabled) {\n _addListener(isViewport ? ownerDoc : target, \"scroll\", _onScroll);\n type.indexOf(\"scroll\") >= 0 && _addListener(isViewport ? ownerDoc : target, \"scroll\", onScroll, passive, capture);\n type.indexOf(\"wheel\") >= 0 && _addListener(target, \"wheel\", _onWheel, passive, capture);\n if (type.indexOf(\"touch\") >= 0 && _isTouch || type.indexOf(\"pointer\") >= 0) {\n _addListener(target, _eventTypes[0], _onPress, passive, capture);\n _addListener(ownerDoc, _eventTypes[2], _onRelease);\n _addListener(ownerDoc, _eventTypes[3], _onRelease);\n allowClicks && _addListener(target, \"click\", clickCapture, true, true);\n onClick && _addListener(target, \"click\", _onClick);\n onGestureStart && _addListener(ownerDoc, \"gesturestart\", _onGestureStart);\n onGestureEnd && _addListener(ownerDoc, \"gestureend\", _onGestureEnd);\n onHover && _addListener(target, _pointerType + \"enter\", _onHover);\n onHoverEnd && _addListener(target, _pointerType + \"leave\", _onHoverEnd);\n onMove && _addListener(target, _pointerType + \"move\", _onMove);\n }\n self.isEnabled = true;\n e && e.type && _onPress(e);\n onEnable && onEnable(self);\n }\n return self;\n };\n self.disable = function() {\n if (self.isEnabled) {\n _observers.filter(function(o) {\n return o !== self && _isViewport(o.target);\n }).length || _removeListener(isViewport ? ownerDoc : target, \"scroll\", _onScroll);\n if (self.isPressed) {\n self._vx.reset();\n self._vy.reset();\n _removeListener(isNormalizer ? target : ownerDoc, _eventTypes[1], _onDrag, true);\n }\n _removeListener(isViewport ? ownerDoc : target, \"scroll\", onScroll, capture);\n _removeListener(target, \"wheel\", _onWheel, capture);\n _removeListener(target, _eventTypes[0], _onPress, capture);\n _removeListener(ownerDoc, _eventTypes[2], _onRelease);\n _removeListener(ownerDoc, _eventTypes[3], _onRelease);\n _removeListener(target, \"click\", clickCapture, true);\n _removeListener(target, \"click\", _onClick);\n _removeListener(ownerDoc, \"gesturestart\", _onGestureStart);\n _removeListener(ownerDoc, \"gestureend\", _onGestureEnd);\n _removeListener(target, _pointerType + \"enter\", _onHover);\n _removeListener(target, _pointerType + \"leave\", _onHoverEnd);\n _removeListener(target, _pointerType + \"move\", _onMove);\n self.isEnabled = self.isPressed = self.isDragging = false;\n onDisable && onDisable(self);\n }\n };\n self.kill = self.revert = function() {\n self.disable();\n var i = _observers.indexOf(self);\n i >= 0 && _observers.splice(i, 1);\n _normalizer === self && (_normalizer = 0);\n };\n _observers.push(self);\n isNormalizer && _isViewport(target) && (_normalizer = self);\n self.enable(event);\n };\n _createClass(Observer2, [{\n key: \"velocityX\",\n get: function get() {\n return this._vx.getVelocity();\n }\n }, {\n key: \"velocityY\",\n get: function get() {\n return this._vy.getVelocity();\n }\n }]);\n return Observer2;\n}();\nObserver.version = \"3.12.5\";\nObserver.create = function(vars) {\n return new Observer(vars);\n};\nObserver.register = _initCore;\nObserver.getAll = function() {\n return _observers.slice();\n};\nObserver.getById = function(id) {\n return _observers.filter(function(o) {\n return o.vars.id === id;\n })[0];\n};\n_getGSAP() && gsap.registerPlugin(Observer);\n\n// node_modules/gsap/ScrollTrigger.js\nvar gsap2;\nvar _coreInitted2;\nvar _win2;\nvar _doc2;\nvar _docEl2;\nvar _body2;\nvar _root2;\nvar _resizeDelay;\nvar _toArray;\nvar _clamp2;\nvar _time2;\nvar _syncInterval;\nvar _refreshing;\nvar _pointerIsDown;\nvar _transformProp;\nvar _i;\nvar _prevWidth;\nvar _prevHeight;\nvar _autoRefresh;\nvar _sort;\nvar _suppressOverwrites;\nvar _ignoreResize;\nvar _normalizer2;\nvar _ignoreMobileResize;\nvar _baseScreenHeight;\nvar _baseScreenWidth;\nvar _fixIOSBug;\nvar _context2;\nvar _scrollRestoration;\nvar _div100vh;\nvar _100vh;\nvar _isReverted;\nvar _clampingMax;\nvar _limitCallbacks;\nvar _startup2 = 1;\nvar _getTime2 = Date.now;\nvar _time1 = _getTime2();\nvar _lastScrollTime = 0;\nvar _enabled = 0;\nvar _parseClamp = function _parseClamp2(value, type, self) {\n var clamp = _isString(value) && (value.substr(0, 6) === \"clamp(\" || value.indexOf(\"max\") > -1);\n self[\"_\" + type + \"Clamp\"] = clamp;\n return clamp ? value.substr(6, value.length - 7) : value;\n};\nvar _keepClamp = function _keepClamp2(value, clamp) {\n return clamp && (!_isString(value) || value.substr(0, 6) !== \"clamp(\") ? \"clamp(\" + value + \")\" : value;\n};\nvar _rafBugFix = function _rafBugFix2() {\n return _enabled && requestAnimationFrame(_rafBugFix2);\n};\nvar _pointerDownHandler = function _pointerDownHandler2() {\n return _pointerIsDown = 1;\n};\nvar _pointerUpHandler = function _pointerUpHandler2() {\n return _pointerIsDown = 0;\n};\nvar _passThrough = function _passThrough2(v) {\n return v;\n};\nvar _round = function _round2(value) {\n return Math.round(value * 1e5) / 1e5 || 0;\n};\nvar _windowExists = function _windowExists2() {\n return typeof window !== \"undefined\";\n};\nvar _getGSAP3 = function _getGSAP4() {\n return gsap2 || _windowExists() && (gsap2 = window.gsap) && gsap2.registerPlugin && gsap2;\n};\nvar _isViewport3 = function _isViewport4(e) {\n return !!~_root2.indexOf(e);\n};\nvar _getViewportDimension = function _getViewportDimension2(dimensionProperty) {\n return (dimensionProperty === \"Height\" ? _100vh : _win2[\"inner\" + dimensionProperty]) || _docEl2[\"client\" + dimensionProperty] || _body2[\"client\" + dimensionProperty];\n};\nvar _getBoundsFunc = function _getBoundsFunc2(element) {\n return _getProxyProp(element, \"getBoundingClientRect\") || (_isViewport3(element) ? function() {\n _winOffsets.width = _win2.innerWidth;\n _winOffsets.height = _100vh;\n return _winOffsets;\n } : function() {\n return _getBounds(element);\n });\n};\nvar _getSizeFunc = function _getSizeFunc2(scroller, isViewport, _ref) {\n var d = _ref.d, d2 = _ref.d2, a = _ref.a;\n return (a = _getProxyProp(scroller, \"getBoundingClientRect\")) ? function() {\n return a()[d];\n } : function() {\n return (isViewport ? _getViewportDimension(d2) : scroller[\"client\" + d2]) || 0;\n };\n};\nvar _getOffsetsFunc = function _getOffsetsFunc2(element, isViewport) {\n return !isViewport || ~_proxies.indexOf(element) ? _getBoundsFunc(element) : function() {\n return _winOffsets;\n };\n};\nvar _maxScroll = function _maxScroll2(element, _ref2) {\n var s = _ref2.s, d2 = _ref2.d2, d = _ref2.d, a = _ref2.a;\n return Math.max(0, (s = \"scroll\" + d2) && (a = _getProxyProp(element, s)) ? a() - _getBoundsFunc(element)()[d] : _isViewport3(element) ? (_docEl2[s] || _body2[s]) - _getViewportDimension(d2) : element[s] - element[\"offset\" + d2]);\n};\nvar _iterateAutoRefresh = function _iterateAutoRefresh2(func, events) {\n for (var i = 0; i < _autoRefresh.length; i += 3) {\n (!events || ~events.indexOf(_autoRefresh[i + 1])) && func(_autoRefresh[i], _autoRefresh[i + 1], _autoRefresh[i + 2]);\n }\n};\nvar _isString = function _isString2(value) {\n return typeof value === \"string\";\n};\nvar _isFunction = function _isFunction2(value) {\n return typeof value === \"function\";\n};\nvar _isNumber = function _isNumber2(value) {\n return typeof value === \"number\";\n};\nvar _isObject = function _isObject2(value) {\n return typeof value === \"object\";\n};\nvar _endAnimation = function _endAnimation2(animation, reversed, pause) {\n return animation && animation.progress(reversed ? 0 : 1) && pause && animation.pause();\n};\nvar _callback = function _callback2(self, func) {\n if (self.enabled) {\n var result = self._ctx ? self._ctx.add(function() {\n return func(self);\n }) : func(self);\n result && result.totalTime && (self.callbackAnimation = result);\n }\n};\nvar _abs = Math.abs;\nvar _left = \"left\";\nvar _top = \"top\";\nvar _right = \"right\";\nvar _bottom = \"bottom\";\nvar _width = \"width\";\nvar _height = \"height\";\nvar _Right = \"Right\";\nvar _Left = \"Left\";\nvar _Top = \"Top\";\nvar _Bottom = \"Bottom\";\nvar _padding = \"padding\";\nvar _margin = \"margin\";\nvar _Width = \"Width\";\nvar _Height = \"Height\";\nvar _px = \"px\";\nvar _getComputedStyle = function _getComputedStyle2(element) {\n return _win2.getComputedStyle(element);\n};\nvar _makePositionable = function _makePositionable2(element) {\n var position = _getComputedStyle(element).position;\n element.style.position = position === \"absolute\" || position === \"fixed\" ? position : \"relative\";\n};\nvar _setDefaults = function _setDefaults2(obj, defaults) {\n for (var p in defaults) {\n p in obj || (obj[p] = defaults[p]);\n }\n return obj;\n};\nvar _getBounds = function _getBounds2(element, withoutTransforms) {\n var tween = withoutTransforms && _getComputedStyle(element)[_transformProp] !== \"matrix(1, 0, 0, 1, 0, 0)\" && gsap2.to(element, {\n x: 0,\n y: 0,\n xPercent: 0,\n yPercent: 0,\n rotation: 0,\n rotationX: 0,\n rotationY: 0,\n scale: 1,\n skewX: 0,\n skewY: 0\n }).progress(1), bounds = element.getBoundingClientRect();\n tween && tween.progress(0).kill();\n return bounds;\n};\nvar _getSize = function _getSize2(element, _ref3) {\n var d2 = _ref3.d2;\n return element[\"offset\" + d2] || element[\"client\" + d2] || 0;\n};\nvar _getLabelRatioArray = function _getLabelRatioArray2(timeline) {\n var a = [], labels = timeline.labels, duration = timeline.duration(), p;\n for (p in labels) {\n a.push(labels[p] / duration);\n }\n return a;\n};\nvar _getClosestLabel = function _getClosestLabel2(animation) {\n return function(value) {\n return gsap2.utils.snap(_getLabelRatioArray(animation), value);\n };\n};\nvar _snapDirectional = function _snapDirectional2(snapIncrementOrArray) {\n var snap = gsap2.utils.snap(snapIncrementOrArray), a = Array.isArray(snapIncrementOrArray) && snapIncrementOrArray.slice(0).sort(function(a2, b) {\n return a2 - b;\n });\n return a ? function(value, direction, threshold) {\n if (threshold === void 0) {\n threshold = 1e-3;\n }\n var i;\n if (!direction) {\n return snap(value);\n }\n if (direction > 0) {\n value -= threshold;\n for (i = 0; i < a.length; i++) {\n if (a[i] >= value) {\n return a[i];\n }\n }\n return a[i - 1];\n } else {\n i = a.length;\n value += threshold;\n while (i--) {\n if (a[i] <= value) {\n return a[i];\n }\n }\n }\n return a[0];\n } : function(value, direction, threshold) {\n if (threshold === void 0) {\n threshold = 1e-3;\n }\n var snapped = snap(value);\n return !direction || Math.abs(snapped - value) < threshold || snapped - value < 0 === direction < 0 ? snapped : snap(direction < 0 ? value - snapIncrementOrArray : value + snapIncrementOrArray);\n };\n};\nvar _getLabelAtDirection = function _getLabelAtDirection2(timeline) {\n return function(value, st) {\n return _snapDirectional(_getLabelRatioArray(timeline))(value, st.direction);\n };\n};\nvar _multiListener = function _multiListener2(func, element, types, callback) {\n return types.split(\",\").forEach(function(type) {\n return func(element, type, callback);\n });\n};\nvar _addListener3 = function _addListener4(element, type, func, nonPassive, capture) {\n return element.addEventListener(type, func, {\n passive: !nonPassive,\n capture: !!capture\n });\n};\nvar _removeListener3 = function _removeListener4(element, type, func, capture) {\n return element.removeEventListener(type, func, !!capture);\n};\nvar _wheelListener = function _wheelListener2(func, el, scrollFunc) {\n scrollFunc = scrollFunc && scrollFunc.wheelHandler;\n if (scrollFunc) {\n func(el, \"wheel\", scrollFunc);\n func(el, \"touchmove\", scrollFunc);\n }\n};\nvar _markerDefaults = {\n startColor: \"green\",\n endColor: \"red\",\n indent: 0,\n fontSize: \"16px\",\n fontWeight: \"normal\"\n};\nvar _defaults = {\n toggleActions: \"play\",\n anticipatePin: 0\n};\nvar _keywords = {\n top: 0,\n left: 0,\n center: 0.5,\n bottom: 1,\n right: 1\n};\nvar _offsetToPx = function _offsetToPx2(value, size) {\n if (_isString(value)) {\n var eqIndex = value.indexOf(\"=\"), relative = ~eqIndex ? +(value.charAt(eqIndex - 1) + 1) * parseFloat(value.substr(eqIndex + 1)) : 0;\n if (~eqIndex) {\n value.indexOf(\"%\") > eqIndex && (relative *= size / 100);\n value = value.substr(0, eqIndex - 1);\n }\n value = relative + (value in _keywords ? _keywords[value] * size : ~value.indexOf(\"%\") ? parseFloat(value) * size / 100 : parseFloat(value) || 0);\n }\n return value;\n};\nvar _createMarker = function _createMarker2(type, name, container, direction, _ref4, offset, matchWidthEl, containerAnimation) {\n var startColor = _ref4.startColor, endColor = _ref4.endColor, fontSize = _ref4.fontSize, indent = _ref4.indent, fontWeight = _ref4.fontWeight;\n var e = _doc2.createElement(\"div\"), useFixedPosition = _isViewport3(container) || _getProxyProp(container, \"pinType\") === \"fixed\", isScroller = type.indexOf(\"scroller\") !== -1, parent = useFixedPosition ? _body2 : container, isStart = type.indexOf(\"start\") !== -1, color = isStart ? startColor : endColor, css = \"border-color:\" + color + \";font-size:\" + fontSize + \";color:\" + color + \";font-weight:\" + fontWeight + \";pointer-events:none;white-space:nowrap;font-family:sans-serif,Arial;z-index:1000;padding:4px 8px;border-width:0;border-style:solid;\";\n css += \"position:\" + ((isScroller || containerAnimation) && useFixedPosition ? \"fixed;\" : \"absolute;\");\n (isScroller || containerAnimation || !useFixedPosition) && (css += (direction === _vertical ? _right : _bottom) + \":\" + (offset + parseFloat(indent)) + \"px;\");\n matchWidthEl && (css += \"box-sizing:border-box;text-align:left;width:\" + matchWidthEl.offsetWidth + \"px;\");\n e._isStart = isStart;\n e.setAttribute(\"class\", \"gsap-marker-\" + type + (name ? \" marker-\" + name : \"\"));\n e.style.cssText = css;\n e.innerText = name || name === 0 ? type + \"-\" + name : type;\n parent.children[0] ? parent.insertBefore(e, parent.children[0]) : parent.appendChild(e);\n e._offset = e[\"offset\" + direction.op.d2];\n _positionMarker(e, 0, direction, isStart);\n return e;\n};\nvar _positionMarker = function _positionMarker2(marker, start, direction, flipped) {\n var vars = {\n display: \"block\"\n }, side = direction[flipped ? \"os2\" : \"p2\"], oppositeSide = direction[flipped ? \"p2\" : \"os2\"];\n marker._isFlipped = flipped;\n vars[direction.a + \"Percent\"] = flipped ? -100 : 0;\n vars[direction.a] = flipped ? \"1px\" : 0;\n vars[\"border\" + side + _Width] = 1;\n vars[\"border\" + oppositeSide + _Width] = 0;\n vars[direction.p] = start + \"px\";\n gsap2.set(marker, vars);\n};\nvar _triggers = [];\nvar _ids = {};\nvar _rafID;\nvar _sync = function _sync2() {\n return _getTime2() - _lastScrollTime > 34 && (_rafID || (_rafID = requestAnimationFrame(_updateAll)));\n};\nvar _onScroll3 = function _onScroll4() {\n if (!_normalizer2 || !_normalizer2.isPressed || _normalizer2.startX > _body2.clientWidth) {\n _scrollers.cache++;\n if (_normalizer2) {\n _rafID || (_rafID = requestAnimationFrame(_updateAll));\n } else {\n _updateAll();\n }\n _lastScrollTime || _dispatch(\"scrollStart\");\n _lastScrollTime = _getTime2();\n }\n};\nvar _setBaseDimensions = function _setBaseDimensions2() {\n _baseScreenWidth = _win2.innerWidth;\n _baseScreenHeight = _win2.innerHeight;\n};\nvar _onResize = function _onResize2() {\n _scrollers.cache++;\n !_refreshing && !_ignoreResize && !_doc2.fullscreenElement && !_doc2.webkitFullscreenElement && (!_ignoreMobileResize || _baseScreenWidth !== _win2.innerWidth || Math.abs(_win2.innerHeight - _baseScreenHeight) > _win2.innerHeight * 0.25) && _resizeDelay.restart(true);\n};\nvar _listeners = {};\nvar _emptyArray = [];\nvar _softRefresh = function _softRefresh2() {\n return _removeListener3(ScrollTrigger2, \"scrollEnd\", _softRefresh2) || _refreshAll(true);\n};\nvar _dispatch = function _dispatch2(type) {\n return _listeners[type] && _listeners[type].map(function(f) {\n return f();\n }) || _emptyArray;\n};\nvar _savedStyles = [];\nvar _revertRecorded = function _revertRecorded2(media) {\n for (var i = 0; i < _savedStyles.length; i += 5) {\n if (!media || _savedStyles[i + 4] && _savedStyles[i + 4].query === media) {\n _savedStyles[i].style.cssText = _savedStyles[i + 1];\n _savedStyles[i].getBBox && _savedStyles[i].setAttribute(\"transform\", _savedStyles[i + 2] || \"\");\n _savedStyles[i + 3].uncache = 1;\n }\n }\n};\nvar _revertAll = function _revertAll2(kill, media) {\n var trigger;\n for (_i = 0; _i < _triggers.length; _i++) {\n trigger = _triggers[_i];\n if (trigger && (!media || trigger._ctx === media)) {\n if (kill) {\n trigger.kill(1);\n } else {\n trigger.revert(true, true);\n }\n }\n }\n _isReverted = true;\n media && _revertRecorded(media);\n media || _dispatch(\"revert\");\n};\nvar _clearScrollMemory = function _clearScrollMemory2(scrollRestoration, force) {\n _scrollers.cache++;\n (force || !_refreshingAll) && _scrollers.forEach(function(obj) {\n return _isFunction(obj) && obj.cacheID++ && (obj.rec = 0);\n });\n _isString(scrollRestoration) && (_win2.history.scrollRestoration = _scrollRestoration = scrollRestoration);\n};\nvar _refreshingAll;\nvar _refreshID = 0;\nvar _queueRefreshID;\nvar _queueRefreshAll = function _queueRefreshAll2() {\n if (_queueRefreshID !== _refreshID) {\n var id = _queueRefreshID = _refreshID;\n requestAnimationFrame(function() {\n return id === _refreshID && _refreshAll(true);\n });\n }\n};\nvar _refresh100vh = function _refresh100vh2() {\n _body2.appendChild(_div100vh);\n _100vh = !_normalizer2 && _div100vh.offsetHeight || _win2.innerHeight;\n _body2.removeChild(_div100vh);\n};\nvar _hideAllMarkers = function _hideAllMarkers2(hide) {\n return _toArray(\".gsap-marker-start, .gsap-marker-end, .gsap-marker-scroller-start, .gsap-marker-scroller-end\").forEach(function(el) {\n return el.style.display = hide ? \"none\" : \"block\";\n });\n};\nvar _refreshAll = function _refreshAll2(force, skipRevert) {\n if (_lastScrollTime && !force && !_isReverted) {\n _addListener3(ScrollTrigger2, \"scrollEnd\", _softRefresh);\n return;\n }\n _refresh100vh();\n _refreshingAll = ScrollTrigger2.isRefreshing = true;\n _scrollers.forEach(function(obj) {\n return _isFunction(obj) && ++obj.cacheID && (obj.rec = obj());\n });\n var refreshInits = _dispatch(\"refreshInit\");\n _sort && ScrollTrigger2.sort();\n skipRevert || _revertAll();\n _scrollers.forEach(function(obj) {\n if (_isFunction(obj)) {\n obj.smooth && (obj.target.style.scrollBehavior = \"auto\");\n obj(0);\n }\n });\n _triggers.slice(0).forEach(function(t) {\n return t.refresh();\n });\n _isReverted = false;\n _triggers.forEach(function(t) {\n if (t._subPinOffset && t.pin) {\n var prop = t.vars.horizontal ? \"offsetWidth\" : \"offsetHeight\", original = t.pin[prop];\n t.revert(true, 1);\n t.adjustPinSpacing(t.pin[prop] - original);\n t.refresh();\n }\n });\n _clampingMax = 1;\n _hideAllMarkers(true);\n _triggers.forEach(function(t) {\n var max = _maxScroll(t.scroller, t._dir), endClamp = t.vars.end === \"max\" || t._endClamp && t.end > max, startClamp = t._startClamp && t.start >= max;\n (endClamp || startClamp) && t.setPositions(startClamp ? max - 1 : t.start, endClamp ? Math.max(startClamp ? max : t.start + 1, max) : t.end, true);\n });\n _hideAllMarkers(false);\n _clampingMax = 0;\n refreshInits.forEach(function(result) {\n return result && result.render && result.render(-1);\n });\n _scrollers.forEach(function(obj) {\n if (_isFunction(obj)) {\n obj.smooth && requestAnimationFrame(function() {\n return obj.target.style.scrollBehavior = \"smooth\";\n });\n obj.rec && obj(obj.rec);\n }\n });\n _clearScrollMemory(_scrollRestoration, 1);\n _resizeDelay.pause();\n _refreshID++;\n _refreshingAll = 2;\n _updateAll(2);\n _triggers.forEach(function(t) {\n return _isFunction(t.vars.onRefresh) && t.vars.onRefresh(t);\n });\n _refreshingAll = ScrollTrigger2.isRefreshing = false;\n _dispatch(\"refresh\");\n};\nvar _lastScroll = 0;\nvar _direction = 1;\nvar _primary;\nvar _updateAll = function _updateAll2(force) {\n if (force === 2 || !_refreshingAll && !_isReverted) {\n ScrollTrigger2.isUpdating = true;\n _primary && _primary.update(0);\n var l = _triggers.length, time = _getTime2(), recordVelocity = time - _time1 >= 50, scroll = l && _triggers[0].scroll();\n _direction = _lastScroll > scroll ? -1 : 1;\n _refreshingAll || (_lastScroll = scroll);\n if (recordVelocity) {\n if (_lastScrollTime && !_pointerIsDown && time - _lastScrollTime > 200) {\n _lastScrollTime = 0;\n _dispatch(\"scrollEnd\");\n }\n _time2 = _time1;\n _time1 = time;\n }\n if (_direction < 0) {\n _i = l;\n while (_i-- > 0) {\n _triggers[_i] && _triggers[_i].update(0, recordVelocity);\n }\n _direction = 1;\n } else {\n for (_i = 0; _i < l; _i++) {\n _triggers[_i] && _triggers[_i].update(0, recordVelocity);\n }\n }\n ScrollTrigger2.isUpdating = false;\n }\n _rafID = 0;\n};\nvar _propNamesToCopy = [_left, _top, _bottom, _right, _margin + _Bottom, _margin + _Right, _margin + _Top, _margin + _Left, \"display\", \"flexShrink\", \"float\", \"zIndex\", \"gridColumnStart\", \"gridColumnEnd\", \"gridRowStart\", \"gridRowEnd\", \"gridArea\", \"justifySelf\", \"alignSelf\", \"placeSelf\", \"order\"];\nvar _stateProps = _propNamesToCopy.concat([_width, _height, \"boxSizing\", \"max\" + _Width, \"max\" + _Height, \"position\", _margin, _padding, _padding + _Top, _padding + _Right, _padding + _Bottom, _padding + _Left]);\nvar _swapPinOut = function _swapPinOut2(pin, spacer, state) {\n _setState(state);\n var cache = pin._gsap;\n if (cache.spacerIsNative) {\n _setState(cache.spacerState);\n } else if (pin._gsap.swappedIn) {\n var parent = spacer.parentNode;\n if (parent) {\n parent.insertBefore(pin, spacer);\n parent.removeChild(spacer);\n }\n }\n pin._gsap.swappedIn = false;\n};\nvar _swapPinIn = function _swapPinIn2(pin, spacer, cs, spacerState) {\n if (!pin._gsap.swappedIn) {\n var i = _propNamesToCopy.length, spacerStyle = spacer.style, pinStyle = pin.style, p;\n while (i--) {\n p = _propNamesToCopy[i];\n spacerStyle[p] = cs[p];\n }\n spacerStyle.position = cs.position === \"absolute\" ? \"absolute\" : \"relative\";\n cs.display === \"inline\" && (spacerStyle.display = \"inline-block\");\n pinStyle[_bottom] = pinStyle[_right] = \"auto\";\n spacerStyle.flexBasis = cs.flexBasis || \"auto\";\n spacerStyle.overflow = \"visible\";\n spacerStyle.boxSizing = \"border-box\";\n spacerStyle[_width] = _getSize(pin, _horizontal) + _px;\n spacerStyle[_height] = _getSize(pin, _vertical) + _px;\n spacerStyle[_padding] = pinStyle[_margin] = pinStyle[_top] = pinStyle[_left] = \"0\";\n _setState(spacerState);\n pinStyle[_width] = pinStyle[\"max\" + _Width] = cs[_width];\n pinStyle[_height] = pinStyle[\"max\" + _Height] = cs[_height];\n pinStyle[_padding] = cs[_padding];\n if (pin.parentNode !== spacer) {\n pin.parentNode.insertBefore(spacer, pin);\n spacer.appendChild(pin);\n }\n pin._gsap.swappedIn = true;\n }\n};\nvar _capsExp = /([A-Z])/g;\nvar _setState = function _setState2(state) {\n if (state) {\n var style = state.t.style, l = state.length, i = 0, p, value;\n (state.t._gsap || gsap2.core.getCache(state.t)).uncache = 1;\n for (; i < l; i += 2) {\n value = state[i + 1];\n p = state[i];\n if (value) {\n style[p] = value;\n } else if (style[p]) {\n style.removeProperty(p.replace(_capsExp, \"-$1\").toLowerCase());\n }\n }\n }\n};\nvar _getState = function _getState2(element) {\n var l = _stateProps.length, style = element.style, state = [], i = 0;\n for (; i < l; i++) {\n state.push(_stateProps[i], style[_stateProps[i]]);\n }\n state.t = element;\n return state;\n};\nvar _copyState = function _copyState2(state, override, omitOffsets) {\n var result = [], l = state.length, i = omitOffsets ? 8 : 0, p;\n for (; i < l; i += 2) {\n p = state[i];\n result.push(p, p in override ? override[p] : state[i + 1]);\n }\n result.t = state.t;\n return result;\n};\nvar _winOffsets = {\n left: 0,\n top: 0\n};\nvar _parsePosition = function _parsePosition2(value, trigger, scrollerSize, direction, scroll, marker, markerScroller, self, scrollerBounds, borderWidth, useFixedPosition, scrollerMax, containerAnimation, clampZeroProp) {\n _isFunction(value) && (value = value(self));\n if (_isString(value) && value.substr(0, 3) === \"max\") {\n value = scrollerMax + (value.charAt(4) === \"=\" ? _offsetToPx(\"0\" + value.substr(3), scrollerSize) : 0);\n }\n var time = containerAnimation ? containerAnimation.time() : 0, p1, p2, element;\n containerAnimation && containerAnimation.seek(0);\n isNaN(value) || (value = +value);\n if (!_isNumber(value)) {\n _isFunction(trigger) && (trigger = trigger(self));\n var offsets = (value || \"0\").split(\" \"), bounds, localOffset, globalOffset, display;\n element = _getTarget(trigger, self) || _body2;\n bounds = _getBounds(element) || {};\n if ((!bounds || !bounds.left && !bounds.top) && _getComputedStyle(element).display === \"none\") {\n display = element.style.display;\n element.style.display = \"block\";\n bounds = _getBounds(element);\n display ? element.style.display = display : element.style.removeProperty(\"display\");\n }\n localOffset = _offsetToPx(offsets[0], bounds[direction.d]);\n globalOffset = _offsetToPx(offsets[1] || \"0\", scrollerSize);\n value = bounds[direction.p] - scrollerBounds[direction.p] - borderWidth + localOffset + scroll - globalOffset;\n markerScroller && _positionMarker(markerScroller, globalOffset, direction, scrollerSize - globalOffset < 20 || markerScroller._isStart && globalOffset > 20);\n scrollerSize -= scrollerSize - globalOffset;\n } else {\n containerAnimation && (value = gsap2.utils.mapRange(containerAnimation.scrollTrigger.start, containerAnimation.scrollTrigger.end, 0, scrollerMax, value));\n markerScroller && _positionMarker(markerScroller, scrollerSize, direction, true);\n }\n if (clampZeroProp) {\n self[clampZeroProp] = value || -1e-3;\n value < 0 && (value = 0);\n }\n if (marker) {\n var position = value + scrollerSize, isStart = marker._isStart;\n p1 = \"scroll\" + direction.d2;\n _positionMarker(marker, position, direction, isStart && position > 20 || !isStart && (useFixedPosition ? Math.max(_body2[p1], _docEl2[p1]) : marker.parentNode[p1]) <= position + 1);\n if (useFixedPosition) {\n scrollerBounds = _getBounds(markerScroller);\n useFixedPosition && (marker.style[direction.op.p] = scrollerBounds[direction.op.p] - direction.op.m - marker._offset + _px);\n }\n }\n if (containerAnimation && element) {\n p1 = _getBounds(element);\n containerAnimation.seek(scrollerMax);\n p2 = _getBounds(element);\n containerAnimation._caScrollDist = p1[direction.p] - p2[direction.p];\n value = value / containerAnimation._caScrollDist * scrollerMax;\n }\n containerAnimation && containerAnimation.seek(time);\n return containerAnimation ? value : Math.round(value);\n};\nvar _prefixExp = /(webkit|moz|length|cssText|inset)/i;\nvar _reparent = function _reparent2(element, parent, top, left) {\n if (element.parentNode !== parent) {\n var style = element.style, p, cs;\n if (parent === _body2) {\n element._stOrig = style.cssText;\n cs = _getComputedStyle(element);\n for (p in cs) {\n if (!+p && !_prefixExp.test(p) && cs[p] && typeof style[p] === \"string\" && p !== \"0\") {\n style[p] = cs[p];\n }\n }\n style.top = top;\n style.left = left;\n } else {\n style.cssText = element._stOrig;\n }\n gsap2.core.getCache(element).uncache = 1;\n parent.appendChild(element);\n }\n};\nvar _interruptionTracker = function _interruptionTracker2(getValueFunc, initialValue, onInterrupt) {\n var last1 = initialValue, last2 = last1;\n return function(value) {\n var current = Math.round(getValueFunc());\n if (current !== last1 && current !== last2 && Math.abs(current - last1) > 3 && Math.abs(current - last2) > 3) {\n value = current;\n onInterrupt && onInterrupt();\n }\n last2 = last1;\n last1 = value;\n return value;\n };\n};\nvar _shiftMarker = function _shiftMarker2(marker, direction, value) {\n var vars = {};\n vars[direction.p] = \"+=\" + value;\n gsap2.set(marker, vars);\n};\nvar _getTweenCreator = function _getTweenCreator2(scroller, direction) {\n var getScroll = _getScrollFunc(scroller, direction), prop = \"_scroll\" + direction.p2, getTween = function getTween2(scrollTo, vars, initialValue, change1, change2) {\n var tween = getTween2.tween, onComplete = vars.onComplete, modifiers = {};\n initialValue = initialValue || getScroll();\n var checkForInterruption = _interruptionTracker(getScroll, initialValue, function() {\n tween.kill();\n getTween2.tween = 0;\n });\n change2 = change1 && change2 || 0;\n change1 = change1 || scrollTo - initialValue;\n tween && tween.kill();\n vars[prop] = scrollTo;\n vars.inherit = false;\n vars.modifiers = modifiers;\n modifiers[prop] = function() {\n return checkForInterruption(initialValue + change1 * tween.ratio + change2 * tween.ratio * tween.ratio);\n };\n vars.onUpdate = function() {\n _scrollers.cache++;\n getTween2.tween && _updateAll();\n };\n vars.onComplete = function() {\n getTween2.tween = 0;\n onComplete && onComplete.call(tween);\n };\n tween = getTween2.tween = gsap2.to(scroller, vars);\n return tween;\n };\n scroller[prop] = getScroll;\n getScroll.wheelHandler = function() {\n return getTween.tween && getTween.tween.kill() && (getTween.tween = 0);\n };\n _addListener3(scroller, \"wheel\", getScroll.wheelHandler);\n ScrollTrigger2.isTouch && _addListener3(scroller, \"touchmove\", getScroll.wheelHandler);\n return getTween;\n};\nvar ScrollTrigger2 = /* @__PURE__ */ function() {\n function ScrollTrigger3(vars, animation) {\n _coreInitted2 || ScrollTrigger3.register(gsap2) || console.warn(\"Please gsap.registerPlugin(ScrollTrigger)\");\n _context2(this);\n this.init(vars, animation);\n }\n var _proto = ScrollTrigger3.prototype;\n _proto.init = function init(vars, animation) {\n this.progress = this.start = 0;\n this.vars && this.kill(true, true);\n if (!_enabled) {\n this.update = this.refresh = this.kill = _passThrough;\n return;\n }\n vars = _setDefaults(_isString(vars) || _isNumber(vars) || vars.nodeType ? {\n trigger: vars\n } : vars, _defaults);\n var _vars = vars, onUpdate = _vars.onUpdate, toggleClass = _vars.toggleClass, id = _vars.id, onToggle = _vars.onToggle, onRefresh = _vars.onRefresh, scrub = _vars.scrub, trigger = _vars.trigger, pin = _vars.pin, pinSpacing = _vars.pinSpacing, invalidateOnRefresh = _vars.invalidateOnRefresh, anticipatePin = _vars.anticipatePin, onScrubComplete = _vars.onScrubComplete, onSnapComplete = _vars.onSnapComplete, once = _vars.once, snap = _vars.snap, pinReparent = _vars.pinReparent, pinSpacer = _vars.pinSpacer, containerAnimation = _vars.containerAnimation, fastScrollEnd = _vars.fastScrollEnd, preventOverlaps = _vars.preventOverlaps, direction = vars.horizontal || vars.containerAnimation && vars.horizontal !== false ? _horizontal : _vertical, isToggle = !scrub && scrub !== 0, scroller = _getTarget(vars.scroller || _win2), scrollerCache = gsap2.core.getCache(scroller), isViewport = _isViewport3(scroller), useFixedPosition = (\"pinType\" in vars ? vars.pinType : _getProxyProp(scroller, \"pinType\") || isViewport && \"fixed\") === \"fixed\", callbacks = [vars.onEnter, vars.onLeave, vars.onEnterBack, vars.onLeaveBack], toggleActions = isToggle && vars.toggleActions.split(\" \"), markers = \"markers\" in vars ? vars.markers : _defaults.markers, borderWidth = isViewport ? 0 : parseFloat(_getComputedStyle(scroller)[\"border\" + direction.p2 + _Width]) || 0, self = this, onRefreshInit = vars.onRefreshInit && function() {\n return vars.onRefreshInit(self);\n }, getScrollerSize = _getSizeFunc(scroller, isViewport, direction), getScrollerOffsets = _getOffsetsFunc(scroller, isViewport), lastSnap = 0, lastRefresh = 0, prevProgress = 0, scrollFunc = _getScrollFunc(scroller, direction), tweenTo, pinCache, snapFunc, scroll1, scroll2, start, end, markerStart, markerEnd, markerStartTrigger, markerEndTrigger, markerVars, executingOnRefresh, change, pinOriginalState, pinActiveState, pinState, spacer, offset, pinGetter, pinSetter, pinStart, pinChange, spacingStart, spacerState, markerStartSetter, pinMoves, markerEndSetter, cs, snap1, snap2, scrubTween, scrubSmooth, snapDurClamp, snapDelayedCall, prevScroll, prevAnimProgress, caMarkerSetter, customRevertReturn;\n self._startClamp = self._endClamp = false;\n self._dir = direction;\n anticipatePin *= 45;\n self.scroller = scroller;\n self.scroll = containerAnimation ? containerAnimation.time.bind(containerAnimation) : scrollFunc;\n scroll1 = scrollFunc();\n self.vars = vars;\n animation = animation || vars.animation;\n if (\"refreshPriority\" in vars) {\n _sort = 1;\n vars.refreshPriority === -9999 && (_primary = self);\n }\n scrollerCache.tweenScroll = scrollerCache.tweenScroll || {\n top: _getTweenCreator(scroller, _vertical),\n left: _getTweenCreator(scroller, _horizontal)\n };\n self.tweenTo = tweenTo = scrollerCache.tweenScroll[direction.p];\n self.scrubDuration = function(value) {\n scrubSmooth = _isNumber(value) && value;\n if (!scrubSmooth) {\n scrubTween && scrubTween.progress(1).kill();\n scrubTween = 0;\n } else {\n scrubTween ? scrubTween.duration(value) : scrubTween = gsap2.to(animation, {\n ease: \"expo\",\n totalProgress: \"+=0\",\n inherit: false,\n duration: scrubSmooth,\n paused: true,\n onComplete: function onComplete() {\n return onScrubComplete && onScrubComplete(self);\n }\n });\n }\n };\n if (animation) {\n animation.vars.lazy = false;\n animation._initted && !self.isReverted || animation.vars.immediateRender !== false && vars.immediateRender !== false && animation.duration() && animation.render(0, true, true);\n self.animation = animation.pause();\n animation.scrollTrigger = self;\n self.scrubDuration(scrub);\n snap1 = 0;\n id || (id = animation.vars.id);\n }\n if (snap) {\n if (!_isObject(snap) || snap.push) {\n snap = {\n snapTo: snap\n };\n }\n \"scrollBehavior\" in _body2.style && gsap2.set(isViewport ? [_body2, _docEl2] : scroller, {\n scrollBehavior: \"auto\"\n });\n _scrollers.forEach(function(o) {\n return _isFunction(o) && o.target === (isViewport ? _doc2.scrollingElement || _docEl2 : scroller) && (o.smooth = false);\n });\n snapFunc = _isFunction(snap.snapTo) ? snap.snapTo : snap.snapTo === \"labels\" ? _getClosestLabel(animation) : snap.snapTo === \"labelsDirectional\" ? _getLabelAtDirection(animation) : snap.directional !== false ? function(value, st) {\n return _snapDirectional(snap.snapTo)(value, _getTime2() - lastRefresh < 500 ? 0 : st.direction);\n } : gsap2.utils.snap(snap.snapTo);\n snapDurClamp = snap.duration || {\n min: 0.1,\n max: 2\n };\n snapDurClamp = _isObject(snapDurClamp) ? _clamp2(snapDurClamp.min, snapDurClamp.max) : _clamp2(snapDurClamp, snapDurClamp);\n snapDelayedCall = gsap2.delayedCall(snap.delay || scrubSmooth / 2 || 0.1, function() {\n var scroll = scrollFunc(), refreshedRecently = _getTime2() - lastRefresh < 500, tween = tweenTo.tween;\n if ((refreshedRecently || Math.abs(self.getVelocity()) < 10) && !tween && !_pointerIsDown && lastSnap !== scroll) {\n var progress = (scroll - start) / change, totalProgress = animation && !isToggle ? animation.totalProgress() : progress, velocity = refreshedRecently ? 0 : (totalProgress - snap2) / (_getTime2() - _time2) * 1e3 || 0, change1 = gsap2.utils.clamp(-progress, 1 - progress, _abs(velocity / 2) * velocity / 0.185), naturalEnd = progress + (snap.inertia === false ? 0 : change1), endValue, endScroll, _snap = snap, onStart = _snap.onStart, _onInterrupt = _snap.onInterrupt, _onComplete = _snap.onComplete;\n endValue = snapFunc(naturalEnd, self);\n _isNumber(endValue) || (endValue = naturalEnd);\n endScroll = Math.round(start + endValue * change);\n if (scroll <= end && scroll >= start && endScroll !== scroll) {\n if (tween && !tween._initted && tween.data <= _abs(endScroll - scroll)) {\n return;\n }\n if (snap.inertia === false) {\n change1 = endValue - progress;\n }\n tweenTo(endScroll, {\n duration: snapDurClamp(_abs(Math.max(_abs(naturalEnd - totalProgress), _abs(endValue - totalProgress)) * 0.185 / velocity / 0.05 || 0)),\n ease: snap.ease || \"power3\",\n data: _abs(endScroll - scroll),\n // record the distance so that if another snap tween occurs (conflict) we can prioritize the closest snap.\n onInterrupt: function onInterrupt() {\n return snapDelayedCall.restart(true) && _onInterrupt && _onInterrupt(self);\n },\n onComplete: function onComplete() {\n self.update();\n lastSnap = scrollFunc();\n if (animation) {\n scrubTween ? scrubTween.resetTo(\"totalProgress\", endValue, animation._tTime / animation._tDur) : animation.progress(endValue);\n }\n snap1 = snap2 = animation && !isToggle ? animation.totalProgress() : self.progress;\n onSnapComplete && onSnapComplete(self);\n _onComplete && _onComplete(self);\n }\n }, scroll, change1 * change, endScroll - scroll - change1 * change);\n onStart && onStart(self, tweenTo.tween);\n }\n } else if (self.isActive && lastSnap !== scroll) {\n snapDelayedCall.restart(true);\n }\n }).pause();\n }\n id && (_ids[id] = self);\n trigger = self.trigger = _getTarget(trigger || pin !== true && pin);\n customRevertReturn = trigger && trigger._gsap && trigger._gsap.stRevert;\n customRevertReturn && (customRevertReturn = customRevertReturn(self));\n pin = pin === true ? trigger : _getTarget(pin);\n _isString(toggleClass) && (toggleClass = {\n targets: trigger,\n className: toggleClass\n });\n if (pin) {\n pinSpacing === false || pinSpacing === _margin || (pinSpacing = !pinSpacing && pin.parentNode && pin.parentNode.style && _getComputedStyle(pin.parentNode).display === \"flex\" ? false : _padding);\n self.pin = pin;\n pinCache = gsap2.core.getCache(pin);\n if (!pinCache.spacer) {\n if (pinSpacer) {\n pinSpacer = _getTarget(pinSpacer);\n pinSpacer && !pinSpacer.nodeType && (pinSpacer = pinSpacer.current || pinSpacer.nativeElement);\n pinCache.spacerIsNative = !!pinSpacer;\n pinSpacer && (pinCache.spacerState = _getState(pinSpacer));\n }\n pinCache.spacer = spacer = pinSpacer || _doc2.createElement(\"div\");\n spacer.classList.add(\"pin-spacer\");\n id && spacer.classList.add(\"pin-spacer-\" + id);\n pinCache.pinState = pinOriginalState = _getState(pin);\n } else {\n pinOriginalState = pinCache.pinState;\n }\n vars.force3D !== false && gsap2.set(pin, {\n force3D: true\n });\n self.spacer = spacer = pinCache.spacer;\n cs = _getComputedStyle(pin);\n spacingStart = cs[pinSpacing + direction.os2];\n pinGetter = gsap2.getProperty(pin);\n pinSetter = gsap2.quickSetter(pin, direction.a, _px);\n _swapPinIn(pin, spacer, cs);\n pinState = _getState(pin);\n }\n if (markers) {\n markerVars = _isObject(markers) ? _setDefaults(markers, _markerDefaults) : _markerDefaults;\n markerStartTrigger = _createMarker(\"scroller-start\", id, scroller, direction, markerVars, 0);\n markerEndTrigger = _createMarker(\"scroller-end\", id, scroller, direction, markerVars, 0, markerStartTrigger);\n offset = markerStartTrigger[\"offset\" + direction.op.d2];\n var content = _getTarget(_getProxyProp(scroller, \"content\") || scroller);\n markerStart = this.markerStart = _createMarker(\"start\", id, content, direction, markerVars, offset, 0, containerAnimation);\n markerEnd = this.markerEnd = _createMarker(\"end\", id, content, direction, markerVars, offset, 0, containerAnimation);\n containerAnimation && (caMarkerSetter = gsap2.quickSetter([markerStart, markerEnd], direction.a, _px));\n if (!useFixedPosition && !(_proxies.length && _getProxyProp(scroller, \"fixedMarkers\") === true)) {\n _makePositionable(isViewport ? _body2 : scroller);\n gsap2.set([markerStartTrigger, markerEndTrigger], {\n force3D: true\n });\n markerStartSetter = gsap2.quickSetter(markerStartTrigger, direction.a, _px);\n markerEndSetter = gsap2.quickSetter(markerEndTrigger, direction.a, _px);\n }\n }\n if (containerAnimation) {\n var oldOnUpdate = containerAnimation.vars.onUpdate, oldParams = containerAnimation.vars.onUpdateParams;\n containerAnimation.eventCallback(\"onUpdate\", function() {\n self.update(0, 0, 1);\n oldOnUpdate && oldOnUpdate.apply(containerAnimation, oldParams || []);\n });\n }\n self.previous = function() {\n return _triggers[_triggers.indexOf(self) - 1];\n };\n self.next = function() {\n return _triggers[_triggers.indexOf(self) + 1];\n };\n self.revert = function(revert, temp) {\n if (!temp) {\n return self.kill(true);\n }\n var r = revert !== false || !self.enabled, prevRefreshing = _refreshing;\n if (r !== self.isReverted) {\n if (r) {\n prevScroll = Math.max(scrollFunc(), self.scroll.rec || 0);\n prevProgress = self.progress;\n prevAnimProgress = animation && animation.progress();\n }\n markerStart && [markerStart, markerEnd, markerStartTrigger, markerEndTrigger].forEach(function(m) {\n return m.style.display = r ? \"none\" : \"block\";\n });\n if (r) {\n _refreshing = self;\n self.update(r);\n }\n if (pin && (!pinReparent || !self.isActive)) {\n if (r) {\n _swapPinOut(pin, spacer, pinOriginalState);\n } else {\n _swapPinIn(pin, spacer, _getComputedStyle(pin), spacerState);\n }\n }\n r || self.update(r);\n _refreshing = prevRefreshing;\n self.isReverted = r;\n }\n };\n self.refresh = function(soft, force, position, pinOffset) {\n if ((_refreshing || !self.enabled) && !force) {\n return;\n }\n if (pin && soft && _lastScrollTime) {\n _addListener3(ScrollTrigger3, \"scrollEnd\", _softRefresh);\n return;\n }\n !_refreshingAll && onRefreshInit && onRefreshInit(self);\n _refreshing = self;\n if (tweenTo.tween && !position) {\n tweenTo.tween.kill();\n tweenTo.tween = 0;\n }\n scrubTween && scrubTween.pause();\n invalidateOnRefresh && animation && animation.revert({\n kill: false\n }).invalidate();\n self.isReverted || self.revert(true, true);\n self._subPinOffset = false;\n var size = getScrollerSize(), scrollerBounds = getScrollerOffsets(), max = containerAnimation ? containerAnimation.duration() : _maxScroll(scroller, direction), isFirstRefresh = change <= 0.01, offset2 = 0, otherPinOffset = pinOffset || 0, parsedEnd = _isObject(position) ? position.end : vars.end, parsedEndTrigger = vars.endTrigger || trigger, parsedStart = _isObject(position) ? position.start : vars.start || (vars.start === 0 || !trigger ? 0 : pin ? \"0 0\" : \"0 100%\"), pinnedContainer = self.pinnedContainer = vars.pinnedContainer && _getTarget(vars.pinnedContainer, self), triggerIndex = trigger && Math.max(0, _triggers.indexOf(self)) || 0, i = triggerIndex, cs2, bounds, scroll, isVertical, override, curTrigger, curPin, oppositeScroll, initted, revertedPins, forcedOverflow, markerStartOffset, markerEndOffset;\n if (markers && _isObject(position)) {\n markerStartOffset = gsap2.getProperty(markerStartTrigger, direction.p);\n markerEndOffset = gsap2.getProperty(markerEndTrigger, direction.p);\n }\n while (i--) {\n curTrigger = _triggers[i];\n curTrigger.end || curTrigger.refresh(0, 1) || (_refreshing = self);\n curPin = curTrigger.pin;\n if (curPin && (curPin === trigger || curPin === pin || curPin === pinnedContainer) && !curTrigger.isReverted) {\n revertedPins || (revertedPins = []);\n revertedPins.unshift(curTrigger);\n curTrigger.revert(true, true);\n }\n if (curTrigger !== _triggers[i]) {\n triggerIndex--;\n i--;\n }\n }\n _isFunction(parsedStart) && (parsedStart = parsedStart(self));\n parsedStart = _parseClamp(parsedStart, \"start\", self);\n start = _parsePosition(parsedStart, trigger, size, direction, scrollFunc(), markerStart, markerStartTrigger, self, scrollerBounds, borderWidth, useFixedPosition, max, containerAnimation, self._startClamp && \"_startClamp\") || (pin ? -1e-3 : 0);\n _isFunction(parsedEnd) && (parsedEnd = parsedEnd(self));\n if (_isString(parsedEnd) && !parsedEnd.indexOf(\"+=\")) {\n if (~parsedEnd.indexOf(\" \")) {\n parsedEnd = (_isString(parsedStart) ? parsedStart.split(\" \")[0] : \"\") + parsedEnd;\n } else {\n offset2 = _offsetToPx(parsedEnd.substr(2), size);\n parsedEnd = _isString(parsedStart) ? parsedStart : (containerAnimation ? gsap2.utils.mapRange(0, containerAnimation.duration(), containerAnimation.scrollTrigger.start, containerAnimation.scrollTrigger.end, start) : start) + offset2;\n parsedEndTrigger = trigger;\n }\n }\n parsedEnd = _parseClamp(parsedEnd, \"end\", self);\n end = Math.max(start, _parsePosition(parsedEnd || (parsedEndTrigger ? \"100% 0\" : max), parsedEndTrigger, size, direction, scrollFunc() + offset2, markerEnd, markerEndTrigger, self, scrollerBounds, borderWidth, useFixedPosition, max, containerAnimation, self._endClamp && \"_endClamp\")) || -1e-3;\n offset2 = 0;\n i = triggerIndex;\n while (i--) {\n curTrigger = _triggers[i];\n curPin = curTrigger.pin;\n if (curPin && curTrigger.start - curTrigger._pinPush <= start && !containerAnimation && curTrigger.end > 0) {\n cs2 = curTrigger.end - (self._startClamp ? Math.max(0, curTrigger.start) : curTrigger.start);\n if ((curPin === trigger && curTrigger.start - curTrigger._pinPush < start || curPin === pinnedContainer) && isNaN(parsedStart)) {\n offset2 += cs2 * (1 - curTrigger.progress);\n }\n curPin === pin && (otherPinOffset += cs2);\n }\n }\n start += offset2;\n end += offset2;\n self._startClamp && (self._startClamp += offset2);\n if (self._endClamp && !_refreshingAll) {\n self._endClamp = end || -1e-3;\n end = Math.min(end, _maxScroll(scroller, direction));\n }\n change = end - start || (start -= 0.01) && 1e-3;\n if (isFirstRefresh) {\n prevProgress = gsap2.utils.clamp(0, 1, gsap2.utils.normalize(start, end, prevScroll));\n }\n self._pinPush = otherPinOffset;\n if (markerStart && offset2) {\n cs2 = {};\n cs2[direction.a] = \"+=\" + offset2;\n pinnedContainer && (cs2[direction.p] = \"-=\" + scrollFunc());\n gsap2.set([markerStart, markerEnd], cs2);\n }\n if (pin && !(_clampingMax && self.end >= _maxScroll(scroller, direction))) {\n cs2 = _getComputedStyle(pin);\n isVertical = direction === _vertical;\n scroll = scrollFunc();\n pinStart = parseFloat(pinGetter(direction.a)) + otherPinOffset;\n if (!max && end > 1) {\n forcedOverflow = (isViewport ? _doc2.scrollingElement || _docEl2 : scroller).style;\n forcedOverflow = {\n style: forcedOverflow,\n value: forcedOverflow[\"overflow\" + direction.a.toUpperCase()]\n };\n if (isViewport && _getComputedStyle(_body2)[\"overflow\" + direction.a.toUpperCase()] !== \"scroll\") {\n forcedOverflow.style[\"overflow\" + direction.a.toUpperCase()] = \"scroll\";\n }\n }\n _swapPinIn(pin, spacer, cs2);\n pinState = _getState(pin);\n bounds = _getBounds(pin, true);\n oppositeScroll = useFixedPosition && _getScrollFunc(scroller, isVertical ? _horizontal : _vertical)();\n if (pinSpacing) {\n spacerState = [pinSpacing + direction.os2, change + otherPinOffset + _px];\n spacerState.t = spacer;\n i = pinSpacing === _padding ? _getSize(pin, direction) + change + otherPinOffset : 0;\n if (i) {\n spacerState.push(direction.d, i + _px);\n spacer.style.flexBasis !== \"auto\" && (spacer.style.flexBasis = i + _px);\n }\n _setState(spacerState);\n if (pinnedContainer) {\n _triggers.forEach(function(t) {\n if (t.pin === pinnedContainer && t.vars.pinSpacing !== false) {\n t._subPinOffset = true;\n }\n });\n }\n useFixedPosition && scrollFunc(prevScroll);\n } else {\n i = _getSize(pin, direction);\n i && spacer.style.flexBasis !== \"auto\" && (spacer.style.flexBasis = i + _px);\n }\n if (useFixedPosition) {\n override = {\n top: bounds.top + (isVertical ? scroll - start : oppositeScroll) + _px,\n left: bounds.left + (isVertical ? oppositeScroll : scroll - start) + _px,\n boxSizing: \"border-box\",\n position: \"fixed\"\n };\n override[_width] = override[\"max\" + _Width] = Math.ceil(bounds.width) + _px;\n override[_height] = override[\"max\" + _Height] = Math.ceil(bounds.height) + _px;\n override[_margin] = override[_margin + _Top] = override[_margin + _Right] = override[_margin + _Bottom] = override[_margin + _Left] = \"0\";\n override[_padding] = cs2[_padding];\n override[_padding + _Top] = cs2[_padding + _Top];\n override[_padding + _Right] = cs2[_padding + _Right];\n override[_padding + _Bottom] = cs2[_padding + _Bottom];\n override[_padding + _Left] = cs2[_padding + _Left];\n pinActiveState = _copyState(pinOriginalState, override, pinReparent);\n _refreshingAll && scrollFunc(0);\n }\n if (animation) {\n initted = animation._initted;\n _suppressOverwrites(1);\n animation.render(animation.duration(), true, true);\n pinChange = pinGetter(direction.a) - pinStart + change + otherPinOffset;\n pinMoves = Math.abs(change - pinChange) > 1;\n useFixedPosition && pinMoves && pinActiveState.splice(pinActiveState.length - 2, 2);\n animation.render(0, true, true);\n initted || animation.invalidate(true);\n animation.parent || animation.totalTime(animation.totalTime());\n _suppressOverwrites(0);\n } else {\n pinChange = change;\n }\n forcedOverflow && (forcedOverflow.value ? forcedOverflow.style[\"overflow\" + direction.a.toUpperCase()] = forcedOverflow.value : forcedOverflow.style.removeProperty(\"overflow-\" + direction.a));\n } else if (trigger && scrollFunc() && !containerAnimation) {\n bounds = trigger.parentNode;\n while (bounds && bounds !== _body2) {\n if (bounds._pinOffset) {\n start -= bounds._pinOffset;\n end -= bounds._pinOffset;\n }\n bounds = bounds.parentNode;\n }\n }\n revertedPins && revertedPins.forEach(function(t) {\n return t.revert(false, true);\n });\n self.start = start;\n self.end = end;\n scroll1 = scroll2 = _refreshingAll ? prevScroll : scrollFunc();\n if (!containerAnimation && !_refreshingAll) {\n scroll1 < prevScroll && scrollFunc(prevScroll);\n self.scroll.rec = 0;\n }\n self.revert(false, true);\n lastRefresh = _getTime2();\n if (snapDelayedCall) {\n lastSnap = -1;\n snapDelayedCall.restart(true);\n }\n _refreshing = 0;\n animation && isToggle && (animation._initted || prevAnimProgress) && animation.progress() !== prevAnimProgress && animation.progress(prevAnimProgress || 0, true).render(animation.time(), true, true);\n if (isFirstRefresh || prevProgress !== self.progress || containerAnimation || invalidateOnRefresh) {\n animation && !isToggle && animation.totalProgress(containerAnimation && start < -1e-3 && !prevProgress ? gsap2.utils.normalize(start, end, 0) : prevProgress, true);\n self.progress = isFirstRefresh || (scroll1 - start) / change === prevProgress ? 0 : prevProgress;\n }\n pin && pinSpacing && (spacer._pinOffset = Math.round(self.progress * pinChange));\n scrubTween && scrubTween.invalidate();\n if (!isNaN(markerStartOffset)) {\n markerStartOffset -= gsap2.getProperty(markerStartTrigger, direction.p);\n markerEndOffset -= gsap2.getProperty(markerEndTrigger, direction.p);\n _shiftMarker(markerStartTrigger, direction, markerStartOffset);\n _shiftMarker(markerStart, direction, markerStartOffset - (pinOffset || 0));\n _shiftMarker(markerEndTrigger, direction, markerEndOffset);\n _shiftMarker(markerEnd, direction, markerEndOffset - (pinOffset || 0));\n }\n isFirstRefresh && !_refreshingAll && self.update();\n if (onRefresh && !_refreshingAll && !executingOnRefresh) {\n executingOnRefresh = true;\n onRefresh(self);\n executingOnRefresh = false;\n }\n };\n self.getVelocity = function() {\n return (scrollFunc() - scroll2) / (_getTime2() - _time2) * 1e3 || 0;\n };\n self.endAnimation = function() {\n _endAnimation(self.callbackAnimation);\n if (animation) {\n scrubTween ? scrubTween.progress(1) : !animation.paused() ? _endAnimation(animation, animation.reversed()) : isToggle || _endAnimation(animation, self.direction < 0, 1);\n }\n };\n self.labelToScroll = function(label) {\n return animation && animation.labels && (start || self.refresh() || start) + animation.labels[label] / animation.duration() * change || 0;\n };\n self.getTrailing = function(name) {\n var i = _triggers.indexOf(self), a = self.direction > 0 ? _triggers.slice(0, i).reverse() : _triggers.slice(i + 1);\n return (_isString(name) ? a.filter(function(t) {\n return t.vars.preventOverlaps === name;\n }) : a).filter(function(t) {\n return self.direction > 0 ? t.end <= start : t.start >= end;\n });\n };\n self.update = function(reset, recordVelocity, forceFake) {\n if (containerAnimation && !forceFake && !reset) {\n return;\n }\n var scroll = _refreshingAll === true ? prevScroll : self.scroll(), p = reset ? 0 : (scroll - start) / change, clipped = p < 0 ? 0 : p > 1 ? 1 : p || 0, prevProgress2 = self.progress, isActive, wasActive, toggleState, action, stateChanged, toggled, isAtMax, isTakingAction;\n if (recordVelocity) {\n scroll2 = scroll1;\n scroll1 = containerAnimation ? scrollFunc() : scroll;\n if (snap) {\n snap2 = snap1;\n snap1 = animation && !isToggle ? animation.totalProgress() : clipped;\n }\n }\n if (anticipatePin && pin && !_refreshing && !_startup2 && _lastScrollTime) {\n if (!clipped && start < scroll + (scroll - scroll2) / (_getTime2() - _time2) * anticipatePin) {\n clipped = 1e-4;\n } else if (clipped === 1 && end > scroll + (scroll - scroll2) / (_getTime2() - _time2) * anticipatePin) {\n clipped = 0.9999;\n }\n }\n if (clipped !== prevProgress2 && self.enabled) {\n isActive = self.isActive = !!clipped && clipped < 1;\n wasActive = !!prevProgress2 && prevProgress2 < 1;\n toggled = isActive !== wasActive;\n stateChanged = toggled || !!clipped !== !!prevProgress2;\n self.direction = clipped > prevProgress2 ? 1 : -1;\n self.progress = clipped;\n if (stateChanged && !_refreshing) {\n toggleState = clipped && !prevProgress2 ? 0 : clipped === 1 ? 1 : prevProgress2 === 1 ? 2 : 3;\n if (isToggle) {\n action = !toggled && toggleActions[toggleState + 1] !== \"none\" && toggleActions[toggleState + 1] || toggleActions[toggleState];\n isTakingAction = animation && (action === \"complete\" || action === \"reset\" || action in animation);\n }\n }\n preventOverlaps && (toggled || isTakingAction) && (isTakingAction || scrub || !animation) && (_isFunction(preventOverlaps) ? preventOverlaps(self) : self.getTrailing(preventOverlaps).forEach(function(t) {\n return t.endAnimation();\n }));\n if (!isToggle) {\n if (scrubTween && !_refreshing && !_startup2) {\n scrubTween._dp._time - scrubTween._start !== scrubTween._time && scrubTween.render(scrubTween._dp._time - scrubTween._start);\n if (scrubTween.resetTo) {\n scrubTween.resetTo(\"totalProgress\", clipped, animation._tTime / animation._tDur);\n } else {\n scrubTween.vars.totalProgress = clipped;\n scrubTween.invalidate().restart();\n }\n } else if (animation) {\n animation.totalProgress(clipped, !!(_refreshing && (lastRefresh || reset)));\n }\n }\n if (pin) {\n reset && pinSpacing && (spacer.style[pinSpacing + direction.os2] = spacingStart);\n if (!useFixedPosition) {\n pinSetter(_round(pinStart + pinChange * clipped));\n } else if (stateChanged) {\n isAtMax = !reset && clipped > prevProgress2 && end + 1 > scroll && scroll + 1 >= _maxScroll(scroller, direction);\n if (pinReparent) {\n if (!reset && (isActive || isAtMax)) {\n var bounds = _getBounds(pin, true), _offset = scroll - start;\n _reparent(pin, _body2, bounds.top + (direction === _vertical ? _offset : 0) + _px, bounds.left + (direction === _vertical ? 0 : _offset) + _px);\n } else {\n _reparent(pin, spacer);\n }\n }\n _setState(isActive || isAtMax ? pinActiveState : pinState);\n pinMoves && clipped < 1 && isActive || pinSetter(pinStart + (clipped === 1 && !isAtMax ? pinChange : 0));\n }\n }\n snap && !tweenTo.tween && !_refreshing && !_startup2 && snapDelayedCall.restart(true);\n toggleClass && (toggled || once && clipped && (clipped < 1 || !_limitCallbacks)) && _toArray(toggleClass.targets).forEach(function(el) {\n return el.classList[isActive || once ? \"add\" : \"remove\"](toggleClass.className);\n });\n onUpdate && !isToggle && !reset && onUpdate(self);\n if (stateChanged && !_refreshing) {\n if (isToggle) {\n if (isTakingAction) {\n if (action === \"complete\") {\n animation.pause().totalProgress(1);\n } else if (action === \"reset\") {\n animation.restart(true).pause();\n } else if (action === \"restart\") {\n animation.restart(true);\n } else {\n animation[action]();\n }\n }\n onUpdate && onUpdate(self);\n }\n if (toggled || !_limitCallbacks) {\n onToggle && toggled && _callback(self, onToggle);\n callbacks[toggleState] && _callback(self, callbacks[toggleState]);\n once && (clipped === 1 ? self.kill(false, 1) : callbacks[toggleState] = 0);\n if (!toggled) {\n toggleState = clipped === 1 ? 1 : 3;\n callbacks[toggleState] && _callback(self, callbacks[toggleState]);\n }\n }\n if (fastScrollEnd && !isActive && Math.abs(self.getVelocity()) > (_isNumber(fastScrollEnd) ? fastScrollEnd : 2500)) {\n _endAnimation(self.callbackAnimation);\n scrubTween ? scrubTween.progress(1) : _endAnimation(animation, action === \"reverse\" ? 1 : !clipped, 1);\n }\n } else if (isToggle && onUpdate && !_refreshing) {\n onUpdate(self);\n }\n }\n if (markerEndSetter) {\n var n = containerAnimation ? scroll / containerAnimation.duration() * (containerAnimation._caScrollDist || 0) : scroll;\n markerStartSetter(n + (markerStartTrigger._isFlipped ? 1 : 0));\n markerEndSetter(n);\n }\n caMarkerSetter && caMarkerSetter(-scroll / containerAnimation.duration() * (containerAnimation._caScrollDist || 0));\n };\n self.enable = function(reset, refresh) {\n if (!self.enabled) {\n self.enabled = true;\n _addListener3(scroller, \"resize\", _onResize);\n isViewport || _addListener3(scroller, \"scroll\", _onScroll3);\n onRefreshInit && _addListener3(ScrollTrigger3, \"refreshInit\", onRefreshInit);\n if (reset !== false) {\n self.progress = prevProgress = 0;\n scroll1 = scroll2 = lastSnap = scrollFunc();\n }\n refresh !== false && self.refresh();\n }\n };\n self.getTween = function(snap3) {\n return snap3 && tweenTo ? tweenTo.tween : scrubTween;\n };\n self.setPositions = function(newStart, newEnd, keepClamp, pinOffset) {\n if (containerAnimation) {\n var st = containerAnimation.scrollTrigger, duration = containerAnimation.duration(), _change = st.end - st.start;\n newStart = st.start + _change * newStart / duration;\n newEnd = st.start + _change * newEnd / duration;\n }\n self.refresh(false, false, {\n start: _keepClamp(newStart, keepClamp && !!self._startClamp),\n end: _keepClamp(newEnd, keepClamp && !!self._endClamp)\n }, pinOffset);\n self.update();\n };\n self.adjustPinSpacing = function(amount) {\n if (spacerState && amount) {\n var i = spacerState.indexOf(direction.d) + 1;\n spacerState[i] = parseFloat(spacerState[i]) + amount + _px;\n spacerState[1] = parseFloat(spacerState[1]) + amount + _px;\n _setState(spacerState);\n }\n };\n self.disable = function(reset, allowAnimation) {\n if (self.enabled) {\n reset !== false && self.revert(true, true);\n self.enabled = self.isActive = false;\n allowAnimation || scrubTween && scrubTween.pause();\n prevScroll = 0;\n pinCache && (pinCache.uncache = 1);\n onRefreshInit && _removeListener3(ScrollTrigger3, \"refreshInit\", onRefreshInit);\n if (snapDelayedCall) {\n snapDelayedCall.pause();\n tweenTo.tween && tweenTo.tween.kill() && (tweenTo.tween = 0);\n }\n if (!isViewport) {\n var i = _triggers.length;\n while (i--) {\n if (_triggers[i].scroller === scroller && _triggers[i] !== self) {\n return;\n }\n }\n _removeListener3(scroller, \"resize\", _onResize);\n isViewport || _removeListener3(scroller, \"scroll\", _onScroll3);\n }\n }\n };\n self.kill = function(revert, allowAnimation) {\n self.disable(revert, allowAnimation);\n scrubTween && !allowAnimation && scrubTween.kill();\n id && delete _ids[id];\n var i = _triggers.indexOf(self);\n i >= 0 && _triggers.splice(i, 1);\n i === _i && _direction > 0 && _i--;\n i = 0;\n _triggers.forEach(function(t) {\n return t.scroller === self.scroller && (i = 1);\n });\n i || _refreshingAll || (self.scroll.rec = 0);\n if (animation) {\n animation.scrollTrigger = null;\n revert && animation.revert({\n kill: false\n });\n allowAnimation || animation.kill();\n }\n markerStart && [markerStart, markerEnd, markerStartTrigger, markerEndTrigger].forEach(function(m) {\n return m.parentNode && m.parentNode.removeChild(m);\n });\n _primary === self && (_primary = 0);\n if (pin) {\n pinCache && (pinCache.uncache = 1);\n i = 0;\n _triggers.forEach(function(t) {\n return t.pin === pin && i++;\n });\n i || (pinCache.spacer = 0);\n }\n vars.onKill && vars.onKill(self);\n };\n _triggers.push(self);\n self.enable(false, false);\n customRevertReturn && customRevertReturn(self);\n if (animation && animation.add && !change) {\n var updateFunc = self.update;\n self.update = function() {\n self.update = updateFunc;\n start || end || self.refresh();\n };\n gsap2.delayedCall(0.01, self.update);\n change = 0.01;\n start = end = 0;\n } else {\n self.refresh();\n }\n pin && _queueRefreshAll();\n };\n ScrollTrigger3.register = function register(core) {\n if (!_coreInitted2) {\n gsap2 = core || _getGSAP3();\n _windowExists() && window.document && ScrollTrigger3.enable();\n _coreInitted2 = _enabled;\n }\n return _coreInitted2;\n };\n ScrollTrigger3.defaults = function defaults(config) {\n if (config) {\n for (var p in config) {\n _defaults[p] = config[p];\n }\n }\n return _defaults;\n };\n ScrollTrigger3.disable = function disable(reset, kill) {\n _enabled = 0;\n _triggers.forEach(function(trigger) {\n return trigger[kill ? \"kill\" : \"disable\"](reset);\n });\n _removeListener3(_win2, \"wheel\", _onScroll3);\n _removeListener3(_doc2, \"scroll\", _onScroll3);\n clearInterval(_syncInterval);\n _removeListener3(_doc2, \"touchcancel\", _passThrough);\n _removeListener3(_body2, \"touchstart\", _passThrough);\n _multiListener(_removeListener3, _doc2, \"pointerdown,touchstart,mousedown\", _pointerDownHandler);\n _multiListener(_removeListener3, _doc2, \"pointerup,touchend,mouseup\", _pointerUpHandler);\n _resizeDelay.kill();\n _iterateAutoRefresh(_removeListener3);\n for (var i = 0; i < _scrollers.length; i += 3) {\n _wheelListener(_removeListener3, _scrollers[i], _scrollers[i + 1]);\n _wheelListener(_removeListener3, _scrollers[i], _scrollers[i + 2]);\n }\n };\n ScrollTrigger3.enable = function enable() {\n _win2 = window;\n _doc2 = document;\n _docEl2 = _doc2.documentElement;\n _body2 = _doc2.body;\n if (gsap2) {\n _toArray = gsap2.utils.toArray;\n _clamp2 = gsap2.utils.clamp;\n _context2 = gsap2.core.context || _passThrough;\n _suppressOverwrites = gsap2.core.suppressOverwrites || _passThrough;\n _scrollRestoration = _win2.history.scrollRestoration || \"auto\";\n _lastScroll = _win2.pageYOffset;\n gsap2.core.globals(\"ScrollTrigger\", ScrollTrigger3);\n if (_body2) {\n _enabled = 1;\n _div100vh = document.createElement(\"div\");\n _div100vh.style.height = \"100vh\";\n _div100vh.style.position = \"absolute\";\n _refresh100vh();\n _rafBugFix();\n Observer.register(gsap2);\n ScrollTrigger3.isTouch = Observer.isTouch;\n _fixIOSBug = Observer.isTouch && /(iPad|iPhone|iPod|Mac)/g.test(navigator.userAgent);\n _ignoreMobileResize = Observer.isTouch === 1;\n _addListener3(_win2, \"wheel\", _onScroll3);\n _root2 = [_win2, _doc2, _docEl2, _body2];\n if (gsap2.matchMedia) {\n ScrollTrigger3.matchMedia = function(vars) {\n var mm = gsap2.matchMedia(), p;\n for (p in vars) {\n mm.add(p, vars[p]);\n }\n return mm;\n };\n gsap2.addEventListener(\"matchMediaInit\", function() {\n return _revertAll();\n });\n gsap2.addEventListener(\"matchMediaRevert\", function() {\n return _revertRecorded();\n });\n gsap2.addEventListener(\"matchMedia\", function() {\n _refreshAll(0, 1);\n _dispatch(\"matchMedia\");\n });\n gsap2.matchMedia(\"(orientation: portrait)\", function() {\n _setBaseDimensions();\n return _setBaseDimensions;\n });\n } else {\n console.warn(\"Requires GSAP 3.11.0 or later\");\n }\n _setBaseDimensions();\n _addListener3(_doc2, \"scroll\", _onScroll3);\n var bodyStyle = _body2.style, border = bodyStyle.borderTopStyle, AnimationProto = gsap2.core.Animation.prototype, bounds, i;\n AnimationProto.revert || Object.defineProperty(AnimationProto, \"revert\", {\n value: function value() {\n return this.time(-0.01, true);\n }\n });\n bodyStyle.borderTopStyle = \"solid\";\n bounds = _getBounds(_body2);\n _vertical.m = Math.round(bounds.top + _vertical.sc()) || 0;\n _horizontal.m = Math.round(bounds.left + _horizontal.sc()) || 0;\n border ? bodyStyle.borderTopStyle = border : bodyStyle.removeProperty(\"border-top-style\");\n _syncInterval = setInterval(_sync, 250);\n gsap2.delayedCall(0.5, function() {\n return _startup2 = 0;\n });\n _addListener3(_doc2, \"touchcancel\", _passThrough);\n _addListener3(_body2, \"touchstart\", _passThrough);\n _multiListener(_addListener3, _doc2, \"pointerdown,touchstart,mousedown\", _pointerDownHandler);\n _multiListener(_addListener3, _doc2, \"pointerup,touchend,mouseup\", _pointerUpHandler);\n _transformProp = gsap2.utils.checkPrefix(\"transform\");\n _stateProps.push(_transformProp);\n _coreInitted2 = _getTime2();\n _resizeDelay = gsap2.delayedCall(0.2, _refreshAll).pause();\n _autoRefresh = [_doc2, \"visibilitychange\", function() {\n var w = _win2.innerWidth, h = _win2.innerHeight;\n if (_doc2.hidden) {\n _prevWidth = w;\n _prevHeight = h;\n } else if (_prevWidth !== w || _prevHeight !== h) {\n _onResize();\n }\n }, _doc2, \"DOMContentLoaded\", _refreshAll, _win2, \"load\", _refreshAll, _win2, \"resize\", _onResize];\n _iterateAutoRefresh(_addListener3);\n _triggers.forEach(function(trigger) {\n return trigger.enable(0, 1);\n });\n for (i = 0; i < _scrollers.length; i += 3) {\n _wheelListener(_removeListener3, _scrollers[i], _scrollers[i + 1]);\n _wheelListener(_removeListener3, _scrollers[i], _scrollers[i + 2]);\n }\n }\n }\n };\n ScrollTrigger3.config = function config(vars) {\n \"limitCallbacks\" in vars && (_limitCallbacks = !!vars.limitCallbacks);\n var ms = vars.syncInterval;\n ms && clearInterval(_syncInterval) || (_syncInterval = ms) && setInterval(_sync, ms);\n \"ignoreMobileResize\" in vars && (_ignoreMobileResize = ScrollTrigger3.isTouch === 1 && vars.ignoreMobileResize);\n if (\"autoRefreshEvents\" in vars) {\n _iterateAutoRefresh(_removeListener3) || _iterateAutoRefresh(_addListener3, vars.autoRefreshEvents || \"none\");\n _ignoreResize = (vars.autoRefreshEvents + \"\").indexOf(\"resize\") === -1;\n }\n };\n ScrollTrigger3.scrollerProxy = function scrollerProxy(target, vars) {\n var t = _getTarget(target), i = _scrollers.indexOf(t), isViewport = _isViewport3(t);\n if (~i) {\n _scrollers.splice(i, isViewport ? 6 : 2);\n }\n if (vars) {\n isViewport ? _proxies.unshift(_win2, vars, _body2, vars, _docEl2, vars) : _proxies.unshift(t, vars);\n }\n };\n ScrollTrigger3.clearMatchMedia = function clearMatchMedia(query) {\n _triggers.forEach(function(t) {\n return t._ctx && t._ctx.query === query && t._ctx.kill(true, true);\n });\n };\n ScrollTrigger3.isInViewport = function isInViewport(element, ratio, horizontal) {\n var bounds = (_isString(element) ? _getTarget(element) : element).getBoundingClientRect(), offset = bounds[horizontal ? _width : _height] * ratio || 0;\n return horizontal ? bounds.right - offset > 0 && bounds.left + offset < _win2.innerWidth : bounds.bottom - offset > 0 && bounds.top + offset < _win2.innerHeight;\n };\n ScrollTrigger3.positionInViewport = function positionInViewport(element, referencePoint, horizontal) {\n _isString(element) && (element = _getTarget(element));\n var bounds = element.getBoundingClientRect(), size = bounds[horizontal ? _width : _height], offset = referencePoint == null ? size / 2 : referencePoint in _keywords ? _keywords[referencePoint] * size : ~referencePoint.indexOf(\"%\") ? parseFloat(referencePoint) * size / 100 : parseFloat(referencePoint) || 0;\n return horizontal ? (bounds.left + offset) / _win2.innerWidth : (bounds.top + offset) / _win2.innerHeight;\n };\n ScrollTrigger3.killAll = function killAll(allowListeners) {\n _triggers.slice(0).forEach(function(t) {\n return t.vars.id !== \"ScrollSmoother\" && t.kill();\n });\n if (allowListeners !== true) {\n var listeners = _listeners.killAll || [];\n _listeners = {};\n listeners.forEach(function(f) {\n return f();\n });\n }\n };\n return ScrollTrigger3;\n}();\nScrollTrigger2.version = \"3.12.5\";\nScrollTrigger2.saveStyles = function(targets) {\n return targets ? _toArray(targets).forEach(function(target) {\n if (target && target.style) {\n var i = _savedStyles.indexOf(target);\n i >= 0 && _savedStyles.splice(i, 5);\n _savedStyles.push(target, target.style.cssText, target.getBBox && target.getAttribute(\"transform\"), gsap2.core.getCache(target), _context2());\n }\n }) : _savedStyles;\n};\nScrollTrigger2.revert = function(soft, media) {\n return _revertAll(!soft, media);\n};\nScrollTrigger2.create = function(vars, animation) {\n return new ScrollTrigger2(vars, animation);\n};\nScrollTrigger2.refresh = function(safe) {\n return safe ? _onResize() : (_coreInitted2 || ScrollTrigger2.register()) && _refreshAll(true);\n};\nScrollTrigger2.update = function(force) {\n return ++_scrollers.cache && _updateAll(force === true ? 2 : 0);\n};\nScrollTrigger2.clearScrollMemory = _clearScrollMemory;\nScrollTrigger2.maxScroll = function(element, horizontal) {\n return _maxScroll(element, horizontal ? _horizontal : _vertical);\n};\nScrollTrigger2.getScrollFunc = function(element, horizontal) {\n return _getScrollFunc(_getTarget(element), horizontal ? _horizontal : _vertical);\n};\nScrollTrigger2.getById = function(id) {\n return _ids[id];\n};\nScrollTrigger2.getAll = function() {\n return _triggers.filter(function(t) {\n return t.vars.id !== \"ScrollSmoother\";\n });\n};\nScrollTrigger2.isScrolling = function() {\n return !!_lastScrollTime;\n};\nScrollTrigger2.snapDirectional = _snapDirectional;\nScrollTrigger2.addEventListener = function(type, callback) {\n var a = _listeners[type] || (_listeners[type] = []);\n ~a.indexOf(callback) || a.push(callback);\n};\nScrollTrigger2.removeEventListener = function(type, callback) {\n var a = _listeners[type], i = a && a.indexOf(callback);\n i >= 0 && a.splice(i, 1);\n};\nScrollTrigger2.batch = function(targets, vars) {\n var result = [], varsCopy = {}, interval = vars.interval || 0.016, batchMax = vars.batchMax || 1e9, proxyCallback = function proxyCallback2(type, callback) {\n var elements = [], triggers = [], delay = gsap2.delayedCall(interval, function() {\n callback(elements, triggers);\n elements = [];\n triggers = [];\n }).pause();\n return function(self) {\n elements.length || delay.restart(true);\n elements.push(self.trigger);\n triggers.push(self);\n batchMax <= elements.length && delay.progress(1);\n };\n }, p;\n for (p in vars) {\n varsCopy[p] = p.substr(0, 2) === \"on\" && _isFunction(vars[p]) && p !== \"onRefreshInit\" ? proxyCallback(p, vars[p]) : vars[p];\n }\n if (_isFunction(batchMax)) {\n batchMax = batchMax();\n _addListener3(ScrollTrigger2, \"refresh\", function() {\n return batchMax = vars.batchMax();\n });\n }\n _toArray(targets).forEach(function(target) {\n var config = {};\n for (p in varsCopy) {\n config[p] = varsCopy[p];\n }\n config.trigger = target;\n result.push(ScrollTrigger2.create(config));\n });\n return result;\n};\nvar _clampScrollAndGetDurationMultiplier = function _clampScrollAndGetDurationMultiplier2(scrollFunc, current, end, max) {\n current > max ? scrollFunc(max) : current < 0 && scrollFunc(0);\n return end > max ? (max - current) / (end - current) : end < 0 ? current / (current - end) : 1;\n};\nvar _allowNativePanning = function _allowNativePanning2(target, direction) {\n if (direction === true) {\n target.style.removeProperty(\"touch-action\");\n } else {\n target.style.touchAction = direction === true ? \"auto\" : direction ? \"pan-\" + direction + (Observer.isTouch ? \" pinch-zoom\" : \"\") : \"none\";\n }\n target === _docEl2 && _allowNativePanning2(_body2, direction);\n};\nvar _overflow = {\n auto: 1,\n scroll: 1\n};\nvar _nestedScroll = function _nestedScroll2(_ref5) {\n var event = _ref5.event, target = _ref5.target, axis = _ref5.axis;\n var node = (event.changedTouches ? event.changedTouches[0] : event).target, cache = node._gsap || gsap2.core.getCache(node), time = _getTime2(), cs;\n if (!cache._isScrollT || time - cache._isScrollT > 2e3) {\n while (node && node !== _body2 && (node.scrollHeight <= node.clientHeight && node.scrollWidth <= node.clientWidth || !(_overflow[(cs = _getComputedStyle(node)).overflowY] || _overflow[cs.overflowX]))) {\n node = node.parentNode;\n }\n cache._isScroll = node && node !== target && !_isViewport3(node) && (_overflow[(cs = _getComputedStyle(node)).overflowY] || _overflow[cs.overflowX]);\n cache._isScrollT = time;\n }\n if (cache._isScroll || axis === \"x\") {\n event.stopPropagation();\n event._gsapAllow = true;\n }\n};\nvar _inputObserver = function _inputObserver2(target, type, inputs, nested) {\n return Observer.create({\n target,\n capture: true,\n debounce: false,\n lockAxis: true,\n type,\n onWheel: nested = nested && _nestedScroll,\n onPress: nested,\n onDrag: nested,\n onScroll: nested,\n onEnable: function onEnable() {\n return inputs && _addListener3(_doc2, Observer.eventTypes[0], _captureInputs, false, true);\n },\n onDisable: function onDisable() {\n return _removeListener3(_doc2, Observer.eventTypes[0], _captureInputs, true);\n }\n });\n};\nvar _inputExp = /(input|label|select|textarea)/i;\nvar _inputIsFocused;\nvar _captureInputs = function _captureInputs2(e) {\n var isInput = _inputExp.test(e.target.tagName);\n if (isInput || _inputIsFocused) {\n e._gsapAllow = true;\n _inputIsFocused = isInput;\n }\n};\nvar _getScrollNormalizer = function _getScrollNormalizer2(vars) {\n _isObject(vars) || (vars = {});\n vars.preventDefault = vars.isNormalizer = vars.allowClicks = true;\n vars.type || (vars.type = \"wheel,touch\");\n vars.debounce = !!vars.debounce;\n vars.id = vars.id || \"normalizer\";\n var _vars2 = vars, normalizeScrollX = _vars2.normalizeScrollX, momentum = _vars2.momentum, allowNestedScroll = _vars2.allowNestedScroll, onRelease = _vars2.onRelease, self, maxY, target = _getTarget(vars.target) || _docEl2, smoother = gsap2.core.globals().ScrollSmoother, smootherInstance = smoother && smoother.get(), content = _fixIOSBug && (vars.content && _getTarget(vars.content) || smootherInstance && vars.content !== false && !smootherInstance.smooth() && smootherInstance.content()), scrollFuncY = _getScrollFunc(target, _vertical), scrollFuncX = _getScrollFunc(target, _horizontal), scale = 1, initialScale = (Observer.isTouch && _win2.visualViewport ? _win2.visualViewport.scale * _win2.visualViewport.width : _win2.outerWidth) / _win2.innerWidth, wheelRefresh = 0, resolveMomentumDuration = _isFunction(momentum) ? function() {\n return momentum(self);\n } : function() {\n return momentum || 2.8;\n }, lastRefreshID, skipTouchMove, inputObserver = _inputObserver(target, vars.type, true, allowNestedScroll), resumeTouchMove = function resumeTouchMove2() {\n return skipTouchMove = false;\n }, scrollClampX = _passThrough, scrollClampY = _passThrough, updateClamps = function updateClamps2() {\n maxY = _maxScroll(target, _vertical);\n scrollClampY = _clamp2(_fixIOSBug ? 1 : 0, maxY);\n normalizeScrollX && (scrollClampX = _clamp2(0, _maxScroll(target, _horizontal)));\n lastRefreshID = _refreshID;\n }, removeContentOffset = function removeContentOffset2() {\n content._gsap.y = _round(parseFloat(content._gsap.y) + scrollFuncY.offset) + \"px\";\n content.style.transform = \"matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, \" + parseFloat(content._gsap.y) + \", 0, 1)\";\n scrollFuncY.offset = scrollFuncY.cacheID = 0;\n }, ignoreDrag = function ignoreDrag2() {\n if (skipTouchMove) {\n requestAnimationFrame(resumeTouchMove);\n var offset = _round(self.deltaY / 2), scroll = scrollClampY(scrollFuncY.v - offset);\n if (content && scroll !== scrollFuncY.v + scrollFuncY.offset) {\n scrollFuncY.offset = scroll - scrollFuncY.v;\n var y = _round((parseFloat(content && content._gsap.y) || 0) - scrollFuncY.offset);\n content.style.transform = \"matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, \" + y + \", 0, 1)\";\n content._gsap.y = y + \"px\";\n scrollFuncY.cacheID = _scrollers.cache;\n _updateAll();\n }\n return true;\n }\n scrollFuncY.offset && removeContentOffset();\n skipTouchMove = true;\n }, tween, startScrollX, startScrollY, onStopDelayedCall, onResize = function onResize2() {\n updateClamps();\n if (tween.isActive() && tween.vars.scrollY > maxY) {\n scrollFuncY() > maxY ? tween.progress(1) && scrollFuncY(maxY) : tween.resetTo(\"scrollY\", maxY);\n }\n };\n content && gsap2.set(content, {\n y: \"+=0\"\n });\n vars.ignoreCheck = function(e) {\n return _fixIOSBug && e.type === \"touchmove\" && ignoreDrag(e) || scale > 1.05 && e.type !== \"touchstart\" || self.isGesturing || e.touches && e.touches.length > 1;\n };\n vars.onPress = function() {\n skipTouchMove = false;\n var prevScale = scale;\n scale = _round((_win2.visualViewport && _win2.visualViewport.scale || 1) / initialScale);\n tween.pause();\n prevScale !== scale && _allowNativePanning(target, scale > 1.01 ? true : normalizeScrollX ? false : \"x\");\n startScrollX = scrollFuncX();\n startScrollY = scrollFuncY();\n updateClamps();\n lastRefreshID = _refreshID;\n };\n vars.onRelease = vars.onGestureStart = function(self2, wasDragging) {\n scrollFuncY.offset && removeContentOffset();\n if (!wasDragging) {\n onStopDelayedCall.restart(true);\n } else {\n _scrollers.cache++;\n var dur = resolveMomentumDuration(), currentScroll, endScroll;\n if (normalizeScrollX) {\n currentScroll = scrollFuncX();\n endScroll = currentScroll + dur * 0.05 * -self2.velocityX / 0.227;\n dur *= _clampScrollAndGetDurationMultiplier(scrollFuncX, currentScroll, endScroll, _maxScroll(target, _horizontal));\n tween.vars.scrollX = scrollClampX(endScroll);\n }\n currentScroll = scrollFuncY();\n endScroll = currentScroll + dur * 0.05 * -self2.velocityY / 0.227;\n dur *= _clampScrollAndGetDurationMultiplier(scrollFuncY, currentScroll, endScroll, _maxScroll(target, _vertical));\n tween.vars.scrollY = scrollClampY(endScroll);\n tween.invalidate().duration(dur).play(0.01);\n if (_fixIOSBug && tween.vars.scrollY >= maxY || currentScroll >= maxY - 1) {\n gsap2.to({}, {\n onUpdate: onResize,\n duration: dur\n });\n }\n }\n onRelease && onRelease(self2);\n };\n vars.onWheel = function() {\n tween._ts && tween.pause();\n if (_getTime2() - wheelRefresh > 1e3) {\n lastRefreshID = 0;\n wheelRefresh = _getTime2();\n }\n };\n vars.onChange = function(self2, dx, dy, xArray, yArray) {\n _refreshID !== lastRefreshID && updateClamps();\n dx && normalizeScrollX && scrollFuncX(scrollClampX(xArray[2] === dx ? startScrollX + (self2.startX - self2.x) : scrollFuncX() + dx - xArray[1]));\n if (dy) {\n scrollFuncY.offset && removeContentOffset();\n var isTouch = yArray[2] === dy, y = isTouch ? startScrollY + self2.startY - self2.y : scrollFuncY() + dy - yArray[1], yClamped = scrollClampY(y);\n isTouch && y !== yClamped && (startScrollY += yClamped - y);\n scrollFuncY(yClamped);\n }\n (dy || dx) && _updateAll();\n };\n vars.onEnable = function() {\n _allowNativePanning(target, normalizeScrollX ? false : \"x\");\n ScrollTrigger2.addEventListener(\"refresh\", onResize);\n _addListener3(_win2, \"resize\", onResize);\n if (scrollFuncY.smooth) {\n scrollFuncY.target.style.scrollBehavior = \"auto\";\n scrollFuncY.smooth = scrollFuncX.smooth = false;\n }\n inputObserver.enable();\n };\n vars.onDisable = function() {\n _allowNativePanning(target, true);\n _removeListener3(_win2, \"resize\", onResize);\n ScrollTrigger2.removeEventListener(\"refresh\", onResize);\n inputObserver.kill();\n };\n vars.lockAxis = vars.lockAxis !== false;\n self = new Observer(vars);\n self.iOS = _fixIOSBug;\n _fixIOSBug && !scrollFuncY() && scrollFuncY(1);\n _fixIOSBug && gsap2.ticker.add(_passThrough);\n onStopDelayedCall = self._dc;\n tween = gsap2.to(self, {\n ease: \"power4\",\n paused: true,\n inherit: false,\n scrollX: normalizeScrollX ? \"+=0.1\" : \"+=0\",\n scrollY: \"+=0.1\",\n modifiers: {\n scrollY: _interruptionTracker(scrollFuncY, scrollFuncY(), function() {\n return tween.pause();\n })\n },\n onUpdate: _updateAll,\n onComplete: onStopDelayedCall.vars.onComplete\n });\n return self;\n};\nScrollTrigger2.sort = function(func) {\n return _triggers.sort(func || function(a, b) {\n return (a.vars.refreshPriority || 0) * -1e6 + a.start - (b.start + (b.vars.refreshPriority || 0) * -1e6);\n });\n};\nScrollTrigger2.observe = function(vars) {\n return new Observer(vars);\n};\nScrollTrigger2.normalizeScroll = function(vars) {\n if (typeof vars === \"undefined\") {\n return _normalizer2;\n }\n if (vars === true && _normalizer2) {\n return _normalizer2.enable();\n }\n if (vars === false) {\n _normalizer2 && _normalizer2.kill();\n _normalizer2 = vars;\n return;\n }\n var normalizer = vars instanceof Observer ? vars : _getScrollNormalizer(vars);\n _normalizer2 && _normalizer2.target === normalizer.target && _normalizer2.kill();\n _isViewport3(normalizer.target) && (_normalizer2 = normalizer);\n return normalizer;\n};\nScrollTrigger2.core = {\n // smaller file size way to leverage in ScrollSmoother and Observer\n _getVelocityProp,\n _inputObserver,\n _scrollers,\n _proxies,\n bridge: {\n // when normalizeScroll sets the scroll position (ss = setScroll)\n ss: function ss() {\n _lastScrollTime || _dispatch(\"scrollStart\");\n _lastScrollTime = _getTime2();\n },\n // a way to get the _refreshing value in Observer\n ref: function ref() {\n return _refreshing;\n }\n }\n};\n_getGSAP3() && gsap2.registerPlugin(ScrollTrigger2);\n\nexport {\n ScrollTrigger2 as ScrollTrigger\n};\n/*! Bundled license information:\n\ngsap/Observer.js:\n (*!\n * Observer 3.12.5\n * https://gsap.com\n *\n * @license Copyright 2008-2024, GreenSock. All rights reserved.\n * Subject to the terms at https://gsap.com/standard-license or for\n * Club GSAP members, the agreement issued with that membership.\n * @author: Jack Doyle, jack@greensock.com\n *)\n\ngsap/ScrollTrigger.js:\n (*!\n * ScrollTrigger 3.12.5\n * https://gsap.com\n *\n * @license Copyright 2008-2024, GreenSock. All rights reserved.\n * Subject to the terms at https://gsap.com/standard-license or for\n * Club GSAP members, the agreement issued with that membership.\n * @author: Jack Doyle, jack@greensock.com\n *)\n*/\n", "// node_modules/gsap/gsap-core.js\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\nvar _config = {\n autoSleep: 120,\n force3D: \"auto\",\n nullTargetWarn: 1,\n units: {\n lineHeight: \"\"\n }\n};\nvar _defaults = {\n duration: 0.5,\n overwrite: false,\n delay: 0\n};\nvar _suppressOverwrites;\nvar _reverting;\nvar _context;\nvar _bigNum = 1e8;\nvar _tinyNum = 1 / _bigNum;\nvar _2PI = Math.PI * 2;\nvar _HALF_PI = _2PI / 4;\nvar _gsID = 0;\nvar _sqrt = Math.sqrt;\nvar _cos = Math.cos;\nvar _sin = Math.sin;\nvar _isString = function _isString2(value) {\n return typeof value === \"string\";\n};\nvar _isFunction = function _isFunction2(value) {\n return typeof value === \"function\";\n};\nvar _isNumber = function _isNumber2(value) {\n return typeof value === \"number\";\n};\nvar _isUndefined = function _isUndefined2(value) {\n return typeof value === \"undefined\";\n};\nvar _isObject = function _isObject2(value) {\n return typeof value === \"object\";\n};\nvar _isNotFalse = function _isNotFalse2(value) {\n return value !== false;\n};\nvar _windowExists = function _windowExists2() {\n return typeof window !== \"undefined\";\n};\nvar _isFuncOrString = function _isFuncOrString2(value) {\n return _isFunction(value) || _isString(value);\n};\nvar _isTypedArray = typeof ArrayBuffer === \"function\" && ArrayBuffer.isView || function() {\n};\nvar _isArray = Array.isArray;\nvar _strictNumExp = /(?:-?\\.?\\d|\\.)+/gi;\nvar _numExp = /[-+=.]*\\d+[.e\\-+]*\\d*[e\\-+]*\\d*/g;\nvar _numWithUnitExp = /[-+=.]*\\d+[.e-]*\\d*[a-z%]*/g;\nvar _complexStringNumExp = /[-+=.]*\\d+\\.?\\d*(?:e-|e\\+)?\\d*/gi;\nvar _relExp = /[+-]=-?[.\\d]+/;\nvar _delimitedValueExp = /[^,'\"\\[\\]\\s]+/gi;\nvar _unitExp = /^[+\\-=e\\s\\d]*\\d+[.\\d]*([a-z]*|%)\\s*$/i;\nvar _globalTimeline;\nvar _win;\nvar _coreInitted;\nvar _doc;\nvar _globals = {};\nvar _installScope = {};\nvar _coreReady;\nvar _install = function _install2(scope) {\n return (_installScope = _merge(scope, _globals)) && gsap;\n};\nvar _missingPlugin = function _missingPlugin2(property, value) {\n return console.warn(\"Invalid property\", property, \"set to\", value, \"Missing plugin? gsap.registerPlugin()\");\n};\nvar _warn = function _warn2(message, suppress) {\n return !suppress && console.warn(message);\n};\nvar _addGlobal = function _addGlobal2(name, obj) {\n return name && (_globals[name] = obj) && _installScope && (_installScope[name] = obj) || _globals;\n};\nvar _emptyFunc = function _emptyFunc2() {\n return 0;\n};\nvar _startAtRevertConfig = {\n suppressEvents: true,\n isStart: true,\n kill: false\n};\nvar _revertConfigNoKill = {\n suppressEvents: true,\n kill: false\n};\nvar _revertConfig = {\n suppressEvents: true\n};\nvar _reservedProps = {};\nvar _lazyTweens = [];\nvar _lazyLookup = {};\nvar _lastRenderedFrame;\nvar _plugins = {};\nvar _effects = {};\nvar _nextGCFrame = 30;\nvar _harnessPlugins = [];\nvar _callbackNames = \"\";\nvar _harness = function _harness2(targets) {\n var target = targets[0], harnessPlugin, i;\n _isObject(target) || _isFunction(target) || (targets = [targets]);\n if (!(harnessPlugin = (target._gsap || {}).harness)) {\n i = _harnessPlugins.length;\n while (i-- && !_harnessPlugins[i].targetTest(target)) {\n }\n harnessPlugin = _harnessPlugins[i];\n }\n i = targets.length;\n while (i--) {\n targets[i] && (targets[i]._gsap || (targets[i]._gsap = new GSCache(targets[i], harnessPlugin))) || targets.splice(i, 1);\n }\n return targets;\n};\nvar _getCache = function _getCache2(target) {\n return target._gsap || _harness(toArray(target))[0]._gsap;\n};\nvar _getProperty = function _getProperty2(target, property, v) {\n return (v = target[property]) && _isFunction(v) ? target[property]() : _isUndefined(v) && target.getAttribute && target.getAttribute(property) || v;\n};\nvar _forEachName = function _forEachName2(names, func) {\n return (names = names.split(\",\")).forEach(func) || names;\n};\nvar _round = function _round2(value) {\n return Math.round(value * 1e5) / 1e5 || 0;\n};\nvar _roundPrecise = function _roundPrecise2(value) {\n return Math.round(value * 1e7) / 1e7 || 0;\n};\nvar _parseRelative = function _parseRelative2(start, value) {\n var operator = value.charAt(0), end = parseFloat(value.substr(2));\n start = parseFloat(start);\n return operator === \"+\" ? start + end : operator === \"-\" ? start - end : operator === \"*\" ? start * end : start / end;\n};\nvar _arrayContainsAny = function _arrayContainsAny2(toSearch, toFind) {\n var l = toFind.length, i = 0;\n for (; toSearch.indexOf(toFind[i]) < 0 && ++i < l; ) {\n }\n return i < l;\n};\nvar _lazyRender = function _lazyRender2() {\n var l = _lazyTweens.length, a = _lazyTweens.slice(0), i, tween;\n _lazyLookup = {};\n _lazyTweens.length = 0;\n for (i = 0; i < l; i++) {\n tween = a[i];\n tween && tween._lazy && (tween.render(tween._lazy[0], tween._lazy[1], true)._lazy = 0);\n }\n};\nvar _lazySafeRender = function _lazySafeRender2(animation, time, suppressEvents, force) {\n _lazyTweens.length && !_reverting && _lazyRender();\n animation.render(time, suppressEvents, force || _reverting && time < 0 && (animation._initted || animation._startAt));\n _lazyTweens.length && !_reverting && _lazyRender();\n};\nvar _numericIfPossible = function _numericIfPossible2(value) {\n var n = parseFloat(value);\n return (n || n === 0) && (value + \"\").match(_delimitedValueExp).length < 2 ? n : _isString(value) ? value.trim() : value;\n};\nvar _passThrough = function _passThrough2(p) {\n return p;\n};\nvar _setDefaults = function _setDefaults2(obj, defaults2) {\n for (var p in defaults2) {\n p in obj || (obj[p] = defaults2[p]);\n }\n return obj;\n};\nvar _setKeyframeDefaults = function _setKeyframeDefaults2(excludeDuration) {\n return function(obj, defaults2) {\n for (var p in defaults2) {\n p in obj || p === \"duration\" && excludeDuration || p === \"ease\" || (obj[p] = defaults2[p]);\n }\n };\n};\nvar _merge = function _merge2(base, toMerge) {\n for (var p in toMerge) {\n base[p] = toMerge[p];\n }\n return base;\n};\nvar _mergeDeep = function _mergeDeep2(base, toMerge) {\n for (var p in toMerge) {\n p !== \"__proto__\" && p !== \"constructor\" && p !== \"prototype\" && (base[p] = _isObject(toMerge[p]) ? _mergeDeep2(base[p] || (base[p] = {}), toMerge[p]) : toMerge[p]);\n }\n return base;\n};\nvar _copyExcluding = function _copyExcluding2(obj, excluding) {\n var copy = {}, p;\n for (p in obj) {\n p in excluding || (copy[p] = obj[p]);\n }\n return copy;\n};\nvar _inheritDefaults = function _inheritDefaults2(vars) {\n var parent = vars.parent || _globalTimeline, func = vars.keyframes ? _setKeyframeDefaults(_isArray(vars.keyframes)) : _setDefaults;\n if (_isNotFalse(vars.inherit)) {\n while (parent) {\n func(vars, parent.vars.defaults);\n parent = parent.parent || parent._dp;\n }\n }\n return vars;\n};\nvar _arraysMatch = function _arraysMatch2(a1, a2) {\n var i = a1.length, match = i === a2.length;\n while (match && i-- && a1[i] === a2[i]) {\n }\n return i < 0;\n};\nvar _addLinkedListItem = function _addLinkedListItem2(parent, child, firstProp, lastProp, sortBy) {\n if (firstProp === void 0) {\n firstProp = \"_first\";\n }\n if (lastProp === void 0) {\n lastProp = \"_last\";\n }\n var prev = parent[lastProp], t;\n if (sortBy) {\n t = child[sortBy];\n while (prev && prev[sortBy] > t) {\n prev = prev._prev;\n }\n }\n if (prev) {\n child._next = prev._next;\n prev._next = child;\n } else {\n child._next = parent[firstProp];\n parent[firstProp] = child;\n }\n if (child._next) {\n child._next._prev = child;\n } else {\n parent[lastProp] = child;\n }\n child._prev = prev;\n child.parent = child._dp = parent;\n return child;\n};\nvar _removeLinkedListItem = function _removeLinkedListItem2(parent, child, firstProp, lastProp) {\n if (firstProp === void 0) {\n firstProp = \"_first\";\n }\n if (lastProp === void 0) {\n lastProp = \"_last\";\n }\n var prev = child._prev, next = child._next;\n if (prev) {\n prev._next = next;\n } else if (parent[firstProp] === child) {\n parent[firstProp] = next;\n }\n if (next) {\n next._prev = prev;\n } else if (parent[lastProp] === child) {\n parent[lastProp] = prev;\n }\n child._next = child._prev = child.parent = null;\n};\nvar _removeFromParent = function _removeFromParent2(child, onlyIfParentHasAutoRemove) {\n child.parent && (!onlyIfParentHasAutoRemove || child.parent.autoRemoveChildren) && child.parent.remove && child.parent.remove(child);\n child._act = 0;\n};\nvar _uncache = function _uncache2(animation, child) {\n if (animation && (!child || child._end > animation._dur || child._start < 0)) {\n var a = animation;\n while (a) {\n a._dirty = 1;\n a = a.parent;\n }\n }\n return animation;\n};\nvar _recacheAncestors = function _recacheAncestors2(animation) {\n var parent = animation.parent;\n while (parent && parent.parent) {\n parent._dirty = 1;\n parent.totalDuration();\n parent = parent.parent;\n }\n return animation;\n};\nvar _rewindStartAt = function _rewindStartAt2(tween, totalTime, suppressEvents, force) {\n return tween._startAt && (_reverting ? tween._startAt.revert(_revertConfigNoKill) : tween.vars.immediateRender && !tween.vars.autoRevert || tween._startAt.render(totalTime, true, force));\n};\nvar _hasNoPausedAncestors = function _hasNoPausedAncestors2(animation) {\n return !animation || animation._ts && _hasNoPausedAncestors2(animation.parent);\n};\nvar _elapsedCycleDuration = function _elapsedCycleDuration2(animation) {\n return animation._repeat ? _animationCycle(animation._tTime, animation = animation.duration() + animation._rDelay) * animation : 0;\n};\nvar _animationCycle = function _animationCycle2(tTime, cycleDuration) {\n var whole = Math.floor(tTime /= cycleDuration);\n return tTime && whole === tTime ? whole - 1 : whole;\n};\nvar _parentToChildTotalTime = function _parentToChildTotalTime2(parentTime, child) {\n return (parentTime - child._start) * child._ts + (child._ts >= 0 ? 0 : child._dirty ? child.totalDuration() : child._tDur);\n};\nvar _setEnd = function _setEnd2(animation) {\n return animation._end = _roundPrecise(animation._start + (animation._tDur / Math.abs(animation._ts || animation._rts || _tinyNum) || 0));\n};\nvar _alignPlayhead = function _alignPlayhead2(animation, totalTime) {\n var parent = animation._dp;\n if (parent && parent.smoothChildTiming && animation._ts) {\n animation._start = _roundPrecise(parent._time - (animation._ts > 0 ? totalTime / animation._ts : ((animation._dirty ? animation.totalDuration() : animation._tDur) - totalTime) / -animation._ts));\n _setEnd(animation);\n parent._dirty || _uncache(parent, animation);\n }\n return animation;\n};\nvar _postAddChecks = function _postAddChecks2(timeline2, child) {\n var t;\n if (child._time || !child._dur && child._initted || child._start < timeline2._time && (child._dur || !child.add)) {\n t = _parentToChildTotalTime(timeline2.rawTime(), child);\n if (!child._dur || _clamp(0, child.totalDuration(), t) - child._tTime > _tinyNum) {\n child.render(t, true);\n }\n }\n if (_uncache(timeline2, child)._dp && timeline2._initted && timeline2._time >= timeline2._dur && timeline2._ts) {\n if (timeline2._dur < timeline2.duration()) {\n t = timeline2;\n while (t._dp) {\n t.rawTime() >= 0 && t.totalTime(t._tTime);\n t = t._dp;\n }\n }\n timeline2._zTime = -_tinyNum;\n }\n};\nvar _addToTimeline = function _addToTimeline2(timeline2, child, position, skipChecks) {\n child.parent && _removeFromParent(child);\n child._start = _roundPrecise((_isNumber(position) ? position : position || timeline2 !== _globalTimeline ? _parsePosition(timeline2, position, child) : timeline2._time) + child._delay);\n child._end = _roundPrecise(child._start + (child.totalDuration() / Math.abs(child.timeScale()) || 0));\n _addLinkedListItem(timeline2, child, \"_first\", \"_last\", timeline2._sort ? \"_start\" : 0);\n _isFromOrFromStart(child) || (timeline2._recent = child);\n skipChecks || _postAddChecks(timeline2, child);\n timeline2._ts < 0 && _alignPlayhead(timeline2, timeline2._tTime);\n return timeline2;\n};\nvar _scrollTrigger = function _scrollTrigger2(animation, trigger) {\n return (_globals.ScrollTrigger || _missingPlugin(\"scrollTrigger\", trigger)) && _globals.ScrollTrigger.create(trigger, animation);\n};\nvar _attemptInitTween = function _attemptInitTween2(tween, time, force, suppressEvents, tTime) {\n _initTween(tween, time, tTime);\n if (!tween._initted) {\n return 1;\n }\n if (!force && tween._pt && !_reverting && (tween._dur && tween.vars.lazy !== false || !tween._dur && tween.vars.lazy) && _lastRenderedFrame !== _ticker.frame) {\n _lazyTweens.push(tween);\n tween._lazy = [tTime, suppressEvents];\n return 1;\n }\n};\nvar _parentPlayheadIsBeforeStart = function _parentPlayheadIsBeforeStart2(_ref) {\n var parent = _ref.parent;\n return parent && parent._ts && parent._initted && !parent._lock && (parent.rawTime() < 0 || _parentPlayheadIsBeforeStart2(parent));\n};\nvar _isFromOrFromStart = function _isFromOrFromStart2(_ref2) {\n var data = _ref2.data;\n return data === \"isFromStart\" || data === \"isStart\";\n};\nvar _renderZeroDurationTween = function _renderZeroDurationTween2(tween, totalTime, suppressEvents, force) {\n var prevRatio = tween.ratio, ratio = totalTime < 0 || !totalTime && (!tween._start && _parentPlayheadIsBeforeStart(tween) && !(!tween._initted && _isFromOrFromStart(tween)) || (tween._ts < 0 || tween._dp._ts < 0) && !_isFromOrFromStart(tween)) ? 0 : 1, repeatDelay = tween._rDelay, tTime = 0, pt, iteration, prevIteration;\n if (repeatDelay && tween._repeat) {\n tTime = _clamp(0, tween._tDur, totalTime);\n iteration = _animationCycle(tTime, repeatDelay);\n tween._yoyo && iteration & 1 && (ratio = 1 - ratio);\n if (iteration !== _animationCycle(tween._tTime, repeatDelay)) {\n prevRatio = 1 - ratio;\n tween.vars.repeatRefresh && tween._initted && tween.invalidate();\n }\n }\n if (ratio !== prevRatio || _reverting || force || tween._zTime === _tinyNum || !totalTime && tween._zTime) {\n if (!tween._initted && _attemptInitTween(tween, totalTime, force, suppressEvents, tTime)) {\n return;\n }\n prevIteration = tween._zTime;\n tween._zTime = totalTime || (suppressEvents ? _tinyNum : 0);\n suppressEvents || (suppressEvents = totalTime && !prevIteration);\n tween.ratio = ratio;\n tween._from && (ratio = 1 - ratio);\n tween._time = 0;\n tween._tTime = tTime;\n pt = tween._pt;\n while (pt) {\n pt.r(ratio, pt.d);\n pt = pt._next;\n }\n totalTime < 0 && _rewindStartAt(tween, totalTime, suppressEvents, true);\n tween._onUpdate && !suppressEvents && _callback(tween, \"onUpdate\");\n tTime && tween._repeat && !suppressEvents && tween.parent && _callback(tween, \"onRepeat\");\n if ((totalTime >= tween._tDur || totalTime < 0) && tween.ratio === ratio) {\n ratio && _removeFromParent(tween, 1);\n if (!suppressEvents && !_reverting) {\n _callback(tween, ratio ? \"onComplete\" : \"onReverseComplete\", true);\n tween._prom && tween._prom();\n }\n }\n } else if (!tween._zTime) {\n tween._zTime = totalTime;\n }\n};\nvar _findNextPauseTween = function _findNextPauseTween2(animation, prevTime, time) {\n var child;\n if (time > prevTime) {\n child = animation._first;\n while (child && child._start <= time) {\n if (child.data === \"isPause\" && child._start > prevTime) {\n return child;\n }\n child = child._next;\n }\n } else {\n child = animation._last;\n while (child && child._start >= time) {\n if (child.data === \"isPause\" && child._start < prevTime) {\n return child;\n }\n child = child._prev;\n }\n }\n};\nvar _setDuration = function _setDuration2(animation, duration, skipUncache, leavePlayhead) {\n var repeat = animation._repeat, dur = _roundPrecise(duration) || 0, totalProgress = animation._tTime / animation._tDur;\n totalProgress && !leavePlayhead && (animation._time *= dur / animation._dur);\n animation._dur = dur;\n animation._tDur = !repeat ? dur : repeat < 0 ? 1e10 : _roundPrecise(dur * (repeat + 1) + animation._rDelay * repeat);\n totalProgress > 0 && !leavePlayhead && _alignPlayhead(animation, animation._tTime = animation._tDur * totalProgress);\n animation.parent && _setEnd(animation);\n skipUncache || _uncache(animation.parent, animation);\n return animation;\n};\nvar _onUpdateTotalDuration = function _onUpdateTotalDuration2(animation) {\n return animation instanceof Timeline ? _uncache(animation) : _setDuration(animation, animation._dur);\n};\nvar _zeroPosition = {\n _start: 0,\n endTime: _emptyFunc,\n totalDuration: _emptyFunc\n};\nvar _parsePosition = function _parsePosition2(animation, position, percentAnimation) {\n var labels = animation.labels, recent = animation._recent || _zeroPosition, clippedDuration = animation.duration() >= _bigNum ? recent.endTime(false) : animation._dur, i, offset, isPercent;\n if (_isString(position) && (isNaN(position) || position in labels)) {\n offset = position.charAt(0);\n isPercent = position.substr(-1) === \"%\";\n i = position.indexOf(\"=\");\n if (offset === \"<\" || offset === \">\") {\n i >= 0 && (position = position.replace(/=/, \"\"));\n return (offset === \"<\" ? recent._start : recent.endTime(recent._repeat >= 0)) + (parseFloat(position.substr(1)) || 0) * (isPercent ? (i < 0 ? recent : percentAnimation).totalDuration() / 100 : 1);\n }\n if (i < 0) {\n position in labels || (labels[position] = clippedDuration);\n return labels[position];\n }\n offset = parseFloat(position.charAt(i - 1) + position.substr(i + 1));\n if (isPercent && percentAnimation) {\n offset = offset / 100 * (_isArray(percentAnimation) ? percentAnimation[0] : percentAnimation).totalDuration();\n }\n return i > 1 ? _parsePosition2(animation, position.substr(0, i - 1), percentAnimation) + offset : clippedDuration + offset;\n }\n return position == null ? clippedDuration : +position;\n};\nvar _createTweenType = function _createTweenType2(type, params, timeline2) {\n var isLegacy = _isNumber(params[1]), varsIndex = (isLegacy ? 2 : 1) + (type < 2 ? 0 : 1), vars = params[varsIndex], irVars, parent;\n isLegacy && (vars.duration = params[1]);\n vars.parent = timeline2;\n if (type) {\n irVars = vars;\n parent = timeline2;\n while (parent && !(\"immediateRender\" in irVars)) {\n irVars = parent.vars.defaults || {};\n parent = _isNotFalse(parent.vars.inherit) && parent.parent;\n }\n vars.immediateRender = _isNotFalse(irVars.immediateRender);\n type < 2 ? vars.runBackwards = 1 : vars.startAt = params[varsIndex - 1];\n }\n return new Tween(params[0], vars, params[varsIndex + 1]);\n};\nvar _conditionalReturn = function _conditionalReturn2(value, func) {\n return value || value === 0 ? func(value) : func;\n};\nvar _clamp = function _clamp2(min, max, value) {\n return value < min ? min : value > max ? max : value;\n};\nvar getUnit = function getUnit2(value, v) {\n return !_isString(value) || !(v = _unitExp.exec(value)) ? \"\" : v[1];\n};\nvar clamp = function clamp2(min, max, value) {\n return _conditionalReturn(value, function(v) {\n return _clamp(min, max, v);\n });\n};\nvar _slice = [].slice;\nvar _isArrayLike = function _isArrayLike2(value, nonEmpty) {\n return value && _isObject(value) && \"length\" in value && (!nonEmpty && !value.length || value.length - 1 in value && _isObject(value[0])) && !value.nodeType && value !== _win;\n};\nvar _flatten = function _flatten2(ar, leaveStrings, accumulator) {\n if (accumulator === void 0) {\n accumulator = [];\n }\n return ar.forEach(function(value) {\n var _accumulator;\n return _isString(value) && !leaveStrings || _isArrayLike(value, 1) ? (_accumulator = accumulator).push.apply(_accumulator, toArray(value)) : accumulator.push(value);\n }) || accumulator;\n};\nvar toArray = function toArray2(value, scope, leaveStrings) {\n return _context && !scope && _context.selector ? _context.selector(value) : _isString(value) && !leaveStrings && (_coreInitted || !_wake()) ? _slice.call((scope || _doc).querySelectorAll(value), 0) : _isArray(value) ? _flatten(value, leaveStrings) : _isArrayLike(value) ? _slice.call(value, 0) : value ? [value] : [];\n};\nvar selector = function selector2(value) {\n value = toArray(value)[0] || _warn(\"Invalid scope\") || {};\n return function(v) {\n var el = value.current || value.nativeElement || value;\n return toArray(v, el.querySelectorAll ? el : el === value ? _warn(\"Invalid scope\") || _doc.createElement(\"div\") : value);\n };\n};\nvar shuffle = function shuffle2(a) {\n return a.sort(function() {\n return 0.5 - Math.random();\n });\n};\nvar distribute = function distribute2(v) {\n if (_isFunction(v)) {\n return v;\n }\n var vars = _isObject(v) ? v : {\n each: v\n }, ease = _parseEase(vars.ease), from = vars.from || 0, base = parseFloat(vars.base) || 0, cache = {}, isDecimal = from > 0 && from < 1, ratios = isNaN(from) || isDecimal, axis = vars.axis, ratioX = from, ratioY = from;\n if (_isString(from)) {\n ratioX = ratioY = {\n center: 0.5,\n edges: 0.5,\n end: 1\n }[from] || 0;\n } else if (!isDecimal && ratios) {\n ratioX = from[0];\n ratioY = from[1];\n }\n return function(i, target, a) {\n var l = (a || vars).length, distances = cache[l], originX, originY, x, y, d, j, max, min, wrapAt;\n if (!distances) {\n wrapAt = vars.grid === \"auto\" ? 0 : (vars.grid || [1, _bigNum])[1];\n if (!wrapAt) {\n max = -_bigNum;\n while (max < (max = a[wrapAt++].getBoundingClientRect().left) && wrapAt < l) {\n }\n wrapAt < l && wrapAt--;\n }\n distances = cache[l] = [];\n originX = ratios ? Math.min(wrapAt, l) * ratioX - 0.5 : from % wrapAt;\n originY = wrapAt === _bigNum ? 0 : ratios ? l * ratioY / wrapAt - 0.5 : from / wrapAt | 0;\n max = 0;\n min = _bigNum;\n for (j = 0; j < l; j++) {\n x = j % wrapAt - originX;\n y = originY - (j / wrapAt | 0);\n distances[j] = d = !axis ? _sqrt(x * x + y * y) : Math.abs(axis === \"y\" ? y : x);\n d > max && (max = d);\n d < min && (min = d);\n }\n from === \"random\" && shuffle(distances);\n distances.max = max - min;\n distances.min = min;\n distances.v = l = (parseFloat(vars.amount) || parseFloat(vars.each) * (wrapAt > l ? l - 1 : !axis ? Math.max(wrapAt, l / wrapAt) : axis === \"y\" ? l / wrapAt : wrapAt) || 0) * (from === \"edges\" ? -1 : 1);\n distances.b = l < 0 ? base - l : base;\n distances.u = getUnit(vars.amount || vars.each) || 0;\n ease = ease && l < 0 ? _invertEase(ease) : ease;\n }\n l = (distances[i] - distances.min) / distances.max || 0;\n return _roundPrecise(distances.b + (ease ? ease(l) : l) * distances.v) + distances.u;\n };\n};\nvar _roundModifier = function _roundModifier2(v) {\n var p = Math.pow(10, ((v + \"\").split(\".\")[1] || \"\").length);\n return function(raw) {\n var n = _roundPrecise(Math.round(parseFloat(raw) / v) * v * p);\n return (n - n % 1) / p + (_isNumber(raw) ? 0 : getUnit(raw));\n };\n};\nvar snap = function snap2(snapTo, value) {\n var isArray = _isArray(snapTo), radius, is2D;\n if (!isArray && _isObject(snapTo)) {\n radius = isArray = snapTo.radius || _bigNum;\n if (snapTo.values) {\n snapTo = toArray(snapTo.values);\n if (is2D = !_isNumber(snapTo[0])) {\n radius *= radius;\n }\n } else {\n snapTo = _roundModifier(snapTo.increment);\n }\n }\n return _conditionalReturn(value, !isArray ? _roundModifier(snapTo) : _isFunction(snapTo) ? function(raw) {\n is2D = snapTo(raw);\n return Math.abs(is2D - raw) <= radius ? is2D : raw;\n } : function(raw) {\n var x = parseFloat(is2D ? raw.x : raw), y = parseFloat(is2D ? raw.y : 0), min = _bigNum, closest = 0, i = snapTo.length, dx, dy;\n while (i--) {\n if (is2D) {\n dx = snapTo[i].x - x;\n dy = snapTo[i].y - y;\n dx = dx * dx + dy * dy;\n } else {\n dx = Math.abs(snapTo[i] - x);\n }\n if (dx < min) {\n min = dx;\n closest = i;\n }\n }\n closest = !radius || min <= radius ? snapTo[closest] : raw;\n return is2D || closest === raw || _isNumber(raw) ? closest : closest + getUnit(raw);\n });\n};\nvar random = function random2(min, max, roundingIncrement, returnFunction) {\n return _conditionalReturn(_isArray(min) ? !max : roundingIncrement === true ? !!(roundingIncrement = 0) : !returnFunction, function() {\n return _isArray(min) ? min[~~(Math.random() * min.length)] : (roundingIncrement = roundingIncrement || 1e-5) && (returnFunction = roundingIncrement < 1 ? Math.pow(10, (roundingIncrement + \"\").length - 2) : 1) && Math.floor(Math.round((min - roundingIncrement / 2 + Math.random() * (max - min + roundingIncrement * 0.99)) / roundingIncrement) * roundingIncrement * returnFunction) / returnFunction;\n });\n};\nvar pipe = function pipe2() {\n for (var _len = arguments.length, functions = new Array(_len), _key = 0; _key < _len; _key++) {\n functions[_key] = arguments[_key];\n }\n return function(value) {\n return functions.reduce(function(v, f) {\n return f(v);\n }, value);\n };\n};\nvar unitize = function unitize2(func, unit) {\n return function(value) {\n return func(parseFloat(value)) + (unit || getUnit(value));\n };\n};\nvar normalize = function normalize2(min, max, value) {\n return mapRange(min, max, 0, 1, value);\n};\nvar _wrapArray = function _wrapArray2(a, wrapper, value) {\n return _conditionalReturn(value, function(index) {\n return a[~~wrapper(index)];\n });\n};\nvar wrap = function wrap2(min, max, value) {\n var range = max - min;\n return _isArray(min) ? _wrapArray(min, wrap2(0, min.length), max) : _conditionalReturn(value, function(value2) {\n return (range + (value2 - min) % range) % range + min;\n });\n};\nvar wrapYoyo = function wrapYoyo2(min, max, value) {\n var range = max - min, total = range * 2;\n return _isArray(min) ? _wrapArray(min, wrapYoyo2(0, min.length - 1), max) : _conditionalReturn(value, function(value2) {\n value2 = (total + (value2 - min) % total) % total || 0;\n return min + (value2 > range ? total - value2 : value2);\n });\n};\nvar _replaceRandom = function _replaceRandom2(value) {\n var prev = 0, s = \"\", i, nums, end, isArray;\n while (~(i = value.indexOf(\"random(\", prev))) {\n end = value.indexOf(\")\", i);\n isArray = value.charAt(i + 7) === \"[\";\n nums = value.substr(i + 7, end - i - 7).match(isArray ? _delimitedValueExp : _strictNumExp);\n s += value.substr(prev, i - prev) + random(isArray ? nums : +nums[0], isArray ? 0 : +nums[1], +nums[2] || 1e-5);\n prev = end + 1;\n }\n return s + value.substr(prev, value.length - prev);\n};\nvar mapRange = function mapRange2(inMin, inMax, outMin, outMax, value) {\n var inRange = inMax - inMin, outRange = outMax - outMin;\n return _conditionalReturn(value, function(value2) {\n return outMin + ((value2 - inMin) / inRange * outRange || 0);\n });\n};\nvar interpolate = function interpolate2(start, end, progress, mutate) {\n var func = isNaN(start + end) ? 0 : function(p2) {\n return (1 - p2) * start + p2 * end;\n };\n if (!func) {\n var isString = _isString(start), master = {}, p, i, interpolators, l, il;\n progress === true && (mutate = 1) && (progress = null);\n if (isString) {\n start = {\n p: start\n };\n end = {\n p: end\n };\n } else if (_isArray(start) && !_isArray(end)) {\n interpolators = [];\n l = start.length;\n il = l - 2;\n for (i = 1; i < l; i++) {\n interpolators.push(interpolate2(start[i - 1], start[i]));\n }\n l--;\n func = function func2(p2) {\n p2 *= l;\n var i2 = Math.min(il, ~~p2);\n return interpolators[i2](p2 - i2);\n };\n progress = end;\n } else if (!mutate) {\n start = _merge(_isArray(start) ? [] : {}, start);\n }\n if (!interpolators) {\n for (p in end) {\n _addPropTween.call(master, start, p, \"get\", end[p]);\n }\n func = function func2(p2) {\n return _renderPropTweens(p2, master) || (isString ? start.p : start);\n };\n }\n }\n return _conditionalReturn(progress, func);\n};\nvar _getLabelInDirection = function _getLabelInDirection2(timeline2, fromTime, backward) {\n var labels = timeline2.labels, min = _bigNum, p, distance, label;\n for (p in labels) {\n distance = labels[p] - fromTime;\n if (distance < 0 === !!backward && distance && min > (distance = Math.abs(distance))) {\n label = p;\n min = distance;\n }\n }\n return label;\n};\nvar _callback = function _callback2(animation, type, executeLazyFirst) {\n var v = animation.vars, callback = v[type], prevContext = _context, context3 = animation._ctx, params, scope, result;\n if (!callback) {\n return;\n }\n params = v[type + \"Params\"];\n scope = v.callbackScope || animation;\n executeLazyFirst && _lazyTweens.length && _lazyRender();\n context3 && (_context = context3);\n result = params ? callback.apply(scope, params) : callback.call(scope);\n _context = prevContext;\n return result;\n};\nvar _interrupt = function _interrupt2(animation) {\n _removeFromParent(animation);\n animation.scrollTrigger && animation.scrollTrigger.kill(!!_reverting);\n animation.progress() < 1 && _callback(animation, \"onInterrupt\");\n return animation;\n};\nvar _quickTween;\nvar _registerPluginQueue = [];\nvar _createPlugin = function _createPlugin2(config3) {\n if (!config3) return;\n config3 = !config3.name && config3[\"default\"] || config3;\n if (_windowExists() || config3.headless) {\n var name = config3.name, isFunc = _isFunction(config3), Plugin = name && !isFunc && config3.init ? function() {\n this._props = [];\n } : config3, instanceDefaults = {\n init: _emptyFunc,\n render: _renderPropTweens,\n add: _addPropTween,\n kill: _killPropTweensOf,\n modifier: _addPluginModifier,\n rawVars: 0\n }, statics = {\n targetTest: 0,\n get: 0,\n getSetter: _getSetter,\n aliases: {},\n register: 0\n };\n _wake();\n if (config3 !== Plugin) {\n if (_plugins[name]) {\n return;\n }\n _setDefaults(Plugin, _setDefaults(_copyExcluding(config3, instanceDefaults), statics));\n _merge(Plugin.prototype, _merge(instanceDefaults, _copyExcluding(config3, statics)));\n _plugins[Plugin.prop = name] = Plugin;\n if (config3.targetTest) {\n _harnessPlugins.push(Plugin);\n _reservedProps[name] = 1;\n }\n name = (name === \"css\" ? \"CSS\" : name.charAt(0).toUpperCase() + name.substr(1)) + \"Plugin\";\n }\n _addGlobal(name, Plugin);\n config3.register && config3.register(gsap, Plugin, PropTween);\n } else {\n _registerPluginQueue.push(config3);\n }\n};\nvar _255 = 255;\nvar _colorLookup = {\n aqua: [0, _255, _255],\n lime: [0, _255, 0],\n silver: [192, 192, 192],\n black: [0, 0, 0],\n maroon: [128, 0, 0],\n teal: [0, 128, 128],\n blue: [0, 0, _255],\n navy: [0, 0, 128],\n white: [_255, _255, _255],\n olive: [128, 128, 0],\n yellow: [_255, _255, 0],\n orange: [_255, 165, 0],\n gray: [128, 128, 128],\n purple: [128, 0, 128],\n green: [0, 128, 0],\n red: [_255, 0, 0],\n pink: [_255, 192, 203],\n cyan: [0, _255, _255],\n transparent: [_255, _255, _255, 0]\n};\nvar _hue = function _hue2(h, m1, m2) {\n h += h < 0 ? 1 : h > 1 ? -1 : 0;\n return (h * 6 < 1 ? m1 + (m2 - m1) * h * 6 : h < 0.5 ? m2 : h * 3 < 2 ? m1 + (m2 - m1) * (2 / 3 - h) * 6 : m1) * _255 + 0.5 | 0;\n};\nvar splitColor = function splitColor2(v, toHSL, forceAlpha) {\n var a = !v ? _colorLookup.black : _isNumber(v) ? [v >> 16, v >> 8 & _255, v & _255] : 0, r, g, b, h, s, l, max, min, d, wasHSL;\n if (!a) {\n if (v.substr(-1) === \",\") {\n v = v.substr(0, v.length - 1);\n }\n if (_colorLookup[v]) {\n a = _colorLookup[v];\n } else if (v.charAt(0) === \"#\") {\n if (v.length < 6) {\n r = v.charAt(1);\n g = v.charAt(2);\n b = v.charAt(3);\n v = \"#\" + r + r + g + g + b + b + (v.length === 5 ? v.charAt(4) + v.charAt(4) : \"\");\n }\n if (v.length === 9) {\n a = parseInt(v.substr(1, 6), 16);\n return [a >> 16, a >> 8 & _255, a & _255, parseInt(v.substr(7), 16) / 255];\n }\n v = parseInt(v.substr(1), 16);\n a = [v >> 16, v >> 8 & _255, v & _255];\n } else if (v.substr(0, 3) === \"hsl\") {\n a = wasHSL = v.match(_strictNumExp);\n if (!toHSL) {\n h = +a[0] % 360 / 360;\n s = +a[1] / 100;\n l = +a[2] / 100;\n g = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n r = l * 2 - g;\n a.length > 3 && (a[3] *= 1);\n a[0] = _hue(h + 1 / 3, r, g);\n a[1] = _hue(h, r, g);\n a[2] = _hue(h - 1 / 3, r, g);\n } else if (~v.indexOf(\"=\")) {\n a = v.match(_numExp);\n forceAlpha && a.length < 4 && (a[3] = 1);\n return a;\n }\n } else {\n a = v.match(_strictNumExp) || _colorLookup.transparent;\n }\n a = a.map(Number);\n }\n if (toHSL && !wasHSL) {\n r = a[0] / _255;\n g = a[1] / _255;\n b = a[2] / _255;\n max = Math.max(r, g, b);\n min = Math.min(r, g, b);\n l = (max + min) / 2;\n if (max === min) {\n h = s = 0;\n } else {\n d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n h = max === r ? (g - b) / d + (g < b ? 6 : 0) : max === g ? (b - r) / d + 2 : (r - g) / d + 4;\n h *= 60;\n }\n a[0] = ~~(h + 0.5);\n a[1] = ~~(s * 100 + 0.5);\n a[2] = ~~(l * 100 + 0.5);\n }\n forceAlpha && a.length < 4 && (a[3] = 1);\n return a;\n};\nvar _colorOrderData = function _colorOrderData2(v) {\n var values = [], c = [], i = -1;\n v.split(_colorExp).forEach(function(v2) {\n var a = v2.match(_numWithUnitExp) || [];\n values.push.apply(values, a);\n c.push(i += a.length + 1);\n });\n values.c = c;\n return values;\n};\nvar _formatColors = function _formatColors2(s, toHSL, orderMatchData) {\n var result = \"\", colors = (s + result).match(_colorExp), type = toHSL ? \"hsla(\" : \"rgba(\", i = 0, c, shell, d, l;\n if (!colors) {\n return s;\n }\n colors = colors.map(function(color) {\n return (color = splitColor(color, toHSL, 1)) && type + (toHSL ? color[0] + \",\" + color[1] + \"%,\" + color[2] + \"%,\" + color[3] : color.join(\",\")) + \")\";\n });\n if (orderMatchData) {\n d = _colorOrderData(s);\n c = orderMatchData.c;\n if (c.join(result) !== d.c.join(result)) {\n shell = s.replace(_colorExp, \"1\").split(_numWithUnitExp);\n l = shell.length - 1;\n for (; i < l; i++) {\n result += shell[i] + (~c.indexOf(i) ? colors.shift() || type + \"0,0,0,0)\" : (d.length ? d : colors.length ? colors : orderMatchData).shift());\n }\n }\n }\n if (!shell) {\n shell = s.split(_colorExp);\n l = shell.length - 1;\n for (; i < l; i++) {\n result += shell[i] + colors[i];\n }\n }\n return result + shell[l];\n};\nvar _colorExp = function() {\n var s = \"(?:\\\\b(?:(?:rgb|rgba|hsl|hsla)\\\\(.+?\\\\))|\\\\B#(?:[0-9a-f]{3,4}){1,2}\\\\b\", p;\n for (p in _colorLookup) {\n s += \"|\" + p + \"\\\\b\";\n }\n return new RegExp(s + \")\", \"gi\");\n}();\nvar _hslExp = /hsl[a]?\\(/;\nvar _colorStringFilter = function _colorStringFilter2(a) {\n var combined = a.join(\" \"), toHSL;\n _colorExp.lastIndex = 0;\n if (_colorExp.test(combined)) {\n toHSL = _hslExp.test(combined);\n a[1] = _formatColors(a[1], toHSL);\n a[0] = _formatColors(a[0], toHSL, _colorOrderData(a[1]));\n return true;\n }\n};\nvar _tickerActive;\nvar _ticker = function() {\n var _getTime = Date.now, _lagThreshold = 500, _adjustedLag = 33, _startTime = _getTime(), _lastUpdate = _startTime, _gap = 1e3 / 240, _nextTime = _gap, _listeners2 = [], _id, _req, _raf, _self, _delta, _i, _tick = function _tick2(v) {\n var elapsed = _getTime() - _lastUpdate, manual = v === true, overlap, dispatch, time, frame;\n (elapsed > _lagThreshold || elapsed < 0) && (_startTime += elapsed - _adjustedLag);\n _lastUpdate += elapsed;\n time = _lastUpdate - _startTime;\n overlap = time - _nextTime;\n if (overlap > 0 || manual) {\n frame = ++_self.frame;\n _delta = time - _self.time * 1e3;\n _self.time = time = time / 1e3;\n _nextTime += overlap + (overlap >= _gap ? 4 : _gap - overlap);\n dispatch = 1;\n }\n manual || (_id = _req(_tick2));\n if (dispatch) {\n for (_i = 0; _i < _listeners2.length; _i++) {\n _listeners2[_i](time, _delta, frame, v);\n }\n }\n };\n _self = {\n time: 0,\n frame: 0,\n tick: function tick() {\n _tick(true);\n },\n deltaRatio: function deltaRatio(fps) {\n return _delta / (1e3 / (fps || 60));\n },\n wake: function wake() {\n if (_coreReady) {\n if (!_coreInitted && _windowExists()) {\n _win = _coreInitted = window;\n _doc = _win.document || {};\n _globals.gsap = gsap;\n (_win.gsapVersions || (_win.gsapVersions = [])).push(gsap.version);\n _install(_installScope || _win.GreenSockGlobals || !_win.gsap && _win || {});\n _registerPluginQueue.forEach(_createPlugin);\n }\n _raf = typeof requestAnimationFrame !== \"undefined\" && requestAnimationFrame;\n _id && _self.sleep();\n _req = _raf || function(f) {\n return setTimeout(f, _nextTime - _self.time * 1e3 + 1 | 0);\n };\n _tickerActive = 1;\n _tick(2);\n }\n },\n sleep: function sleep() {\n (_raf ? cancelAnimationFrame : clearTimeout)(_id);\n _tickerActive = 0;\n _req = _emptyFunc;\n },\n lagSmoothing: function lagSmoothing(threshold, adjustedLag) {\n _lagThreshold = threshold || Infinity;\n _adjustedLag = Math.min(adjustedLag || 33, _lagThreshold);\n },\n fps: function fps(_fps) {\n _gap = 1e3 / (_fps || 240);\n _nextTime = _self.time * 1e3 + _gap;\n },\n add: function add(callback, once, prioritize) {\n var func = once ? function(t, d, f, v) {\n callback(t, d, f, v);\n _self.remove(func);\n } : callback;\n _self.remove(callback);\n _listeners2[prioritize ? \"unshift\" : \"push\"](func);\n _wake();\n return func;\n },\n remove: function remove(callback, i) {\n ~(i = _listeners2.indexOf(callback)) && _listeners2.splice(i, 1) && _i >= i && _i--;\n },\n _listeners: _listeners2\n };\n return _self;\n}();\nvar _wake = function _wake2() {\n return !_tickerActive && _ticker.wake();\n};\nvar _easeMap = {};\nvar _customEaseExp = /^[\\d.\\-M][\\d.\\-,\\s]/;\nvar _quotesExp = /[\"']/g;\nvar _parseObjectInString = function _parseObjectInString2(value) {\n var obj = {}, split = value.substr(1, value.length - 3).split(\":\"), key = split[0], i = 1, l = split.length, index, val, parsedVal;\n for (; i < l; i++) {\n val = split[i];\n index = i !== l - 1 ? val.lastIndexOf(\",\") : val.length;\n parsedVal = val.substr(0, index);\n obj[key] = isNaN(parsedVal) ? parsedVal.replace(_quotesExp, \"\").trim() : +parsedVal;\n key = val.substr(index + 1).trim();\n }\n return obj;\n};\nvar _valueInParentheses = function _valueInParentheses2(value) {\n var open = value.indexOf(\"(\") + 1, close = value.indexOf(\")\"), nested = value.indexOf(\"(\", open);\n return value.substring(open, ~nested && nested < close ? value.indexOf(\")\", close + 1) : close);\n};\nvar _configEaseFromString = function _configEaseFromString2(name) {\n var split = (name + \"\").split(\"(\"), ease = _easeMap[split[0]];\n return ease && split.length > 1 && ease.config ? ease.config.apply(null, ~name.indexOf(\"{\") ? [_parseObjectInString(split[1])] : _valueInParentheses(name).split(\",\").map(_numericIfPossible)) : _easeMap._CE && _customEaseExp.test(name) ? _easeMap._CE(\"\", name) : ease;\n};\nvar _invertEase = function _invertEase2(ease) {\n return function(p) {\n return 1 - ease(1 - p);\n };\n};\nvar _propagateYoyoEase = function _propagateYoyoEase2(timeline2, isYoyo) {\n var child = timeline2._first, ease;\n while (child) {\n if (child instanceof Timeline) {\n _propagateYoyoEase2(child, isYoyo);\n } else if (child.vars.yoyoEase && (!child._yoyo || !child._repeat) && child._yoyo !== isYoyo) {\n if (child.timeline) {\n _propagateYoyoEase2(child.timeline, isYoyo);\n } else {\n ease = child._ease;\n child._ease = child._yEase;\n child._yEase = ease;\n child._yoyo = isYoyo;\n }\n }\n child = child._next;\n }\n};\nvar _parseEase = function _parseEase2(ease, defaultEase) {\n return !ease ? defaultEase : (_isFunction(ease) ? ease : _easeMap[ease] || _configEaseFromString(ease)) || defaultEase;\n};\nvar _insertEase = function _insertEase2(names, easeIn, easeOut, easeInOut) {\n if (easeOut === void 0) {\n easeOut = function easeOut2(p) {\n return 1 - easeIn(1 - p);\n };\n }\n if (easeInOut === void 0) {\n easeInOut = function easeInOut2(p) {\n return p < 0.5 ? easeIn(p * 2) / 2 : 1 - easeIn((1 - p) * 2) / 2;\n };\n }\n var ease = {\n easeIn,\n easeOut,\n easeInOut\n }, lowercaseName;\n _forEachName(names, function(name) {\n _easeMap[name] = _globals[name] = ease;\n _easeMap[lowercaseName = name.toLowerCase()] = easeOut;\n for (var p in ease) {\n _easeMap[lowercaseName + (p === \"easeIn\" ? \".in\" : p === \"easeOut\" ? \".out\" : \".inOut\")] = _easeMap[name + \".\" + p] = ease[p];\n }\n });\n return ease;\n};\nvar _easeInOutFromOut = function _easeInOutFromOut2(easeOut) {\n return function(p) {\n return p < 0.5 ? (1 - easeOut(1 - p * 2)) / 2 : 0.5 + easeOut((p - 0.5) * 2) / 2;\n };\n};\nvar _configElastic = function _configElastic2(type, amplitude, period) {\n var p1 = amplitude >= 1 ? amplitude : 1, p2 = (period || (type ? 0.3 : 0.45)) / (amplitude < 1 ? amplitude : 1), p3 = p2 / _2PI * (Math.asin(1 / p1) || 0), easeOut = function easeOut2(p) {\n return p === 1 ? 1 : p1 * Math.pow(2, -10 * p) * _sin((p - p3) * p2) + 1;\n }, ease = type === \"out\" ? easeOut : type === \"in\" ? function(p) {\n return 1 - easeOut(1 - p);\n } : _easeInOutFromOut(easeOut);\n p2 = _2PI / p2;\n ease.config = function(amplitude2, period2) {\n return _configElastic2(type, amplitude2, period2);\n };\n return ease;\n};\nvar _configBack = function _configBack2(type, overshoot) {\n if (overshoot === void 0) {\n overshoot = 1.70158;\n }\n var easeOut = function easeOut2(p) {\n return p ? --p * p * ((overshoot + 1) * p + overshoot) + 1 : 0;\n }, ease = type === \"out\" ? easeOut : type === \"in\" ? function(p) {\n return 1 - easeOut(1 - p);\n } : _easeInOutFromOut(easeOut);\n ease.config = function(overshoot2) {\n return _configBack2(type, overshoot2);\n };\n return ease;\n};\n_forEachName(\"Linear,Quad,Cubic,Quart,Quint,Strong\", function(name, i) {\n var power = i < 5 ? i + 1 : i;\n _insertEase(name + \",Power\" + (power - 1), i ? function(p) {\n return Math.pow(p, power);\n } : function(p) {\n return p;\n }, function(p) {\n return 1 - Math.pow(1 - p, power);\n }, function(p) {\n return p < 0.5 ? Math.pow(p * 2, power) / 2 : 1 - Math.pow((1 - p) * 2, power) / 2;\n });\n});\n_easeMap.Linear.easeNone = _easeMap.none = _easeMap.Linear.easeIn;\n_insertEase(\"Elastic\", _configElastic(\"in\"), _configElastic(\"out\"), _configElastic());\n(function(n, c) {\n var n1 = 1 / c, n2 = 2 * n1, n3 = 2.5 * n1, easeOut = function easeOut2(p) {\n return p < n1 ? n * p * p : p < n2 ? n * Math.pow(p - 1.5 / c, 2) + 0.75 : p < n3 ? n * (p -= 2.25 / c) * p + 0.9375 : n * Math.pow(p - 2.625 / c, 2) + 0.984375;\n };\n _insertEase(\"Bounce\", function(p) {\n return 1 - easeOut(1 - p);\n }, easeOut);\n})(7.5625, 2.75);\n_insertEase(\"Expo\", function(p) {\n return p ? Math.pow(2, 10 * (p - 1)) : 0;\n});\n_insertEase(\"Circ\", function(p) {\n return -(_sqrt(1 - p * p) - 1);\n});\n_insertEase(\"Sine\", function(p) {\n return p === 1 ? 1 : -_cos(p * _HALF_PI) + 1;\n});\n_insertEase(\"Back\", _configBack(\"in\"), _configBack(\"out\"), _configBack());\n_easeMap.SteppedEase = _easeMap.steps = _globals.SteppedEase = {\n config: function config(steps, immediateStart) {\n if (steps === void 0) {\n steps = 1;\n }\n var p1 = 1 / steps, p2 = steps + (immediateStart ? 0 : 1), p3 = immediateStart ? 1 : 0, max = 1 - _tinyNum;\n return function(p) {\n return ((p2 * _clamp(0, max, p) | 0) + p3) * p1;\n };\n }\n};\n_defaults.ease = _easeMap[\"quad.out\"];\n_forEachName(\"onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt\", function(name) {\n return _callbackNames += name + \",\" + name + \"Params,\";\n});\nvar GSCache = function GSCache2(target, harness) {\n this.id = _gsID++;\n target._gsap = this;\n this.target = target;\n this.harness = harness;\n this.get = harness ? harness.get : _getProperty;\n this.set = harness ? harness.getSetter : _getSetter;\n};\nvar Animation = /* @__PURE__ */ function() {\n function Animation2(vars) {\n this.vars = vars;\n this._delay = +vars.delay || 0;\n if (this._repeat = vars.repeat === Infinity ? -2 : vars.repeat || 0) {\n this._rDelay = vars.repeatDelay || 0;\n this._yoyo = !!vars.yoyo || !!vars.yoyoEase;\n }\n this._ts = 1;\n _setDuration(this, +vars.duration, 1, 1);\n this.data = vars.data;\n if (_context) {\n this._ctx = _context;\n _context.data.push(this);\n }\n _tickerActive || _ticker.wake();\n }\n var _proto = Animation2.prototype;\n _proto.delay = function delay(value) {\n if (value || value === 0) {\n this.parent && this.parent.smoothChildTiming && this.startTime(this._start + value - this._delay);\n this._delay = value;\n return this;\n }\n return this._delay;\n };\n _proto.duration = function duration(value) {\n return arguments.length ? this.totalDuration(this._repeat > 0 ? value + (value + this._rDelay) * this._repeat : value) : this.totalDuration() && this._dur;\n };\n _proto.totalDuration = function totalDuration(value) {\n if (!arguments.length) {\n return this._tDur;\n }\n this._dirty = 0;\n return _setDuration(this, this._repeat < 0 ? value : (value - this._repeat * this._rDelay) / (this._repeat + 1));\n };\n _proto.totalTime = function totalTime(_totalTime, suppressEvents) {\n _wake();\n if (!arguments.length) {\n return this._tTime;\n }\n var parent = this._dp;\n if (parent && parent.smoothChildTiming && this._ts) {\n _alignPlayhead(this, _totalTime);\n !parent._dp || parent.parent || _postAddChecks(parent, this);\n while (parent && parent.parent) {\n if (parent.parent._time !== parent._start + (parent._ts >= 0 ? parent._tTime / parent._ts : (parent.totalDuration() - parent._tTime) / -parent._ts)) {\n parent.totalTime(parent._tTime, true);\n }\n parent = parent.parent;\n }\n if (!this.parent && this._dp.autoRemoveChildren && (this._ts > 0 && _totalTime < this._tDur || this._ts < 0 && _totalTime > 0 || !this._tDur && !_totalTime)) {\n _addToTimeline(this._dp, this, this._start - this._delay);\n }\n }\n if (this._tTime !== _totalTime || !this._dur && !suppressEvents || this._initted && Math.abs(this._zTime) === _tinyNum || !_totalTime && !this._initted && (this.add || this._ptLookup)) {\n this._ts || (this._pTime = _totalTime);\n _lazySafeRender(this, _totalTime, suppressEvents);\n }\n return this;\n };\n _proto.time = function time(value, suppressEvents) {\n return arguments.length ? this.totalTime(Math.min(this.totalDuration(), value + _elapsedCycleDuration(this)) % (this._dur + this._rDelay) || (value ? this._dur : 0), suppressEvents) : this._time;\n };\n _proto.totalProgress = function totalProgress(value, suppressEvents) {\n return arguments.length ? this.totalTime(this.totalDuration() * value, suppressEvents) : this.totalDuration() ? Math.min(1, this._tTime / this._tDur) : this.rawTime() > 0 ? 1 : 0;\n };\n _proto.progress = function progress(value, suppressEvents) {\n return arguments.length ? this.totalTime(this.duration() * (this._yoyo && !(this.iteration() & 1) ? 1 - value : value) + _elapsedCycleDuration(this), suppressEvents) : this.duration() ? Math.min(1, this._time / this._dur) : this.rawTime() > 0 ? 1 : 0;\n };\n _proto.iteration = function iteration(value, suppressEvents) {\n var cycleDuration = this.duration() + this._rDelay;\n return arguments.length ? this.totalTime(this._time + (value - 1) * cycleDuration, suppressEvents) : this._repeat ? _animationCycle(this._tTime, cycleDuration) + 1 : 1;\n };\n _proto.timeScale = function timeScale(value, suppressEvents) {\n if (!arguments.length) {\n return this._rts === -_tinyNum ? 0 : this._rts;\n }\n if (this._rts === value) {\n return this;\n }\n var tTime = this.parent && this._ts ? _parentToChildTotalTime(this.parent._time, this) : this._tTime;\n this._rts = +value || 0;\n this._ts = this._ps || value === -_tinyNum ? 0 : this._rts;\n this.totalTime(_clamp(-Math.abs(this._delay), this._tDur, tTime), suppressEvents !== false);\n _setEnd(this);\n return _recacheAncestors(this);\n };\n _proto.paused = function paused(value) {\n if (!arguments.length) {\n return this._ps;\n }\n if (this._ps !== value) {\n this._ps = value;\n if (value) {\n this._pTime = this._tTime || Math.max(-this._delay, this.rawTime());\n this._ts = this._act = 0;\n } else {\n _wake();\n this._ts = this._rts;\n this.totalTime(this.parent && !this.parent.smoothChildTiming ? this.rawTime() : this._tTime || this._pTime, this.progress() === 1 && Math.abs(this._zTime) !== _tinyNum && (this._tTime -= _tinyNum));\n }\n }\n return this;\n };\n _proto.startTime = function startTime(value) {\n if (arguments.length) {\n this._start = value;\n var parent = this.parent || this._dp;\n parent && (parent._sort || !this.parent) && _addToTimeline(parent, this, value - this._delay);\n return this;\n }\n return this._start;\n };\n _proto.endTime = function endTime(includeRepeats) {\n return this._start + (_isNotFalse(includeRepeats) ? this.totalDuration() : this.duration()) / Math.abs(this._ts || 1);\n };\n _proto.rawTime = function rawTime(wrapRepeats) {\n var parent = this.parent || this._dp;\n return !parent ? this._tTime : wrapRepeats && (!this._ts || this._repeat && this._time && this.totalProgress() < 1) ? this._tTime % (this._dur + this._rDelay) : !this._ts ? this._tTime : _parentToChildTotalTime(parent.rawTime(wrapRepeats), this);\n };\n _proto.revert = function revert(config3) {\n if (config3 === void 0) {\n config3 = _revertConfig;\n }\n var prevIsReverting = _reverting;\n _reverting = config3;\n if (this._initted || this._startAt) {\n this.timeline && this.timeline.revert(config3);\n this.totalTime(-0.01, config3.suppressEvents);\n }\n this.data !== \"nested\" && config3.kill !== false && this.kill();\n _reverting = prevIsReverting;\n return this;\n };\n _proto.globalTime = function globalTime(rawTime) {\n var animation = this, time = arguments.length ? rawTime : animation.rawTime();\n while (animation) {\n time = animation._start + time / (Math.abs(animation._ts) || 1);\n animation = animation._dp;\n }\n return !this.parent && this._sat ? this._sat.globalTime(rawTime) : time;\n };\n _proto.repeat = function repeat(value) {\n if (arguments.length) {\n this._repeat = value === Infinity ? -2 : value;\n return _onUpdateTotalDuration(this);\n }\n return this._repeat === -2 ? Infinity : this._repeat;\n };\n _proto.repeatDelay = function repeatDelay(value) {\n if (arguments.length) {\n var time = this._time;\n this._rDelay = value;\n _onUpdateTotalDuration(this);\n return time ? this.time(time) : this;\n }\n return this._rDelay;\n };\n _proto.yoyo = function yoyo(value) {\n if (arguments.length) {\n this._yoyo = value;\n return this;\n }\n return this._yoyo;\n };\n _proto.seek = function seek(position, suppressEvents) {\n return this.totalTime(_parsePosition(this, position), _isNotFalse(suppressEvents));\n };\n _proto.restart = function restart(includeDelay, suppressEvents) {\n return this.play().totalTime(includeDelay ? -this._delay : 0, _isNotFalse(suppressEvents));\n };\n _proto.play = function play(from, suppressEvents) {\n from != null && this.seek(from, suppressEvents);\n return this.reversed(false).paused(false);\n };\n _proto.reverse = function reverse(from, suppressEvents) {\n from != null && this.seek(from || this.totalDuration(), suppressEvents);\n return this.reversed(true).paused(false);\n };\n _proto.pause = function pause(atTime, suppressEvents) {\n atTime != null && this.seek(atTime, suppressEvents);\n return this.paused(true);\n };\n _proto.resume = function resume() {\n return this.paused(false);\n };\n _proto.reversed = function reversed(value) {\n if (arguments.length) {\n !!value !== this.reversed() && this.timeScale(-this._rts || (value ? -_tinyNum : 0));\n return this;\n }\n return this._rts < 0;\n };\n _proto.invalidate = function invalidate() {\n this._initted = this._act = 0;\n this._zTime = -_tinyNum;\n return this;\n };\n _proto.isActive = function isActive() {\n var parent = this.parent || this._dp, start = this._start, rawTime;\n return !!(!parent || this._ts && this._initted && parent.isActive() && (rawTime = parent.rawTime(true)) >= start && rawTime < this.endTime(true) - _tinyNum);\n };\n _proto.eventCallback = function eventCallback(type, callback, params) {\n var vars = this.vars;\n if (arguments.length > 1) {\n if (!callback) {\n delete vars[type];\n } else {\n vars[type] = callback;\n params && (vars[type + \"Params\"] = params);\n type === \"onUpdate\" && (this._onUpdate = callback);\n }\n return this;\n }\n return vars[type];\n };\n _proto.then = function then(onFulfilled) {\n var self = this;\n return new Promise(function(resolve) {\n var f = _isFunction(onFulfilled) ? onFulfilled : _passThrough, _resolve = function _resolve2() {\n var _then = self.then;\n self.then = null;\n _isFunction(f) && (f = f(self)) && (f.then || f === self) && (self.then = _then);\n resolve(f);\n self.then = _then;\n };\n if (self._initted && self.totalProgress() === 1 && self._ts >= 0 || !self._tTime && self._ts < 0) {\n _resolve();\n } else {\n self._prom = _resolve;\n }\n });\n };\n _proto.kill = function kill() {\n _interrupt(this);\n };\n return Animation2;\n}();\n_setDefaults(Animation.prototype, {\n _time: 0,\n _start: 0,\n _end: 0,\n _tTime: 0,\n _tDur: 0,\n _dirty: 0,\n _repeat: 0,\n _yoyo: false,\n parent: null,\n _initted: false,\n _rDelay: 0,\n _ts: 1,\n _dp: 0,\n ratio: 0,\n _zTime: -_tinyNum,\n _prom: 0,\n _ps: false,\n _rts: 1\n});\nvar Timeline = /* @__PURE__ */ function(_Animation) {\n _inheritsLoose(Timeline2, _Animation);\n function Timeline2(vars, position) {\n var _this;\n if (vars === void 0) {\n vars = {};\n }\n _this = _Animation.call(this, vars) || this;\n _this.labels = {};\n _this.smoothChildTiming = !!vars.smoothChildTiming;\n _this.autoRemoveChildren = !!vars.autoRemoveChildren;\n _this._sort = _isNotFalse(vars.sortChildren);\n _globalTimeline && _addToTimeline(vars.parent || _globalTimeline, _assertThisInitialized(_this), position);\n vars.reversed && _this.reverse();\n vars.paused && _this.paused(true);\n vars.scrollTrigger && _scrollTrigger(_assertThisInitialized(_this), vars.scrollTrigger);\n return _this;\n }\n var _proto2 = Timeline2.prototype;\n _proto2.to = function to(targets, vars, position) {\n _createTweenType(0, arguments, this);\n return this;\n };\n _proto2.from = function from(targets, vars, position) {\n _createTweenType(1, arguments, this);\n return this;\n };\n _proto2.fromTo = function fromTo(targets, fromVars, toVars, position) {\n _createTweenType(2, arguments, this);\n return this;\n };\n _proto2.set = function set(targets, vars, position) {\n vars.duration = 0;\n vars.parent = this;\n _inheritDefaults(vars).repeatDelay || (vars.repeat = 0);\n vars.immediateRender = !!vars.immediateRender;\n new Tween(targets, vars, _parsePosition(this, position), 1);\n return this;\n };\n _proto2.call = function call(callback, params, position) {\n return _addToTimeline(this, Tween.delayedCall(0, callback, params), position);\n };\n _proto2.staggerTo = function staggerTo(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams) {\n vars.duration = duration;\n vars.stagger = vars.stagger || stagger;\n vars.onComplete = onCompleteAll;\n vars.onCompleteParams = onCompleteAllParams;\n vars.parent = this;\n new Tween(targets, vars, _parsePosition(this, position));\n return this;\n };\n _proto2.staggerFrom = function staggerFrom(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams) {\n vars.runBackwards = 1;\n _inheritDefaults(vars).immediateRender = _isNotFalse(vars.immediateRender);\n return this.staggerTo(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams);\n };\n _proto2.staggerFromTo = function staggerFromTo(targets, duration, fromVars, toVars, stagger, position, onCompleteAll, onCompleteAllParams) {\n toVars.startAt = fromVars;\n _inheritDefaults(toVars).immediateRender = _isNotFalse(toVars.immediateRender);\n return this.staggerTo(targets, duration, toVars, stagger, position, onCompleteAll, onCompleteAllParams);\n };\n _proto2.render = function render3(totalTime, suppressEvents, force) {\n var prevTime = this._time, tDur = this._dirty ? this.totalDuration() : this._tDur, dur = this._dur, tTime = totalTime <= 0 ? 0 : _roundPrecise(totalTime), crossingStart = this._zTime < 0 !== totalTime < 0 && (this._initted || !dur), time, child, next, iteration, cycleDuration, prevPaused, pauseTween, timeScale, prevStart, prevIteration, yoyo, isYoyo;\n this !== _globalTimeline && tTime > tDur && totalTime >= 0 && (tTime = tDur);\n if (tTime !== this._tTime || force || crossingStart) {\n if (prevTime !== this._time && dur) {\n tTime += this._time - prevTime;\n totalTime += this._time - prevTime;\n }\n time = tTime;\n prevStart = this._start;\n timeScale = this._ts;\n prevPaused = !timeScale;\n if (crossingStart) {\n dur || (prevTime = this._zTime);\n (totalTime || !suppressEvents) && (this._zTime = totalTime);\n }\n if (this._repeat) {\n yoyo = this._yoyo;\n cycleDuration = dur + this._rDelay;\n if (this._repeat < -1 && totalTime < 0) {\n return this.totalTime(cycleDuration * 100 + totalTime, suppressEvents, force);\n }\n time = _roundPrecise(tTime % cycleDuration);\n if (tTime === tDur) {\n iteration = this._repeat;\n time = dur;\n } else {\n iteration = ~~(tTime / cycleDuration);\n if (iteration && iteration === tTime / cycleDuration) {\n time = dur;\n iteration--;\n }\n time > dur && (time = dur);\n }\n prevIteration = _animationCycle(this._tTime, cycleDuration);\n !prevTime && this._tTime && prevIteration !== iteration && this._tTime - prevIteration * cycleDuration - this._dur <= 0 && (prevIteration = iteration);\n if (yoyo && iteration & 1) {\n time = dur - time;\n isYoyo = 1;\n }\n if (iteration !== prevIteration && !this._lock) {\n var rewinding = yoyo && prevIteration & 1, doesWrap = rewinding === (yoyo && iteration & 1);\n iteration < prevIteration && (rewinding = !rewinding);\n prevTime = rewinding ? 0 : tTime % dur ? dur : tTime;\n this._lock = 1;\n this.render(prevTime || (isYoyo ? 0 : _roundPrecise(iteration * cycleDuration)), suppressEvents, !dur)._lock = 0;\n this._tTime = tTime;\n !suppressEvents && this.parent && _callback(this, \"onRepeat\");\n this.vars.repeatRefresh && !isYoyo && (this.invalidate()._lock = 1);\n if (prevTime && prevTime !== this._time || prevPaused !== !this._ts || this.vars.onRepeat && !this.parent && !this._act) {\n return this;\n }\n dur = this._dur;\n tDur = this._tDur;\n if (doesWrap) {\n this._lock = 2;\n prevTime = rewinding ? dur : -1e-4;\n this.render(prevTime, true);\n this.vars.repeatRefresh && !isYoyo && this.invalidate();\n }\n this._lock = 0;\n if (!this._ts && !prevPaused) {\n return this;\n }\n _propagateYoyoEase(this, isYoyo);\n }\n }\n if (this._hasPause && !this._forcing && this._lock < 2) {\n pauseTween = _findNextPauseTween(this, _roundPrecise(prevTime), _roundPrecise(time));\n if (pauseTween) {\n tTime -= time - (time = pauseTween._start);\n }\n }\n this._tTime = tTime;\n this._time = time;\n this._act = !timeScale;\n if (!this._initted) {\n this._onUpdate = this.vars.onUpdate;\n this._initted = 1;\n this._zTime = totalTime;\n prevTime = 0;\n }\n if (!prevTime && time && !suppressEvents && !iteration) {\n _callback(this, \"onStart\");\n if (this._tTime !== tTime) {\n return this;\n }\n }\n if (time >= prevTime && totalTime >= 0) {\n child = this._first;\n while (child) {\n next = child._next;\n if ((child._act || time >= child._start) && child._ts && pauseTween !== child) {\n if (child.parent !== this) {\n return this.render(totalTime, suppressEvents, force);\n }\n child.render(child._ts > 0 ? (time - child._start) * child._ts : (child._dirty ? child.totalDuration() : child._tDur) + (time - child._start) * child._ts, suppressEvents, force);\n if (time !== this._time || !this._ts && !prevPaused) {\n pauseTween = 0;\n next && (tTime += this._zTime = -_tinyNum);\n break;\n }\n }\n child = next;\n }\n } else {\n child = this._last;\n var adjustedTime = totalTime < 0 ? totalTime : time;\n while (child) {\n next = child._prev;\n if ((child._act || adjustedTime <= child._end) && child._ts && pauseTween !== child) {\n if (child.parent !== this) {\n return this.render(totalTime, suppressEvents, force);\n }\n child.render(child._ts > 0 ? (adjustedTime - child._start) * child._ts : (child._dirty ? child.totalDuration() : child._tDur) + (adjustedTime - child._start) * child._ts, suppressEvents, force || _reverting && (child._initted || child._startAt));\n if (time !== this._time || !this._ts && !prevPaused) {\n pauseTween = 0;\n next && (tTime += this._zTime = adjustedTime ? -_tinyNum : _tinyNum);\n break;\n }\n }\n child = next;\n }\n }\n if (pauseTween && !suppressEvents) {\n this.pause();\n pauseTween.render(time >= prevTime ? 0 : -_tinyNum)._zTime = time >= prevTime ? 1 : -1;\n if (this._ts) {\n this._start = prevStart;\n _setEnd(this);\n return this.render(totalTime, suppressEvents, force);\n }\n }\n this._onUpdate && !suppressEvents && _callback(this, \"onUpdate\", true);\n if (tTime === tDur && this._tTime >= this.totalDuration() || !tTime && prevTime) {\n if (prevStart === this._start || Math.abs(timeScale) !== Math.abs(this._ts)) {\n if (!this._lock) {\n (totalTime || !dur) && (tTime === tDur && this._ts > 0 || !tTime && this._ts < 0) && _removeFromParent(this, 1);\n if (!suppressEvents && !(totalTime < 0 && !prevTime) && (tTime || prevTime || !tDur)) {\n _callback(this, tTime === tDur && totalTime >= 0 ? \"onComplete\" : \"onReverseComplete\", true);\n this._prom && !(tTime < tDur && this.timeScale() > 0) && this._prom();\n }\n }\n }\n }\n }\n return this;\n };\n _proto2.add = function add(child, position) {\n var _this2 = this;\n _isNumber(position) || (position = _parsePosition(this, position, child));\n if (!(child instanceof Animation)) {\n if (_isArray(child)) {\n child.forEach(function(obj) {\n return _this2.add(obj, position);\n });\n return this;\n }\n if (_isString(child)) {\n return this.addLabel(child, position);\n }\n if (_isFunction(child)) {\n child = Tween.delayedCall(0, child);\n } else {\n return this;\n }\n }\n return this !== child ? _addToTimeline(this, child, position) : this;\n };\n _proto2.getChildren = function getChildren(nested, tweens, timelines, ignoreBeforeTime) {\n if (nested === void 0) {\n nested = true;\n }\n if (tweens === void 0) {\n tweens = true;\n }\n if (timelines === void 0) {\n timelines = true;\n }\n if (ignoreBeforeTime === void 0) {\n ignoreBeforeTime = -_bigNum;\n }\n var a = [], child = this._first;\n while (child) {\n if (child._start >= ignoreBeforeTime) {\n if (child instanceof Tween) {\n tweens && a.push(child);\n } else {\n timelines && a.push(child);\n nested && a.push.apply(a, child.getChildren(true, tweens, timelines));\n }\n }\n child = child._next;\n }\n return a;\n };\n _proto2.getById = function getById2(id) {\n var animations = this.getChildren(1, 1, 1), i = animations.length;\n while (i--) {\n if (animations[i].vars.id === id) {\n return animations[i];\n }\n }\n };\n _proto2.remove = function remove(child) {\n if (_isString(child)) {\n return this.removeLabel(child);\n }\n if (_isFunction(child)) {\n return this.killTweensOf(child);\n }\n _removeLinkedListItem(this, child);\n if (child === this._recent) {\n this._recent = this._last;\n }\n return _uncache(this);\n };\n _proto2.totalTime = function totalTime(_totalTime2, suppressEvents) {\n if (!arguments.length) {\n return this._tTime;\n }\n this._forcing = 1;\n if (!this._dp && this._ts) {\n this._start = _roundPrecise(_ticker.time - (this._ts > 0 ? _totalTime2 / this._ts : (this.totalDuration() - _totalTime2) / -this._ts));\n }\n _Animation.prototype.totalTime.call(this, _totalTime2, suppressEvents);\n this._forcing = 0;\n return this;\n };\n _proto2.addLabel = function addLabel(label, position) {\n this.labels[label] = _parsePosition(this, position);\n return this;\n };\n _proto2.removeLabel = function removeLabel(label) {\n delete this.labels[label];\n return this;\n };\n _proto2.addPause = function addPause(position, callback, params) {\n var t = Tween.delayedCall(0, callback || _emptyFunc, params);\n t.data = \"isPause\";\n this._hasPause = 1;\n return _addToTimeline(this, t, _parsePosition(this, position));\n };\n _proto2.removePause = function removePause(position) {\n var child = this._first;\n position = _parsePosition(this, position);\n while (child) {\n if (child._start === position && child.data === \"isPause\") {\n _removeFromParent(child);\n }\n child = child._next;\n }\n };\n _proto2.killTweensOf = function killTweensOf(targets, props, onlyActive) {\n var tweens = this.getTweensOf(targets, onlyActive), i = tweens.length;\n while (i--) {\n _overwritingTween !== tweens[i] && tweens[i].kill(targets, props);\n }\n return this;\n };\n _proto2.getTweensOf = function getTweensOf2(targets, onlyActive) {\n var a = [], parsedTargets = toArray(targets), child = this._first, isGlobalTime = _isNumber(onlyActive), children;\n while (child) {\n if (child instanceof Tween) {\n if (_arrayContainsAny(child._targets, parsedTargets) && (isGlobalTime ? (!_overwritingTween || child._initted && child._ts) && child.globalTime(0) <= onlyActive && child.globalTime(child.totalDuration()) > onlyActive : !onlyActive || child.isActive())) {\n a.push(child);\n }\n } else if ((children = child.getTweensOf(parsedTargets, onlyActive)).length) {\n a.push.apply(a, children);\n }\n child = child._next;\n }\n return a;\n };\n _proto2.tweenTo = function tweenTo(position, vars) {\n vars = vars || {};\n var tl = this, endTime = _parsePosition(tl, position), _vars = vars, startAt = _vars.startAt, _onStart = _vars.onStart, onStartParams = _vars.onStartParams, immediateRender = _vars.immediateRender, initted, tween = Tween.to(tl, _setDefaults({\n ease: vars.ease || \"none\",\n lazy: false,\n immediateRender: false,\n time: endTime,\n overwrite: \"auto\",\n duration: vars.duration || Math.abs((endTime - (startAt && \"time\" in startAt ? startAt.time : tl._time)) / tl.timeScale()) || _tinyNum,\n onStart: function onStart() {\n tl.pause();\n if (!initted) {\n var duration = vars.duration || Math.abs((endTime - (startAt && \"time\" in startAt ? startAt.time : tl._time)) / tl.timeScale());\n tween._dur !== duration && _setDuration(tween, duration, 0, 1).render(tween._time, true, true);\n initted = 1;\n }\n _onStart && _onStart.apply(tween, onStartParams || []);\n }\n }, vars));\n return immediateRender ? tween.render(0) : tween;\n };\n _proto2.tweenFromTo = function tweenFromTo(fromPosition, toPosition, vars) {\n return this.tweenTo(toPosition, _setDefaults({\n startAt: {\n time: _parsePosition(this, fromPosition)\n }\n }, vars));\n };\n _proto2.recent = function recent() {\n return this._recent;\n };\n _proto2.nextLabel = function nextLabel(afterTime) {\n if (afterTime === void 0) {\n afterTime = this._time;\n }\n return _getLabelInDirection(this, _parsePosition(this, afterTime));\n };\n _proto2.previousLabel = function previousLabel(beforeTime) {\n if (beforeTime === void 0) {\n beforeTime = this._time;\n }\n return _getLabelInDirection(this, _parsePosition(this, beforeTime), 1);\n };\n _proto2.currentLabel = function currentLabel(value) {\n return arguments.length ? this.seek(value, true) : this.previousLabel(this._time + _tinyNum);\n };\n _proto2.shiftChildren = function shiftChildren(amount, adjustLabels, ignoreBeforeTime) {\n if (ignoreBeforeTime === void 0) {\n ignoreBeforeTime = 0;\n }\n var child = this._first, labels = this.labels, p;\n while (child) {\n if (child._start >= ignoreBeforeTime) {\n child._start += amount;\n child._end += amount;\n }\n child = child._next;\n }\n if (adjustLabels) {\n for (p in labels) {\n if (labels[p] >= ignoreBeforeTime) {\n labels[p] += amount;\n }\n }\n }\n return _uncache(this);\n };\n _proto2.invalidate = function invalidate(soft) {\n var child = this._first;\n this._lock = 0;\n while (child) {\n child.invalidate(soft);\n child = child._next;\n }\n return _Animation.prototype.invalidate.call(this, soft);\n };\n _proto2.clear = function clear(includeLabels) {\n if (includeLabels === void 0) {\n includeLabels = true;\n }\n var child = this._first, next;\n while (child) {\n next = child._next;\n this.remove(child);\n child = next;\n }\n this._dp && (this._time = this._tTime = this._pTime = 0);\n includeLabels && (this.labels = {});\n return _uncache(this);\n };\n _proto2.totalDuration = function totalDuration(value) {\n var max = 0, self = this, child = self._last, prevStart = _bigNum, prev, start, parent;\n if (arguments.length) {\n return self.timeScale((self._repeat < 0 ? self.duration() : self.totalDuration()) / (self.reversed() ? -value : value));\n }\n if (self._dirty) {\n parent = self.parent;\n while (child) {\n prev = child._prev;\n child._dirty && child.totalDuration();\n start = child._start;\n if (start > prevStart && self._sort && child._ts && !self._lock) {\n self._lock = 1;\n _addToTimeline(self, child, start - child._delay, 1)._lock = 0;\n } else {\n prevStart = start;\n }\n if (start < 0 && child._ts) {\n max -= start;\n if (!parent && !self._dp || parent && parent.smoothChildTiming) {\n self._start += start / self._ts;\n self._time -= start;\n self._tTime -= start;\n }\n self.shiftChildren(-start, false, -Infinity);\n prevStart = 0;\n }\n child._end > max && child._ts && (max = child._end);\n child = prev;\n }\n _setDuration(self, self === _globalTimeline && self._time > max ? self._time : max, 1, 1);\n self._dirty = 0;\n }\n return self._tDur;\n };\n Timeline2.updateRoot = function updateRoot(time) {\n if (_globalTimeline._ts) {\n _lazySafeRender(_globalTimeline, _parentToChildTotalTime(time, _globalTimeline));\n _lastRenderedFrame = _ticker.frame;\n }\n if (_ticker.frame >= _nextGCFrame) {\n _nextGCFrame += _config.autoSleep || 120;\n var child = _globalTimeline._first;\n if (!child || !child._ts) {\n if (_config.autoSleep && _ticker._listeners.length < 2) {\n while (child && !child._ts) {\n child = child._next;\n }\n child || _ticker.sleep();\n }\n }\n }\n };\n return Timeline2;\n}(Animation);\n_setDefaults(Timeline.prototype, {\n _lock: 0,\n _hasPause: 0,\n _forcing: 0\n});\nvar _addComplexStringPropTween = function _addComplexStringPropTween2(target, prop, start, end, setter, stringFilter, funcParam) {\n var pt = new PropTween(this._pt, target, prop, 0, 1, _renderComplexString, null, setter), index = 0, matchIndex = 0, result, startNums, color, endNum, chunk, startNum, hasRandom, a;\n pt.b = start;\n pt.e = end;\n start += \"\";\n end += \"\";\n if (hasRandom = ~end.indexOf(\"random(\")) {\n end = _replaceRandom(end);\n }\n if (stringFilter) {\n a = [start, end];\n stringFilter(a, target, prop);\n start = a[0];\n end = a[1];\n }\n startNums = start.match(_complexStringNumExp) || [];\n while (result = _complexStringNumExp.exec(end)) {\n endNum = result[0];\n chunk = end.substring(index, result.index);\n if (color) {\n color = (color + 1) % 5;\n } else if (chunk.substr(-5) === \"rgba(\") {\n color = 1;\n }\n if (endNum !== startNums[matchIndex++]) {\n startNum = parseFloat(startNums[matchIndex - 1]) || 0;\n pt._pt = {\n _next: pt._pt,\n p: chunk || matchIndex === 1 ? chunk : \",\",\n //note: SVG spec allows omission of comma/space when a negative sign is wedged between two numbers, like 2.5-5.3 instead of 2.5,-5.3 but when tweening, the negative value may switch to positive, so we insert the comma just in case.\n s: startNum,\n c: endNum.charAt(1) === \"=\" ? _parseRelative(startNum, endNum) - startNum : parseFloat(endNum) - startNum,\n m: color && color < 4 ? Math.round : 0\n };\n index = _complexStringNumExp.lastIndex;\n }\n }\n pt.c = index < end.length ? end.substring(index, end.length) : \"\";\n pt.fp = funcParam;\n if (_relExp.test(end) || hasRandom) {\n pt.e = 0;\n }\n this._pt = pt;\n return pt;\n};\nvar _addPropTween = function _addPropTween2(target, prop, start, end, index, targets, modifier, stringFilter, funcParam, optional) {\n _isFunction(end) && (end = end(index || 0, target, targets));\n var currentValue = target[prop], parsedStart = start !== \"get\" ? start : !_isFunction(currentValue) ? currentValue : funcParam ? target[prop.indexOf(\"set\") || !_isFunction(target[\"get\" + prop.substr(3)]) ? prop : \"get\" + prop.substr(3)](funcParam) : target[prop](), setter = !_isFunction(currentValue) ? _setterPlain : funcParam ? _setterFuncWithParam : _setterFunc, pt;\n if (_isString(end)) {\n if (~end.indexOf(\"random(\")) {\n end = _replaceRandom(end);\n }\n if (end.charAt(1) === \"=\") {\n pt = _parseRelative(parsedStart, end) + (getUnit(parsedStart) || 0);\n if (pt || pt === 0) {\n end = pt;\n }\n }\n }\n if (!optional || parsedStart !== end || _forceAllPropTweens) {\n if (!isNaN(parsedStart * end) && end !== \"\") {\n pt = new PropTween(this._pt, target, prop, +parsedStart || 0, end - (parsedStart || 0), typeof currentValue === \"boolean\" ? _renderBoolean : _renderPlain, 0, setter);\n funcParam && (pt.fp = funcParam);\n modifier && pt.modifier(modifier, this, target);\n return this._pt = pt;\n }\n !currentValue && !(prop in target) && _missingPlugin(prop, end);\n return _addComplexStringPropTween.call(this, target, prop, parsedStart, end, setter, stringFilter || _config.stringFilter, funcParam);\n }\n};\nvar _processVars = function _processVars2(vars, index, target, targets, tween) {\n _isFunction(vars) && (vars = _parseFuncOrString(vars, tween, index, target, targets));\n if (!_isObject(vars) || vars.style && vars.nodeType || _isArray(vars) || _isTypedArray(vars)) {\n return _isString(vars) ? _parseFuncOrString(vars, tween, index, target, targets) : vars;\n }\n var copy = {}, p;\n for (p in vars) {\n copy[p] = _parseFuncOrString(vars[p], tween, index, target, targets);\n }\n return copy;\n};\nvar _checkPlugin = function _checkPlugin2(property, vars, tween, index, target, targets) {\n var plugin, pt, ptLookup, i;\n if (_plugins[property] && (plugin = new _plugins[property]()).init(target, plugin.rawVars ? vars[property] : _processVars(vars[property], index, target, targets, tween), tween, index, targets) !== false) {\n tween._pt = pt = new PropTween(tween._pt, target, property, 0, 1, plugin.render, plugin, 0, plugin.priority);\n if (tween !== _quickTween) {\n ptLookup = tween._ptLookup[tween._targets.indexOf(target)];\n i = plugin._props.length;\n while (i--) {\n ptLookup[plugin._props[i]] = pt;\n }\n }\n }\n return plugin;\n};\nvar _overwritingTween;\nvar _forceAllPropTweens;\nvar _initTween = function _initTween2(tween, time, tTime) {\n var vars = tween.vars, ease = vars.ease, startAt = vars.startAt, immediateRender = vars.immediateRender, lazy = vars.lazy, onUpdate = vars.onUpdate, runBackwards = vars.runBackwards, yoyoEase = vars.yoyoEase, keyframes = vars.keyframes, autoRevert = vars.autoRevert, dur = tween._dur, prevStartAt = tween._startAt, targets = tween._targets, parent = tween.parent, fullTargets = parent && parent.data === \"nested\" ? parent.vars.targets : targets, autoOverwrite = tween._overwrite === \"auto\" && !_suppressOverwrites, tl = tween.timeline, cleanVars, i, p, pt, target, hasPriority, gsData, harness, plugin, ptLookup, index, harnessVars, overwritten;\n tl && (!keyframes || !ease) && (ease = \"none\");\n tween._ease = _parseEase(ease, _defaults.ease);\n tween._yEase = yoyoEase ? _invertEase(_parseEase(yoyoEase === true ? ease : yoyoEase, _defaults.ease)) : 0;\n if (yoyoEase && tween._yoyo && !tween._repeat) {\n yoyoEase = tween._yEase;\n tween._yEase = tween._ease;\n tween._ease = yoyoEase;\n }\n tween._from = !tl && !!vars.runBackwards;\n if (!tl || keyframes && !vars.stagger) {\n harness = targets[0] ? _getCache(targets[0]).harness : 0;\n harnessVars = harness && vars[harness.prop];\n cleanVars = _copyExcluding(vars, _reservedProps);\n if (prevStartAt) {\n prevStartAt._zTime < 0 && prevStartAt.progress(1);\n time < 0 && runBackwards && immediateRender && !autoRevert ? prevStartAt.render(-1, true) : prevStartAt.revert(runBackwards && dur ? _revertConfigNoKill : _startAtRevertConfig);\n prevStartAt._lazy = 0;\n }\n if (startAt) {\n _removeFromParent(tween._startAt = Tween.set(targets, _setDefaults({\n data: \"isStart\",\n overwrite: false,\n parent,\n immediateRender: true,\n lazy: !prevStartAt && _isNotFalse(lazy),\n startAt: null,\n delay: 0,\n onUpdate: onUpdate && function() {\n return _callback(tween, \"onUpdate\");\n },\n stagger: 0\n }, startAt)));\n tween._startAt._dp = 0;\n tween._startAt._sat = tween;\n time < 0 && (_reverting || !immediateRender && !autoRevert) && tween._startAt.revert(_revertConfigNoKill);\n if (immediateRender) {\n if (dur && time <= 0 && tTime <= 0) {\n time && (tween._zTime = time);\n return;\n }\n }\n } else if (runBackwards && dur) {\n if (!prevStartAt) {\n time && (immediateRender = false);\n p = _setDefaults({\n overwrite: false,\n data: \"isFromStart\",\n //we tag the tween with as \"isFromStart\" so that if [inside a plugin] we need to only do something at the very END of a tween, we have a way of identifying this tween as merely the one that's setting the beginning values for a \"from()\" tween. For example, clearProps in CSSPlugin should only get applied at the very END of a tween and without this tag, from(...{height:100, clearProps:\"height\", delay:1}) would wipe the height at the beginning of the tween and after 1 second, it'd kick back in.\n lazy: immediateRender && !prevStartAt && _isNotFalse(lazy),\n immediateRender,\n //zero-duration tweens render immediately by default, but if we're not specifically instructed to render this tween immediately, we should skip this and merely _init() to record the starting values (rendering them immediately would push them to completion which is wasteful in that case - we'd have to render(-1) immediately after)\n stagger: 0,\n parent\n //ensures that nested tweens that had a stagger are handled properly, like gsap.from(\".class\", {y: gsap.utils.wrap([-100,100]), stagger: 0.5})\n }, cleanVars);\n harnessVars && (p[harness.prop] = harnessVars);\n _removeFromParent(tween._startAt = Tween.set(targets, p));\n tween._startAt._dp = 0;\n tween._startAt._sat = tween;\n time < 0 && (_reverting ? tween._startAt.revert(_revertConfigNoKill) : tween._startAt.render(-1, true));\n tween._zTime = time;\n if (!immediateRender) {\n _initTween2(tween._startAt, _tinyNum, _tinyNum);\n } else if (!time) {\n return;\n }\n }\n }\n tween._pt = tween._ptCache = 0;\n lazy = dur && _isNotFalse(lazy) || lazy && !dur;\n for (i = 0; i < targets.length; i++) {\n target = targets[i];\n gsData = target._gsap || _harness(targets)[i]._gsap;\n tween._ptLookup[i] = ptLookup = {};\n _lazyLookup[gsData.id] && _lazyTweens.length && _lazyRender();\n index = fullTargets === targets ? i : fullTargets.indexOf(target);\n if (harness && (plugin = new harness()).init(target, harnessVars || cleanVars, tween, index, fullTargets) !== false) {\n tween._pt = pt = new PropTween(tween._pt, target, plugin.name, 0, 1, plugin.render, plugin, 0, plugin.priority);\n plugin._props.forEach(function(name) {\n ptLookup[name] = pt;\n });\n plugin.priority && (hasPriority = 1);\n }\n if (!harness || harnessVars) {\n for (p in cleanVars) {\n if (_plugins[p] && (plugin = _checkPlugin(p, cleanVars, tween, index, target, fullTargets))) {\n plugin.priority && (hasPriority = 1);\n } else {\n ptLookup[p] = pt = _addPropTween.call(tween, target, p, \"get\", cleanVars[p], index, fullTargets, 0, vars.stringFilter);\n }\n }\n }\n tween._op && tween._op[i] && tween.kill(target, tween._op[i]);\n if (autoOverwrite && tween._pt) {\n _overwritingTween = tween;\n _globalTimeline.killTweensOf(target, ptLookup, tween.globalTime(time));\n overwritten = !tween.parent;\n _overwritingTween = 0;\n }\n tween._pt && lazy && (_lazyLookup[gsData.id] = 1);\n }\n hasPriority && _sortPropTweensByPriority(tween);\n tween._onInit && tween._onInit(tween);\n }\n tween._onUpdate = onUpdate;\n tween._initted = (!tween._op || tween._pt) && !overwritten;\n keyframes && time <= 0 && tl.render(_bigNum, true, true);\n};\nvar _updatePropTweens = function _updatePropTweens2(tween, property, value, start, startIsRelative, ratio, time, skipRecursion) {\n var ptCache = (tween._pt && tween._ptCache || (tween._ptCache = {}))[property], pt, rootPT, lookup, i;\n if (!ptCache) {\n ptCache = tween._ptCache[property] = [];\n lookup = tween._ptLookup;\n i = tween._targets.length;\n while (i--) {\n pt = lookup[i][property];\n if (pt && pt.d && pt.d._pt) {\n pt = pt.d._pt;\n while (pt && pt.p !== property && pt.fp !== property) {\n pt = pt._next;\n }\n }\n if (!pt) {\n _forceAllPropTweens = 1;\n tween.vars[property] = \"+=0\";\n _initTween(tween, time);\n _forceAllPropTweens = 0;\n return skipRecursion ? _warn(property + \" not eligible for reset\") : 1;\n }\n ptCache.push(pt);\n }\n }\n i = ptCache.length;\n while (i--) {\n rootPT = ptCache[i];\n pt = rootPT._pt || rootPT;\n pt.s = (start || start === 0) && !startIsRelative ? start : pt.s + (start || 0) + ratio * pt.c;\n pt.c = value - pt.s;\n rootPT.e && (rootPT.e = _round(value) + getUnit(rootPT.e));\n rootPT.b && (rootPT.b = pt.s + getUnit(rootPT.b));\n }\n};\nvar _addAliasesToVars = function _addAliasesToVars2(targets, vars) {\n var harness = targets[0] ? _getCache(targets[0]).harness : 0, propertyAliases = harness && harness.aliases, copy, p, i, aliases;\n if (!propertyAliases) {\n return vars;\n }\n copy = _merge({}, vars);\n for (p in propertyAliases) {\n if (p in copy) {\n aliases = propertyAliases[p].split(\",\");\n i = aliases.length;\n while (i--) {\n copy[aliases[i]] = copy[p];\n }\n }\n }\n return copy;\n};\nvar _parseKeyframe = function _parseKeyframe2(prop, obj, allProps, easeEach) {\n var ease = obj.ease || easeEach || \"power1.inOut\", p, a;\n if (_isArray(obj)) {\n a = allProps[prop] || (allProps[prop] = []);\n obj.forEach(function(value, i) {\n return a.push({\n t: i / (obj.length - 1) * 100,\n v: value,\n e: ease\n });\n });\n } else {\n for (p in obj) {\n a = allProps[p] || (allProps[p] = []);\n p === \"ease\" || a.push({\n t: parseFloat(prop),\n v: obj[p],\n e: ease\n });\n }\n }\n};\nvar _parseFuncOrString = function _parseFuncOrString2(value, tween, i, target, targets) {\n return _isFunction(value) ? value.call(tween, i, target, targets) : _isString(value) && ~value.indexOf(\"random(\") ? _replaceRandom(value) : value;\n};\nvar _staggerTweenProps = _callbackNames + \"repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,autoRevert\";\nvar _staggerPropsToSkip = {};\n_forEachName(_staggerTweenProps + \",id,stagger,delay,duration,paused,scrollTrigger\", function(name) {\n return _staggerPropsToSkip[name] = 1;\n});\nvar Tween = /* @__PURE__ */ function(_Animation2) {\n _inheritsLoose(Tween2, _Animation2);\n function Tween2(targets, vars, position, skipInherit) {\n var _this3;\n if (typeof vars === \"number\") {\n position.duration = vars;\n vars = position;\n position = null;\n }\n _this3 = _Animation2.call(this, skipInherit ? vars : _inheritDefaults(vars)) || this;\n var _this3$vars = _this3.vars, duration = _this3$vars.duration, delay = _this3$vars.delay, immediateRender = _this3$vars.immediateRender, stagger = _this3$vars.stagger, overwrite = _this3$vars.overwrite, keyframes = _this3$vars.keyframes, defaults2 = _this3$vars.defaults, scrollTrigger = _this3$vars.scrollTrigger, yoyoEase = _this3$vars.yoyoEase, parent = vars.parent || _globalTimeline, parsedTargets = (_isArray(targets) || _isTypedArray(targets) ? _isNumber(targets[0]) : \"length\" in vars) ? [targets] : toArray(targets), tl, i, copy, l, p, curTarget, staggerFunc, staggerVarsToMerge;\n _this3._targets = parsedTargets.length ? _harness(parsedTargets) : _warn(\"GSAP target \" + targets + \" not found. https://gsap.com\", !_config.nullTargetWarn) || [];\n _this3._ptLookup = [];\n _this3._overwrite = overwrite;\n if (keyframes || stagger || _isFuncOrString(duration) || _isFuncOrString(delay)) {\n vars = _this3.vars;\n tl = _this3.timeline = new Timeline({\n data: \"nested\",\n defaults: defaults2 || {},\n targets: parent && parent.data === \"nested\" ? parent.vars.targets : parsedTargets\n });\n tl.kill();\n tl.parent = tl._dp = _assertThisInitialized(_this3);\n tl._start = 0;\n if (stagger || _isFuncOrString(duration) || _isFuncOrString(delay)) {\n l = parsedTargets.length;\n staggerFunc = stagger && distribute(stagger);\n if (_isObject(stagger)) {\n for (p in stagger) {\n if (~_staggerTweenProps.indexOf(p)) {\n staggerVarsToMerge || (staggerVarsToMerge = {});\n staggerVarsToMerge[p] = stagger[p];\n }\n }\n }\n for (i = 0; i < l; i++) {\n copy = _copyExcluding(vars, _staggerPropsToSkip);\n copy.stagger = 0;\n yoyoEase && (copy.yoyoEase = yoyoEase);\n staggerVarsToMerge && _merge(copy, staggerVarsToMerge);\n curTarget = parsedTargets[i];\n copy.duration = +_parseFuncOrString(duration, _assertThisInitialized(_this3), i, curTarget, parsedTargets);\n copy.delay = (+_parseFuncOrString(delay, _assertThisInitialized(_this3), i, curTarget, parsedTargets) || 0) - _this3._delay;\n if (!stagger && l === 1 && copy.delay) {\n _this3._delay = delay = copy.delay;\n _this3._start += delay;\n copy.delay = 0;\n }\n tl.to(curTarget, copy, staggerFunc ? staggerFunc(i, curTarget, parsedTargets) : 0);\n tl._ease = _easeMap.none;\n }\n tl.duration() ? duration = delay = 0 : _this3.timeline = 0;\n } else if (keyframes) {\n _inheritDefaults(_setDefaults(tl.vars.defaults, {\n ease: \"none\"\n }));\n tl._ease = _parseEase(keyframes.ease || vars.ease || \"none\");\n var time = 0, a, kf, v;\n if (_isArray(keyframes)) {\n keyframes.forEach(function(frame) {\n return tl.to(parsedTargets, frame, \">\");\n });\n tl.duration();\n } else {\n copy = {};\n for (p in keyframes) {\n p === \"ease\" || p === \"easeEach\" || _parseKeyframe(p, keyframes[p], copy, keyframes.easeEach);\n }\n for (p in copy) {\n a = copy[p].sort(function(a2, b) {\n return a2.t - b.t;\n });\n time = 0;\n for (i = 0; i < a.length; i++) {\n kf = a[i];\n v = {\n ease: kf.e,\n duration: (kf.t - (i ? a[i - 1].t : 0)) / 100 * duration\n };\n v[p] = kf.v;\n tl.to(parsedTargets, v, time);\n time += v.duration;\n }\n }\n tl.duration() < duration && tl.to({}, {\n duration: duration - tl.duration()\n });\n }\n }\n duration || _this3.duration(duration = tl.duration());\n } else {\n _this3.timeline = 0;\n }\n if (overwrite === true && !_suppressOverwrites) {\n _overwritingTween = _assertThisInitialized(_this3);\n _globalTimeline.killTweensOf(parsedTargets);\n _overwritingTween = 0;\n }\n _addToTimeline(parent, _assertThisInitialized(_this3), position);\n vars.reversed && _this3.reverse();\n vars.paused && _this3.paused(true);\n if (immediateRender || !duration && !keyframes && _this3._start === _roundPrecise(parent._time) && _isNotFalse(immediateRender) && _hasNoPausedAncestors(_assertThisInitialized(_this3)) && parent.data !== \"nested\") {\n _this3._tTime = -_tinyNum;\n _this3.render(Math.max(0, -delay) || 0);\n }\n scrollTrigger && _scrollTrigger(_assertThisInitialized(_this3), scrollTrigger);\n return _this3;\n }\n var _proto3 = Tween2.prototype;\n _proto3.render = function render3(totalTime, suppressEvents, force) {\n var prevTime = this._time, tDur = this._tDur, dur = this._dur, isNegative = totalTime < 0, tTime = totalTime > tDur - _tinyNum && !isNegative ? tDur : totalTime < _tinyNum ? 0 : totalTime, time, pt, iteration, cycleDuration, prevIteration, isYoyo, ratio, timeline2, yoyoEase;\n if (!dur) {\n _renderZeroDurationTween(this, totalTime, suppressEvents, force);\n } else if (tTime !== this._tTime || !totalTime || force || !this._initted && this._tTime || this._startAt && this._zTime < 0 !== isNegative) {\n time = tTime;\n timeline2 = this.timeline;\n if (this._repeat) {\n cycleDuration = dur + this._rDelay;\n if (this._repeat < -1 && isNegative) {\n return this.totalTime(cycleDuration * 100 + totalTime, suppressEvents, force);\n }\n time = _roundPrecise(tTime % cycleDuration);\n if (tTime === tDur) {\n iteration = this._repeat;\n time = dur;\n } else {\n iteration = ~~(tTime / cycleDuration);\n if (iteration && iteration === _roundPrecise(tTime / cycleDuration)) {\n time = dur;\n iteration--;\n }\n time > dur && (time = dur);\n }\n isYoyo = this._yoyo && iteration & 1;\n if (isYoyo) {\n yoyoEase = this._yEase;\n time = dur - time;\n }\n prevIteration = _animationCycle(this._tTime, cycleDuration);\n if (time === prevTime && !force && this._initted && iteration === prevIteration) {\n this._tTime = tTime;\n return this;\n }\n if (iteration !== prevIteration) {\n timeline2 && this._yEase && _propagateYoyoEase(timeline2, isYoyo);\n if (this.vars.repeatRefresh && !isYoyo && !this._lock && this._time !== cycleDuration && this._initted) {\n this._lock = force = 1;\n this.render(_roundPrecise(cycleDuration * iteration), true).invalidate()._lock = 0;\n }\n }\n }\n if (!this._initted) {\n if (_attemptInitTween(this, isNegative ? totalTime : time, force, suppressEvents, tTime)) {\n this._tTime = 0;\n return this;\n }\n if (prevTime !== this._time && !(force && this.vars.repeatRefresh && iteration !== prevIteration)) {\n return this;\n }\n if (dur !== this._dur) {\n return this.render(totalTime, suppressEvents, force);\n }\n }\n this._tTime = tTime;\n this._time = time;\n if (!this._act && this._ts) {\n this._act = 1;\n this._lazy = 0;\n }\n this.ratio = ratio = (yoyoEase || this._ease)(time / dur);\n if (this._from) {\n this.ratio = ratio = 1 - ratio;\n }\n if (time && !prevTime && !suppressEvents && !iteration) {\n _callback(this, \"onStart\");\n if (this._tTime !== tTime) {\n return this;\n }\n }\n pt = this._pt;\n while (pt) {\n pt.r(ratio, pt.d);\n pt = pt._next;\n }\n timeline2 && timeline2.render(totalTime < 0 ? totalTime : timeline2._dur * timeline2._ease(time / this._dur), suppressEvents, force) || this._startAt && (this._zTime = totalTime);\n if (this._onUpdate && !suppressEvents) {\n isNegative && _rewindStartAt(this, totalTime, suppressEvents, force);\n _callback(this, \"onUpdate\");\n }\n this._repeat && iteration !== prevIteration && this.vars.onRepeat && !suppressEvents && this.parent && _callback(this, \"onRepeat\");\n if ((tTime === this._tDur || !tTime) && this._tTime === tTime) {\n isNegative && !this._onUpdate && _rewindStartAt(this, totalTime, true, true);\n (totalTime || !dur) && (tTime === this._tDur && this._ts > 0 || !tTime && this._ts < 0) && _removeFromParent(this, 1);\n if (!suppressEvents && !(isNegative && !prevTime) && (tTime || prevTime || isYoyo)) {\n _callback(this, tTime === tDur ? \"onComplete\" : \"onReverseComplete\", true);\n this._prom && !(tTime < tDur && this.timeScale() > 0) && this._prom();\n }\n }\n }\n return this;\n };\n _proto3.targets = function targets() {\n return this._targets;\n };\n _proto3.invalidate = function invalidate(soft) {\n (!soft || !this.vars.runBackwards) && (this._startAt = 0);\n this._pt = this._op = this._onUpdate = this._lazy = this.ratio = 0;\n this._ptLookup = [];\n this.timeline && this.timeline.invalidate(soft);\n return _Animation2.prototype.invalidate.call(this, soft);\n };\n _proto3.resetTo = function resetTo(property, value, start, startIsRelative, skipRecursion) {\n _tickerActive || _ticker.wake();\n this._ts || this.play();\n var time = Math.min(this._dur, (this._dp._time - this._start) * this._ts), ratio;\n this._initted || _initTween(this, time);\n ratio = this._ease(time / this._dur);\n if (_updatePropTweens(this, property, value, start, startIsRelative, ratio, time, skipRecursion)) {\n return this.resetTo(property, value, start, startIsRelative, 1);\n }\n _alignPlayhead(this, 0);\n this.parent || _addLinkedListItem(this._dp, this, \"_first\", \"_last\", this._dp._sort ? \"_start\" : 0);\n return this.render(0);\n };\n _proto3.kill = function kill(targets, vars) {\n if (vars === void 0) {\n vars = \"all\";\n }\n if (!targets && (!vars || vars === \"all\")) {\n this._lazy = this._pt = 0;\n return this.parent ? _interrupt(this) : this;\n }\n if (this.timeline) {\n var tDur = this.timeline.totalDuration();\n this.timeline.killTweensOf(targets, vars, _overwritingTween && _overwritingTween.vars.overwrite !== true)._first || _interrupt(this);\n this.parent && tDur !== this.timeline.totalDuration() && _setDuration(this, this._dur * this.timeline._tDur / tDur, 0, 1);\n return this;\n }\n var parsedTargets = this._targets, killingTargets = targets ? toArray(targets) : parsedTargets, propTweenLookup = this._ptLookup, firstPT = this._pt, overwrittenProps, curLookup, curOverwriteProps, props, p, pt, i;\n if ((!vars || vars === \"all\") && _arraysMatch(parsedTargets, killingTargets)) {\n vars === \"all\" && (this._pt = 0);\n return _interrupt(this);\n }\n overwrittenProps = this._op = this._op || [];\n if (vars !== \"all\") {\n if (_isString(vars)) {\n p = {};\n _forEachName(vars, function(name) {\n return p[name] = 1;\n });\n vars = p;\n }\n vars = _addAliasesToVars(parsedTargets, vars);\n }\n i = parsedTargets.length;\n while (i--) {\n if (~killingTargets.indexOf(parsedTargets[i])) {\n curLookup = propTweenLookup[i];\n if (vars === \"all\") {\n overwrittenProps[i] = vars;\n props = curLookup;\n curOverwriteProps = {};\n } else {\n curOverwriteProps = overwrittenProps[i] = overwrittenProps[i] || {};\n props = vars;\n }\n for (p in props) {\n pt = curLookup && curLookup[p];\n if (pt) {\n if (!(\"kill\" in pt.d) || pt.d.kill(p) === true) {\n _removeLinkedListItem(this, pt, \"_pt\");\n }\n delete curLookup[p];\n }\n if (curOverwriteProps !== \"all\") {\n curOverwriteProps[p] = 1;\n }\n }\n }\n }\n this._initted && !this._pt && firstPT && _interrupt(this);\n return this;\n };\n Tween2.to = function to(targets, vars) {\n return new Tween2(targets, vars, arguments[2]);\n };\n Tween2.from = function from(targets, vars) {\n return _createTweenType(1, arguments);\n };\n Tween2.delayedCall = function delayedCall(delay, callback, params, scope) {\n return new Tween2(callback, 0, {\n immediateRender: false,\n lazy: false,\n overwrite: false,\n delay,\n onComplete: callback,\n onReverseComplete: callback,\n onCompleteParams: params,\n onReverseCompleteParams: params,\n callbackScope: scope\n });\n };\n Tween2.fromTo = function fromTo(targets, fromVars, toVars) {\n return _createTweenType(2, arguments);\n };\n Tween2.set = function set(targets, vars) {\n vars.duration = 0;\n vars.repeatDelay || (vars.repeat = 0);\n return new Tween2(targets, vars);\n };\n Tween2.killTweensOf = function killTweensOf(targets, props, onlyActive) {\n return _globalTimeline.killTweensOf(targets, props, onlyActive);\n };\n return Tween2;\n}(Animation);\n_setDefaults(Tween.prototype, {\n _targets: [],\n _lazy: 0,\n _startAt: 0,\n _op: 0,\n _onInit: 0\n});\n_forEachName(\"staggerTo,staggerFrom,staggerFromTo\", function(name) {\n Tween[name] = function() {\n var tl = new Timeline(), params = _slice.call(arguments, 0);\n params.splice(name === \"staggerFromTo\" ? 5 : 4, 0, 0);\n return tl[name].apply(tl, params);\n };\n});\nvar _setterPlain = function _setterPlain2(target, property, value) {\n return target[property] = value;\n};\nvar _setterFunc = function _setterFunc2(target, property, value) {\n return target[property](value);\n};\nvar _setterFuncWithParam = function _setterFuncWithParam2(target, property, value, data) {\n return target[property](data.fp, value);\n};\nvar _setterAttribute = function _setterAttribute2(target, property, value) {\n return target.setAttribute(property, value);\n};\nvar _getSetter = function _getSetter2(target, property) {\n return _isFunction(target[property]) ? _setterFunc : _isUndefined(target[property]) && target.setAttribute ? _setterAttribute : _setterPlain;\n};\nvar _renderPlain = function _renderPlain2(ratio, data) {\n return data.set(data.t, data.p, Math.round((data.s + data.c * ratio) * 1e6) / 1e6, data);\n};\nvar _renderBoolean = function _renderBoolean2(ratio, data) {\n return data.set(data.t, data.p, !!(data.s + data.c * ratio), data);\n};\nvar _renderComplexString = function _renderComplexString2(ratio, data) {\n var pt = data._pt, s = \"\";\n if (!ratio && data.b) {\n s = data.b;\n } else if (ratio === 1 && data.e) {\n s = data.e;\n } else {\n while (pt) {\n s = pt.p + (pt.m ? pt.m(pt.s + pt.c * ratio) : Math.round((pt.s + pt.c * ratio) * 1e4) / 1e4) + s;\n pt = pt._next;\n }\n s += data.c;\n }\n data.set(data.t, data.p, s, data);\n};\nvar _renderPropTweens = function _renderPropTweens2(ratio, data) {\n var pt = data._pt;\n while (pt) {\n pt.r(ratio, pt.d);\n pt = pt._next;\n }\n};\nvar _addPluginModifier = function _addPluginModifier2(modifier, tween, target, property) {\n var pt = this._pt, next;\n while (pt) {\n next = pt._next;\n pt.p === property && pt.modifier(modifier, tween, target);\n pt = next;\n }\n};\nvar _killPropTweensOf = function _killPropTweensOf2(property) {\n var pt = this._pt, hasNonDependentRemaining, next;\n while (pt) {\n next = pt._next;\n if (pt.p === property && !pt.op || pt.op === property) {\n _removeLinkedListItem(this, pt, \"_pt\");\n } else if (!pt.dep) {\n hasNonDependentRemaining = 1;\n }\n pt = next;\n }\n return !hasNonDependentRemaining;\n};\nvar _setterWithModifier = function _setterWithModifier2(target, property, value, data) {\n data.mSet(target, property, data.m.call(data.tween, value, data.mt), data);\n};\nvar _sortPropTweensByPriority = function _sortPropTweensByPriority2(parent) {\n var pt = parent._pt, next, pt2, first, last;\n while (pt) {\n next = pt._next;\n pt2 = first;\n while (pt2 && pt2.pr > pt.pr) {\n pt2 = pt2._next;\n }\n if (pt._prev = pt2 ? pt2._prev : last) {\n pt._prev._next = pt;\n } else {\n first = pt;\n }\n if (pt._next = pt2) {\n pt2._prev = pt;\n } else {\n last = pt;\n }\n pt = next;\n }\n parent._pt = first;\n};\nvar PropTween = /* @__PURE__ */ function() {\n function PropTween2(next, target, prop, start, change, renderer, data, setter, priority) {\n this.t = target;\n this.s = start;\n this.c = change;\n this.p = prop;\n this.r = renderer || _renderPlain;\n this.d = data || this;\n this.set = setter || _setterPlain;\n this.pr = priority || 0;\n this._next = next;\n if (next) {\n next._prev = this;\n }\n }\n var _proto4 = PropTween2.prototype;\n _proto4.modifier = function modifier(func, tween, target) {\n this.mSet = this.mSet || this.set;\n this.set = _setterWithModifier;\n this.m = func;\n this.mt = target;\n this.tween = tween;\n };\n return PropTween2;\n}();\n_forEachName(_callbackNames + \"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger\", function(name) {\n return _reservedProps[name] = 1;\n});\n_globals.TweenMax = _globals.TweenLite = Tween;\n_globals.TimelineLite = _globals.TimelineMax = Timeline;\n_globalTimeline = new Timeline({\n sortChildren: false,\n defaults: _defaults,\n autoRemoveChildren: true,\n id: \"root\",\n smoothChildTiming: true\n});\n_config.stringFilter = _colorStringFilter;\nvar _media = [];\nvar _listeners = {};\nvar _emptyArray = [];\nvar _lastMediaTime = 0;\nvar _contextID = 0;\nvar _dispatch = function _dispatch2(type) {\n return (_listeners[type] || _emptyArray).map(function(f) {\n return f();\n });\n};\nvar _onMediaChange = function _onMediaChange2() {\n var time = Date.now(), matches = [];\n if (time - _lastMediaTime > 2) {\n _dispatch(\"matchMediaInit\");\n _media.forEach(function(c) {\n var queries = c.queries, conditions = c.conditions, match, p, anyMatch, toggled;\n for (p in queries) {\n match = _win.matchMedia(queries[p]).matches;\n match && (anyMatch = 1);\n if (match !== conditions[p]) {\n conditions[p] = match;\n toggled = 1;\n }\n }\n if (toggled) {\n c.revert();\n anyMatch && matches.push(c);\n }\n });\n _dispatch(\"matchMediaRevert\");\n matches.forEach(function(c) {\n return c.onMatch(c, function(func) {\n return c.add(null, func);\n });\n });\n _lastMediaTime = time;\n _dispatch(\"matchMedia\");\n }\n};\nvar Context = /* @__PURE__ */ function() {\n function Context2(func, scope) {\n this.selector = scope && selector(scope);\n this.data = [];\n this._r = [];\n this.isReverted = false;\n this.id = _contextID++;\n func && this.add(func);\n }\n var _proto5 = Context2.prototype;\n _proto5.add = function add(name, func, scope) {\n if (_isFunction(name)) {\n scope = func;\n func = name;\n name = _isFunction;\n }\n var self = this, f = function f2() {\n var prev = _context, prevSelector = self.selector, result;\n prev && prev !== self && prev.data.push(self);\n scope && (self.selector = selector(scope));\n _context = self;\n result = func.apply(self, arguments);\n _isFunction(result) && self._r.push(result);\n _context = prev;\n self.selector = prevSelector;\n self.isReverted = false;\n return result;\n };\n self.last = f;\n return name === _isFunction ? f(self, function(func2) {\n return self.add(null, func2);\n }) : name ? self[name] = f : f;\n };\n _proto5.ignore = function ignore(func) {\n var prev = _context;\n _context = null;\n func(this);\n _context = prev;\n };\n _proto5.getTweens = function getTweens() {\n var a = [];\n this.data.forEach(function(e) {\n return e instanceof Context2 ? a.push.apply(a, e.getTweens()) : e instanceof Tween && !(e.parent && e.parent.data === \"nested\") && a.push(e);\n });\n return a;\n };\n _proto5.clear = function clear() {\n this._r.length = this.data.length = 0;\n };\n _proto5.kill = function kill(revert, matchMedia2) {\n var _this4 = this;\n if (revert) {\n (function() {\n var tweens = _this4.getTweens(), i2 = _this4.data.length, t;\n while (i2--) {\n t = _this4.data[i2];\n if (t.data === \"isFlip\") {\n t.revert();\n t.getChildren(true, true, false).forEach(function(tween) {\n return tweens.splice(tweens.indexOf(tween), 1);\n });\n }\n }\n tweens.map(function(t2) {\n return {\n g: t2._dur || t2._delay || t2._sat && !t2._sat.vars.immediateRender ? t2.globalTime(0) : -Infinity,\n t: t2\n };\n }).sort(function(a, b) {\n return b.g - a.g || -Infinity;\n }).forEach(function(o) {\n return o.t.revert(revert);\n });\n i2 = _this4.data.length;\n while (i2--) {\n t = _this4.data[i2];\n if (t instanceof Timeline) {\n if (t.data !== \"nested\") {\n t.scrollTrigger && t.scrollTrigger.revert();\n t.kill();\n }\n } else {\n !(t instanceof Tween) && t.revert && t.revert(revert);\n }\n }\n _this4._r.forEach(function(f) {\n return f(revert, _this4);\n });\n _this4.isReverted = true;\n })();\n } else {\n this.data.forEach(function(e) {\n return e.kill && e.kill();\n });\n }\n this.clear();\n if (matchMedia2) {\n var i = _media.length;\n while (i--) {\n _media[i].id === this.id && _media.splice(i, 1);\n }\n }\n };\n _proto5.revert = function revert(config3) {\n this.kill(config3 || {});\n };\n return Context2;\n}();\nvar MatchMedia = /* @__PURE__ */ function() {\n function MatchMedia2(scope) {\n this.contexts = [];\n this.scope = scope;\n _context && _context.data.push(this);\n }\n var _proto6 = MatchMedia2.prototype;\n _proto6.add = function add(conditions, func, scope) {\n _isObject(conditions) || (conditions = {\n matches: conditions\n });\n var context3 = new Context(0, scope || this.scope), cond = context3.conditions = {}, mq, p, active;\n _context && !context3.selector && (context3.selector = _context.selector);\n this.contexts.push(context3);\n func = context3.add(\"onMatch\", func);\n context3.queries = conditions;\n for (p in conditions) {\n if (p === \"all\") {\n active = 1;\n } else {\n mq = _win.matchMedia(conditions[p]);\n if (mq) {\n _media.indexOf(context3) < 0 && _media.push(context3);\n (cond[p] = mq.matches) && (active = 1);\n mq.addListener ? mq.addListener(_onMediaChange) : mq.addEventListener(\"change\", _onMediaChange);\n }\n }\n }\n active && func(context3, function(f) {\n return context3.add(null, f);\n });\n return this;\n };\n _proto6.revert = function revert(config3) {\n this.kill(config3 || {});\n };\n _proto6.kill = function kill(revert) {\n this.contexts.forEach(function(c) {\n return c.kill(revert, true);\n });\n };\n return MatchMedia2;\n}();\nvar _gsap = {\n registerPlugin: function registerPlugin() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n args.forEach(function(config3) {\n return _createPlugin(config3);\n });\n },\n timeline: function timeline(vars) {\n return new Timeline(vars);\n },\n getTweensOf: function getTweensOf(targets, onlyActive) {\n return _globalTimeline.getTweensOf(targets, onlyActive);\n },\n getProperty: function getProperty(target, property, unit, uncache) {\n _isString(target) && (target = toArray(target)[0]);\n var getter = _getCache(target || {}).get, format = unit ? _passThrough : _numericIfPossible;\n unit === \"native\" && (unit = \"\");\n return !target ? target : !property ? function(property2, unit2, uncache2) {\n return format((_plugins[property2] && _plugins[property2].get || getter)(target, property2, unit2, uncache2));\n } : format((_plugins[property] && _plugins[property].get || getter)(target, property, unit, uncache));\n },\n quickSetter: function quickSetter(target, property, unit) {\n target = toArray(target);\n if (target.length > 1) {\n var setters = target.map(function(t) {\n return gsap.quickSetter(t, property, unit);\n }), l = setters.length;\n return function(value) {\n var i = l;\n while (i--) {\n setters[i](value);\n }\n };\n }\n target = target[0] || {};\n var Plugin = _plugins[property], cache = _getCache(target), p = cache.harness && (cache.harness.aliases || {})[property] || property, setter = Plugin ? function(value) {\n var p2 = new Plugin();\n _quickTween._pt = 0;\n p2.init(target, unit ? value + unit : value, _quickTween, 0, [target]);\n p2.render(1, p2);\n _quickTween._pt && _renderPropTweens(1, _quickTween);\n } : cache.set(target, p);\n return Plugin ? setter : function(value) {\n return setter(target, p, unit ? value + unit : value, cache, 1);\n };\n },\n quickTo: function quickTo(target, property, vars) {\n var _merge22;\n var tween = gsap.to(target, _merge((_merge22 = {}, _merge22[property] = \"+=0.1\", _merge22.paused = true, _merge22), vars || {})), func = function func2(value, start, startIsRelative) {\n return tween.resetTo(property, value, start, startIsRelative);\n };\n func.tween = tween;\n return func;\n },\n isTweening: function isTweening(targets) {\n return _globalTimeline.getTweensOf(targets, true).length > 0;\n },\n defaults: function defaults(value) {\n value && value.ease && (value.ease = _parseEase(value.ease, _defaults.ease));\n return _mergeDeep(_defaults, value || {});\n },\n config: function config2(value) {\n return _mergeDeep(_config, value || {});\n },\n registerEffect: function registerEffect(_ref3) {\n var name = _ref3.name, effect = _ref3.effect, plugins = _ref3.plugins, defaults2 = _ref3.defaults, extendTimeline = _ref3.extendTimeline;\n (plugins || \"\").split(\",\").forEach(function(pluginName) {\n return pluginName && !_plugins[pluginName] && !_globals[pluginName] && _warn(name + \" effect requires \" + pluginName + \" plugin.\");\n });\n _effects[name] = function(targets, vars, tl) {\n return effect(toArray(targets), _setDefaults(vars || {}, defaults2), tl);\n };\n if (extendTimeline) {\n Timeline.prototype[name] = function(targets, vars, position) {\n return this.add(_effects[name](targets, _isObject(vars) ? vars : (position = vars) && {}, this), position);\n };\n }\n },\n registerEase: function registerEase(name, ease) {\n _easeMap[name] = _parseEase(ease);\n },\n parseEase: function parseEase(ease, defaultEase) {\n return arguments.length ? _parseEase(ease, defaultEase) : _easeMap;\n },\n getById: function getById(id) {\n return _globalTimeline.getById(id);\n },\n exportRoot: function exportRoot(vars, includeDelayedCalls) {\n if (vars === void 0) {\n vars = {};\n }\n var tl = new Timeline(vars), child, next;\n tl.smoothChildTiming = _isNotFalse(vars.smoothChildTiming);\n _globalTimeline.remove(tl);\n tl._dp = 0;\n tl._time = tl._tTime = _globalTimeline._time;\n child = _globalTimeline._first;\n while (child) {\n next = child._next;\n if (includeDelayedCalls || !(!child._dur && child instanceof Tween && child.vars.onComplete === child._targets[0])) {\n _addToTimeline(tl, child, child._start - child._delay);\n }\n child = next;\n }\n _addToTimeline(_globalTimeline, tl, 0);\n return tl;\n },\n context: function context(func, scope) {\n return func ? new Context(func, scope) : _context;\n },\n matchMedia: function matchMedia(scope) {\n return new MatchMedia(scope);\n },\n matchMediaRefresh: function matchMediaRefresh() {\n return _media.forEach(function(c) {\n var cond = c.conditions, found, p;\n for (p in cond) {\n if (cond[p]) {\n cond[p] = false;\n found = 1;\n }\n }\n found && c.revert();\n }) || _onMediaChange();\n },\n addEventListener: function addEventListener(type, callback) {\n var a = _listeners[type] || (_listeners[type] = []);\n ~a.indexOf(callback) || a.push(callback);\n },\n removeEventListener: function removeEventListener(type, callback) {\n var a = _listeners[type], i = a && a.indexOf(callback);\n i >= 0 && a.splice(i, 1);\n },\n utils: {\n wrap,\n wrapYoyo,\n distribute,\n random,\n snap,\n normalize,\n getUnit,\n clamp,\n splitColor,\n toArray,\n selector,\n mapRange,\n pipe,\n unitize,\n interpolate,\n shuffle\n },\n install: _install,\n effects: _effects,\n ticker: _ticker,\n updateRoot: Timeline.updateRoot,\n plugins: _plugins,\n globalTimeline: _globalTimeline,\n core: {\n PropTween,\n globals: _addGlobal,\n Tween,\n Timeline,\n Animation,\n getCache: _getCache,\n _removeLinkedListItem,\n reverting: function reverting() {\n return _reverting;\n },\n context: function context2(toAdd) {\n if (toAdd && _context) {\n _context.data.push(toAdd);\n toAdd._ctx = _context;\n }\n return _context;\n },\n suppressOverwrites: function suppressOverwrites(value) {\n return _suppressOverwrites = value;\n }\n }\n};\n_forEachName(\"to,from,fromTo,delayedCall,set,killTweensOf\", function(name) {\n return _gsap[name] = Tween[name];\n});\n_ticker.add(Timeline.updateRoot);\n_quickTween = _gsap.to({}, {\n duration: 0\n});\nvar _getPluginPropTween = function _getPluginPropTween2(plugin, prop) {\n var pt = plugin._pt;\n while (pt && pt.p !== prop && pt.op !== prop && pt.fp !== prop) {\n pt = pt._next;\n }\n return pt;\n};\nvar _addModifiers = function _addModifiers2(tween, modifiers) {\n var targets = tween._targets, p, i, pt;\n for (p in modifiers) {\n i = targets.length;\n while (i--) {\n pt = tween._ptLookup[i][p];\n if (pt && (pt = pt.d)) {\n if (pt._pt) {\n pt = _getPluginPropTween(pt, p);\n }\n pt && pt.modifier && pt.modifier(modifiers[p], tween, targets[i], p);\n }\n }\n }\n};\nvar _buildModifierPlugin = function _buildModifierPlugin2(name, modifier) {\n return {\n name,\n rawVars: 1,\n //don't pre-process function-based values or \"random()\" strings.\n init: function init4(target, vars, tween) {\n tween._onInit = function(tween2) {\n var temp, p;\n if (_isString(vars)) {\n temp = {};\n _forEachName(vars, function(name2) {\n return temp[name2] = 1;\n });\n vars = temp;\n }\n if (modifier) {\n temp = {};\n for (p in vars) {\n temp[p] = modifier(vars[p]);\n }\n vars = temp;\n }\n _addModifiers(tween2, vars);\n };\n }\n };\n};\nvar gsap = _gsap.registerPlugin({\n name: \"attr\",\n init: function init(target, vars, tween, index, targets) {\n var p, pt, v;\n this.tween = tween;\n for (p in vars) {\n v = target.getAttribute(p) || \"\";\n pt = this.add(target, \"setAttribute\", (v || 0) + \"\", vars[p], index, targets, 0, 0, p);\n pt.op = p;\n pt.b = v;\n this._props.push(p);\n }\n },\n render: function render(ratio, data) {\n var pt = data._pt;\n while (pt) {\n _reverting ? pt.set(pt.t, pt.p, pt.b, pt) : pt.r(ratio, pt.d);\n pt = pt._next;\n }\n }\n}, {\n name: \"endArray\",\n init: function init2(target, value) {\n var i = value.length;\n while (i--) {\n this.add(target, i, target[i] || 0, value[i], 0, 0, 0, 0, 0, 1);\n }\n }\n}, _buildModifierPlugin(\"roundProps\", _roundModifier), _buildModifierPlugin(\"modifiers\"), _buildModifierPlugin(\"snap\", snap)) || _gsap;\nTween.version = Timeline.version = gsap.version = \"3.12.5\";\n_coreReady = 1;\n_windowExists() && _wake();\nvar Power0 = _easeMap.Power0;\nvar Power1 = _easeMap.Power1;\nvar Power2 = _easeMap.Power2;\nvar Power3 = _easeMap.Power3;\nvar Power4 = _easeMap.Power4;\nvar Linear = _easeMap.Linear;\nvar Quad = _easeMap.Quad;\nvar Cubic = _easeMap.Cubic;\nvar Quart = _easeMap.Quart;\nvar Quint = _easeMap.Quint;\nvar Strong = _easeMap.Strong;\nvar Elastic = _easeMap.Elastic;\nvar Back = _easeMap.Back;\nvar SteppedEase = _easeMap.SteppedEase;\nvar Bounce = _easeMap.Bounce;\nvar Sine = _easeMap.Sine;\nvar Expo = _easeMap.Expo;\nvar Circ = _easeMap.Circ;\n\n// node_modules/gsap/CSSPlugin.js\nvar _win2;\nvar _doc2;\nvar _docElement;\nvar _pluginInitted;\nvar _tempDiv;\nvar _tempDivStyler;\nvar _recentSetterPlugin;\nvar _reverting2;\nvar _windowExists3 = function _windowExists4() {\n return typeof window !== \"undefined\";\n};\nvar _transformProps = {};\nvar _RAD2DEG = 180 / Math.PI;\nvar _DEG2RAD = Math.PI / 180;\nvar _atan2 = Math.atan2;\nvar _bigNum2 = 1e8;\nvar _capsExp = /([A-Z])/g;\nvar _horizontalExp = /(left|right|width|margin|padding|x)/i;\nvar _complexExp = /[\\s,\\(]\\S/;\nvar _propertyAliases = {\n autoAlpha: \"opacity,visibility\",\n scale: \"scaleX,scaleY\",\n alpha: \"opacity\"\n};\nvar _renderCSSProp = function _renderCSSProp2(ratio, data) {\n return data.set(data.t, data.p, Math.round((data.s + data.c * ratio) * 1e4) / 1e4 + data.u, data);\n};\nvar _renderPropWithEnd = function _renderPropWithEnd2(ratio, data) {\n return data.set(data.t, data.p, ratio === 1 ? data.e : Math.round((data.s + data.c * ratio) * 1e4) / 1e4 + data.u, data);\n};\nvar _renderCSSPropWithBeginning = function _renderCSSPropWithBeginning2(ratio, data) {\n return data.set(data.t, data.p, ratio ? Math.round((data.s + data.c * ratio) * 1e4) / 1e4 + data.u : data.b, data);\n};\nvar _renderRoundedCSSProp = function _renderRoundedCSSProp2(ratio, data) {\n var value = data.s + data.c * ratio;\n data.set(data.t, data.p, ~~(value + (value < 0 ? -0.5 : 0.5)) + data.u, data);\n};\nvar _renderNonTweeningValue = function _renderNonTweeningValue2(ratio, data) {\n return data.set(data.t, data.p, ratio ? data.e : data.b, data);\n};\nvar _renderNonTweeningValueOnlyAtEnd = function _renderNonTweeningValueOnlyAtEnd2(ratio, data) {\n return data.set(data.t, data.p, ratio !== 1 ? data.b : data.e, data);\n};\nvar _setterCSSStyle = function _setterCSSStyle2(target, property, value) {\n return target.style[property] = value;\n};\nvar _setterCSSProp = function _setterCSSProp2(target, property, value) {\n return target.style.setProperty(property, value);\n};\nvar _setterTransform = function _setterTransform2(target, property, value) {\n return target._gsap[property] = value;\n};\nvar _setterScale = function _setterScale2(target, property, value) {\n return target._gsap.scaleX = target._gsap.scaleY = value;\n};\nvar _setterScaleWithRender = function _setterScaleWithRender2(target, property, value, data, ratio) {\n var cache = target._gsap;\n cache.scaleX = cache.scaleY = value;\n cache.renderTransform(ratio, cache);\n};\nvar _setterTransformWithRender = function _setterTransformWithRender2(target, property, value, data, ratio) {\n var cache = target._gsap;\n cache[property] = value;\n cache.renderTransform(ratio, cache);\n};\nvar _transformProp = \"transform\";\nvar _transformOriginProp = _transformProp + \"Origin\";\nvar _saveStyle = function _saveStyle2(property, isNotCSS) {\n var _this = this;\n var target = this.target, style = target.style, cache = target._gsap;\n if (property in _transformProps && style) {\n this.tfm = this.tfm || {};\n if (property !== \"transform\") {\n property = _propertyAliases[property] || property;\n ~property.indexOf(\",\") ? property.split(\",\").forEach(function(a) {\n return _this.tfm[a] = _get(target, a);\n }) : this.tfm[property] = cache.x ? cache[property] : _get(target, property);\n property === _transformOriginProp && (this.tfm.zOrigin = cache.zOrigin);\n } else {\n return _propertyAliases.transform.split(\",\").forEach(function(p) {\n return _saveStyle2.call(_this, p, isNotCSS);\n });\n }\n if (this.props.indexOf(_transformProp) >= 0) {\n return;\n }\n if (cache.svg) {\n this.svgo = target.getAttribute(\"data-svg-origin\");\n this.props.push(_transformOriginProp, isNotCSS, \"\");\n }\n property = _transformProp;\n }\n (style || isNotCSS) && this.props.push(property, isNotCSS, style[property]);\n};\nvar _removeIndependentTransforms = function _removeIndependentTransforms2(style) {\n if (style.translate) {\n style.removeProperty(\"translate\");\n style.removeProperty(\"scale\");\n style.removeProperty(\"rotate\");\n }\n};\nvar _revertStyle = function _revertStyle2() {\n var props = this.props, target = this.target, style = target.style, cache = target._gsap, i, p;\n for (i = 0; i < props.length; i += 3) {\n props[i + 1] ? target[props[i]] = props[i + 2] : props[i + 2] ? style[props[i]] = props[i + 2] : style.removeProperty(props[i].substr(0, 2) === \"--\" ? props[i] : props[i].replace(_capsExp, \"-$1\").toLowerCase());\n }\n if (this.tfm) {\n for (p in this.tfm) {\n cache[p] = this.tfm[p];\n }\n if (cache.svg) {\n cache.renderTransform();\n target.setAttribute(\"data-svg-origin\", this.svgo || \"\");\n }\n i = _reverting2();\n if ((!i || !i.isStart) && !style[_transformProp]) {\n _removeIndependentTransforms(style);\n if (cache.zOrigin && style[_transformOriginProp]) {\n style[_transformOriginProp] += \" \" + cache.zOrigin + \"px\";\n cache.zOrigin = 0;\n cache.renderTransform();\n }\n cache.uncache = 1;\n }\n }\n};\nvar _getStyleSaver = function _getStyleSaver2(target, properties) {\n var saver = {\n target,\n props: [],\n revert: _revertStyle,\n save: _saveStyle\n };\n target._gsap || gsap.core.getCache(target);\n properties && properties.split(\",\").forEach(function(p) {\n return saver.save(p);\n });\n return saver;\n};\nvar _supports3D;\nvar _createElement = function _createElement2(type, ns) {\n var e = _doc2.createElementNS ? _doc2.createElementNS((ns || \"http://www.w3.org/1999/xhtml\").replace(/^https/, \"http\"), type) : _doc2.createElement(type);\n return e && e.style ? e : _doc2.createElement(type);\n};\nvar _getComputedProperty = function _getComputedProperty2(target, property, skipPrefixFallback) {\n var cs = getComputedStyle(target);\n return cs[property] || cs.getPropertyValue(property.replace(_capsExp, \"-$1\").toLowerCase()) || cs.getPropertyValue(property) || !skipPrefixFallback && _getComputedProperty2(target, _checkPropPrefix(property) || property, 1) || \"\";\n};\nvar _prefixes = \"O,Moz,ms,Ms,Webkit\".split(\",\");\nvar _checkPropPrefix = function _checkPropPrefix2(property, element, preferPrefix) {\n var e = element || _tempDiv, s = e.style, i = 5;\n if (property in s && !preferPrefix) {\n return property;\n }\n property = property.charAt(0).toUpperCase() + property.substr(1);\n while (i-- && !(_prefixes[i] + property in s)) {\n }\n return i < 0 ? null : (i === 3 ? \"ms\" : i >= 0 ? _prefixes[i] : \"\") + property;\n};\nvar _initCore = function _initCore2() {\n if (_windowExists3() && window.document) {\n _win2 = window;\n _doc2 = _win2.document;\n _docElement = _doc2.documentElement;\n _tempDiv = _createElement(\"div\") || {\n style: {}\n };\n _tempDivStyler = _createElement(\"div\");\n _transformProp = _checkPropPrefix(_transformProp);\n _transformOriginProp = _transformProp + \"Origin\";\n _tempDiv.style.cssText = \"border-width:0;line-height:0;position:absolute;padding:0\";\n _supports3D = !!_checkPropPrefix(\"perspective\");\n _reverting2 = gsap.core.reverting;\n _pluginInitted = 1;\n }\n};\nvar _getBBoxHack = function _getBBoxHack2(swapIfPossible) {\n var svg = _createElement(\"svg\", this.ownerSVGElement && this.ownerSVGElement.getAttribute(\"xmlns\") || \"http://www.w3.org/2000/svg\"), oldParent = this.parentNode, oldSibling = this.nextSibling, oldCSS = this.style.cssText, bbox;\n _docElement.appendChild(svg);\n svg.appendChild(this);\n this.style.display = \"block\";\n if (swapIfPossible) {\n try {\n bbox = this.getBBox();\n this._gsapBBox = this.getBBox;\n this.getBBox = _getBBoxHack2;\n } catch (e) {\n }\n } else if (this._gsapBBox) {\n bbox = this._gsapBBox();\n }\n if (oldParent) {\n if (oldSibling) {\n oldParent.insertBefore(this, oldSibling);\n } else {\n oldParent.appendChild(this);\n }\n }\n _docElement.removeChild(svg);\n this.style.cssText = oldCSS;\n return bbox;\n};\nvar _getAttributeFallbacks = function _getAttributeFallbacks2(target, attributesArray) {\n var i = attributesArray.length;\n while (i--) {\n if (target.hasAttribute(attributesArray[i])) {\n return target.getAttribute(attributesArray[i]);\n }\n }\n};\nvar _getBBox = function _getBBox2(target) {\n var bounds;\n try {\n bounds = target.getBBox();\n } catch (error) {\n bounds = _getBBoxHack.call(target, true);\n }\n bounds && (bounds.width || bounds.height) || target.getBBox === _getBBoxHack || (bounds = _getBBoxHack.call(target, true));\n return bounds && !bounds.width && !bounds.x && !bounds.y ? {\n x: +_getAttributeFallbacks(target, [\"x\", \"cx\", \"x1\"]) || 0,\n y: +_getAttributeFallbacks(target, [\"y\", \"cy\", \"y1\"]) || 0,\n width: 0,\n height: 0\n } : bounds;\n};\nvar _isSVG = function _isSVG2(e) {\n return !!(e.getCTM && (!e.parentNode || e.ownerSVGElement) && _getBBox(e));\n};\nvar _removeProperty = function _removeProperty2(target, property) {\n if (property) {\n var style = target.style, first2Chars;\n if (property in _transformProps && property !== _transformOriginProp) {\n property = _transformProp;\n }\n if (style.removeProperty) {\n first2Chars = property.substr(0, 2);\n if (first2Chars === \"ms\" || property.substr(0, 6) === \"webkit\") {\n property = \"-\" + property;\n }\n style.removeProperty(first2Chars === \"--\" ? property : property.replace(_capsExp, \"-$1\").toLowerCase());\n } else {\n style.removeAttribute(property);\n }\n }\n};\nvar _addNonTweeningPT = function _addNonTweeningPT2(plugin, target, property, beginning, end, onlySetAtEnd) {\n var pt = new PropTween(plugin._pt, target, property, 0, 1, onlySetAtEnd ? _renderNonTweeningValueOnlyAtEnd : _renderNonTweeningValue);\n plugin._pt = pt;\n pt.b = beginning;\n pt.e = end;\n plugin._props.push(property);\n return pt;\n};\nvar _nonConvertibleUnits = {\n deg: 1,\n rad: 1,\n turn: 1\n};\nvar _nonStandardLayouts = {\n grid: 1,\n flex: 1\n};\nvar _convertToUnit = function _convertToUnit2(target, property, value, unit) {\n var curValue = parseFloat(value) || 0, curUnit = (value + \"\").trim().substr((curValue + \"\").length) || \"px\", style = _tempDiv.style, horizontal = _horizontalExp.test(property), isRootSVG = target.tagName.toLowerCase() === \"svg\", measureProperty = (isRootSVG ? \"client\" : \"offset\") + (horizontal ? \"Width\" : \"Height\"), amount = 100, toPixels = unit === \"px\", toPercent = unit === \"%\", px, parent, cache, isSVG;\n if (unit === curUnit || !curValue || _nonConvertibleUnits[unit] || _nonConvertibleUnits[curUnit]) {\n return curValue;\n }\n curUnit !== \"px\" && !toPixels && (curValue = _convertToUnit2(target, property, value, \"px\"));\n isSVG = target.getCTM && _isSVG(target);\n if ((toPercent || curUnit === \"%\") && (_transformProps[property] || ~property.indexOf(\"adius\"))) {\n px = isSVG ? target.getBBox()[horizontal ? \"width\" : \"height\"] : target[measureProperty];\n return _round(toPercent ? curValue / px * amount : curValue / 100 * px);\n }\n style[horizontal ? \"width\" : \"height\"] = amount + (toPixels ? curUnit : unit);\n parent = ~property.indexOf(\"adius\") || unit === \"em\" && target.appendChild && !isRootSVG ? target : target.parentNode;\n if (isSVG) {\n parent = (target.ownerSVGElement || {}).parentNode;\n }\n if (!parent || parent === _doc2 || !parent.appendChild) {\n parent = _doc2.body;\n }\n cache = parent._gsap;\n if (cache && toPercent && cache.width && horizontal && cache.time === _ticker.time && !cache.uncache) {\n return _round(curValue / cache.width * amount);\n } else {\n if (toPercent && (property === \"height\" || property === \"width\")) {\n var v = target.style[property];\n target.style[property] = amount + unit;\n px = target[measureProperty];\n v ? target.style[property] = v : _removeProperty(target, property);\n } else {\n (toPercent || curUnit === \"%\") && !_nonStandardLayouts[_getComputedProperty(parent, \"display\")] && (style.position = _getComputedProperty(target, \"position\"));\n parent === target && (style.position = \"static\");\n parent.appendChild(_tempDiv);\n px = _tempDiv[measureProperty];\n parent.removeChild(_tempDiv);\n style.position = \"absolute\";\n }\n if (horizontal && toPercent) {\n cache = _getCache(parent);\n cache.time = _ticker.time;\n cache.width = parent[measureProperty];\n }\n }\n return _round(toPixels ? px * curValue / amount : px && curValue ? amount / px * curValue : 0);\n};\nvar _get = function _get2(target, property, unit, uncache) {\n var value;\n _pluginInitted || _initCore();\n if (property in _propertyAliases && property !== \"transform\") {\n property = _propertyAliases[property];\n if (~property.indexOf(\",\")) {\n property = property.split(\",\")[0];\n }\n }\n if (_transformProps[property] && property !== \"transform\") {\n value = _parseTransform(target, uncache);\n value = property !== \"transformOrigin\" ? value[property] : value.svg ? value.origin : _firstTwoOnly(_getComputedProperty(target, _transformOriginProp)) + \" \" + value.zOrigin + \"px\";\n } else {\n value = target.style[property];\n if (!value || value === \"auto\" || uncache || ~(value + \"\").indexOf(\"calc(\")) {\n value = _specialProps[property] && _specialProps[property](target, property, unit) || _getComputedProperty(target, property) || _getProperty(target, property) || (property === \"opacity\" ? 1 : 0);\n }\n }\n return unit && !~(value + \"\").trim().indexOf(\" \") ? _convertToUnit(target, property, value, unit) + unit : value;\n};\nvar _tweenComplexCSSString = function _tweenComplexCSSString2(target, prop, start, end) {\n if (!start || start === \"none\") {\n var p = _checkPropPrefix(prop, target, 1), s = p && _getComputedProperty(target, p, 1);\n if (s && s !== start) {\n prop = p;\n start = s;\n } else if (prop === \"borderColor\") {\n start = _getComputedProperty(target, \"borderTopColor\");\n }\n }\n var pt = new PropTween(this._pt, target.style, prop, 0, 1, _renderComplexString), index = 0, matchIndex = 0, a, result, startValues, startNum, color, startValue, endValue, endNum, chunk, endUnit, startUnit, endValues;\n pt.b = start;\n pt.e = end;\n start += \"\";\n end += \"\";\n if (end === \"auto\") {\n startValue = target.style[prop];\n target.style[prop] = end;\n end = _getComputedProperty(target, prop) || end;\n startValue ? target.style[prop] = startValue : _removeProperty(target, prop);\n }\n a = [start, end];\n _colorStringFilter(a);\n start = a[0];\n end = a[1];\n startValues = start.match(_numWithUnitExp) || [];\n endValues = end.match(_numWithUnitExp) || [];\n if (endValues.length) {\n while (result = _numWithUnitExp.exec(end)) {\n endValue = result[0];\n chunk = end.substring(index, result.index);\n if (color) {\n color = (color + 1) % 5;\n } else if (chunk.substr(-5) === \"rgba(\" || chunk.substr(-5) === \"hsla(\") {\n color = 1;\n }\n if (endValue !== (startValue = startValues[matchIndex++] || \"\")) {\n startNum = parseFloat(startValue) || 0;\n startUnit = startValue.substr((startNum + \"\").length);\n endValue.charAt(1) === \"=\" && (endValue = _parseRelative(startNum, endValue) + startUnit);\n endNum = parseFloat(endValue);\n endUnit = endValue.substr((endNum + \"\").length);\n index = _numWithUnitExp.lastIndex - endUnit.length;\n if (!endUnit) {\n endUnit = endUnit || _config.units[prop] || startUnit;\n if (index === end.length) {\n end += endUnit;\n pt.e += endUnit;\n }\n }\n if (startUnit !== endUnit) {\n startNum = _convertToUnit(target, prop, startValue, endUnit) || 0;\n }\n pt._pt = {\n _next: pt._pt,\n p: chunk || matchIndex === 1 ? chunk : \",\",\n //note: SVG spec allows omission of comma/space when a negative sign is wedged between two numbers, like 2.5-5.3 instead of 2.5,-5.3 but when tweening, the negative value may switch to positive, so we insert the comma just in case.\n s: startNum,\n c: endNum - startNum,\n m: color && color < 4 || prop === \"zIndex\" ? Math.round : 0\n };\n }\n }\n pt.c = index < end.length ? end.substring(index, end.length) : \"\";\n } else {\n pt.r = prop === \"display\" && end === \"none\" ? _renderNonTweeningValueOnlyAtEnd : _renderNonTweeningValue;\n }\n _relExp.test(end) && (pt.e = 0);\n this._pt = pt;\n return pt;\n};\nvar _keywordToPercent = {\n top: \"0%\",\n bottom: \"100%\",\n left: \"0%\",\n right: \"100%\",\n center: \"50%\"\n};\nvar _convertKeywordsToPercentages = function _convertKeywordsToPercentages2(value) {\n var split = value.split(\" \"), x = split[0], y = split[1] || \"50%\";\n if (x === \"top\" || x === \"bottom\" || y === \"left\" || y === \"right\") {\n value = x;\n x = y;\n y = value;\n }\n split[0] = _keywordToPercent[x] || x;\n split[1] = _keywordToPercent[y] || y;\n return split.join(\" \");\n};\nvar _renderClearProps = function _renderClearProps2(ratio, data) {\n if (data.tween && data.tween._time === data.tween._dur) {\n var target = data.t, style = target.style, props = data.u, cache = target._gsap, prop, clearTransforms, i;\n if (props === \"all\" || props === true) {\n style.cssText = \"\";\n clearTransforms = 1;\n } else {\n props = props.split(\",\");\n i = props.length;\n while (--i > -1) {\n prop = props[i];\n if (_transformProps[prop]) {\n clearTransforms = 1;\n prop = prop === \"transformOrigin\" ? _transformOriginProp : _transformProp;\n }\n _removeProperty(target, prop);\n }\n }\n if (clearTransforms) {\n _removeProperty(target, _transformProp);\n if (cache) {\n cache.svg && target.removeAttribute(\"transform\");\n _parseTransform(target, 1);\n cache.uncache = 1;\n _removeIndependentTransforms(style);\n }\n }\n }\n};\nvar _specialProps = {\n clearProps: function clearProps(plugin, target, property, endValue, tween) {\n if (tween.data !== \"isFromStart\") {\n var pt = plugin._pt = new PropTween(plugin._pt, target, property, 0, 0, _renderClearProps);\n pt.u = endValue;\n pt.pr = -10;\n pt.tween = tween;\n plugin._props.push(property);\n return 1;\n }\n }\n /* className feature (about 0.4kb gzipped).\n , className(plugin, target, property, endValue, tween) {\n \tlet _renderClassName = (ratio, data) => {\n \t\t\tdata.css.render(ratio, data.css);\n \t\t\tif (!ratio || ratio === 1) {\n \t\t\t\tlet inline = data.rmv,\n \t\t\t\t\ttarget = data.t,\n \t\t\t\t\tp;\n \t\t\t\ttarget.setAttribute(\"class\", ratio ? data.e : data.b);\n \t\t\t\tfor (p in inline) {\n \t\t\t\t\t_removeProperty(target, p);\n \t\t\t\t}\n \t\t\t}\n \t\t},\n \t\t_getAllStyles = (target) => {\n \t\t\tlet styles = {},\n \t\t\t\tcomputed = getComputedStyle(target),\n \t\t\t\tp;\n \t\t\tfor (p in computed) {\n \t\t\t\tif (isNaN(p) && p !== \"cssText\" && p !== \"length\") {\n \t\t\t\t\tstyles[p] = computed[p];\n \t\t\t\t}\n \t\t\t}\n \t\t\t_setDefaults(styles, _parseTransform(target, 1));\n \t\t\treturn styles;\n \t\t},\n \t\tstartClassList = target.getAttribute(\"class\"),\n \t\tstyle = target.style,\n \t\tcssText = style.cssText,\n \t\tcache = target._gsap,\n \t\tclassPT = cache.classPT,\n \t\tinlineToRemoveAtEnd = {},\n \t\tdata = {t:target, plugin:plugin, rmv:inlineToRemoveAtEnd, b:startClassList, e:(endValue.charAt(1) !== \"=\") ? endValue : startClassList.replace(new RegExp(\"(?:\\\\s|^)\" + endValue.substr(2) + \"(?![\\\\w-])\"), \"\") + ((endValue.charAt(0) === \"+\") ? \" \" + endValue.substr(2) : \"\")},\n \t\tchangingVars = {},\n \t\tstartVars = _getAllStyles(target),\n \t\ttransformRelated = /(transform|perspective)/i,\n \t\tendVars, p;\n \tif (classPT) {\n \t\tclassPT.r(1, classPT.d);\n \t\t_removeLinkedListItem(classPT.d.plugin, classPT, \"_pt\");\n \t}\n \ttarget.setAttribute(\"class\", data.e);\n \tendVars = _getAllStyles(target, true);\n \ttarget.setAttribute(\"class\", startClassList);\n \tfor (p in endVars) {\n \t\tif (endVars[p] !== startVars[p] && !transformRelated.test(p)) {\n \t\t\tchangingVars[p] = endVars[p];\n \t\t\tif (!style[p] && style[p] !== \"0\") {\n \t\t\t\tinlineToRemoveAtEnd[p] = 1;\n \t\t\t}\n \t\t}\n \t}\n \tcache.classPT = plugin._pt = new PropTween(plugin._pt, target, \"className\", 0, 0, _renderClassName, data, 0, -11);\n \tif (style.cssText !== cssText) { //only apply if things change. Otherwise, in cases like a background-image that's pulled dynamically, it could cause a refresh. See https://gsap.com/forums/topic/20368-possible-gsap-bug-switching-classnames-in-chrome/.\n \t\tstyle.cssText = cssText; //we recorded cssText before we swapped classes and ran _getAllStyles() because in cases when a className tween is overwritten, we remove all the related tweening properties from that class change (otherwise class-specific stuff can't override properties we've directly set on the target's style object due to specificity).\n \t}\n \t_parseTransform(target, true); //to clear the caching of transforms\n \tdata.css = new gsap.plugins.css();\n \tdata.css.init(target, changingVars, tween);\n \tplugin._props.push(...data.css._props);\n \treturn 1;\n }\n */\n};\nvar _identity2DMatrix = [1, 0, 0, 1, 0, 0];\nvar _rotationalProperties = {};\nvar _isNullTransform = function _isNullTransform2(value) {\n return value === \"matrix(1, 0, 0, 1, 0, 0)\" || value === \"none\" || !value;\n};\nvar _getComputedTransformMatrixAsArray = function _getComputedTransformMatrixAsArray2(target) {\n var matrixString = _getComputedProperty(target, _transformProp);\n return _isNullTransform(matrixString) ? _identity2DMatrix : matrixString.substr(7).match(_numExp).map(_round);\n};\nvar _getMatrix = function _getMatrix2(target, force2D) {\n var cache = target._gsap || _getCache(target), style = target.style, matrix = _getComputedTransformMatrixAsArray(target), parent, nextSibling, temp, addedToDOM;\n if (cache.svg && target.getAttribute(\"transform\")) {\n temp = target.transform.baseVal.consolidate().matrix;\n matrix = [temp.a, temp.b, temp.c, temp.d, temp.e, temp.f];\n return matrix.join(\",\") === \"1,0,0,1,0,0\" ? _identity2DMatrix : matrix;\n } else if (matrix === _identity2DMatrix && !target.offsetParent && target !== _docElement && !cache.svg) {\n temp = style.display;\n style.display = \"block\";\n parent = target.parentNode;\n if (!parent || !target.offsetParent) {\n addedToDOM = 1;\n nextSibling = target.nextElementSibling;\n _docElement.appendChild(target);\n }\n matrix = _getComputedTransformMatrixAsArray(target);\n temp ? style.display = temp : _removeProperty(target, \"display\");\n if (addedToDOM) {\n nextSibling ? parent.insertBefore(target, nextSibling) : parent ? parent.appendChild(target) : _docElement.removeChild(target);\n }\n }\n return force2D && matrix.length > 6 ? [matrix[0], matrix[1], matrix[4], matrix[5], matrix[12], matrix[13]] : matrix;\n};\nvar _applySVGOrigin = function _applySVGOrigin2(target, origin, originIsAbsolute, smooth, matrixArray, pluginToAddPropTweensTo) {\n var cache = target._gsap, matrix = matrixArray || _getMatrix(target, true), xOriginOld = cache.xOrigin || 0, yOriginOld = cache.yOrigin || 0, xOffsetOld = cache.xOffset || 0, yOffsetOld = cache.yOffset || 0, a = matrix[0], b = matrix[1], c = matrix[2], d = matrix[3], tx = matrix[4], ty = matrix[5], originSplit = origin.split(\" \"), xOrigin = parseFloat(originSplit[0]) || 0, yOrigin = parseFloat(originSplit[1]) || 0, bounds, determinant, x, y;\n if (!originIsAbsolute) {\n bounds = _getBBox(target);\n xOrigin = bounds.x + (~originSplit[0].indexOf(\"%\") ? xOrigin / 100 * bounds.width : xOrigin);\n yOrigin = bounds.y + (~(originSplit[1] || originSplit[0]).indexOf(\"%\") ? yOrigin / 100 * bounds.height : yOrigin);\n } else if (matrix !== _identity2DMatrix && (determinant = a * d - b * c)) {\n x = xOrigin * (d / determinant) + yOrigin * (-c / determinant) + (c * ty - d * tx) / determinant;\n y = xOrigin * (-b / determinant) + yOrigin * (a / determinant) - (a * ty - b * tx) / determinant;\n xOrigin = x;\n yOrigin = y;\n }\n if (smooth || smooth !== false && cache.smooth) {\n tx = xOrigin - xOriginOld;\n ty = yOrigin - yOriginOld;\n cache.xOffset = xOffsetOld + (tx * a + ty * c) - tx;\n cache.yOffset = yOffsetOld + (tx * b + ty * d) - ty;\n } else {\n cache.xOffset = cache.yOffset = 0;\n }\n cache.xOrigin = xOrigin;\n cache.yOrigin = yOrigin;\n cache.smooth = !!smooth;\n cache.origin = origin;\n cache.originIsAbsolute = !!originIsAbsolute;\n target.style[_transformOriginProp] = \"0px 0px\";\n if (pluginToAddPropTweensTo) {\n _addNonTweeningPT(pluginToAddPropTweensTo, cache, \"xOrigin\", xOriginOld, xOrigin);\n _addNonTweeningPT(pluginToAddPropTweensTo, cache, \"yOrigin\", yOriginOld, yOrigin);\n _addNonTweeningPT(pluginToAddPropTweensTo, cache, \"xOffset\", xOffsetOld, cache.xOffset);\n _addNonTweeningPT(pluginToAddPropTweensTo, cache, \"yOffset\", yOffsetOld, cache.yOffset);\n }\n target.setAttribute(\"data-svg-origin\", xOrigin + \" \" + yOrigin);\n};\nvar _parseTransform = function _parseTransform2(target, uncache) {\n var cache = target._gsap || new GSCache(target);\n if (\"x\" in cache && !uncache && !cache.uncache) {\n return cache;\n }\n var style = target.style, invertedScaleX = cache.scaleX < 0, px = \"px\", deg = \"deg\", cs = getComputedStyle(target), origin = _getComputedProperty(target, _transformOriginProp) || \"0\", x, y, z, scaleX, scaleY, rotation, rotationX, rotationY, skewX, skewY, perspective, xOrigin, yOrigin, matrix, angle, cos, sin, a, b, c, d, a12, a22, t1, t2, t3, a13, a23, a33, a42, a43, a32;\n x = y = z = rotation = rotationX = rotationY = skewX = skewY = perspective = 0;\n scaleX = scaleY = 1;\n cache.svg = !!(target.getCTM && _isSVG(target));\n if (cs.translate) {\n if (cs.translate !== \"none\" || cs.scale !== \"none\" || cs.rotate !== \"none\") {\n style[_transformProp] = (cs.translate !== \"none\" ? \"translate3d(\" + (cs.translate + \" 0 0\").split(\" \").slice(0, 3).join(\", \") + \") \" : \"\") + (cs.rotate !== \"none\" ? \"rotate(\" + cs.rotate + \") \" : \"\") + (cs.scale !== \"none\" ? \"scale(\" + cs.scale.split(\" \").join(\",\") + \") \" : \"\") + (cs[_transformProp] !== \"none\" ? cs[_transformProp] : \"\");\n }\n style.scale = style.rotate = style.translate = \"none\";\n }\n matrix = _getMatrix(target, cache.svg);\n if (cache.svg) {\n if (cache.uncache) {\n t2 = target.getBBox();\n origin = cache.xOrigin - t2.x + \"px \" + (cache.yOrigin - t2.y) + \"px\";\n t1 = \"\";\n } else {\n t1 = !uncache && target.getAttribute(\"data-svg-origin\");\n }\n _applySVGOrigin(target, t1 || origin, !!t1 || cache.originIsAbsolute, cache.smooth !== false, matrix);\n }\n xOrigin = cache.xOrigin || 0;\n yOrigin = cache.yOrigin || 0;\n if (matrix !== _identity2DMatrix) {\n a = matrix[0];\n b = matrix[1];\n c = matrix[2];\n d = matrix[3];\n x = a12 = matrix[4];\n y = a22 = matrix[5];\n if (matrix.length === 6) {\n scaleX = Math.sqrt(a * a + b * b);\n scaleY = Math.sqrt(d * d + c * c);\n rotation = a || b ? _atan2(b, a) * _RAD2DEG : 0;\n skewX = c || d ? _atan2(c, d) * _RAD2DEG + rotation : 0;\n skewX && (scaleY *= Math.abs(Math.cos(skewX * _DEG2RAD)));\n if (cache.svg) {\n x -= xOrigin - (xOrigin * a + yOrigin * c);\n y -= yOrigin - (xOrigin * b + yOrigin * d);\n }\n } else {\n a32 = matrix[6];\n a42 = matrix[7];\n a13 = matrix[8];\n a23 = matrix[9];\n a33 = matrix[10];\n a43 = matrix[11];\n x = matrix[12];\n y = matrix[13];\n z = matrix[14];\n angle = _atan2(a32, a33);\n rotationX = angle * _RAD2DEG;\n if (angle) {\n cos = Math.cos(-angle);\n sin = Math.sin(-angle);\n t1 = a12 * cos + a13 * sin;\n t2 = a22 * cos + a23 * sin;\n t3 = a32 * cos + a33 * sin;\n a13 = a12 * -sin + a13 * cos;\n a23 = a22 * -sin + a23 * cos;\n a33 = a32 * -sin + a33 * cos;\n a43 = a42 * -sin + a43 * cos;\n a12 = t1;\n a22 = t2;\n a32 = t3;\n }\n angle = _atan2(-c, a33);\n rotationY = angle * _RAD2DEG;\n if (angle) {\n cos = Math.cos(-angle);\n sin = Math.sin(-angle);\n t1 = a * cos - a13 * sin;\n t2 = b * cos - a23 * sin;\n t3 = c * cos - a33 * sin;\n a43 = d * sin + a43 * cos;\n a = t1;\n b = t2;\n c = t3;\n }\n angle = _atan2(b, a);\n rotation = angle * _RAD2DEG;\n if (angle) {\n cos = Math.cos(angle);\n sin = Math.sin(angle);\n t1 = a * cos + b * sin;\n t2 = a12 * cos + a22 * sin;\n b = b * cos - a * sin;\n a22 = a22 * cos - a12 * sin;\n a = t1;\n a12 = t2;\n }\n if (rotationX && Math.abs(rotationX) + Math.abs(rotation) > 359.9) {\n rotationX = rotation = 0;\n rotationY = 180 - rotationY;\n }\n scaleX = _round(Math.sqrt(a * a + b * b + c * c));\n scaleY = _round(Math.sqrt(a22 * a22 + a32 * a32));\n angle = _atan2(a12, a22);\n skewX = Math.abs(angle) > 2e-4 ? angle * _RAD2DEG : 0;\n perspective = a43 ? 1 / (a43 < 0 ? -a43 : a43) : 0;\n }\n if (cache.svg) {\n t1 = target.getAttribute(\"transform\");\n cache.forceCSS = target.setAttribute(\"transform\", \"\") || !_isNullTransform(_getComputedProperty(target, _transformProp));\n t1 && target.setAttribute(\"transform\", t1);\n }\n }\n if (Math.abs(skewX) > 90 && Math.abs(skewX) < 270) {\n if (invertedScaleX) {\n scaleX *= -1;\n skewX += rotation <= 0 ? 180 : -180;\n rotation += rotation <= 0 ? 180 : -180;\n } else {\n scaleY *= -1;\n skewX += skewX <= 0 ? 180 : -180;\n }\n }\n uncache = uncache || cache.uncache;\n cache.x = x - ((cache.xPercent = x && (!uncache && cache.xPercent || (Math.round(target.offsetWidth / 2) === Math.round(-x) ? -50 : 0))) ? target.offsetWidth * cache.xPercent / 100 : 0) + px;\n cache.y = y - ((cache.yPercent = y && (!uncache && cache.yPercent || (Math.round(target.offsetHeight / 2) === Math.round(-y) ? -50 : 0))) ? target.offsetHeight * cache.yPercent / 100 : 0) + px;\n cache.z = z + px;\n cache.scaleX = _round(scaleX);\n cache.scaleY = _round(scaleY);\n cache.rotation = _round(rotation) + deg;\n cache.rotationX = _round(rotationX) + deg;\n cache.rotationY = _round(rotationY) + deg;\n cache.skewX = skewX + deg;\n cache.skewY = skewY + deg;\n cache.transformPerspective = perspective + px;\n if (cache.zOrigin = parseFloat(origin.split(\" \")[2]) || !uncache && cache.zOrigin || 0) {\n style[_transformOriginProp] = _firstTwoOnly(origin);\n }\n cache.xOffset = cache.yOffset = 0;\n cache.force3D = _config.force3D;\n cache.renderTransform = cache.svg ? _renderSVGTransforms : _supports3D ? _renderCSSTransforms : _renderNon3DTransforms;\n cache.uncache = 0;\n return cache;\n};\nvar _firstTwoOnly = function _firstTwoOnly2(value) {\n return (value = value.split(\" \"))[0] + \" \" + value[1];\n};\nvar _addPxTranslate = function _addPxTranslate2(target, start, value) {\n var unit = getUnit(start);\n return _round(parseFloat(start) + parseFloat(_convertToUnit(target, \"x\", value + \"px\", unit))) + unit;\n};\nvar _renderNon3DTransforms = function _renderNon3DTransforms2(ratio, cache) {\n cache.z = \"0px\";\n cache.rotationY = cache.rotationX = \"0deg\";\n cache.force3D = 0;\n _renderCSSTransforms(ratio, cache);\n};\nvar _zeroDeg = \"0deg\";\nvar _zeroPx = \"0px\";\nvar _endParenthesis = \") \";\nvar _renderCSSTransforms = function _renderCSSTransforms2(ratio, cache) {\n var _ref = cache || this, xPercent = _ref.xPercent, yPercent = _ref.yPercent, x = _ref.x, y = _ref.y, z = _ref.z, rotation = _ref.rotation, rotationY = _ref.rotationY, rotationX = _ref.rotationX, skewX = _ref.skewX, skewY = _ref.skewY, scaleX = _ref.scaleX, scaleY = _ref.scaleY, transformPerspective = _ref.transformPerspective, force3D = _ref.force3D, target = _ref.target, zOrigin = _ref.zOrigin, transforms = \"\", use3D = force3D === \"auto\" && ratio && ratio !== 1 || force3D === true;\n if (zOrigin && (rotationX !== _zeroDeg || rotationY !== _zeroDeg)) {\n var angle = parseFloat(rotationY) * _DEG2RAD, a13 = Math.sin(angle), a33 = Math.cos(angle), cos;\n angle = parseFloat(rotationX) * _DEG2RAD;\n cos = Math.cos(angle);\n x = _addPxTranslate(target, x, a13 * cos * -zOrigin);\n y = _addPxTranslate(target, y, -Math.sin(angle) * -zOrigin);\n z = _addPxTranslate(target, z, a33 * cos * -zOrigin + zOrigin);\n }\n if (transformPerspective !== _zeroPx) {\n transforms += \"perspective(\" + transformPerspective + _endParenthesis;\n }\n if (xPercent || yPercent) {\n transforms += \"translate(\" + xPercent + \"%, \" + yPercent + \"%) \";\n }\n if (use3D || x !== _zeroPx || y !== _zeroPx || z !== _zeroPx) {\n transforms += z !== _zeroPx || use3D ? \"translate3d(\" + x + \", \" + y + \", \" + z + \") \" : \"translate(\" + x + \", \" + y + _endParenthesis;\n }\n if (rotation !== _zeroDeg) {\n transforms += \"rotate(\" + rotation + _endParenthesis;\n }\n if (rotationY !== _zeroDeg) {\n transforms += \"rotateY(\" + rotationY + _endParenthesis;\n }\n if (rotationX !== _zeroDeg) {\n transforms += \"rotateX(\" + rotationX + _endParenthesis;\n }\n if (skewX !== _zeroDeg || skewY !== _zeroDeg) {\n transforms += \"skew(\" + skewX + \", \" + skewY + _endParenthesis;\n }\n if (scaleX !== 1 || scaleY !== 1) {\n transforms += \"scale(\" + scaleX + \", \" + scaleY + _endParenthesis;\n }\n target.style[_transformProp] = transforms || \"translate(0, 0)\";\n};\nvar _renderSVGTransforms = function _renderSVGTransforms2(ratio, cache) {\n var _ref2 = cache || this, xPercent = _ref2.xPercent, yPercent = _ref2.yPercent, x = _ref2.x, y = _ref2.y, rotation = _ref2.rotation, skewX = _ref2.skewX, skewY = _ref2.skewY, scaleX = _ref2.scaleX, scaleY = _ref2.scaleY, target = _ref2.target, xOrigin = _ref2.xOrigin, yOrigin = _ref2.yOrigin, xOffset = _ref2.xOffset, yOffset = _ref2.yOffset, forceCSS = _ref2.forceCSS, tx = parseFloat(x), ty = parseFloat(y), a11, a21, a12, a22, temp;\n rotation = parseFloat(rotation);\n skewX = parseFloat(skewX);\n skewY = parseFloat(skewY);\n if (skewY) {\n skewY = parseFloat(skewY);\n skewX += skewY;\n rotation += skewY;\n }\n if (rotation || skewX) {\n rotation *= _DEG2RAD;\n skewX *= _DEG2RAD;\n a11 = Math.cos(rotation) * scaleX;\n a21 = Math.sin(rotation) * scaleX;\n a12 = Math.sin(rotation - skewX) * -scaleY;\n a22 = Math.cos(rotation - skewX) * scaleY;\n if (skewX) {\n skewY *= _DEG2RAD;\n temp = Math.tan(skewX - skewY);\n temp = Math.sqrt(1 + temp * temp);\n a12 *= temp;\n a22 *= temp;\n if (skewY) {\n temp = Math.tan(skewY);\n temp = Math.sqrt(1 + temp * temp);\n a11 *= temp;\n a21 *= temp;\n }\n }\n a11 = _round(a11);\n a21 = _round(a21);\n a12 = _round(a12);\n a22 = _round(a22);\n } else {\n a11 = scaleX;\n a22 = scaleY;\n a21 = a12 = 0;\n }\n if (tx && !~(x + \"\").indexOf(\"px\") || ty && !~(y + \"\").indexOf(\"px\")) {\n tx = _convertToUnit(target, \"x\", x, \"px\");\n ty = _convertToUnit(target, \"y\", y, \"px\");\n }\n if (xOrigin || yOrigin || xOffset || yOffset) {\n tx = _round(tx + xOrigin - (xOrigin * a11 + yOrigin * a12) + xOffset);\n ty = _round(ty + yOrigin - (xOrigin * a21 + yOrigin * a22) + yOffset);\n }\n if (xPercent || yPercent) {\n temp = target.getBBox();\n tx = _round(tx + xPercent / 100 * temp.width);\n ty = _round(ty + yPercent / 100 * temp.height);\n }\n temp = \"matrix(\" + a11 + \",\" + a21 + \",\" + a12 + \",\" + a22 + \",\" + tx + \",\" + ty + \")\";\n target.setAttribute(\"transform\", temp);\n forceCSS && (target.style[_transformProp] = temp);\n};\nvar _addRotationalPropTween = function _addRotationalPropTween2(plugin, target, property, startNum, endValue) {\n var cap = 360, isString = _isString(endValue), endNum = parseFloat(endValue) * (isString && ~endValue.indexOf(\"rad\") ? _RAD2DEG : 1), change = endNum - startNum, finalValue = startNum + change + \"deg\", direction, pt;\n if (isString) {\n direction = endValue.split(\"_\")[1];\n if (direction === \"short\") {\n change %= cap;\n if (change !== change % (cap / 2)) {\n change += change < 0 ? cap : -cap;\n }\n }\n if (direction === \"cw\" && change < 0) {\n change = (change + cap * _bigNum2) % cap - ~~(change / cap) * cap;\n } else if (direction === \"ccw\" && change > 0) {\n change = (change - cap * _bigNum2) % cap - ~~(change / cap) * cap;\n }\n }\n plugin._pt = pt = new PropTween(plugin._pt, target, property, startNum, change, _renderPropWithEnd);\n pt.e = finalValue;\n pt.u = \"deg\";\n plugin._props.push(property);\n return pt;\n};\nvar _assign = function _assign2(target, source) {\n for (var p in source) {\n target[p] = source[p];\n }\n return target;\n};\nvar _addRawTransformPTs = function _addRawTransformPTs2(plugin, transforms, target) {\n var startCache = _assign({}, target._gsap), exclude = \"perspective,force3D,transformOrigin,svgOrigin\", style = target.style, endCache, p, startValue, endValue, startNum, endNum, startUnit, endUnit;\n if (startCache.svg) {\n startValue = target.getAttribute(\"transform\");\n target.setAttribute(\"transform\", \"\");\n style[_transformProp] = transforms;\n endCache = _parseTransform(target, 1);\n _removeProperty(target, _transformProp);\n target.setAttribute(\"transform\", startValue);\n } else {\n startValue = getComputedStyle(target)[_transformProp];\n style[_transformProp] = transforms;\n endCache = _parseTransform(target, 1);\n style[_transformProp] = startValue;\n }\n for (p in _transformProps) {\n startValue = startCache[p];\n endValue = endCache[p];\n if (startValue !== endValue && exclude.indexOf(p) < 0) {\n startUnit = getUnit(startValue);\n endUnit = getUnit(endValue);\n startNum = startUnit !== endUnit ? _convertToUnit(target, p, startValue, endUnit) : parseFloat(startValue);\n endNum = parseFloat(endValue);\n plugin._pt = new PropTween(plugin._pt, endCache, p, startNum, endNum - startNum, _renderCSSProp);\n plugin._pt.u = endUnit || 0;\n plugin._props.push(p);\n }\n }\n _assign(endCache, startCache);\n};\n_forEachName(\"padding,margin,Width,Radius\", function(name, index) {\n var t = \"Top\", r = \"Right\", b = \"Bottom\", l = \"Left\", props = (index < 3 ? [t, r, b, l] : [t + l, t + r, b + r, b + l]).map(function(side) {\n return index < 2 ? name + side : \"border\" + side + name;\n });\n _specialProps[index > 1 ? \"border\" + name : name] = function(plugin, target, property, endValue, tween) {\n var a, vars;\n if (arguments.length < 4) {\n a = props.map(function(prop) {\n return _get(plugin, prop, property);\n });\n vars = a.join(\" \");\n return vars.split(a[0]).length === 5 ? a[0] : vars;\n }\n a = (endValue + \"\").split(\" \");\n vars = {};\n props.forEach(function(prop, i) {\n return vars[prop] = a[i] = a[i] || a[(i - 1) / 2 | 0];\n });\n plugin.init(target, vars, tween);\n };\n});\nvar CSSPlugin = {\n name: \"css\",\n register: _initCore,\n targetTest: function targetTest(target) {\n return target.style && target.nodeType;\n },\n init: function init3(target, vars, tween, index, targets) {\n var props = this._props, style = target.style, startAt = tween.vars.startAt, startValue, endValue, endNum, startNum, type, specialProp, p, startUnit, endUnit, relative, isTransformRelated, transformPropTween, cache, smooth, hasPriority, inlineProps;\n _pluginInitted || _initCore();\n this.styles = this.styles || _getStyleSaver(target);\n inlineProps = this.styles.props;\n this.tween = tween;\n for (p in vars) {\n if (p === \"autoRound\") {\n continue;\n }\n endValue = vars[p];\n if (_plugins[p] && _checkPlugin(p, vars, tween, index, target, targets)) {\n continue;\n }\n type = typeof endValue;\n specialProp = _specialProps[p];\n if (type === \"function\") {\n endValue = endValue.call(tween, index, target, targets);\n type = typeof endValue;\n }\n if (type === \"string\" && ~endValue.indexOf(\"random(\")) {\n endValue = _replaceRandom(endValue);\n }\n if (specialProp) {\n specialProp(this, target, p, endValue, tween) && (hasPriority = 1);\n } else if (p.substr(0, 2) === \"--\") {\n startValue = (getComputedStyle(target).getPropertyValue(p) + \"\").trim();\n endValue += \"\";\n _colorExp.lastIndex = 0;\n if (!_colorExp.test(startValue)) {\n startUnit = getUnit(startValue);\n endUnit = getUnit(endValue);\n }\n endUnit ? startUnit !== endUnit && (startValue = _convertToUnit(target, p, startValue, endUnit) + endUnit) : startUnit && (endValue += startUnit);\n this.add(style, \"setProperty\", startValue, endValue, index, targets, 0, 0, p);\n props.push(p);\n inlineProps.push(p, 0, style[p]);\n } else if (type !== \"undefined\") {\n if (startAt && p in startAt) {\n startValue = typeof startAt[p] === \"function\" ? startAt[p].call(tween, index, target, targets) : startAt[p];\n _isString(startValue) && ~startValue.indexOf(\"random(\") && (startValue = _replaceRandom(startValue));\n getUnit(startValue + \"\") || startValue === \"auto\" || (startValue += _config.units[p] || getUnit(_get(target, p)) || \"\");\n (startValue + \"\").charAt(1) === \"=\" && (startValue = _get(target, p));\n } else {\n startValue = _get(target, p);\n }\n startNum = parseFloat(startValue);\n relative = type === \"string\" && endValue.charAt(1) === \"=\" && endValue.substr(0, 2);\n relative && (endValue = endValue.substr(2));\n endNum = parseFloat(endValue);\n if (p in _propertyAliases) {\n if (p === \"autoAlpha\") {\n if (startNum === 1 && _get(target, \"visibility\") === \"hidden\" && endNum) {\n startNum = 0;\n }\n inlineProps.push(\"visibility\", 0, style.visibility);\n _addNonTweeningPT(this, style, \"visibility\", startNum ? \"inherit\" : \"hidden\", endNum ? \"inherit\" : \"hidden\", !endNum);\n }\n if (p !== \"scale\" && p !== \"transform\") {\n p = _propertyAliases[p];\n ~p.indexOf(\",\") && (p = p.split(\",\")[0]);\n }\n }\n isTransformRelated = p in _transformProps;\n if (isTransformRelated) {\n this.styles.save(p);\n if (!transformPropTween) {\n cache = target._gsap;\n cache.renderTransform && !vars.parseTransform || _parseTransform(target, vars.parseTransform);\n smooth = vars.smoothOrigin !== false && cache.smooth;\n transformPropTween = this._pt = new PropTween(this._pt, style, _transformProp, 0, 1, cache.renderTransform, cache, 0, -1);\n transformPropTween.dep = 1;\n }\n if (p === \"scale\") {\n this._pt = new PropTween(this._pt, cache, \"scaleY\", cache.scaleY, (relative ? _parseRelative(cache.scaleY, relative + endNum) : endNum) - cache.scaleY || 0, _renderCSSProp);\n this._pt.u = 0;\n props.push(\"scaleY\", p);\n p += \"X\";\n } else if (p === \"transformOrigin\") {\n inlineProps.push(_transformOriginProp, 0, style[_transformOriginProp]);\n endValue = _convertKeywordsToPercentages(endValue);\n if (cache.svg) {\n _applySVGOrigin(target, endValue, 0, smooth, 0, this);\n } else {\n endUnit = parseFloat(endValue.split(\" \")[2]) || 0;\n endUnit !== cache.zOrigin && _addNonTweeningPT(this, cache, \"zOrigin\", cache.zOrigin, endUnit);\n _addNonTweeningPT(this, style, p, _firstTwoOnly(startValue), _firstTwoOnly(endValue));\n }\n continue;\n } else if (p === \"svgOrigin\") {\n _applySVGOrigin(target, endValue, 1, smooth, 0, this);\n continue;\n } else if (p in _rotationalProperties) {\n _addRotationalPropTween(this, cache, p, startNum, relative ? _parseRelative(startNum, relative + endValue) : endValue);\n continue;\n } else if (p === \"smoothOrigin\") {\n _addNonTweeningPT(this, cache, \"smooth\", cache.smooth, endValue);\n continue;\n } else if (p === \"force3D\") {\n cache[p] = endValue;\n continue;\n } else if (p === \"transform\") {\n _addRawTransformPTs(this, endValue, target);\n continue;\n }\n } else if (!(p in style)) {\n p = _checkPropPrefix(p) || p;\n }\n if (isTransformRelated || (endNum || endNum === 0) && (startNum || startNum === 0) && !_complexExp.test(endValue) && p in style) {\n startUnit = (startValue + \"\").substr((startNum + \"\").length);\n endNum || (endNum = 0);\n endUnit = getUnit(endValue) || (p in _config.units ? _config.units[p] : startUnit);\n startUnit !== endUnit && (startNum = _convertToUnit(target, p, startValue, endUnit));\n this._pt = new PropTween(this._pt, isTransformRelated ? cache : style, p, startNum, (relative ? _parseRelative(startNum, relative + endNum) : endNum) - startNum, !isTransformRelated && (endUnit === \"px\" || p === \"zIndex\") && vars.autoRound !== false ? _renderRoundedCSSProp : _renderCSSProp);\n this._pt.u = endUnit || 0;\n if (startUnit !== endUnit && endUnit !== \"%\") {\n this._pt.b = startValue;\n this._pt.r = _renderCSSPropWithBeginning;\n }\n } else if (!(p in style)) {\n if (p in target) {\n this.add(target, p, startValue || target[p], relative ? relative + endValue : endValue, index, targets);\n } else if (p !== \"parseTransform\") {\n _missingPlugin(p, endValue);\n continue;\n }\n } else {\n _tweenComplexCSSString.call(this, target, p, startValue, relative ? relative + endValue : endValue);\n }\n isTransformRelated || (p in style ? inlineProps.push(p, 0, style[p]) : inlineProps.push(p, 1, startValue || target[p]));\n props.push(p);\n }\n }\n hasPriority && _sortPropTweensByPriority(this);\n },\n render: function render2(ratio, data) {\n if (data.tween._time || !_reverting2()) {\n var pt = data._pt;\n while (pt) {\n pt.r(ratio, pt.d);\n pt = pt._next;\n }\n } else {\n data.styles.revert();\n }\n },\n get: _get,\n aliases: _propertyAliases,\n getSetter: function getSetter(target, property, plugin) {\n var p = _propertyAliases[property];\n p && p.indexOf(\",\") < 0 && (property = p);\n return property in _transformProps && property !== _transformOriginProp && (target._gsap.x || _get(target, \"x\")) ? plugin && _recentSetterPlugin === plugin ? property === \"scale\" ? _setterScale : _setterTransform : (_recentSetterPlugin = plugin || {}) && (property === \"scale\" ? _setterScaleWithRender : _setterTransformWithRender) : target.style && !_isUndefined(target.style[property]) ? _setterCSSStyle : ~property.indexOf(\"-\") ? _setterCSSProp : _getSetter(target, property);\n },\n core: {\n _removeProperty,\n _getMatrix\n }\n};\ngsap.utils.checkPrefix = _checkPropPrefix;\ngsap.core.getStyleSaver = _getStyleSaver;\n(function(positionAndScale, rotation, others, aliases) {\n var all = _forEachName(positionAndScale + \",\" + rotation + \",\" + others, function(name) {\n _transformProps[name] = 1;\n });\n _forEachName(rotation, function(name) {\n _config.units[name] = \"deg\";\n _rotationalProperties[name] = 1;\n });\n _propertyAliases[all[13]] = positionAndScale + \",\" + rotation;\n _forEachName(aliases, function(name) {\n var split = name.split(\":\");\n _propertyAliases[split[1]] = all[split[0]];\n });\n})(\"x,y,z,scale,scaleX,scaleY,xPercent,yPercent\", \"rotation,rotationX,rotationY,skewX,skewY\", \"transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective\", \"0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY\");\n_forEachName(\"x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective\", function(name) {\n _config.units[name] = \"px\";\n});\ngsap.registerPlugin(CSSPlugin);\n\n// node_modules/gsap/index.js\nvar gsapWithCSS = gsap.registerPlugin(CSSPlugin) || gsap;\nvar TweenMaxWithCSS = gsapWithCSS.core.Tween;\n\nexport {\n gsapWithCSS\n};\n/*! Bundled license information:\n\ngsap/gsap-core.js:\n (*!\n * GSAP 3.12.5\n * https://gsap.com\n *\n * @license Copyright 2008-2024, GreenSock. All rights reserved.\n * Subject to the terms at https://gsap.com/standard-license or for\n * Club GSAP members, the agreement issued with that membership.\n * @author: Jack Doyle, jack@greensock.com\n *)\n\ngsap/CSSPlugin.js:\n (*!\n * CSSPlugin 3.12.5\n * https://gsap.com\n *\n * Copyright 2008-2024, GreenSock. All rights reserved.\n * Subject to the terms at https://gsap.com/standard-license or for\n * Club GSAP members, the agreement issued with that membership.\n * @author: Jack Doyle, jack@greensock.com\n *)\n*/\n", "import {\n ScrollTrigger\n} from \"./chunk.RYXMHMS2.js\";\nimport {\n gsapWithCSS\n} from \"./chunk.LXB4MYP4.js\";\nimport {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n ChangesBackgroundColor\n} from \"./chunk.7ANACPIR.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-timeline/jb-timeline.scss?inline\nvar jb_timeline_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nh4 {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\np, h2 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh2 {\n font-size: var(--theme-typo-h2-subtitle-mobile-fontsize, 1.625rem);\n line-height: var(--theme-typo-h2-subtitle-mobile-lineheight, 2.188rem);\n}\n@media (min-width: 1281px) {\n h2 {\n font-size: var(--theme-typo-h2-subtitle-desktop-fontsize, 1.938rem);\n line-height: var(--theme-typo-h2-subtitle-desktop-lineheight, 2.625rem);\n }\n}\n\nh4 {\n font-size: var(--theme-typo-h4-mobile-fontsize, 1.188rem);\n line-height: var(--theme-typo-h4-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n h4 {\n font-size: var(--theme-typo-h4-desktop-fontsize, 1.375rem);\n line-height: var(--theme-typo-h4-desktop-lineheight, 2.125rem);\n }\n}\n\np {\n font-size: var(--theme-typo-p-mini-desktop-fontsize, 0.813rem);\n line-height: var(--theme-typo-p-mini-desktop-lineheight, 1.25rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n --_grid-gap: 16px;\n --_columnwidth: calc((100% - (5 * var(--_grid-gap))) / 6);\n --_picturewidth: calc(2 * var(--_columnwidth) + var(--_grid-gap));\n --_timelinewidth: calc(2 * var(--spacing-l) + 1px);\n --_infowidth: 1fr;\n display: block;\n}\n@media (min-width: 960px) {\n :host {\n --_grid-gap: 40px;\n --_columnwidth: calc((100% - (7 * var(--_grid-gap))) / 8);\n --_picturewidth: 1fr;\n --_infowidth: calc(5 * var(--_columnwidth) + 4 * var(--_grid-gap));\n }\n}\n\n.timeline-item {\n display: block;\n margin-bottom: var(--spacing-m);\n margin-left: var(--spacing-l);\n position: relative;\n width: calc(100% - var(--spacing-l));\n}\n@media (min-width: 600px) {\n .timeline-item {\n display: grid;\n gap: var(--spacing-m) 0;\n grid-template-columns: var(--_picturewidth) var(--_timelinewidth) var(--_infowidth);\n margin-left: 0;\n width: 100%;\n }\n}\n.timeline-item:last-child .timeline-ray {\n height: calc(100% + 16px);\n}\n\nh2 {\n margin-bottom: var(--spacing-2xs);\n}\n@media (min-width: 600px) {\n h2 {\n grid-column: 3;\n margin-bottom: calc(-1 * var(--spacing-m));\n padding-bottom: var(--spacing-2xs);\n }\n}\n\nh4 {\n margin-bottom: var(--spacing-base);\n}\n\njb-picture {\n opacity: 0;\n transform-origin: center left;\n}\n@media (min-width: 600px) {\n jb-picture {\n transform-origin: center right;\n }\n}\n\n.info {\n align-self: center;\n height: min-content;\n position: relative;\n}\n@media (min-width: 600px) {\n .info {\n grid-column: 3;\n }\n}\n.info:not(:last-child) {\n margin-bottom: var(--spacing-m);\n}\n@media (min-width: 600px) {\n .info:not(:last-child) {\n margin-bottom: 0;\n }\n}\n\n.infoblock {\n opacity: 0;\n transform-origin: center left;\n}\n\n.picture-wrapper {\n align-self: center;\n margin-bottom: var(--spacing-xs);\n position: relative;\n}\n@media (min-width: 600px) {\n .picture-wrapper {\n grid-column: 1/2;\n margin-bottom: 0;\n }\n}\n\n.timeline-ray {\n background-color: #141e55;\n height: calc(100% + 40px);\n left: calc(-1 * var(--spacing-l));\n position: absolute;\n top: 17px;\n width: 1px;\n}\n@media (min-width: 600px) {\n .timeline-ray {\n grid-column: 3;\n }\n}\n@media (min-width: 1281px) {\n .timeline-ray {\n top: 21px;\n }\n}\n.timeline-ray::before {\n background-color: #b0aa7e;\n border-radius: 50px;\n content: \"\";\n display: block;\n height: 17px;\n left: -8px;\n position: absolute;\n top: -8px;\n width: 17px;\n}\n\n.picture-wrapper .dot,\n.info .dot {\n background-color: #141e55;\n border-radius: 50px;\n content: \"\";\n display: block;\n height: 7px;\n left: calc(-1 * var(--spacing-l) - 3px);\n opacity: 0;\n position: absolute;\n top: calc(50% - 3px);\n width: 7px;\n}\n\n.picture-wrapper + .info .dot {\n display: none;\n}\n\n@media (min-width: 600px) {\n .picture-wrapper .dot {\n display: none;\n }\n .picture-wrapper + .info .dot {\n display: block;\n }\n}`;\n\n// src/components/jb-timeline/jb-timeline.ts\nvar JbTimeline = class extends Spaceable(ChangesBackgroundColor(h)) {\n constructor() {\n super(...arguments);\n this.sort = \"oldestFirst\";\n }\n connectedCallback() {\n super.connectedCallback();\n this._timelineArray = this._groupBy(this.timelineItems, \"year\");\n this._timelineKeys = this.sort === \"oldestFirst\" ? Object.keys(this._timelineArray) : Object.keys(this._timelineArray).reverse();\n }\n async firstUpdated() {\n await this.updateComplete;\n gsapWithCSS.registerPlugin(ScrollTrigger);\n this._animatedElements.forEach((element) => {\n this._addAnimation(element);\n });\n }\n _addAnimation(element) {\n ScrollTrigger.create({\n trigger: element,\n onEnter: () => {\n this._animateElement(element);\n },\n onEnterBack: () => {\n this._animateElement(element);\n },\n onLeave: () => {\n this._hide(element);\n },\n onLeaveBack: () => {\n this._hide(element);\n }\n });\n }\n _animateElement(element) {\n gsapWithCSS.fromTo(\n element,\n { scale: 0.7, autoAlpha: 0 },\n {\n duration: 0.7,\n delay: 0.1,\n scale: 1,\n autoAlpha: 1,\n ease: \"ease-in\",\n overwrite: \"auto\"\n }\n );\n }\n _getContentSpacingProperties() {\n return { colsMdUp: 8, grid: \"legacy\" };\n }\n // https://stackoverflow.com/a/71505541\n _groupBy(arr, prop) {\n return arr.reduce((memo, x) => {\n if (!memo[x[prop]]) {\n memo[x[prop]] = [];\n }\n memo[x[prop]].push(x);\n return memo;\n }, {});\n }\n _hide(element) {\n gsapWithCSS.set(element, { autoAlpha: 0 });\n }\n render() {\n return this._timelineKeys.map(\n (key) => ke`
    \n
    \n

    ${key}

    \n ${this._timelineArray[key].map(\n (elm) => ke`\n ${elm.image ? ke`\n
    \n \n \n
    \n ` : D}\n
    \n \n
    \n

    ${elm.headline}

    \n

    ${elm.description}

    \n
    \n
    \n `\n )}\n
    `\n );\n }\n};\nJbTimeline.styles = r(jb_timeline_default);\n__decorateClass([\n n()\n], JbTimeline.prototype, \"sort\", 2);\n__decorateClass([\n n({ type: Array })\n], JbTimeline.prototype, \"timelineItems\", 2);\n__decorateClass([\n r2(\"jb-picture, .infoblock, .dot\")\n], JbTimeline.prototype, \"_animatedElements\", 2);\nJbTimeline = __decorateClass([\n customElement(\"jb-timeline\")\n], JbTimeline);\n\nexport {\n JbTimeline\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Linkable,\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-text-teaser/jb-text-teaser.scss?inline\nvar jb_text_teaser_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\np, h3 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh3 {\n font-size: var(--theme-typo-h3-mobile-fontsize, 1.375rem);\n line-height: var(--theme-typo-h3-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n h3 {\n font-size: var(--theme-typo-h3-desktop-fontsize, 1.625rem);\n line-height: var(--theme-typo-h3-desktop-lineheight, 2.25rem);\n }\n}\n\np {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\ndiv {\n background-color: #fff;\n block-size: 100%;\n padding-block: var(--spacing-s);\n padding-inline: var(--spacing-m);\n}\ndiv.gray {\n background-color: #f1f2f2;\n}\n\nh3 {\n padding-block-end: var(--spacing-3xs);\n}\n\np {\n padding-block-end: var(--spacing-xs);\n}\n\na {\n text-decoration: none;\n}\n\njb-button-tertiary {\n padding-block: var(--spacing-3xs);\n}`;\n\n// src/components/jb-text-teaser/jb-text-teaser.ts\nvar JbTextTeaser = class extends Linkable(h) {\n constructor() {\n super(...arguments);\n this._hovering = false;\n }\n _hoverLinkIn() {\n this._hovering = true;\n }\n _hoverLinkOut() {\n this._hovering = false;\n }\n _trackClick(event) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(event, {\n component_name: \"text-teaser\",\n interaction_text: this.buttonLabel\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n }\n render() {\n return ke`\n \n

    ${this.headline}

    \n

    ${this.text}

    \n ${this.buttonLabel}\n
    \n `;\n }\n};\nJbTextTeaser.styles = r(jb_text_teaser_default);\n__decorateClass([\n n()\n], JbTextTeaser.prototype, \"buttonLabel\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbTextTeaser.prototype, \"hasGrayBackground\", 2);\n__decorateClass([\n n()\n], JbTextTeaser.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbTextTeaser.prototype, \"text\", 2);\n__decorateClass([\n r2()\n], JbTextTeaser.prototype, \"_hovering\", 2);\nJbTextTeaser = __decorateClass([\n customElement(\"jb-text-teaser\")\n], JbTextTeaser);\n\nexport {\n JbTextTeaser\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// node_modules/chartist/dist/index.js\nvar namespaces = {\n svg: \"http://www.w3.org/2000/svg\",\n xmlns: \"http://www.w3.org/2000/xmlns/\",\n xhtml: \"http://www.w3.org/1999/xhtml\",\n xlink: \"http://www.w3.org/1999/xlink\",\n ct: \"http://gionkunz.github.com/chartist-js/ct\"\n};\nvar precision = 8;\nvar escapingMap = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n};\nfunction ensureUnit(value, unit) {\n if (typeof value === \"number\") {\n return value + unit;\n }\n return value;\n}\nfunction quantity(input) {\n if (typeof input === \"string\") {\n const match = /^(\\d+)\\s*(.*)$/g.exec(input);\n return {\n value: match ? +match[1] : 0,\n unit: (match === null || match === void 0 ? void 0 : match[2]) || void 0\n };\n }\n return {\n value: Number(input)\n };\n}\nfunction alphaNumerate(n2) {\n return String.fromCharCode(97 + n2 % 26);\n}\nvar EPSILON = 2221e-19;\nfunction orderOfMagnitude(value) {\n return Math.floor(Math.log(Math.abs(value)) / Math.LN10);\n}\nfunction projectLength(axisLength, length, bounds) {\n return length / bounds.range * axisLength;\n}\nfunction roundWithPrecision(value, digits) {\n const precision$1 = Math.pow(10, digits || precision);\n return Math.round(value * precision$1) / precision$1;\n}\nfunction rho(num) {\n if (num === 1) {\n return num;\n }\n function gcd(p, q) {\n if (p % q === 0) {\n return q;\n } else {\n return gcd(q, p % q);\n }\n }\n function f(x) {\n return x * x + 1;\n }\n let x1 = 2;\n let x2 = 2;\n let divisor;\n if (num % 2 === 0) {\n return 2;\n }\n do {\n x1 = f(x1) % num;\n x2 = f(f(x2)) % num;\n divisor = gcd(Math.abs(x1 - x2), num);\n } while (divisor === 1);\n return divisor;\n}\nfunction getBounds(axisLength, highLow, scaleMinSpace) {\n let onlyInteger = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n const bounds = {\n high: highLow.high,\n low: highLow.low,\n valueRange: 0,\n oom: 0,\n step: 0,\n min: 0,\n max: 0,\n range: 0,\n numberOfSteps: 0,\n values: []\n };\n bounds.valueRange = bounds.high - bounds.low;\n bounds.oom = orderOfMagnitude(bounds.valueRange);\n bounds.step = Math.pow(10, bounds.oom);\n bounds.min = Math.floor(bounds.low / bounds.step) * bounds.step;\n bounds.max = Math.ceil(bounds.high / bounds.step) * bounds.step;\n bounds.range = bounds.max - bounds.min;\n bounds.numberOfSteps = Math.round(bounds.range / bounds.step);\n const length = projectLength(axisLength, bounds.step, bounds);\n const scaleUp = length < scaleMinSpace;\n const smallestFactor = onlyInteger ? rho(bounds.range) : 0;\n if (onlyInteger && projectLength(axisLength, 1, bounds) >= scaleMinSpace) {\n bounds.step = 1;\n } else if (onlyInteger && smallestFactor < bounds.step && projectLength(axisLength, smallestFactor, bounds) >= scaleMinSpace) {\n bounds.step = smallestFactor;\n } else {\n let optimizationCounter = 0;\n for (; ; ) {\n if (scaleUp && projectLength(axisLength, bounds.step, bounds) <= scaleMinSpace) {\n bounds.step *= 2;\n } else if (!scaleUp && projectLength(axisLength, bounds.step / 2, bounds) >= scaleMinSpace) {\n bounds.step /= 2;\n if (onlyInteger && bounds.step % 1 !== 0) {\n bounds.step *= 2;\n break;\n }\n } else {\n break;\n }\n if (optimizationCounter++ > 1e3) {\n throw new Error(\"Exceeded maximum number of iterations while optimizing scale step!\");\n }\n }\n }\n bounds.step = Math.max(bounds.step, EPSILON);\n function safeIncrement(value, increment) {\n if (value === (value += increment)) {\n value *= 1 + (increment > 0 ? EPSILON : -EPSILON);\n }\n return value;\n }\n let newMin = bounds.min;\n let newMax = bounds.max;\n while (newMin + bounds.step <= bounds.low) {\n newMin = safeIncrement(newMin, bounds.step);\n }\n while (newMax - bounds.step >= bounds.high) {\n newMax = safeIncrement(newMax, -bounds.step);\n }\n bounds.min = newMin;\n bounds.max = newMax;\n bounds.range = bounds.max - bounds.min;\n const values = [];\n for (let i2 = bounds.min; i2 <= bounds.max; i2 = safeIncrement(i2, bounds.step)) {\n const value = roundWithPrecision(i2);\n if (value !== values[values.length - 1]) {\n values.push(value);\n }\n }\n bounds.values = values;\n return bounds;\n}\nfunction extend() {\n let target = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n sources[_key - 1] = arguments[_key];\n }\n for (let i2 = 0; i2 < sources.length; i2++) {\n const source = sources[i2];\n for (const prop in source) {\n const sourceProp = source[prop];\n if (typeof sourceProp === \"object\" && sourceProp !== null && !(sourceProp instanceof Array)) {\n target[prop] = extend(target[prop], sourceProp);\n } else {\n target[prop] = sourceProp;\n }\n }\n }\n return target;\n}\nvar noop = (n2) => n2;\nfunction times(length, filler) {\n return Array.from(\n {\n length\n },\n filler ? (_, i2) => filler(i2) : () => void 0\n );\n}\nfunction safeHasProperty(target, property) {\n return target !== null && typeof target === \"object\" && Reflect.has(target, property);\n}\nfunction isNumeric(value) {\n return value !== null && isFinite(value);\n}\nfunction isFalseyButZero(value) {\n return !value && value !== 0;\n}\nfunction getNumberOrUndefined(value) {\n return isNumeric(value) ? Number(value) : void 0;\n}\nfunction isArrayOfArrays(data) {\n if (!Array.isArray(data)) {\n return false;\n }\n return data.every(Array.isArray);\n}\nfunction each(list, callback) {\n let reverse = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;\n let index = 0;\n list[reverse ? \"reduceRight\" : \"reduce\"](\n (_, item, itemIndex) => callback(item, index++, itemIndex),\n void 0\n );\n}\nfunction getMetaData(seriesData, index) {\n const value = Array.isArray(seriesData) ? seriesData[index] : safeHasProperty(seriesData, \"data\") ? seriesData.data[index] : null;\n return safeHasProperty(value, \"meta\") ? value.meta : void 0;\n}\nfunction isDataHoleValue(value) {\n return value === null || value === void 0 || typeof value === \"number\" && isNaN(value);\n}\nfunction isArrayOfSeries(value) {\n return Array.isArray(value) && value.every(\n (_) => Array.isArray(_) || safeHasProperty(_, \"data\")\n );\n}\nfunction isMultiValue(value) {\n return typeof value === \"object\" && value !== null && (Reflect.has(value, \"x\") || Reflect.has(value, \"y\"));\n}\nfunction getMultiValue(value) {\n let dimension = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"y\";\n if (isMultiValue(value) && safeHasProperty(value, dimension)) {\n return getNumberOrUndefined(value[dimension]);\n } else {\n return getNumberOrUndefined(value);\n }\n}\nfunction getHighLow(data, options, dimension) {\n options = {\n ...options,\n ...dimension ? dimension === \"x\" ? options.axisX : options.axisY : {}\n };\n const highLow = {\n high: options.high === void 0 ? -Number.MAX_VALUE : +options.high,\n low: options.low === void 0 ? Number.MAX_VALUE : +options.low\n };\n const findHigh = options.high === void 0;\n const findLow = options.low === void 0;\n function recursiveHighLow(sourceData) {\n if (isDataHoleValue(sourceData)) {\n return;\n } else if (Array.isArray(sourceData)) {\n for (let i2 = 0; i2 < sourceData.length; i2++) {\n recursiveHighLow(sourceData[i2]);\n }\n } else {\n const value = Number(dimension && safeHasProperty(sourceData, dimension) ? sourceData[dimension] : sourceData);\n if (findHigh && value > highLow.high) {\n highLow.high = value;\n }\n if (findLow && value < highLow.low) {\n highLow.low = value;\n }\n }\n }\n if (findHigh || findLow) {\n recursiveHighLow(data);\n }\n if (options.referenceValue || options.referenceValue === 0) {\n highLow.high = Math.max(options.referenceValue, highLow.high);\n highLow.low = Math.min(options.referenceValue, highLow.low);\n }\n if (highLow.high <= highLow.low) {\n if (highLow.low === 0) {\n highLow.high = 1;\n } else if (highLow.low < 0) {\n highLow.high = 0;\n } else if (highLow.high > 0) {\n highLow.low = 0;\n } else {\n highLow.high = 1;\n highLow.low = 0;\n }\n }\n return highLow;\n}\nfunction normalizeData(data) {\n let reverse = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false, multi = arguments.length > 2 ? arguments[2] : void 0, distributed = arguments.length > 3 ? arguments[3] : void 0;\n let labelCount;\n const normalized = {\n labels: (data.labels || []).slice(),\n series: normalizeSeries(data.series, multi, distributed)\n };\n const inputLabelCount = normalized.labels.length;\n if (isArrayOfArrays(normalized.series)) {\n labelCount = Math.max(inputLabelCount, ...normalized.series.map(\n (series) => series.length\n ));\n normalized.series.forEach((series) => {\n series.push(...times(Math.max(0, labelCount - series.length)));\n });\n } else {\n labelCount = normalized.series.length;\n }\n normalized.labels.push(...times(\n Math.max(0, labelCount - inputLabelCount),\n () => \"\"\n ));\n if (reverse) {\n reverseData(normalized);\n }\n return normalized;\n}\nfunction reverseData(data) {\n var ref;\n (ref = data.labels) === null || ref === void 0 ? void 0 : ref.reverse();\n data.series.reverse();\n for (const series of data.series) {\n if (safeHasProperty(series, \"data\")) {\n series.data.reverse();\n } else if (Array.isArray(series)) {\n series.reverse();\n }\n }\n}\nfunction normalizeMulti(value, multi) {\n let x;\n let y;\n if (typeof value !== \"object\") {\n const num = getNumberOrUndefined(value);\n if (multi === \"x\") {\n x = num;\n } else {\n y = num;\n }\n } else {\n if (safeHasProperty(value, \"x\")) {\n x = getNumberOrUndefined(value.x);\n }\n if (safeHasProperty(value, \"y\")) {\n y = getNumberOrUndefined(value.y);\n }\n }\n if (x === void 0 && y === void 0) {\n return void 0;\n }\n return {\n x,\n y\n };\n}\nfunction normalizePrimitive(value, multi) {\n if (isDataHoleValue(value)) {\n return void 0;\n }\n if (multi) {\n return normalizeMulti(value, multi);\n }\n return getNumberOrUndefined(value);\n}\nfunction normalizeSingleSeries(series, multi) {\n if (!Array.isArray(series)) {\n return normalizeSingleSeries(series.data, multi);\n }\n return series.map((value) => {\n if (safeHasProperty(value, \"value\")) {\n return normalizePrimitive(value.value, multi);\n }\n return normalizePrimitive(value, multi);\n });\n}\nfunction normalizeSeries(series, multi, distributed) {\n if (isArrayOfSeries(series)) {\n return series.map(\n (_) => normalizeSingleSeries(_, multi)\n );\n }\n const normalizedSeries = normalizeSingleSeries(series, multi);\n if (distributed) {\n return normalizedSeries.map(\n (value) => [\n value\n ]\n );\n }\n return normalizedSeries;\n}\nfunction splitIntoSegments(pathCoordinates, valueData, options) {\n const finalOptions = {\n increasingX: false,\n fillHoles: false,\n ...options\n };\n const segments = [];\n let hole = true;\n for (let i2 = 0; i2 < pathCoordinates.length; i2 += 2) {\n if (getMultiValue(valueData[i2 / 2].value) === void 0) {\n if (!finalOptions.fillHoles) {\n hole = true;\n }\n } else {\n if (finalOptions.increasingX && i2 >= 2 && pathCoordinates[i2] <= pathCoordinates[i2 - 2]) {\n hole = true;\n }\n if (hole) {\n segments.push({\n pathCoordinates: [],\n valueData: []\n });\n hole = false;\n }\n segments[segments.length - 1].pathCoordinates.push(pathCoordinates[i2], pathCoordinates[i2 + 1]);\n segments[segments.length - 1].valueData.push(valueData[i2 / 2]);\n }\n }\n return segments;\n}\nfunction serialize(data) {\n let serialized = \"\";\n if (data === null || data === void 0) {\n return data;\n } else if (typeof data === \"number\") {\n serialized = \"\" + data;\n } else if (typeof data === \"object\") {\n serialized = JSON.stringify({\n data\n });\n } else {\n serialized = String(data);\n }\n return Object.keys(escapingMap).reduce(\n (result, key) => result.replaceAll(key, escapingMap[key]),\n serialized\n );\n}\nvar SvgList = class {\n call(method, args) {\n this.svgElements.forEach(\n (element2) => Reflect.apply(element2[method], element2, args)\n );\n return this;\n }\n attr() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.call(\"attr\", args);\n }\n elem() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.call(\"elem\", args);\n }\n root() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.call(\"root\", args);\n }\n getNode() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.call(\"getNode\", args);\n }\n foreignObject() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.call(\"foreignObject\", args);\n }\n text() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.call(\"text\", args);\n }\n empty() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.call(\"empty\", args);\n }\n remove() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.call(\"remove\", args);\n }\n addClass() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.call(\"addClass\", args);\n }\n removeClass() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.call(\"removeClass\", args);\n }\n removeAllClasses() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.call(\"removeAllClasses\", args);\n }\n animate() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.call(\"animate\", args);\n }\n /**\n * @param nodeList An Array of SVG DOM nodes or a SVG DOM NodeList (as returned by document.querySelectorAll)\n */\n constructor(nodeList) {\n this.svgElements = [];\n for (let i2 = 0; i2 < nodeList.length; i2++) {\n this.svgElements.push(new Svg(nodeList[i2]));\n }\n }\n};\nvar easings = {\n easeInSine: [\n 0.47,\n 0,\n 0.745,\n 0.715\n ],\n easeOutSine: [\n 0.39,\n 0.575,\n 0.565,\n 1\n ],\n easeInOutSine: [\n 0.445,\n 0.05,\n 0.55,\n 0.95\n ],\n easeInQuad: [\n 0.55,\n 0.085,\n 0.68,\n 0.53\n ],\n easeOutQuad: [\n 0.25,\n 0.46,\n 0.45,\n 0.94\n ],\n easeInOutQuad: [\n 0.455,\n 0.03,\n 0.515,\n 0.955\n ],\n easeInCubic: [\n 0.55,\n 0.055,\n 0.675,\n 0.19\n ],\n easeOutCubic: [\n 0.215,\n 0.61,\n 0.355,\n 1\n ],\n easeInOutCubic: [\n 0.645,\n 0.045,\n 0.355,\n 1\n ],\n easeInQuart: [\n 0.895,\n 0.03,\n 0.685,\n 0.22\n ],\n easeOutQuart: [\n 0.165,\n 0.84,\n 0.44,\n 1\n ],\n easeInOutQuart: [\n 0.77,\n 0,\n 0.175,\n 1\n ],\n easeInQuint: [\n 0.755,\n 0.05,\n 0.855,\n 0.06\n ],\n easeOutQuint: [\n 0.23,\n 1,\n 0.32,\n 1\n ],\n easeInOutQuint: [\n 0.86,\n 0,\n 0.07,\n 1\n ],\n easeInExpo: [\n 0.95,\n 0.05,\n 0.795,\n 0.035\n ],\n easeOutExpo: [\n 0.19,\n 1,\n 0.22,\n 1\n ],\n easeInOutExpo: [\n 1,\n 0,\n 0,\n 1\n ],\n easeInCirc: [\n 0.6,\n 0.04,\n 0.98,\n 0.335\n ],\n easeOutCirc: [\n 0.075,\n 0.82,\n 0.165,\n 1\n ],\n easeInOutCirc: [\n 0.785,\n 0.135,\n 0.15,\n 0.86\n ],\n easeInBack: [\n 0.6,\n -0.28,\n 0.735,\n 0.045\n ],\n easeOutBack: [\n 0.175,\n 0.885,\n 0.32,\n 1.275\n ],\n easeInOutBack: [\n 0.68,\n -0.55,\n 0.265,\n 1.55\n ]\n};\nfunction createAnimation(element2, attribute, animationDefinition) {\n let createGuided = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false, eventEmitter = arguments.length > 4 ? arguments[4] : void 0;\n const { easing, ...def } = animationDefinition;\n const attributeProperties = {};\n let animationEasing;\n let timeout;\n if (easing) {\n animationEasing = Array.isArray(easing) ? easing : easings[easing];\n }\n def.begin = ensureUnit(def.begin, \"ms\");\n def.dur = ensureUnit(def.dur, \"ms\");\n if (animationEasing) {\n def.calcMode = \"spline\";\n def.keySplines = animationEasing.join(\" \");\n def.keyTimes = \"0;1\";\n }\n if (createGuided) {\n def.fill = \"freeze\";\n attributeProperties[attribute] = def.from;\n element2.attr(attributeProperties);\n timeout = quantity(def.begin || 0).value;\n def.begin = \"indefinite\";\n }\n const animate = element2.elem(\"animate\", {\n attributeName: attribute,\n ...def\n });\n if (createGuided) {\n setTimeout(() => {\n try {\n animate._node.beginElement();\n } catch (err) {\n attributeProperties[attribute] = def.to;\n element2.attr(attributeProperties);\n animate.remove();\n }\n }, timeout);\n }\n const animateNode = animate.getNode();\n if (eventEmitter) {\n animateNode.addEventListener(\n \"beginEvent\",\n () => eventEmitter.emit(\"animationBegin\", {\n element: element2,\n animate: animateNode,\n params: animationDefinition\n })\n );\n }\n animateNode.addEventListener(\"endEvent\", () => {\n if (eventEmitter) {\n eventEmitter.emit(\"animationEnd\", {\n element: element2,\n animate: animateNode,\n params: animationDefinition\n });\n }\n if (createGuided) {\n attributeProperties[attribute] = def.to;\n element2.attr(attributeProperties);\n animate.remove();\n }\n });\n}\nvar Svg = class _Svg {\n attr(attributes, ns) {\n if (typeof attributes === \"string\") {\n if (ns) {\n return this._node.getAttributeNS(ns, attributes);\n } else {\n return this._node.getAttribute(attributes);\n }\n }\n Object.keys(attributes).forEach((key) => {\n if (attributes[key] === void 0) {\n return;\n }\n if (key.indexOf(\":\") !== -1) {\n const namespacedAttribute = key.split(\":\");\n this._node.setAttributeNS(namespaces[namespacedAttribute[0]], key, String(attributes[key]));\n } else {\n this._node.setAttribute(key, String(attributes[key]));\n }\n });\n return this;\n }\n /**\n * Create a new SVG element whose wrapper object will be selected for further operations. This way you can also create nested groups easily.\n * @param name The name of the SVG element that should be created as child element of the currently selected element wrapper\n * @param attributes An object with properties that will be added as attributes to the SVG element that is created. Attributes with undefined values will not be added.\n * @param className This class or class list will be added to the SVG element\n * @param insertFirst If this param is set to true in conjunction with a parent element the newly created element will be added as first child element in the parent element\n * @return Returns a Svg wrapper object that can be used to modify the containing SVG data\n */\n elem(name, attributes, className) {\n let insertFirst = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n return new _Svg(name, attributes, className, this, insertFirst);\n }\n /**\n * Returns the parent Chartist.SVG wrapper object\n * @return Returns a Svg wrapper around the parent node of the current node. If the parent node is not existing or it's not an SVG node then this function will return null.\n */\n parent() {\n return this._node.parentNode instanceof SVGElement ? new _Svg(this._node.parentNode) : null;\n }\n /**\n * This method returns a Svg wrapper around the root SVG element of the current tree.\n * @return The root SVG element wrapped in a Svg element\n */\n root() {\n let node = this._node;\n while (node.nodeName !== \"svg\") {\n if (node.parentElement) {\n node = node.parentElement;\n } else {\n break;\n }\n }\n return new _Svg(node);\n }\n /**\n * Find the first child SVG element of the current element that matches a CSS selector. The returned object is a Svg wrapper.\n * @param selector A CSS selector that is used to query for child SVG elements\n * @return The SVG wrapper for the element found or null if no element was found\n */\n querySelector(selector) {\n const foundNode = this._node.querySelector(selector);\n return foundNode ? new _Svg(foundNode) : null;\n }\n /**\n * Find the all child SVG elements of the current element that match a CSS selector. The returned object is a Svg.List wrapper.\n * @param selector A CSS selector that is used to query for child SVG elements\n * @return The SVG wrapper list for the element found or null if no element was found\n */\n querySelectorAll(selector) {\n const foundNodes = this._node.querySelectorAll(selector);\n return new SvgList(foundNodes);\n }\n /**\n * Returns the underlying SVG node for the current element.\n */\n getNode() {\n return this._node;\n }\n /**\n * This method creates a foreignObject (see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/foreignObject) that allows to embed HTML content into a SVG graphic. With the help of foreignObjects you can enable the usage of regular HTML elements inside of SVG where they are subject for SVG positioning and transformation but the Browser will use the HTML rendering capabilities for the containing DOM.\n * @param content The DOM Node, or HTML string that will be converted to a DOM Node, that is then placed into and wrapped by the foreignObject\n * @param attributes An object with properties that will be added as attributes to the foreignObject element that is created. Attributes with undefined values will not be added.\n * @param className This class or class list will be added to the SVG element\n * @param insertFirst Specifies if the foreignObject should be inserted as first child\n * @return New wrapper object that wraps the foreignObject element\n */\n foreignObject(content, attributes, className) {\n let insertFirst = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n let contentNode;\n if (typeof content === \"string\") {\n const container = document.createElement(\"div\");\n container.innerHTML = content;\n contentNode = container.firstChild;\n } else {\n contentNode = content;\n }\n if (contentNode instanceof Element) {\n contentNode.setAttribute(\"xmlns\", namespaces.xmlns);\n }\n const fnObj = this.elem(\"foreignObject\", attributes, className, insertFirst);\n fnObj._node.appendChild(contentNode);\n return fnObj;\n }\n /**\n * This method adds a new text element to the current Svg wrapper.\n * @param t The text that should be added to the text element that is created\n * @return The same wrapper object that was used to add the newly created element\n */\n text(t) {\n this._node.appendChild(document.createTextNode(t));\n return this;\n }\n /**\n * This method will clear all child nodes of the current wrapper object.\n * @return The same wrapper object that got emptied\n */\n empty() {\n while (this._node.firstChild) {\n this._node.removeChild(this._node.firstChild);\n }\n return this;\n }\n /**\n * This method will cause the current wrapper to remove itself from its parent wrapper. Use this method if you'd like to get rid of an element in a given DOM structure.\n * @return The parent wrapper object of the element that got removed\n */\n remove() {\n var ref;\n (ref = this._node.parentNode) === null || ref === void 0 ? void 0 : ref.removeChild(this._node);\n return this.parent();\n }\n /**\n * This method will replace the element with a new element that can be created outside of the current DOM.\n * @param newElement The new Svg object that will be used to replace the current wrapper object\n * @return The wrapper of the new element\n */\n replace(newElement) {\n var ref;\n (ref = this._node.parentNode) === null || ref === void 0 ? void 0 : ref.replaceChild(newElement._node, this._node);\n return newElement;\n }\n /**\n * This method will append an element to the current element as a child.\n * @param element The Svg element that should be added as a child\n * @param insertFirst Specifies if the element should be inserted as first child\n * @return The wrapper of the appended object\n */\n append(element2) {\n let insertFirst = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n if (insertFirst && this._node.firstChild) {\n this._node.insertBefore(element2._node, this._node.firstChild);\n } else {\n this._node.appendChild(element2._node);\n }\n return this;\n }\n /**\n * Returns an array of class names that are attached to the current wrapper element. This method can not be chained further.\n * @return A list of classes or an empty array if there are no classes on the current element\n */\n classes() {\n const classNames = this._node.getAttribute(\"class\");\n return classNames ? classNames.trim().split(/\\s+/) : [];\n }\n /**\n * Adds one or a space separated list of classes to the current element and ensures the classes are only existing once.\n * @param names A white space separated list of class names\n * @return The wrapper of the current element\n */\n addClass(names) {\n this._node.setAttribute(\"class\", this.classes().concat(names.trim().split(/\\s+/)).filter(function(elem, pos, self) {\n return self.indexOf(elem) === pos;\n }).join(\" \"));\n return this;\n }\n /**\n * Removes one or a space separated list of classes from the current element.\n * @param names A white space separated list of class names\n * @return The wrapper of the current element\n */\n removeClass(names) {\n const removedClasses = names.trim().split(/\\s+/);\n this._node.setAttribute(\"class\", this.classes().filter(\n (name) => removedClasses.indexOf(name) === -1\n ).join(\" \"));\n return this;\n }\n /**\n * Removes all classes from the current element.\n * @return The wrapper of the current element\n */\n removeAllClasses() {\n this._node.setAttribute(\"class\", \"\");\n return this;\n }\n /**\n * Get element height using `getBoundingClientRect`\n * @return The elements height in pixels\n */\n height() {\n return this._node.getBoundingClientRect().height;\n }\n /**\n * Get element width using `getBoundingClientRect`\n * @return The elements width in pixels\n */\n width() {\n return this._node.getBoundingClientRect().width;\n }\n /**\n * The animate function lets you animate the current element with SMIL animations. You can add animations for multiple attributes at the same time by using an animation definition object. This object should contain SMIL animation attributes. Please refer to http://www.w3.org/TR/SVG/animate.html for a detailed specification about the available animation attributes. Additionally an easing property can be passed in the animation definition object. This can be a string with a name of an easing function in `Svg.Easing` or an array with four numbers specifying a cubic B\u00E9zier curve.\n * **An animations object could look like this:**\n * ```javascript\n * element.animate({\n * opacity: {\n * dur: 1000,\n * from: 0,\n * to: 1\n * },\n * x1: {\n * dur: '1000ms',\n * from: 100,\n * to: 200,\n * easing: 'easeOutQuart'\n * },\n * y1: {\n * dur: '2s',\n * from: 0,\n * to: 100\n * }\n * });\n * ```\n * **Automatic unit conversion**\n * For the `dur` and the `begin` animate attribute you can also omit a unit by passing a number. The number will automatically be converted to milli seconds.\n * **Guided mode**\n * The default behavior of SMIL animations with offset using the `begin` attribute is that the attribute will keep it's original value until the animation starts. Mostly this behavior is not desired as you'd like to have your element attributes already initialized with the animation `from` value even before the animation starts. Also if you don't specify `fill=\"freeze\"` on an animate element or if you delete the animation after it's done (which is done in guided mode) the attribute will switch back to the initial value. This behavior is also not desired when performing simple one-time animations. For one-time animations you'd want to trigger animations immediately instead of relative to the document begin time. That's why in guided mode Svg will also use the `begin` property to schedule a timeout and manually start the animation after the timeout. If you're using multiple SMIL definition objects for an attribute (in an array), guided mode will be disabled for this attribute, even if you explicitly enabled it.\n * If guided mode is enabled the following behavior is added:\n * - Before the animation starts (even when delayed with `begin`) the animated attribute will be set already to the `from` value of the animation\n * - `begin` is explicitly set to `indefinite` so it can be started manually without relying on document begin time (creation)\n * - The animate element will be forced to use `fill=\"freeze\"`\n * - The animation will be triggered with `beginElement()` in a timeout where `begin` of the definition object is interpreted in milli seconds. If no `begin` was specified the timeout is triggered immediately.\n * - After the animation the element attribute value will be set to the `to` value of the animation\n * - The animate element is deleted from the DOM\n * @param animations An animations object where the property keys are the attributes you'd like to animate. The properties should be objects again that contain the SMIL animation attributes (usually begin, dur, from, and to). The property begin and dur is auto converted (see Automatic unit conversion). You can also schedule multiple animations for the same attribute by passing an Array of SMIL definition objects. Attributes that contain an array of SMIL definition objects will not be executed in guided mode.\n * @param guided Specify if guided mode should be activated for this animation (see Guided mode). If not otherwise specified, guided mode will be activated.\n * @param eventEmitter If specified, this event emitter will be notified when an animation starts or ends.\n * @return The current element where the animation was added\n */\n animate(animations) {\n let guided = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true, eventEmitter = arguments.length > 2 ? arguments[2] : void 0;\n Object.keys(animations).forEach((attribute) => {\n const attributeAnimation = animations[attribute];\n if (Array.isArray(attributeAnimation)) {\n attributeAnimation.forEach(\n (animationDefinition) => createAnimation(this, attribute, animationDefinition, false, eventEmitter)\n );\n } else {\n createAnimation(this, attribute, attributeAnimation, guided, eventEmitter);\n }\n });\n return this;\n }\n /**\n * @param name The name of the SVG element to create or an SVG dom element which should be wrapped into Svg\n * @param attributes An object with properties that will be added as attributes to the SVG element that is created. Attributes with undefined values will not be added.\n * @param className This class or class list will be added to the SVG element\n * @param parent The parent SVG wrapper object where this newly created wrapper and it's element will be attached to as child\n * @param insertFirst If this param is set to true in conjunction with a parent element the newly created element will be added as first child element in the parent element\n */\n constructor(name, attributes, className, parent, insertFirst = false) {\n if (name instanceof Element) {\n this._node = name;\n } else {\n this._node = document.createElementNS(namespaces.svg, name);\n if (name === \"svg\") {\n this.attr({\n \"xmlns:ct\": namespaces.ct\n });\n }\n }\n if (attributes) {\n this.attr(attributes);\n }\n if (className) {\n this.addClass(className);\n }\n if (parent) {\n if (insertFirst && parent._node.firstChild) {\n parent._node.insertBefore(this._node, parent._node.firstChild);\n } else {\n parent._node.appendChild(this._node);\n }\n }\n }\n};\nSvg.Easing = easings;\nfunction createSvg(container) {\n let width = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"100%\", height = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : \"100%\", className = arguments.length > 3 ? arguments[3] : void 0;\n Array.from(container.querySelectorAll(\"svg\")).filter(\n (svg) => svg.getAttributeNS(namespaces.xmlns, \"ct\")\n ).forEach(\n (svg) => container.removeChild(svg)\n );\n const svg1 = new Svg(\"svg\").attr({\n width,\n height\n }).attr({\n // TODO: Check better solution (browser support) and remove inline styles due to CSP\n style: \"width: \".concat(width, \"; height: \").concat(height, \";\")\n });\n if (className) {\n svg1.addClass(className);\n }\n container.appendChild(svg1.getNode());\n return svg1;\n}\nfunction normalizePadding(padding) {\n return typeof padding === \"number\" ? {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n } : padding === void 0 ? {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n } : {\n top: typeof padding.top === \"number\" ? padding.top : 0,\n right: typeof padding.right === \"number\" ? padding.right : 0,\n bottom: typeof padding.bottom === \"number\" ? padding.bottom : 0,\n left: typeof padding.left === \"number\" ? padding.left : 0\n };\n}\nfunction createChartRect(svg, options) {\n var ref, ref1, ref2, ref3;\n const hasAxis = Boolean(options.axisX || options.axisY);\n const yAxisOffset = ((ref = options.axisY) === null || ref === void 0 ? void 0 : ref.offset) || 0;\n const xAxisOffset = ((ref1 = options.axisX) === null || ref1 === void 0 ? void 0 : ref1.offset) || 0;\n const yAxisPosition = (ref2 = options.axisY) === null || ref2 === void 0 ? void 0 : ref2.position;\n const xAxisPosition = (ref3 = options.axisX) === null || ref3 === void 0 ? void 0 : ref3.position;\n let width = svg.width() || quantity(options.width).value || 0;\n let height = svg.height() || quantity(options.height).value || 0;\n const normalizedPadding = normalizePadding(options.chartPadding);\n width = Math.max(width, yAxisOffset + normalizedPadding.left + normalizedPadding.right);\n height = Math.max(height, xAxisOffset + normalizedPadding.top + normalizedPadding.bottom);\n const chartRect = {\n x1: 0,\n x2: 0,\n y1: 0,\n y2: 0,\n padding: normalizedPadding,\n width() {\n return this.x2 - this.x1;\n },\n height() {\n return this.y1 - this.y2;\n }\n };\n if (hasAxis) {\n if (xAxisPosition === \"start\") {\n chartRect.y2 = normalizedPadding.top + xAxisOffset;\n chartRect.y1 = Math.max(height - normalizedPadding.bottom, chartRect.y2 + 1);\n } else {\n chartRect.y2 = normalizedPadding.top;\n chartRect.y1 = Math.max(height - normalizedPadding.bottom - xAxisOffset, chartRect.y2 + 1);\n }\n if (yAxisPosition === \"start\") {\n chartRect.x1 = normalizedPadding.left + yAxisOffset;\n chartRect.x2 = Math.max(width - normalizedPadding.right, chartRect.x1 + 1);\n } else {\n chartRect.x1 = normalizedPadding.left;\n chartRect.x2 = Math.max(width - normalizedPadding.right - yAxisOffset, chartRect.x1 + 1);\n }\n } else {\n chartRect.x1 = normalizedPadding.left;\n chartRect.x2 = Math.max(width - normalizedPadding.right, chartRect.x1 + 1);\n chartRect.y2 = normalizedPadding.top;\n chartRect.y1 = Math.max(height - normalizedPadding.bottom, chartRect.y2 + 1);\n }\n return chartRect;\n}\nfunction createGrid(position, index, axis, offset, length, group, classes, eventEmitter) {\n const positionalData = {\n [\"\".concat(axis.units.pos, \"1\")]: position,\n [\"\".concat(axis.units.pos, \"2\")]: position,\n [\"\".concat(axis.counterUnits.pos, \"1\")]: offset,\n [\"\".concat(axis.counterUnits.pos, \"2\")]: offset + length\n };\n const gridElement = group.elem(\"line\", positionalData, classes.join(\" \"));\n eventEmitter.emit(\"draw\", {\n type: \"grid\",\n axis,\n index,\n group,\n element: gridElement,\n ...positionalData\n });\n}\nfunction createGridBackground(gridGroup, chartRect, className, eventEmitter) {\n const gridBackground = gridGroup.elem(\"rect\", {\n x: chartRect.x1,\n y: chartRect.y2,\n width: chartRect.width(),\n height: chartRect.height()\n }, className, true);\n eventEmitter.emit(\"draw\", {\n type: \"gridBackground\",\n group: gridGroup,\n element: gridBackground\n });\n}\nfunction createLabel(position, length, index, label, axis, axisOffset, labelOffset, group, classes, eventEmitter) {\n const positionalData = {\n [axis.units.pos]: position + labelOffset[axis.units.pos],\n [axis.counterUnits.pos]: labelOffset[axis.counterUnits.pos],\n [axis.units.len]: length,\n [axis.counterUnits.len]: Math.max(0, axisOffset - 10)\n };\n const stepLength = Math.round(positionalData[axis.units.len]);\n const stepCounterLength = Math.round(positionalData[axis.counterUnits.len]);\n const content = document.createElement(\"span\");\n content.className = classes.join(\" \");\n content.style[axis.units.len] = stepLength + \"px\";\n content.style[axis.counterUnits.len] = stepCounterLength + \"px\";\n content.textContent = String(label);\n const labelElement = group.foreignObject(content, {\n style: \"overflow: visible;\",\n ...positionalData\n });\n eventEmitter.emit(\"draw\", {\n type: \"label\",\n axis,\n index,\n group,\n element: labelElement,\n text: label,\n ...positionalData\n });\n}\nfunction optionsProvider(options, responsiveOptions, eventEmitter) {\n let currentOptions;\n const mediaQueryListeners = [];\n function updateCurrentOptions(mediaEvent) {\n const previousOptions = currentOptions;\n currentOptions = extend({}, options);\n if (responsiveOptions) {\n responsiveOptions.forEach((responsiveOption) => {\n const mql = window.matchMedia(responsiveOption[0]);\n if (mql.matches) {\n currentOptions = extend(currentOptions, responsiveOption[1]);\n }\n });\n }\n if (eventEmitter && mediaEvent) {\n eventEmitter.emit(\"optionsChanged\", {\n previousOptions,\n currentOptions\n });\n }\n }\n function removeMediaQueryListeners() {\n mediaQueryListeners.forEach(\n (mql) => mql.removeEventListener(\"change\", updateCurrentOptions)\n );\n }\n if (!window.matchMedia) {\n throw new Error(\"window.matchMedia not found! Make sure you're using a polyfill.\");\n } else if (responsiveOptions) {\n responsiveOptions.forEach((responsiveOption) => {\n const mql = window.matchMedia(responsiveOption[0]);\n mql.addEventListener(\"change\", updateCurrentOptions);\n mediaQueryListeners.push(mql);\n });\n }\n updateCurrentOptions();\n return {\n removeMediaQueryListeners,\n getCurrentOptions() {\n return currentOptions;\n }\n };\n}\nvar elementDescriptions = {\n m: [\n \"x\",\n \"y\"\n ],\n l: [\n \"x\",\n \"y\"\n ],\n c: [\n \"x1\",\n \"y1\",\n \"x2\",\n \"y2\",\n \"x\",\n \"y\"\n ],\n a: [\n \"rx\",\n \"ry\",\n \"xAr\",\n \"lAf\",\n \"sf\",\n \"x\",\n \"y\"\n ]\n};\nvar defaultOptions$3 = {\n // The accuracy in digit count after the decimal point. This will be used to round numbers in the SVG path. If this option is set to false then no rounding will be performed.\n accuracy: 3\n};\nfunction element(command, params, pathElements, pos, relative, data) {\n const pathElement = {\n command: relative ? command.toLowerCase() : command.toUpperCase(),\n ...params,\n ...data ? {\n data\n } : {}\n };\n pathElements.splice(pos, 0, pathElement);\n}\nfunction forEachParam(pathElements, cb) {\n pathElements.forEach((pathElement, pathElementIndex) => {\n elementDescriptions[pathElement.command.toLowerCase()].forEach((paramName, paramIndex) => {\n cb(pathElement, paramName, pathElementIndex, paramIndex, pathElements);\n });\n });\n}\nvar SvgPath = class _SvgPath {\n /**\n * This static function on `SvgPath` is joining multiple paths together into one paths.\n * @param paths A list of paths to be joined together. The order is important.\n * @param close If the newly created path should be a closed path\n * @param options Path options for the newly created path.\n */\n static join(paths) {\n let close = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false, options = arguments.length > 2 ? arguments[2] : void 0;\n const joinedPath = new _SvgPath(close, options);\n for (let i2 = 0; i2 < paths.length; i2++) {\n const path = paths[i2];\n for (let j = 0; j < path.pathElements.length; j++) {\n joinedPath.pathElements.push(path.pathElements[j]);\n }\n }\n return joinedPath;\n }\n position(pos) {\n if (pos !== void 0) {\n this.pos = Math.max(0, Math.min(this.pathElements.length, pos));\n return this;\n } else {\n return this.pos;\n }\n }\n /**\n * Removes elements from the path starting at the current position.\n * @param count Number of path elements that should be removed from the current position.\n * @return The current path object for easy call chaining.\n */\n remove(count) {\n this.pathElements.splice(this.pos, count);\n return this;\n }\n /**\n * Use this function to add a new move SVG path element.\n * @param x The x coordinate for the move element.\n * @param y The y coordinate for the move element.\n * @param relative If set to true the move element will be created with relative coordinates (lowercase letter)\n * @param data Any data that should be stored with the element object that will be accessible in pathElement\n * @return The current path object for easy call chaining.\n */\n move(x, y) {\n let relative = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false, data = arguments.length > 3 ? arguments[3] : void 0;\n element(\"M\", {\n x: +x,\n y: +y\n }, this.pathElements, this.pos++, relative, data);\n return this;\n }\n /**\n * Use this function to add a new line SVG path element.\n * @param x The x coordinate for the line element.\n * @param y The y coordinate for the line element.\n * @param relative If set to true the line element will be created with relative coordinates (lowercase letter)\n * @param data Any data that should be stored with the element object that will be accessible in pathElement\n * @return The current path object for easy call chaining.\n */\n line(x, y) {\n let relative = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false, data = arguments.length > 3 ? arguments[3] : void 0;\n element(\"L\", {\n x: +x,\n y: +y\n }, this.pathElements, this.pos++, relative, data);\n return this;\n }\n /**\n * Use this function to add a new curve SVG path element.\n * @param x1 The x coordinate for the first control point of the bezier curve.\n * @param y1 The y coordinate for the first control point of the bezier curve.\n * @param x2 The x coordinate for the second control point of the bezier curve.\n * @param y2 The y coordinate for the second control point of the bezier curve.\n * @param x The x coordinate for the target point of the curve element.\n * @param y The y coordinate for the target point of the curve element.\n * @param relative If set to true the curve element will be created with relative coordinates (lowercase letter)\n * @param data Any data that should be stored with the element object that will be accessible in pathElement\n * @return The current path object for easy call chaining.\n */\n curve(x1, y1, x2, y2, x, y) {\n let relative = arguments.length > 6 && arguments[6] !== void 0 ? arguments[6] : false, data = arguments.length > 7 ? arguments[7] : void 0;\n element(\"C\", {\n x1: +x1,\n y1: +y1,\n x2: +x2,\n y2: +y2,\n x: +x,\n y: +y\n }, this.pathElements, this.pos++, relative, data);\n return this;\n }\n /**\n * Use this function to add a new non-bezier curve SVG path element.\n * @param rx The radius to be used for the x-axis of the arc.\n * @param ry The radius to be used for the y-axis of the arc.\n * @param xAr Defines the orientation of the arc\n * @param lAf Large arc flag\n * @param sf Sweep flag\n * @param x The x coordinate for the target point of the curve element.\n * @param y The y coordinate for the target point of the curve element.\n * @param relative If set to true the curve element will be created with relative coordinates (lowercase letter)\n * @param data Any data that should be stored with the element object that will be accessible in pathElement\n * @return The current path object for easy call chaining.\n */\n arc(rx, ry, xAr, lAf, sf, x, y) {\n let relative = arguments.length > 7 && arguments[7] !== void 0 ? arguments[7] : false, data = arguments.length > 8 ? arguments[8] : void 0;\n element(\"A\", {\n rx,\n ry,\n xAr,\n lAf,\n sf,\n x,\n y\n }, this.pathElements, this.pos++, relative, data);\n return this;\n }\n /**\n * Parses an SVG path seen in the d attribute of path elements, and inserts the parsed elements into the existing path object at the current cursor position. Any closing path indicators (Z at the end of the path) will be ignored by the parser as this is provided by the close option in the options of the path object.\n * @param path Any SVG path that contains move (m), line (l) or curve (c) components.\n * @return The current path object for easy call chaining.\n */\n parse(path) {\n const chunks = path.replace(/([A-Za-z])(-?[0-9])/g, \"$1 $2\").replace(/([0-9])([A-Za-z])/g, \"$1 $2\").split(/[\\s,]+/).reduce((result, pathElement) => {\n if (pathElement.match(/[A-Za-z]/)) {\n result.push([]);\n }\n result[result.length - 1].push(pathElement);\n return result;\n }, []);\n if (chunks[chunks.length - 1][0].toUpperCase() === \"Z\") {\n chunks.pop();\n }\n const elements = chunks.map((chunk) => {\n const command = chunk.shift();\n const description = elementDescriptions[command.toLowerCase()];\n return {\n command,\n ...description.reduce((result, paramName, index) => {\n result[paramName] = +chunk[index];\n return result;\n }, {})\n };\n });\n this.pathElements.splice(this.pos, 0, ...elements);\n this.pos += elements.length;\n return this;\n }\n /**\n * This function renders to current SVG path object into a final SVG string that can be used in the d attribute of SVG path elements. It uses the accuracy option to round big decimals. If the close parameter was set in the constructor of this path object then a path closing Z will be appended to the output string.\n */\n stringify() {\n const accuracyMultiplier = Math.pow(10, this.options.accuracy);\n return this.pathElements.reduce((path, pathElement) => {\n const params = elementDescriptions[pathElement.command.toLowerCase()].map((paramName) => {\n const value = pathElement[paramName];\n return this.options.accuracy ? Math.round(value * accuracyMultiplier) / accuracyMultiplier : value;\n });\n return path + pathElement.command + params.join(\",\");\n }, \"\") + (this.close ? \"Z\" : \"\");\n }\n /**\n * Scales all elements in the current SVG path object. There is an individual parameter for each coordinate. Scaling will also be done for control points of curves, affecting the given coordinate.\n * @param x The number which will be used to scale the x, x1 and x2 of all path elements.\n * @param y The number which will be used to scale the y, y1 and y2 of all path elements.\n * @return The current path object for easy call chaining.\n */\n scale(x, y) {\n forEachParam(this.pathElements, (pathElement, paramName) => {\n pathElement[paramName] *= paramName[0] === \"x\" ? x : y;\n });\n return this;\n }\n /**\n * Translates all elements in the current SVG path object. The translation is relative and there is an individual parameter for each coordinate. Translation will also be done for control points of curves, affecting the given coordinate.\n * @param x The number which will be used to translate the x, x1 and x2 of all path elements.\n * @param y The number which will be used to translate the y, y1 and y2 of all path elements.\n * @return The current path object for easy call chaining.\n */\n translate(x, y) {\n forEachParam(this.pathElements, (pathElement, paramName) => {\n pathElement[paramName] += paramName[0] === \"x\" ? x : y;\n });\n return this;\n }\n /**\n * This function will run over all existing path elements and then loop over their attributes. The callback function will be called for every path element attribute that exists in the current path.\n * The method signature of the callback function looks like this:\n * ```javascript\n * function(pathElement, paramName, pathElementIndex, paramIndex, pathElements)\n * ```\n * If something else than undefined is returned by the callback function, this value will be used to replace the old value. This allows you to build custom transformations of path objects that can't be achieved using the basic transformation functions scale and translate.\n * @param transformFnc The callback function for the transformation. Check the signature in the function description.\n * @return The current path object for easy call chaining.\n */\n transform(transformFnc) {\n forEachParam(this.pathElements, (pathElement, paramName, pathElementIndex, paramIndex, pathElements) => {\n const transformed = transformFnc(pathElement, paramName, pathElementIndex, paramIndex, pathElements);\n if (transformed || transformed === 0) {\n pathElement[paramName] = transformed;\n }\n });\n return this;\n }\n /**\n * This function clones a whole path object with all its properties. This is a deep clone and path element objects will also be cloned.\n * @param close Optional option to set the new cloned path to closed. If not specified or false, the original path close option will be used.\n */\n clone() {\n let close = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false;\n const clone = new _SvgPath(close || this.close);\n clone.pos = this.pos;\n clone.pathElements = this.pathElements.slice().map(\n (pathElement) => ({\n ...pathElement\n })\n );\n clone.options = {\n ...this.options\n };\n return clone;\n }\n /**\n * Split a Svg.Path object by a specific command in the path chain. The path chain will be split and an array of newly created paths objects will be returned. This is useful if you'd like to split an SVG path by it's move commands, for example, in order to isolate chunks of drawings.\n * @param command The command you'd like to use to split the path\n */\n splitByCommand(command) {\n const split = [\n new _SvgPath()\n ];\n this.pathElements.forEach((pathElement) => {\n if (pathElement.command === command.toUpperCase() && split[split.length - 1].pathElements.length !== 0) {\n split.push(new _SvgPath());\n }\n split[split.length - 1].pathElements.push(pathElement);\n });\n return split;\n }\n /**\n * Used to construct a new path object.\n * @param close If set to true then this path will be closed when stringified (with a Z at the end)\n * @param options Options object that overrides the default objects. See default options for more details.\n */\n constructor(close = false, options) {\n this.close = close;\n this.pathElements = [];\n this.pos = 0;\n this.options = {\n ...defaultOptions$3,\n ...options\n };\n }\n};\nfunction none(options) {\n const finalOptions = {\n fillHoles: false,\n ...options\n };\n return function noneInterpolation(pathCoordinates, valueData) {\n const path = new SvgPath();\n let hole = true;\n for (let i2 = 0; i2 < pathCoordinates.length; i2 += 2) {\n const currX = pathCoordinates[i2];\n const currY = pathCoordinates[i2 + 1];\n const currData = valueData[i2 / 2];\n if (getMultiValue(currData.value) !== void 0) {\n if (hole) {\n path.move(currX, currY, false, currData);\n } else {\n path.line(currX, currY, false, currData);\n }\n hole = false;\n } else if (!finalOptions.fillHoles) {\n hole = true;\n }\n }\n return path;\n };\n}\nfunction monotoneCubic(options) {\n const finalOptions = {\n fillHoles: false,\n ...options\n };\n return function monotoneCubicInterpolation(pathCoordinates, valueData) {\n const segments = splitIntoSegments(pathCoordinates, valueData, {\n fillHoles: finalOptions.fillHoles,\n increasingX: true\n });\n if (!segments.length) {\n return none()([], []);\n } else if (segments.length > 1) {\n return SvgPath.join(segments.map(\n (segment) => monotoneCubicInterpolation(segment.pathCoordinates, segment.valueData)\n ));\n } else {\n pathCoordinates = segments[0].pathCoordinates;\n valueData = segments[0].valueData;\n if (pathCoordinates.length <= 4) {\n return none()(pathCoordinates, valueData);\n }\n const xs = [];\n const ys = [];\n const n2 = pathCoordinates.length / 2;\n const ms = [];\n const ds = [];\n const dys = [];\n const dxs = [];\n for (let i2 = 0; i2 < n2; i2++) {\n xs[i2] = pathCoordinates[i2 * 2];\n ys[i2] = pathCoordinates[i2 * 2 + 1];\n }\n for (let i1 = 0; i1 < n2 - 1; i1++) {\n dys[i1] = ys[i1 + 1] - ys[i1];\n dxs[i1] = xs[i1 + 1] - xs[i1];\n ds[i1] = dys[i1] / dxs[i1];\n }\n ms[0] = ds[0];\n ms[n2 - 1] = ds[n2 - 2];\n for (let i2 = 1; i2 < n2 - 1; i2++) {\n if (ds[i2] === 0 || ds[i2 - 1] === 0 || ds[i2 - 1] > 0 !== ds[i2] > 0) {\n ms[i2] = 0;\n } else {\n ms[i2] = 3 * (dxs[i2 - 1] + dxs[i2]) / ((2 * dxs[i2] + dxs[i2 - 1]) / ds[i2 - 1] + (dxs[i2] + 2 * dxs[i2 - 1]) / ds[i2]);\n if (!isFinite(ms[i2])) {\n ms[i2] = 0;\n }\n }\n }\n const path = new SvgPath().move(xs[0], ys[0], false, valueData[0]);\n for (let i3 = 0; i3 < n2 - 1; i3++) {\n path.curve(\n // First control point\n xs[i3] + dxs[i3] / 3,\n ys[i3] + ms[i3] * dxs[i3] / 3,\n // Second control point\n xs[i3 + 1] - dxs[i3] / 3,\n ys[i3 + 1] - ms[i3 + 1] * dxs[i3] / 3,\n // End point\n xs[i3 + 1],\n ys[i3 + 1],\n false,\n valueData[i3 + 1]\n );\n }\n return path;\n }\n };\n}\nvar EventEmitter = class {\n on(event, listener) {\n const { allListeners, listeners } = this;\n if (event === \"*\") {\n allListeners.add(listener);\n } else {\n if (!listeners.has(event)) {\n listeners.set(event, /* @__PURE__ */ new Set());\n }\n listeners.get(event).add(listener);\n }\n }\n off(event, listener) {\n const { allListeners, listeners } = this;\n if (event === \"*\") {\n if (listener) {\n allListeners.delete(listener);\n } else {\n allListeners.clear();\n }\n } else if (listeners.has(event)) {\n const eventListeners = listeners.get(event);\n if (listener) {\n eventListeners.delete(listener);\n } else {\n eventListeners.clear();\n }\n if (!eventListeners.size) {\n listeners.delete(event);\n }\n }\n }\n /**\n * Use this function to emit an event. All handlers that are listening for this event will be triggered with the data parameter.\n * @param event The event name that should be triggered\n * @param data Arbitrary data that will be passed to the event handler callback functions\n */\n emit(event, data) {\n const { allListeners, listeners } = this;\n if (listeners.has(event)) {\n listeners.get(event).forEach(\n (listener) => listener(data)\n );\n }\n allListeners.forEach(\n (listener) => listener(event, data)\n );\n }\n constructor() {\n this.listeners = /* @__PURE__ */ new Map();\n this.allListeners = /* @__PURE__ */ new Set();\n }\n};\nvar instances = /* @__PURE__ */ new WeakMap();\nvar BaseChart = class {\n // TODO: Currently we need to re-draw the chart on window resize. This is usually very bad and will affect performance.\n // This is done because we can't work with relative coordinates when drawing the chart because SVG Path does not\n // work with relative positions yet. We need to check if we can do a viewBox hack to switch to percentage.\n // See http://mozilla.6506.n7.nabble.com/Specyfing-paths-with-percentages-unit-td247474.html\n // Update: can be done using the above method tested here: http://codepen.io/gionkunz/pen/KDvLj\n // The problem is with the label offsets that can't be converted into percentage and affecting the chart container\n /**\n * Updates the chart which currently does a full reconstruction of the SVG DOM\n * @param data Optional data you'd like to set for the chart before it will update. If not specified the update method will use the data that is already configured with the chart.\n * @param options Optional options you'd like to add to the previous options for the chart before it will update. If not specified the update method will use the options that have been already configured with the chart.\n * @param override If set to true, the passed options will be used to extend the options that have been configured already. Otherwise the chart default options will be used as the base\n */\n update(data, options) {\n let override = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;\n if (data) {\n this.data = data || {};\n this.data.labels = this.data.labels || [];\n this.data.series = this.data.series || [];\n this.eventEmitter.emit(\"data\", {\n type: \"update\",\n data: this.data\n });\n }\n if (options) {\n this.options = extend({}, override ? this.options : this.defaultOptions, options);\n if (!this.initializeTimeoutId) {\n var ref;\n (ref = this.optionsProvider) === null || ref === void 0 ? void 0 : ref.removeMediaQueryListeners();\n this.optionsProvider = optionsProvider(this.options, this.responsiveOptions, this.eventEmitter);\n }\n }\n if (!this.initializeTimeoutId && this.optionsProvider) {\n this.createChart(this.optionsProvider.getCurrentOptions());\n }\n return this;\n }\n /**\n * This method can be called on the API object of each chart and will un-register all event listeners that were added to other components. This currently includes a window.resize listener as well as media query listeners if any responsive options have been provided. Use this function if you need to destroy and recreate Chartist charts dynamically.\n */\n detach() {\n if (!this.initializeTimeoutId) {\n var ref;\n window.removeEventListener(\"resize\", this.resizeListener);\n (ref = this.optionsProvider) === null || ref === void 0 ? void 0 : ref.removeMediaQueryListeners();\n } else {\n window.clearTimeout(this.initializeTimeoutId);\n }\n instances.delete(this.container);\n return this;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n on(event, listener) {\n this.eventEmitter.on(event, listener);\n return this;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n off(event, listener) {\n this.eventEmitter.off(event, listener);\n return this;\n }\n initialize() {\n window.addEventListener(\"resize\", this.resizeListener);\n this.optionsProvider = optionsProvider(this.options, this.responsiveOptions, this.eventEmitter);\n this.eventEmitter.on(\n \"optionsChanged\",\n () => this.update()\n );\n if (this.options.plugins) {\n this.options.plugins.forEach((plugin) => {\n if (Array.isArray(plugin)) {\n plugin[0](this, plugin[1]);\n } else {\n plugin(this);\n }\n });\n }\n this.eventEmitter.emit(\"data\", {\n type: \"initial\",\n data: this.data\n });\n this.createChart(this.optionsProvider.getCurrentOptions());\n this.initializeTimeoutId = null;\n }\n constructor(query, data, defaultOptions, options, responsiveOptions) {\n this.data = data;\n this.defaultOptions = defaultOptions;\n this.options = options;\n this.responsiveOptions = responsiveOptions;\n this.eventEmitter = new EventEmitter();\n this.resizeListener = () => this.update();\n this.initializeTimeoutId = setTimeout(\n () => this.initialize(),\n 0\n );\n const container = typeof query === \"string\" ? document.querySelector(query) : query;\n if (!container) {\n throw new Error(\"Target element is not found\");\n }\n this.container = container;\n const prevInstance = instances.get(container);\n if (prevInstance) {\n prevInstance.detach();\n }\n instances.set(container, this);\n }\n};\nvar axisUnits = {\n x: {\n pos: \"x\",\n len: \"width\",\n dir: \"horizontal\",\n rectStart: \"x1\",\n rectEnd: \"x2\",\n rectOffset: \"y2\"\n },\n y: {\n pos: \"y\",\n len: \"height\",\n dir: \"vertical\",\n rectStart: \"y2\",\n rectEnd: \"y1\",\n rectOffset: \"x1\"\n }\n};\nvar Axis = class {\n createGridAndLabels(gridGroup, labelGroup, chartOptions, eventEmitter) {\n const axisOptions = this.units.pos === \"x\" ? chartOptions.axisX : chartOptions.axisY;\n const projectedValues = this.ticks.map(\n (tick, i2) => this.projectValue(tick, i2)\n );\n const labelValues = this.ticks.map(axisOptions.labelInterpolationFnc);\n projectedValues.forEach((projectedValue, index) => {\n const labelValue = labelValues[index];\n const labelOffset = {\n x: 0,\n y: 0\n };\n let labelLength;\n if (projectedValues[index + 1]) {\n labelLength = projectedValues[index + 1] - projectedValue;\n } else {\n labelLength = Math.max(this.axisLength - projectedValue, this.axisLength / this.ticks.length);\n }\n if (labelValue !== \"\" && isFalseyButZero(labelValue)) {\n return;\n }\n if (this.units.pos === \"x\") {\n projectedValue = this.chartRect.x1 + projectedValue;\n labelOffset.x = chartOptions.axisX.labelOffset.x;\n if (chartOptions.axisX.position === \"start\") {\n labelOffset.y = this.chartRect.padding.top + chartOptions.axisX.labelOffset.y + 5;\n } else {\n labelOffset.y = this.chartRect.y1 + chartOptions.axisX.labelOffset.y + 5;\n }\n } else {\n projectedValue = this.chartRect.y1 - projectedValue;\n labelOffset.y = chartOptions.axisY.labelOffset.y - labelLength;\n if (chartOptions.axisY.position === \"start\") {\n labelOffset.x = this.chartRect.padding.left + chartOptions.axisY.labelOffset.x;\n } else {\n labelOffset.x = this.chartRect.x2 + chartOptions.axisY.labelOffset.x + 10;\n }\n }\n if (axisOptions.showGrid) {\n createGrid(projectedValue, index, this, this.gridOffset, this.chartRect[this.counterUnits.len](), gridGroup, [\n chartOptions.classNames.grid,\n chartOptions.classNames[this.units.dir]\n ], eventEmitter);\n }\n if (axisOptions.showLabel) {\n createLabel(projectedValue, labelLength, index, labelValue, this, axisOptions.offset, labelOffset, labelGroup, [\n chartOptions.classNames.label,\n chartOptions.classNames[this.units.dir],\n axisOptions.position === \"start\" ? chartOptions.classNames[axisOptions.position] : chartOptions.classNames.end\n ], eventEmitter);\n }\n });\n }\n constructor(units, chartRect, ticks) {\n this.units = units;\n this.chartRect = chartRect;\n this.ticks = ticks;\n this.counterUnits = units === axisUnits.x ? axisUnits.y : axisUnits.x;\n this.axisLength = chartRect[this.units.rectEnd] - chartRect[this.units.rectStart];\n this.gridOffset = chartRect[this.units.rectOffset];\n }\n};\nvar AutoScaleAxis = class extends Axis {\n projectValue(value) {\n const finalValue = Number(getMultiValue(value, this.units.pos));\n return this.axisLength * (finalValue - this.bounds.min) / this.bounds.range;\n }\n constructor(axisUnit, data, chartRect, options) {\n const highLow = options.highLow || getHighLow(data, options, axisUnit.pos);\n const bounds = getBounds(chartRect[axisUnit.rectEnd] - chartRect[axisUnit.rectStart], highLow, options.scaleMinSpace || 20, options.onlyInteger);\n const range = {\n min: bounds.min,\n max: bounds.max\n };\n super(axisUnit, chartRect, bounds.values);\n this.bounds = bounds;\n this.range = range;\n }\n};\nvar FixedScaleAxis = class extends Axis {\n projectValue(value) {\n const finalValue = Number(getMultiValue(value, this.units.pos));\n return this.axisLength * (finalValue - this.range.min) / (this.range.max - this.range.min);\n }\n constructor(axisUnit, data, chartRect, options) {\n const highLow = options.highLow || getHighLow(data, options, axisUnit.pos);\n const divisor = options.divisor || 1;\n const ticks = (options.ticks || times(\n divisor,\n (index) => highLow.low + (highLow.high - highLow.low) / divisor * index\n )).sort(\n (a, b) => Number(a) - Number(b)\n );\n const range = {\n min: highLow.low,\n max: highLow.high\n };\n super(axisUnit, chartRect, ticks);\n this.range = range;\n }\n};\nvar StepAxis = class extends Axis {\n projectValue(_value, index) {\n return this.stepLength * index;\n }\n constructor(axisUnit, _data, chartRect, options) {\n const ticks = options.ticks || [];\n super(axisUnit, chartRect, ticks);\n const calc = Math.max(1, ticks.length - (options.stretch ? 1 : 0));\n this.stepLength = this.axisLength / calc;\n this.stretch = Boolean(options.stretch);\n }\n};\nfunction getSeriesOption(series, options, key) {\n var ref;\n if (safeHasProperty(series, \"name\") && series.name && ((ref = options.series) === null || ref === void 0 ? void 0 : ref[series.name])) {\n const seriesOptions = options === null || options === void 0 ? void 0 : options.series[series.name];\n const value = seriesOptions[key];\n const result = value === void 0 ? options[key] : value;\n return result;\n } else {\n return options[key];\n }\n}\nvar defaultOptions$2 = {\n // Options for X-Axis\n axisX: {\n // The offset of the labels to the chart area\n offset: 30,\n // Position where labels are placed. Can be set to `start` or `end` where `start` is equivalent to left or top on vertical axis and `end` is equivalent to right or bottom on horizontal axis.\n position: \"end\",\n // Allows you to correct label positioning on this axis by positive or negative x and y offset.\n labelOffset: {\n x: 0,\n y: 0\n },\n // If labels should be shown or not\n showLabel: true,\n // If the axis grid should be drawn or not\n showGrid: true,\n // Interpolation function that allows you to intercept the value from the axis label\n labelInterpolationFnc: noop,\n // Set the axis type to be used to project values on this axis. If not defined, Chartist.StepAxis will be used for the X-Axis, where the ticks option will be set to the labels in the data and the stretch option will be set to the global fullWidth option. This type can be changed to any axis constructor available (e.g. Chartist.FixedScaleAxis), where all axis options should be present here.\n type: void 0\n },\n // Options for Y-Axis\n axisY: {\n // The offset of the labels to the chart area\n offset: 40,\n // Position where labels are placed. Can be set to `start` or `end` where `start` is equivalent to left or top on vertical axis and `end` is equivalent to right or bottom on horizontal axis.\n position: \"start\",\n // Allows you to correct label positioning on this axis by positive or negative x and y offset.\n labelOffset: {\n x: 0,\n y: 0\n },\n // If labels should be shown or not\n showLabel: true,\n // If the axis grid should be drawn or not\n showGrid: true,\n // Interpolation function that allows you to intercept the value from the axis label\n labelInterpolationFnc: noop,\n // Set the axis type to be used to project values on this axis. If not defined, Chartist.AutoScaleAxis will be used for the Y-Axis, where the high and low options will be set to the global high and low options. This type can be changed to any axis constructor available (e.g. Chartist.FixedScaleAxis), where all axis options should be present here.\n type: void 0,\n // This value specifies the minimum height in pixel of the scale steps\n scaleMinSpace: 20,\n // Use only integer values (whole numbers) for the scale steps\n onlyInteger: false\n },\n // Specify a fixed width for the chart as a string (i.e. '100px' or '50%')\n width: void 0,\n // Specify a fixed height for the chart as a string (i.e. '100px' or '50%')\n height: void 0,\n // If the line should be drawn or not\n showLine: true,\n // If dots should be drawn or not\n showPoint: true,\n // If the line chart should draw an area\n showArea: false,\n // The base for the area chart that will be used to close the area shape (is normally 0)\n areaBase: 0,\n // Specify if the lines should be smoothed. This value can be true or false where true will result in smoothing using the default smoothing interpolation function Chartist.Interpolation.cardinal and false results in Chartist.Interpolation.none. You can also choose other smoothing / interpolation functions available in the Chartist.Interpolation module, or write your own interpolation function. Check the examples for a brief description.\n lineSmooth: true,\n // If the line chart should add a background fill to the .ct-grids group.\n showGridBackground: false,\n // Overriding the natural low of the chart allows you to zoom in or limit the charts lowest displayed value\n low: void 0,\n // Overriding the natural high of the chart allows you to zoom in or limit the charts highest displayed value\n high: void 0,\n // Padding of the chart drawing area to the container element and labels as a number or padding object {top: 5, right: 5, bottom: 5, left: 5}\n chartPadding: {\n top: 15,\n right: 15,\n bottom: 5,\n left: 10\n },\n // When set to true, the last grid line on the x-axis is not drawn and the chart elements will expand to the full available width of the chart. For the last label to be drawn correctly you might need to add chart padding or offset the last label with a draw event handler.\n fullWidth: false,\n // If true the whole data is reversed including labels, the series order as well as the whole series data arrays.\n reverseData: false,\n // Override the class names that get used to generate the SVG structure of the chart\n classNames: {\n chart: \"ct-chart-line\",\n label: \"ct-label\",\n labelGroup: \"ct-labels\",\n series: \"ct-series\",\n line: \"ct-line\",\n point: \"ct-point\",\n area: \"ct-area\",\n grid: \"ct-grid\",\n gridGroup: \"ct-grids\",\n gridBackground: \"ct-grid-background\",\n vertical: \"ct-vertical\",\n horizontal: \"ct-horizontal\",\n start: \"ct-start\",\n end: \"ct-end\"\n }\n};\nvar LineChart = class extends BaseChart {\n /**\n * Creates a new chart\n */\n createChart(options) {\n const { data } = this;\n const normalizedData = normalizeData(data, options.reverseData, true);\n const svg = createSvg(this.container, options.width, options.height, options.classNames.chart);\n this.svg = svg;\n const gridGroup = svg.elem(\"g\").addClass(options.classNames.gridGroup);\n const seriesGroup = svg.elem(\"g\");\n const labelGroup = svg.elem(\"g\").addClass(options.classNames.labelGroup);\n const chartRect = createChartRect(svg, options);\n let axisX;\n let axisY;\n if (options.axisX.type === void 0) {\n axisX = new StepAxis(axisUnits.x, normalizedData.series, chartRect, {\n ...options.axisX,\n ticks: normalizedData.labels,\n stretch: options.fullWidth\n });\n } else {\n axisX = new options.axisX.type(axisUnits.x, normalizedData.series, chartRect, options.axisX);\n }\n if (options.axisY.type === void 0) {\n axisY = new AutoScaleAxis(axisUnits.y, normalizedData.series, chartRect, {\n ...options.axisY,\n high: isNumeric(options.high) ? options.high : options.axisY.high,\n low: isNumeric(options.low) ? options.low : options.axisY.low\n });\n } else {\n axisY = new options.axisY.type(axisUnits.y, normalizedData.series, chartRect, options.axisY);\n }\n axisX.createGridAndLabels(gridGroup, labelGroup, options, this.eventEmitter);\n axisY.createGridAndLabels(gridGroup, labelGroup, options, this.eventEmitter);\n if (options.showGridBackground) {\n createGridBackground(gridGroup, chartRect, options.classNames.gridBackground, this.eventEmitter);\n }\n each(data.series, (series, seriesIndex) => {\n const seriesElement = seriesGroup.elem(\"g\");\n const seriesName = safeHasProperty(series, \"name\") && series.name;\n const seriesClassName = safeHasProperty(series, \"className\") && series.className;\n const seriesMeta = safeHasProperty(series, \"meta\") ? series.meta : void 0;\n if (seriesName) {\n seriesElement.attr({\n \"ct:series-name\": seriesName\n });\n }\n if (seriesMeta) {\n seriesElement.attr({\n \"ct:meta\": serialize(seriesMeta)\n });\n }\n seriesElement.addClass([\n options.classNames.series,\n seriesClassName || \"\".concat(options.classNames.series, \"-\").concat(alphaNumerate(seriesIndex))\n ].join(\" \"));\n const pathCoordinates = [];\n const pathData = [];\n normalizedData.series[seriesIndex].forEach((value, valueIndex) => {\n const p = {\n x: chartRect.x1 + axisX.projectValue(value, valueIndex, normalizedData.series[seriesIndex]),\n y: chartRect.y1 - axisY.projectValue(value, valueIndex, normalizedData.series[seriesIndex])\n };\n pathCoordinates.push(p.x, p.y);\n pathData.push({\n value,\n valueIndex,\n meta: getMetaData(series, valueIndex)\n });\n });\n const seriesOptions = {\n lineSmooth: getSeriesOption(series, options, \"lineSmooth\"),\n showPoint: getSeriesOption(series, options, \"showPoint\"),\n showLine: getSeriesOption(series, options, \"showLine\"),\n showArea: getSeriesOption(series, options, \"showArea\"),\n areaBase: getSeriesOption(series, options, \"areaBase\")\n };\n let smoothing;\n if (typeof seriesOptions.lineSmooth === \"function\") {\n smoothing = seriesOptions.lineSmooth;\n } else {\n smoothing = seriesOptions.lineSmooth ? monotoneCubic() : none();\n }\n const path = smoothing(pathCoordinates, pathData);\n if (seriesOptions.showPoint) {\n path.pathElements.forEach((pathElement) => {\n const { data: pathElementData } = pathElement;\n const point = seriesElement.elem(\"line\", {\n x1: pathElement.x,\n y1: pathElement.y,\n x2: pathElement.x + 0.01,\n y2: pathElement.y\n }, options.classNames.point);\n if (pathElementData) {\n let x;\n let y;\n if (safeHasProperty(pathElementData.value, \"x\")) {\n x = pathElementData.value.x;\n }\n if (safeHasProperty(pathElementData.value, \"y\")) {\n y = pathElementData.value.y;\n }\n point.attr({\n \"ct:value\": [\n x,\n y\n ].filter(isNumeric).join(\",\"),\n \"ct:meta\": serialize(pathElementData.meta)\n });\n }\n this.eventEmitter.emit(\"draw\", {\n type: \"point\",\n value: pathElementData === null || pathElementData === void 0 ? void 0 : pathElementData.value,\n index: (pathElementData === null || pathElementData === void 0 ? void 0 : pathElementData.valueIndex) || 0,\n meta: pathElementData === null || pathElementData === void 0 ? void 0 : pathElementData.meta,\n series,\n seriesIndex,\n axisX,\n axisY,\n group: seriesElement,\n element: point,\n x: pathElement.x,\n y: pathElement.y,\n chartRect\n });\n });\n }\n if (seriesOptions.showLine) {\n const line = seriesElement.elem(\"path\", {\n d: path.stringify()\n }, options.classNames.line, true);\n this.eventEmitter.emit(\"draw\", {\n type: \"line\",\n values: normalizedData.series[seriesIndex],\n path: path.clone(),\n chartRect,\n // TODO: Remove redundant\n index: seriesIndex,\n series,\n seriesIndex,\n meta: seriesMeta,\n axisX,\n axisY,\n group: seriesElement,\n element: line\n });\n }\n if (seriesOptions.showArea && axisY.range) {\n const areaBase = Math.max(Math.min(seriesOptions.areaBase, axisY.range.max), axisY.range.min);\n const areaBaseProjected = chartRect.y1 - axisY.projectValue(areaBase);\n path.splitByCommand(\"M\").filter(\n (pathSegment) => pathSegment.pathElements.length > 1\n ).map((solidPathSegments) => {\n const firstElement = solidPathSegments.pathElements[0];\n const lastElement = solidPathSegments.pathElements[solidPathSegments.pathElements.length - 1];\n return solidPathSegments.clone(true).position(0).remove(1).move(firstElement.x, areaBaseProjected).line(firstElement.x, firstElement.y).position(solidPathSegments.pathElements.length + 1).line(lastElement.x, areaBaseProjected);\n }).forEach((areaPath) => {\n const area = seriesElement.elem(\"path\", {\n d: areaPath.stringify()\n }, options.classNames.area, true);\n this.eventEmitter.emit(\"draw\", {\n type: \"area\",\n values: normalizedData.series[seriesIndex],\n path: areaPath.clone(),\n series,\n seriesIndex,\n axisX,\n axisY,\n chartRect,\n // TODO: Remove redundant\n index: seriesIndex,\n group: seriesElement,\n element: area,\n meta: seriesMeta\n });\n });\n }\n }, options.reverseData);\n this.eventEmitter.emit(\"created\", {\n chartRect,\n axisX,\n axisY,\n svg,\n options\n });\n }\n /**\n * This method creates a new line chart.\n * @param query A selector query string or directly a DOM element\n * @param data The data object that needs to consist of a labels and a series array\n * @param options The options object with options that override the default options. Check the examples for a detailed list.\n * @param responsiveOptions Specify an array of responsive option arrays which are a media query and options object pair => [[mediaQueryString, optionsObject],[more...]]\n * @return An object which exposes the API for the created chart\n *\n * @example\n * ```ts\n * // Create a simple line chart\n * const data = {\n * // A labels array that can contain any sort of values\n * labels: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],\n * // Our series array that contains series objects or in this case series data arrays\n * series: [\n * [5, 2, 4, 2, 0]\n * ]\n * };\n *\n * // As options we currently only set a static size of 300x200 px\n * const options = {\n * width: '300px',\n * height: '200px'\n * };\n *\n * // In the global name space Chartist we call the Line function to initialize a line chart. As a first parameter we pass in a selector where we would like to get our chart created. Second parameter is the actual data object and as a third parameter we pass in our options\n * new LineChart('.ct-chart', data, options);\n * ```\n *\n * @example\n * ```ts\n * // Use specific interpolation function with configuration from the Chartist.Interpolation module\n *\n * const chart = new LineChart('.ct-chart', {\n * labels: [1, 2, 3, 4, 5],\n * series: [\n * [1, 1, 8, 1, 7]\n * ]\n * }, {\n * lineSmooth: Chartist.Interpolation.cardinal({\n * tension: 0.2\n * })\n * });\n * ```\n *\n * @example\n * ```ts\n * // Create a line chart with responsive options\n *\n * const data = {\n * // A labels array that can contain any sort of values\n * labels: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'],\n * // Our series array that contains series objects or in this case series data arrays\n * series: [\n * [5, 2, 4, 2, 0]\n * ]\n * };\n *\n * // In addition to the regular options we specify responsive option overrides that will override the default configutation based on the matching media queries.\n * const responsiveOptions = [\n * ['screen and (min-width: 641px) and (max-width: 1024px)', {\n * showPoint: false,\n * axisX: {\n * labelInterpolationFnc: function(value) {\n * // Will return Mon, Tue, Wed etc. on medium screens\n * return value.slice(0, 3);\n * }\n * }\n * }],\n * ['screen and (max-width: 640px)', {\n * showLine: false,\n * axisX: {\n * labelInterpolationFnc: function(value) {\n * // Will return M, T, W etc. on small screens\n * return value[0];\n * }\n * }\n * }]\n * ];\n *\n * new LineChart('.ct-chart', data, null, responsiveOptions);\n * ```\n */\n constructor(query, data, options, responsiveOptions) {\n super(query, data, defaultOptions$2, extend({}, defaultOptions$2, options), responsiveOptions);\n this.data = data;\n }\n};\n\n// node_modules/chartist/dist/index.scss?inline\nvar dist_default = i`.ct-label {\n fill: rgba(0, 0, 0, 0.4);\n color: rgba(0, 0, 0, 0.4);\n font-size: 0.75rem;\n line-height: 1;\n}\n\n.ct-chart-line .ct-label,\n.ct-chart-bar .ct-label {\n display: flex;\n}\n\n.ct-chart-pie .ct-label,\n.ct-chart-donut .ct-label {\n dominant-baseline: central;\n}\n\n.ct-label.ct-horizontal.ct-start {\n align-items: flex-end;\n justify-content: flex-start;\n text-align: left;\n}\n\n.ct-label.ct-horizontal.ct-end {\n align-items: flex-start;\n justify-content: flex-start;\n text-align: left;\n}\n\n.ct-label.ct-vertical.ct-start {\n align-items: flex-end;\n justify-content: flex-end;\n text-align: right;\n}\n\n.ct-label.ct-vertical.ct-end {\n align-items: flex-end;\n justify-content: flex-start;\n text-align: left;\n}\n\n.ct-chart-bar .ct-label.ct-horizontal.ct-start {\n align-items: flex-end;\n justify-content: center;\n text-align: center;\n}\n\n.ct-chart-bar .ct-label.ct-horizontal.ct-end {\n align-items: flex-start;\n justify-content: center;\n text-align: center;\n}\n\n.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start {\n align-items: flex-end;\n justify-content: flex-start;\n text-align: left;\n}\n\n.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end {\n align-items: flex-start;\n justify-content: flex-start;\n text-align: left;\n}\n\n.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start {\n align-items: center;\n justify-content: flex-end;\n text-align: right;\n}\n\n.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end {\n align-items: center;\n justify-content: flex-start;\n text-align: left;\n}\n\n.ct-grid {\n stroke: rgba(0, 0, 0, 0.2);\n stroke-width: 1px;\n stroke-dasharray: 2px;\n}\n\n.ct-grid-background {\n fill: none;\n}\n\n.ct-point {\n stroke-width: 10px;\n stroke-linecap: round;\n}\n\n.ct-line {\n fill: none;\n stroke-width: 4px;\n}\n\n.ct-area {\n stroke: none;\n fill-opacity: 0.1;\n}\n\n.ct-bar {\n fill: none;\n stroke-width: 10px;\n}\n\n.ct-slice-donut {\n fill: none;\n stroke-width: 60px;\n}\n\n.ct-series-a .ct-point, .ct-series-a .ct-line, .ct-series-a .ct-bar, .ct-series-a .ct-slice-donut {\n stroke: #d70206;\n}\n.ct-series-a .ct-slice-pie, .ct-series-a .ct-area {\n fill: #d70206;\n}\n\n.ct-series-b .ct-point, .ct-series-b .ct-line, .ct-series-b .ct-bar, .ct-series-b .ct-slice-donut {\n stroke: #f05b4f;\n}\n.ct-series-b .ct-slice-pie, .ct-series-b .ct-area {\n fill: #f05b4f;\n}\n\n.ct-series-c .ct-point, .ct-series-c .ct-line, .ct-series-c .ct-bar, .ct-series-c .ct-slice-donut {\n stroke: #f4c63d;\n}\n.ct-series-c .ct-slice-pie, .ct-series-c .ct-area {\n fill: #f4c63d;\n}\n\n.ct-series-d .ct-point, .ct-series-d .ct-line, .ct-series-d .ct-bar, .ct-series-d .ct-slice-donut {\n stroke: #d17905;\n}\n.ct-series-d .ct-slice-pie, .ct-series-d .ct-area {\n fill: #d17905;\n}\n\n.ct-series-e .ct-point, .ct-series-e .ct-line, .ct-series-e .ct-bar, .ct-series-e .ct-slice-donut {\n stroke: #453d3f;\n}\n.ct-series-e .ct-slice-pie, .ct-series-e .ct-area {\n fill: #453d3f;\n}\n\n.ct-series-f .ct-point, .ct-series-f .ct-line, .ct-series-f .ct-bar, .ct-series-f .ct-slice-donut {\n stroke: #59922b;\n}\n.ct-series-f .ct-slice-pie, .ct-series-f .ct-area {\n fill: #59922b;\n}\n\n.ct-series-g .ct-point, .ct-series-g .ct-line, .ct-series-g .ct-bar, .ct-series-g .ct-slice-donut {\n stroke: #0544d3;\n}\n.ct-series-g .ct-slice-pie, .ct-series-g .ct-area {\n fill: #0544d3;\n}\n\n.ct-series-h .ct-point, .ct-series-h .ct-line, .ct-series-h .ct-bar, .ct-series-h .ct-slice-donut {\n stroke: #6b0392;\n}\n.ct-series-h .ct-slice-pie, .ct-series-h .ct-area {\n fill: #6b0392;\n}\n\n.ct-series-i .ct-point, .ct-series-i .ct-line, .ct-series-i .ct-bar, .ct-series-i .ct-slice-donut {\n stroke: #e6805e;\n}\n.ct-series-i .ct-slice-pie, .ct-series-i .ct-area {\n fill: #e6805e;\n}\n\n.ct-series-j .ct-point, .ct-series-j .ct-line, .ct-series-j .ct-bar, .ct-series-j .ct-slice-donut {\n stroke: #dda458;\n}\n.ct-series-j .ct-slice-pie, .ct-series-j .ct-area {\n fill: #dda458;\n}\n\n.ct-series-k .ct-point, .ct-series-k .ct-line, .ct-series-k .ct-bar, .ct-series-k .ct-slice-donut {\n stroke: #eacf7d;\n}\n.ct-series-k .ct-slice-pie, .ct-series-k .ct-area {\n fill: #eacf7d;\n}\n\n.ct-series-l .ct-point, .ct-series-l .ct-line, .ct-series-l .ct-bar, .ct-series-l .ct-slice-donut {\n stroke: #86797d;\n}\n.ct-series-l .ct-slice-pie, .ct-series-l .ct-area {\n fill: #86797d;\n}\n\n.ct-series-m .ct-point, .ct-series-m .ct-line, .ct-series-m .ct-bar, .ct-series-m .ct-slice-donut {\n stroke: #b2c326;\n}\n.ct-series-m .ct-slice-pie, .ct-series-m .ct-area {\n fill: #b2c326;\n}\n\n.ct-series-n .ct-point, .ct-series-n .ct-line, .ct-series-n .ct-bar, .ct-series-n .ct-slice-donut {\n stroke: #6188e2;\n}\n.ct-series-n .ct-slice-pie, .ct-series-n .ct-area {\n fill: #6188e2;\n}\n\n.ct-series-o .ct-point, .ct-series-o .ct-line, .ct-series-o .ct-bar, .ct-series-o .ct-slice-donut {\n stroke: #a748ca;\n}\n.ct-series-o .ct-slice-pie, .ct-series-o .ct-area {\n fill: #a748ca;\n}\n\n.ct-square {\n display: block;\n position: relative;\n width: 100%;\n}\n.ct-square:before {\n display: block;\n float: left;\n content: \"\";\n width: 0;\n height: 0;\n padding-bottom: 100%;\n}\n.ct-square:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.ct-square > svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.ct-minor-second {\n display: block;\n position: relative;\n width: 100%;\n}\n.ct-minor-second:before {\n display: block;\n float: left;\n content: \"\";\n width: 0;\n height: 0;\n padding-bottom: 93.75%;\n}\n.ct-minor-second:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.ct-minor-second > svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.ct-major-second {\n display: block;\n position: relative;\n width: 100%;\n}\n.ct-major-second:before {\n display: block;\n float: left;\n content: \"\";\n width: 0;\n height: 0;\n padding-bottom: 88.8888888889%;\n}\n.ct-major-second:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.ct-major-second > svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.ct-minor-third {\n display: block;\n position: relative;\n width: 100%;\n}\n.ct-minor-third:before {\n display: block;\n float: left;\n content: \"\";\n width: 0;\n height: 0;\n padding-bottom: 83.3333333333%;\n}\n.ct-minor-third:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.ct-minor-third > svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.ct-major-third {\n display: block;\n position: relative;\n width: 100%;\n}\n.ct-major-third:before {\n display: block;\n float: left;\n content: \"\";\n width: 0;\n height: 0;\n padding-bottom: 80%;\n}\n.ct-major-third:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.ct-major-third > svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.ct-perfect-fourth {\n display: block;\n position: relative;\n width: 100%;\n}\n.ct-perfect-fourth:before {\n display: block;\n float: left;\n content: \"\";\n width: 0;\n height: 0;\n padding-bottom: 75%;\n}\n.ct-perfect-fourth:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.ct-perfect-fourth > svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.ct-perfect-fifth {\n display: block;\n position: relative;\n width: 100%;\n}\n.ct-perfect-fifth:before {\n display: block;\n float: left;\n content: \"\";\n width: 0;\n height: 0;\n padding-bottom: 66.6666666667%;\n}\n.ct-perfect-fifth:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.ct-perfect-fifth > svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.ct-minor-sixth {\n display: block;\n position: relative;\n width: 100%;\n}\n.ct-minor-sixth:before {\n display: block;\n float: left;\n content: \"\";\n width: 0;\n height: 0;\n padding-bottom: 62.5%;\n}\n.ct-minor-sixth:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.ct-minor-sixth > svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.ct-golden-section {\n display: block;\n position: relative;\n width: 100%;\n}\n.ct-golden-section:before {\n display: block;\n float: left;\n content: \"\";\n width: 0;\n height: 0;\n padding-bottom: 61.804697157%;\n}\n.ct-golden-section:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.ct-golden-section > svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.ct-major-sixth {\n display: block;\n position: relative;\n width: 100%;\n}\n.ct-major-sixth:before {\n display: block;\n float: left;\n content: \"\";\n width: 0;\n height: 0;\n padding-bottom: 60%;\n}\n.ct-major-sixth:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.ct-major-sixth > svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.ct-minor-seventh {\n display: block;\n position: relative;\n width: 100%;\n}\n.ct-minor-seventh:before {\n display: block;\n float: left;\n content: \"\";\n width: 0;\n height: 0;\n padding-bottom: 56.25%;\n}\n.ct-minor-seventh:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.ct-minor-seventh > svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.ct-major-seventh {\n display: block;\n position: relative;\n width: 100%;\n}\n.ct-major-seventh:before {\n display: block;\n float: left;\n content: \"\";\n width: 0;\n height: 0;\n padding-bottom: 53.3333333333%;\n}\n.ct-major-seventh:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.ct-major-seventh > svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.ct-octave {\n display: block;\n position: relative;\n width: 100%;\n}\n.ct-octave:before {\n display: block;\n float: left;\n content: \"\";\n width: 0;\n height: 0;\n padding-bottom: 50%;\n}\n.ct-octave:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.ct-octave > svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.ct-major-tenth {\n display: block;\n position: relative;\n width: 100%;\n}\n.ct-major-tenth:before {\n display: block;\n float: left;\n content: \"\";\n width: 0;\n height: 0;\n padding-bottom: 40%;\n}\n.ct-major-tenth:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.ct-major-tenth > svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.ct-major-eleventh {\n display: block;\n position: relative;\n width: 100%;\n}\n.ct-major-eleventh:before {\n display: block;\n float: left;\n content: \"\";\n width: 0;\n height: 0;\n padding-bottom: 37.5%;\n}\n.ct-major-eleventh:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.ct-major-eleventh > svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.ct-major-twelfth {\n display: block;\n position: relative;\n width: 100%;\n}\n.ct-major-twelfth:before {\n display: block;\n float: left;\n content: \"\";\n width: 0;\n height: 0;\n padding-bottom: 33.3333333333%;\n}\n.ct-major-twelfth:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.ct-major-twelfth > svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.ct-double-octave {\n display: block;\n position: relative;\n width: 100%;\n}\n.ct-double-octave:before {\n display: block;\n float: left;\n content: \"\";\n width: 0;\n height: 0;\n padding-bottom: 25%;\n}\n.ct-double-octave:after {\n content: \"\";\n display: table;\n clear: both;\n}\n.ct-double-octave > svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n}`;\n\n// src/components/jb-stock-chart/jb-stock-chart.scss?inline\nvar jb_stock_chart_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.value, .ct-label, li {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\n.time, .tooltip {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.ct-label, li {\n font-size: var(--theme-typo-uppercase-700-fontsize, 0.688rem);\n letter-spacing: var(--theme-typo-uppercase-700-letterspacing, 0.063rem);\n line-height: var(--theme-typo-uppercase-700-lineheight, 1rem);\n text-transform: uppercase;\n}\n\n.value {\n font-size: var(--theme-typo-p-small-highlight-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-highlight-desktop-lineheight, 1.625rem);\n}\n\n.time, .tooltip {\n font-size: var(--theme-typo-p-mini-desktop-fontsize, 0.813rem);\n line-height: var(--theme-typo-p-mini-desktop-lineheight, 1.25rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\njb-section-headline {\n margin-bottom: var(--spacing-xl);\n}\n\nul {\n display: flex;\n flex-wrap: wrap;\n gap: 10px 30px;\n justify-content: center;\n margin-bottom: var(--spacing-m);\n padding: 0;\n}\n\nli {\n color: rgba(20, 30, 85, var(--theme-opacity-40, 0.4));\n cursor: pointer;\n list-style: none;\n position: relative;\n transition: color 0.4s ease-in-out;\n}\nli::before, li::after {\n bottom: 0;\n content: \"\";\n position: absolute;\n}\nli::before {\n background-color: transparent;\n border-bottom: 1px solid rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n height: 0;\n width: 100%;\n}\nli::after {\n background: #141e55;\n height: 1px;\n left: 0;\n right: 100%;\n transition: right 0.8s ease-in-out;\n}\nli.active, li:hover {\n color: #141e55;\n}\nli.active::after, li:hover::after {\n right: 0;\n}\n\n.ct-label.ct-horizontal.ct-end {\n display: inline-block;\n transform: translateX(-50%);\n width: auto !important;\n}\n\n#chart {\n aspect-ratio: 2/1;\n position: relative;\n touch-action: pan-y;\n}\n#chart.hovering .tooltip, #chart.hovering .tooltipline, #chart.hovering .tooltipdot, #chart:hover .tooltip, #chart:hover .tooltipline, #chart:hover .tooltipdot {\n opacity: 1;\n}\n\nsvg {\n overflow: visible;\n}\n\n.ct-line {\n stroke-width: 2px;\n}\n\n.ct-grid {\n stroke: rgba(20, 30, 85, 0.1);\n stroke-dasharray: 0;\n}\n\n.ct-series-a .ct-line {\n stroke: #141e55;\n}\n.ct-series-a .ct-point {\n opacity: 0;\n stroke-width: 16px;\n}\n\n.ct-labels foreignObject:first-child {\n display: none;\n}\n\n.ct-label {\n color: #141e55;\n margin-top: 10px;\n position: relative;\n}\n.ct-label.ct-horizontal::after {\n background-color: rgba(20, 30, 85, 0.1);\n content: \"\";\n display: block;\n height: 10px;\n left: 50%;\n position: absolute;\n top: -1rem;\n width: 1px;\n}\n\n.tooltip {\n background-color: #fff;\n box-shadow: 0 5px 10px 0 rgba(103, 104, 113, 0.15), 0 0 10px 0 rgba(0, 0, 0, 0.05);\n color: #141e55;\n left: 0;\n line-height: 0.688rem;\n opacity: 0;\n padding-block: var(--spacing-3xs);\n padding-inline: var(--spacing-2xs);\n pointer-events: none;\n position: absolute;\n top: 0;\n transform: translate(calc(var(--_tooltip-x) - 50%), calc(var(--_tooltip-y) - 100% - 15px));\n transition: transform 0.1s ease-in-out, opacity 0.2s ease-in-out;\n z-index: 3;\n}\n.tooltip::after {\n border-left: 5px solid transparent;\n border-right: 5px solid transparent;\n border-top: 7px solid white;\n bottom: 0;\n content: \"\";\n height: 0;\n left: 50%;\n position: absolute;\n translate: -50% 97%;\n width: 0;\n}\n\n.tooltipdot {\n background-color: #141e55;\n border: 4px solid white;\n border-radius: 3rem;\n box-shadow: 0 5px 10px 0 rgba(103, 104, 113, 0.15), 0 0 10px 0 rgba(0, 0, 0, 0.05);\n height: 8px;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n transform: translate(calc(var(--_tooltip-x) - 50%), calc(var(--_tooltip-y) - 50%));\n width: 8px;\n z-index: 2;\n}\n\n.tooltipline {\n background-color: rgba(20, 30, 85, 0.1);\n height: var(--_tooltipline-length);\n opacity: 0;\n pointer-events: none;\n position: absolute;\n transform: translate(var(--_tooltip-x), var(--_tolltipline-top));\n transition: opacity 0.2s ease-in-out;\n width: 1px;\n z-index: 1;\n}\n\n.time {\n opacity: 0.8;\n}\n\n.value {\n align-items: center;\n display: flex;\n}\n.value::before {\n background-color: #141e55;\n border-radius: 50px;\n content: \"\";\n display: inline-block;\n height: var(--spacing-3xs);\n margin-right: var(--spacing-3xs);\n width: var(--spacing-3xs);\n}\n\n@supports (hanging-punctuation: first) and (-webkit-appearance: none) {\n .tooltip {\n transition: opacity 0.2s ease-in-out;\n }\n}`;\n\n// src/components/jb-stock-chart/jb-stock-chart.ts\nvar JbStockChart = class extends Spaceable(h) {\n constructor() {\n super(...arguments);\n this.activeChart = \"intraday\";\n this._dataTable = [];\n this._hovering = false;\n }\n async firstUpdated() {\n const response = await fetch(this.dataURL);\n this._serverResponse = await response.json();\n await this.updateComplete;\n this._chartist = new LineChart(\n this._chartElement,\n {\n series: [this._mapData(this._serverResponse.hourly)]\n },\n {\n lineSmooth: false,\n fullWidth: true,\n axisX: {\n type: FixedScaleAxis,\n divisor: 6,\n labelInterpolationFnc: (value) => new Date(value).toLocaleString(void 0, {\n hour: \"2-digit\",\n minute: \"2-digit\"\n }),\n showGrid: false\n },\n axisY: {\n labelInterpolationFnc: (value) => Number.parseFloat(String(value)).toFixed(2)\n }\n }\n );\n switch (this.activeChart) {\n case \"monthly\":\n this._setMonthly();\n break;\n case \"yearly\":\n this._setYearly();\n break;\n case \"intraday\":\n default:\n this._setIntraday();\n break;\n }\n this._chartist.on(\"created\", () => {\n this._initializeTooltip();\n });\n }\n _drawTooltip(offsetX) {\n const tooltipData = this._getToolTipData(offsetX);\n if (!tooltipData) return;\n const [time, value] = tooltipData.value.split(\",\");\n this.style.setProperty(\"--_tooltip-x\", tooltipData.x + \"px\");\n this.style.setProperty(\"--_tooltip-y\", tooltipData.y + \"px\");\n this._tooltipTime = new Date(Number(time)).toLocaleDateString(void 0, {\n weekday: \"long\",\n day: \"2-digit\",\n month: \"short\",\n hour: \"2-digit\",\n minute: \"2-digit\"\n });\n this._tooltipValue = value;\n }\n _getContentSpacingProperties() {\n return { colsMdUp: 12, colsLgUp: 8, grid: \"legacy\" };\n }\n _getToolTipData(x) {\n let i2 = 0;\n for (i2; i2 < this._dataTable.length; i2 += 1) {\n if (this._dataTable[i2].leftPoint >= x) break;\n }\n return this._dataTable[i2 - 1];\n }\n _initializeTooltip() {\n const firstScaleLineY = this._chartElement.querySelector(\".ct-grids line:first-child\")?.getAttribute(\"y1\");\n const lastScaleLineY = this._chartElement.querySelector(\".ct-grids line:last-child\")?.getAttribute(\"y1\");\n if (!firstScaleLineY || !lastScaleLineY) return;\n this.style.setProperty(\"--_tolltipline-top\", lastScaleLineY + \"px\");\n this.style.setProperty(\"--_tooltipline-length\", parseFloat(firstScaleLineY) - parseFloat(lastScaleLineY) + \"px\");\n const allPoints = this._chartElement.querySelectorAll(\".ct-point\");\n this._dataTable = [];\n for (let i2 = 0; i2 < allPoints.length; i2 += 1) {\n const x = parseFloat(allPoints[i2].getAttribute(\"x1\"));\n const previousX = allPoints[i2 - 1] ? parseFloat(allPoints[i2 - 1].getAttribute(\"x1\")) : 0;\n const leftPoint = Math.round(x - (x - previousX) / 2);\n this._dataTable.push({\n x: Math.round(x),\n leftPoint,\n y: Math.round(parseFloat(allPoints[i2].getAttribute(\"y1\"))),\n value: allPoints[i2].getAttribute(\"ct:value\")\n });\n }\n this._chartElement.addEventListener(\n \"mousemove\",\n (evt) => {\n if (![\"svg\", \"line\"].includes(evt.target.nodeName)) return;\n this._drawTooltip(evt.offsetX);\n },\n false\n );\n this._chartElement.addEventListener(\"touchmove\", (evt) => {\n const rect = evt.target.getBoundingClientRect();\n const offsetX = Math.floor(evt.touches[0].clientX - window.scrollX - rect.left);\n this._drawTooltip(offsetX);\n });\n this._chartElement.addEventListener(\"touchstart\", () => {\n this._hovering = true;\n });\n this._chartElement.addEventListener(\"touchend\", () => {\n this._hovering = false;\n });\n }\n _mapData(inputArray) {\n return inputArray.map((elm) => {\n const date = new Date(elm.t.replace(\" \", \"T\"));\n return { x: date, y: elm.y };\n });\n }\n _setIntraday() {\n this.activeChart = \"intraday\";\n this._tooltipValue = void 0;\n this._chartist.update(\n {\n series: [this._mapData(this._serverResponse.hourly)]\n },\n {\n axisX: {\n labelInterpolationFnc: (value) => new Date(value).toLocaleString(void 0, {\n hour: \"2-digit\",\n minute: \"2-digit\"\n })\n }\n },\n true\n );\n }\n _setMonthly() {\n this.activeChart = \"monthly\";\n this._tooltipValue = void 0;\n this._chartist.update(\n {\n series: [this._mapData(this._serverResponse.monthly)]\n },\n {\n axisX: {\n labelInterpolationFnc: (value) => new Date(value).toLocaleString(void 0, {\n weekday: \"short\",\n day: \"2-digit\",\n month: \"short\"\n })\n }\n },\n true\n );\n }\n _setYearly() {\n this.activeChart = \"yearly\";\n this._tooltipValue = void 0;\n this._chartist.update(\n {\n series: [this._mapData(this._serverResponse.daily)]\n },\n {\n axisX: {\n labelInterpolationFnc: (value) => new Date(value).toLocaleString(void 0, {\n weekday: \"short\",\n day: \"2-digit\",\n month: \"short\"\n })\n }\n },\n true\n );\n }\n render() {\n return ke`\n \n
      \n \n ${this.intraday}\n \n \n ${this.monthly}\n \n \n ${this.yearly}\n \n
    \n \n ${this._tooltipValue ? ke`
    \n
    ${this._tooltipTime}
    \n
    ${this._tooltipValue}
    \n
    \n
    \n
    ` : D}\n \n `;\n }\n};\nJbStockChart.styles = r([dist_default, jb_stock_chart_default]);\n__decorateClass([\n n()\n], JbStockChart.prototype, \"activeChart\", 2);\n__decorateClass([\n n()\n], JbStockChart.prototype, \"dataURL\", 2);\n__decorateClass([\n n()\n], JbStockChart.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbStockChart.prototype, \"intraday\", 2);\n__decorateClass([\n n()\n], JbStockChart.prototype, \"monthly\", 2);\n__decorateClass([\n n()\n], JbStockChart.prototype, \"yearly\", 2);\n__decorateClass([\n e(\"#chart\")\n], JbStockChart.prototype, \"_chartElement\", 2);\n__decorateClass([\n r2()\n], JbStockChart.prototype, \"_hovering\", 2);\n__decorateClass([\n r2()\n], JbStockChart.prototype, \"_tooltipTime\", 2);\n__decorateClass([\n r2()\n], JbStockChart.prototype, \"_tooltipValue\", 2);\nJbStockChart = __decorateClass([\n customElement(\"jb-stock-chart\")\n], JbStockChart);\n\nexport {\n JbStockChart\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-simple-page-hero/jb-simple-page-hero.scss?inline\nvar jb_simple_page_hero_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nh1 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh1 {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.625rem;\n line-height: 2.188rem;\n}\n@media (min-width: 1281px) {\n h1 {\n font-size: 1.938rem;\n line-height: 2.625rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n@media (min-width: 1281px) {\n :host {\n padding: 40px 0 20px;\n }\n}\n\nh1 {\n margin-bottom: 16px;\n text-align: center;\n}`;\n\n// src/components/jb-simple-page-hero/jb-simple-page-hero.ts\nvar JbSimplePageHero = class extends Spaceable(h) {\n _getContentSpacingProperties() {\n return { type: \"no-vertical-space\" };\n }\n render() {\n return ke`

    `;\n }\n};\nJbSimplePageHero.styles = r(jb_simple_page_hero_default);\nJbSimplePageHero = __decorateClass([\n customElement(\"jb-simple-page-hero\")\n], JbSimplePageHero);\n\nexport {\n JbSimplePageHero\n};\n", "import {\n Linkable,\n setLink\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-section-sitemap/jb-section-sitemap.scss?inline\nvar jb_section_sitemap_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nli a {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\nh2 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nli a {\n font-size: var(--theme-typo-uppercase-700-fontsize, 0.688rem);\n letter-spacing: var(--theme-typo-uppercase-700-letterspacing, 0.063rem);\n line-height: var(--theme-typo-uppercase-700-lineheight, 1rem);\n text-transform: uppercase;\n}\n\nh2 {\n font-size: var(--theme-typo-h2-section-title-mobile-fontsize, 1.5rem);\n letter-spacing: var(--theme-typo-h2-section-title-mobile-letterspacing, 0.125rem);\n line-height: var(--theme-typo-h2-section-title-mobile-lineheight, 2.25rem);\n}\n@media (min-width: 1281px) {\n h2 {\n font-size: var(--theme-typo-h2-section-title-desktop-fontsize, 1.938rem);\n letter-spacing: var(--theme-typo-h2-section-title-desktop-letterspacing, 0.25rem);\n line-height: var(--theme-typo-h2-section-title-desktop-lineheight, 2.5rem);\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\nnav {\n --_grid-gap: 16px;\n --_grid-template-columns: repeat(12, 1fr);\n display: grid;\n gap: var(--grid-row-gap, 0) var(--grid-column-gap, var(--_grid-gap));\n grid-template-columns: var(--theme-grid-template-columns, var(--_grid-template-columns));\n width: 100%;\n}\n@media (min-width: 960px) {\n nav {\n --_grid-gap: 40px;\n }\n}\n\nsection {\n --_max-width: calc(100% - (2 * 6.68%));\n display: grid;\n grid-template-columns: [full-start] minmax(0, 1fr) [main-start] minmax(0, var(--theme-grid-max-width, var(--_max-width))) [main-end] minmax(0, 1fr) [full-end];\n margin-inline: auto;\n}\n@media (min-width: 600px) {\n section {\n --_max-width: calc(100% - (2 * 8.35%));\n }\n}\n@media (min-width: 960px) {\n section {\n --_max-width: calc(100% - (2 * 6.955%));\n }\n}\n@media (min-width: 1437px) {\n section {\n --_max-width: 1437px;\n }\n}\n\n:host {\n color: var(--host-color, #141e55);\n}\n\nsection {\n background-color: rgba(113, 124, 125, 0.1);\n padding: var(--spacing-xl) 0;\n padding-inline-end: var(--compensate-scrollbar);\n}\n@media (min-width: 600px) {\n section {\n padding: 48px 0;\n }\n}\n@media (min-width: 960px) {\n section {\n padding: 64px 0;\n }\n}\n@media (min-width: 1281px) {\n section {\n padding: var(--spacing-2xl) 0;\n }\n}\n\nnav {\n grid-column: main;\n}\n\nh2 {\n grid-column: 1/13;\n margin-block-end: var(--spacing-sm);\n text-align: center;\n text-transform: uppercase;\n transition: opacity 0.3s ease-in-out 0s;\n}\n@media (min-width: 600px) {\n h2 {\n grid-column: 1/7;\n text-align: start;\n }\n}\n@media (min-width: 960px) {\n h2 {\n grid-column: 2/6;\n }\n}\n@media (min-width: 1281px) {\n h2 {\n margin-block-end: 0;\n }\n}\nh2:hover {\n opacity: 0.6;\n}\nh2 a {\n color: #141e55;\n text-decoration: none;\n}\n\nul {\n grid-column: 1/13;\n list-style-type: none;\n}\n@media (min-width: 600px) {\n ul {\n grid-column: 7/13;\n }\n}\n@media (min-width: 960px) {\n ul {\n column-count: 2;\n column-gap: var(--_grid-gap, 40px);\n grid-column: 6/12;\n }\n}\n\nli {\n margin-block-end: var(--spacing-sm);\n text-align: center;\n}\n@media (min-width: 600px) {\n li {\n text-align: start;\n }\n}\nli a {\n color: #141e55;\n opacity: 1;\n text-decoration: none;\n text-transform: uppercase;\n transition: opacity 0.3s ease-in-out 0s;\n}\nli a:hover {\n opacity: 0.6;\n transition: opacity 0.3s ease-in-out 0s;\n}\n\n@media (min-width: 600px) {\n .intranet h2 {\n text-align: left;\n }\n}\n@media (min-width: 960px) {\n .intranet h2 {\n grid-column: 1/6;\n }\n}`;\n\n// src/components/jb-section-sitemap/jb-section-sitemap.ts\nvar JbSectionSitemap = class extends Linkable(h) {\n _renderItems(items) {\n return items.map((item) => {\n const anchor = document.createElement(\"a\");\n if (item.link) setLink(anchor, item.link);\n anchor.innerText = item.text;\n return ke`
  • ${anchor}
  • `;\n });\n }\n render() {\n return ke`\n
    \n \n
    \n `;\n }\n};\nJbSectionSitemap.styles = r(jb_section_sitemap_default);\n__decorateClass([\n n({ type: Boolean })\n], JbSectionSitemap.prototype, \"intranetStyle\", 2);\n__decorateClass([\n n({ type: Array })\n], JbSectionSitemap.prototype, \"items\", 2);\n__decorateClass([\n n()\n], JbSectionSitemap.prototype, \"text\", 2);\nJbSectionSitemap = __decorateClass([\n customElement(\"jb-section-sitemap\")\n], JbSectionSitemap);\n\nexport {\n JbSectionSitemap\n};\n", "import {\n JbReadIcon\n} from \"../chunks/chunk.752YB4LQ.js\";\nimport {\n JbPodcastIcon\n} from \"../chunks/chunk.HHGEJVLI.js\";\nimport {\n JbTextWithImage\n} from \"../chunks/chunk.BUINRXUZ.js\";\nimport {\n JbTimeline\n} from \"../chunks/chunk.QMJLMCQD.js\";\nimport {\n JbTextTeaser\n} from \"../chunks/chunk.BWCJXF4C.js\";\nimport {\n JbStockChart\n} from \"../chunks/chunk.IVFP57X3.js\";\nimport {\n JbSimplePageHero\n} from \"../chunks/chunk.K5I5FY2G.js\";\nimport {\n JbSectionSitemap\n} from \"../chunks/chunk.CLSO3QKV.js\";\nimport {\n JbSearchOverlay\n} from \"../chunks/chunk.77CS2EJF.js\";\nimport {\n JbSearchResult\n} from \"../chunks/chunk.QNHAANAD.js\";\nimport {\n JbSearchResultList\n} from \"../chunks/chunk.27KPVSCE.js\";\nimport {\n JbSearchResultItem\n} from \"../chunks/chunk.WS54TDSR.js\";\nimport {\n JbRegionSelectOverlay\n} from \"../chunks/chunk.VZ6THPUN.js\";\nimport \"../chunks/chunk.RTAXJRGK.js\";\nimport \"../chunks/chunk.JBQASJWR.js\";\nimport {\n JbQuote\n} from \"../chunks/chunk.V3OED5WC.js\";\nimport {\n JbRegionIndicator\n} from \"../chunks/chunk.ASLWQTBO.js\";\nimport {\n JbRegionIndicatorItem\n} from \"../chunks/chunk.ZULSURGS.js\";\nimport {\n JbPodcastPlayer\n} from \"../chunks/chunk.V3FXZTXQ.js\";\nimport {\n JbPublicationDownloadOverlay\n} from \"../chunks/chunk.BW2O4P4N.js\";\nimport {\n JbPublicationDownload\n} from \"../chunks/chunk.GGLFCMKS.js\";\nimport {\n JbPageHero\n} from \"../chunks/chunk.FVOAOYBA.js\";\nimport {\n JbNewsPageHero\n} from \"../chunks/chunk.M37CL26E.js\";\nimport {\n JbNewsletterRegistrationForm\n} from \"../chunks/chunk.4F2M66NW.js\";\nimport {\n JbMultiForm\n} from \"../chunks/chunk.DOXN3ITF.js\";\nimport {\n JbNavigation\n} from \"../chunks/chunk.L3NYRMHF.js\";\nimport {\n JbEServiceIcon\n} from \"../chunks/chunk.BJDVKDSN.js\";\nimport {\n JbBurgerIcon\n} from \"../chunks/chunk.ECWSRW7A.js\";\nimport {\n JbSearchIcon\n} from \"../chunks/chunk.SHZV3OKI.js\";\nimport {\n JbNavigationTags\n} from \"../chunks/chunk.TRJPDM73.js\";\nimport {\n JbNewsOverlay\n} from \"../chunks/chunk.EAZXTLIG.js\";\nimport {\n JBMomentPageHero\n} from \"../chunks/chunk.RTMBLKCR.js\";\nimport {\n JbMomentTeaserItem\n} from \"../chunks/chunk.FJRJNS57.js\";\nimport {\n JbMultiColumn\n} from \"../chunks/chunk.O3OQH7K5.js\";\nimport {\n JbMenu\n} from \"../chunks/chunk.4MWPCD76.js\";\nimport {\n JbServiceNavigation\n} from \"../chunks/chunk.IK4GS6MF.js\";\nimport {\n JbServiceNavigationItem\n} from \"../chunks/chunk.VQTQWDQ7.js\";\nimport {\n JbSecondaryMenuList\n} from \"../chunks/chunk.YHFXFDOO.js\";\nimport \"../chunks/chunk.OOINLVPA.js\";\nimport {\n JbMenuItem\n} from \"../chunks/chunk.BLHU75DH.js\";\nimport {\n JbArrowForwardIcon\n} from \"../chunks/chunk.JEMJHKRF.js\";\nimport {\n JbLocationTeaser\n} from \"../chunks/chunk.OA7VOAPF.js\";\nimport {\n JbMediaOverlay\n} from \"../chunks/chunk.T7ZSXYMK.js\";\nimport {\n JbListingGrid\n} from \"../chunks/chunk.XNGCFV5F.js\";\nimport {\n JbLocationOverview\n} from \"../chunks/chunk.HMT5EUCL.js\";\nimport {\n JbLanguageAlert\n} from \"../chunks/chunk.T4U2INBF.js\";\nimport {\n JbLanguageItem\n} from \"../chunks/chunk.CANFYQQ7.js\";\nimport {\n JbLazyLoadingUploads\n} from \"../chunks/chunk.KDSRYXYR.js\";\nimport {\n JbListing\n} from \"../chunks/chunk.NX52RSH4.js\";\nimport \"../chunks/chunk.RWKEWVB7.js\";\nimport {\n JbInfoPageHero\n} from \"../chunks/chunk.DF3LUGOU.js\";\nimport {\n JbInteractiveAnimation\n} from \"../chunks/chunk.GMKEIOWU.js\";\nimport {\n JbKeyFigures\n} from \"../chunks/chunk.32VXYCDQ.js\";\nimport {\n JbImagePageTeaserItem\n} from \"../chunks/chunk.XFFAINSZ.js\";\nimport {\n JbInTextTeaser\n} from \"../chunks/chunk.FQKKF3C4.js\";\nimport {\n JbMarketDisplay\n} from \"../chunks/chunk.YPSOHBHF.js\";\nimport {\n JbLanguageIcon\n} from \"../chunks/chunk.HELPNYSY.js\";\nimport {\n JbInfoBlock\n} from \"../chunks/chunk.LNPHJVN7.js\";\nimport {\n JbHomePageHeroLegacy\n} from \"../chunks/chunk.HHLOTGBW.js\";\nimport {\n JbTeaserBlock\n} from \"../chunks/chunk.ZCPWJJYC.js\";\nimport \"../chunks/chunk.ZHKWOFXT.js\";\nimport \"../chunks/chunk.SIK7NCSO.js\";\nimport \"../chunks/chunk.LIYZ3SIB.js\";\nimport {\n JbHeadlineWithText\n} from \"../chunks/chunk.E35EZG5G.js\";\nimport {\n JbHighlightTextItem\n} from \"../chunks/chunk.F5UPFIWT.js\";\nimport {\n JbHomePageHero\n} from \"../chunks/chunk.IFGLMA6Z.js\";\nimport {\n JbFooter\n} from \"../chunks/chunk.62SKAJCV.js\";\nimport {\n JbYoutubeIcon\n} from \"../chunks/chunk.RJXHZNWG.js\";\nimport {\n JbInstagramIcon\n} from \"../chunks/chunk.7HQEG5H3.js\";\nimport {\n JbForm\n} from \"../chunks/chunk.WTUUVMAF.js\";\nimport {\n JbUpload\n} from \"../chunks/chunk.NPPUQA4O.js\";\nimport {\n JbTextArea\n} from \"../chunks/chunk.BJJ5PNCU.js\";\nimport {\n JbTextField\n} from \"../chunks/chunk.GQ4TGWC7.js\";\nimport {\n JbRadio\n} from \"../chunks/chunk.P37ZQKMH.js\";\nimport \"../chunks/chunk.LEEHA55O.js\";\nimport {\n JbInfoBox\n} from \"../chunks/chunk.PLAKMPEF.js\";\nimport {\n JbGallery,\n JbGalleryFullscreen\n} from \"../chunks/chunk.IAVA7Y6D.js\";\nimport {\n JbFullscreenIcon\n} from \"../chunks/chunk.GACLELN2.js\";\nimport {\n JbFacts\n} from \"../chunks/chunk.YGAYY4BL.js\";\nimport {\n JbFirstLevelTeaser\n} from \"../chunks/chunk.2XXCJ6EM.js\";\nimport {\n JbFirstLevelTeaserItem\n} from \"../chunks/chunk.FXJI6FZV.js\";\nimport {\n JbCtaSmall\n} from \"../chunks/chunk.PUFGUSAM.js\";\nimport {\n JbDatePicker\n} from \"../chunks/chunk.ZHFQDBJP.js\";\nimport {\n JbEServiceOverlay\n} from \"../chunks/chunk.JVL4FYYT.js\";\nimport {\n JbSelect\n} from \"../chunks/chunk.OUQ73RZJ.js\";\nimport {\n JbCookieConsent\n} from \"../chunks/chunk.IV2SXBZI.js\";\nimport \"../chunks/chunk.SE5MQEAG.js\";\nimport {\n JbDropdown\n} from \"../chunks/chunk.ROUOKNYN.js\";\nimport \"../chunks/chunk.I2ELSNII.js\";\nimport \"../chunks/chunk.JFNWOIMP.js\";\nimport \"../chunks/chunk.PO4WO7D2.js\";\nimport {\n JbCookieSettings\n} from \"../chunks/chunk.7OA654OI.js\";\nimport {\n JbRichtext\n} from \"../chunks/chunk.MRDK22UH.js\";\nimport {\n JbContactOverlay\n} from \"../chunks/chunk.POQH7ZYI.js\";\nimport \"../chunks/chunk.WDF6H473.js\";\nimport {\n JbOverlay\n} from \"../chunks/chunk.5C7B4R5Q.js\";\nimport \"../chunks/chunk.Y44YK2W3.js\";\nimport {\n JbContactTeaser\n} from \"../chunks/chunk.VDIVEPQD.js\";\nimport {\n JbContactTeaserLegacy\n} from \"../chunks/chunk.AB62R6KA.js\";\nimport {\n JbContactItem\n} from \"../chunks/chunk.C37QKVKR.js\";\nimport {\n JbPhoneIcon\n} from \"../chunks/chunk.XVJ4WHML.js\";\nimport {\n JbContactGrid\n} from \"../chunks/chunk.PUAXHAH4.js\";\nimport {\n JbContactGroup\n} from \"../chunks/chunk.2I4QDVY4.js\";\nimport {\n JbCheckbox\n} from \"../chunks/chunk.KTE6IORC.js\";\nimport {\n JbCollapsible\n} from \"../chunks/chunk.LKQXZBJF.js\";\nimport {\n JbColumnDisplay\n} from \"../chunks/chunk.KJMO6BEV.js\";\nimport {\n JbColumnGuide,\n JbColumnGuideContent\n} from \"../chunks/chunk.UWAXNSMX.js\";\nimport \"../chunks/chunk.F7BCU7QM.js\";\nimport {\n JbCampaignPageHero\n} from \"../chunks/chunk.6JPQVH7P.js\";\nimport \"../chunks/chunk.DNZEGT2V.js\";\nimport \"../chunks/chunk.2A7RK45S.js\";\nimport \"../chunks/chunk.WDM4XYVR.js\";\nimport {\n JbCampaignPageHeroFullscreen\n} from \"../chunks/chunk.3W7RZU2O.js\";\nimport {\n JbVideo\n} from \"../chunks/chunk.HQJGAF2F.js\";\nimport \"../chunks/chunk.UW2KYD6R.js\";\nimport \"../chunks/chunk.RYXMHMS2.js\";\nimport \"../chunks/chunk.LXB4MYP4.js\";\nimport {\n JbCampaignTeaser\n} from \"../chunks/chunk.4P35WRRG.js\";\nimport {\n JbCarousel\n} from \"../chunks/chunk.MRDRT5SN.js\";\nimport {\n JbMediaTeaser\n} from \"../chunks/chunk.H3VCC3ZM.js\";\nimport \"../chunks/chunk.VVD5NVY2.js\";\nimport {\n JbButtonPrimary\n} from \"../chunks/chunk.HREF7OKC.js\";\nimport \"../chunks/chunk.76WY2E6U.js\";\nimport {\n JbButtonBack\n} from \"../chunks/chunk.JSKV525N.js\";\nimport {\n JbArrowBackIcon\n} from \"../chunks/chunk.UMYVKK54.js\";\nimport {\n JbArticleWide\n} from \"../chunks/chunk.IS2557WK.js\";\nimport {\n JbAudioPlayer\n} from \"../chunks/chunk.YS3JLXIK.js\";\nimport \"../chunks/chunk.OPQL6DWW.js\";\nimport \"../chunks/chunk.KUFWAGYG.js\";\nimport {\n JbTimer\n} from \"../chunks/chunk.4VOTNDAP.js\";\nimport {\n JbPlayPauseButton\n} from \"../chunks/chunk.J2PLVEFN.js\";\nimport {\n JbListingItem\n} from \"../chunks/chunk.3JMUDKMC.js\";\nimport {\n JbArticlePageHero\n} from \"../chunks/chunk.LPIHYFV2.js\";\nimport {\n JbImage\n} from \"../chunks/chunk.WWWPAF42.js\";\nimport \"../chunks/chunk.UT6XSSZZ.js\";\nimport \"../chunks/chunk.YHV4AI6E.js\";\nimport \"../chunks/chunk.RJFNBB25.js\";\nimport {\n JbArticleRow\n} from \"../chunks/chunk.OSEA2LDS.js\";\nimport {\n JbSectionHeadline\n} from \"../chunks/chunk.BBC2VFSF.js\";\nimport {\n JbArticleToolBar\n} from \"../chunks/chunk.CGWOWGCQ.js\";\nimport {\n JbArticleShareBar\n} from \"../chunks/chunk.CJ3A6B7N.js\";\nimport {\n JbXIcon\n} from \"../chunks/chunk.ZPTK75F2.js\";\nimport {\n JbLinkedinIcon\n} from \"../chunks/chunk.265HHFX5.js\";\nimport {\n JbFacebookIcon\n} from \"../chunks/chunk.FNSNIWPZ.js\";\nimport {\n JbAlert\n} from \"../chunks/chunk.LJT6WRAW.js\";\nimport {\n JbLogo\n} from \"../chunks/chunk.6ZBEXHUN.js\";\nimport {\n JbCloseIcon\n} from \"../chunks/chunk.5SGCPDSP.js\";\nimport \"../chunks/chunk.Z6P446BB.js\";\nimport {\n JbButtonPanel\n} from \"../chunks/chunk.3HJXLVF4.js\";\nimport {\n JbButton\n} from \"../chunks/chunk.BRZYRWW4.js\";\nimport {\n JbVideoIcon\n} from \"../chunks/chunk.7NUVYMIM.js\";\nimport \"../chunks/chunk.BPDOBKMA.js\";\nimport {\n JbButtonSecondary\n} from \"../chunks/chunk.RSUHM5A4.js\";\nimport {\n JbArrowNavigation\n} from \"../chunks/chunk.ILIDJXOF.js\";\nimport {\n JbArrowIcon\n} from \"../chunks/chunk.JZBUGZSK.js\";\nimport {\n JbArticleBackToTop\n} from \"../chunks/chunk.X54LEMBT.js\";\nimport {\n JbButtonTertiary\n} from \"../chunks/chunk.NLEHAJ2S.js\";\nimport {\n JbArticleCard\n} from \"../chunks/chunk.SLNKXAAV.js\";\nimport {\n JbTeaserHeader\n} from \"../chunks/chunk.CYCXHUS4.js\";\nimport {\n JbThumbnail\n} from \"../chunks/chunk.T2AKSR4X.js\";\nimport {\n JbTag\n} from \"../chunks/chunk.INSN44VR.js\";\nimport {\n JbTeaserMeta\n} from \"../chunks/chunk.IWZTO2XW.js\";\nimport {\n JbTime\n} from \"../chunks/chunk.FJS43VEZ.js\";\nimport {\n JbCalendarIcon\n} from \"../chunks/chunk.OE6UAQWN.js\";\nimport {\n JbGlobeIcon\n} from \"../chunks/chunk.XIL76UR7.js\";\nimport {\n JbClockIcon\n} from \"../chunks/chunk.TOO2RKNZ.js\";\nimport {\n JbDate\n} from \"../chunks/chunk.G64OMJ2S.js\";\nimport {\n JbPicture\n} from \"../chunks/chunk.6YCBDJX2.js\";\nimport \"../chunks/chunk.ZXFS3F4J.js\";\nimport {\n JbAccordion\n} from \"../chunks/chunk.WT6EN2KH.js\";\nimport {\n JbAccordionItem\n} from \"../chunks/chunk.GVDQY5LD.js\";\nimport \"../chunks/chunk.YDQDJZUC.js\";\nimport \"../chunks/chunk.UTVDNTSP.js\";\nimport {\n JbWealthReport\n} from \"../chunks/chunk.4UPGNDI3.js\";\nimport {\n JbWealthReportGlobe\n} from \"../chunks/chunk.RQ3Q7COP.js\";\nimport {\n JbWealthReportList\n} from \"../chunks/chunk.LC7UDLJM.js\";\nimport {\n JbWealthReportStats\n} from \"../chunks/chunk.TP5VMHXU.js\";\nimport {\n JbClearIcon\n} from \"../chunks/chunk.D4KVZEB7.js\";\nimport {\n JbChevronIcon\n} from \"../chunks/chunk.N5JSYD2S.js\";\nimport \"../chunks/chunk.637M2SN5.js\";\nimport \"../chunks/chunk.Q25FCJRM.js\";\nimport {\n JbContentSpacing\n} from \"../chunks/chunk.G3SZKTQJ.js\";\nimport \"../chunks/chunk.YTEMICXC.js\";\nimport \"../chunks/chunk.LTAMHVKK.js\";\nimport \"../chunks/chunk.OZEBCGEZ.js\";\nimport \"../chunks/chunk.TOSSI7AO.js\";\nimport \"../chunks/chunk.6DHNIVN5.js\";\nimport \"../chunks/chunk.ABOYTYJO.js\";\nimport {\n JbInternalIcon\n} from \"../chunks/chunk.7ZO5ST7S.js\";\nimport {\n JbInPageIcon\n} from \"../chunks/chunk.EELGOWGJ.js\";\nimport {\n JbDownloadIcon\n} from \"../chunks/chunk.WEV4VAJB.js\";\nimport {\n JbExternalIcon\n} from \"../chunks/chunk.NQ4JNTZU.js\";\nimport {\n JbMailIcon\n} from \"../chunks/chunk.KR4IFKAA.js\";\nimport \"../chunks/chunk.QAGUCU4C.js\";\nimport \"../chunks/chunk.A4SFXC3I.js\";\nimport \"../chunks/chunk.KZGIJPE3.js\";\nimport \"../chunks/chunk.VRR2P3PQ.js\";\nimport \"../chunks/chunk.7PRSKJZQ.js\";\nimport \"../chunks/chunk.7ANACPIR.js\";\nimport \"../chunks/chunk.WXNWU2SV.js\";\nimport \"../chunks/chunk.FCKNEYTX.js\";\nimport \"../chunks/chunk.BBN2ZB42.js\";\nimport \"../chunks/chunk.FAJKIEWS.js\";\nimport \"../chunks/chunk.I4IFG4JG.js\";\nexport {\n JBMomentPageHero,\n JbAccordion,\n JbAccordionItem,\n JbAlert,\n JbArrowBackIcon,\n JbArrowForwardIcon,\n JbArrowIcon,\n JbArrowNavigation,\n JbArticleBackToTop,\n JbArticleCard,\n JbArticlePageHero,\n JbArticleRow,\n JbArticleShareBar,\n JbArticleToolBar,\n JbArticleWide,\n JbAudioPlayer,\n JbBurgerIcon,\n JbButton,\n JbButtonBack,\n JbButtonPanel,\n JbButtonPrimary,\n JbButtonSecondary,\n JbButtonTertiary,\n JbCalendarIcon,\n JbCampaignPageHero,\n JbCampaignPageHeroFullscreen,\n JbCampaignTeaser,\n JbCarousel,\n JbCheckbox,\n JbChevronIcon,\n JbClearIcon,\n JbClockIcon,\n JbCloseIcon,\n JbCollapsible,\n JbColumnDisplay,\n JbColumnGuide,\n JbColumnGuideContent,\n JbContactGrid,\n JbContactGroup,\n JbContactItem,\n JbContactOverlay,\n JbContactTeaser,\n JbContactTeaserLegacy,\n JbContentSpacing,\n JbCookieConsent,\n JbCookieSettings,\n JbCtaSmall,\n JbDate,\n JbDatePicker,\n JbDownloadIcon,\n JbDropdown,\n JbEServiceIcon,\n JbEServiceOverlay,\n JbExternalIcon,\n JbFacebookIcon,\n JbFacts,\n JbFirstLevelTeaser,\n JbFirstLevelTeaserItem,\n JbFooter,\n JbForm,\n JbFullscreenIcon,\n JbGallery,\n JbGalleryFullscreen,\n JbGlobeIcon,\n JbHeadlineWithText,\n JbHighlightTextItem,\n JbHomePageHero,\n JbHomePageHeroLegacy,\n JbImage,\n JbImagePageTeaserItem,\n JbInPageIcon,\n JbInTextTeaser,\n JbInfoBlock,\n JbInfoBox,\n JbInfoPageHero,\n JbInstagramIcon,\n JbInteractiveAnimation,\n JbInternalIcon,\n JbKeyFigures,\n JbLanguageAlert,\n JbLanguageIcon,\n JbLanguageItem,\n JbLazyLoadingUploads,\n JbLinkedinIcon,\n JbListing,\n JbListingGrid,\n JbListingItem,\n JbLocationOverview,\n JbLocationTeaser,\n JbLogo,\n JbMailIcon,\n JbMarketDisplay,\n JbMediaOverlay,\n JbMediaTeaser,\n JbMenu,\n JbMenuItem,\n JbMomentTeaserItem,\n JbMultiColumn,\n JbMultiForm,\n JbNavigation,\n JbNavigationTags,\n JbNewsOverlay,\n JbNewsPageHero,\n JbNewsletterRegistrationForm,\n JbOverlay,\n JbPageHero,\n JbPhoneIcon,\n JbPicture,\n JbPlayPauseButton,\n JbPodcastIcon,\n JbPodcastPlayer,\n JbPublicationDownload,\n JbPublicationDownloadOverlay,\n JbQuote,\n JbRadio,\n JbReadIcon,\n JbRegionIndicator,\n JbRegionIndicatorItem,\n JbRegionSelectOverlay,\n JbRichtext,\n JbSearchIcon,\n JbSearchOverlay,\n JbSearchResult,\n JbSearchResultItem,\n JbSearchResultList,\n JbSecondaryMenuList,\n JbSectionHeadline,\n JbSectionSitemap,\n JbSelect,\n JbServiceNavigation,\n JbServiceNavigationItem,\n JbSimplePageHero,\n JbStockChart,\n JbTag,\n JbTeaserBlock,\n JbTeaserHeader,\n JbTeaserMeta,\n JbTextArea,\n JbTextField,\n JbTextTeaser,\n JbTextWithImage,\n JbThumbnail,\n JbTime,\n JbTimeline,\n JbTimer,\n JbUpload,\n JbVideo,\n JbVideoIcon,\n JbWealthReport,\n JbWealthReportGlobe,\n JbWealthReportList,\n JbWealthReportStats,\n JbXIcon,\n JbYoutubeIcon\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-search-result/jb-search-result.scss?inline\nvar jb_search_result_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n margin-inline: auto;\n padding-block: 60px;\n width: 100%;\n}\n@media (min-width: 600px) {\n :host {\n width: 83.3%;\n }\n}\n@media (min-width: 960px) {\n :host {\n width: 100%;\n }\n}\n@media (min-width: 1281px) {\n :host {\n padding-block: 68px;\n }\n}\n\nsection {\n position: relative;\n}\nsection > div {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: calc(100% - 2 * var(--row-small-margin, 6.68%));\n}\n@media (min-width: 600px) and (max-width: 959px) {\n section > div {\n width: calc(100% - 2 * 8.35%);\n }\n}\n@media (min-width: 1437px) {\n section > div {\n max-width: var(--row-max-width, 1436px);\n }\n section > div:not(.filtered-list) {\n width: 100%;\n }\n}\n@media only screen and (min-width: 960px) and (max-width: 1436px) {\n section > div {\n margin: 0 6.955%;\n max-width: calc(100% - 6.955% - 6.955%);\n }\n}\n@media (min-width: 600px) {\n section > div {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: 100%;\n }\n}\n@media (min-width: 960px) {\n section > div {\n justify-content: center;\n }\n}\nsection > div jb-search-input {\n --stroke-color: #d0d2dd !important;\n --fill-color: #141e55;\n display: block;\n margin-top: 1px;\n position: relative;\n width: 100%;\n}\nsection > div jb-search-input::after {\n background-color: #d0d2dd !important;\n bottom: 0;\n content: \"\";\n display: inline-block;\n height: 1px;\n position: absolute;\n width: 100%;\n}\n@media (min-width: 600px) {\n section > div jb-search-input::after {\n left: 22px;\n width: calc(100% - 44px);\n }\n}\n@media (min-width: 960px) {\n section > div jb-search-input {\n padding-inline: 22px;\n width: 50%;\n }\n}\nsection > div div.navigation-filter-wrapper {\n margin-top: 22px;\n width: 100%;\n}\n@media (min-width: 600px) {\n section > div div.navigation-filter-wrapper {\n margin: 14px auto 0;\n width: 65%;\n }\n}\n@media (min-width: 960px) {\n section > div div.navigation-filter-wrapper {\n margin-top: 36px;\n }\n}\nsection > div div.navigation-filter-wrapper div.search-tags jb-navigation-tags {\n --row-width-mode: \"full\";\n --stroke-color: #d0d2dd;\n}\nsection > div div.search-result-list-wrapper {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 0;\n width: 100%;\n}\n@media (min-width: 600px) {\n section > div div.search-result-list-wrapper {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 20px;\n width: 100%;\n }\n}\n@media (min-width: 960px) {\n section > div div.search-result-list-wrapper {\n box-sizing: border-box;\n flex-basis: 75%;\n max-width: 75%;\n padding: 0 20px;\n width: 75%;\n }\n}\n@media (min-width: 1281px) {\n section > div div.search-result-list-wrapper {\n box-sizing: border-box;\n flex-basis: 66.6666666667%;\n max-width: 66.6666666667%;\n padding: 0 20px;\n width: 66.6666666667%;\n }\n}\n@media (min-width: 1437px) {\n section > div div.search-result-list-wrapper {\n box-sizing: border-box;\n flex-basis: 58.3333333333%;\n max-width: 58.3333333333%;\n padding: 0 20px;\n width: 58.3333333333%;\n }\n}\nsection > div div.search-result-list-wrapper jb-search-result-list {\n margin-top: 39px;\n}\n@media (min-width: 960px) {\n section > div div.search-result-list-wrapper jb-search-result-list {\n margin-top: 48px;\n }\n}`;\n\n// src/components/jb-search-result/jb-search-result.ts\nvar JbSearchResult = class extends h {\n firstUpdated() {\n if (this.searchTerm === \"\") return;\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_search\",\n event_version: \"v2\",\n component_name: \"search-result\",\n search_results_term: this.searchTerm,\n search_results_count: this.resultCount,\n search_results_filter: this.searchResultFilter,\n search_action: \"search\"\n },\n bubbles: true,\n composed: true\n })\n );\n }\n _trackFilter(evt) {\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_search\",\n event_version: \"v2\",\n component_name: \"search-result\",\n search_results_term: this.searchTerm,\n search_results_count: this.resultCount,\n search_action: \"filter\",\n search_results_filter: evt.detail.tag\n },\n bubbles: true,\n composed: true\n })\n );\n window.location.href = evt.detail.url;\n }\n _trackLoadMore() {\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_search\",\n event_version: \"v2\",\n component_name: \"search-result\",\n search_results_term: this.searchTerm,\n search_results_count: this.resultCount,\n search_results_filter: this.searchResultFilter,\n search_action: \"more\"\n },\n bubbles: true,\n composed: true\n })\n );\n }\n _trackResult(evt) {\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_search\",\n event_version: \"v2\",\n component_name: \"search-result\",\n search_results_term: this.searchTerm,\n search_results_count: this.resultCount,\n search_results_filter: this.searchResultFilter,\n search_action: \"click-result\",\n search_results_position: evt.detail.index,\n search_results_type: evt.detail.category,\n search_results_click_url: evt.detail.link.href\n },\n bubbles: true,\n composed: true\n })\n );\n }\n render() {\n return ke`\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n `;\n }\n};\nJbSearchResult.styles = r(jb_search_result_default);\n__decorateClass([\n n({ type: Array })\n], JbSearchResult.prototype, \"navigationTagItems\", 2);\n__decorateClass([\n n({ type: Number })\n], JbSearchResult.prototype, \"resultCount\", 2);\n__decorateClass([\n n({ type: Number })\n], JbSearchResult.prototype, \"resultsVisible\", 2);\n__decorateClass([\n n()\n], JbSearchResult.prototype, \"searchResultFilter\", 2);\n__decorateClass([\n n({ type: Object })\n], JbSearchResult.prototype, \"searchResultInput\", 2);\n__decorateClass([\n n({ type: Object })\n], JbSearchResult.prototype, \"searchResultList\", 2);\n__decorateClass([\n n()\n], JbSearchResult.prototype, \"searchTerm\", 2);\nJbSearchResult = __decorateClass([\n customElement(\"jb-search-result\")\n], JbSearchResult);\n\nexport {\n JbSearchResult\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-search-result-list/jb-search-result-list.scss?inline\nvar jb_search_result_list_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.count {\n font-family: var(--theme-font-regular-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-regular-weight, 400);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n position: relative;\n}\n\n.count {\n font-size: 16px;\n font-size: 1rem;\n line-height: 26px;\n line-height: 1.625rem;\n color: rgba(20, 30, 85, var(--theme-opacity-80, 0.8));\n}\n\n.button_wrapper {\n display: flex;\n justify-content: center;\n margin-top: 51px;\n}`;\n\n// src/components/jb-search-result-list/jb-search-result-list.ts\nvar JbSearchResultList = class extends h {\n constructor() {\n super(...arguments);\n this._isLoading = false;\n }\n _loadMore(event) {\n event.preventDefault();\n if (this._isLoading && this.loadMoreUrl) return;\n this.dispatchEvent(\n new CustomEvent(\"jb-search:loadmore\", {\n bubbles: true,\n composed: true\n })\n );\n this._isLoading = true;\n const newArticles = [];\n fetch(this.loadMoreUrl).then((response) => response.json()).then((data) => {\n data.resultSet?.forEach((element) => {\n const articleDate = new Date(element.changed);\n newArticles.push({\n breadcrumbItems: element.breadcrumbs_stringM?.map((breadcrumb) => ({\n text: breadcrumb,\n link: {\n href: \"#\"\n }\n })),\n category: String(element.factetType).toLocaleLowerCase(),\n date: {\n date: `${articleDate.getDate().toString().padStart(2, \"0\")}.${(articleDate.getMonth() + 1).toString().padStart(2, \"0\")}.${articleDate.getFullYear()}`\n },\n headline: element.title,\n previewText: element.teaser,\n link: {\n href: `${window.location.protocol}//${element.site}${element.url}`\n },\n languages: element.availableLanguages?.map((language) => ({\n text: language.twoLetterIsoCode,\n link: {\n data: {\n newsOverlay: {\n id: language.newsTranslationUid,\n url: language.newsApiUrl\n }\n }\n }\n }))\n });\n });\n if (data.nextUrl !== \"\") {\n this.loadMoreUrl = data.nextUrl;\n } else {\n this.buttonLabel = \"\";\n }\n this.searchResults.push(...newArticles);\n this.resultsVisible = this.searchResults.length;\n this._isLoading = false;\n });\n }\n render() {\n return ke`
    \n
    \n ${this.resultCount > 0 ? ke`${this.resultsVisible} ${this.labelOf} ` : D} ${this.resultCount}\n ${this.labelResults}\n
    \n
    \n \n ${this.searchResults.map(\n (item, index) => ke`${item.previewText}`\n )}\n \n
    \n ${this.buttonLabel && this.resultCount > 0 ? ke`\n
    \n \n
    \n ` : D}\n
    `;\n }\n};\nJbSearchResultList.styles = r(jb_search_result_list_default);\n__decorateClass([\n n()\n], JbSearchResultList.prototype, \"buttonLabel\", 2);\n__decorateClass([\n n()\n], JbSearchResultList.prototype, \"labelOf\", 2);\n__decorateClass([\n n()\n], JbSearchResultList.prototype, \"labelResults\", 2);\n__decorateClass([\n n()\n], JbSearchResultList.prototype, \"loadMoreUrl\", 2);\n__decorateClass([\n n({ type: Number })\n], JbSearchResultList.prototype, \"resultCount\", 2);\n__decorateClass([\n n({ type: Number })\n], JbSearchResultList.prototype, \"resultsVisible\", 2);\n__decorateClass([\n n({ type: Array })\n], JbSearchResultList.prototype, \"searchResults\", 2);\n__decorateClass([\n r2()\n], JbSearchResultList.prototype, \"_isLoading\", 2);\nJbSearchResultList = __decorateClass([\n customElement(\"jb-search-result-list\")\n], JbSearchResultList);\n\nexport {\n JbSearchResultList\n};\n", "import {\n ae\n} from \"./chunk.Q25FCJRM.js\";\nimport {\n Linkable\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// node_modules/lit-html/directives/choose.js\nvar rr = (r2, o, t) => {\n for (const t2 of o) if (t2[0] === r2) return (0, t2[1])();\n return t?.();\n};\n\n// src/components/jb-search-result-item/jb-search-result-item.scss?inline\nvar jb_search_result_item_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\narticle {\n position: relative;\n}\narticle::before, article::after {\n bottom: 0;\n content: \"\";\n height: 1px;\n position: absolute;\n width: 100%;\n z-index: 101;\n}\narticle::before {\n background: rgba(20, 30, 85, 0.2);\n}\narticle::after {\n background: #141e55;\n transform: scaleX(0);\n transform-origin: left;\n transition: transform 0.8s ease-in-out;\n}\narticle:hover::after {\n transform: scaleX(1);\n transition-duration: 0.5s;\n}\n\n/* stylelint-disable */\n/* stylelint-enable */\n.category {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\nh5, slot {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nslot {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--text-opacity, var(--theme-opacity-80, 0.8)));\n font-size: 1rem;\n line-height: 1.625rem;\n}\n\n.category {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.063rem;\n line-height: 1rem;\n}\n\nh5 {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.313rem;\n line-height: 2.125rem;\n}\n@media (min-width: 1281px) {\n h5 {\n font-size: 1.5rem;\n line-height: 2.25rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\narticle {\n display: flex;\n flex-direction: column;\n -moz-osx-font-smoothing: grayscale;\n overflow: hidden;\n padding: 30px 0 0;\n transform: translateZ(0);\n}\n@media (min-width: 960px) {\n article {\n flex-direction: row;\n padding: 34px 0 0;\n }\n}\n\n.category {\n color: #a2a5bb;\n display: inline-block;\n margin-bottom: 16px;\n padding: 0;\n pointer-events: initial;\n position: relative;\n text-transform: uppercase;\n width: 140px;\n}\n@media (min-width: 960px) {\n .category {\n margin-bottom: 0;\n }\n}\n\na {\n display: inline-block;\n text-decoration: none;\n width: 100%;\n}\n\nh5 {\n font-size: 24px;\n font-size: 1.5rem;\n margin-bottom: 12px;\n}\n\nslot {\n -webkit-box-orient: vertical;\n display: block;\n -webkit-line-clamp: 4;\n margin-bottom: 20px;\n max-height: 104px;\n overflow: hidden;\n}\n@media (min-width: 960px) {\n slot {\n -webkit-line-clamp: 3;\n margin-bottom: 24px;\n max-height: 80px;\n }\n}\n\n.content-wrap {\n display: block;\n max-width: 100%;\n overflow-x: hidden;\n padding-left: 0;\n width: 100%;\n}\n\nul {\n display: inline-block;\n padding-left: 24px;\n}\n\n.news,\n.article,\n.page {\n padding-bottom: 30px;\n}\n@media (min-width: 960px) {\n .news,\n .article,\n .page {\n padding-bottom: 34px;\n }\n}\n.news breadcrumb-item,\n.article breadcrumb-item,\n.page breadcrumb-item {\n margin-bottom: 16px;\n}\n\n.page,\n.article {\n display: flex;\n flex-wrap: nowrap;\n position: relative;\n white-space: nowrap;\n}\n.page::before,\n.article::before {\n background: linear-gradient(to right, rgba(255, 255, 255, 0) 90%, white);\n content: \"\";\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n z-index: 100;\n}\n.page jb-date,\n.article jb-date {\n margin-right: 28px;\n padding-top: 2px;\n}\n.page jb-breadcrumbs,\n.article jb-breadcrumbs {\n flex-grow: 1;\n}\n\njb-language-item {\n padding: 0 15px;\n position: relative;\n}\njb-language-item:first-of-type {\n padding-left: 0;\n}\njb-language-item::after {\n background-color: rgb(var(--rgb-primary, 20, 30, 85));\n border-radius: 100%;\n content: \"\";\n height: 3px;\n position: absolute;\n right: 0;\n top: 50%;\n transform: translateY(-50%);\n width: 3px;\n}\njb-language-item:last-of-type::after {\n content: none;\n}\n\njb-date {\n display: inline-block;\n}\n\njb-breadcrumbs {\n display: block;\n margin-bottom: 0;\n}\n\njb-breadcrumbs-item {\n display: none;\n padding-left: 0;\n}\njb-breadcrumbs-item:not(:first-of-type) {\n --padding-left: 24px;\n}\njb-breadcrumbs-item:nth-last-child(2) {\n --dot-display: none;\n}\n@media (min-width: 600px) {\n jb-breadcrumbs-item {\n display: inline-block;\n }\n jb-breadcrumbs-item:nth-last-child(2) {\n --dot-display: block;\n }\n}\njb-breadcrumbs-item:nth-last-child(2), jb-breadcrumbs-item:nth-last-child(3) {\n display: inline-block;\n}`;\n\n// src/components/jb-search-result-item/jb-search-result-item.ts\nvar JbSearchResultItem = class extends Linkable(h) {\n _trackClick() {\n this.dispatchEvent(\n new CustomEvent(\"jb-search:result\", {\n detail: this,\n bubbles: true,\n composed: true\n })\n );\n }\n render() {\n return ke`
    \n
    ${this.category}
    \n
    \n \n
    ${ae(this.headline)}
    \n \n \n \n \n ${rr(\n this.category,\n [\n [\n \"article\",\n () => ke`
    \n \n
    `\n ],\n [\n \"news\",\n () => ke`
    \n \n
      \n ${this.languages?.map(\n (language) => ke``\n )}\n
    \n
    `\n ],\n [\n \"page\",\n () => ke`
    \n \n \n ${this.breadcrumbItems?.map(\n (breadcrumb) => ke``\n )}\n \n \n
    `\n ]\n ],\n () => ke`Category: ${this.category} not found`\n )}\n
    \n
    `;\n }\n};\nJbSearchResultItem.styles = r(jb_search_result_item_default);\n__decorateClass([\n n({ type: Array })\n], JbSearchResultItem.prototype, \"breadcrumbItems\", 2);\n__decorateClass([\n n()\n], JbSearchResultItem.prototype, \"category\", 2);\n__decorateClass([\n n({ type: Object })\n], JbSearchResultItem.prototype, \"date\", 2);\n__decorateClass([\n n()\n], JbSearchResultItem.prototype, \"headline\", 2);\n__decorateClass([\n n({ type: Number })\n], JbSearchResultItem.prototype, \"index\", 2);\n__decorateClass([\n n({ type: Array })\n], JbSearchResultItem.prototype, \"languages\", 2);\n__decorateClass([\n n({ type: Object })\n], JbSearchResultItem.prototype, \"link\", 2);\nJbSearchResultItem = __decorateClass([\n customElement(\"jb-search-result-item\")\n], JbSearchResultItem);\n\nexport {\n JbSearchResultItem\n};\n/*! Bundled license information:\n\nlit-html/directives/choose.js:\n (**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n*/\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-quote/jb-quote.scss?inline\nvar jb_quote_default = i`@charset \"UTF-8\";\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\np, footer, .pullquote footer, .pullquote p {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.pullquote p {\n font-size: var(--theme-typo-h2-subtitle-mobile-fontsize, 1.625rem);\n line-height: var(--theme-typo-h2-subtitle-mobile-lineheight, 2.188rem);\n}\n@media (min-width: 1281px) {\n .pullquote p {\n font-size: var(--theme-typo-h2-subtitle-desktop-fontsize, 1.938rem);\n line-height: var(--theme-typo-h2-subtitle-desktop-lineheight, 2.625rem);\n }\n}\n\n.pullquote footer {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\n\nfooter {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--text-opacity, var(--theme-opacity-80, 0.8)));\n font-size: 1rem;\n line-height: 1.625rem;\n}\n\np {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.625rem;\n line-height: 2.188rem;\n}\n@media (min-width: 1281px) {\n p {\n font-size: 1.938rem;\n line-height: 2.625rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\np {\n color: #141e55;\n margin-block-end: var(--spacing-s);\n}\np::before {\n content: \"\u201C\";\n}\np::after {\n content: \"\u201D\";\n}\n\n.pullquote {\n border-inline-start: 1px solid #b0aa7e;\n padding-block: var(--spacing-3xs);\n padding-inline-start: var(--spacing-m);\n}\n.pullquote p {\n font-style: italic;\n}\n.pullquote footer {\n color: rgba(20, 30, 85, var(--theme-opacity-80, 0.8));\n}`;\n\n// src/components/jb-quote/jb-quote.ts\nvar JbQuote = class extends Spaceable(h) {\n _getContentSpacingProperties() {\n return { grid: \"legacy\", colsMdUp: 8, type: \"text\" };\n }\n render() {\n return ke`\n
    \n

    ${this.quote}

    \n
    ${this.author}
    \n
    \n `;\n }\n};\nJbQuote.styles = r(jb_quote_default);\n__decorateClass([\n n()\n], JbQuote.prototype, \"author\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbQuote.prototype, \"isPullQuote\", 2);\n__decorateClass([\n n()\n], JbQuote.prototype, \"quote\", 2);\nJbQuote = __decorateClass([\n customElement(\"jb-quote\")\n], JbQuote);\n\nexport {\n JbQuote\n};\n", "import {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n t\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-region-indicator/jb-region-indicator.scss?inline\nvar jb_region_indicator_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nul {\n -moz-osx-font-smoothing: grayscale;\n overflow: hidden;\n position: relative;\n transform: translateZ(0);\n align-items: center;\n cursor: pointer;\n display: var(--display, flex);\n font-size: 0;\n padding-inline-end: var(--spacing-sm);\n position: relative;\n z-index: 10;\n}\nul::before {\n animation-direction: reverse;\n background-color: rgba(var(--rgb-primary, 255, 255, 255), 0.2);\n bottom: 0;\n content: \"\";\n height: 30px;\n left: 0;\n position: absolute;\n transition: height 0.3s ease 0.2s;\n width: 1px;\n}\nul::after {\n background: rgba(var(--rgb-primary, 255, 255, 255), 0.2);\n bottom: 0;\n content: \"\";\n height: 1px;\n left: 0;\n position: absolute;\n right: 100%;\n transition: right 0.3s ease-in-out 0.2s;\n}\nul:hover::before {\n height: 0;\n}\nul:hover::after {\n right: 10%;\n}\nul::before {\n bottom: 0;\n content: \"\";\n display: none;\n height: var(--before-height, 33px);\n left: 0;\n position: absolute;\n width: 1px;\n}\n@media (min-width: 1281px) {\n ul::before {\n display: block;\n }\n}\nul::after {\n display: none;\n right: var(--after-right, 100%);\n top: 35px;\n}\n@media (min-width: 1281px) {\n ul::after {\n display: block;\n }\n}\nul:hover::after {\n right: 30px;\n}\n@supports (-webkit-appearance: none) {\n ul:hover::after {\n right: 13%;\n }\n}\n@media all and (-ms-high-contrast: none) {\n ul:hover::after {\n right: 13%;\n }\n}\n\n::slotted(jb-region-indicator-item:not(:last-of-type)) {\n --dot-display: block;\n --padding-right: 20px;\n}`;\n\n// src/components/jb-region-indicator/jb-region-indicator.ts\nvar JbRegionIndicator = class extends h {\n firstUpdated() {\n this.addEventListener(\"click\", (e) => {\n e.preventDefault();\n this.dispatchEvent(new CustomEvent(\"region-indicator:clicked\", { bubbles: true, composed: true }));\n });\n this.requestUpdate();\n }\n render() {\n return ke`
      \n \n
    `;\n }\n};\nJbRegionIndicator.styles = r(jb_region_indicator_default);\nJbRegionIndicator = __decorateClass([\n t(\"jb-region-indicator\")\n], JbRegionIndicator);\n\nexport {\n JbRegionIndicator\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-region-indicator-item/jb-region-indicator-item.scss?inline\nvar jb_region_indicator_item_default = i`@charset \"UTF-8\";\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nspan {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\nspan {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.063rem;\n line-height: 1rem;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nli {\n align-items: flex-end;\n display: inline-flex;\n list-style: none;\n position: relative;\n}\nli::after {\n color: rgb(var(--rgb-primary, 255, 255, 255));\n content: \"\u00A0\u00B7\u00A0\";\n display: var(--dot-display, none);\n font-size: 1rem;\n font-weight: 700;\n line-height: 2.25rem;\n}\n\nspan {\n color: rgb(var(--rgb-primary, 255, 255, 255));\n display: inline-block;\n line-height: 2.25rem;\n text-decoration: none;\n text-transform: uppercase;\n}\nspan:not(.short) {\n display: none;\n}\n@media (min-width: 1281px) {\n span:not(.short) {\n display: inline;\n }\n span.short {\n display: none;\n }\n}\n\njb-globe-icon {\n align-self: center;\n block-size: var(--spacing-s);\n display: inline-block;\n inline-size: var(--spacing-s);\n margin-block-start: 1px;\n margin-inline: 0 var(--spacing-2xs);\n}\n@media (min-width: 1281px) {\n jb-globe-icon {\n margin-inline-start: var(--spacing-s);\n }\n}`;\n\n// src/components/jb-region-indicator-item/jb-region-indicator-item.ts\nvar JbRegionIndicatorItem = class extends h {\n constructor() {\n super(...arguments);\n this.hasGlobe = false;\n }\n render() {\n return ke`\n
  • \n ${this.hasGlobe ? ke`` : D}\n ${this.text}\n ${this.textFull}\n
  • \n `;\n }\n};\nJbRegionIndicatorItem.styles = r(jb_region_indicator_item_default);\n__decorateClass([\n n({ type: Boolean })\n], JbRegionIndicatorItem.prototype, \"hasGlobe\", 2);\n__decorateClass([\n n()\n], JbRegionIndicatorItem.prototype, \"text\", 2);\n__decorateClass([\n n()\n], JbRegionIndicatorItem.prototype, \"textFull\", 2);\nJbRegionIndicatorItem = __decorateClass([\n customElement(\"jb-region-indicator-item\")\n], JbRegionIndicatorItem);\n\nexport {\n JbRegionIndicatorItem\n};\n", "import {\n i\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __commonJS\n} from \"./chunk.I4IFG4JG.js\";\n\n// node_modules/plyr/dist/plyr.min.js\nvar require_plyr_min = __commonJS({\n \"node_modules/plyr/dist/plyr.min.js\"(exports, module) {\n \"object\" == typeof navigator && function(e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(\"Plyr\", t) : (e = \"undefined\" != typeof globalThis ? globalThis : e || self).Plyr = t();\n }(exports, function() {\n \"use strict\";\n function e(e2, t2, i3) {\n return (t2 = function(e3) {\n var t3 = function(e4, t4) {\n if (\"object\" != typeof e4 || null === e4) return e4;\n var i4 = e4[Symbol.toPrimitive];\n if (void 0 !== i4) {\n var s2 = i4.call(e4, t4 || \"default\");\n if (\"object\" != typeof s2) return s2;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === t4 ? String : Number)(e4);\n }(e3, \"string\");\n return \"symbol\" == typeof t3 ? t3 : String(t3);\n }(t2)) in e2 ? Object.defineProperty(e2, t2, { value: i3, enumerable: true, configurable: true, writable: true }) : e2[t2] = i3, e2;\n }\n function t(e2, t2) {\n for (var i3 = 0; i3 < t2.length; i3++) {\n var s2 = t2[i3];\n s2.enumerable = s2.enumerable || false, s2.configurable = true, \"value\" in s2 && (s2.writable = true), Object.defineProperty(e2, s2.key, s2);\n }\n }\n function i2(e2, t2, i3) {\n return t2 in e2 ? Object.defineProperty(e2, t2, { value: i3, enumerable: true, configurable: true, writable: true }) : e2[t2] = i3, e2;\n }\n function s(e2, t2) {\n var i3 = Object.keys(e2);\n if (Object.getOwnPropertySymbols) {\n var s2 = Object.getOwnPropertySymbols(e2);\n t2 && (s2 = s2.filter(function(t3) {\n return Object.getOwnPropertyDescriptor(e2, t3).enumerable;\n })), i3.push.apply(i3, s2);\n }\n return i3;\n }\n function n(e2) {\n for (var t2 = 1; t2 < arguments.length; t2++) {\n var n2 = null != arguments[t2] ? arguments[t2] : {};\n t2 % 2 ? s(Object(n2), true).forEach(function(t3) {\n i2(e2, t3, n2[t3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(n2)) : s(Object(n2)).forEach(function(t3) {\n Object.defineProperty(e2, t3, Object.getOwnPropertyDescriptor(n2, t3));\n });\n }\n return e2;\n }\n var a = { addCSS: true, thumbWidth: 15, watch: true };\n var l = function(e2) {\n return null != e2 ? e2.constructor : null;\n }, r = function(e2, t2) {\n return !!(e2 && t2 && e2 instanceof t2);\n }, o = function(e2) {\n return null == e2;\n }, c = function(e2) {\n return l(e2) === Object;\n }, u = function(e2) {\n return l(e2) === String;\n }, h = function(e2) {\n return Array.isArray(e2);\n }, d = function(e2) {\n return r(e2, NodeList);\n }, m = { nullOrUndefined: o, object: c, number: function(e2) {\n return l(e2) === Number && !Number.isNaN(e2);\n }, string: u, boolean: function(e2) {\n return l(e2) === Boolean;\n }, function: function(e2) {\n return l(e2) === Function;\n }, array: h, nodeList: d, element: function(e2) {\n return r(e2, Element);\n }, event: function(e2) {\n return r(e2, Event);\n }, empty: function(e2) {\n return o(e2) || (u(e2) || h(e2) || d(e2)) && !e2.length || c(e2) && !Object.keys(e2).length;\n } };\n function p(e2, t2) {\n if (1 > t2) {\n var i3 = function(e3) {\n var t3 = \"\".concat(e3).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\n return t3 ? Math.max(0, (t3[1] ? t3[1].length : 0) - (t3[2] ? +t3[2] : 0)) : 0;\n }(t2);\n return parseFloat(e2.toFixed(i3));\n }\n return Math.round(e2 / t2) * t2;\n }\n var g = function() {\n function e2(t2, i3) {\n (function(e3, t3) {\n if (!(e3 instanceof t3)) throw new TypeError(\"Cannot call a class as a function\");\n })(this, e2), m.element(t2) ? this.element = t2 : m.string(t2) && (this.element = document.querySelector(t2)), m.element(this.element) && m.empty(this.element.rangeTouch) && (this.config = n({}, a, {}, i3), this.init());\n }\n return function(e3, i3, s2) {\n i3 && t(e3.prototype, i3), s2 && t(e3, s2);\n }(e2, [{ key: \"init\", value: function() {\n e2.enabled && (this.config.addCSS && (this.element.style.userSelect = \"none\", this.element.style.webKitUserSelect = \"none\", this.element.style.touchAction = \"manipulation\"), this.listeners(true), this.element.rangeTouch = this);\n } }, { key: \"destroy\", value: function() {\n e2.enabled && (this.config.addCSS && (this.element.style.userSelect = \"\", this.element.style.webKitUserSelect = \"\", this.element.style.touchAction = \"\"), this.listeners(false), this.element.rangeTouch = null);\n } }, { key: \"listeners\", value: function(e3) {\n var t2 = this, i3 = e3 ? \"addEventListener\" : \"removeEventListener\";\n [\"touchstart\", \"touchmove\", \"touchend\"].forEach(function(e4) {\n t2.element[i3](e4, function(e5) {\n return t2.set(e5);\n }, false);\n });\n } }, { key: \"get\", value: function(t2) {\n if (!e2.enabled || !m.event(t2)) return null;\n var i3, s2 = t2.target, n2 = t2.changedTouches[0], a2 = parseFloat(s2.getAttribute(\"min\")) || 0, l2 = parseFloat(s2.getAttribute(\"max\")) || 100, r2 = parseFloat(s2.getAttribute(\"step\")) || 1, o2 = s2.getBoundingClientRect(), c2 = 100 / o2.width * (this.config.thumbWidth / 2) / 100;\n return 0 > (i3 = 100 / o2.width * (n2.clientX - o2.left)) ? i3 = 0 : 100 < i3 && (i3 = 100), 50 > i3 ? i3 -= (100 - 2 * i3) * c2 : 50 < i3 && (i3 += 2 * (i3 - 50) * c2), a2 + p(i3 / 100 * (l2 - a2), r2);\n } }, { key: \"set\", value: function(t2) {\n e2.enabled && m.event(t2) && !t2.target.disabled && (t2.preventDefault(), t2.target.value = this.get(t2), function(e3, t3) {\n if (e3 && t3) {\n var i3 = new Event(t3, { bubbles: true });\n e3.dispatchEvent(i3);\n }\n }(t2.target, \"touchend\" === t2.type ? \"change\" : \"input\"));\n } }], [{ key: \"setup\", value: function(t2) {\n var i3 = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {}, s2 = null;\n if (m.empty(t2) || m.string(t2) ? s2 = Array.from(document.querySelectorAll(m.string(t2) ? t2 : 'input[type=\"range\"]')) : m.element(t2) ? s2 = [t2] : m.nodeList(t2) ? s2 = Array.from(t2) : m.array(t2) && (s2 = t2.filter(m.element)), m.empty(s2)) return null;\n var l2 = n({}, a, {}, i3);\n if (m.string(t2) && l2.watch) {\n var r2 = new MutationObserver(function(i4) {\n Array.from(i4).forEach(function(i5) {\n Array.from(i5.addedNodes).forEach(function(i6) {\n m.element(i6) && function(e3, t3) {\n return function() {\n return Array.from(document.querySelectorAll(t3)).includes(this);\n }.call(e3, t3);\n }(i6, t2) && new e2(i6, l2);\n });\n });\n });\n r2.observe(document.body, { childList: true, subtree: true });\n }\n return s2.map(function(t3) {\n return new e2(t3, i3);\n });\n } }, { key: \"enabled\", get: function() {\n return \"ontouchstart\" in document.documentElement;\n } }]), e2;\n }();\n const f = (e2) => null != e2 ? e2.constructor : null, y = (e2, t2) => Boolean(e2 && t2 && e2 instanceof t2), b = (e2) => null == e2, v = (e2) => f(e2) === Object, w = (e2) => f(e2) === String, T = (e2) => \"function\" == typeof e2, k = (e2) => Array.isArray(e2), C = (e2) => y(e2, NodeList), A = (e2) => b(e2) || (w(e2) || k(e2) || C(e2)) && !e2.length || v(e2) && !Object.keys(e2).length;\n var S = { nullOrUndefined: b, object: v, number: (e2) => f(e2) === Number && !Number.isNaN(e2), string: w, boolean: (e2) => f(e2) === Boolean, function: T, array: k, weakMap: (e2) => y(e2, WeakMap), nodeList: C, element: (e2) => null !== e2 && \"object\" == typeof e2 && 1 === e2.nodeType && \"object\" == typeof e2.style && \"object\" == typeof e2.ownerDocument, textNode: (e2) => f(e2) === Text, event: (e2) => y(e2, Event), keyboardEvent: (e2) => y(e2, KeyboardEvent), cue: (e2) => y(e2, window.TextTrackCue) || y(e2, window.VTTCue), track: (e2) => y(e2, TextTrack) || !b(e2) && w(e2.kind), promise: (e2) => y(e2, Promise) && T(e2.then), url: (e2) => {\n if (y(e2, window.URL)) return true;\n if (!w(e2)) return false;\n let t2 = e2;\n e2.startsWith(\"http://\") && e2.startsWith(\"https://\") || (t2 = `http://${e2}`);\n try {\n return !A(new URL(t2).hostname);\n } catch (e3) {\n return false;\n }\n }, empty: A };\n const E = (() => {\n const e2 = document.createElement(\"span\"), t2 = { WebkitTransition: \"webkitTransitionEnd\", MozTransition: \"transitionend\", OTransition: \"oTransitionEnd otransitionend\", transition: \"transitionend\" }, i3 = Object.keys(t2).find((t3) => void 0 !== e2.style[t3]);\n return !!S.string(i3) && t2[i3];\n })();\n function P(e2, t2) {\n setTimeout(() => {\n try {\n e2.hidden = true, e2.offsetHeight, e2.hidden = false;\n } catch (e3) {\n }\n }, t2);\n }\n var M = { isIE: Boolean(window.document.documentMode), isEdge: /Edge/g.test(navigator.userAgent), isWebKit: \"WebkitAppearance\" in document.documentElement.style && !/Edge/g.test(navigator.userAgent), isIPhone: /iPhone|iPod/gi.test(navigator.userAgent) && navigator.maxTouchPoints > 1, isIPadOS: \"MacIntel\" === navigator.platform && navigator.maxTouchPoints > 1, isIos: /iPad|iPhone|iPod/gi.test(navigator.userAgent) && navigator.maxTouchPoints > 1 };\n function N(e2, t2) {\n return t2.split(\".\").reduce((e3, t3) => e3 && e3[t3], e2);\n }\n function x(e2 = {}, ...t2) {\n if (!t2.length) return e2;\n const i3 = t2.shift();\n return S.object(i3) ? (Object.keys(i3).forEach((t3) => {\n S.object(i3[t3]) ? (Object.keys(e2).includes(t3) || Object.assign(e2, { [t3]: {} }), x(e2[t3], i3[t3])) : Object.assign(e2, { [t3]: i3[t3] });\n }), x(e2, ...t2)) : e2;\n }\n function L(e2, t2) {\n const i3 = e2.length ? e2 : [e2];\n Array.from(i3).reverse().forEach((e3, i4) => {\n const s2 = i4 > 0 ? t2.cloneNode(true) : t2, n2 = e3.parentNode, a2 = e3.nextSibling;\n s2.appendChild(e3), a2 ? n2.insertBefore(s2, a2) : n2.appendChild(s2);\n });\n }\n function I(e2, t2) {\n S.element(e2) && !S.empty(t2) && Object.entries(t2).filter(([, e3]) => !S.nullOrUndefined(e3)).forEach(([t3, i3]) => e2.setAttribute(t3, i3));\n }\n function $(e2, t2, i3) {\n const s2 = document.createElement(e2);\n return S.object(t2) && I(s2, t2), S.string(i3) && (s2.innerText = i3), s2;\n }\n function _(e2, t2, i3, s2) {\n S.element(t2) && t2.appendChild($(e2, i3, s2));\n }\n function O(e2) {\n S.nodeList(e2) || S.array(e2) ? Array.from(e2).forEach(O) : S.element(e2) && S.element(e2.parentNode) && e2.parentNode.removeChild(e2);\n }\n function j(e2) {\n if (!S.element(e2)) return;\n let { length: t2 } = e2.childNodes;\n for (; t2 > 0; ) e2.removeChild(e2.lastChild), t2 -= 1;\n }\n function q(e2, t2) {\n return S.element(t2) && S.element(t2.parentNode) && S.element(e2) ? (t2.parentNode.replaceChild(e2, t2), e2) : null;\n }\n function D(e2, t2) {\n if (!S.string(e2) || S.empty(e2)) return {};\n const i3 = {}, s2 = x({}, t2);\n return e2.split(\",\").forEach((e3) => {\n const t3 = e3.trim(), n2 = t3.replace(\".\", \"\"), a2 = t3.replace(/[[\\]]/g, \"\").split(\"=\"), [l2] = a2, r2 = a2.length > 1 ? a2[1].replace(/[\"']/g, \"\") : \"\";\n switch (t3.charAt(0)) {\n case \".\":\n S.string(s2.class) ? i3.class = `${s2.class} ${n2}` : i3.class = n2;\n break;\n case \"#\":\n i3.id = t3.replace(\"#\", \"\");\n break;\n case \"[\":\n i3[l2] = r2;\n }\n }), x(s2, i3);\n }\n function H(e2, t2) {\n if (!S.element(e2)) return;\n let i3 = t2;\n S.boolean(i3) || (i3 = !e2.hidden), e2.hidden = i3;\n }\n function R(e2, t2, i3) {\n if (S.nodeList(e2)) return Array.from(e2).map((e3) => R(e3, t2, i3));\n if (S.element(e2)) {\n let s2 = \"toggle\";\n return void 0 !== i3 && (s2 = i3 ? \"add\" : \"remove\"), e2.classList[s2](t2), e2.classList.contains(t2);\n }\n return false;\n }\n function F(e2, t2) {\n return S.element(e2) && e2.classList.contains(t2);\n }\n function V(e2, t2) {\n const { prototype: i3 } = Element;\n return (i3.matches || i3.webkitMatchesSelector || i3.mozMatchesSelector || i3.msMatchesSelector || function() {\n return Array.from(document.querySelectorAll(t2)).includes(this);\n }).call(e2, t2);\n }\n function U(e2) {\n return this.elements.container.querySelectorAll(e2);\n }\n function B(e2) {\n return this.elements.container.querySelector(e2);\n }\n function W(e2 = null, t2 = false) {\n S.element(e2) && e2.focus({ preventScroll: true, focusVisible: t2 });\n }\n const z = { \"audio/ogg\": \"vorbis\", \"audio/wav\": \"1\", \"video/webm\": \"vp8, vorbis\", \"video/mp4\": \"avc1.42E01E, mp4a.40.2\", \"video/ogg\": \"theora\" }, K = { audio: \"canPlayType\" in document.createElement(\"audio\"), video: \"canPlayType\" in document.createElement(\"video\"), check(e2, t2) {\n const i3 = K[e2] || \"html5\" !== t2;\n return { api: i3, ui: i3 && K.rangeInput };\n }, pip: !(M.isIPhone || !S.function($(\"video\").webkitSetPresentationMode) && (!document.pictureInPictureEnabled || $(\"video\").disablePictureInPicture)), airplay: S.function(window.WebKitPlaybackTargetAvailabilityEvent), playsinline: \"playsInline\" in document.createElement(\"video\"), mime(e2) {\n if (S.empty(e2)) return false;\n const [t2] = e2.split(\"/\");\n let i3 = e2;\n if (!this.isHTML5 || t2 !== this.type) return false;\n Object.keys(z).includes(i3) && (i3 += `; codecs=\"${z[e2]}\"`);\n try {\n return Boolean(i3 && this.media.canPlayType(i3).replace(/no/, \"\"));\n } catch (e3) {\n return false;\n }\n }, textTracks: \"textTracks\" in document.createElement(\"video\"), rangeInput: (() => {\n const e2 = document.createElement(\"input\");\n return e2.type = \"range\", \"range\" === e2.type;\n })(), touch: \"ontouchstart\" in document.documentElement, transitions: false !== E, reducedMotion: \"matchMedia\" in window && window.matchMedia(\"(prefers-reduced-motion)\").matches }, Y = (() => {\n let e2 = false;\n try {\n const t2 = Object.defineProperty({}, \"passive\", { get: () => (e2 = true, null) });\n window.addEventListener(\"test\", null, t2), window.removeEventListener(\"test\", null, t2);\n } catch (e3) {\n }\n return e2;\n })();\n function Q(e2, t2, i3, s2 = false, n2 = true, a2 = false) {\n if (!e2 || !(\"addEventListener\" in e2) || S.empty(t2) || !S.function(i3)) return;\n const l2 = t2.split(\" \");\n let r2 = a2;\n Y && (r2 = { passive: n2, capture: a2 }), l2.forEach((t3) => {\n this && this.eventListeners && s2 && this.eventListeners.push({ element: e2, type: t3, callback: i3, options: r2 }), e2[s2 ? \"addEventListener\" : \"removeEventListener\"](t3, i3, r2);\n });\n }\n function X(e2, t2 = \"\", i3, s2 = true, n2 = false) {\n Q.call(this, e2, t2, i3, true, s2, n2);\n }\n function J(e2, t2 = \"\", i3, s2 = true, n2 = false) {\n Q.call(this, e2, t2, i3, false, s2, n2);\n }\n function G(e2, t2 = \"\", i3, s2 = true, n2 = false) {\n const a2 = (...l2) => {\n J(e2, t2, a2, s2, n2), i3.apply(this, l2);\n };\n Q.call(this, e2, t2, a2, true, s2, n2);\n }\n function Z(e2, t2 = \"\", i3 = false, s2 = {}) {\n if (!S.element(e2) || S.empty(t2)) return;\n const n2 = new CustomEvent(t2, { bubbles: i3, detail: { ...s2, plyr: this } });\n e2.dispatchEvent(n2);\n }\n function ee() {\n this && this.eventListeners && (this.eventListeners.forEach((e2) => {\n const { element: t2, type: i3, callback: s2, options: n2 } = e2;\n t2.removeEventListener(i3, s2, n2);\n }), this.eventListeners = []);\n }\n function te() {\n return new Promise((e2) => this.ready ? setTimeout(e2, 0) : X.call(this, this.elements.container, \"ready\", e2)).then(() => {\n });\n }\n function ie(e2) {\n S.promise(e2) && e2.then(null, () => {\n });\n }\n function se(e2) {\n return S.array(e2) ? e2.filter((t2, i3) => e2.indexOf(t2) === i3) : e2;\n }\n function ne(e2, t2) {\n return S.array(e2) && e2.length ? e2.reduce((e3, i3) => Math.abs(i3 - t2) < Math.abs(e3 - t2) ? i3 : e3) : null;\n }\n function ae(e2) {\n return !(!window || !window.CSS) && window.CSS.supports(e2);\n }\n const le = [[1, 1], [4, 3], [3, 4], [5, 4], [4, 5], [3, 2], [2, 3], [16, 10], [10, 16], [16, 9], [9, 16], [21, 9], [9, 21], [32, 9], [9, 32]].reduce((e2, [t2, i3]) => ({ ...e2, [t2 / i3]: [t2, i3] }), {});\n function re(e2) {\n if (!(S.array(e2) || S.string(e2) && e2.includes(\":\"))) return false;\n return (S.array(e2) ? e2 : e2.split(\":\")).map(Number).every(S.number);\n }\n function oe(e2) {\n if (!S.array(e2) || !e2.every(S.number)) return null;\n const [t2, i3] = e2, s2 = (e3, t3) => 0 === t3 ? e3 : s2(t3, e3 % t3), n2 = s2(t2, i3);\n return [t2 / n2, i3 / n2];\n }\n function ce(e2) {\n const t2 = (e3) => re(e3) ? e3.split(\":\").map(Number) : null;\n let i3 = t2(e2);\n if (null === i3 && (i3 = t2(this.config.ratio)), null === i3 && !S.empty(this.embed) && S.array(this.embed.ratio) && ({ ratio: i3 } = this.embed), null === i3 && this.isHTML5) {\n const { videoWidth: e3, videoHeight: t3 } = this.media;\n i3 = [e3, t3];\n }\n return oe(i3);\n }\n function ue(e2) {\n if (!this.isVideo) return {};\n const { wrapper: t2 } = this.elements, i3 = ce.call(this, e2);\n if (!S.array(i3)) return {};\n const [s2, n2] = oe(i3), a2 = 100 / s2 * n2;\n if (ae(`aspect-ratio: ${s2}/${n2}`) ? t2.style.aspectRatio = `${s2}/${n2}` : t2.style.paddingBottom = `${a2}%`, this.isVimeo && !this.config.vimeo.premium && this.supported.ui) {\n const e3 = 100 / this.media.offsetWidth * parseInt(window.getComputedStyle(this.media).paddingBottom, 10), i4 = (e3 - a2) / (e3 / 50);\n this.fullscreen.active ? t2.style.paddingBottom = null : this.media.style.transform = `translateY(-${i4}%)`;\n } else this.isHTML5 && t2.classList.add(this.config.classNames.videoFixedRatio);\n return { padding: a2, ratio: i3 };\n }\n function he(e2, t2, i3 = 0.05) {\n const s2 = e2 / t2, n2 = ne(Object.keys(le), s2);\n return Math.abs(n2 - s2) <= i3 ? le[n2] : [e2, t2];\n }\n const de = { getSources() {\n if (!this.isHTML5) return [];\n return Array.from(this.media.querySelectorAll(\"source\")).filter((e2) => {\n const t2 = e2.getAttribute(\"type\");\n return !!S.empty(t2) || K.mime.call(this, t2);\n });\n }, getQualityOptions() {\n return this.config.quality.forced ? this.config.quality.options : de.getSources.call(this).map((e2) => Number(e2.getAttribute(\"size\"))).filter(Boolean);\n }, setup() {\n if (!this.isHTML5) return;\n const e2 = this;\n e2.options.speed = e2.config.speed.options, S.empty(this.config.ratio) || ue.call(e2), Object.defineProperty(e2.media, \"quality\", { get() {\n const t2 = de.getSources.call(e2).find((t3) => t3.getAttribute(\"src\") === e2.source);\n return t2 && Number(t2.getAttribute(\"size\"));\n }, set(t2) {\n if (e2.quality !== t2) {\n if (e2.config.quality.forced && S.function(e2.config.quality.onChange)) e2.config.quality.onChange(t2);\n else {\n const i3 = de.getSources.call(e2).find((e3) => Number(e3.getAttribute(\"size\")) === t2);\n if (!i3) return;\n const { currentTime: s2, paused: n2, preload: a2, readyState: l2, playbackRate: r2 } = e2.media;\n e2.media.src = i3.getAttribute(\"src\"), (\"none\" !== a2 || l2) && (e2.once(\"loadedmetadata\", () => {\n e2.speed = r2, e2.currentTime = s2, n2 || ie(e2.play());\n }), e2.media.load());\n }\n Z.call(e2, e2.media, \"qualitychange\", false, { quality: t2 });\n }\n } });\n }, cancelRequests() {\n this.isHTML5 && (O(de.getSources.call(this)), this.media.setAttribute(\"src\", this.config.blankVideo), this.media.load(), this.debug.log(\"Cancelled network requests\"));\n } };\n function me(e2, ...t2) {\n return S.empty(e2) ? e2 : e2.toString().replace(/{(\\d+)}/g, (e3, i3) => t2[i3].toString());\n }\n const pe = (e2 = \"\", t2 = \"\", i3 = \"\") => e2.replace(new RegExp(t2.toString().replace(/([.*+?^=!:${}()|[\\]/\\\\])/g, \"\\\\$1\"), \"g\"), i3.toString()), ge = (e2 = \"\") => e2.toString().replace(/\\w\\S*/g, (e3) => e3.charAt(0).toUpperCase() + e3.slice(1).toLowerCase());\n function fe(e2 = \"\") {\n let t2 = e2.toString();\n return t2 = function(e3 = \"\") {\n let t3 = e3.toString();\n return t3 = pe(t3, \"-\", \" \"), t3 = pe(t3, \"_\", \" \"), t3 = ge(t3), pe(t3, \" \", \"\");\n }(t2), t2.charAt(0).toLowerCase() + t2.slice(1);\n }\n function ye(e2) {\n const t2 = document.createElement(\"div\");\n return t2.appendChild(e2), t2.innerHTML;\n }\n const be = { pip: \"PIP\", airplay: \"AirPlay\", html5: \"HTML5\", vimeo: \"Vimeo\", youtube: \"YouTube\" }, ve = { get(e2 = \"\", t2 = {}) {\n if (S.empty(e2) || S.empty(t2)) return \"\";\n let i3 = N(t2.i18n, e2);\n if (S.empty(i3)) return Object.keys(be).includes(e2) ? be[e2] : \"\";\n const s2 = { \"{seektime}\": t2.seekTime, \"{title}\": t2.title };\n return Object.entries(s2).forEach(([e3, t3]) => {\n i3 = pe(i3, e3, t3);\n }), i3;\n } };\n class we {\n constructor(t2) {\n e(this, \"get\", (e2) => {\n if (!we.supported || !this.enabled) return null;\n const t3 = window.localStorage.getItem(this.key);\n if (S.empty(t3)) return null;\n const i3 = JSON.parse(t3);\n return S.string(e2) && e2.length ? i3[e2] : i3;\n }), e(this, \"set\", (e2) => {\n if (!we.supported || !this.enabled) return;\n if (!S.object(e2)) return;\n let t3 = this.get();\n S.empty(t3) && (t3 = {}), x(t3, e2);\n try {\n window.localStorage.setItem(this.key, JSON.stringify(t3));\n } catch (e3) {\n }\n }), this.enabled = t2.config.storage.enabled, this.key = t2.config.storage.key;\n }\n static get supported() {\n try {\n if (!(\"localStorage\" in window)) return false;\n const e2 = \"___test\";\n return window.localStorage.setItem(e2, e2), window.localStorage.removeItem(e2), true;\n } catch (e2) {\n return false;\n }\n }\n }\n function Te(e2, t2 = \"text\") {\n return new Promise((i3, s2) => {\n try {\n const s3 = new XMLHttpRequest();\n if (!(\"withCredentials\" in s3)) return;\n s3.addEventListener(\"load\", () => {\n if (\"text\" === t2) try {\n i3(JSON.parse(s3.responseText));\n } catch (e3) {\n i3(s3.responseText);\n }\n else i3(s3.response);\n }), s3.addEventListener(\"error\", () => {\n throw new Error(s3.status);\n }), s3.open(\"GET\", e2, true), s3.responseType = t2, s3.send();\n } catch (e3) {\n s2(e3);\n }\n });\n }\n function ke(e2, t2) {\n if (!S.string(e2)) return;\n const i3 = \"cache\", s2 = S.string(t2);\n let n2 = false;\n const a2 = () => null !== document.getElementById(t2), l2 = (e3, t3) => {\n e3.innerHTML = t3, s2 && a2() || document.body.insertAdjacentElement(\"afterbegin\", e3);\n };\n if (!s2 || !a2()) {\n const a3 = we.supported, r2 = document.createElement(\"div\");\n if (r2.setAttribute(\"hidden\", \"\"), s2 && r2.setAttribute(\"id\", t2), a3) {\n const e3 = window.localStorage.getItem(`${i3}-${t2}`);\n if (n2 = null !== e3, n2) {\n const t3 = JSON.parse(e3);\n l2(r2, t3.content);\n }\n }\n Te(e2).then((e3) => {\n if (!S.empty(e3)) {\n if (a3) try {\n window.localStorage.setItem(`${i3}-${t2}`, JSON.stringify({ content: e3 }));\n } catch (e4) {\n }\n l2(r2, e3);\n }\n }).catch(() => {\n });\n }\n }\n const Ce = (e2) => Math.trunc(e2 / 60 / 60 % 60, 10), Ae = (e2) => Math.trunc(e2 / 60 % 60, 10), Se = (e2) => Math.trunc(e2 % 60, 10);\n function Ee(e2 = 0, t2 = false, i3 = false) {\n if (!S.number(e2)) return Ee(void 0, t2, i3);\n const s2 = (e3) => `0${e3}`.slice(-2);\n let n2 = Ce(e2);\n const a2 = Ae(e2), l2 = Se(e2);\n return n2 = t2 || n2 > 0 ? `${n2}:` : \"\", `${i3 && e2 > 0 ? \"-\" : \"\"}${n2}${s2(a2)}:${s2(l2)}`;\n }\n const Pe = { getIconUrl() {\n const e2 = new URL(this.config.iconUrl, window.location), t2 = window.location.host ? window.location.host : window.top.location.host, i3 = e2.host !== t2 || M.isIE && !window.svg4everybody;\n return { url: this.config.iconUrl, cors: i3 };\n }, findElements() {\n try {\n return this.elements.controls = B.call(this, this.config.selectors.controls.wrapper), this.elements.buttons = { play: U.call(this, this.config.selectors.buttons.play), pause: B.call(this, this.config.selectors.buttons.pause), restart: B.call(this, this.config.selectors.buttons.restart), rewind: B.call(this, this.config.selectors.buttons.rewind), fastForward: B.call(this, this.config.selectors.buttons.fastForward), mute: B.call(this, this.config.selectors.buttons.mute), pip: B.call(this, this.config.selectors.buttons.pip), airplay: B.call(this, this.config.selectors.buttons.airplay), settings: B.call(this, this.config.selectors.buttons.settings), captions: B.call(this, this.config.selectors.buttons.captions), fullscreen: B.call(this, this.config.selectors.buttons.fullscreen) }, this.elements.progress = B.call(this, this.config.selectors.progress), this.elements.inputs = { seek: B.call(this, this.config.selectors.inputs.seek), volume: B.call(this, this.config.selectors.inputs.volume) }, this.elements.display = { buffer: B.call(this, this.config.selectors.display.buffer), currentTime: B.call(this, this.config.selectors.display.currentTime), duration: B.call(this, this.config.selectors.display.duration) }, S.element(this.elements.progress) && (this.elements.display.seekTooltip = this.elements.progress.querySelector(`.${this.config.classNames.tooltip}`)), true;\n } catch (e2) {\n return this.debug.warn(\"It looks like there is a problem with your custom controls HTML\", e2), this.toggleNativeControls(true), false;\n }\n }, createIcon(e2, t2) {\n const i3 = \"http://www.w3.org/2000/svg\", s2 = Pe.getIconUrl.call(this), n2 = `${s2.cors ? \"\" : s2.url}#${this.config.iconPrefix}`, a2 = document.createElementNS(i3, \"svg\");\n I(a2, x(t2, { \"aria-hidden\": \"true\", focusable: \"false\" }));\n const l2 = document.createElementNS(i3, \"use\"), r2 = `${n2}-${e2}`;\n return \"href\" in l2 && l2.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", r2), l2.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"xlink:href\", r2), a2.appendChild(l2), a2;\n }, createLabel(e2, t2 = {}) {\n const i3 = ve.get(e2, this.config);\n return $(\"span\", { ...t2, class: [t2.class, this.config.classNames.hidden].filter(Boolean).join(\" \") }, i3);\n }, createBadge(e2) {\n if (S.empty(e2)) return null;\n const t2 = $(\"span\", { class: this.config.classNames.menu.value });\n return t2.appendChild($(\"span\", { class: this.config.classNames.menu.badge }, e2)), t2;\n }, createButton(e2, t2) {\n const i3 = x({}, t2);\n let s2 = fe(e2);\n const n2 = { element: \"button\", toggle: false, label: null, icon: null, labelPressed: null, iconPressed: null };\n switch ([\"element\", \"icon\", \"label\"].forEach((e3) => {\n Object.keys(i3).includes(e3) && (n2[e3] = i3[e3], delete i3[e3]);\n }), \"button\" !== n2.element || Object.keys(i3).includes(\"type\") || (i3.type = \"button\"), Object.keys(i3).includes(\"class\") ? i3.class.split(\" \").some((e3) => e3 === this.config.classNames.control) || x(i3, { class: `${i3.class} ${this.config.classNames.control}` }) : i3.class = this.config.classNames.control, e2) {\n case \"play\":\n n2.toggle = true, n2.label = \"play\", n2.labelPressed = \"pause\", n2.icon = \"play\", n2.iconPressed = \"pause\";\n break;\n case \"mute\":\n n2.toggle = true, n2.label = \"mute\", n2.labelPressed = \"unmute\", n2.icon = \"volume\", n2.iconPressed = \"muted\";\n break;\n case \"captions\":\n n2.toggle = true, n2.label = \"enableCaptions\", n2.labelPressed = \"disableCaptions\", n2.icon = \"captions-off\", n2.iconPressed = \"captions-on\";\n break;\n case \"fullscreen\":\n n2.toggle = true, n2.label = \"enterFullscreen\", n2.labelPressed = \"exitFullscreen\", n2.icon = \"enter-fullscreen\", n2.iconPressed = \"exit-fullscreen\";\n break;\n case \"play-large\":\n i3.class += ` ${this.config.classNames.control}--overlaid`, s2 = \"play\", n2.label = \"play\", n2.icon = \"play\";\n break;\n default:\n S.empty(n2.label) && (n2.label = s2), S.empty(n2.icon) && (n2.icon = e2);\n }\n const a2 = $(n2.element);\n return n2.toggle ? (a2.appendChild(Pe.createIcon.call(this, n2.iconPressed, { class: \"icon--pressed\" })), a2.appendChild(Pe.createIcon.call(this, n2.icon, { class: \"icon--not-pressed\" })), a2.appendChild(Pe.createLabel.call(this, n2.labelPressed, { class: \"label--pressed\" })), a2.appendChild(Pe.createLabel.call(this, n2.label, { class: \"label--not-pressed\" }))) : (a2.appendChild(Pe.createIcon.call(this, n2.icon)), a2.appendChild(Pe.createLabel.call(this, n2.label))), x(i3, D(this.config.selectors.buttons[s2], i3)), I(a2, i3), \"play\" === s2 ? (S.array(this.elements.buttons[s2]) || (this.elements.buttons[s2] = []), this.elements.buttons[s2].push(a2)) : this.elements.buttons[s2] = a2, a2;\n }, createRange(e2, t2) {\n const i3 = $(\"input\", x(D(this.config.selectors.inputs[e2]), { type: \"range\", min: 0, max: 100, step: 0.01, value: 0, autocomplete: \"off\", role: \"slider\", \"aria-label\": ve.get(e2, this.config), \"aria-valuemin\": 0, \"aria-valuemax\": 100, \"aria-valuenow\": 0 }, t2));\n return this.elements.inputs[e2] = i3, Pe.updateRangeFill.call(this, i3), g.setup(i3), i3;\n }, createProgress(e2, t2) {\n const i3 = $(\"progress\", x(D(this.config.selectors.display[e2]), { min: 0, max: 100, value: 0, role: \"progressbar\", \"aria-hidden\": true }, t2));\n if (\"volume\" !== e2) {\n i3.appendChild($(\"span\", null, \"0\"));\n const t3 = { played: \"played\", buffer: \"buffered\" }[e2], s2 = t3 ? ve.get(t3, this.config) : \"\";\n i3.innerText = `% ${s2.toLowerCase()}`;\n }\n return this.elements.display[e2] = i3, i3;\n }, createTime(e2, t2) {\n const i3 = D(this.config.selectors.display[e2], t2), s2 = $(\"div\", x(i3, { class: `${i3.class ? i3.class : \"\"} ${this.config.classNames.display.time} `.trim(), \"aria-label\": ve.get(e2, this.config), role: \"timer\" }), \"00:00\");\n return this.elements.display[e2] = s2, s2;\n }, bindMenuItemShortcuts(e2, t2) {\n X.call(this, e2, \"keydown keyup\", (i3) => {\n if (![\" \", \"ArrowUp\", \"ArrowDown\", \"ArrowRight\"].includes(i3.key)) return;\n if (i3.preventDefault(), i3.stopPropagation(), \"keydown\" === i3.type) return;\n const s2 = V(e2, '[role=\"menuitemradio\"]');\n if (!s2 && [\" \", \"ArrowRight\"].includes(i3.key)) Pe.showMenuPanel.call(this, t2, true);\n else {\n let t3;\n \" \" !== i3.key && (\"ArrowDown\" === i3.key || s2 && \"ArrowRight\" === i3.key ? (t3 = e2.nextElementSibling, S.element(t3) || (t3 = e2.parentNode.firstElementChild)) : (t3 = e2.previousElementSibling, S.element(t3) || (t3 = e2.parentNode.lastElementChild)), W.call(this, t3, true));\n }\n }, false), X.call(this, e2, \"keyup\", (e3) => {\n \"Return\" === e3.key && Pe.focusFirstMenuItem.call(this, null, true);\n });\n }, createMenuItem({ value: e2, list: t2, type: i3, title: s2, badge: n2 = null, checked: a2 = false }) {\n const l2 = D(this.config.selectors.inputs[i3]), r2 = $(\"button\", x(l2, { type: \"button\", role: \"menuitemradio\", class: `${this.config.classNames.control} ${l2.class ? l2.class : \"\"}`.trim(), \"aria-checked\": a2, value: e2 })), o2 = $(\"span\");\n o2.innerHTML = s2, S.element(n2) && o2.appendChild(n2), r2.appendChild(o2), Object.defineProperty(r2, \"checked\", { enumerable: true, get: () => \"true\" === r2.getAttribute(\"aria-checked\"), set(e3) {\n e3 && Array.from(r2.parentNode.children).filter((e4) => V(e4, '[role=\"menuitemradio\"]')).forEach((e4) => e4.setAttribute(\"aria-checked\", \"false\")), r2.setAttribute(\"aria-checked\", e3 ? \"true\" : \"false\");\n } }), this.listeners.bind(r2, \"click keyup\", (t3) => {\n if (!S.keyboardEvent(t3) || \" \" === t3.key) {\n switch (t3.preventDefault(), t3.stopPropagation(), r2.checked = true, i3) {\n case \"language\":\n this.currentTrack = Number(e2);\n break;\n case \"quality\":\n this.quality = e2;\n break;\n case \"speed\":\n this.speed = parseFloat(e2);\n }\n Pe.showMenuPanel.call(this, \"home\", S.keyboardEvent(t3));\n }\n }, i3, false), Pe.bindMenuItemShortcuts.call(this, r2, i3), t2.appendChild(r2);\n }, formatTime(e2 = 0, t2 = false) {\n if (!S.number(e2)) return e2;\n return Ee(e2, Ce(this.duration) > 0, t2);\n }, updateTimeDisplay(e2 = null, t2 = 0, i3 = false) {\n S.element(e2) && S.number(t2) && (e2.innerText = Pe.formatTime(t2, i3));\n }, updateVolume() {\n this.supported.ui && (S.element(this.elements.inputs.volume) && Pe.setRange.call(this, this.elements.inputs.volume, this.muted ? 0 : this.volume), S.element(this.elements.buttons.mute) && (this.elements.buttons.mute.pressed = this.muted || 0 === this.volume));\n }, setRange(e2, t2 = 0) {\n S.element(e2) && (e2.value = t2, Pe.updateRangeFill.call(this, e2));\n }, updateProgress(e2) {\n if (!this.supported.ui || !S.event(e2)) return;\n let t2 = 0;\n const i3 = (e3, t3) => {\n const i4 = S.number(t3) ? t3 : 0, s3 = S.element(e3) ? e3 : this.elements.display.buffer;\n if (S.element(s3)) {\n s3.value = i4;\n const e4 = s3.getElementsByTagName(\"span\")[0];\n S.element(e4) && (e4.childNodes[0].nodeValue = i4);\n }\n };\n if (e2) switch (e2.type) {\n case \"timeupdate\":\n case \"seeking\":\n case \"seeked\":\n s2 = this.currentTime, n2 = this.duration, t2 = 0 === s2 || 0 === n2 || Number.isNaN(s2) || Number.isNaN(n2) ? 0 : (s2 / n2 * 100).toFixed(2), \"timeupdate\" === e2.type && Pe.setRange.call(this, this.elements.inputs.seek, t2);\n break;\n case \"playing\":\n case \"progress\":\n i3(this.elements.display.buffer, 100 * this.buffered);\n }\n var s2, n2;\n }, updateRangeFill(e2) {\n const t2 = S.event(e2) ? e2.target : e2;\n if (S.element(t2) && \"range\" === t2.getAttribute(\"type\")) {\n if (V(t2, this.config.selectors.inputs.seek)) {\n t2.setAttribute(\"aria-valuenow\", this.currentTime);\n const e3 = Pe.formatTime(this.currentTime), i3 = Pe.formatTime(this.duration), s2 = ve.get(\"seekLabel\", this.config);\n t2.setAttribute(\"aria-valuetext\", s2.replace(\"{currentTime}\", e3).replace(\"{duration}\", i3));\n } else if (V(t2, this.config.selectors.inputs.volume)) {\n const e3 = 100 * t2.value;\n t2.setAttribute(\"aria-valuenow\", e3), t2.setAttribute(\"aria-valuetext\", `${e3.toFixed(1)}%`);\n } else t2.setAttribute(\"aria-valuenow\", t2.value);\n (M.isWebKit || M.isIPadOS) && t2.style.setProperty(\"--value\", t2.value / t2.max * 100 + \"%\");\n }\n }, updateSeekTooltip(e2) {\n var t2, i3;\n if (!this.config.tooltips.seek || !S.element(this.elements.inputs.seek) || !S.element(this.elements.display.seekTooltip) || 0 === this.duration) return;\n const s2 = this.elements.display.seekTooltip, n2 = `${this.config.classNames.tooltip}--visible`, a2 = (e3) => R(s2, n2, e3);\n if (this.touch) return void a2(false);\n let l2 = 0;\n const r2 = this.elements.progress.getBoundingClientRect();\n if (S.event(e2)) l2 = 100 / r2.width * (e2.pageX - r2.left);\n else {\n if (!F(s2, n2)) return;\n l2 = parseFloat(s2.style.left, 10);\n }\n l2 < 0 ? l2 = 0 : l2 > 100 && (l2 = 100);\n const o2 = this.duration / 100 * l2;\n s2.innerText = Pe.formatTime(o2);\n const c2 = null === (t2 = this.config.markers) || void 0 === t2 || null === (i3 = t2.points) || void 0 === i3 ? void 0 : i3.find(({ time: e3 }) => e3 === Math.round(o2));\n c2 && s2.insertAdjacentHTML(\"afterbegin\", `${c2.label}
    `), s2.style.left = `${l2}%`, S.event(e2) && [\"mouseenter\", \"mouseleave\"].includes(e2.type) && a2(\"mouseenter\" === e2.type);\n }, timeUpdate(e2) {\n const t2 = !S.element(this.elements.display.duration) && this.config.invertTime;\n Pe.updateTimeDisplay.call(this, this.elements.display.currentTime, t2 ? this.duration - this.currentTime : this.currentTime, t2), e2 && \"timeupdate\" === e2.type && this.media.seeking || Pe.updateProgress.call(this, e2);\n }, durationUpdate() {\n if (!this.supported.ui || !this.config.invertTime && this.currentTime) return;\n if (this.duration >= 2 ** 32) return H(this.elements.display.currentTime, true), void H(this.elements.progress, true);\n S.element(this.elements.inputs.seek) && this.elements.inputs.seek.setAttribute(\"aria-valuemax\", this.duration);\n const e2 = S.element(this.elements.display.duration);\n !e2 && this.config.displayDuration && this.paused && Pe.updateTimeDisplay.call(this, this.elements.display.currentTime, this.duration), e2 && Pe.updateTimeDisplay.call(this, this.elements.display.duration, this.duration), this.config.markers.enabled && Pe.setMarkers.call(this), Pe.updateSeekTooltip.call(this);\n }, toggleMenuButton(e2, t2) {\n H(this.elements.settings.buttons[e2], !t2);\n }, updateSetting(e2, t2, i3) {\n const s2 = this.elements.settings.panels[e2];\n let n2 = null, a2 = t2;\n if (\"captions\" === e2) n2 = this.currentTrack;\n else {\n if (n2 = S.empty(i3) ? this[e2] : i3, S.empty(n2) && (n2 = this.config[e2].default), !S.empty(this.options[e2]) && !this.options[e2].includes(n2)) return void this.debug.warn(`Unsupported value of '${n2}' for ${e2}`);\n if (!this.config[e2].options.includes(n2)) return void this.debug.warn(`Disabled value of '${n2}' for ${e2}`);\n }\n if (S.element(a2) || (a2 = s2 && s2.querySelector('[role=\"menu\"]')), !S.element(a2)) return;\n this.elements.settings.buttons[e2].querySelector(`.${this.config.classNames.menu.value}`).innerHTML = Pe.getLabel.call(this, e2, n2);\n const l2 = a2 && a2.querySelector(`[value=\"${n2}\"]`);\n S.element(l2) && (l2.checked = true);\n }, getLabel(e2, t2) {\n switch (e2) {\n case \"speed\":\n return 1 === t2 ? ve.get(\"normal\", this.config) : `${t2}×`;\n case \"quality\":\n if (S.number(t2)) {\n const e3 = ve.get(`qualityLabel.${t2}`, this.config);\n return e3.length ? e3 : `${t2}p`;\n }\n return ge(t2);\n case \"captions\":\n return xe.getLabel.call(this);\n default:\n return null;\n }\n }, setQualityMenu(e2) {\n if (!S.element(this.elements.settings.panels.quality)) return;\n const t2 = \"quality\", i3 = this.elements.settings.panels.quality.querySelector('[role=\"menu\"]');\n S.array(e2) && (this.options.quality = se(e2).filter((e3) => this.config.quality.options.includes(e3)));\n const s2 = !S.empty(this.options.quality) && this.options.quality.length > 1;\n if (Pe.toggleMenuButton.call(this, t2, s2), j(i3), Pe.checkMenu.call(this), !s2) return;\n const n2 = (e3) => {\n const t3 = ve.get(`qualityBadge.${e3}`, this.config);\n return t3.length ? Pe.createBadge.call(this, t3) : null;\n };\n this.options.quality.sort((e3, t3) => {\n const i4 = this.config.quality.options;\n return i4.indexOf(e3) > i4.indexOf(t3) ? 1 : -1;\n }).forEach((e3) => {\n Pe.createMenuItem.call(this, { value: e3, list: i3, type: t2, title: Pe.getLabel.call(this, \"quality\", e3), badge: n2(e3) });\n }), Pe.updateSetting.call(this, t2, i3);\n }, setCaptionsMenu() {\n if (!S.element(this.elements.settings.panels.captions)) return;\n const e2 = \"captions\", t2 = this.elements.settings.panels.captions.querySelector('[role=\"menu\"]'), i3 = xe.getTracks.call(this), s2 = Boolean(i3.length);\n if (Pe.toggleMenuButton.call(this, e2, s2), j(t2), Pe.checkMenu.call(this), !s2) return;\n const n2 = i3.map((e3, i4) => ({ value: i4, checked: this.captions.toggled && this.currentTrack === i4, title: xe.getLabel.call(this, e3), badge: e3.language && Pe.createBadge.call(this, e3.language.toUpperCase()), list: t2, type: \"language\" }));\n n2.unshift({ value: -1, checked: !this.captions.toggled, title: ve.get(\"disabled\", this.config), list: t2, type: \"language\" }), n2.forEach(Pe.createMenuItem.bind(this)), Pe.updateSetting.call(this, e2, t2);\n }, setSpeedMenu() {\n if (!S.element(this.elements.settings.panels.speed)) return;\n const e2 = \"speed\", t2 = this.elements.settings.panels.speed.querySelector('[role=\"menu\"]');\n this.options.speed = this.options.speed.filter((e3) => e3 >= this.minimumSpeed && e3 <= this.maximumSpeed);\n const i3 = !S.empty(this.options.speed) && this.options.speed.length > 1;\n Pe.toggleMenuButton.call(this, e2, i3), j(t2), Pe.checkMenu.call(this), i3 && (this.options.speed.forEach((i4) => {\n Pe.createMenuItem.call(this, { value: i4, list: t2, type: e2, title: Pe.getLabel.call(this, \"speed\", i4) });\n }), Pe.updateSetting.call(this, e2, t2));\n }, checkMenu() {\n const { buttons: e2 } = this.elements.settings, t2 = !S.empty(e2) && Object.values(e2).some((e3) => !e3.hidden);\n H(this.elements.settings.menu, !t2);\n }, focusFirstMenuItem(e2, t2 = false) {\n if (this.elements.settings.popup.hidden) return;\n let i3 = e2;\n S.element(i3) || (i3 = Object.values(this.elements.settings.panels).find((e3) => !e3.hidden));\n const s2 = i3.querySelector('[role^=\"menuitem\"]');\n W.call(this, s2, t2);\n }, toggleMenu(e2) {\n const { popup: t2 } = this.elements.settings, i3 = this.elements.buttons.settings;\n if (!S.element(t2) || !S.element(i3)) return;\n const { hidden: s2 } = t2;\n let n2 = s2;\n if (S.boolean(e2)) n2 = e2;\n else if (S.keyboardEvent(e2) && \"Escape\" === e2.key) n2 = false;\n else if (S.event(e2)) {\n const s3 = S.function(e2.composedPath) ? e2.composedPath()[0] : e2.target, a2 = t2.contains(s3);\n if (a2 || !a2 && e2.target !== i3 && n2) return;\n }\n i3.setAttribute(\"aria-expanded\", n2), H(t2, !n2), R(this.elements.container, this.config.classNames.menu.open, n2), n2 && S.keyboardEvent(e2) ? Pe.focusFirstMenuItem.call(this, null, true) : n2 || s2 || W.call(this, i3, S.keyboardEvent(e2));\n }, getMenuSize(e2) {\n const t2 = e2.cloneNode(true);\n t2.style.position = \"absolute\", t2.style.opacity = 0, t2.removeAttribute(\"hidden\"), e2.parentNode.appendChild(t2);\n const i3 = t2.scrollWidth, s2 = t2.scrollHeight;\n return O(t2), { width: i3, height: s2 };\n }, showMenuPanel(e2 = \"\", t2 = false) {\n const i3 = this.elements.container.querySelector(`#plyr-settings-${this.id}-${e2}`);\n if (!S.element(i3)) return;\n const s2 = i3.parentNode, n2 = Array.from(s2.children).find((e3) => !e3.hidden);\n if (K.transitions && !K.reducedMotion) {\n s2.style.width = `${n2.scrollWidth}px`, s2.style.height = `${n2.scrollHeight}px`;\n const e3 = Pe.getMenuSize.call(this, i3), t3 = (e4) => {\n e4.target === s2 && [\"width\", \"height\"].includes(e4.propertyName) && (s2.style.width = \"\", s2.style.height = \"\", J.call(this, s2, E, t3));\n };\n X.call(this, s2, E, t3), s2.style.width = `${e3.width}px`, s2.style.height = `${e3.height}px`;\n }\n H(n2, true), H(i3, false), Pe.focusFirstMenuItem.call(this, i3, t2);\n }, setDownloadUrl() {\n const e2 = this.elements.buttons.download;\n S.element(e2) && e2.setAttribute(\"href\", this.download);\n }, create(e2) {\n const { bindMenuItemShortcuts: t2, createButton: i3, createProgress: s2, createRange: n2, createTime: a2, setQualityMenu: l2, setSpeedMenu: r2, showMenuPanel: o2 } = Pe;\n this.elements.controls = null, S.array(this.config.controls) && this.config.controls.includes(\"play-large\") && this.elements.container.appendChild(i3.call(this, \"play-large\"));\n const c2 = $(\"div\", D(this.config.selectors.controls.wrapper));\n this.elements.controls = c2;\n const u2 = { class: \"plyr__controls__item\" };\n return se(S.array(this.config.controls) ? this.config.controls : []).forEach((l3) => {\n if (\"restart\" === l3 && c2.appendChild(i3.call(this, \"restart\", u2)), \"rewind\" === l3 && c2.appendChild(i3.call(this, \"rewind\", u2)), \"play\" === l3 && c2.appendChild(i3.call(this, \"play\", u2)), \"fast-forward\" === l3 && c2.appendChild(i3.call(this, \"fast-forward\", u2)), \"progress\" === l3) {\n const t3 = $(\"div\", { class: `${u2.class} plyr__progress__container` }), i4 = $(\"div\", D(this.config.selectors.progress));\n if (i4.appendChild(n2.call(this, \"seek\", { id: `plyr-seek-${e2.id}` })), i4.appendChild(s2.call(this, \"buffer\")), this.config.tooltips.seek) {\n const e3 = $(\"span\", { class: this.config.classNames.tooltip }, \"00:00\");\n i4.appendChild(e3), this.elements.display.seekTooltip = e3;\n }\n this.elements.progress = i4, t3.appendChild(this.elements.progress), c2.appendChild(t3);\n }\n if (\"current-time\" === l3 && c2.appendChild(a2.call(this, \"currentTime\", u2)), \"duration\" === l3 && c2.appendChild(a2.call(this, \"duration\", u2)), \"mute\" === l3 || \"volume\" === l3) {\n let { volume: t3 } = this.elements;\n if (S.element(t3) && c2.contains(t3) || (t3 = $(\"div\", x({}, u2, { class: `${u2.class} plyr__volume`.trim() })), this.elements.volume = t3, c2.appendChild(t3)), \"mute\" === l3 && t3.appendChild(i3.call(this, \"mute\")), \"volume\" === l3 && !M.isIos && !M.isIPadOS) {\n const i4 = { max: 1, step: 0.05, value: this.config.volume };\n t3.appendChild(n2.call(this, \"volume\", x(i4, { id: `plyr-volume-${e2.id}` })));\n }\n }\n if (\"captions\" === l3 && c2.appendChild(i3.call(this, \"captions\", u2)), \"settings\" === l3 && !S.empty(this.config.settings)) {\n const s3 = $(\"div\", x({}, u2, { class: `${u2.class} plyr__menu`.trim(), hidden: \"\" }));\n s3.appendChild(i3.call(this, \"settings\", { \"aria-haspopup\": true, \"aria-controls\": `plyr-settings-${e2.id}`, \"aria-expanded\": false }));\n const n3 = $(\"div\", { class: \"plyr__menu__container\", id: `plyr-settings-${e2.id}`, hidden: \"\" }), a3 = $(\"div\"), l4 = $(\"div\", { id: `plyr-settings-${e2.id}-home` }), r3 = $(\"div\", { role: \"menu\" });\n l4.appendChild(r3), a3.appendChild(l4), this.elements.settings.panels.home = l4, this.config.settings.forEach((i4) => {\n const s4 = $(\"button\", x(D(this.config.selectors.buttons.settings), { type: \"button\", class: `${this.config.classNames.control} ${this.config.classNames.control}--forward`, role: \"menuitem\", \"aria-haspopup\": true, hidden: \"\" }));\n t2.call(this, s4, i4), X.call(this, s4, \"click\", () => {\n o2.call(this, i4, false);\n });\n const n4 = $(\"span\", null, ve.get(i4, this.config)), l5 = $(\"span\", { class: this.config.classNames.menu.value });\n l5.innerHTML = e2[i4], n4.appendChild(l5), s4.appendChild(n4), r3.appendChild(s4);\n const c3 = $(\"div\", { id: `plyr-settings-${e2.id}-${i4}`, hidden: \"\" }), u3 = $(\"button\", { type: \"button\", class: `${this.config.classNames.control} ${this.config.classNames.control}--back` });\n u3.appendChild($(\"span\", { \"aria-hidden\": true }, ve.get(i4, this.config))), u3.appendChild($(\"span\", { class: this.config.classNames.hidden }, ve.get(\"menuBack\", this.config))), X.call(this, c3, \"keydown\", (e3) => {\n \"ArrowLeft\" === e3.key && (e3.preventDefault(), e3.stopPropagation(), o2.call(this, \"home\", true));\n }, false), X.call(this, u3, \"click\", () => {\n o2.call(this, \"home\", false);\n }), c3.appendChild(u3), c3.appendChild($(\"div\", { role: \"menu\" })), a3.appendChild(c3), this.elements.settings.buttons[i4] = s4, this.elements.settings.panels[i4] = c3;\n }), n3.appendChild(a3), s3.appendChild(n3), c2.appendChild(s3), this.elements.settings.popup = n3, this.elements.settings.menu = s3;\n }\n if (\"pip\" === l3 && K.pip && c2.appendChild(i3.call(this, \"pip\", u2)), \"airplay\" === l3 && K.airplay && c2.appendChild(i3.call(this, \"airplay\", u2)), \"download\" === l3) {\n const e3 = x({}, u2, { element: \"a\", href: this.download, target: \"_blank\" });\n this.isHTML5 && (e3.download = \"\");\n const { download: t3 } = this.config.urls;\n !S.url(t3) && this.isEmbed && x(e3, { icon: `logo-${this.provider}`, label: this.provider }), c2.appendChild(i3.call(this, \"download\", e3));\n }\n \"fullscreen\" === l3 && c2.appendChild(i3.call(this, \"fullscreen\", u2));\n }), this.isHTML5 && l2.call(this, de.getQualityOptions.call(this)), r2.call(this), c2;\n }, inject() {\n if (this.config.loadSprite) {\n const e3 = Pe.getIconUrl.call(this);\n e3.cors && ke(e3.url, \"sprite-plyr\");\n }\n this.id = Math.floor(1e4 * Math.random());\n let e2 = null;\n this.elements.controls = null;\n const t2 = { id: this.id, seektime: this.config.seekTime, title: this.config.title };\n let i3 = true;\n S.function(this.config.controls) && (this.config.controls = this.config.controls.call(this, t2)), this.config.controls || (this.config.controls = []), S.element(this.config.controls) || S.string(this.config.controls) ? e2 = this.config.controls : (e2 = Pe.create.call(this, { id: this.id, seektime: this.config.seekTime, speed: this.speed, quality: this.quality, captions: xe.getLabel.call(this) }), i3 = false);\n let s2;\n i3 && S.string(this.config.controls) && (e2 = ((e3) => {\n let i4 = e3;\n return Object.entries(t2).forEach(([e4, t3]) => {\n i4 = pe(i4, `{${e4}}`, t3);\n }), i4;\n })(e2)), S.string(this.config.selectors.controls.container) && (s2 = document.querySelector(this.config.selectors.controls.container)), S.element(s2) || (s2 = this.elements.container);\n if (s2[S.element(e2) ? \"insertAdjacentElement\" : \"insertAdjacentHTML\"](\"afterbegin\", e2), S.element(this.elements.controls) || Pe.findElements.call(this), !S.empty(this.elements.buttons)) {\n const e3 = (e4) => {\n const t3 = this.config.classNames.controlPressed;\n e4.setAttribute(\"aria-pressed\", \"false\"), Object.defineProperty(e4, \"pressed\", { configurable: true, enumerable: true, get: () => F(e4, t3), set(i4 = false) {\n R(e4, t3, i4), e4.setAttribute(\"aria-pressed\", i4 ? \"true\" : \"false\");\n } });\n };\n Object.values(this.elements.buttons).filter(Boolean).forEach((t3) => {\n S.array(t3) || S.nodeList(t3) ? Array.from(t3).filter(Boolean).forEach(e3) : e3(t3);\n });\n }\n if (M.isEdge && P(s2), this.config.tooltips.controls) {\n const { classNames: e3, selectors: t3 } = this.config, i4 = `${t3.controls.wrapper} ${t3.labels} .${e3.hidden}`, s3 = U.call(this, i4);\n Array.from(s3).forEach((e4) => {\n R(e4, this.config.classNames.hidden, false), R(e4, this.config.classNames.tooltip, true);\n });\n }\n }, setMediaMetadata() {\n try {\n \"mediaSession\" in navigator && (navigator.mediaSession.metadata = new window.MediaMetadata({ title: this.config.mediaMetadata.title, artist: this.config.mediaMetadata.artist, album: this.config.mediaMetadata.album, artwork: this.config.mediaMetadata.artwork }));\n } catch (e2) {\n }\n }, setMarkers() {\n var e2, t2;\n if (!this.duration || this.elements.markers) return;\n const i3 = null === (e2 = this.config.markers) || void 0 === e2 || null === (t2 = e2.points) || void 0 === t2 ? void 0 : t2.filter(({ time: e3 }) => e3 > 0 && e3 < this.duration);\n if (null == i3 || !i3.length) return;\n const s2 = document.createDocumentFragment(), n2 = document.createDocumentFragment();\n let a2 = null;\n const l2 = `${this.config.classNames.tooltip}--visible`, r2 = (e3) => R(a2, l2, e3);\n i3.forEach((e3) => {\n const t3 = $(\"span\", { class: this.config.classNames.marker }, \"\"), i4 = e3.time / this.duration * 100 + \"%\";\n a2 && (t3.addEventListener(\"mouseenter\", () => {\n e3.label || (a2.style.left = i4, a2.innerHTML = e3.label, r2(true));\n }), t3.addEventListener(\"mouseleave\", () => {\n r2(false);\n })), t3.addEventListener(\"click\", () => {\n this.currentTime = e3.time;\n }), t3.style.left = i4, n2.appendChild(t3);\n }), s2.appendChild(n2), this.config.tooltips.seek || (a2 = $(\"span\", { class: this.config.classNames.tooltip }, \"\"), s2.appendChild(a2)), this.elements.markers = { points: n2, tip: a2 }, this.elements.progress.appendChild(s2);\n } };\n function Me(e2, t2 = true) {\n let i3 = e2;\n if (t2) {\n const e3 = document.createElement(\"a\");\n e3.href = i3, i3 = e3.href;\n }\n try {\n return new URL(i3);\n } catch (e3) {\n return null;\n }\n }\n function Ne(e2) {\n const t2 = new URLSearchParams();\n return S.object(e2) && Object.entries(e2).forEach(([e3, i3]) => {\n t2.set(e3, i3);\n }), t2;\n }\n const xe = { setup() {\n if (!this.supported.ui) return;\n if (!this.isVideo || this.isYouTube || this.isHTML5 && !K.textTracks) return void (S.array(this.config.controls) && this.config.controls.includes(\"settings\") && this.config.settings.includes(\"captions\") && Pe.setCaptionsMenu.call(this));\n var e2, t2;\n if (S.element(this.elements.captions) || (this.elements.captions = $(\"div\", D(this.config.selectors.captions)), this.elements.captions.setAttribute(\"dir\", \"auto\"), e2 = this.elements.captions, t2 = this.elements.wrapper, S.element(e2) && S.element(t2) && t2.parentNode.insertBefore(e2, t2.nextSibling)), M.isIE && window.URL) {\n const e3 = this.media.querySelectorAll(\"track\");\n Array.from(e3).forEach((e4) => {\n const t3 = e4.getAttribute(\"src\"), i4 = Me(t3);\n null !== i4 && i4.hostname !== window.location.href.hostname && [\"http:\", \"https:\"].includes(i4.protocol) && Te(t3, \"blob\").then((t4) => {\n e4.setAttribute(\"src\", window.URL.createObjectURL(t4));\n }).catch(() => {\n O(e4);\n });\n });\n }\n const i3 = se((navigator.languages || [navigator.language || navigator.userLanguage || \"en\"]).map((e3) => e3.split(\"-\")[0]));\n let s2 = (this.storage.get(\"language\") || this.config.captions.language || \"auto\").toLowerCase();\n \"auto\" === s2 && ([s2] = i3);\n let n2 = this.storage.get(\"captions\");\n if (S.boolean(n2) || ({ active: n2 } = this.config.captions), Object.assign(this.captions, { toggled: false, active: n2, language: s2, languages: i3 }), this.isHTML5) {\n const e3 = this.config.captions.update ? \"addtrack removetrack\" : \"removetrack\";\n X.call(this, this.media.textTracks, e3, xe.update.bind(this));\n }\n setTimeout(xe.update.bind(this), 0);\n }, update() {\n const e2 = xe.getTracks.call(this, true), { active: t2, language: i3, meta: s2, currentTrackNode: n2 } = this.captions, a2 = Boolean(e2.find((e3) => e3.language === i3));\n this.isHTML5 && this.isVideo && e2.filter((e3) => !s2.get(e3)).forEach((e3) => {\n this.debug.log(\"Track added\", e3), s2.set(e3, { default: \"showing\" === e3.mode }), \"showing\" === e3.mode && (e3.mode = \"hidden\"), X.call(this, e3, \"cuechange\", () => xe.updateCues.call(this));\n }), (a2 && this.language !== i3 || !e2.includes(n2)) && (xe.setLanguage.call(this, i3), xe.toggle.call(this, t2 && a2)), this.elements && R(this.elements.container, this.config.classNames.captions.enabled, !S.empty(e2)), S.array(this.config.controls) && this.config.controls.includes(\"settings\") && this.config.settings.includes(\"captions\") && Pe.setCaptionsMenu.call(this);\n }, toggle(e2, t2 = true) {\n if (!this.supported.ui) return;\n const { toggled: i3 } = this.captions, s2 = this.config.classNames.captions.active, n2 = S.nullOrUndefined(e2) ? !i3 : e2;\n if (n2 !== i3) {\n if (t2 || (this.captions.active = n2, this.storage.set({ captions: n2 })), !this.language && n2 && !t2) {\n const e3 = xe.getTracks.call(this), t3 = xe.findTrack.call(this, [this.captions.language, ...this.captions.languages], true);\n return this.captions.language = t3.language, void xe.set.call(this, e3.indexOf(t3));\n }\n this.elements.buttons.captions && (this.elements.buttons.captions.pressed = n2), R(this.elements.container, s2, n2), this.captions.toggled = n2, Pe.updateSetting.call(this, \"captions\"), Z.call(this, this.media, n2 ? \"captionsenabled\" : \"captionsdisabled\");\n }\n setTimeout(() => {\n n2 && this.captions.toggled && (this.captions.currentTrackNode.mode = \"hidden\");\n });\n }, set(e2, t2 = true) {\n const i3 = xe.getTracks.call(this);\n if (-1 !== e2) if (S.number(e2)) if (e2 in i3) {\n if (this.captions.currentTrack !== e2) {\n this.captions.currentTrack = e2;\n const s2 = i3[e2], { language: n2 } = s2 || {};\n this.captions.currentTrackNode = s2, Pe.updateSetting.call(this, \"captions\"), t2 || (this.captions.language = n2, this.storage.set({ language: n2 })), this.isVimeo && this.embed.enableTextTrack(n2), Z.call(this, this.media, \"languagechange\");\n }\n xe.toggle.call(this, true, t2), this.isHTML5 && this.isVideo && xe.updateCues.call(this);\n } else this.debug.warn(\"Track not found\", e2);\n else this.debug.warn(\"Invalid caption argument\", e2);\n else xe.toggle.call(this, false, t2);\n }, setLanguage(e2, t2 = true) {\n if (!S.string(e2)) return void this.debug.warn(\"Invalid language argument\", e2);\n const i3 = e2.toLowerCase();\n this.captions.language = i3;\n const s2 = xe.getTracks.call(this), n2 = xe.findTrack.call(this, [i3]);\n xe.set.call(this, s2.indexOf(n2), t2);\n }, getTracks(e2 = false) {\n return Array.from((this.media || {}).textTracks || []).filter((t2) => !this.isHTML5 || e2 || this.captions.meta.has(t2)).filter((e3) => [\"captions\", \"subtitles\"].includes(e3.kind));\n }, findTrack(e2, t2 = false) {\n const i3 = xe.getTracks.call(this), s2 = (e3) => Number((this.captions.meta.get(e3) || {}).default), n2 = Array.from(i3).sort((e3, t3) => s2(t3) - s2(e3));\n let a2;\n return e2.every((e3) => (a2 = n2.find((t3) => t3.language === e3), !a2)), a2 || (t2 ? n2[0] : void 0);\n }, getCurrentTrack() {\n return xe.getTracks.call(this)[this.currentTrack];\n }, getLabel(e2) {\n let t2 = e2;\n return !S.track(t2) && K.textTracks && this.captions.toggled && (t2 = xe.getCurrentTrack.call(this)), S.track(t2) ? S.empty(t2.label) ? S.empty(t2.language) ? ve.get(\"enabled\", this.config) : e2.language.toUpperCase() : t2.label : ve.get(\"disabled\", this.config);\n }, updateCues(e2) {\n if (!this.supported.ui) return;\n if (!S.element(this.elements.captions)) return void this.debug.warn(\"No captions element to render to\");\n if (!S.nullOrUndefined(e2) && !Array.isArray(e2)) return void this.debug.warn(\"updateCues: Invalid input\", e2);\n let t2 = e2;\n if (!t2) {\n const e3 = xe.getCurrentTrack.call(this);\n t2 = Array.from((e3 || {}).activeCues || []).map((e4) => e4.getCueAsHTML()).map(ye);\n }\n const i3 = t2.map((e3) => e3.trim()).join(\"\\n\");\n if (i3 !== this.elements.captions.innerHTML) {\n j(this.elements.captions);\n const e3 = $(\"span\", D(this.config.selectors.caption));\n e3.innerHTML = i3, this.elements.captions.appendChild(e3), Z.call(this, this.media, \"cuechange\");\n }\n } }, Le = { enabled: true, title: \"\", debug: false, autoplay: false, autopause: true, playsinline: true, seekTime: 10, volume: 1, muted: false, duration: null, displayDuration: true, invertTime: true, toggleInvert: true, ratio: null, clickToPlay: true, hideControls: true, resetOnEnd: false, disableContextMenu: true, loadSprite: true, iconPrefix: \"plyr\", iconUrl: \"https://cdn.plyr.io/3.7.8/plyr.svg\", blankVideo: \"https://cdn.plyr.io/static/blank.mp4\", quality: { default: 576, options: [4320, 2880, 2160, 1440, 1080, 720, 576, 480, 360, 240], forced: false, onChange: null }, loop: { active: false }, speed: { selected: 1, options: [0.5, 0.75, 1, 1.25, 1.5, 1.75, 2, 4] }, keyboard: { focused: true, global: false }, tooltips: { controls: false, seek: true }, captions: { active: false, language: \"auto\", update: false }, fullscreen: { enabled: true, fallback: true, iosNative: false }, storage: { enabled: true, key: \"plyr\" }, controls: [\"play-large\", \"play\", \"progress\", \"current-time\", \"mute\", \"volume\", \"captions\", \"settings\", \"pip\", \"airplay\", \"fullscreen\"], settings: [\"captions\", \"quality\", \"speed\"], i18n: { restart: \"Restart\", rewind: \"Rewind {seektime}s\", play: \"Play\", pause: \"Pause\", fastForward: \"Forward {seektime}s\", seek: \"Seek\", seekLabel: \"{currentTime} of {duration}\", played: \"Played\", buffered: \"Buffered\", currentTime: \"Current time\", duration: \"Duration\", volume: \"Volume\", mute: \"Mute\", unmute: \"Unmute\", enableCaptions: \"Enable captions\", disableCaptions: \"Disable captions\", download: \"Download\", enterFullscreen: \"Enter fullscreen\", exitFullscreen: \"Exit fullscreen\", frameTitle: \"Player for {title}\", captions: \"Captions\", settings: \"Settings\", pip: \"PIP\", menuBack: \"Go back to previous menu\", speed: \"Speed\", normal: \"Normal\", quality: \"Quality\", loop: \"Loop\", start: \"Start\", end: \"End\", all: \"All\", reset: \"Reset\", disabled: \"Disabled\", enabled: \"Enabled\", advertisement: \"Ad\", qualityBadge: { 2160: \"4K\", 1440: \"HD\", 1080: \"HD\", 720: \"HD\", 576: \"SD\", 480: \"SD\" } }, urls: { download: null, vimeo: { sdk: \"https://player.vimeo.com/api/player.js\", iframe: \"https://player.vimeo.com/video/{0}?{1}\", api: \"https://vimeo.com/api/oembed.json?url={0}\" }, youtube: { sdk: \"https://www.youtube.com/iframe_api\", api: \"https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}\" }, googleIMA: { sdk: \"https://imasdk.googleapis.com/js/sdkloader/ima3.js\" } }, listeners: { seek: null, play: null, pause: null, restart: null, rewind: null, fastForward: null, mute: null, volume: null, captions: null, download: null, fullscreen: null, pip: null, airplay: null, speed: null, quality: null, loop: null, language: null }, events: [\"ended\", \"progress\", \"stalled\", \"playing\", \"waiting\", \"canplay\", \"canplaythrough\", \"loadstart\", \"loadeddata\", \"loadedmetadata\", \"timeupdate\", \"volumechange\", \"play\", \"pause\", \"error\", \"seeking\", \"seeked\", \"emptied\", \"ratechange\", \"cuechange\", \"download\", \"enterfullscreen\", \"exitfullscreen\", \"captionsenabled\", \"captionsdisabled\", \"languagechange\", \"controlshidden\", \"controlsshown\", \"ready\", \"statechange\", \"qualitychange\", \"adsloaded\", \"adscontentpause\", \"adscontentresume\", \"adstarted\", \"adsmidpoint\", \"adscomplete\", \"adsallcomplete\", \"adsimpression\", \"adsclick\"], selectors: { editable: \"input, textarea, select, [contenteditable]\", container: \".plyr\", controls: { container: null, wrapper: \".plyr__controls\" }, labels: \"[data-plyr]\", buttons: { play: '[data-plyr=\"play\"]', pause: '[data-plyr=\"pause\"]', restart: '[data-plyr=\"restart\"]', rewind: '[data-plyr=\"rewind\"]', fastForward: '[data-plyr=\"fast-forward\"]', mute: '[data-plyr=\"mute\"]', captions: '[data-plyr=\"captions\"]', download: '[data-plyr=\"download\"]', fullscreen: '[data-plyr=\"fullscreen\"]', pip: '[data-plyr=\"pip\"]', airplay: '[data-plyr=\"airplay\"]', settings: '[data-plyr=\"settings\"]', loop: '[data-plyr=\"loop\"]' }, inputs: { seek: '[data-plyr=\"seek\"]', volume: '[data-plyr=\"volume\"]', speed: '[data-plyr=\"speed\"]', language: '[data-plyr=\"language\"]', quality: '[data-plyr=\"quality\"]' }, display: { currentTime: \".plyr__time--current\", duration: \".plyr__time--duration\", buffer: \".plyr__progress__buffer\", loop: \".plyr__progress__loop\", volume: \".plyr__volume--display\" }, progress: \".plyr__progress\", captions: \".plyr__captions\", caption: \".plyr__caption\" }, classNames: { type: \"plyr--{0}\", provider: \"plyr--{0}\", video: \"plyr__video-wrapper\", embed: \"plyr__video-embed\", videoFixedRatio: \"plyr__video-wrapper--fixed-ratio\", embedContainer: \"plyr__video-embed__container\", poster: \"plyr__poster\", posterEnabled: \"plyr__poster-enabled\", ads: \"plyr__ads\", control: \"plyr__control\", controlPressed: \"plyr__control--pressed\", playing: \"plyr--playing\", paused: \"plyr--paused\", stopped: \"plyr--stopped\", loading: \"plyr--loading\", hover: \"plyr--hover\", tooltip: \"plyr__tooltip\", cues: \"plyr__cues\", marker: \"plyr__progress__marker\", hidden: \"plyr__sr-only\", hideControls: \"plyr--hide-controls\", isTouch: \"plyr--is-touch\", uiSupported: \"plyr--full-ui\", noTransition: \"plyr--no-transition\", display: { time: \"plyr__time\" }, menu: { value: \"plyr__menu__value\", badge: \"plyr__badge\", open: \"plyr--menu-open\" }, captions: { enabled: \"plyr--captions-enabled\", active: \"plyr--captions-active\" }, fullscreen: { enabled: \"plyr--fullscreen-enabled\", fallback: \"plyr--fullscreen-fallback\" }, pip: { supported: \"plyr--pip-supported\", active: \"plyr--pip-active\" }, airplay: { supported: \"plyr--airplay-supported\", active: \"plyr--airplay-active\" }, previewThumbnails: { thumbContainer: \"plyr__preview-thumb\", thumbContainerShown: \"plyr__preview-thumb--is-shown\", imageContainer: \"plyr__preview-thumb__image-container\", timeContainer: \"plyr__preview-thumb__time-container\", scrubbingContainer: \"plyr__preview-scrubbing\", scrubbingContainerShown: \"plyr__preview-scrubbing--is-shown\" } }, attributes: { embed: { provider: \"data-plyr-provider\", id: \"data-plyr-embed-id\", hash: \"data-plyr-embed-hash\" } }, ads: { enabled: false, publisherId: \"\", tagUrl: \"\" }, previewThumbnails: { enabled: false, src: \"\" }, vimeo: { byline: false, portrait: false, title: false, speed: true, transparent: false, customControls: true, referrerPolicy: null, premium: false }, youtube: { rel: 0, showinfo: 0, iv_load_policy: 3, modestbranding: 1, customControls: true, noCookie: false }, mediaMetadata: { title: \"\", artist: \"\", album: \"\", artwork: [] }, markers: { enabled: false, points: [] } }, Ie = \"picture-in-picture\", $e = \"inline\", _e = { html5: \"html5\", youtube: \"youtube\", vimeo: \"vimeo\" }, Oe = \"audio\", je = \"video\";\n const qe = () => {\n };\n class De {\n constructor(e2 = false) {\n this.enabled = window.console && e2, this.enabled && this.log(\"Debugging enabled\");\n }\n get log() {\n return this.enabled ? Function.prototype.bind.call(console.log, console) : qe;\n }\n get warn() {\n return this.enabled ? Function.prototype.bind.call(console.warn, console) : qe;\n }\n get error() {\n return this.enabled ? Function.prototype.bind.call(console.error, console) : qe;\n }\n }\n class He {\n constructor(t2) {\n e(this, \"onChange\", () => {\n if (!this.supported) return;\n const e2 = this.player.elements.buttons.fullscreen;\n S.element(e2) && (e2.pressed = this.active);\n const t3 = this.target === this.player.media ? this.target : this.player.elements.container;\n Z.call(this.player, t3, this.active ? \"enterfullscreen\" : \"exitfullscreen\", true);\n }), e(this, \"toggleFallback\", (e2 = false) => {\n if (e2 ? this.scrollPosition = { x: window.scrollX ?? 0, y: window.scrollY ?? 0 } : window.scrollTo(this.scrollPosition.x, this.scrollPosition.y), document.body.style.overflow = e2 ? \"hidden\" : \"\", R(this.target, this.player.config.classNames.fullscreen.fallback, e2), M.isIos) {\n let t3 = document.head.querySelector('meta[name=\"viewport\"]');\n const i3 = \"viewport-fit=cover\";\n t3 || (t3 = document.createElement(\"meta\"), t3.setAttribute(\"name\", \"viewport\"));\n const s2 = S.string(t3.content) && t3.content.includes(i3);\n e2 ? (this.cleanupViewport = !s2, s2 || (t3.content += `,${i3}`)) : this.cleanupViewport && (t3.content = t3.content.split(\",\").filter((e3) => e3.trim() !== i3).join(\",\"));\n }\n this.onChange();\n }), e(this, \"trapFocus\", (e2) => {\n if (M.isIos || M.isIPadOS || !this.active || \"Tab\" !== e2.key) return;\n const t3 = document.activeElement, i3 = U.call(this.player, \"a[href], button:not(:disabled), input:not(:disabled), [tabindex]\"), [s2] = i3, n2 = i3[i3.length - 1];\n t3 !== n2 || e2.shiftKey ? t3 === s2 && e2.shiftKey && (n2.focus(), e2.preventDefault()) : (s2.focus(), e2.preventDefault());\n }), e(this, \"update\", () => {\n if (this.supported) {\n let e2;\n e2 = this.forceFallback ? \"Fallback (forced)\" : He.nativeSupported ? \"Native\" : \"Fallback\", this.player.debug.log(`${e2} fullscreen enabled`);\n } else this.player.debug.log(\"Fullscreen not supported and fallback disabled\");\n R(this.player.elements.container, this.player.config.classNames.fullscreen.enabled, this.supported);\n }), e(this, \"enter\", () => {\n this.supported && (M.isIos && this.player.config.fullscreen.iosNative ? this.player.isVimeo ? this.player.embed.requestFullscreen() : this.target.webkitEnterFullscreen() : !He.nativeSupported || this.forceFallback ? this.toggleFallback(true) : this.prefix ? S.empty(this.prefix) || this.target[`${this.prefix}Request${this.property}`]() : this.target.requestFullscreen({ navigationUI: \"hide\" }));\n }), e(this, \"exit\", () => {\n if (this.supported) if (M.isIos && this.player.config.fullscreen.iosNative) this.player.isVimeo ? this.player.embed.exitFullscreen() : this.target.webkitEnterFullscreen(), ie(this.player.play());\n else if (!He.nativeSupported || this.forceFallback) this.toggleFallback(false);\n else if (this.prefix) {\n if (!S.empty(this.prefix)) {\n const e2 = \"moz\" === this.prefix ? \"Cancel\" : \"Exit\";\n document[`${this.prefix}${e2}${this.property}`]();\n }\n } else (document.cancelFullScreen || document.exitFullscreen).call(document);\n }), e(this, \"toggle\", () => {\n this.active ? this.exit() : this.enter();\n }), this.player = t2, this.prefix = He.prefix, this.property = He.property, this.scrollPosition = { x: 0, y: 0 }, this.forceFallback = \"force\" === t2.config.fullscreen.fallback, this.player.elements.fullscreen = t2.config.fullscreen.container && function(e2, t3) {\n const { prototype: i3 } = Element;\n return (i3.closest || function() {\n let e3 = this;\n do {\n if (V.matches(e3, t3)) return e3;\n e3 = e3.parentElement || e3.parentNode;\n } while (null !== e3 && 1 === e3.nodeType);\n return null;\n }).call(e2, t3);\n }(this.player.elements.container, t2.config.fullscreen.container), X.call(this.player, document, \"ms\" === this.prefix ? \"MSFullscreenChange\" : `${this.prefix}fullscreenchange`, () => {\n this.onChange();\n }), X.call(this.player, this.player.elements.container, \"dblclick\", (e2) => {\n S.element(this.player.elements.controls) && this.player.elements.controls.contains(e2.target) || this.player.listeners.proxy(e2, this.toggle, \"fullscreen\");\n }), X.call(this, this.player.elements.container, \"keydown\", (e2) => this.trapFocus(e2)), this.update();\n }\n static get nativeSupported() {\n return !!(document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled);\n }\n get useNative() {\n return He.nativeSupported && !this.forceFallback;\n }\n static get prefix() {\n if (S.function(document.exitFullscreen)) return \"\";\n let e2 = \"\";\n return [\"webkit\", \"moz\", \"ms\"].some((t2) => !(!S.function(document[`${t2}ExitFullscreen`]) && !S.function(document[`${t2}CancelFullScreen`])) && (e2 = t2, true)), e2;\n }\n static get property() {\n return \"moz\" === this.prefix ? \"FullScreen\" : \"Fullscreen\";\n }\n get supported() {\n return [this.player.config.fullscreen.enabled, this.player.isVideo, He.nativeSupported || this.player.config.fullscreen.fallback, !this.player.isYouTube || He.nativeSupported || !M.isIos || this.player.config.playsinline && !this.player.config.fullscreen.iosNative].every(Boolean);\n }\n get active() {\n if (!this.supported) return false;\n if (!He.nativeSupported || this.forceFallback) return F(this.target, this.player.config.classNames.fullscreen.fallback);\n const e2 = this.prefix ? this.target.getRootNode()[`${this.prefix}${this.property}Element`] : this.target.getRootNode().fullscreenElement;\n return e2 && e2.shadowRoot ? e2 === this.target.getRootNode().host : e2 === this.target;\n }\n get target() {\n return M.isIos && this.player.config.fullscreen.iosNative ? this.player.media : this.player.elements.fullscreen ?? this.player.elements.container;\n }\n }\n function Re(e2, t2 = 1) {\n return new Promise((i3, s2) => {\n const n2 = new Image(), a2 = () => {\n delete n2.onload, delete n2.onerror, (n2.naturalWidth >= t2 ? i3 : s2)(n2);\n };\n Object.assign(n2, { onload: a2, onerror: a2, src: e2 });\n });\n }\n const Fe = { addStyleHook() {\n R(this.elements.container, this.config.selectors.container.replace(\".\", \"\"), true), R(this.elements.container, this.config.classNames.uiSupported, this.supported.ui);\n }, toggleNativeControls(e2 = false) {\n e2 && this.isHTML5 ? this.media.setAttribute(\"controls\", \"\") : this.media.removeAttribute(\"controls\");\n }, build() {\n if (this.listeners.media(), !this.supported.ui) return this.debug.warn(`Basic support only for ${this.provider} ${this.type}`), void Fe.toggleNativeControls.call(this, true);\n S.element(this.elements.controls) || (Pe.inject.call(this), this.listeners.controls()), Fe.toggleNativeControls.call(this), this.isHTML5 && xe.setup.call(this), this.volume = null, this.muted = null, this.loop = null, this.quality = null, this.speed = null, Pe.updateVolume.call(this), Pe.timeUpdate.call(this), Pe.durationUpdate.call(this), Fe.checkPlaying.call(this), R(this.elements.container, this.config.classNames.pip.supported, K.pip && this.isHTML5 && this.isVideo), R(this.elements.container, this.config.classNames.airplay.supported, K.airplay && this.isHTML5), R(this.elements.container, this.config.classNames.isTouch, this.touch), this.ready = true, setTimeout(() => {\n Z.call(this, this.media, \"ready\");\n }, 0), Fe.setTitle.call(this), this.poster && Fe.setPoster.call(this, this.poster, false).catch(() => {\n }), this.config.duration && Pe.durationUpdate.call(this), this.config.mediaMetadata && Pe.setMediaMetadata.call(this);\n }, setTitle() {\n let e2 = ve.get(\"play\", this.config);\n if (S.string(this.config.title) && !S.empty(this.config.title) && (e2 += `, ${this.config.title}`), Array.from(this.elements.buttons.play || []).forEach((t2) => {\n t2.setAttribute(\"aria-label\", e2);\n }), this.isEmbed) {\n const e3 = B.call(this, \"iframe\");\n if (!S.element(e3)) return;\n const t2 = S.empty(this.config.title) ? \"video\" : this.config.title, i3 = ve.get(\"frameTitle\", this.config);\n e3.setAttribute(\"title\", i3.replace(\"{title}\", t2));\n }\n }, togglePoster(e2) {\n R(this.elements.container, this.config.classNames.posterEnabled, e2);\n }, setPoster(e2, t2 = true) {\n return t2 && this.poster ? Promise.reject(new Error(\"Poster already set\")) : (this.media.setAttribute(\"data-poster\", e2), this.elements.poster.removeAttribute(\"hidden\"), te.call(this).then(() => Re(e2)).catch((t3) => {\n throw e2 === this.poster && Fe.togglePoster.call(this, false), t3;\n }).then(() => {\n if (e2 !== this.poster) throw new Error(\"setPoster cancelled by later call to setPoster\");\n }).then(() => (Object.assign(this.elements.poster.style, { backgroundImage: `url('${e2}')`, backgroundSize: \"\" }), Fe.togglePoster.call(this, true), e2)));\n }, checkPlaying(e2) {\n R(this.elements.container, this.config.classNames.playing, this.playing), R(this.elements.container, this.config.classNames.paused, this.paused), R(this.elements.container, this.config.classNames.stopped, this.stopped), Array.from(this.elements.buttons.play || []).forEach((e3) => {\n Object.assign(e3, { pressed: this.playing }), e3.setAttribute(\"aria-label\", ve.get(this.playing ? \"pause\" : \"play\", this.config));\n }), S.event(e2) && \"timeupdate\" === e2.type || Fe.toggleControls.call(this);\n }, checkLoading(e2) {\n this.loading = [\"stalled\", \"waiting\"].includes(e2.type), clearTimeout(this.timers.loading), this.timers.loading = setTimeout(() => {\n R(this.elements.container, this.config.classNames.loading, this.loading), Fe.toggleControls.call(this);\n }, this.loading ? 250 : 0);\n }, toggleControls(e2) {\n const { controls: t2 } = this.elements;\n if (t2 && this.config.hideControls) {\n const i3 = this.touch && this.lastSeekTime + 2e3 > Date.now();\n this.toggleControls(Boolean(e2 || this.loading || this.paused || t2.pressed || t2.hover || i3));\n }\n }, migrateStyles() {\n Object.values({ ...this.media.style }).filter((e2) => !S.empty(e2) && S.string(e2) && e2.startsWith(\"--plyr\")).forEach((e2) => {\n this.elements.container.style.setProperty(e2, this.media.style.getPropertyValue(e2)), this.media.style.removeProperty(e2);\n }), S.empty(this.media.style) && this.media.removeAttribute(\"style\");\n } };\n class Ve {\n constructor(t2) {\n e(this, \"firstTouch\", () => {\n const { player: e2 } = this, { elements: t3 } = e2;\n e2.touch = true, R(t3.container, e2.config.classNames.isTouch, true);\n }), e(this, \"global\", (e2 = true) => {\n const { player: t3 } = this;\n t3.config.keyboard.global && Q.call(t3, window, \"keydown keyup\", this.handleKey, e2, false), Q.call(t3, document.body, \"click\", this.toggleMenu, e2), G.call(t3, document.body, \"touchstart\", this.firstTouch);\n }), e(this, \"container\", () => {\n const { player: e2 } = this, { config: t3, elements: i3, timers: s2 } = e2;\n !t3.keyboard.global && t3.keyboard.focused && X.call(e2, i3.container, \"keydown keyup\", this.handleKey, false), X.call(e2, i3.container, \"mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen\", (t4) => {\n const { controls: n3 } = i3;\n n3 && \"enterfullscreen\" === t4.type && (n3.pressed = false, n3.hover = false);\n let a3 = 0;\n [\"touchstart\", \"touchmove\", \"mousemove\"].includes(t4.type) && (Fe.toggleControls.call(e2, true), a3 = e2.touch ? 3e3 : 2e3), clearTimeout(s2.controls), s2.controls = setTimeout(() => Fe.toggleControls.call(e2, false), a3);\n });\n const n2 = () => {\n if (!e2.isVimeo || e2.config.vimeo.premium) return;\n const t4 = i3.wrapper, { active: s3 } = e2.fullscreen, [n3, a3] = ce.call(e2), l2 = ae(`aspect-ratio: ${n3} / ${a3}`);\n if (!s3) return void (l2 ? (t4.style.width = null, t4.style.height = null) : (t4.style.maxWidth = null, t4.style.margin = null));\n const [r2, o2] = [Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0), Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0)], c2 = r2 / o2 > n3 / a3;\n l2 ? (t4.style.width = c2 ? \"auto\" : \"100%\", t4.style.height = c2 ? \"100%\" : \"auto\") : (t4.style.maxWidth = c2 ? o2 / a3 * n3 + \"px\" : null, t4.style.margin = c2 ? \"0 auto\" : null);\n }, a2 = () => {\n clearTimeout(s2.resized), s2.resized = setTimeout(n2, 50);\n };\n X.call(e2, i3.container, \"enterfullscreen exitfullscreen\", (t4) => {\n const { target: s3 } = e2.fullscreen;\n if (s3 !== i3.container) return;\n if (!e2.isEmbed && S.empty(e2.config.ratio)) return;\n n2();\n (\"enterfullscreen\" === t4.type ? X : J).call(e2, window, \"resize\", a2);\n });\n }), e(this, \"media\", () => {\n const { player: e2 } = this, { elements: t3 } = e2;\n if (X.call(e2, e2.media, \"timeupdate seeking seeked\", (t4) => Pe.timeUpdate.call(e2, t4)), X.call(e2, e2.media, \"durationchange loadeddata loadedmetadata\", (t4) => Pe.durationUpdate.call(e2, t4)), X.call(e2, e2.media, \"ended\", () => {\n e2.isHTML5 && e2.isVideo && e2.config.resetOnEnd && (e2.restart(), e2.pause());\n }), X.call(e2, e2.media, \"progress playing seeking seeked\", (t4) => Pe.updateProgress.call(e2, t4)), X.call(e2, e2.media, \"volumechange\", (t4) => Pe.updateVolume.call(e2, t4)), X.call(e2, e2.media, \"playing play pause ended emptied timeupdate\", (t4) => Fe.checkPlaying.call(e2, t4)), X.call(e2, e2.media, \"waiting canplay seeked playing\", (t4) => Fe.checkLoading.call(e2, t4)), e2.supported.ui && e2.config.clickToPlay && !e2.isAudio) {\n const i4 = B.call(e2, `.${e2.config.classNames.video}`);\n if (!S.element(i4)) return;\n X.call(e2, t3.container, \"click\", (s2) => {\n ([t3.container, i4].includes(s2.target) || i4.contains(s2.target)) && (e2.touch && e2.config.hideControls || (e2.ended ? (this.proxy(s2, e2.restart, \"restart\"), this.proxy(s2, () => {\n ie(e2.play());\n }, \"play\")) : this.proxy(s2, () => {\n ie(e2.togglePlay());\n }, \"play\")));\n });\n }\n e2.supported.ui && e2.config.disableContextMenu && X.call(e2, t3.wrapper, \"contextmenu\", (e3) => {\n e3.preventDefault();\n }, false), X.call(e2, e2.media, \"volumechange\", () => {\n e2.storage.set({ volume: e2.volume, muted: e2.muted });\n }), X.call(e2, e2.media, \"ratechange\", () => {\n Pe.updateSetting.call(e2, \"speed\"), e2.storage.set({ speed: e2.speed });\n }), X.call(e2, e2.media, \"qualitychange\", (t4) => {\n Pe.updateSetting.call(e2, \"quality\", null, t4.detail.quality);\n }), X.call(e2, e2.media, \"ready qualitychange\", () => {\n Pe.setDownloadUrl.call(e2);\n });\n const i3 = e2.config.events.concat([\"keyup\", \"keydown\"]).join(\" \");\n X.call(e2, e2.media, i3, (i4) => {\n let { detail: s2 = {} } = i4;\n \"error\" === i4.type && (s2 = e2.media.error), Z.call(e2, t3.container, i4.type, true, s2);\n });\n }), e(this, \"proxy\", (e2, t3, i3) => {\n const { player: s2 } = this, n2 = s2.config.listeners[i3];\n let a2 = true;\n S.function(n2) && (a2 = n2.call(s2, e2)), false !== a2 && S.function(t3) && t3.call(s2, e2);\n }), e(this, \"bind\", (e2, t3, i3, s2, n2 = true) => {\n const { player: a2 } = this, l2 = a2.config.listeners[s2], r2 = S.function(l2);\n X.call(a2, e2, t3, (e3) => this.proxy(e3, i3, s2), n2 && !r2);\n }), e(this, \"controls\", () => {\n const { player: e2 } = this, { elements: t3 } = e2, i3 = M.isIE ? \"change\" : \"input\";\n if (t3.buttons.play && Array.from(t3.buttons.play).forEach((t4) => {\n this.bind(t4, \"click\", () => {\n ie(e2.togglePlay());\n }, \"play\");\n }), this.bind(t3.buttons.restart, \"click\", e2.restart, \"restart\"), this.bind(t3.buttons.rewind, \"click\", () => {\n e2.lastSeekTime = Date.now(), e2.rewind();\n }, \"rewind\"), this.bind(t3.buttons.fastForward, \"click\", () => {\n e2.lastSeekTime = Date.now(), e2.forward();\n }, \"fastForward\"), this.bind(t3.buttons.mute, \"click\", () => {\n e2.muted = !e2.muted;\n }, \"mute\"), this.bind(t3.buttons.captions, \"click\", () => e2.toggleCaptions()), this.bind(t3.buttons.download, \"click\", () => {\n Z.call(e2, e2.media, \"download\");\n }, \"download\"), this.bind(t3.buttons.fullscreen, \"click\", () => {\n e2.fullscreen.toggle();\n }, \"fullscreen\"), this.bind(t3.buttons.pip, \"click\", () => {\n e2.pip = \"toggle\";\n }, \"pip\"), this.bind(t3.buttons.airplay, \"click\", e2.airplay, \"airplay\"), this.bind(t3.buttons.settings, \"click\", (t4) => {\n t4.stopPropagation(), t4.preventDefault(), Pe.toggleMenu.call(e2, t4);\n }, null, false), this.bind(t3.buttons.settings, \"keyup\", (t4) => {\n [\" \", \"Enter\"].includes(t4.key) && (\"Enter\" !== t4.key ? (t4.preventDefault(), t4.stopPropagation(), Pe.toggleMenu.call(e2, t4)) : Pe.focusFirstMenuItem.call(e2, null, true));\n }, null, false), this.bind(t3.settings.menu, \"keydown\", (t4) => {\n \"Escape\" === t4.key && Pe.toggleMenu.call(e2, t4);\n }), this.bind(t3.inputs.seek, \"mousedown mousemove\", (e3) => {\n const i4 = t3.progress.getBoundingClientRect(), s2 = 100 / i4.width * (e3.pageX - i4.left);\n e3.currentTarget.setAttribute(\"seek-value\", s2);\n }), this.bind(t3.inputs.seek, \"mousedown mouseup keydown keyup touchstart touchend\", (t4) => {\n const i4 = t4.currentTarget, s2 = \"play-on-seeked\";\n if (S.keyboardEvent(t4) && ![\"ArrowLeft\", \"ArrowRight\"].includes(t4.key)) return;\n e2.lastSeekTime = Date.now();\n const n2 = i4.hasAttribute(s2), a2 = [\"mouseup\", \"touchend\", \"keyup\"].includes(t4.type);\n n2 && a2 ? (i4.removeAttribute(s2), ie(e2.play())) : !a2 && e2.playing && (i4.setAttribute(s2, \"\"), e2.pause());\n }), M.isIos) {\n const t4 = U.call(e2, 'input[type=\"range\"]');\n Array.from(t4).forEach((e3) => this.bind(e3, i3, (e4) => P(e4.target)));\n }\n this.bind(t3.inputs.seek, i3, (t4) => {\n const i4 = t4.currentTarget;\n let s2 = i4.getAttribute(\"seek-value\");\n S.empty(s2) && (s2 = i4.value), i4.removeAttribute(\"seek-value\"), e2.currentTime = s2 / i4.max * e2.duration;\n }, \"seek\"), this.bind(t3.progress, \"mouseenter mouseleave mousemove\", (t4) => Pe.updateSeekTooltip.call(e2, t4)), this.bind(t3.progress, \"mousemove touchmove\", (t4) => {\n const { previewThumbnails: i4 } = e2;\n i4 && i4.loaded && i4.startMove(t4);\n }), this.bind(t3.progress, \"mouseleave touchend click\", () => {\n const { previewThumbnails: t4 } = e2;\n t4 && t4.loaded && t4.endMove(false, true);\n }), this.bind(t3.progress, \"mousedown touchstart\", (t4) => {\n const { previewThumbnails: i4 } = e2;\n i4 && i4.loaded && i4.startScrubbing(t4);\n }), this.bind(t3.progress, \"mouseup touchend\", (t4) => {\n const { previewThumbnails: i4 } = e2;\n i4 && i4.loaded && i4.endScrubbing(t4);\n }), M.isWebKit && Array.from(U.call(e2, 'input[type=\"range\"]')).forEach((t4) => {\n this.bind(t4, \"input\", (t5) => Pe.updateRangeFill.call(e2, t5.target));\n }), e2.config.toggleInvert && !S.element(t3.display.duration) && this.bind(t3.display.currentTime, \"click\", () => {\n 0 !== e2.currentTime && (e2.config.invertTime = !e2.config.invertTime, Pe.timeUpdate.call(e2));\n }), this.bind(t3.inputs.volume, i3, (t4) => {\n e2.volume = t4.target.value;\n }, \"volume\"), this.bind(t3.controls, \"mouseenter mouseleave\", (i4) => {\n t3.controls.hover = !e2.touch && \"mouseenter\" === i4.type;\n }), t3.fullscreen && Array.from(t3.fullscreen.children).filter((e3) => !e3.contains(t3.container)).forEach((i4) => {\n this.bind(i4, \"mouseenter mouseleave\", (i5) => {\n t3.controls && (t3.controls.hover = !e2.touch && \"mouseenter\" === i5.type);\n });\n }), this.bind(t3.controls, \"mousedown mouseup touchstart touchend touchcancel\", (e3) => {\n t3.controls.pressed = [\"mousedown\", \"touchstart\"].includes(e3.type);\n }), this.bind(t3.controls, \"focusin\", () => {\n const { config: i4, timers: s2 } = e2;\n R(t3.controls, i4.classNames.noTransition, true), Fe.toggleControls.call(e2, true), setTimeout(() => {\n R(t3.controls, i4.classNames.noTransition, false);\n }, 0);\n const n2 = this.touch ? 3e3 : 4e3;\n clearTimeout(s2.controls), s2.controls = setTimeout(() => Fe.toggleControls.call(e2, false), n2);\n }), this.bind(t3.inputs.volume, \"wheel\", (t4) => {\n const i4 = t4.webkitDirectionInvertedFromDevice, [s2, n2] = [t4.deltaX, -t4.deltaY].map((e3) => i4 ? -e3 : e3), a2 = Math.sign(Math.abs(s2) > Math.abs(n2) ? s2 : n2);\n e2.increaseVolume(a2 / 50);\n const { volume: l2 } = e2.media;\n (1 === a2 && l2 < 1 || -1 === a2 && l2 > 0) && t4.preventDefault();\n }, \"volume\", false);\n }), this.player = t2, this.lastKey = null, this.focusTimer = null, this.lastKeyDown = null, this.handleKey = this.handleKey.bind(this), this.toggleMenu = this.toggleMenu.bind(this), this.firstTouch = this.firstTouch.bind(this);\n }\n handleKey(e2) {\n const { player: t2 } = this, { elements: i3 } = t2, { key: s2, type: n2, altKey: a2, ctrlKey: l2, metaKey: r2, shiftKey: o2 } = e2, c2 = \"keydown\" === n2, u2 = c2 && s2 === this.lastKey;\n if (a2 || l2 || r2 || o2) return;\n if (!s2) return;\n if (c2) {\n const n3 = document.activeElement;\n if (S.element(n3)) {\n const { editable: s3 } = t2.config.selectors, { seek: a3 } = i3.inputs;\n if (n3 !== a3 && V(n3, s3)) return;\n if (\" \" === e2.key && V(n3, 'button, [role^=\"menuitem\"]')) return;\n }\n switch ([\" \", \"ArrowLeft\", \"ArrowUp\", \"ArrowRight\", \"ArrowDown\", \"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"c\", \"f\", \"k\", \"l\", \"m\"].includes(s2) && (e2.preventDefault(), e2.stopPropagation()), s2) {\n case \"0\":\n case \"1\":\n case \"2\":\n case \"3\":\n case \"4\":\n case \"5\":\n case \"6\":\n case \"7\":\n case \"8\":\n case \"9\":\n u2 || (h2 = parseInt(s2, 10), t2.currentTime = t2.duration / 10 * h2);\n break;\n case \" \":\n case \"k\":\n u2 || ie(t2.togglePlay());\n break;\n case \"ArrowUp\":\n t2.increaseVolume(0.1);\n break;\n case \"ArrowDown\":\n t2.decreaseVolume(0.1);\n break;\n case \"m\":\n u2 || (t2.muted = !t2.muted);\n break;\n case \"ArrowRight\":\n t2.forward();\n break;\n case \"ArrowLeft\":\n t2.rewind();\n break;\n case \"f\":\n t2.fullscreen.toggle();\n break;\n case \"c\":\n u2 || t2.toggleCaptions();\n break;\n case \"l\":\n t2.loop = !t2.loop;\n }\n \"Escape\" === s2 && !t2.fullscreen.usingNative && t2.fullscreen.active && t2.fullscreen.toggle(), this.lastKey = s2;\n } else this.lastKey = null;\n var h2;\n }\n toggleMenu(e2) {\n Pe.toggleMenu.call(this.player, e2);\n }\n }\n \"undefined\" != typeof globalThis ? globalThis : \"undefined\" != typeof window ? window : \"undefined\" != typeof global ? global : \"undefined\" != typeof self && self;\n var Ue = function(e2, t2) {\n return e2(t2 = { exports: {} }, t2.exports), t2.exports;\n }(function(e2, t2) {\n e2.exports = function() {\n var e3 = function() {\n }, t3 = {}, i3 = {}, s2 = {};\n function n2(e4, t4) {\n e4 = e4.push ? e4 : [e4];\n var n3, a3, l3, r3 = [], o3 = e4.length, c3 = o3;\n for (n3 = function(e5, i4) {\n i4.length && r3.push(e5), --c3 || t4(r3);\n }; o3--; ) a3 = e4[o3], (l3 = i3[a3]) ? n3(a3, l3) : (s2[a3] = s2[a3] || []).push(n3);\n }\n function a2(e4, t4) {\n if (e4) {\n var n3 = s2[e4];\n if (i3[e4] = t4, n3) for (; n3.length; ) n3[0](e4, t4), n3.splice(0, 1);\n }\n }\n function l2(t4, i4) {\n t4.call && (t4 = { success: t4 }), i4.length ? (t4.error || e3)(i4) : (t4.success || e3)(t4);\n }\n function r2(t4, i4, s3, n3) {\n var a3, l3, o3 = document, c3 = s3.async, u2 = (s3.numRetries || 0) + 1, h2 = s3.before || e3, d2 = t4.replace(/[\\?|#].*$/, \"\"), m2 = t4.replace(/^(css|img)!/, \"\");\n n3 = n3 || 0, /(^css!|\\.css$)/.test(d2) ? ((l3 = o3.createElement(\"link\")).rel = \"stylesheet\", l3.href = m2, (a3 = \"hideFocus\" in l3) && l3.relList && (a3 = 0, l3.rel = \"preload\", l3.as = \"style\")) : /(^img!|\\.(png|gif|jpg|svg|webp)$)/.test(d2) ? (l3 = o3.createElement(\"img\")).src = m2 : ((l3 = o3.createElement(\"script\")).src = t4, l3.async = void 0 === c3 || c3), l3.onload = l3.onerror = l3.onbeforeload = function(e4) {\n var o4 = e4.type[0];\n if (a3) try {\n l3.sheet.cssText.length || (o4 = \"e\");\n } catch (e5) {\n 18 != e5.code && (o4 = \"e\");\n }\n if (\"e\" == o4) {\n if ((n3 += 1) < u2) return r2(t4, i4, s3, n3);\n } else if (\"preload\" == l3.rel && \"style\" == l3.as) return l3.rel = \"stylesheet\";\n i4(t4, o4, e4.defaultPrevented);\n }, false !== h2(t4, l3) && o3.head.appendChild(l3);\n }\n function o2(e4, t4, i4) {\n var s3, n3, a3 = (e4 = e4.push ? e4 : [e4]).length, l3 = a3, o3 = [];\n for (s3 = function(e5, i5, s4) {\n if (\"e\" == i5 && o3.push(e5), \"b\" == i5) {\n if (!s4) return;\n o3.push(e5);\n }\n --a3 || t4(o3);\n }, n3 = 0; n3 < l3; n3++) r2(e4[n3], s3, i4);\n }\n function c2(e4, i4, s3) {\n var n3, r3;\n if (i4 && i4.trim && (n3 = i4), r3 = (n3 ? s3 : i4) || {}, n3) {\n if (n3 in t3) throw \"LoadJS\";\n t3[n3] = true;\n }\n function c3(t4, i5) {\n o2(e4, function(e5) {\n l2(r3, e5), t4 && l2({ success: t4, error: i5 }, e5), a2(n3, e5);\n }, r3);\n }\n if (r3.returnPromise) return new Promise(c3);\n c3();\n }\n return c2.ready = function(e4, t4) {\n return n2(e4, function(e5) {\n l2(t4, e5);\n }), c2;\n }, c2.done = function(e4) {\n a2(e4, []);\n }, c2.reset = function() {\n t3 = {}, i3 = {}, s2 = {};\n }, c2.isDefined = function(e4) {\n return e4 in t3;\n }, c2;\n }();\n });\n function Be(e2) {\n return new Promise((t2, i3) => {\n Ue(e2, { success: t2, error: i3 });\n });\n }\n function We(e2) {\n e2 && !this.embed.hasPlayed && (this.embed.hasPlayed = true), this.media.paused === e2 && (this.media.paused = !e2, Z.call(this, this.media, e2 ? \"play\" : \"pause\"));\n }\n const ze = { setup() {\n const e2 = this;\n R(e2.elements.wrapper, e2.config.classNames.embed, true), e2.options.speed = e2.config.speed.options, ue.call(e2), S.object(window.Vimeo) ? ze.ready.call(e2) : Be(e2.config.urls.vimeo.sdk).then(() => {\n ze.ready.call(e2);\n }).catch((t2) => {\n e2.debug.warn(\"Vimeo SDK (player.js) failed to load\", t2);\n });\n }, ready() {\n const e2 = this, t2 = e2.config.vimeo, { premium: i3, referrerPolicy: s2, ...n2 } = t2;\n let a2 = e2.media.getAttribute(\"src\"), l2 = \"\";\n S.empty(a2) ? (a2 = e2.media.getAttribute(e2.config.attributes.embed.id), l2 = e2.media.getAttribute(e2.config.attributes.embed.hash)) : l2 = function(e3) {\n const t3 = e3.match(/^.*(vimeo.com\\/|video\\/)(\\d+)(\\?.*&*h=|\\/)+([\\d,a-f]+)/);\n return t3 && 5 === t3.length ? t3[4] : null;\n }(a2);\n const r2 = l2 ? { h: l2 } : {};\n i3 && Object.assign(n2, { controls: false, sidedock: false });\n const o2 = Ne({ loop: e2.config.loop.active, autoplay: e2.autoplay, muted: e2.muted, gesture: \"media\", playsinline: e2.config.playsinline, ...r2, ...n2 }), c2 = (u2 = a2, S.empty(u2) ? null : S.number(Number(u2)) ? u2 : u2.match(/^.*(vimeo.com\\/|video\\/)(\\d+).*/) ? RegExp.$2 : u2);\n var u2;\n const h2 = $(\"iframe\"), d2 = me(e2.config.urls.vimeo.iframe, c2, o2);\n if (h2.setAttribute(\"src\", d2), h2.setAttribute(\"allowfullscreen\", \"\"), h2.setAttribute(\"allow\", [\"autoplay\", \"fullscreen\", \"picture-in-picture\", \"encrypted-media\", \"accelerometer\", \"gyroscope\"].join(\"; \")), S.empty(s2) || h2.setAttribute(\"referrerPolicy\", s2), i3 || !t2.customControls) h2.setAttribute(\"data-poster\", e2.poster), e2.media = q(h2, e2.media);\n else {\n const t3 = $(\"div\", { class: e2.config.classNames.embedContainer, \"data-poster\": e2.poster });\n t3.appendChild(h2), e2.media = q(t3, e2.media);\n }\n t2.customControls || Te(me(e2.config.urls.vimeo.api, d2)).then((t3) => {\n !S.empty(t3) && t3.thumbnail_url && Fe.setPoster.call(e2, t3.thumbnail_url).catch(() => {\n });\n }), e2.embed = new window.Vimeo.Player(h2, { autopause: e2.config.autopause, muted: e2.muted }), e2.media.paused = true, e2.media.currentTime = 0, e2.supported.ui && e2.embed.disableTextTrack(), e2.media.play = () => (We.call(e2, true), e2.embed.play()), e2.media.pause = () => (We.call(e2, false), e2.embed.pause()), e2.media.stop = () => {\n e2.pause(), e2.currentTime = 0;\n };\n let { currentTime: m2 } = e2.media;\n Object.defineProperty(e2.media, \"currentTime\", { get: () => m2, set(t3) {\n const { embed: i4, media: s3, paused: n3, volume: a3 } = e2, l3 = n3 && !i4.hasPlayed;\n s3.seeking = true, Z.call(e2, s3, \"seeking\"), Promise.resolve(l3 && i4.setVolume(0)).then(() => i4.setCurrentTime(t3)).then(() => l3 && i4.pause()).then(() => l3 && i4.setVolume(a3)).catch(() => {\n });\n } });\n let p2 = e2.config.speed.selected;\n Object.defineProperty(e2.media, \"playbackRate\", { get: () => p2, set(t3) {\n e2.embed.setPlaybackRate(t3).then(() => {\n p2 = t3, Z.call(e2, e2.media, \"ratechange\");\n }).catch(() => {\n e2.options.speed = [1];\n });\n } });\n let { volume: g2 } = e2.config;\n Object.defineProperty(e2.media, \"volume\", { get: () => g2, set(t3) {\n e2.embed.setVolume(t3).then(() => {\n g2 = t3, Z.call(e2, e2.media, \"volumechange\");\n });\n } });\n let { muted: f2 } = e2.config;\n Object.defineProperty(e2.media, \"muted\", { get: () => f2, set(t3) {\n const i4 = !!S.boolean(t3) && t3;\n e2.embed.setMuted(!!i4 || e2.config.muted).then(() => {\n f2 = i4, Z.call(e2, e2.media, \"volumechange\");\n });\n } });\n let y2, { loop: b2 } = e2.config;\n Object.defineProperty(e2.media, \"loop\", { get: () => b2, set(t3) {\n const i4 = S.boolean(t3) ? t3 : e2.config.loop.active;\n e2.embed.setLoop(i4).then(() => {\n b2 = i4;\n });\n } }), e2.embed.getVideoUrl().then((t3) => {\n y2 = t3, Pe.setDownloadUrl.call(e2);\n }).catch((e3) => {\n this.debug.warn(e3);\n }), Object.defineProperty(e2.media, \"currentSrc\", { get: () => y2 }), Object.defineProperty(e2.media, \"ended\", { get: () => e2.currentTime === e2.duration }), Promise.all([e2.embed.getVideoWidth(), e2.embed.getVideoHeight()]).then((t3) => {\n const [i4, s3] = t3;\n e2.embed.ratio = he(i4, s3), ue.call(this);\n }), e2.embed.setAutopause(e2.config.autopause).then((t3) => {\n e2.config.autopause = t3;\n }), e2.embed.getVideoTitle().then((t3) => {\n e2.config.title = t3, Fe.setTitle.call(this);\n }), e2.embed.getCurrentTime().then((t3) => {\n m2 = t3, Z.call(e2, e2.media, \"timeupdate\");\n }), e2.embed.getDuration().then((t3) => {\n e2.media.duration = t3, Z.call(e2, e2.media, \"durationchange\");\n }), e2.embed.getTextTracks().then((t3) => {\n e2.media.textTracks = t3, xe.setup.call(e2);\n }), e2.embed.on(\"cuechange\", ({ cues: t3 = [] }) => {\n const i4 = t3.map((e3) => function(e4) {\n const t4 = document.createDocumentFragment(), i5 = document.createElement(\"div\");\n return t4.appendChild(i5), i5.innerHTML = e4, t4.firstChild.innerText;\n }(e3.text));\n xe.updateCues.call(e2, i4);\n }), e2.embed.on(\"loaded\", () => {\n if (e2.embed.getPaused().then((t3) => {\n We.call(e2, !t3), t3 || Z.call(e2, e2.media, \"playing\");\n }), S.element(e2.embed.element) && e2.supported.ui) {\n e2.embed.element.setAttribute(\"tabindex\", -1);\n }\n }), e2.embed.on(\"bufferstart\", () => {\n Z.call(e2, e2.media, \"waiting\");\n }), e2.embed.on(\"bufferend\", () => {\n Z.call(e2, e2.media, \"playing\");\n }), e2.embed.on(\"play\", () => {\n We.call(e2, true), Z.call(e2, e2.media, \"playing\");\n }), e2.embed.on(\"pause\", () => {\n We.call(e2, false);\n }), e2.embed.on(\"timeupdate\", (t3) => {\n e2.media.seeking = false, m2 = t3.seconds, Z.call(e2, e2.media, \"timeupdate\");\n }), e2.embed.on(\"progress\", (t3) => {\n e2.media.buffered = t3.percent, Z.call(e2, e2.media, \"progress\"), 1 === parseInt(t3.percent, 10) && Z.call(e2, e2.media, \"canplaythrough\"), e2.embed.getDuration().then((t4) => {\n t4 !== e2.media.duration && (e2.media.duration = t4, Z.call(e2, e2.media, \"durationchange\"));\n });\n }), e2.embed.on(\"seeked\", () => {\n e2.media.seeking = false, Z.call(e2, e2.media, \"seeked\");\n }), e2.embed.on(\"ended\", () => {\n e2.media.paused = true, Z.call(e2, e2.media, \"ended\");\n }), e2.embed.on(\"error\", (t3) => {\n e2.media.error = t3, Z.call(e2, e2.media, \"error\");\n }), t2.customControls && setTimeout(() => Fe.build.call(e2), 0);\n } };\n function Ke(e2) {\n e2 && !this.embed.hasPlayed && (this.embed.hasPlayed = true), this.media.paused === e2 && (this.media.paused = !e2, Z.call(this, this.media, e2 ? \"play\" : \"pause\"));\n }\n function Ye(e2) {\n return e2.noCookie ? \"https://www.youtube-nocookie.com\" : \"http:\" === window.location.protocol ? \"http://www.youtube.com\" : void 0;\n }\n const Qe = { setup() {\n if (R(this.elements.wrapper, this.config.classNames.embed, true), S.object(window.YT) && S.function(window.YT.Player)) Qe.ready.call(this);\n else {\n const e2 = window.onYouTubeIframeAPIReady;\n window.onYouTubeIframeAPIReady = () => {\n S.function(e2) && e2(), Qe.ready.call(this);\n }, Be(this.config.urls.youtube.sdk).catch((e3) => {\n this.debug.warn(\"YouTube API failed to load\", e3);\n });\n }\n }, getTitle(e2) {\n Te(me(this.config.urls.youtube.api, e2)).then((e3) => {\n if (S.object(e3)) {\n const { title: t2, height: i3, width: s2 } = e3;\n this.config.title = t2, Fe.setTitle.call(this), this.embed.ratio = he(s2, i3);\n }\n ue.call(this);\n }).catch(() => {\n ue.call(this);\n });\n }, ready() {\n const e2 = this, t2 = e2.config.youtube, i3 = e2.media && e2.media.getAttribute(\"id\");\n if (!S.empty(i3) && i3.startsWith(\"youtube-\")) return;\n let s2 = e2.media.getAttribute(\"src\");\n S.empty(s2) && (s2 = e2.media.getAttribute(this.config.attributes.embed.id));\n const n2 = (a2 = s2, S.empty(a2) ? null : a2.match(/^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|&v=)([^#&?]*).*/) ? RegExp.$2 : a2);\n var a2;\n const l2 = $(\"div\", { id: `${e2.provider}-${Math.floor(1e4 * Math.random())}`, \"data-poster\": t2.customControls ? e2.poster : void 0 });\n if (e2.media = q(l2, e2.media), t2.customControls) {\n const t3 = (e3) => `https://i.ytimg.com/vi/${n2}/${e3}default.jpg`;\n Re(t3(\"maxres\"), 121).catch(() => Re(t3(\"sd\"), 121)).catch(() => Re(t3(\"hq\"))).then((t4) => Fe.setPoster.call(e2, t4.src)).then((t4) => {\n t4.includes(\"maxres\") || (e2.elements.poster.style.backgroundSize = \"cover\");\n }).catch(() => {\n });\n }\n e2.embed = new window.YT.Player(e2.media, { videoId: n2, host: Ye(t2), playerVars: x({}, { autoplay: e2.config.autoplay ? 1 : 0, hl: e2.config.hl, controls: e2.supported.ui && t2.customControls ? 0 : 1, disablekb: 1, playsinline: e2.config.playsinline && !e2.config.fullscreen.iosNative ? 1 : 0, cc_load_policy: e2.captions.active ? 1 : 0, cc_lang_pref: e2.config.captions.language, widget_referrer: window ? window.location.href : null }, t2), events: { onError(t3) {\n if (!e2.media.error) {\n const i4 = t3.data, s3 = { 2: \"The request contains an invalid parameter value. For example, this error occurs if you specify a video ID that does not have 11 characters, or if the video ID contains invalid characters, such as exclamation points or asterisks.\", 5: \"The requested content cannot be played in an HTML5 player or another error related to the HTML5 player has occurred.\", 100: \"The video requested was not found. This error occurs when a video has been removed (for any reason) or has been marked as private.\", 101: \"The owner of the requested video does not allow it to be played in embedded players.\", 150: \"The owner of the requested video does not allow it to be played in embedded players.\" }[i4] || \"An unknown error occurred\";\n e2.media.error = { code: i4, message: s3 }, Z.call(e2, e2.media, \"error\");\n }\n }, onPlaybackRateChange(t3) {\n const i4 = t3.target;\n e2.media.playbackRate = i4.getPlaybackRate(), Z.call(e2, e2.media, \"ratechange\");\n }, onReady(i4) {\n if (S.function(e2.media.play)) return;\n const s3 = i4.target;\n Qe.getTitle.call(e2, n2), e2.media.play = () => {\n Ke.call(e2, true), s3.playVideo();\n }, e2.media.pause = () => {\n Ke.call(e2, false), s3.pauseVideo();\n }, e2.media.stop = () => {\n s3.stopVideo();\n }, e2.media.duration = s3.getDuration(), e2.media.paused = true, e2.media.currentTime = 0, Object.defineProperty(e2.media, \"currentTime\", { get: () => Number(s3.getCurrentTime()), set(t3) {\n e2.paused && !e2.embed.hasPlayed && e2.embed.mute(), e2.media.seeking = true, Z.call(e2, e2.media, \"seeking\"), s3.seekTo(t3);\n } }), Object.defineProperty(e2.media, \"playbackRate\", { get: () => s3.getPlaybackRate(), set(e3) {\n s3.setPlaybackRate(e3);\n } });\n let { volume: a3 } = e2.config;\n Object.defineProperty(e2.media, \"volume\", { get: () => a3, set(t3) {\n a3 = t3, s3.setVolume(100 * a3), Z.call(e2, e2.media, \"volumechange\");\n } });\n let { muted: l3 } = e2.config;\n Object.defineProperty(e2.media, \"muted\", { get: () => l3, set(t3) {\n const i5 = S.boolean(t3) ? t3 : l3;\n l3 = i5, s3[i5 ? \"mute\" : \"unMute\"](), s3.setVolume(100 * a3), Z.call(e2, e2.media, \"volumechange\");\n } }), Object.defineProperty(e2.media, \"currentSrc\", { get: () => s3.getVideoUrl() }), Object.defineProperty(e2.media, \"ended\", { get: () => e2.currentTime === e2.duration });\n const r2 = s3.getAvailablePlaybackRates();\n e2.options.speed = r2.filter((t3) => e2.config.speed.options.includes(t3)), e2.supported.ui && t2.customControls && e2.media.setAttribute(\"tabindex\", -1), Z.call(e2, e2.media, \"timeupdate\"), Z.call(e2, e2.media, \"durationchange\"), clearInterval(e2.timers.buffering), e2.timers.buffering = setInterval(() => {\n e2.media.buffered = s3.getVideoLoadedFraction(), (null === e2.media.lastBuffered || e2.media.lastBuffered < e2.media.buffered) && Z.call(e2, e2.media, \"progress\"), e2.media.lastBuffered = e2.media.buffered, 1 === e2.media.buffered && (clearInterval(e2.timers.buffering), Z.call(e2, e2.media, \"canplaythrough\"));\n }, 200), t2.customControls && setTimeout(() => Fe.build.call(e2), 50);\n }, onStateChange(i4) {\n const s3 = i4.target;\n clearInterval(e2.timers.playing);\n switch (e2.media.seeking && [1, 2].includes(i4.data) && (e2.media.seeking = false, Z.call(e2, e2.media, \"seeked\")), i4.data) {\n case -1:\n Z.call(e2, e2.media, \"timeupdate\"), e2.media.buffered = s3.getVideoLoadedFraction(), Z.call(e2, e2.media, \"progress\");\n break;\n case 0:\n Ke.call(e2, false), e2.media.loop ? (s3.stopVideo(), s3.playVideo()) : Z.call(e2, e2.media, \"ended\");\n break;\n case 1:\n t2.customControls && !e2.config.autoplay && e2.media.paused && !e2.embed.hasPlayed ? e2.media.pause() : (Ke.call(e2, true), Z.call(e2, e2.media, \"playing\"), e2.timers.playing = setInterval(() => {\n Z.call(e2, e2.media, \"timeupdate\");\n }, 50), e2.media.duration !== s3.getDuration() && (e2.media.duration = s3.getDuration(), Z.call(e2, e2.media, \"durationchange\")));\n break;\n case 2:\n e2.muted || e2.embed.unMute(), Ke.call(e2, false);\n break;\n case 3:\n Z.call(e2, e2.media, \"waiting\");\n }\n Z.call(e2, e2.elements.container, \"statechange\", false, { code: i4.data });\n } } });\n } }, Xe = { setup() {\n this.media ? (R(this.elements.container, this.config.classNames.type.replace(\"{0}\", this.type), true), R(this.elements.container, this.config.classNames.provider.replace(\"{0}\", this.provider), true), this.isEmbed && R(this.elements.container, this.config.classNames.type.replace(\"{0}\", \"video\"), true), this.isVideo && (this.elements.wrapper = $(\"div\", { class: this.config.classNames.video }), L(this.media, this.elements.wrapper), this.elements.poster = $(\"div\", { class: this.config.classNames.poster }), this.elements.wrapper.appendChild(this.elements.poster)), this.isHTML5 ? de.setup.call(this) : this.isYouTube ? Qe.setup.call(this) : this.isVimeo && ze.setup.call(this)) : this.debug.warn(\"No media element found!\");\n } };\n class Je {\n constructor(t2) {\n e(this, \"load\", () => {\n this.enabled && (S.object(window.google) && S.object(window.google.ima) ? this.ready() : Be(this.player.config.urls.googleIMA.sdk).then(() => {\n this.ready();\n }).catch(() => {\n this.trigger(\"error\", new Error(\"Google IMA SDK failed to load\"));\n }));\n }), e(this, \"ready\", () => {\n var e2;\n this.enabled || ((e2 = this).manager && e2.manager.destroy(), e2.elements.displayContainer && e2.elements.displayContainer.destroy(), e2.elements.container.remove()), this.startSafetyTimer(12e3, \"ready()\"), this.managerPromise.then(() => {\n this.clearSafetyTimer(\"onAdsManagerLoaded()\");\n }), this.listeners(), this.setupIMA();\n }), e(this, \"setupIMA\", () => {\n this.elements.container = $(\"div\", { class: this.player.config.classNames.ads }), this.player.elements.container.appendChild(this.elements.container), google.ima.settings.setVpaidMode(google.ima.ImaSdkSettings.VpaidMode.ENABLED), google.ima.settings.setLocale(this.player.config.ads.language), google.ima.settings.setDisableCustomPlaybackForIOS10Plus(this.player.config.playsinline), this.elements.displayContainer = new google.ima.AdDisplayContainer(this.elements.container, this.player.media), this.loader = new google.ima.AdsLoader(this.elements.displayContainer), this.loader.addEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, (e2) => this.onAdsManagerLoaded(e2), false), this.loader.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, (e2) => this.onAdError(e2), false), this.requestAds();\n }), e(this, \"requestAds\", () => {\n const { container: e2 } = this.player.elements;\n try {\n const t3 = new google.ima.AdsRequest();\n t3.adTagUrl = this.tagUrl, t3.linearAdSlotWidth = e2.offsetWidth, t3.linearAdSlotHeight = e2.offsetHeight, t3.nonLinearAdSlotWidth = e2.offsetWidth, t3.nonLinearAdSlotHeight = e2.offsetHeight, t3.forceNonLinearFullSlot = false, t3.setAdWillPlayMuted(!this.player.muted), this.loader.requestAds(t3);\n } catch (e3) {\n this.onAdError(e3);\n }\n }), e(this, \"pollCountdown\", (e2 = false) => {\n if (!e2) return clearInterval(this.countdownTimer), void this.elements.container.removeAttribute(\"data-badge-text\");\n this.countdownTimer = setInterval(() => {\n const e3 = Ee(Math.max(this.manager.getRemainingTime(), 0)), t3 = `${ve.get(\"advertisement\", this.player.config)} - ${e3}`;\n this.elements.container.setAttribute(\"data-badge-text\", t3);\n }, 100);\n }), e(this, \"onAdsManagerLoaded\", (e2) => {\n if (!this.enabled) return;\n const t3 = new google.ima.AdsRenderingSettings();\n t3.restoreCustomPlaybackStateOnAdBreakComplete = true, t3.enablePreloading = true, this.manager = e2.getAdsManager(this.player, t3), this.cuePoints = this.manager.getCuePoints(), this.manager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, (e3) => this.onAdError(e3)), Object.keys(google.ima.AdEvent.Type).forEach((e3) => {\n this.manager.addEventListener(google.ima.AdEvent.Type[e3], (e4) => this.onAdEvent(e4));\n }), this.trigger(\"loaded\");\n }), e(this, \"addCuePoints\", () => {\n S.empty(this.cuePoints) || this.cuePoints.forEach((e2) => {\n if (0 !== e2 && -1 !== e2 && e2 < this.player.duration) {\n const t3 = this.player.elements.progress;\n if (S.element(t3)) {\n const i3 = 100 / this.player.duration * e2, s2 = $(\"span\", { class: this.player.config.classNames.cues });\n s2.style.left = `${i3.toString()}%`, t3.appendChild(s2);\n }\n }\n });\n }), e(this, \"onAdEvent\", (e2) => {\n const { container: t3 } = this.player.elements, i3 = e2.getAd(), s2 = e2.getAdData();\n switch (((e3) => {\n Z.call(this.player, this.player.media, `ads${e3.replace(/_/g, \"\").toLowerCase()}`);\n })(e2.type), e2.type) {\n case google.ima.AdEvent.Type.LOADED:\n this.trigger(\"loaded\"), this.pollCountdown(true), i3.isLinear() || (i3.width = t3.offsetWidth, i3.height = t3.offsetHeight);\n break;\n case google.ima.AdEvent.Type.STARTED:\n this.manager.setVolume(this.player.volume);\n break;\n case google.ima.AdEvent.Type.ALL_ADS_COMPLETED:\n this.player.ended ? this.loadAds() : this.loader.contentComplete();\n break;\n case google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED:\n this.pauseContent();\n break;\n case google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED:\n this.pollCountdown(), this.resumeContent();\n break;\n case google.ima.AdEvent.Type.LOG:\n s2.adError && this.player.debug.warn(`Non-fatal ad error: ${s2.adError.getMessage()}`);\n }\n }), e(this, \"onAdError\", (e2) => {\n this.cancel(), this.player.debug.warn(\"Ads error\", e2);\n }), e(this, \"listeners\", () => {\n const { container: e2 } = this.player.elements;\n let t3;\n this.player.on(\"canplay\", () => {\n this.addCuePoints();\n }), this.player.on(\"ended\", () => {\n this.loader.contentComplete();\n }), this.player.on(\"timeupdate\", () => {\n t3 = this.player.currentTime;\n }), this.player.on(\"seeked\", () => {\n const e3 = this.player.currentTime;\n S.empty(this.cuePoints) || this.cuePoints.forEach((i3, s2) => {\n t3 < i3 && i3 < e3 && (this.manager.discardAdBreak(), this.cuePoints.splice(s2, 1));\n });\n }), window.addEventListener(\"resize\", () => {\n this.manager && this.manager.resize(e2.offsetWidth, e2.offsetHeight, google.ima.ViewMode.NORMAL);\n });\n }), e(this, \"play\", () => {\n const { container: e2 } = this.player.elements;\n this.managerPromise || this.resumeContent(), this.managerPromise.then(() => {\n this.manager.setVolume(this.player.volume), this.elements.displayContainer.initialize();\n try {\n this.initialized || (this.manager.init(e2.offsetWidth, e2.offsetHeight, google.ima.ViewMode.NORMAL), this.manager.start()), this.initialized = true;\n } catch (e3) {\n this.onAdError(e3);\n }\n }).catch(() => {\n });\n }), e(this, \"resumeContent\", () => {\n this.elements.container.style.zIndex = \"\", this.playing = false, ie(this.player.media.play());\n }), e(this, \"pauseContent\", () => {\n this.elements.container.style.zIndex = 3, this.playing = true, this.player.media.pause();\n }), e(this, \"cancel\", () => {\n this.initialized && this.resumeContent(), this.trigger(\"error\"), this.loadAds();\n }), e(this, \"loadAds\", () => {\n this.managerPromise.then(() => {\n this.manager && this.manager.destroy(), this.managerPromise = new Promise((e2) => {\n this.on(\"loaded\", e2), this.player.debug.log(this.manager);\n }), this.initialized = false, this.requestAds();\n }).catch(() => {\n });\n }), e(this, \"trigger\", (e2, ...t3) => {\n const i3 = this.events[e2];\n S.array(i3) && i3.forEach((e3) => {\n S.function(e3) && e3.apply(this, t3);\n });\n }), e(this, \"on\", (e2, t3) => (S.array(this.events[e2]) || (this.events[e2] = []), this.events[e2].push(t3), this)), e(this, \"startSafetyTimer\", (e2, t3) => {\n this.player.debug.log(`Safety timer invoked from: ${t3}`), this.safetyTimer = setTimeout(() => {\n this.cancel(), this.clearSafetyTimer(\"startSafetyTimer()\");\n }, e2);\n }), e(this, \"clearSafetyTimer\", (e2) => {\n S.nullOrUndefined(this.safetyTimer) || (this.player.debug.log(`Safety timer cleared from: ${e2}`), clearTimeout(this.safetyTimer), this.safetyTimer = null);\n }), this.player = t2, this.config = t2.config.ads, this.playing = false, this.initialized = false, this.elements = { container: null, displayContainer: null }, this.manager = null, this.loader = null, this.cuePoints = null, this.events = {}, this.safetyTimer = null, this.countdownTimer = null, this.managerPromise = new Promise((e2, t3) => {\n this.on(\"loaded\", e2), this.on(\"error\", t3);\n }), this.load();\n }\n get enabled() {\n const { config: e2 } = this;\n return this.player.isHTML5 && this.player.isVideo && e2.enabled && (!S.empty(e2.publisherId) || S.url(e2.tagUrl));\n }\n get tagUrl() {\n const { config: e2 } = this;\n if (S.url(e2.tagUrl)) return e2.tagUrl;\n return `https://go.aniview.com/api/adserver6/vast/?${Ne({ AV_PUBLISHERID: \"58c25bb0073ef448b1087ad6\", AV_CHANNELID: \"5a0458dc28a06145e4519d21\", AV_URL: window.location.hostname, cb: Date.now(), AV_WIDTH: 640, AV_HEIGHT: 480, AV_CDIM2: e2.publisherId })}`;\n }\n }\n function Ge(e2 = 0, t2 = 0, i3 = 255) {\n return Math.min(Math.max(e2, t2), i3);\n }\n const Ze = (e2) => {\n const t2 = [];\n return e2.split(/\\r\\n\\r\\n|\\n\\n|\\r\\r/).forEach((e3) => {\n const i3 = {};\n e3.split(/\\r\\n|\\n|\\r/).forEach((e4) => {\n if (S.number(i3.startTime)) {\n if (!S.empty(e4.trim()) && S.empty(i3.text)) {\n const t3 = e4.trim().split(\"#xywh=\");\n [i3.text] = t3, t3[1] && ([i3.x, i3.y, i3.w, i3.h] = t3[1].split(\",\"));\n }\n } else {\n const t3 = e4.match(/([0-9]{2})?:?([0-9]{2}):([0-9]{2}).([0-9]{2,3})( ?--> ?)([0-9]{2})?:?([0-9]{2}):([0-9]{2}).([0-9]{2,3})/);\n t3 && (i3.startTime = 60 * Number(t3[1] || 0) * 60 + 60 * Number(t3[2]) + Number(t3[3]) + Number(`0.${t3[4]}`), i3.endTime = 60 * Number(t3[6] || 0) * 60 + 60 * Number(t3[7]) + Number(t3[8]) + Number(`0.${t3[9]}`));\n }\n }), i3.text && t2.push(i3);\n }), t2;\n }, et = (e2, t2) => {\n const i3 = {};\n return e2 > t2.width / t2.height ? (i3.width = t2.width, i3.height = 1 / e2 * t2.width) : (i3.height = t2.height, i3.width = e2 * t2.height), i3;\n };\n class tt {\n constructor(t2) {\n e(this, \"load\", () => {\n this.player.elements.display.seekTooltip && (this.player.elements.display.seekTooltip.hidden = this.enabled), this.enabled && this.getThumbnails().then(() => {\n this.enabled && (this.render(), this.determineContainerAutoSizing(), this.listeners(), this.loaded = true);\n });\n }), e(this, \"getThumbnails\", () => new Promise((e2) => {\n const { src: t3 } = this.player.config.previewThumbnails;\n if (S.empty(t3)) throw new Error(\"Missing previewThumbnails.src config attribute\");\n const i3 = () => {\n this.thumbnails.sort((e3, t4) => e3.height - t4.height), this.player.debug.log(\"Preview thumbnails\", this.thumbnails), e2();\n };\n if (S.function(t3)) t3((e3) => {\n this.thumbnails = e3, i3();\n });\n else {\n const e3 = (S.string(t3) ? [t3] : t3).map((e4) => this.getThumbnail(e4));\n Promise.all(e3).then(i3);\n }\n })), e(this, \"getThumbnail\", (e2) => new Promise((t3) => {\n Te(e2).then((i3) => {\n const s2 = { frames: Ze(i3), height: null, urlPrefix: \"\" };\n s2.frames[0].text.startsWith(\"/\") || s2.frames[0].text.startsWith(\"http://\") || s2.frames[0].text.startsWith(\"https://\") || (s2.urlPrefix = e2.substring(0, e2.lastIndexOf(\"/\") + 1));\n const n2 = new Image();\n n2.onload = () => {\n s2.height = n2.naturalHeight, s2.width = n2.naturalWidth, this.thumbnails.push(s2), t3();\n }, n2.src = s2.urlPrefix + s2.frames[0].text;\n });\n })), e(this, \"startMove\", (e2) => {\n if (this.loaded && S.event(e2) && [\"touchmove\", \"mousemove\"].includes(e2.type) && this.player.media.duration) {\n if (\"touchmove\" === e2.type) this.seekTime = this.player.media.duration * (this.player.elements.inputs.seek.value / 100);\n else {\n var t3, i3;\n const s2 = this.player.elements.progress.getBoundingClientRect(), n2 = 100 / s2.width * (e2.pageX - s2.left);\n this.seekTime = this.player.media.duration * (n2 / 100), this.seekTime < 0 && (this.seekTime = 0), this.seekTime > this.player.media.duration - 1 && (this.seekTime = this.player.media.duration - 1), this.mousePosX = e2.pageX, this.elements.thumb.time.innerText = Ee(this.seekTime);\n const a2 = null === (t3 = this.player.config.markers) || void 0 === t3 || null === (i3 = t3.points) || void 0 === i3 ? void 0 : i3.find(({ time: e3 }) => e3 === Math.round(this.seekTime));\n a2 && this.elements.thumb.time.insertAdjacentHTML(\"afterbegin\", `${a2.label}
    `);\n }\n this.showImageAtCurrentTime();\n }\n }), e(this, \"endMove\", () => {\n this.toggleThumbContainer(false, true);\n }), e(this, \"startScrubbing\", (e2) => {\n (S.nullOrUndefined(e2.button) || false === e2.button || 0 === e2.button) && (this.mouseDown = true, this.player.media.duration && (this.toggleScrubbingContainer(true), this.toggleThumbContainer(false, true), this.showImageAtCurrentTime()));\n }), e(this, \"endScrubbing\", () => {\n this.mouseDown = false, Math.ceil(this.lastTime) === Math.ceil(this.player.media.currentTime) ? this.toggleScrubbingContainer(false) : G.call(this.player, this.player.media, \"timeupdate\", () => {\n this.mouseDown || this.toggleScrubbingContainer(false);\n });\n }), e(this, \"listeners\", () => {\n this.player.on(\"play\", () => {\n this.toggleThumbContainer(false, true);\n }), this.player.on(\"seeked\", () => {\n this.toggleThumbContainer(false);\n }), this.player.on(\"timeupdate\", () => {\n this.lastTime = this.player.media.currentTime;\n });\n }), e(this, \"render\", () => {\n this.elements.thumb.container = $(\"div\", { class: this.player.config.classNames.previewThumbnails.thumbContainer }), this.elements.thumb.imageContainer = $(\"div\", { class: this.player.config.classNames.previewThumbnails.imageContainer }), this.elements.thumb.container.appendChild(this.elements.thumb.imageContainer);\n const e2 = $(\"div\", { class: this.player.config.classNames.previewThumbnails.timeContainer });\n this.elements.thumb.time = $(\"span\", {}, \"00:00\"), e2.appendChild(this.elements.thumb.time), this.elements.thumb.imageContainer.appendChild(e2), S.element(this.player.elements.progress) && this.player.elements.progress.appendChild(this.elements.thumb.container), this.elements.scrubbing.container = $(\"div\", { class: this.player.config.classNames.previewThumbnails.scrubbingContainer }), this.player.elements.wrapper.appendChild(this.elements.scrubbing.container);\n }), e(this, \"destroy\", () => {\n this.elements.thumb.container && this.elements.thumb.container.remove(), this.elements.scrubbing.container && this.elements.scrubbing.container.remove();\n }), e(this, \"showImageAtCurrentTime\", () => {\n this.mouseDown ? this.setScrubbingContainerSize() : this.setThumbContainerSizeAndPos();\n const e2 = this.thumbnails[0].frames.findIndex((e3) => this.seekTime >= e3.startTime && this.seekTime <= e3.endTime), t3 = e2 >= 0;\n let i3 = 0;\n this.mouseDown || this.toggleThumbContainer(t3), t3 && (this.thumbnails.forEach((t4, s2) => {\n this.loadedImages.includes(t4.frames[e2].text) && (i3 = s2);\n }), e2 !== this.showingThumb && (this.showingThumb = e2, this.loadImage(i3)));\n }), e(this, \"loadImage\", (e2 = 0) => {\n const t3 = this.showingThumb, i3 = this.thumbnails[e2], { urlPrefix: s2 } = i3, n2 = i3.frames[t3], a2 = i3.frames[t3].text, l2 = s2 + a2;\n if (this.currentImageElement && this.currentImageElement.dataset.filename === a2) this.showImage(this.currentImageElement, n2, e2, t3, a2, false), this.currentImageElement.dataset.index = t3, this.removeOldImages(this.currentImageElement);\n else {\n this.loadingImage && this.usingSprites && (this.loadingImage.onload = null);\n const i4 = new Image();\n i4.src = l2, i4.dataset.index = t3, i4.dataset.filename = a2, this.showingThumbFilename = a2, this.player.debug.log(`Loading image: ${l2}`), i4.onload = () => this.showImage(i4, n2, e2, t3, a2, true), this.loadingImage = i4, this.removeOldImages(i4);\n }\n }), e(this, \"showImage\", (e2, t3, i3, s2, n2, a2 = true) => {\n this.player.debug.log(`Showing thumb: ${n2}. num: ${s2}. qual: ${i3}. newimg: ${a2}`), this.setImageSizeAndOffset(e2, t3), a2 && (this.currentImageContainer.appendChild(e2), this.currentImageElement = e2, this.loadedImages.includes(n2) || this.loadedImages.push(n2)), this.preloadNearby(s2, true).then(this.preloadNearby(s2, false)).then(this.getHigherQuality(i3, e2, t3, n2));\n }), e(this, \"removeOldImages\", (e2) => {\n Array.from(this.currentImageContainer.children).forEach((t3) => {\n if (\"img\" !== t3.tagName.toLowerCase()) return;\n const i3 = this.usingSprites ? 500 : 1e3;\n if (t3.dataset.index !== e2.dataset.index && !t3.dataset.deleting) {\n t3.dataset.deleting = true;\n const { currentImageContainer: e3 } = this;\n setTimeout(() => {\n e3.removeChild(t3), this.player.debug.log(`Removing thumb: ${t3.dataset.filename}`);\n }, i3);\n }\n });\n }), e(this, \"preloadNearby\", (e2, t3 = true) => new Promise((i3) => {\n setTimeout(() => {\n const s2 = this.thumbnails[0].frames[e2].text;\n if (this.showingThumbFilename === s2) {\n let n2;\n n2 = t3 ? this.thumbnails[0].frames.slice(e2) : this.thumbnails[0].frames.slice(0, e2).reverse();\n let a2 = false;\n n2.forEach((e3) => {\n const t4 = e3.text;\n if (t4 !== s2 && !this.loadedImages.includes(t4)) {\n a2 = true, this.player.debug.log(`Preloading thumb filename: ${t4}`);\n const { urlPrefix: e4 } = this.thumbnails[0], s3 = e4 + t4, n3 = new Image();\n n3.src = s3, n3.onload = () => {\n this.player.debug.log(`Preloaded thumb filename: ${t4}`), this.loadedImages.includes(t4) || this.loadedImages.push(t4), i3();\n };\n }\n }), a2 || i3();\n }\n }, 300);\n })), e(this, \"getHigherQuality\", (e2, t3, i3, s2) => {\n if (e2 < this.thumbnails.length - 1) {\n let n2 = t3.naturalHeight;\n this.usingSprites && (n2 = i3.h), n2 < this.thumbContainerHeight && setTimeout(() => {\n this.showingThumbFilename === s2 && (this.player.debug.log(`Showing higher quality thumb for: ${s2}`), this.loadImage(e2 + 1));\n }, 300);\n }\n }), e(this, \"toggleThumbContainer\", (e2 = false, t3 = false) => {\n const i3 = this.player.config.classNames.previewThumbnails.thumbContainerShown;\n this.elements.thumb.container.classList.toggle(i3, e2), !e2 && t3 && (this.showingThumb = null, this.showingThumbFilename = null);\n }), e(this, \"toggleScrubbingContainer\", (e2 = false) => {\n const t3 = this.player.config.classNames.previewThumbnails.scrubbingContainerShown;\n this.elements.scrubbing.container.classList.toggle(t3, e2), e2 || (this.showingThumb = null, this.showingThumbFilename = null);\n }), e(this, \"determineContainerAutoSizing\", () => {\n (this.elements.thumb.imageContainer.clientHeight > 20 || this.elements.thumb.imageContainer.clientWidth > 20) && (this.sizeSpecifiedInCSS = true);\n }), e(this, \"setThumbContainerSizeAndPos\", () => {\n const { imageContainer: e2 } = this.elements.thumb;\n if (this.sizeSpecifiedInCSS) {\n if (e2.clientHeight > 20 && e2.clientWidth < 20) {\n const t3 = Math.floor(e2.clientHeight * this.thumbAspectRatio);\n e2.style.width = `${t3}px`;\n } else if (e2.clientHeight < 20 && e2.clientWidth > 20) {\n const t3 = Math.floor(e2.clientWidth / this.thumbAspectRatio);\n e2.style.height = `${t3}px`;\n }\n } else {\n const t3 = Math.floor(this.thumbContainerHeight * this.thumbAspectRatio);\n e2.style.height = `${this.thumbContainerHeight}px`, e2.style.width = `${t3}px`;\n }\n this.setThumbContainerPos();\n }), e(this, \"setThumbContainerPos\", () => {\n const e2 = this.player.elements.progress.getBoundingClientRect(), t3 = this.player.elements.container.getBoundingClientRect(), { container: i3 } = this.elements.thumb, s2 = t3.left - e2.left + 10, n2 = t3.right - e2.left - i3.clientWidth - 10, a2 = this.mousePosX - e2.left - i3.clientWidth / 2, l2 = Ge(a2, s2, n2);\n i3.style.left = `${l2}px`, i3.style.setProperty(\"--preview-arrow-offset\", a2 - l2 + \"px\");\n }), e(this, \"setScrubbingContainerSize\", () => {\n const { width: e2, height: t3 } = et(this.thumbAspectRatio, { width: this.player.media.clientWidth, height: this.player.media.clientHeight });\n this.elements.scrubbing.container.style.width = `${e2}px`, this.elements.scrubbing.container.style.height = `${t3}px`;\n }), e(this, \"setImageSizeAndOffset\", (e2, t3) => {\n if (!this.usingSprites) return;\n const i3 = this.thumbContainerHeight / t3.h;\n e2.style.height = e2.naturalHeight * i3 + \"px\", e2.style.width = e2.naturalWidth * i3 + \"px\", e2.style.left = `-${t3.x * i3}px`, e2.style.top = `-${t3.y * i3}px`;\n }), this.player = t2, this.thumbnails = [], this.loaded = false, this.lastMouseMoveTime = Date.now(), this.mouseDown = false, this.loadedImages = [], this.elements = { thumb: {}, scrubbing: {} }, this.load();\n }\n get enabled() {\n return this.player.isHTML5 && this.player.isVideo && this.player.config.previewThumbnails.enabled;\n }\n get currentImageContainer() {\n return this.mouseDown ? this.elements.scrubbing.container : this.elements.thumb.imageContainer;\n }\n get usingSprites() {\n return Object.keys(this.thumbnails[0].frames[0]).includes(\"w\");\n }\n get thumbAspectRatio() {\n return this.usingSprites ? this.thumbnails[0].frames[0].w / this.thumbnails[0].frames[0].h : this.thumbnails[0].width / this.thumbnails[0].height;\n }\n get thumbContainerHeight() {\n if (this.mouseDown) {\n const { height: e2 } = et(this.thumbAspectRatio, { width: this.player.media.clientWidth, height: this.player.media.clientHeight });\n return e2;\n }\n return this.sizeSpecifiedInCSS ? this.elements.thumb.imageContainer.clientHeight : Math.floor(this.player.media.clientWidth / this.thumbAspectRatio / 4);\n }\n get currentImageElement() {\n return this.mouseDown ? this.currentScrubbingImageElement : this.currentThumbnailImageElement;\n }\n set currentImageElement(e2) {\n this.mouseDown ? this.currentScrubbingImageElement = e2 : this.currentThumbnailImageElement = e2;\n }\n }\n const it = { insertElements(e2, t2) {\n S.string(t2) ? _(e2, this.media, { src: t2 }) : S.array(t2) && t2.forEach((t3) => {\n _(e2, this.media, t3);\n });\n }, change(e2) {\n N(e2, \"sources.length\") ? (de.cancelRequests.call(this), this.destroy.call(this, () => {\n this.options.quality = [], O(this.media), this.media = null, S.element(this.elements.container) && this.elements.container.removeAttribute(\"class\");\n const { sources: t2, type: i3 } = e2, [{ provider: s2 = _e.html5, src: n2 }] = t2, a2 = \"html5\" === s2 ? i3 : \"div\", l2 = \"html5\" === s2 ? {} : { src: n2 };\n Object.assign(this, { provider: s2, type: i3, supported: K.check(i3, s2, this.config.playsinline), media: $(a2, l2) }), this.elements.container.appendChild(this.media), S.boolean(e2.autoplay) && (this.config.autoplay = e2.autoplay), this.isHTML5 && (this.config.crossorigin && this.media.setAttribute(\"crossorigin\", \"\"), this.config.autoplay && this.media.setAttribute(\"autoplay\", \"\"), S.empty(e2.poster) || (this.poster = e2.poster), this.config.loop.active && this.media.setAttribute(\"loop\", \"\"), this.config.muted && this.media.setAttribute(\"muted\", \"\"), this.config.playsinline && this.media.setAttribute(\"playsinline\", \"\")), Fe.addStyleHook.call(this), this.isHTML5 && it.insertElements.call(this, \"source\", t2), this.config.title = e2.title, Xe.setup.call(this), this.isHTML5 && Object.keys(e2).includes(\"tracks\") && it.insertElements.call(this, \"track\", e2.tracks), (this.isHTML5 || this.isEmbed && !this.supported.ui) && Fe.build.call(this), this.isHTML5 && this.media.load(), S.empty(e2.previewThumbnails) || (Object.assign(this.config.previewThumbnails, e2.previewThumbnails), this.previewThumbnails && this.previewThumbnails.loaded && (this.previewThumbnails.destroy(), this.previewThumbnails = null), this.config.previewThumbnails.enabled && (this.previewThumbnails = new tt(this))), this.fullscreen.update();\n }, true)) : this.debug.warn(\"Invalid source format\");\n } };\n class st {\n constructor(t2, i3) {\n if (e(this, \"play\", () => S.function(this.media.play) ? (this.ads && this.ads.enabled && this.ads.managerPromise.then(() => this.ads.play()).catch(() => ie(this.media.play())), this.media.play()) : null), e(this, \"pause\", () => this.playing && S.function(this.media.pause) ? this.media.pause() : null), e(this, \"togglePlay\", (e2) => (S.boolean(e2) ? e2 : !this.playing) ? this.play() : this.pause()), e(this, \"stop\", () => {\n this.isHTML5 ? (this.pause(), this.restart()) : S.function(this.media.stop) && this.media.stop();\n }), e(this, \"restart\", () => {\n this.currentTime = 0;\n }), e(this, \"rewind\", (e2) => {\n this.currentTime -= S.number(e2) ? e2 : this.config.seekTime;\n }), e(this, \"forward\", (e2) => {\n this.currentTime += S.number(e2) ? e2 : this.config.seekTime;\n }), e(this, \"increaseVolume\", (e2) => {\n const t3 = this.media.muted ? 0 : this.volume;\n this.volume = t3 + (S.number(e2) ? e2 : 0);\n }), e(this, \"decreaseVolume\", (e2) => {\n this.increaseVolume(-e2);\n }), e(this, \"airplay\", () => {\n K.airplay && this.media.webkitShowPlaybackTargetPicker();\n }), e(this, \"toggleControls\", (e2) => {\n if (this.supported.ui && !this.isAudio) {\n const t3 = F(this.elements.container, this.config.classNames.hideControls), i4 = void 0 === e2 ? void 0 : !e2, s3 = R(this.elements.container, this.config.classNames.hideControls, i4);\n if (s3 && S.array(this.config.controls) && this.config.controls.includes(\"settings\") && !S.empty(this.config.settings) && Pe.toggleMenu.call(this, false), s3 !== t3) {\n const e3 = s3 ? \"controlshidden\" : \"controlsshown\";\n Z.call(this, this.media, e3);\n }\n return !s3;\n }\n return false;\n }), e(this, \"on\", (e2, t3) => {\n X.call(this, this.elements.container, e2, t3);\n }), e(this, \"once\", (e2, t3) => {\n G.call(this, this.elements.container, e2, t3);\n }), e(this, \"off\", (e2, t3) => {\n J(this.elements.container, e2, t3);\n }), e(this, \"destroy\", (e2, t3 = false) => {\n if (!this.ready) return;\n const i4 = () => {\n document.body.style.overflow = \"\", this.embed = null, t3 ? (Object.keys(this.elements).length && (O(this.elements.buttons.play), O(this.elements.captions), O(this.elements.controls), O(this.elements.wrapper), this.elements.buttons.play = null, this.elements.captions = null, this.elements.controls = null, this.elements.wrapper = null), S.function(e2) && e2()) : (ee.call(this), de.cancelRequests.call(this), q(this.elements.original, this.elements.container), Z.call(this, this.elements.original, \"destroyed\", true), S.function(e2) && e2.call(this.elements.original), this.ready = false, setTimeout(() => {\n this.elements = null, this.media = null;\n }, 200));\n };\n this.stop(), clearTimeout(this.timers.loading), clearTimeout(this.timers.controls), clearTimeout(this.timers.resized), this.isHTML5 ? (Fe.toggleNativeControls.call(this, true), i4()) : this.isYouTube ? (clearInterval(this.timers.buffering), clearInterval(this.timers.playing), null !== this.embed && S.function(this.embed.destroy) && this.embed.destroy(), i4()) : this.isVimeo && (null !== this.embed && this.embed.unload().then(i4), setTimeout(i4, 200));\n }), e(this, \"supports\", (e2) => K.mime.call(this, e2)), this.timers = {}, this.ready = false, this.loading = false, this.failed = false, this.touch = K.touch, this.media = t2, S.string(this.media) && (this.media = document.querySelectorAll(this.media)), (window.jQuery && this.media instanceof jQuery || S.nodeList(this.media) || S.array(this.media)) && (this.media = this.media[0]), this.config = x({}, Le, st.defaults, i3 || {}, (() => {\n try {\n return JSON.parse(this.media.getAttribute(\"data-plyr-config\"));\n } catch (e2) {\n return {};\n }\n })()), this.elements = { container: null, fullscreen: null, captions: null, buttons: {}, display: {}, progress: {}, inputs: {}, settings: { popup: null, menu: null, panels: {}, buttons: {} } }, this.captions = { active: null, currentTrack: -1, meta: /* @__PURE__ */ new WeakMap() }, this.fullscreen = { active: false }, this.options = { speed: [], quality: [] }, this.debug = new De(this.config.debug), this.debug.log(\"Config\", this.config), this.debug.log(\"Support\", K), S.nullOrUndefined(this.media) || !S.element(this.media)) return void this.debug.error(\"Setup failed: no suitable element passed\");\n if (this.media.plyr) return void this.debug.warn(\"Target already setup\");\n if (!this.config.enabled) return void this.debug.error(\"Setup failed: disabled by config\");\n if (!K.check().api) return void this.debug.error(\"Setup failed: no support\");\n const s2 = this.media.cloneNode(true);\n s2.autoplay = false, this.elements.original = s2;\n const n2 = this.media.tagName.toLowerCase();\n let a2 = null, l2 = null;\n switch (n2) {\n case \"div\":\n if (a2 = this.media.querySelector(\"iframe\"), S.element(a2)) {\n if (l2 = Me(a2.getAttribute(\"src\")), this.provider = function(e2) {\n return /^(https?:\\/\\/)?(www\\.)?(youtube\\.com|youtube-nocookie\\.com|youtu\\.?be)\\/.+$/.test(e2) ? _e.youtube : /^https?:\\/\\/player.vimeo.com\\/video\\/\\d{0,9}(?=\\b|\\/)/.test(e2) ? _e.vimeo : null;\n }(l2.toString()), this.elements.container = this.media, this.media = a2, this.elements.container.className = \"\", l2.search.length) {\n const e2 = [\"1\", \"true\"];\n e2.includes(l2.searchParams.get(\"autoplay\")) && (this.config.autoplay = true), e2.includes(l2.searchParams.get(\"loop\")) && (this.config.loop.active = true), this.isYouTube ? (this.config.playsinline = e2.includes(l2.searchParams.get(\"playsinline\")), this.config.youtube.hl = l2.searchParams.get(\"hl\")) : this.config.playsinline = true;\n }\n } else this.provider = this.media.getAttribute(this.config.attributes.embed.provider), this.media.removeAttribute(this.config.attributes.embed.provider);\n if (S.empty(this.provider) || !Object.values(_e).includes(this.provider)) return void this.debug.error(\"Setup failed: Invalid provider\");\n this.type = je;\n break;\n case \"video\":\n case \"audio\":\n this.type = n2, this.provider = _e.html5, this.media.hasAttribute(\"crossorigin\") && (this.config.crossorigin = true), this.media.hasAttribute(\"autoplay\") && (this.config.autoplay = true), (this.media.hasAttribute(\"playsinline\") || this.media.hasAttribute(\"webkit-playsinline\")) && (this.config.playsinline = true), this.media.hasAttribute(\"muted\") && (this.config.muted = true), this.media.hasAttribute(\"loop\") && (this.config.loop.active = true);\n break;\n default:\n return void this.debug.error(\"Setup failed: unsupported type\");\n }\n this.supported = K.check(this.type, this.provider), this.supported.api ? (this.eventListeners = [], this.listeners = new Ve(this), this.storage = new we(this), this.media.plyr = this, S.element(this.elements.container) || (this.elements.container = $(\"div\"), L(this.media, this.elements.container)), Fe.migrateStyles.call(this), Fe.addStyleHook.call(this), Xe.setup.call(this), this.config.debug && X.call(this, this.elements.container, this.config.events.join(\" \"), (e2) => {\n this.debug.log(`event: ${e2.type}`);\n }), this.fullscreen = new He(this), (this.isHTML5 || this.isEmbed && !this.supported.ui) && Fe.build.call(this), this.listeners.container(), this.listeners.global(), this.config.ads.enabled && (this.ads = new Je(this)), this.isHTML5 && this.config.autoplay && this.once(\"canplay\", () => ie(this.play())), this.lastSeekTime = 0, this.config.previewThumbnails.enabled && (this.previewThumbnails = new tt(this))) : this.debug.error(\"Setup failed: no support\");\n }\n get isHTML5() {\n return this.provider === _e.html5;\n }\n get isEmbed() {\n return this.isYouTube || this.isVimeo;\n }\n get isYouTube() {\n return this.provider === _e.youtube;\n }\n get isVimeo() {\n return this.provider === _e.vimeo;\n }\n get isVideo() {\n return this.type === je;\n }\n get isAudio() {\n return this.type === Oe;\n }\n get playing() {\n return Boolean(this.ready && !this.paused && !this.ended);\n }\n get paused() {\n return Boolean(this.media.paused);\n }\n get stopped() {\n return Boolean(this.paused && 0 === this.currentTime);\n }\n get ended() {\n return Boolean(this.media.ended);\n }\n set currentTime(e2) {\n if (!this.duration) return;\n const t2 = S.number(e2) && e2 > 0;\n this.media.currentTime = t2 ? Math.min(e2, this.duration) : 0, this.debug.log(`Seeking to ${this.currentTime} seconds`);\n }\n get currentTime() {\n return Number(this.media.currentTime);\n }\n get buffered() {\n const { buffered: e2 } = this.media;\n return S.number(e2) ? e2 : e2 && e2.length && this.duration > 0 ? e2.end(0) / this.duration : 0;\n }\n get seeking() {\n return Boolean(this.media.seeking);\n }\n get duration() {\n const e2 = parseFloat(this.config.duration), t2 = (this.media || {}).duration, i3 = S.number(t2) && t2 !== 1 / 0 ? t2 : 0;\n return e2 || i3;\n }\n set volume(e2) {\n let t2 = e2;\n S.string(t2) && (t2 = Number(t2)), S.number(t2) || (t2 = this.storage.get(\"volume\")), S.number(t2) || ({ volume: t2 } = this.config), t2 > 1 && (t2 = 1), t2 < 0 && (t2 = 0), this.config.volume = t2, this.media.volume = t2, !S.empty(e2) && this.muted && t2 > 0 && (this.muted = false);\n }\n get volume() {\n return Number(this.media.volume);\n }\n set muted(e2) {\n let t2 = e2;\n S.boolean(t2) || (t2 = this.storage.get(\"muted\")), S.boolean(t2) || (t2 = this.config.muted), this.config.muted = t2, this.media.muted = t2;\n }\n get muted() {\n return Boolean(this.media.muted);\n }\n get hasAudio() {\n return !this.isHTML5 || (!!this.isAudio || (Boolean(this.media.mozHasAudio) || Boolean(this.media.webkitAudioDecodedByteCount) || Boolean(this.media.audioTracks && this.media.audioTracks.length)));\n }\n set speed(e2) {\n let t2 = null;\n S.number(e2) && (t2 = e2), S.number(t2) || (t2 = this.storage.get(\"speed\")), S.number(t2) || (t2 = this.config.speed.selected);\n const { minimumSpeed: i3, maximumSpeed: s2 } = this;\n t2 = Ge(t2, i3, s2), this.config.speed.selected = t2, setTimeout(() => {\n this.media && (this.media.playbackRate = t2);\n }, 0);\n }\n get speed() {\n return Number(this.media.playbackRate);\n }\n get minimumSpeed() {\n return this.isYouTube ? Math.min(...this.options.speed) : this.isVimeo ? 0.5 : 0.0625;\n }\n get maximumSpeed() {\n return this.isYouTube ? Math.max(...this.options.speed) : this.isVimeo ? 2 : 16;\n }\n set quality(e2) {\n const t2 = this.config.quality, i3 = this.options.quality;\n if (!i3.length) return;\n let s2 = [!S.empty(e2) && Number(e2), this.storage.get(\"quality\"), t2.selected, t2.default].find(S.number), n2 = true;\n if (!i3.includes(s2)) {\n const e3 = ne(i3, s2);\n this.debug.warn(`Unsupported quality option: ${s2}, using ${e3} instead`), s2 = e3, n2 = false;\n }\n t2.selected = s2, this.media.quality = s2, n2 && this.storage.set({ quality: s2 });\n }\n get quality() {\n return this.media.quality;\n }\n set loop(e2) {\n const t2 = S.boolean(e2) ? e2 : this.config.loop.active;\n this.config.loop.active = t2, this.media.loop = t2;\n }\n get loop() {\n return Boolean(this.media.loop);\n }\n set source(e2) {\n it.change.call(this, e2);\n }\n get source() {\n return this.media.currentSrc;\n }\n get download() {\n const { download: e2 } = this.config.urls;\n return S.url(e2) ? e2 : this.source;\n }\n set download(e2) {\n S.url(e2) && (this.config.urls.download = e2, Pe.setDownloadUrl.call(this));\n }\n set poster(e2) {\n this.isVideo ? Fe.setPoster.call(this, e2, false).catch(() => {\n }) : this.debug.warn(\"Poster can only be set for video\");\n }\n get poster() {\n return this.isVideo ? this.media.getAttribute(\"poster\") || this.media.getAttribute(\"data-poster\") : null;\n }\n get ratio() {\n if (!this.isVideo) return null;\n const e2 = oe(ce.call(this));\n return S.array(e2) ? e2.join(\":\") : e2;\n }\n set ratio(e2) {\n this.isVideo ? S.string(e2) && re(e2) ? (this.config.ratio = oe(e2), ue.call(this)) : this.debug.error(`Invalid aspect ratio specified (${e2})`) : this.debug.warn(\"Aspect ratio can only be set for video\");\n }\n set autoplay(e2) {\n this.config.autoplay = S.boolean(e2) ? e2 : this.config.autoplay;\n }\n get autoplay() {\n return Boolean(this.config.autoplay);\n }\n toggleCaptions(e2) {\n xe.toggle.call(this, e2, false);\n }\n set currentTrack(e2) {\n xe.set.call(this, e2, false), xe.setup.call(this);\n }\n get currentTrack() {\n const { toggled: e2, currentTrack: t2 } = this.captions;\n return e2 ? t2 : -1;\n }\n set language(e2) {\n xe.setLanguage.call(this, e2, false);\n }\n get language() {\n return (xe.getCurrentTrack.call(this) || {}).language;\n }\n set pip(e2) {\n if (!K.pip) return;\n const t2 = S.boolean(e2) ? e2 : !this.pip;\n S.function(this.media.webkitSetPresentationMode) && this.media.webkitSetPresentationMode(t2 ? Ie : $e), S.function(this.media.requestPictureInPicture) && (!this.pip && t2 ? this.media.requestPictureInPicture() : this.pip && !t2 && document.exitPictureInPicture());\n }\n get pip() {\n return K.pip ? S.empty(this.media.webkitPresentationMode) ? this.media === document.pictureInPictureElement : this.media.webkitPresentationMode === Ie : null;\n }\n setPreviewThumbnails(e2) {\n this.previewThumbnails && this.previewThumbnails.loaded && (this.previewThumbnails.destroy(), this.previewThumbnails = null), Object.assign(this.config.previewThumbnails, e2), this.config.previewThumbnails.enabled && (this.previewThumbnails = new tt(this));\n }\n static supported(e2, t2) {\n return K.check(e2, t2);\n }\n static loadSprite(e2, t2) {\n return ke(e2, t2);\n }\n static setup(e2, t2 = {}) {\n let i3 = null;\n return S.string(e2) ? i3 = Array.from(document.querySelectorAll(e2)) : S.nodeList(e2) ? i3 = Array.from(e2) : S.array(e2) && (i3 = e2.filter(S.element)), S.empty(i3) ? null : i3.map((e3) => new st(e3, t2));\n }\n }\n var nt;\n return st.defaults = (nt = Le, JSON.parse(JSON.stringify(nt))), st;\n });\n }\n});\n\n// node_modules/plyr/src/sass/plyr.scss?inline\nvar plyr_default = i`@charset \"UTF-8\";\n@keyframes plyr-progress {\n to {\n background-position: var(--plyr-progress-loading-size, 25px) 0;\n }\n}\n@keyframes plyr-popup {\n 0% {\n opacity: 0.5;\n transform: translateY(10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@keyframes plyr-fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.plyr {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n align-items: center;\n direction: ltr;\n display: flex;\n flex-direction: column;\n font-family: var(--plyr-font-family, inherit);\n font-variant-numeric: tabular-nums;\n font-weight: var(--plyr-font-weight-regular, 400);\n line-height: var(--plyr-line-height, 1.7);\n max-width: 100%;\n min-width: 200px;\n position: relative;\n text-shadow: none;\n transition: box-shadow 0.3s ease;\n z-index: 0;\n}\n.plyr video,\n.plyr audio,\n.plyr iframe {\n display: block;\n height: 100%;\n width: 100%;\n}\n.plyr button {\n font: inherit;\n line-height: inherit;\n width: auto;\n}\n.plyr:focus {\n outline: 0;\n}\n\n.plyr--full-ui {\n box-sizing: border-box;\n}\n.plyr--full-ui *,\n.plyr--full-ui *::after,\n.plyr--full-ui *::before {\n box-sizing: inherit;\n}\n\n.plyr--full-ui a,\n.plyr--full-ui button,\n.plyr--full-ui input,\n.plyr--full-ui label {\n touch-action: manipulation;\n}\n\n.plyr__badge {\n background: var(--plyr-badge-background, hsl(216, 15%, 34%));\n border-radius: var(--plyr-badge-border-radius, 2px);\n color: var(--plyr-badge-text-color, #fff);\n font-size: var(--plyr-font-size-badge, 9px);\n line-height: 1;\n padding: 3px 4px;\n}\n\n.plyr--full-ui ::-webkit-media-text-track-container {\n display: none;\n}\n\n.plyr__captions {\n animation: plyr-fade-in 0.3s ease;\n bottom: 0;\n display: none;\n font-size: var(--plyr-font-size-small, 13px);\n left: 0;\n padding: var(--plyr-control-spacing, 10px);\n position: absolute;\n text-align: center;\n transition: transform 0.4s ease-in-out;\n width: 100%;\n}\n.plyr__captions span:empty {\n display: none;\n}\n@media (min-width: 480px) {\n .plyr__captions {\n font-size: var(--plyr-font-size-base, 15px);\n padding: calc(var(--plyr-control-spacing, 10px) * 2);\n }\n}\n@media (min-width: 768px) {\n .plyr__captions {\n font-size: var(--plyr-font-size-large, 18px);\n }\n}\n\n.plyr--captions-active .plyr__captions {\n display: block;\n}\n\n.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty) ~ .plyr__captions {\n transform: translateY(calc(var(--plyr-control-spacing, 10px) * -4));\n}\n\n.plyr__caption {\n background: var(--plyr-captions-background, rgba(0, 0, 0, 0.8));\n border-radius: 2px;\n box-decoration-break: clone;\n color: var(--plyr-captions-text-color, #fff);\n line-height: 185%;\n padding: 0.2em 0.5em;\n white-space: pre-wrap;\n}\n.plyr__caption div {\n display: inline;\n}\n\n.plyr__control {\n background: transparent;\n border: 0;\n border-radius: var(--plyr-control-radius, 4px);\n color: inherit;\n cursor: pointer;\n flex-shrink: 0;\n overflow: visible;\n padding: calc(var(--plyr-control-spacing, 10px) * 0.7);\n position: relative;\n transition: all 0.3s ease;\n}\n.plyr__control svg {\n display: block;\n fill: currentColor;\n height: var(--plyr-control-icon-size, 18px);\n pointer-events: none;\n width: var(--plyr-control-icon-size, 18px);\n}\n.plyr__control:focus {\n outline: 0;\n}\n.plyr__control:focus-visible {\n outline: 2px dashed var(--plyr-focus-visible-color, var(--plyr-color-main, var(--plyr-color-main, hsl(198, 100%, 50%))));\n outline-offset: 2px;\n}\n\na.plyr__control {\n text-decoration: none;\n}\na.plyr__control::after, a.plyr__control::before {\n display: none;\n}\n\n.plyr__control:not(.plyr__control--pressed) .icon--pressed,\n.plyr__control.plyr__control--pressed .icon--not-pressed,\n.plyr__control:not(.plyr__control--pressed) .label--pressed,\n.plyr__control.plyr__control--pressed .label--not-pressed {\n display: none;\n}\n\n.plyr--full-ui ::-webkit-media-controls {\n display: none;\n}\n\n.plyr__controls {\n align-items: center;\n display: flex;\n justify-content: flex-end;\n text-align: center;\n}\n.plyr__controls .plyr__progress__container {\n flex: 1;\n min-width: 0;\n}\n.plyr__controls .plyr__controls__item {\n margin-left: calc(var(--plyr-control-spacing, 10px) / 4);\n}\n.plyr__controls .plyr__controls__item:first-child {\n margin-left: 0;\n margin-right: auto;\n}\n.plyr__controls .plyr__controls__item.plyr__progress__container {\n padding-left: calc(var(--plyr-control-spacing, 10px) / 4);\n}\n.plyr__controls .plyr__controls__item.plyr__time {\n padding: 0 calc(var(--plyr-control-spacing, 10px) / 2);\n}\n.plyr__controls .plyr__controls__item.plyr__progress__container:first-child, .plyr__controls .plyr__controls__item.plyr__time:first-child, .plyr__controls .plyr__controls__item.plyr__time + .plyr__time {\n padding-left: 0;\n}\n.plyr__controls:empty {\n display: none;\n}\n\n.plyr [data-plyr=captions],\n.plyr [data-plyr=pip],\n.plyr [data-plyr=airplay],\n.plyr [data-plyr=fullscreen] {\n display: none;\n}\n\n.plyr--captions-enabled [data-plyr=captions],\n.plyr--pip-supported [data-plyr=pip],\n.plyr--airplay-supported [data-plyr=airplay],\n.plyr--fullscreen-enabled [data-plyr=fullscreen] {\n display: inline-block;\n}\n\n.plyr__menu {\n display: flex;\n position: relative;\n}\n.plyr__menu .plyr__control svg {\n transition: transform 0.3s ease;\n}\n.plyr__menu .plyr__control[aria-expanded=true] svg {\n transform: rotate(90deg);\n}\n.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip {\n display: none;\n}\n.plyr__menu__container {\n animation: plyr-popup 0.2s ease;\n background: var(--plyr-menu-background, rgba(255, 255, 255, 0.9));\n border-radius: var(--plyr-menu-radius, 8px);\n bottom: 100%;\n box-shadow: var(--plyr-menu-shadow, 0 1px 2px rgba(0, 0, 0, 0.15));\n color: var(--plyr-menu-color, hsl(216, 15%, 34%));\n font-size: var(--plyr-font-size-base, 15px);\n margin-bottom: 10px;\n position: absolute;\n right: -3px;\n text-align: left;\n white-space: nowrap;\n z-index: 3;\n}\n.plyr__menu__container > div {\n overflow: hidden;\n transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1), width 0.35s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.plyr__menu__container::after {\n border: var(--plyr-menu-arrow-size, 4px) solid transparent;\n border-top-color: var(--plyr-menu-background, rgba(255, 255, 255, 0.9));\n content: \"\";\n height: 0;\n position: absolute;\n right: calc(var(--plyr-control-icon-size, 18px) / 2 + calc(var(--plyr-control-spacing, 10px) * 0.7) - var(--plyr-menu-arrow-size, 4px) / 2);\n top: 100%;\n width: 0;\n}\n.plyr__menu__container [role=menu] {\n padding: calc(var(--plyr-control-spacing, 10px) * 0.7);\n}\n.plyr__menu__container [role=menuitem],\n.plyr__menu__container [role=menuitemradio] {\n margin-top: 2px;\n}\n.plyr__menu__container [role=menuitem]:first-child,\n.plyr__menu__container [role=menuitemradio]:first-child {\n margin-top: 0;\n}\n.plyr__menu__container .plyr__control {\n align-items: center;\n color: var(--plyr-menu-color, hsl(216, 15%, 34%));\n display: flex;\n font-size: var(--plyr-font-size-menu, var(--plyr-font-size-small, 13px));\n padding: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) / 1.5) calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 1.5);\n user-select: none;\n width: 100%;\n}\n.plyr__menu__container .plyr__control > span {\n align-items: inherit;\n display: flex;\n width: 100%;\n}\n.plyr__menu__container .plyr__control::after {\n border: var(--plyr-menu-item-arrow-size, 4px) solid transparent;\n content: \"\";\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n}\n.plyr__menu__container .plyr__control--forward {\n padding-right: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 4);\n}\n.plyr__menu__container .plyr__control--forward::after {\n border-left-color: var(--plyr-menu-arrow-color, hsl(216, 15%, 52%));\n right: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 1.5 - var(--plyr-menu-item-arrow-size, 4px));\n}\n.plyr__menu__container .plyr__control--forward:focus-visible::after, .plyr__menu__container .plyr__control--forward:hover::after {\n border-left-color: currentColor;\n}\n.plyr__menu__container .plyr__control--back {\n font-weight: var(--plyr-font-weight-regular, 400);\n margin: calc(var(--plyr-control-spacing, 10px) * 0.7);\n margin-bottom: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) / 2);\n padding-left: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 4);\n position: relative;\n width: calc(100% - calc(var(--plyr-control-spacing, 10px) * 0.7) * 2);\n}\n.plyr__menu__container .plyr__control--back::after {\n border-right-color: var(--plyr-menu-arrow-color, hsl(216, 15%, 52%));\n left: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 1.5 - var(--plyr-menu-item-arrow-size, 4px));\n}\n.plyr__menu__container .plyr__control--back::before {\n background: var(--plyr-menu-back-border-color, hsl(216, 15%, 88%));\n box-shadow: 0 1px 0 var(--plyr-menu-back-border-shadow-color, #fff);\n content: \"\";\n height: 1px;\n left: 0;\n margin-top: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) / 2);\n overflow: hidden;\n position: absolute;\n right: 0;\n top: 100%;\n}\n.plyr__menu__container .plyr__control--back:focus-visible::after, .plyr__menu__container .plyr__control--back:hover::after {\n border-right-color: currentColor;\n}\n.plyr__menu__container .plyr__control[role=menuitemradio] {\n padding-left: calc(var(--plyr-control-spacing, 10px) * 0.7);\n}\n.plyr__menu__container .plyr__control[role=menuitemradio]::before, .plyr__menu__container .plyr__control[role=menuitemradio]::after {\n border-radius: 100%;\n}\n.plyr__menu__container .plyr__control[role=menuitemradio]::before {\n background: rgba(0, 0, 0, 0.1);\n content: \"\";\n display: block;\n flex-shrink: 0;\n height: 16px;\n margin-right: var(--plyr-control-spacing, 10px);\n transition: all 0.3s ease;\n width: 16px;\n}\n.plyr__menu__container .plyr__control[role=menuitemradio]::after {\n background: #fff;\n border: 0;\n height: 6px;\n left: 12px;\n opacity: 0;\n top: 50%;\n transform: translateY(-50%) scale(0);\n transition: transform 0.3s ease, opacity 0.3s ease;\n width: 6px;\n}\n.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {\n background: var(--plyr-control-toggle-checked-background, var(--plyr-color-main, var(--plyr-color-main, hsl(198, 100%, 50%))));\n}\n.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::after {\n opacity: 1;\n transform: translateY(-50%) scale(1);\n}\n.plyr__menu__container .plyr__control[role=menuitemradio]:focus-visible::before, .plyr__menu__container .plyr__control[role=menuitemradio]:hover::before {\n background: rgba(34.68, 39.576, 46.92, 0.1);\n}\n.plyr__menu__container .plyr__menu__value {\n align-items: center;\n display: flex;\n margin-left: auto;\n margin-right: calc((calc(var(--plyr-control-spacing, 10px) * 0.7) - 2px) * -1);\n overflow: hidden;\n padding-left: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 3.5);\n pointer-events: none;\n}\n\n.plyr--full-ui input[type=range] {\n appearance: none;\n background: transparent;\n border: 0;\n border-radius: calc(var(--plyr-range-thumb-height, 13px) * 2);\n color: var(--plyr-range-fill-background, var(--plyr-color-main, var(--plyr-color-main, hsl(198, 100%, 50%))));\n display: block;\n height: calc(var(--plyr-range-thumb-active-shadow-width, 3px) * 2 + var(--plyr-range-thumb-height, 13px));\n margin: 0;\n min-width: 0;\n padding: 0;\n transition: box-shadow 0.3s ease;\n width: 100%;\n}\n.plyr--full-ui input[type=range]::-webkit-slider-runnable-track {\n background: transparent;\n border: 0;\n border-radius: calc(var(--plyr-range-track-height, 5px) / 2);\n height: var(--plyr-range-track-height, 5px);\n transition: box-shadow 0.3s ease;\n user-select: none;\n background-image: linear-gradient(to right, currentColor var(--value, 0%), transparent var(--value, 0%));\n}\n.plyr--full-ui input[type=range]::-webkit-slider-thumb {\n background: var(--plyr-range-thumb-background, #fff);\n border: 0;\n border-radius: 100%;\n box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(34.68, 39.576, 46.92, 0.15), 0 0 0 1px rgba(34.68, 39.576, 46.92, 0.2));\n height: var(--plyr-range-thumb-height, 13px);\n position: relative;\n transition: all 0.2s ease;\n width: var(--plyr-range-thumb-height, 13px);\n appearance: none;\n margin-top: calc((var(--plyr-range-thumb-height, 13px) - var(--plyr-range-track-height, 5px)) / 2 * -1);\n}\n.plyr--full-ui input[type=range]::-moz-range-track {\n background: transparent;\n border: 0;\n border-radius: calc(var(--plyr-range-track-height, 5px) / 2);\n height: var(--plyr-range-track-height, 5px);\n transition: box-shadow 0.3s ease;\n user-select: none;\n}\n.plyr--full-ui input[type=range]::-moz-range-thumb {\n background: var(--plyr-range-thumb-background, #fff);\n border: 0;\n border-radius: 100%;\n box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(34.68, 39.576, 46.92, 0.15), 0 0 0 1px rgba(34.68, 39.576, 46.92, 0.2));\n height: var(--plyr-range-thumb-height, 13px);\n position: relative;\n transition: all 0.2s ease;\n width: var(--plyr-range-thumb-height, 13px);\n}\n.plyr--full-ui input[type=range]::-moz-range-progress {\n background: currentColor;\n border-radius: calc(var(--plyr-range-track-height, 5px) / 2);\n height: var(--plyr-range-track-height, 5px);\n}\n.plyr--full-ui input[type=range]::-ms-track {\n background: transparent;\n border: 0;\n border-radius: calc(var(--plyr-range-track-height, 5px) / 2);\n height: var(--plyr-range-track-height, 5px);\n transition: box-shadow 0.3s ease;\n user-select: none;\n color: transparent;\n}\n.plyr--full-ui input[type=range]::-ms-fill-upper {\n background: transparent;\n border: 0;\n border-radius: calc(var(--plyr-range-track-height, 5px) / 2);\n height: var(--plyr-range-track-height, 5px);\n transition: box-shadow 0.3s ease;\n user-select: none;\n}\n.plyr--full-ui input[type=range]::-ms-fill-lower {\n background: transparent;\n border: 0;\n border-radius: calc(var(--plyr-range-track-height, 5px) / 2);\n height: var(--plyr-range-track-height, 5px);\n transition: box-shadow 0.3s ease;\n user-select: none;\n background: currentColor;\n}\n.plyr--full-ui input[type=range]::-ms-thumb {\n background: var(--plyr-range-thumb-background, #fff);\n border: 0;\n border-radius: 100%;\n box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(34.68, 39.576, 46.92, 0.15), 0 0 0 1px rgba(34.68, 39.576, 46.92, 0.2));\n height: var(--plyr-range-thumb-height, 13px);\n position: relative;\n transition: all 0.2s ease;\n width: var(--plyr-range-thumb-height, 13px);\n margin-top: 0;\n}\n.plyr--full-ui input[type=range]::-ms-tooltip {\n display: none;\n}\n.plyr--full-ui input[type=range]::-moz-focus-outer {\n border: 0;\n}\n.plyr--full-ui input[type=range]:focus {\n outline: 0;\n}\n.plyr--full-ui input[type=range]:focus-visible::-webkit-slider-runnable-track {\n outline: 2px dashed var(--plyr-focus-visible-color, var(--plyr-color-main, var(--plyr-color-main, hsl(198, 100%, 50%))));\n outline-offset: 2px;\n}\n.plyr--full-ui input[type=range]:focus-visible::-moz-range-track {\n outline: 2px dashed var(--plyr-focus-visible-color, var(--plyr-color-main, var(--plyr-color-main, hsl(198, 100%, 50%))));\n outline-offset: 2px;\n}\n.plyr--full-ui input[type=range]:focus-visible::-ms-track {\n outline: 2px dashed var(--plyr-focus-visible-color, var(--plyr-color-main, var(--plyr-color-main, hsl(198, 100%, 50%))));\n outline-offset: 2px;\n}\n\n.plyr__poster {\n background-color: var(--plyr-video-background, var(--plyr-video-background, rgb(0, 0, 0)));\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-size: contain;\n height: 100%;\n left: 0;\n opacity: 0;\n position: absolute;\n top: 0;\n transition: opacity 0.2s ease;\n width: 100%;\n z-index: 1;\n}\n\n.plyr--stopped.plyr__poster-enabled .plyr__poster {\n opacity: 1;\n}\n\n.plyr--youtube.plyr--paused.plyr__poster-enabled:not(.plyr--stopped) .plyr__poster {\n display: none;\n}\n\n.plyr__time {\n font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px));\n}\n\n.plyr__time + .plyr__time::before {\n content: \"\u2044\";\n margin-right: var(--plyr-control-spacing, 10px);\n}\n@media (max-width: 767px) {\n .plyr__time + .plyr__time {\n display: none;\n }\n}\n\n/* stylelint-disable selector-max-compound-selectors */\n.plyr__tooltip {\n background: var(--plyr-tooltip-background, #fff);\n border-radius: var(--plyr-tooltip-radius, 5px);\n bottom: 100%;\n box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px rgba(0, 0, 0, 0.15));\n color: var(--plyr-tooltip-color, hsl(216, 15%, 34%));\n font-size: var(--plyr-font-size-small, 13px);\n font-weight: var(--plyr-font-weight-regular, 400);\n left: 50%;\n line-height: 1.3;\n margin-bottom: calc(calc(var(--plyr-control-spacing, 10px) / 2) * 2);\n opacity: 0;\n padding: calc(var(--plyr-control-spacing, 10px) / 2) calc(calc(var(--plyr-control-spacing, 10px) / 2) * 1.5);\n pointer-events: none;\n position: absolute;\n transform: translate(-50%, 10px) scale(0.8);\n transform-origin: 50% 100%;\n transition: transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease;\n white-space: nowrap;\n z-index: 2;\n}\n.plyr__tooltip::before {\n border-left: var(--plyr-tooltip-arrow-size, 4px) solid transparent;\n border-right: var(--plyr-tooltip-arrow-size, 4px) solid transparent;\n border-top: var(--plyr-tooltip-arrow-size, 4px) solid var(--plyr-tooltip-background, #fff);\n bottom: calc(var(--plyr-tooltip-arrow-size, 4px) * -1);\n content: \"\";\n height: 0;\n left: 50%;\n position: absolute;\n transform: translateX(-50%);\n width: 0;\n z-index: 2;\n}\n\n.plyr .plyr__control:hover .plyr__tooltip,\n.plyr .plyr__control:focus-visible .plyr__tooltip,\n.plyr__tooltip--visible {\n opacity: 1;\n transform: translate(-50%, 0) scale(1);\n}\n\n.plyr .plyr__control:hover .plyr__tooltip {\n z-index: 3;\n}\n\n.plyr__controls > .plyr__control:first-child .plyr__tooltip,\n.plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip {\n left: 0;\n transform: translate(0, 10px) scale(0.8);\n transform-origin: 0 100%;\n}\n.plyr__controls > .plyr__control:first-child .plyr__tooltip::before,\n.plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip::before {\n left: calc(var(--plyr-control-icon-size, 18px) / 2 + calc(var(--plyr-control-spacing, 10px) * 0.7));\n}\n\n.plyr__controls > .plyr__control:last-child .plyr__tooltip {\n left: auto;\n right: 0;\n transform: translate(0, 10px) scale(0.8);\n transform-origin: 100% 100%;\n}\n.plyr__controls > .plyr__control:last-child .plyr__tooltip::before {\n left: auto;\n right: calc(var(--plyr-control-icon-size, 18px) / 2 + calc(var(--plyr-control-spacing, 10px) * 0.7));\n transform: translateX(50%);\n}\n\n.plyr__controls > .plyr__control:first-child:hover .plyr__tooltip, .plyr__controls > .plyr__control:first-child:focus-visible .plyr__tooltip,\n.plyr__controls > .plyr__control:first-child .plyr__tooltip--visible,\n.plyr__controls > .plyr__control:first-child + .plyr__control:hover .plyr__tooltip,\n.plyr__controls > .plyr__control:first-child + .plyr__control:focus-visible .plyr__tooltip,\n.plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip--visible,\n.plyr__controls > .plyr__control:last-child:hover .plyr__tooltip,\n.plyr__controls > .plyr__control:last-child:focus-visible .plyr__tooltip,\n.plyr__controls > .plyr__control:last-child .plyr__tooltip--visible {\n transform: translate(0, 0) scale(1);\n}\n\n.plyr__progress {\n left: calc(var(--plyr-range-thumb-height, 13px) * 0.5);\n margin-right: var(--plyr-range-thumb-height, 13px);\n position: relative;\n}\n.plyr__progress input[type=range], .plyr__progress__buffer {\n margin-left: calc(var(--plyr-range-thumb-height, 13px) * -0.5);\n margin-right: calc(var(--plyr-range-thumb-height, 13px) * -0.5);\n width: calc(100% + var(--plyr-range-thumb-height, 13px));\n}\n.plyr__progress input[type=range] {\n position: relative;\n z-index: 2;\n}\n.plyr__progress .plyr__tooltip {\n left: 0;\n max-width: 120px;\n overflow-wrap: break-word;\n}\n\n.plyr__progress__buffer {\n -webkit-appearance: none; /* stylelint-disable-line */\n background: transparent;\n border: 0;\n border-radius: 100px;\n height: var(--plyr-range-track-height, 5px);\n left: 0;\n margin-top: calc(var(--plyr-range-track-height, 5px) / 2 * -1);\n padding: 0;\n position: absolute;\n top: 50%;\n}\n.plyr__progress__buffer::-webkit-progress-bar {\n background: transparent;\n}\n.plyr__progress__buffer::-webkit-progress-value {\n background: currentColor;\n border-radius: 100px;\n min-width: var(--plyr-range-track-height, 5px);\n transition: width 0.2s ease;\n}\n.plyr__progress__buffer::-moz-progress-bar {\n background: currentColor;\n border-radius: 100px;\n min-width: var(--plyr-range-track-height, 5px);\n transition: width 0.2s ease;\n}\n.plyr__progress__buffer::-ms-fill {\n border-radius: 100px;\n transition: width 0.2s ease;\n}\n\n.plyr--loading .plyr__progress__buffer {\n animation: plyr-progress 1s linear infinite;\n background-image: linear-gradient(-45deg, var(--plyr-progress-loading-background, rgba(34.68, 39.576, 46.92, 0.6)) 25%, transparent 25%, transparent 50%, var(--plyr-progress-loading-background, rgba(34.68, 39.576, 46.92, 0.6)) 50%, var(--plyr-progress-loading-background, rgba(34.68, 39.576, 46.92, 0.6)) 75%, transparent 75%, transparent);\n background-repeat: repeat-x;\n background-size: var(--plyr-progress-loading-size, 25px) var(--plyr-progress-loading-size, 25px);\n color: transparent;\n}\n\n.plyr--video.plyr--loading .plyr__progress__buffer {\n background-color: var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25));\n}\n\n.plyr--audio.plyr--loading .plyr__progress__buffer {\n background-color: var(--plyr-audio-progress-buffered-background, rgba(193.4175, 199.8435, 209.4825, 0.6));\n}\n\n.plyr__progress__marker {\n background-color: var(--plyr-progress-marker-background, #fff);\n border-radius: 1px;\n height: var(--plyr-range-track-height, 5px);\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n width: var(--plyr-progress-marker-width, 3px);\n z-index: 3;\n}\n\n.plyr__volume {\n align-items: center;\n display: flex;\n position: relative;\n}\n.plyr__volume input[type=range] {\n margin-left: calc(var(--plyr-control-spacing, 10px) / 2);\n margin-right: calc(var(--plyr-control-spacing, 10px) / 2);\n max-width: 90px;\n min-width: 60px;\n position: relative;\n z-index: 2;\n}\n\n.plyr--audio {\n display: block;\n}\n\n.plyr--audio .plyr__controls {\n background: var(--plyr-audio-controls-background, #fff);\n border-radius: inherit;\n color: var(--plyr-audio-control-color, hsl(216, 15%, 34%));\n padding: var(--plyr-control-spacing, 10px);\n}\n\n.plyr--audio .plyr__control:focus-visible, .plyr--audio .plyr__control:hover, .plyr--audio .plyr__control[aria-expanded=true] {\n background: var(--plyr-audio-control-background-hover, var(--plyr-color-main, var(--plyr-color-main, hsl(198, 100%, 50%))));\n color: var(--plyr-audio-control-color-hover, #fff);\n}\n\n.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track {\n background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, rgba(193.4175, 199.8435, 209.4825, 0.6)));\n}\n.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track {\n background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, rgba(193.4175, 199.8435, 209.4825, 0.6)));\n}\n.plyr--full-ui.plyr--audio input[type=range]::-ms-track {\n background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, rgba(193.4175, 199.8435, 209.4825, 0.6)));\n}\n.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb {\n box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(34.68, 39.576, 46.92, 0.15), 0 0 0 1px rgba(34.68, 39.576, 46.92, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(34.68, 39.576, 46.92, 0.1));\n}\n.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb {\n box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(34.68, 39.576, 46.92, 0.15), 0 0 0 1px rgba(34.68, 39.576, 46.92, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(34.68, 39.576, 46.92, 0.1));\n}\n.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb {\n box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(34.68, 39.576, 46.92, 0.15), 0 0 0 1px rgba(34.68, 39.576, 46.92, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(34.68, 39.576, 46.92, 0.1));\n}\n\n.plyr--audio .plyr__progress__buffer {\n color: var(--plyr-audio-progress-buffered-background, rgba(193.4175, 199.8435, 209.4825, 0.6));\n}\n\n.plyr--video {\n overflow: hidden;\n}\n.plyr--video.plyr--menu-open {\n overflow: visible;\n}\n\n.plyr__video-wrapper {\n background: var(--plyr-video-background, var(--plyr-video-background, rgb(0, 0, 0)));\n border-radius: inherit;\n height: 100%;\n margin: auto;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n\n.plyr__video-embed,\n.plyr__video-wrapper--fixed-ratio {\n aspect-ratio: 16/9;\n}\n@supports not (aspect-ratio: 16/9) {\n .plyr__video-embed,\n .plyr__video-wrapper--fixed-ratio {\n height: 0;\n padding-bottom: 56.25%;\n position: relative;\n }\n}\n\n.plyr__video-embed iframe,\n.plyr__video-wrapper--fixed-ratio video {\n border: 0;\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n}\n\n.plyr--full-ui .plyr__video-embed > .plyr__video-embed__container {\n padding-bottom: 240%;\n position: relative;\n transform: translateY(-38.28125%);\n}\n\n.plyr--video .plyr__controls {\n background: var(--plyr-video-controls-background, linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75)));\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit;\n bottom: 0;\n color: var(--plyr-video-control-color, #fff);\n left: 0;\n padding: calc(var(--plyr-control-spacing, 10px) / 2);\n padding-top: calc(var(--plyr-control-spacing, 10px) * 2);\n position: absolute;\n right: 0;\n transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;\n z-index: 3;\n}\n@media (min-width: 480px) {\n .plyr--video .plyr__controls {\n padding: var(--plyr-control-spacing, 10px);\n padding-top: calc(var(--plyr-control-spacing, 10px) * 3.5);\n }\n}\n\n.plyr--video.plyr--hide-controls .plyr__controls {\n opacity: 0;\n pointer-events: none;\n transform: translateY(100%);\n}\n\n.plyr--video .plyr__control:focus-visible, .plyr--video .plyr__control:hover, .plyr--video .plyr__control[aria-expanded=true] {\n background: var(--plyr-video-control-background-hover, var(--plyr-color-main, var(--plyr-color-main, hsl(198, 100%, 50%))));\n color: var(--plyr-video-control-color-hover, #fff);\n}\n\n.plyr__control--overlaid {\n background: var(--plyr-video-control-background-hover, var(--plyr-color-main, var(--plyr-color-main, hsl(198, 100%, 50%))));\n border: 0;\n border-radius: 100%;\n color: var(--plyr-video-control-color, #fff);\n display: none;\n left: 50%;\n opacity: 0.9;\n padding: calc(var(--plyr-control-spacing, 10px) * 1.5);\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n transition: 0.3s;\n z-index: 2;\n}\n.plyr__control--overlaid svg {\n left: 2px;\n position: relative;\n}\n.plyr__control--overlaid:hover, .plyr__control--overlaid:focus {\n opacity: 1;\n}\n\n.plyr--playing .plyr__control--overlaid {\n opacity: 0;\n visibility: hidden;\n}\n\n.plyr--full-ui.plyr--video .plyr__control--overlaid {\n display: block;\n}\n\n.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track {\n background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25)));\n}\n.plyr--full-ui.plyr--video input[type=range]::-moz-range-track {\n background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25)));\n}\n.plyr--full-ui.plyr--video input[type=range]::-ms-track {\n background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25)));\n}\n.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb {\n box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(34.68, 39.576, 46.92, 0.15), 0 0 0 1px rgba(34.68, 39.576, 46.92, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, 0.5));\n}\n.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb {\n box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(34.68, 39.576, 46.92, 0.15), 0 0 0 1px rgba(34.68, 39.576, 46.92, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, 0.5));\n}\n.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb {\n box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(34.68, 39.576, 46.92, 0.15), 0 0 0 1px rgba(34.68, 39.576, 46.92, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, 0.5));\n}\n\n.plyr--video .plyr__progress__buffer {\n color: var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25));\n}\n\n.plyr:fullscreen {\n background: #000;\n border-radius: 0 !important;\n height: 100%;\n margin: 0;\n width: 100%;\n}\n.plyr:fullscreen video {\n height: 100%;\n}\n.plyr:fullscreen .plyr__control .icon--exit-fullscreen {\n display: block;\n}\n.plyr:fullscreen .plyr__control .icon--exit-fullscreen + svg {\n display: none;\n}\n.plyr:fullscreen.plyr--hide-controls {\n cursor: none;\n}\n@media (min-width: 1024px) {\n .plyr:fullscreen .plyr__captions {\n font-size: var(--plyr-font-size-xlarge, 21px);\n }\n}\n\n.plyr--fullscreen-fallback {\n background: #000;\n border-radius: 0 !important;\n height: 100%;\n margin: 0;\n width: 100%;\n bottom: 0;\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n z-index: 10000000;\n}\n.plyr--fullscreen-fallback video {\n height: 100%;\n}\n.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen {\n display: block;\n}\n.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen + svg {\n display: none;\n}\n.plyr--fullscreen-fallback.plyr--hide-controls {\n cursor: none;\n}\n@media (min-width: 1024px) {\n .plyr--fullscreen-fallback .plyr__captions {\n font-size: var(--plyr-font-size-xlarge, 21px);\n }\n}\n\n.plyr__ads {\n border-radius: inherit;\n bottom: 0;\n cursor: pointer;\n left: 0;\n overflow: hidden;\n position: absolute;\n right: 0;\n top: 0;\n z-index: -1;\n}\n.plyr__ads > div,\n.plyr__ads > div iframe {\n height: 100%;\n position: absolute;\n width: 100%;\n}\n.plyr__ads::after {\n background: hsl(216, 15%, 16%);\n border-radius: 2px;\n bottom: var(--plyr-control-spacing, 10px);\n color: #fff;\n content: attr(data-badge-text);\n font-size: 11px;\n padding: 2px 6px;\n pointer-events: none;\n position: absolute;\n right: var(--plyr-control-spacing, 10px);\n z-index: 3;\n}\n.plyr__ads:empty::after {\n display: none;\n}\n\n.plyr__cues {\n background: currentColor;\n display: block;\n height: var(--plyr-range-track-height, 5px);\n left: 0;\n opacity: 0.8;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n width: 3px;\n z-index: 3;\n}\n\n.plyr__preview-thumb {\n background-color: var(--plyr-tooltip-background, #fff);\n border-radius: var(--plyr-menu-radius, 8px);\n bottom: 100%;\n box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px rgba(0, 0, 0, 0.15));\n margin-bottom: calc(calc(var(--plyr-control-spacing, 10px) / 2) * 2);\n opacity: 0;\n padding: 3px;\n pointer-events: none;\n position: absolute;\n transform: translate(0, 10px) scale(0.8);\n transform-origin: 50% 100%;\n transition: transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease;\n z-index: 2;\n}\n.plyr__preview-thumb--is-shown {\n opacity: 1;\n transform: translate(0, 0) scale(1);\n}\n.plyr__preview-thumb::before {\n border-left: var(--plyr-tooltip-arrow-size, 4px) solid transparent;\n border-right: var(--plyr-tooltip-arrow-size, 4px) solid transparent;\n border-top: var(--plyr-tooltip-arrow-size, 4px) solid var(--plyr-tooltip-background, #fff);\n bottom: calc(var(--plyr-tooltip-arrow-size, 4px) * -1);\n content: \"\";\n height: 0;\n left: calc(50% + var(--preview-arrow-offset));\n position: absolute;\n transform: translateX(-50%);\n width: 0;\n z-index: 2;\n}\n.plyr__preview-thumb__image-container {\n background: hsl(216, 15%, 79%);\n border-radius: calc(var(--plyr-menu-radius, 8px) - 1px);\n overflow: hidden;\n position: relative;\n z-index: 0;\n}\n.plyr__preview-thumb__image-container img, .plyr__preview-thumb__image-container::after {\n height: 100%;\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n}\n.plyr__preview-thumb__image-container::after {\n border-radius: inherit;\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15);\n content: \"\";\n pointer-events: none;\n}\n.plyr__preview-thumb__image-container img {\n max-height: none;\n max-width: none;\n}\n.plyr__preview-thumb__time-container {\n background: var(--plyr-video-controls-background, linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75)));\n border-bottom-left-radius: calc(var(--plyr-menu-radius, 8px) - 1px);\n border-bottom-right-radius: calc(var(--plyr-menu-radius, 8px) - 1px);\n bottom: 0;\n left: 0;\n line-height: 1.1;\n padding: 20px 6px 6px;\n position: absolute;\n right: 0;\n z-index: 3;\n}\n.plyr__preview-thumb__time-container span {\n color: #fff;\n font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px));\n}\n\n.plyr__preview-scrubbing {\n bottom: 0;\n filter: blur(1px);\n height: 100%;\n left: 0;\n margin: auto;\n opacity: 0;\n overflow: hidden;\n pointer-events: none;\n position: absolute;\n right: 0;\n top: 0;\n transition: opacity 0.3s ease;\n width: 100%;\n z-index: 1;\n}\n.plyr__preview-scrubbing--is-shown {\n opacity: 1;\n}\n.plyr__preview-scrubbing img {\n height: 100%;\n left: 0;\n max-height: none;\n max-width: none;\n object-fit: contain;\n position: absolute;\n top: 0;\n width: 100%;\n}\n\n.plyr--no-transition {\n transition: none !important;\n}\n\n.plyr__sr-only {\n clip: rect(1px, 1px, 1px, 1px);\n overflow: hidden;\n border: 0 !important;\n height: 1px !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n}\n\n.plyr [hidden] {\n display: none !important;\n}`;\n\nexport {\n require_plyr_min,\n plyr_default\n};\n", "import {\n plyr_default,\n require_plyr_min\n} from \"./chunk.UW2KYD6R.js\";\nimport {\n ae\n} from \"./chunk.Q25FCJRM.js\";\nimport {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n setLink\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n ChangesBackgroundColor\n} from \"./chunk.7ANACPIR.js\";\nimport {\n getScrollBarWidth\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __commonJS,\n __decorateClass,\n __toESM\n} from \"./chunk.I4IFG4JG.js\";\n\n// node_modules/rangetouch/dist/rangetouch.js\nvar require_rangetouch = __commonJS({\n \"node_modules/rangetouch/dist/rangetouch.js\"(exports, module) {\n !function(e2, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(\"RangeTouch\", t) : (e2 = e2 || self).RangeTouch = t();\n }(exports, function() {\n \"use strict\";\n function e2(e3, t2) {\n for (var n3 = 0; n3 < t2.length; n3++) {\n var r4 = t2[n3];\n r4.enumerable = r4.enumerable || false, r4.configurable = true, \"value\" in r4 && (r4.writable = true), Object.defineProperty(e3, r4.key, r4);\n }\n }\n function t(e3, t2, n3) {\n return t2 in e3 ? Object.defineProperty(e3, t2, { value: n3, enumerable: true, configurable: true, writable: true }) : e3[t2] = n3, e3;\n }\n function n2(e3, t2) {\n var n3 = Object.keys(e3);\n if (Object.getOwnPropertySymbols) {\n var r4 = Object.getOwnPropertySymbols(e3);\n t2 && (r4 = r4.filter(function(t3) {\n return Object.getOwnPropertyDescriptor(e3, t3).enumerable;\n })), n3.push.apply(n3, r4);\n }\n return n3;\n }\n function r3(e3) {\n for (var r4 = 1; r4 < arguments.length; r4++) {\n var i3 = null != arguments[r4] ? arguments[r4] : {};\n r4 % 2 ? n2(Object(i3), true).forEach(function(n3) {\n t(e3, n3, i3[n3]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e3, Object.getOwnPropertyDescriptors(i3)) : n2(Object(i3)).forEach(function(t2) {\n Object.defineProperty(e3, t2, Object.getOwnPropertyDescriptor(i3, t2));\n });\n }\n return e3;\n }\n var i2 = { addCSS: true, thumbWidth: 15, watch: true };\n function u(e3, t2) {\n return function() {\n return Array.from(document.querySelectorAll(t2)).includes(this);\n }.call(e3, t2);\n }\n var o = function(e3) {\n return null != e3 ? e3.constructor : null;\n }, c = function(e3, t2) {\n return !!(e3 && t2 && e3 instanceof t2);\n }, l = function(e3) {\n return null == e3;\n }, a = function(e3) {\n return o(e3) === Object;\n }, s = function(e3) {\n return o(e3) === String;\n }, f = function(e3) {\n return Array.isArray(e3);\n }, h2 = function(e3) {\n return c(e3, NodeList);\n }, d = s, y = f, b = h2, m = function(e3) {\n return c(e3, Element);\n }, g = function(e3) {\n return c(e3, Event);\n }, p = function(e3) {\n return l(e3) || (s(e3) || f(e3) || h2(e3)) && !e3.length || a(e3) && !Object.keys(e3).length;\n };\n function v(e3, t2) {\n if (1 > t2) {\n var n3 = function(e4) {\n var t3 = \"\".concat(e4).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\n return t3 ? Math.max(0, (t3[1] ? t3[1].length : 0) - (t3[2] ? +t3[2] : 0)) : 0;\n }(t2);\n return parseFloat(e3.toFixed(n3));\n }\n return Math.round(e3 / t2) * t2;\n }\n return function() {\n function t2(e3, n4) {\n (function(e4, t3) {\n if (!(e4 instanceof t3)) throw new TypeError(\"Cannot call a class as a function\");\n })(this, t2), m(e3) ? this.element = e3 : d(e3) && (this.element = document.querySelector(e3)), m(this.element) && p(this.element.rangeTouch) && (this.config = r3({}, i2, {}, n4), this.init());\n }\n return n3 = t2, c2 = [{ key: \"setup\", value: function(e3) {\n var n4 = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {}, o3 = null;\n if (p(e3) || d(e3) ? o3 = Array.from(document.querySelectorAll(d(e3) ? e3 : 'input[type=\"range\"]')) : m(e3) ? o3 = [e3] : b(e3) ? o3 = Array.from(e3) : y(e3) && (o3 = e3.filter(m)), p(o3)) return null;\n var c3 = r3({}, i2, {}, n4);\n if (d(e3) && c3.watch) {\n var l2 = new MutationObserver(function(n5) {\n Array.from(n5).forEach(function(n6) {\n Array.from(n6.addedNodes).forEach(function(n7) {\n m(n7) && u(n7, e3) && new t2(n7, c3);\n });\n });\n });\n l2.observe(document.body, { childList: true, subtree: true });\n }\n return o3.map(function(e4) {\n return new t2(e4, n4);\n });\n } }, { key: \"enabled\", get: function() {\n return \"ontouchstart\" in document.documentElement;\n } }], (o2 = [{ key: \"init\", value: function() {\n t2.enabled && (this.config.addCSS && (this.element.style.userSelect = \"none\", this.element.style.webKitUserSelect = \"none\", this.element.style.touchAction = \"manipulation\"), this.listeners(true), this.element.rangeTouch = this);\n } }, { key: \"destroy\", value: function() {\n t2.enabled && (this.config.addCSS && (this.element.style.userSelect = \"\", this.element.style.webKitUserSelect = \"\", this.element.style.touchAction = \"\"), this.listeners(false), this.element.rangeTouch = null);\n } }, { key: \"listeners\", value: function(e3) {\n var t3 = this, n4 = e3 ? \"addEventListener\" : \"removeEventListener\";\n [\"touchstart\", \"touchmove\", \"touchend\"].forEach(function(e4) {\n t3.element[n4](e4, function(e5) {\n return t3.set(e5);\n }, false);\n });\n } }, { key: \"get\", value: function(e3) {\n if (!t2.enabled || !g(e3)) return null;\n var n4, r4 = e3.target, i3 = e3.changedTouches[0], u2 = parseFloat(r4.getAttribute(\"min\")) || 0, o3 = parseFloat(r4.getAttribute(\"max\")) || 100, c3 = parseFloat(r4.getAttribute(\"step\")) || 1, l2 = r4.getBoundingClientRect(), a2 = 100 / l2.width * (this.config.thumbWidth / 2) / 100;\n return 0 > (n4 = 100 / l2.width * (i3.clientX - l2.left)) ? n4 = 0 : 100 < n4 && (n4 = 100), 50 > n4 ? n4 -= (100 - 2 * n4) * a2 : 50 < n4 && (n4 += 2 * (n4 - 50) * a2), u2 + v(n4 / 100 * (o3 - u2), c3);\n } }, { key: \"set\", value: function(e3) {\n t2.enabled && g(e3) && !e3.target.disabled && (e3.preventDefault(), e3.target.value = this.get(e3), function(e4, t3) {\n if (e4 && t3) {\n var n4 = new Event(t3, { bubbles: true });\n e4.dispatchEvent(n4);\n }\n }(e3.target, \"touchend\" === e3.type ? \"change\" : \"input\"));\n } }]) && e2(n3.prototype, o2), c2 && e2(n3, c2), t2;\n var n3, o2, c2;\n }();\n });\n }\n});\n\n// node_modules/simple-scrollbar-reworked/simple-scrollbar.js\nvar require_simple_scrollbar = __commonJS({\n \"node_modules/simple-scrollbar-reworked/simple-scrollbar.js\"(exports, module) {\n (function(root, factory) {\n if (typeof exports === \"object\") {\n module.exports = factory(window, document);\n } else {\n root.SimpleScrollbar = factory(window, document);\n }\n })(exports, function(w, d) {\n var raf = w.requestAnimationFrame || w.setImmediate || function(c) {\n return setTimeout(c, 0);\n };\n function initEl(el) {\n if (Object.prototype.hasOwnProperty.call(el, \"data-simple-scrollbar\")) return;\n Object.defineProperty(el, \"data-simple-scrollbar\", { value: new SimpleScrollbar2(el) });\n }\n function dragDealer(el, context) {\n var lastPageY;\n el.addEventListener(\"mousedown\", function(e2) {\n lastPageY = e2.pageY;\n el.classList.add(\"ss-grabbed\");\n d.body.classList.add(\"ss-grabbed\");\n d.addEventListener(\"mousemove\", drag);\n d.addEventListener(\"mouseup\", stop);\n return false;\n });\n function drag(e2) {\n var delta = e2.pageY - lastPageY;\n lastPageY = e2.pageY;\n raf(function() {\n context.el.scrollTop += delta / context.scrollRatio;\n });\n }\n function stop() {\n el.classList.remove(\"ss-grabbed\");\n d.body.classList.remove(\"ss-grabbed\");\n d.removeEventListener(\"mousemove\", drag);\n d.removeEventListener(\"mouseup\", stop);\n }\n }\n function ss(el) {\n this.target = el;\n this.direction = w.getComputedStyle(this.target).direction;\n this.bar = '
    ';\n this.wrapper = d.createElement(\"div\");\n this.wrapper.setAttribute(\"class\", \"ss-wrapper\");\n this.el = d.createElement(\"div\");\n this.el.setAttribute(\"class\", \"ss-content\");\n this.track = d.createElement(\"div\");\n this.track.setAttribute(\"class\", \"ss-track\");\n if (this.direction === \"rtl\") {\n this.el.classList.add(\"rtl\");\n }\n this.wrapper.appendChild(this.el);\n while (this.target.firstChild) {\n this.el.appendChild(this.target.firstChild);\n }\n this.target.appendChild(this.wrapper);\n this.target.appendChild(this.track);\n this.track.insertAdjacentHTML(\"beforeend\", this.bar);\n this.bar = this.track.lastChild;\n dragDealer(this.bar, this);\n this.moveBar();\n w.addEventListener(\"resize\", this.moveBar.bind(this));\n this.el.addEventListener(\"scroll\", this.moveBar.bind(this));\n this.el.addEventListener(\"mouseenter\", this.moveBar.bind(this));\n this.target.classList.add(\"ss-container\");\n var css = w.getComputedStyle(el);\n if (css[\"height\"] === \"0px\" && css[\"max-height\"] !== \"0px\") {\n el.style.height = css[\"max-height\"];\n }\n }\n ss.prototype = {\n moveBar: function(e2) {\n var totalHeight = this.el.scrollHeight, ownHeight = this.el.clientHeight, _this = this;\n this.scrollRatio = ownHeight / totalHeight;\n raf(function() {\n if (_this.scrollRatio >= 1) {\n _this.track.classList.add(\"ss-hidden\");\n } else {\n _this.track.classList.remove(\"ss-hidden\");\n _this.bar.style.cssText = \"height:\" + Math.max(_this.scrollRatio * 100, 10) + \"%; top:\" + _this.el.scrollTop / totalHeight * 100 + \"%;\";\n }\n });\n }\n };\n function initAll() {\n var nodes = d.querySelectorAll(\"*[ss-container]\");\n for (var i2 = 0; i2 < nodes.length; i2++) {\n initEl(nodes[i2]);\n }\n }\n d.addEventListener(\"DOMContentLoaded\", initAll);\n ss.initEl = initEl;\n ss.initAll = initAll;\n var SimpleScrollbar2 = ss;\n return SimpleScrollbar2;\n });\n }\n});\n\n// src/components/jb-podcast-player/jb-podcast-player.ts\nvar import_plyr = __toESM(require_plyr_min(), 1);\nvar import_rangetouch = __toESM(require_rangetouch(), 1);\nvar import_simple_scrollbar_reworked = __toESM(require_simple_scrollbar(), 1);\n\n// node_modules/simple-scrollbar-reworked/simple-scrollbar.scss?inline\nvar simple_scrollbar_default = i`.ss-wrapper {\n overflow: hidden;\n width: 100%;\n height: 100%;\n position: relative;\n z-index: 1;\n float: left;\n}\n\n.ss-content {\n height: 100%;\n width: calc(100% + 18px);\n padding: 0 0 0 0;\n position: relative;\n overflow: auto;\n box-sizing: border-box;\n}\n\n.ss-content.rtl {\n width: calc(100% + 18px);\n right: auto;\n}\n\n.ss-scroll {\n position: relative;\n background: rgba(0, 0, 0, 0.1);\n width: 9px;\n border-radius: 4px;\n top: 0;\n right: 0;\n z-index: 2;\n cursor: pointer;\n opacity: 0;\n transition: opacity 0.25s linear;\n}\n\n.ss-track {\n max-height: 100px;\n position: absolute;\n border-radius: 4px;\n right: 4px;\n top: 50%;\n transform: translateY(-50%);\n height: 100%;\n width: 9px;\n border: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.ss-hidden {\n display: none;\n}\n\n.ss-container:hover .ss-scroll,\n.ss-container:active .ss-scroll {\n opacity: 1;\n}\n\n.ss-grabbed {\n -o-user-select: none;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n}`;\n\n// src/components/jb-podcast-player/jb-podcast-player.scss?inline\nvar jb_podcast_player_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.playlist .headline, .playlist .duration, .playlist .date {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\nheader.main h2, .plyr--audio > .plyr__controls, .playlist .description, header.main p, footer span {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.playlist .duration, .playlist .date {\n font-size: var(--theme-typo-uppercase-700-fontsize, 0.688rem);\n letter-spacing: var(--theme-typo-uppercase-700-letterspacing, 0.063rem);\n line-height: var(--theme-typo-uppercase-700-lineheight, 1rem);\n text-transform: uppercase;\n}\n\nfooter span {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\n\n.playlist .headline {\n font-size: var(--theme-typo-p-small-highlight-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-highlight-desktop-lineheight, 1.625rem);\n}\n\n.plyr--audio > .plyr__controls, .playlist .description, header.main p {\n font-size: var(--theme-typo-p-mini-desktop-fontsize, 0.813rem);\n line-height: var(--theme-typo-p-mini-desktop-lineheight, 1.25rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n --_shadow-down: 0px 8px 14px 0px rgba(161, 160, 172, 0.17);\n --_shadow-up: 0px -8px 14px 0px rgba(161, 160, 172, 0.17);\n --_playlist-height: 460px;\n --_thumb-height: 10px;\n --_thumb-width: 2px;\n --_track-height: 6px;\n --_range-color: 255 255 255;\n background-color: white;\n border: 1px solid rgba(20, 30, 85, var(--theme-opacity-40, 0.4));\n display: block;\n}\n\nheader.main {\n align-items: center;\n display: flex;\n gap: var(--spacing-2xs);\n padding: var(--spacing-2xs) var(--spacing-sm);\n}\n@media (min-width: 600px) {\n header.main {\n gap: var(--spacing-sm);\n padding: var(--spacing-sm) var(--spacing-m) var(--spacing-s);\n }\n}\nheader.main.scrolledtop {\n box-shadow: var(--_shadow-down);\n}\nheader.main jb-picture {\n width: 40px;\n}\n@media (min-width: 600px) {\n header.main jb-picture {\n width: 100px;\n }\n}\nheader.main > div {\n flex: 1;\n overflow: hidden;\n}\nheader.main h2 {\n font-size: 1.188rem;\n line-height: 1.75rem;\n margin-bottom: var(--spacing-base);\n}\n@media (min-width: 600px) {\n header.main h2 {\n font-size: 1.625rem;\n line-height: 2.188rem;\n }\n}\n@media (min-width: 1281px) {\n header.main h2 {\n font-size: 1.938rem;\n line-height: 2.625rem;\n }\n}\nheader.main p {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n@media (min-width: 600px) {\n header.main p {\n font-size: 1rem;\n line-height: 1.625rem;\n white-space: normal;\n }\n}\n\nul {\n list-style: none;\n}\n\n.playlist {\n display: block;\n height: var(--_playlist-height);\n overflow: auto;\n position: relative;\n --_scrollbar-margin: 5px;\n}\n.playlist.ss-container {\n overflow: unset;\n}\n.playlist .ss-track {\n background-color: transparent;\n border: 0;\n border-radius: 0;\n bottom: var(--_scrollbar-margin);\n height: auto;\n max-height: calc(100% - 2 * var(--_scrollbar-margin));\n right: var(--spacing-3xs);\n top: var(--_scrollbar-margin);\n transform: none;\n}\n.playlist .ss-scroll {\n background-color: rgba(20, 30, 85, var(--theme-opacity-40, 0.4));\n border-radius: 100vh;\n cursor: default;\n width: 6px;\n}\n.playlist li:not(:first-child) {\n border-top: 1px solid rgba(20, 30, 85, var(--theme-opacity-40, 0.4));\n}\n.playlist li {\n box-sizing: border-box;\n padding: var(--spacing-3xs) var(--spacing-sm);\n transition: background-color 0.3s ease-in-out;\n width: calc(100% - var(--_scrollbar-width, 0));\n}\n@media (min-width: 600px) {\n .playlist li {\n padding: var(--spacing-2xs) var(--spacing-m) var(--spacing-xs);\n }\n}\n.playlist li[data-playing] .isplaying {\n display: flex;\n}\n.playlist li[data-playing] .ispaused {\n display: none;\n}\n.playlist li[data-active] .progress {\n opacity: 1;\n}\n.playlist li:hover {\n background-color: #f1f2f2;\n}\n.playlist li:hover .accordiontoggle {\n opacity: 1;\n translate: 0 2px;\n}\n.playlist li:hover .progress input {\n --_thumb-height: 10px;\n --_track-height: 6px;\n --_track-top: -2px;\n}\n.playlist li:hover .playbackbutton {\n outline-offset: 0;\n}\n.playlist li:hover .playbackbutton svg {\n scale: 1;\n}\n.playlist details + .description {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.3s ease-in-out;\n}\n.playlist details[open] + .description {\n grid-template-rows: 1fr;\n}\n.playlist details[open] + .description > div {\n padding-top: var(--spacing-3xs);\n transition: padding-top 0.3s ease-in-out;\n}\n.playlist summary {\n align-items: center;\n cursor: pointer;\n display: grid;\n gap: var(--spacing-base);\n grid-template-columns: 1fr;\n}\n@media (min-width: 600px) {\n .playlist summary {\n gap: var(--spacing-s);\n grid-template-columns: 1fr 215px;\n }\n}\n.playlist summary::-webkit-details-marker {\n display: none;\n}\n.playlist .accordiontoggle {\n height: 18px;\n opacity: 0.4;\n rotate: 90deg;\n transition: translate 0.3s ease-in-out, rotate 0.3s ease-in-out, opacity 0.3s ease-in-out;\n width: 18px;\n}\n.playlist details[open] .accordiontoggle {\n rotate: -90deg;\n}\n.playlist .info {\n flex-shrink: 1;\n}\n.playlist .date {\n color: rgba(20, 30, 85, var(--theme-opacity-70, 0.7));\n}\n.playlist .info .date {\n display: none;\n}\n@media (min-width: 600px) {\n .playlist .info .date {\n display: inline-block;\n }\n}\n.playlist .control .date {\n display: inline-block;\n flex: 1;\n margin-right: var(--spacing-xs);\n}\n@media (min-width: 600px) {\n .playlist .control .date {\n display: none;\n }\n}\n.playlist .duration {\n color: rgba(20, 30, 85, var(--theme-opacity-70, 0.7));\n margin-right: var(--spacing-xs);\n text-align: right;\n width: 50px;\n}\n.playlist .control {\n align-items: center;\n display: flex;\n justify-content: space-between;\n}\n.playlist .headline {\n text-wrap: balance;\n}\n.playlist .description > div {\n overflow: hidden;\n padding-top: 0;\n transition: padding-top 0.3s ease-in-out;\n}\n.playlist .progress {\n display: inline-flex;\n flex: 1;\n margin-right: var(--spacing-3xs);\n max-width: 81px;\n opacity: 0;\n position: relative;\n}\n.playlist .playbackbutton {\n --_spinner-color: 20 30 85;\n align-items: center;\n background-color: transparent;\n border: 0;\n cursor: pointer;\n display: flex;\n height: 26px;\n justify-content: center;\n margin-right: var(--spacing-xs);\n outline: 1px solid #141e55;\n outline-offset: -1px;\n padding: 0;\n position: relative;\n transition: outline-offset 0.1s ease-in-out;\n width: 26px;\n}\n.playlist .playbackbutton > div {\n display: flex;\n}\n.playlist .playbackbutton > .isplaying {\n display: none;\n}\n.playlist .playbackbutton > .ispaused {\n display: flex;\n}\n.playlist .playbackbutton svg {\n height: 12px;\n scale: 0.8;\n transition: scale 0.1s ease-in-out;\n width: 100%;\n}\n\n.bottom {\n position: relative;\n}\n\n.scrolledbottom {\n box-shadow: var(--_shadow-up);\n}\n\n#player {\n --_spinner-color: 255 255 255;\n left: 0;\n position: absolute;\n top: 0;\n transition: top 0.3s ease-in-out;\n width: 100%;\n z-index: 1;\n}\n\n[data-playeropen] .playlist .ss-content {\n padding-bottom: var(--playerheight, 60px);\n}\n[data-playeropen] #player {\n top: calc(-1 * var(--playerheight, 60px));\n}\n\nfooter {\n align-items: center;\n background-color: white;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-3xs);\n justify-content: center;\n padding: var(--spacing-3xs) var(--spacing-sm) var(--spacing-2xs);\n position: relative;\n z-index: 2;\n}\n@media (min-width: 600px) {\n footer {\n flex-direction: row;\n justify-content: space-between;\n padding: var(--spacing-s) var(--spacing-m);\n }\n}\nfooter span {\n color: rgba(20, 30, 85, var(--theme-opacity-80, 0.8));\n}\nfooter jb-picture {\n max-width: 150px;\n}\nfooter ul {\n display: flex;\n gap: var(--spacing-xs);\n}\nfooter li {\n flex: 1;\n}\n\n.plyr--audio > .plyr__controls {\n background-color: #141e55;\n color: white;\n display: flex;\n flex-direction: column;\n font-weight: 700;\n gap: var(--spacing-base);\n justify-content: space-between;\n padding: var(--spacing-3xs) var(--spacing-sm) var(--spacing-2xs);\n}\n@media (min-width: 600px) {\n .plyr--audio > .plyr__controls {\n flex-direction: row;\n gap: var(--spacing-s);\n padding: var(--spacing-xs) var(--spacing-m);\n }\n}\n.plyr--audio > .plyr__controls .control {\n align-items: center;\n display: flex;\n gap: var(--spacing-2xs);\n justify-content: flex-end;\n width: 100%;\n}\n@media (min-width: 600px) {\n .plyr--audio > .plyr__controls .control {\n width: auto;\n }\n}\n.plyr--audio > .plyr__controls .title {\n text-align: left;\n width: 100%;\n}\n@media (min-width: 600px) {\n .plyr--audio > .plyr__controls .title {\n width: auto;\n }\n .plyr--audio > .plyr__controls .title::after {\n color: rgba(255, 255, 255, 0.7);\n content: \" - \" var(--podcastdate, \"\");\n display: inline;\n font-weight: 300;\n margin-left: var(--spacing-base);\n white-space: nowrap;\n }\n}\n.plyr--audio > .plyr__controls .plyr__time,\n.plyr--audio > .plyr__controls .duration {\n color: rgba(255, 255, 255, 0.7);\n font-weight: 300;\n}\n\n.plyr--audio .plyr__control:focus-visible,\n.plyr--audio .plyr__control:hover,\n.plyr--audio .plyr__control[aria-expanded=true] {\n background-color: transparent;\n}\n\n.plyr__control {\n border-radius: 0;\n}\n.plyr__control[data-plyr=play] {\n outline: 1px solid white;\n outline-offset: -1px;\n}\n\n.volume__control {\n display: none;\n position: relative;\n --_range-color: 20, 30, 85;\n --_track-height: 2px;\n}\n@media (min-width: 600px) {\n .volume__control {\n display: block;\n }\n}\n.volume__control .plyr__control {\n background-color: transparent;\n border: 0;\n}\n.volume__control .plyr__volume {\n background-color: white;\n box-shadow: var(--_shadow-down);\n display: none;\n left: 16px;\n padding: 8px;\n position: absolute;\n top: -1.5rem;\n transform: rotate(-90deg);\n transform-origin: left center;\n}\n.volume__control .plyr__volume::after {\n border: 6px solid transparent;\n border-image: initial;\n border-right-color: white;\n bottom: 11px;\n content: \"\";\n display: block;\n left: -11px;\n position: absolute;\n}\n\n.volume__control:hover .plyr__volume,\n.volume__control:active .plyr__volume {\n display: block;\n}\n\n.plyr--audio {\n --_thumb-height: 2px;\n --_track-height: 2px;\n --_track-top: 4px;\n}\n.plyr--audio:hover {\n --_thumb-height: 10px;\n --_track-height: 6px;\n --_track-top: 2px;\n}\n.plyr--audio:hover [data-plyr=play] {\n outline-offset: 0;\n}\n.plyr--audio:hover [data-plyr=play] svg {\n scale: 1;\n}\n.plyr--audio .plyr__progress {\n flex: 1;\n max-width: 70px;\n order: -1;\n transition: max-width 0.3s ease-in-out;\n}\n@media (min-width: 600px) {\n .plyr--audio .plyr__progress {\n flex: unset;\n order: unset;\n }\n}\n.plyr--audio.plyr--paused .plyr__time--current {\n display: none;\n}\n.plyr--audio.plyr--playing .plyr__time--current {\n display: inline-block;\n}\n.plyr--audio.plyr--playing .plyr__time--duration {\n display: none;\n}\n@media (min-width: 600px) {\n .plyr--audio.plyr--playing .plyr__time--duration {\n display: inline-block;\n }\n}\n.plyr--audio .control::before {\n color: rgba(255, 255, 255, 0.4);\n content: var(--podcastdate);\n display: inline-block;\n flex: 1;\n margin-right: var(--spacing-2xs);\n order: -1;\n text-align: left;\n text-transform: uppercase;\n}\n@media (min-width: 600px) {\n .plyr--audio .control::before {\n display: none;\n }\n}\n.plyr--audio:not(.loading) .duration::before {\n content: var(--podcastduration);\n white-space: nowrap;\n}\n.plyr--audio:not(.loading) .duration > div {\n display: none;\n}\n.plyr--audio[data-seeking] .control::before, .plyr--audio[data-playing] .control::before {\n display: none;\n}\n.plyr--audio[data-seeking] .play, .plyr--audio[data-playing] .play {\n display: none;\n}\n.plyr--audio[data-seeking] .pause, .plyr--audio[data-playing] .pause {\n display: flex;\n}\n.plyr--audio[data-seeking] .plyr__time--current, .plyr--audio[data-playing] .plyr__time--current {\n display: inline-block;\n}\n.plyr--audio[data-seeking] .plyr__progress, .plyr--audio[data-playing] .plyr__progress {\n max-width: 100%;\n}\n.plyr--audio[data-seeking] .duration::before, .plyr--audio[data-playing] .duration::before {\n display: none;\n}\n@media (min-width: 600px) {\n .plyr--audio[data-seeking] .duration > div, .plyr--audio[data-playing] .duration > div {\n display: block;\n }\n}\n.plyr--audio .play {\n display: flex;\n}\n.plyr--audio .pause {\n display: none;\n}\n.plyr--audio [data-plyr=play] {\n aspect-ratio: 1;\n outline-offset: -1px;\n transition: outline-offset 0.1s ease-in-out;\n}\n.plyr--audio [data-plyr=play] svg {\n scale: 0.8;\n transition: scale 0.1s ease-in-out;\n}\n\n.playlist input[type=range] {\n --_range-color: 20 30 85;\n --_thumb-height: 2px;\n --_track-height: 2px;\n --_track-top: 0px;\n appearance: none;\n background: transparent;\n width: 100%;\n}\n.playlist input[type=range]::-webkit-slider-runnable-track {\n background-color: rgb(var(--_range-color)/0.2);\n}\n.playlist input[type=range]::-webkit-slider-thumb {\n appearance: none;\n background-color: rgb(var(--_range-color));\n border: 0;\n border-radius: 0;\n box-shadow: none;\n height: var(--_thumb-height);\n position: relative;\n top: var(--_track-top);\n width: var(--_thumb-width);\n}\n.playlist input[type=range]::-moz-range-track {\n background-color: rgb(var(--_range-color)/0.2);\n height: var(--_track-height);\n}\n.playlist input[type=range]::-moz-range-progress {\n background: currentcolor;\n background-color: rgb(var(--_range-color));\n height: 2px;\n position: relative;\n}\n\n.plyr--full-ui .volume__control input[type=range]::-webkit-slider-thumb {\n top: 0;\n}\n\n.playlist input[type=range]:active::-moz-range-thumb,\n.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb {\n box-shadow: none;\n}\n\n.playlist input[type=range]::-moz-range-progress,\n.plyr--full-ui input[type=range]::-moz-range-progress {\n background-color: rgb(var(--_range-color));\n border-radius: 0;\n height: var(--_track-height);\n}\n\n.playlist input[type=range]::-moz-range-thumb,\n.plyr--full-ui input[type=range]::-moz-range-thumb {\n background-color: rgb(var(--_range-color));\n border: 0;\n border-radius: 0;\n box-shadow: none;\n height: var(--_thumb-height);\n margin-top: 0;\n width: var(--_thumb-width);\n}\n\n.playlist input[type=range]::-moz-range-track,\n.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track {\n border-radius: 0;\n}\n\n.plyr--full-ui input[type=range]::-moz-range-track {\n background-color: transparent;\n box-shadow: none;\n height: var(--_track-height);\n transition: none;\n}\n\n.playlist input[type=range]:active::-webkit-slider-thumb,\n.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb {\n box-shadow: none;\n}\n\n.plyr--full-ui input[type=range]::-webkit-slider-thumb {\n background-color: rgb(var(--_range-color));\n border: 0;\n border-radius: 0;\n box-shadow: none;\n height: var(--_thumb-height);\n top: var(--_track-top);\n transition: none;\n width: var(--_thumb-width);\n}\n\n.playlist input[type=range]::-webkit-slider-runnable-track,\n.plyr--full-ui input[type=range]::-webkit-slider-runnable-track {\n background-image: linear-gradient(to right, currentcolor var(--value, 0%), transparent var(--value, 0%));\n border-radius: 0;\n color: rgb(var(--_range-color));\n height: var(--_track-height);\n user-select: none;\n}\n\n.loading::after {\n animation: 1.5s linear 0s infinite normal none running spin;\n border-color: rgb(var(--_spinner-color)) rgb(var(--_spinner-color)/0.3) rgb(var(--_spinner-color)/0.3);\n border-radius: 100vh;\n border-style: solid;\n border-width: 2px;\n content: \"\";\n display: block;\n inset: 4px;\n position: absolute;\n}\n\n@keyframes spin {\n to {\n rotate: 360deg;\n }\n}`;\n\n// src/components/jb-podcast-player/jb-podcast-player.ts\nvar JbPodcastPlayer = class extends ChangesBackgroundColor(Spaceable(h)) {\n constructor() {\n super(...arguments);\n this._currentProgress = 0;\n this._observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.intersectionRatio > 0) {\n this._sendTracking(\"visible\", { file_progress: \"visible\" });\n this._observer.unobserve(this);\n this._observer.disconnect();\n }\n });\n });\n this._pauseIcon = ke`\n \n \n `;\n this._playerOpen = false;\n this._playIcon = ke`\n \n `;\n this._playingUrl = \"\";\n }\n async firstUpdated() {\n let scrollContainer;\n if (getScrollBarWidth() !== 0) {\n import_simple_scrollbar_reworked.default.initEl(this._playlist);\n await this.updateComplete;\n scrollContainer = this.shadowRoot.querySelector(\".ss-content\");\n } else {\n scrollContainer = this._playlist;\n }\n scrollContainer.addEventListener(\"scroll\", this._playlistScrolled.bind(this));\n const controls = `\n
    \n
    {title}
    \n
    \n
    00:00
    \n
    \n \n 00:00\n
    \n
    \n
    00:00
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n
    \n`;\n this._plyr = new import_plyr.default(this._audioPlayer, {\n controls,\n loadSprite: false,\n i18n: {\n mute: this.ariaLabelMute ?? \"Mute\",\n pause: this.ariaLabelPause ?? \"Pause\",\n play: this.ariaLabelPlay ?? \"Play\",\n seek: this.ariaLabelSeek ?? \"Seek\",\n volume: this.ariaLabelVolume ?? \"Volume\"\n }\n });\n this._plyr.on(\"ready\", (evt) => {\n this.style.setProperty(\"--playerheight\", this._plyr.elements.container.offsetHeight + \"px\");\n const progressBar = evt.detail.plyr.elements.controls.querySelector(\".plyr__progress\");\n const progressBarRangeInput = progressBar.querySelector('input[type=\"range\"]');\n new import_rangetouch.default(progressBarRangeInput, {});\n progressBar.addEventListener(\"touchstart\", () => {\n evt.detail.plyr.elements.container.setAttribute(\"data-seeking\", \"\");\n });\n progressBar.addEventListener(\"touchend\", () => {\n evt.detail.plyr.elements.container.removeAttribute(\"data-seeking\");\n });\n progressBar.addEventListener(\"mousedown\", () => {\n evt.detail.plyr.elements.container.setAttribute(\"data-seeking\", \"\");\n });\n progressBar.addEventListener(\"mouseup\", () => {\n evt.detail.plyr.elements.container.removeAttribute(\"data-seeking\");\n });\n });\n this._plyr.on(\"timeupdate\", (evt) => {\n const currentTime = evt.detail.plyr.currentTime || 0;\n const currentDuration = evt.detail.plyr.duration;\n const currentPercentage = currentDuration > 0 ? Math.round(currentTime / currentDuration * 10) * 10 : 0;\n if (currentPercentage > this._currentProgress) {\n this._currentProgress = currentPercentage;\n this._sendTracking(\"progress\", {\n file_progress: this._currentProgress + \"%\",\n file_type: this._playingUrl.split(\".\").pop(),\n time_elapsed: Math.round(evt.detail.plyr.currentTime)\n });\n }\n const currentProgress = Math.floor(evt.detail.plyr.currentTime * 100 / evt.detail.plyr.duration);\n if (typeof currentProgress !== \"number\" || !this._playingElement) return;\n const progressElement = this._playingElement.querySelector(\".progress > input\");\n progressElement.style.setProperty(\"--value\", Number.isNaN(currentProgress) ? \"0\" : currentProgress + \"%\");\n progressElement.value = String(currentProgress);\n });\n this._plyr.on(\"playing\", (evt) => {\n const listPlayButton = this._playingElement.querySelector(\".playbackbutton\");\n this._playingElement.dataset.playing = \"\";\n evt.detail.plyr.elements.buttons.play[0].classList.remove(\"loading\");\n evt.detail.plyr.elements.container.setAttribute(\"data-playing\", \"\");\n listPlayButton.classList.remove(\"loading\");\n listPlayButton.ariaPressed = \"true\";\n listPlayButton.ariaLabel = this.ariaLabelPause ?? \"Pause\";\n });\n this._plyr.on(\"pause\", (evt) => {\n evt.detail.plyr.elements.container.removeAttribute(\"data-playing\");\n this._playingElement.removeAttribute(\"data-playing\");\n const listPlayButton = this._playingElement.querySelector(\".playbackbutton\");\n listPlayButton.ariaPressed = \"false\";\n listPlayButton.ariaLabel = this.ariaLabelPlay ?? \"Play\";\n });\n this._plyr.on(\"loadstart\", (evt) => {\n this._playlist.querySelector('[aria-pressed=\"true\"]')?.setAttribute(\"aria-pressed\", \"false\");\n if (this._playingUrl === \"\") return;\n this._playingElement.querySelector(\".playbackbutton\").classList.add(\"loading\");\n const range = this._playingElement.querySelector('[type=\"range\"]');\n range.value = \"0\";\n evt.detail.plyr.elements.buttons.play[0].classList.add(\"loading\");\n });\n window.addEventListener(\"resize\", () => {\n this.style.setProperty(\"--playerheight\", this._plyr.elements.container.offsetHeight + \"px\");\n });\n this._observer.observe(this);\n }\n _getContentSpacingProperties() {\n return { grid: \"legacy\", colsMdUp: 8 };\n }\n _playlistScrolled(evt) {\n const target = evt.currentTarget;\n this._isScrolledTop = target.scrollTop > 0;\n this._isScrolledBottom = target.scrollHeight - (target.scrollTop + target.offsetHeight) === 0;\n }\n _progressSliderChange(evt) {\n const inpt = evt.target;\n inpt.style.setProperty(\"--value\", inpt.value ?? \"0%\");\n }\n _progressSliderMouseDown() {\n this._plyr.pause();\n }\n _progressSliderMouseUp(evt) {\n const inpt = evt.target;\n this._plyr.currentTime = this._plyr.duration * parseFloat(inpt.value) / 100;\n this._plyr.play();\n }\n _sendTracking(interaction_type, additionalInfo) {\n const trackingDetails = {\n event: \"ce_audio\",\n event_version: \"v2\",\n component_name: \"podcast-player\",\n file_name: this._playingUrl !== \"\" ? `${this.headline}: ${this._playingElement.dataset.podcastheadline}` : this.headline,\n interaction_type,\n ...additionalInfo\n };\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: trackingDetails,\n bubbles: true,\n composed: true\n })\n );\n }\n _togglePlay(evt) {\n this._playlist.querySelector(\".loading\")?.classList.remove(\"loading\");\n this._plyr.elements.buttons.play[0].classList.remove(\"loading\");\n const activeLiElement = evt.currentTarget.closest(\"li\");\n evt.stopImmediatePropagation();\n if (typeof activeLiElement.dataset.active === \"undefined\") {\n if (typeof this._playingElement?.dataset.active !== \"undefined\") {\n this._playingElement.removeAttribute(\"data-active\");\n this._playingElement.removeAttribute(\"data-playing\");\n const prog = this._playingElement.querySelector(\"input[type=range]\");\n prog.removeEventListener(\"input\", this._progressSliderChange);\n prog.removeEventListener(\"mousedown\", this._progressSliderMouseDown.bind(this));\n prog.removeEventListener(\"mouseup\", this._progressSliderMouseUp.bind(this));\n prog.removeEventListener(\"touchstart\", this._progressSliderMouseDown.bind(this));\n prog.removeEventListener(\"touchend\", this._progressSliderMouseUp.bind(this));\n }\n this._playingElement = activeLiElement;\n this._playingElement.dataset.active = \"\";\n const newProg = this._playingElement.querySelector(\"input[type=range]\");\n newProg.addEventListener(\"input\", this._progressSliderChange);\n newProg.addEventListener(\"mousedown\", this._progressSliderMouseDown.bind(this));\n newProg.addEventListener(\"mouseup\", this._progressSliderMouseUp.bind(this));\n newProg.addEventListener(\"touchstart\", this._progressSliderMouseDown.bind(this));\n newProg.addEventListener(\"touchend\", this._progressSliderMouseUp.bind(this));\n this._playingUrl = this._playingElement.dataset.podcasturl;\n this._plyr.source = {\n type: \"audio\",\n title: this._playingElement.dataset.podcastheadline,\n sources: [{ src: this._playingUrl, type: \"audio/mp3\" }]\n };\n this._plyr.once(\"canplay\", () => {\n this._plyr.play();\n });\n this._plyr.elements.container.style.setProperty(\"--podcastdate\", `\"${this._playingElement.dataset.podcastdate}\"`);\n this._plyr.elements.container.style.setProperty(\n \"--podcastduration\",\n `\"${this._playingElement.dataset.podcastduration}\"`\n );\n this.style.setProperty(\"--playerheight\", this._plyr.elements.container.offsetHeight + \"px\");\n this._sendTracking(\"start\", {\n file_type: this._playingUrl.split(\".\").pop(),\n file_progress: \"start\",\n time_elapsed: 0\n });\n } else {\n this._plyr.togglePlay();\n }\n }\n _trackAccordionToggle(evt) {\n const current = evt.currentTarget.parentElement;\n if (current.getAttribute(\"open\") === null) {\n this._sendTracking(\"expand\", {\n file_name: `${this.headline}: ${current.parentElement.dataset.podcastheadline}`\n });\n }\n }\n _trackSubscription(evt) {\n evt.stopImmediatePropagation();\n this._sendTracking(\"subscribe\", {\n interaction_text: evt.detail.linkTag.title,\n interaction_result: evt.detail.linkTag.href\n });\n }\n render() {\n return ke`\n
    \n
    \n \n
    \n

    ${this.headline}

    \n

    ${ae(this.subline)}

    \n
    \n
    \n\n
      \n ${this.episodes.map(\n (episode) => ke`\n \n
      \n \n
      \n
      ${episode.date}
      \n
      ${ae(episode.headline)}
      \n
      \n
      \n
      ${episode.date}
      \n
      \n \n
      \n
      ${episode.duration} ${episode.minuteLabel}
      \n \n
      ${this._pauseIcon}
      \n
      ${this._playIcon}
      \n \n
      \n \n \n \n
      \n
      \n
      \n
      \n
      ${ae(episode.text)}
      \n \n `\n )}\n
    \n
    \n \n \n
    \n
    \n ${this.allEpisodesText}\n
      \n ${this.providerBadges.map((providerBadge) => {\n const listElement = document.createElement(\"li\");\n const link = document.createElement(\"a\");\n link.setAttribute(\"title\", providerBadge.name);\n const img = document.createElement(\"jb-picture\");\n img.setAttribute(\"imgData\", JSON.stringify(providerBadge.badgeImage.imgData));\n img.setAttribute(\"alt\", providerBadge.name);\n setLink(link, providerBadge.link);\n link.appendChild(img);\n listElement.appendChild(link);\n return listElement;\n })}\n
    \n
    \n
    \n
    \n `;\n }\n};\nJbPodcastPlayer.styles = r([simple_scrollbar_default, plyr_default, jb_podcast_player_default]);\n__decorateClass([\n n()\n], JbPodcastPlayer.prototype, \"allEpisodesText\", 2);\n__decorateClass([\n n()\n], JbPodcastPlayer.prototype, \"ariaLabelMute\", 2);\n__decorateClass([\n n()\n], JbPodcastPlayer.prototype, \"ariaLabelPause\", 2);\n__decorateClass([\n n()\n], JbPodcastPlayer.prototype, \"ariaLabelPlay\", 2);\n__decorateClass([\n n()\n], JbPodcastPlayer.prototype, \"ariaLabelSeek\", 2);\n__decorateClass([\n n()\n], JbPodcastPlayer.prototype, \"ariaLabelVolume\", 2);\n__decorateClass([\n n({ type: Array })\n], JbPodcastPlayer.prototype, \"episodes\", 2);\n__decorateClass([\n n()\n], JbPodcastPlayer.prototype, \"headline\", 2);\n__decorateClass([\n n({ type: Object })\n], JbPodcastPlayer.prototype, \"image\", 2);\n__decorateClass([\n n({ type: Array })\n], JbPodcastPlayer.prototype, \"providerBadges\", 2);\n__decorateClass([\n n()\n], JbPodcastPlayer.prototype, \"subline\", 2);\n__decorateClass([\n e(\"audio\")\n], JbPodcastPlayer.prototype, \"_audioPlayer\", 2);\n__decorateClass([\n r2()\n], JbPodcastPlayer.prototype, \"_currentProgress\", 2);\n__decorateClass([\n r2()\n], JbPodcastPlayer.prototype, \"_isScrolledBottom\", 2);\n__decorateClass([\n r2()\n], JbPodcastPlayer.prototype, \"_isScrolledTop\", 2);\n__decorateClass([\n r2()\n], JbPodcastPlayer.prototype, \"_playerOpen\", 2);\n__decorateClass([\n r2()\n], JbPodcastPlayer.prototype, \"_playingUrl\", 2);\n__decorateClass([\n e(\".playlist\")\n], JbPodcastPlayer.prototype, \"_playlist\", 2);\nJbPodcastPlayer = __decorateClass([\n customElement(\"jb-podcast-player\")\n], JbPodcastPlayer);\n\nexport {\n JbPodcastPlayer\n};\n", "// node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js\nfunction _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n } else {\n return Array.from(arr);\n }\n}\nvar hasPassiveEvents = false;\nif (typeof window !== \"undefined\") {\n passiveTestOptions = {\n get passive() {\n hasPassiveEvents = true;\n return void 0;\n }\n };\n window.addEventListener(\"testPassive\", null, passiveTestOptions);\n window.removeEventListener(\"testPassive\", null, passiveTestOptions);\n}\nvar passiveTestOptions;\nvar isIosDevice = typeof window !== \"undefined\" && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === \"MacIntel\" && window.navigator.maxTouchPoints > 1);\nvar locks = [];\nvar documentListenerAdded = false;\nvar initialClientY = -1;\nvar previousBodyOverflowSetting = void 0;\nvar previousBodyPosition = void 0;\nvar previousBodyPaddingRight = void 0;\nvar allowTouchMove = function allowTouchMove2(el) {\n return locks.some(function(lock) {\n if (lock.options.allowTouchMove && lock.options.allowTouchMove(el)) {\n return true;\n }\n return false;\n });\n};\nvar preventDefault = function preventDefault2(rawEvent) {\n var e = rawEvent || window.event;\n if (allowTouchMove(e.target)) {\n return true;\n }\n if (e.touches.length > 1) return true;\n if (e.preventDefault) e.preventDefault();\n return false;\n};\nvar setOverflowHidden = function setOverflowHidden2(options) {\n if (previousBodyPaddingRight === void 0) {\n var _reserveScrollBarGap = !!options && options.reserveScrollBarGap === true;\n var scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n if (_reserveScrollBarGap && scrollBarGap > 0) {\n var computedBodyPaddingRight = parseInt(window.getComputedStyle(document.body).getPropertyValue(\"padding-right\"), 10);\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = computedBodyPaddingRight + scrollBarGap + \"px\";\n }\n }\n if (previousBodyOverflowSetting === void 0) {\n previousBodyOverflowSetting = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n }\n};\nvar restoreOverflowSetting = function restoreOverflowSetting2() {\n if (previousBodyPaddingRight !== void 0) {\n document.body.style.paddingRight = previousBodyPaddingRight;\n previousBodyPaddingRight = void 0;\n }\n if (previousBodyOverflowSetting !== void 0) {\n document.body.style.overflow = previousBodyOverflowSetting;\n previousBodyOverflowSetting = void 0;\n }\n};\nvar setPositionFixed = function setPositionFixed2() {\n return window.requestAnimationFrame(function() {\n if (previousBodyPosition === void 0) {\n previousBodyPosition = {\n position: document.body.style.position,\n top: document.body.style.top,\n left: document.body.style.left\n };\n var _window = window, scrollY = _window.scrollY, scrollX = _window.scrollX, innerHeight = _window.innerHeight;\n document.body.style.position = \"fixed\";\n document.body.style.top = -scrollY;\n document.body.style.left = -scrollX;\n setTimeout(function() {\n return window.requestAnimationFrame(function() {\n var bottomBarHeight = innerHeight - window.innerHeight;\n if (bottomBarHeight && scrollY >= innerHeight) {\n document.body.style.top = -(scrollY + bottomBarHeight);\n }\n });\n }, 300);\n }\n });\n};\nvar restorePositionSetting = function restorePositionSetting2() {\n if (previousBodyPosition !== void 0) {\n var y = -parseInt(document.body.style.top, 10);\n var x = -parseInt(document.body.style.left, 10);\n document.body.style.position = previousBodyPosition.position;\n document.body.style.top = previousBodyPosition.top;\n document.body.style.left = previousBodyPosition.left;\n window.scrollTo(x, y);\n previousBodyPosition = void 0;\n }\n};\nvar isTargetElementTotallyScrolled = function isTargetElementTotallyScrolled2(targetElement) {\n return targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false;\n};\nvar handleScroll = function handleScroll2(event, targetElement) {\n var clientY = event.targetTouches[0].clientY - initialClientY;\n if (allowTouchMove(event.target)) {\n return false;\n }\n if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n return preventDefault(event);\n }\n if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n return preventDefault(event);\n }\n event.stopPropagation();\n return true;\n};\nvar disableBodyScroll = function disableBodyScroll2(targetElement, options) {\n if (!targetElement) {\n console.error(\"disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.\");\n return;\n }\n if (locks.some(function(lock2) {\n return lock2.targetElement === targetElement;\n })) {\n return;\n }\n var lock = {\n targetElement,\n options: options || {}\n };\n locks = [].concat(_toConsumableArray(locks), [lock]);\n if (isIosDevice) {\n setPositionFixed();\n } else {\n setOverflowHidden(options);\n }\n if (isIosDevice) {\n targetElement.ontouchstart = function(event) {\n if (event.targetTouches.length === 1) {\n initialClientY = event.targetTouches[0].clientY;\n }\n };\n targetElement.ontouchmove = function(event) {\n if (event.targetTouches.length === 1) {\n handleScroll(event, targetElement);\n }\n };\n if (!documentListenerAdded) {\n document.addEventListener(\"touchmove\", preventDefault, hasPassiveEvents ? { passive: false } : void 0);\n documentListenerAdded = true;\n }\n }\n};\nvar enableBodyScroll = function enableBodyScroll2(targetElement) {\n if (!targetElement) {\n console.error(\"enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.\");\n return;\n }\n locks = locks.filter(function(lock) {\n return lock.targetElement !== targetElement;\n });\n if (isIosDevice) {\n targetElement.ontouchstart = null;\n targetElement.ontouchmove = null;\n if (documentListenerAdded && locks.length === 0) {\n document.removeEventListener(\"touchmove\", preventDefault, hasPassiveEvents ? { passive: false } : void 0);\n documentListenerAdded = false;\n }\n }\n if (isIosDevice) {\n restorePositionSetting();\n } else {\n restoreOverflowSetting();\n }\n};\n\nexport {\n disableBodyScroll,\n enableBodyScroll\n};\n", "import {\n e,\n i,\n t\n} from \"./chunk.OZEBCGEZ.js\";\nimport {\n R\n} from \"./chunk.FCKNEYTX.js\";\n\n// node_modules/lit-html/directives/style-map.js\nvar ee = \"important\";\nvar ie = \" !\" + ee;\nvar se = e(class extends i {\n constructor(e2) {\n if (super(e2), e2.type !== t.ATTRIBUTE || \"style\" !== e2.name || e2.strings?.length > 2) throw Error(\"The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.\");\n }\n render(t2) {\n return Object.keys(t2).reduce((e2, r) => {\n const s = t2[r];\n return null == s ? e2 : e2 + `${r = r.includes(\"-\") ? r : r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g, \"-$&\").toLowerCase()}:${s};`;\n }, \"\");\n }\n update(t2, [e2]) {\n const { style: r } = t2.element;\n if (void 0 === this.ft) return this.ft = new Set(Object.keys(e2)), this.render(e2);\n for (const t3 of this.ft) null == e2[t3] && (this.ft.delete(t3), t3.includes(\"-\") ? r.removeProperty(t3) : r[t3] = null);\n for (const t3 in e2) {\n const s = e2[t3];\n if (null != s) {\n this.ft.add(t3);\n const e3 = \"string\" == typeof s && s.endsWith(ie);\n t3.includes(\"-\") || e3 ? r.setProperty(t3, e3 ? s.slice(0, -11) : s, e3 ? ee : \"\") : r[t3] = s;\n }\n }\n return R;\n }\n});\n\nexport {\n se\n};\n/*! Bundled license information:\n\nlit-html/directives/style-map.js:\n (**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n*/\n", "import {\n se\n} from \"./chunk.Y44YK2W3.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n Stackable\n} from \"./chunk.A4SFXC3I.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-overlay/jb-overlay.scss?inline\nvar jb_overlay_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n.overlay {\n --background-color: #fff;\n background-color: var(--background-color);\n display: block;\n height: 0;\n left: 0;\n overflow: hidden;\n position: fixed;\n top: 0;\n transition: height 600ms ease-in;\n width: 100%;\n}\n.overlay.visible {\n height: 100vh;\n transition-timing-function: ease-out;\n}\n.overlay.visible .overlay__header {\n opacity: 1;\n transition: opacity 300ms ease-out 300ms;\n}\n.overlay.visible .overlay__content {\n opacity: 1;\n top: 0;\n transition: all 450ms ease-out 500ms;\n}\n.overlay--gray {\n --background-color: #f1f2f2;\n}\n.overlay--blue {\n --background-color: #141e55;\n}\n.overlay--blue .overlay__content {\n scrollbar-color: #8a8ea8 transparent;\n}\n.overlay--blue .overlay__content::-webkit-scrollbar {\n width: 12px;\n}\n.overlay--blue .overlay__content::-webkit-scrollbar-thumb {\n background: #8a8ea8;\n border-left: 4px solid #141e55;\n border-right: 4px solid #141e55;\n}\n.overlay__header {\n background-color: var(--background-color);\n height: 60px;\n opacity: 0;\n padding-block: 24px;\n position: fixed;\n top: 0;\n transition: opacity 300ms ease-in 400ms;\n width: 100%;\n}\n@media (min-width: 600px) {\n .overlay__header {\n height: 90px;\n }\n}\n@media (min-width: 1281px) {\n .overlay__header {\n height: 100px;\n }\n}\n.overlay__header > div {\n opacity: 0;\n}\n.overlay__logo-wrap {\n display: flex;\n justify-content: center;\n}\n@media (min-width: 600px) {\n .overlay__logo-wrap {\n padding-top: 12px;\n }\n}\n@media (min-width: 1281px) {\n .overlay__logo-wrap {\n padding-top: 22px;\n }\n}\n.overlay__logo-wrap.no-logo {\n visibility: hidden;\n}\n.overlay jb-logo {\n --logo-color: #001489;\n height: 22px;\n margin-top: 1px;\n width: 114px;\n}\n@media (min-width: 600px) {\n .overlay jb-logo {\n height: 32px;\n margin-top: 2px;\n width: 164px;\n }\n}\n.overlay__close-btn {\n position: absolute;\n right: 20px;\n top: 20px;\n}\n@media (min-width: 600px) {\n .overlay__close-btn {\n right: 36px;\n top: 36px;\n }\n}\n@media (min-width: 1281px) {\n .overlay__close-btn {\n right: 66px;\n top: 46px;\n }\n}\n.overlay__content {\n --overlay-header-height: 60px;\n background-color: var(--background-color);\n height: 100%;\n height: calc(100vh - var(--overlay-header-height, 0));\n margin-top: var(--overlay-header-height);\n opacity: 0;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n position: fixed;\n scrollbar-color: #141e55 transparent;\n scrollbar-width: thin;\n transition: all 450ms ease-in;\n width: 100%;\n}\n@media (min-width: 600px) {\n .overlay__content {\n --overlay-header-height: 90px;\n }\n}\n@media (min-width: 1281px) {\n .overlay__content {\n --overlay-header-height: 100px;\n }\n}\n.overlay__content::-webkit-scrollbar {\n width: 4px;\n}\n.overlay__content::-webkit-scrollbar-track {\n background-color: transparent;\n}\n.overlay__content::-webkit-scrollbar-thumb {\n background-color: #141e55;\n border-radius: 4px;\n}\n.overlay__content.relative {\n max-height: calc(100vh - 61px);\n position: relative;\n}\n@media (min-width: 600px) {\n .overlay__content.relative {\n max-height: calc(100vh - 92px);\n }\n}\n@media (min-width: 1281px) {\n .overlay__content.relative {\n max-height: calc(100vh - 102px);\n }\n}\n\n.new-animation {\n background-color: unset;\n transition: unset;\n}\n.new-animation.visible {\n transition-timing-function: unset;\n}\n.new-animation.visible .overlay__header {\n transition: unset;\n}\n.new-animation.visible .overlay__content {\n transition: unset;\n}\n.new-animation__header {\n opacity: unset;\n transition: unset;\n}\n.new-animation__content {\n opacity: unset;\n transition: unset;\n}\n\n.fullheight .overlay__header {\n background-color: transparent;\n z-index: 2;\n}\n.fullheight .overlay__content {\n height: 100%;\n height: calc(100vh - var(--overlay-header-height, 0) + 68px);\n margin-top: 34px;\n}\n\njb-burger-icon,\njb-close-icon {\n padding-right: var(--compensate-scrollbar, 0);\n}\n\njb-logo {\n translate: calc(-0.5 * var(--compensate-scrollbar, 0)) 0;\n}`;\n\n// src/components/jb-overlay/jb-overlay.ts\nvar JbOverlay = class extends Initiable(Stackable(h)) {\n constructor() {\n super(...arguments);\n this.fullHeight = false;\n this.hasCloseIcon = true;\n this.newAnimation = false;\n }\n firstUpdated() {\n if (this._introPromiseResolve) {\n window.setTimeout(() => {\n this._section.classList.add(\"visible\");\n this._section.addEventListener(\"transitionend\", (event) => {\n if (event.propertyName === \"height\") {\n this._introPromiseResolve(true);\n }\n });\n }, 10);\n }\n }\n async intro() {\n return new Promise((resolve) => {\n this._introPromiseResolve = resolve;\n });\n }\n async outro() {\n return new Promise((resolve) => {\n if (!this.newAnimation) {\n this._section.classList.remove(\"visible\");\n } else {\n resolve(true);\n }\n this._section.addEventListener(\"transitionend\", (event) => {\n if (event.propertyName === \"height\") {\n resolve(true);\n }\n });\n });\n }\n stacked() {\n }\n unstacked() {\n this.remove();\n }\n _close() {\n this.dispatchEvent(\n new CustomEvent(\"jb-overlay:close\", {\n bubbles: true,\n composed: true\n })\n );\n }\n get _slottedChildren() {\n const slot = this.shadowRoot.querySelector(\"slot\");\n return slot.assignedElements();\n }\n render() {\n return ke`\n \n
    \n
    \n
    \n \n
    \n
    \n ${this.hasCloseIcon ? ke`` : D}\n
    \n
    \n
    \n \n
    \n
    \n \n `;\n }\n};\nJbOverlay.styles = r(jb_overlay_default);\n__decorateClass([\n n()\n], JbOverlay.prototype, \"ariaLabelClose\", 2);\n__decorateClass([\n n()\n], JbOverlay.prototype, \"color\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbOverlay.prototype, \"fullHeight\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbOverlay.prototype, \"hasCloseIcon\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbOverlay.prototype, \"hasLogo\", 2);\n__decorateClass([\n n()\n], JbOverlay.prototype, \"logoLink\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbOverlay.prototype, \"newAnimation\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbOverlay.prototype, \"relativeContent\", 2);\n__decorateClass([\n n()\n], JbOverlay.prototype, \"svgLogo\", 2);\n__decorateClass([\n e(\"section\")\n], JbOverlay.prototype, \"_section\", 2);\nJbOverlay = __decorateClass([\n customElement(\"jb-overlay\")\n], JbOverlay);\n\nexport {\n JbOverlay\n};\n", "import {\n disableBodyScroll,\n enableBodyScroll\n} from \"./chunk.WDF6H473.js\";\nimport {\n JbOverlay\n} from \"./chunk.5C7B4R5Q.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n Animatable\n} from \"./chunk.VRR2P3PQ.js\";\nimport {\n recenterNavItems\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-publication-download-overlay/jb-publication-download-overlay.scss?inline\nvar jb_publication_download_overlay_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n background-color: #fff;\n display: block;\n min-height: 100%;\n}\n\n.publication-download-overlay {\n display: block;\n opacity: 0;\n padding-bottom: 80px;\n}\n@media (min-width: 960px) {\n .publication-download-overlay {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: calc(100% - 2 * var(--row-small-margin, 6.68%));\n }\n}\n@media (min-width: 960px) and (min-width: 600px) and (max-width: 959px) {\n .publication-download-overlay {\n width: calc(100% - 2 * 8.35%);\n }\n}\n@media (min-width: 960px) and (min-width: 1437px) {\n .publication-download-overlay {\n max-width: var(--row-max-width, 1436px);\n }\n .publication-download-overlay:not(.filtered-list) {\n width: 100%;\n }\n}\n@media only screen and (min-width: 960px) and (min-width: 960px) and (max-width: 1436px) {\n .publication-download-overlay {\n margin: 0 6.955%;\n max-width: calc(100% - 6.955% - 6.955%);\n }\n}`;\n\n// src/components/jb-publication-download-overlay/jb-publication-download-overlay.ts\nvar JbPublicationDownloadOverlay = class extends Initiable(Animatable(h)) {\n constructor() {\n super(...arguments);\n this.clickCallbackUrl = \"\";\n this.noLogo = false;\n this.open = false;\n this.withNewsletterSignup = false;\n }\n render() {\n return ke`\n
    \n \n
    \n `;\n }\n};\nJbPublicationDownloadOverlay.styles = r(jb_publication_download_overlay_default);\n__decorateClass([\n n()\n], JbPublicationDownloadOverlay.prototype, \"clickCallbackUrl\", 2);\n__decorateClass([\n n({ type: Object })\n], JbPublicationDownloadOverlay.prototype, \"features\", 2);\n__decorateClass([\n n()\n], JbPublicationDownloadOverlay.prototype, \"formAction\", 2);\n__decorateClass([\n n({ type: Object })\n], JbPublicationDownloadOverlay.prototype, \"link\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbPublicationDownloadOverlay.prototype, \"noLogo\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbPublicationDownloadOverlay.prototype, \"open\", 2);\n__decorateClass([\n n({ type: Number })\n], JbPublicationDownloadOverlay.prototype, \"overlayId\", 2);\n__decorateClass([\n n({ type: Object })\n], JbPublicationDownloadOverlay.prototype, \"picture\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbPublicationDownloadOverlay.prototype, \"skipDownloadPage\", 2);\n__decorateClass([\n n({ type: Object })\n], JbPublicationDownloadOverlay.prototype, \"texts\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbPublicationDownloadOverlay.prototype, \"withNewsletterSignup\", 2);\nJbPublicationDownloadOverlay = __decorateClass([\n customElement(\"jb-publication-download-overlay\")\n], JbPublicationDownloadOverlay);\nbindEvents();\n\n// src/components/jb-publication-download-overlay/jb-publication-download-overlay-controller.ts\nvar JbPublicationDownloadOverlayController = class {\n constructor() {\n this.overlay = void 0;\n this.publicationOverlay = void 0;\n }\n async close() {\n if (this.publicationOverlay) {\n await this.publicationOverlay.hide();\n enableBodyScroll(this.publicationOverlay);\n recenterNavItems();\n }\n if (this.overlay) {\n this.overlay.unstack();\n }\n this.overlay = void 0;\n }\n open(event) {\n const customEvent = event;\n if (!customEvent.detail.publicationOverlay) {\n return;\n }\n customEvent.stopPropagation();\n customEvent.detail.clickEvent.preventDefault();\n customEvent.detail.clickEvent.stopPropagation();\n this.publicationOverlay = new JbPublicationDownloadOverlay().init({\n props: {\n clickCallbackUrl: customEvent.detail.publicationOverlay.clickCallbackUrl,\n features: customEvent.detail.publicationOverlay.features,\n formAction: customEvent.detail.publicationOverlay.formAction,\n link: customEvent.detail.publicationOverlay.link,\n picture: customEvent.detail.publicationOverlay.picture,\n skipDownloadPage: customEvent.detail.publicationOverlay.skipDownloadPage,\n texts: customEvent.detail.publicationOverlay.texts,\n withNewsletterSignup: customEvent.detail.publicationOverlay.withNewsletterSignup\n }\n });\n this.overlay = new JbOverlay().init({\n props: { color: \"white\", hasLogo: false, hasCloseIcon: true, newAnimation: true },\n childNodes: [this.publicationOverlay]\n });\n if (this.overlay) {\n this.overlay.stack();\n customElements.whenDefined(\"jb-publication-download-overlay\").then(async () => {\n setTimeout(() => {\n this.publicationOverlay.contentChildren = Array.from(\n this.publicationOverlay.shadowRoot.querySelectorAll(\".publication-download-overlay\")\n );\n }, 0);\n disableBodyScroll(this.publicationOverlay, { allowTouchMove: () => true });\n recenterNavItems();\n await this.publicationOverlay.reveal();\n });\n }\n }\n};\nvar controller = new JbPublicationDownloadOverlayController();\nfunction bindEvents() {\n document.addEventListener(\"jb-overlay:close\", () => {\n controller.close();\n });\n document.addEventListener(\"jb-link:clicked\", (event) => {\n controller.open(event);\n });\n}\n\nexport {\n bindEvents,\n JbPublicationDownloadOverlay\n};\n", "import {\n gsapWithCSS\n} from \"./chunk.LXB4MYP4.js\";\nimport {\n ae\n} from \"./chunk.Q25FCJRM.js\";\nimport {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-publication-download/jb-publication-download.scss?inline\nvar jb_publication_download_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nh2 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh2 {\n font-size: var(--theme-typo-h2-subtitle-mobile-fontsize, 1.625rem);\n line-height: var(--theme-typo-h2-subtitle-mobile-lineheight, 2.188rem);\n}\n@media (min-width: 1281px) {\n h2 {\n font-size: var(--theme-typo-h2-subtitle-desktop-fontsize, 1.938rem);\n line-height: var(--theme-typo-h2-subtitle-desktop-lineheight, 2.625rem);\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: inline-block;\n width: 100%;\n}\n\n:host(.in-overlay) {\n margin-block-start: 16px;\n}\n@media (min-width: 960px) {\n :host(.in-overlay) .image-wrapper {\n box-sizing: border-box;\n flex-basis: 41.6666666667%;\n max-width: 41.6666666667%;\n padding: 0 20px;\n width: 41.6666666667%;\n margin: 0 0 0 8.33%;\n }\n}\n:host(.in-overlay) .content-wrapper {\n margin-block-end: 48px;\n}\n\nsection {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: calc(100% - 2 * var(--row-small-margin, 6.68%));\n}\n@media (min-width: 600px) and (max-width: 959px) {\n section {\n width: calc(100% - 2 * 8.35%);\n }\n}\n@media (min-width: 1437px) {\n section {\n max-width: var(--row-max-width, 1436px);\n }\n section:not(.filtered-list) {\n width: 100%;\n }\n}\n@media only screen and (min-width: 960px) and (max-width: 1436px) {\n section {\n margin: 0 6.955%;\n max-width: calc(100% - 6.955% - 6.955%);\n }\n}\n@media (min-width: 960px) {\n section {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: 100%;\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 0;\n width: 100%;\n }\n}\n\ndiv {\n transition: background-color 0.8s linear;\n}\n\n.image-wrapper {\n box-sizing: border-box;\n flex-basis: 75%;\n max-width: 75%;\n padding: 0 0;\n width: 75%;\n margin: 0 auto;\n}\n@media (min-width: 960px) {\n .image-wrapper {\n box-sizing: border-box;\n flex-basis: 25%;\n max-width: 25%;\n padding: 0 20px;\n width: 25%;\n margin: 0 0 0 16.67%;\n }\n}\n\n.content-wrapper {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 0;\n width: 100%;\n margin-block-start: 28px;\n}\n@media (min-width: 960px) {\n .content-wrapper {\n box-sizing: border-box;\n flex-basis: 41.6666666667%;\n max-width: 41.6666666667%;\n padding: 0 20px;\n width: 41.6666666667%;\n margin-block-start: 0;\n }\n}\n\njb-button-primary {\n padding-block-start: 30px;\n}\n@media (max-width: 599px) {\n jb-button-primary {\n width: 100%;\n }\n}\n\njb-feature-list {\n display: block;\n margin-block-start: var(--spacing-2xs);\n}\n\njb-feature-list + jb-form {\n margin-block-start: 0;\n}\n\njb-form {\n margin-block-start: 14px;\n}\njb-form jb-button-primary {\n padding-block-start: unset;\n}\n\njb-picture {\n background-color: rgba(0, 0, 0, 0.063);\n box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.1);\n margin-block-end: 20px;\n}\n@media (min-width: 960px) {\n jb-picture {\n margin-block-end: 0;\n }\n}\n\nh2 {\n margin-block-end: 34px;\n}\n\n.newsletter-page,\n.success-page,\n.error-page {\n display: none;\n opacity: 0;\n}`;\n\n// src/components/jb-publication-download/jb-publication-download.ts\nvar JbPublicationDownload = class extends Spaceable(h) {\n constructor() {\n super(...arguments);\n this.withNewsletterSignup = false;\n this._firstPartyDataProcessing = false;\n this._formSubmitted = false;\n this._formValid = false;\n this._textWithCountdown = \"\";\n }\n async firstUpdated() {\n await this.updateComplete;\n if (this.autoStartAfterSeconds) {\n let counter = this.autoStartAfterSeconds;\n this._textWithCountdown = this.texts.downloadText.replace(\"{counter}\", String(counter));\n counter -= 1;\n const intervalId = setInterval(() => {\n this._textWithCountdown = this.texts.downloadText.replace(\"{counter}\", String(counter));\n counter -= 1;\n if (counter < 0) {\n clearInterval(intervalId);\n }\n }, 1e3);\n setTimeout(() => {\n if (this._downloadButton) {\n this._downloadButton.triggerClick();\n }\n }, this.autoStartAfterSeconds * 1e3);\n }\n if (this.skipDownloadPage) {\n const targetPage = this.renderRoot.querySelector(\".newsletter-page\");\n if (targetPage) {\n const componentObserver = new IntersectionObserver(\n async (entries, observer) => {\n if (entries[0].isIntersecting) {\n this._dispatchFormOpenEvent();\n observer.disconnect();\n }\n },\n {\n rootMargin: \"0px\"\n }\n );\n componentObserver.observe(this);\n this.renderRoot.querySelectorAll(\".page\").forEach((element) => {\n element.style.display = \"none\";\n element.style.opacity = \"0\";\n });\n targetPage.style.display = \"initial\";\n targetPage.style.opacity = \"1\";\n }\n }\n }\n _captureTracking(evt) {\n evt.stopPropagation();\n }\n _dispatchFormOpenEvent() {\n this.parentElement?.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n component_name: \"publication-download\",\n event: \"ce_form\",\n event_version: \"v2\",\n form_step_name: \"form open\",\n form_step_nr: \"1\",\n form_subject: this.link?.data.downloadFileName,\n form_type: \"newsletter\"\n },\n bubbles: true,\n composed: true\n })\n );\n }\n _dispatchFormSentEvent() {\n const eventInitDict = {\n detail: {\n component_name: \"publication-download\",\n event: \"ce_form\",\n event_version: \"v2\",\n form_step_name: \"form sent\",\n form_step_nr: \"2\",\n form_subject: this.link?.data.downloadFileName,\n form_type: \"newsletter\",\n optin_type: \"single\"\n },\n bubbles: true,\n composed: true\n };\n if (this.withNewsletterSignup) {\n eventInitDict.detail.first_party_data_processing = this._firstPartyDataProcessing;\n }\n this.parentElement?.dispatchEvent(new CustomEvent(\"jb-tracking\", eventInitDict));\n }\n _download(e2) {\n this._tracking(e2);\n if (this.clickCallbackUrl) {\n fetch(this.clickCallbackUrl);\n }\n if (this.withNewsletterSignup) {\n this._transitionTo(\".download-page\", \".newsletter-page\");\n this._dispatchFormOpenEvent();\n }\n if (!this.withNewsletterSignup && !this.autoStartAfterSeconds) {\n this._transitionTo(\".download-page\", \".success-page\");\n }\n }\n _getContentSpacingProperties() {\n const type = this.classList.contains(\"in-overlay\") ? \"no-vertical-space\" : void 0;\n return { colsMdUp: \"none\", horizontal: \"full-width\", type };\n }\n _subscribe(e2) {\n e2.preventDefault();\n if (!this._formValid || this._formSubmitted) return;\n this._formSubmitted = true;\n const form = this.shadowRoot?.querySelector(\"jb-form\");\n const slottedInputs = form.querySelectorAll(\"jb-text-field, jb-checkbox\");\n const additionalInputs = form.shadowRoot?.querySelectorAll(\"input\");\n const formData = {};\n if (globalThis._satellite) {\n formData.marketingCloudVisitorID = globalThis._satellite.getVisitorId().getMarketingCloudVisitorID();\n formData.marketingCloudOrgID = globalThis._satellite.getVisitorId().marketingCloudOrgID;\n }\n Array.from([...slottedInputs, ...additionalInputs]).forEach((element) => {\n try {\n const name = element.getAttribute(\"name\");\n if (element.tagName === \"JB-CHECKBOX\") {\n formData[name] = element.checkbox?.checked;\n } else {\n formData[name] = element.value;\n }\n } catch (err) {\n }\n });\n try {\n this._firstPartyDataProcessing = formData.newsletterAgree;\n } catch (err) {\n }\n fetch(this.formAction, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n redirect: \"follow\",\n body: JSON.stringify(formData)\n }).then((response) => {\n if (!response.ok) {\n this._transitionTo(\".newsletter-page\", \".error-page\");\n }\n return response.json();\n }).then((data) => {\n if (data.success === true) {\n this._transitionTo(\".newsletter-page\", data.success ? \".success-page\" : \".error-page\");\n } else {\n this._transitionTo(\".newsletter-page\", \".error-page\");\n }\n if (data.success === true) {\n this._dispatchFormSentEvent();\n }\n });\n }\n _tracking(e2) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e2, {\n component_name: \"publication-download\"\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n }\n _transitionTo(page1, page2) {\n const el1 = this.renderRoot.querySelector(page1);\n const el2 = this.renderRoot.querySelector(page2);\n const timeline = gsapWithCSS.timeline({\n paused: true,\n defaults: { duration: 1 }\n }).to(el1, { opacity: 0, display: \"none\" }).to(el2, { display: \"initial\", opacity: 1 });\n timeline.restart();\n }\n render() {\n return ke`\n
    \n
    \n \n
    \n\n
    \n
    \n

    ${this.texts.downloadTitle}

    \n ${ae(this._textWithCountdown || this.texts.downloadText)}\n ${this.features ? ke` ` : D}\n \n ${this.texts.downloadButton}\n \n
    \n\n ${this.withNewsletterSignup ? ke`\n
    \n

    ${this.texts.downloadSuccessTitle}

    \n ${ae(this.texts.downloadSuccessText)}\n ${this.features && this.skipDownloadPage ? ke` ` : D}\n {\n e2.detail.preventDefault();\n this._formValid = true;\n this._subscribe(e2);\n }}\n @jb-tracking=${this._captureTracking}\n >\n \n ${this.texts.agreement ? ke`\n \n ` : D}\n ${!this.texts.agreementRequiredText && this.texts.agreement && !this.withNewsletterSignup ? ke`\n \n

    ${ae(this.texts.agreement)}

    \n
    \n ` : D}\n \n ${this.texts.subscribeButton}\n \n \n
    \n
    \n

    \n ${this.withNewsletterSignup && this.texts.successWithSubscriptionTitle && this._firstPartyDataProcessing ? ae(this.texts.successWithSubscriptionTitle) : ae(this.texts.successTitle)}\n

    \n \n ${this.withNewsletterSignup && this.texts.successWithSubscriptionText && this._firstPartyDataProcessing ? ae(this.texts.successWithSubscriptionText) : ae(this.texts.successText)}\n \n
    \n\n
    \n

    ${ae(this.texts.errorTitle)}

    \n ${ae(this.texts.errorText)}\n
    \n ` : ke`\n
    \n

    ${this.texts.downloadSuccessTitle}

    \n ${ae(this.texts.downloadSuccessText)}\n
    \n `}\n
    \n
    \n `;\n }\n};\nJbPublicationDownload.styles = r(jb_publication_download_default);\n__decorateClass([\n n({ type: Number })\n], JbPublicationDownload.prototype, \"autoStartAfterSeconds\", 2);\n__decorateClass([\n n()\n], JbPublicationDownload.prototype, \"clickCallbackUrl\", 2);\n__decorateClass([\n n({ type: Array })\n], JbPublicationDownload.prototype, \"features\", 2);\n__decorateClass([\n n()\n], JbPublicationDownload.prototype, \"formAction\", 2);\n__decorateClass([\n n({ type: Object })\n], JbPublicationDownload.prototype, \"link\", 2);\n__decorateClass([\n n({ type: Object })\n], JbPublicationDownload.prototype, \"picture\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbPublicationDownload.prototype, \"skipDownloadPage\", 2);\n__decorateClass([\n n({ type: Object })\n], JbPublicationDownload.prototype, \"texts\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbPublicationDownload.prototype, \"withNewsletterSignup\", 2);\n__decorateClass([\n e(\"[data-download-button]\")\n], JbPublicationDownload.prototype, \"_downloadButton\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbPublicationDownload.prototype, \"_firstPartyDataProcessing\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbPublicationDownload.prototype, \"_formSubmitted\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbPublicationDownload.prototype, \"_formValid\", 2);\n__decorateClass([\n r2()\n], JbPublicationDownload.prototype, \"_textWithCountdown\", 2);\nJbPublicationDownload = __decorateClass([\n customElement(\"jb-publication-download\")\n], JbPublicationDownload);\n\nexport {\n JbPublicationDownload\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-page-hero/jb-page-hero.scss?inline\nvar jb_page_hero_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.with-big-image p, .article-page-hero p, p {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh1 {\n font-family: var(--theme-font-xlight-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-xlight-weight, 200);\n}\n\nh1 {\n font-size: var(--theme-typo-h1-overview-mobile-fontsize, 1.75rem);\n letter-spacing: var(--theme-typo-h1-overview-mobile-letterspacing, 0.094rem);\n line-height: var(--theme-typo-h1-overview-mobile-lineheight, 2.5rem);\n}\n@media (min-width: 1281px) {\n h1 {\n font-size: var(--theme-typo-h1-overview-desktop-fontsize, 3.125rem);\n letter-spacing: var(--theme-typo-h1-overview-desktop-letterspacing, 0.25rem);\n line-height: var(--theme-typo-h1-overview-desktop-lineheight, 4.375rem);\n }\n}\n\n.article-page-hero p, p {\n font-size: var(--theme-typo-p-big-mobile-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-big-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n .article-page-hero p, p {\n font-size: var(--theme-typo-p-big-desktop-fontsize, 1.375rem);\n line-height: var(--theme-typo-p-big-desktop-lineheight, 2.125rem);\n }\n}\n\n.with-big-image p {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n --_grid-gap: 16px;\n --_grid-template-columns: repeat(12, 1fr);\n --_outer-padding: calc(6.68% - var(--_grid-gap));\n display: grid;\n gap: var(--grid-row-gap, 0) var(--grid-column-gap, var(--_grid-gap));\n grid-template-columns: [full-start] var(--_outer-padding) [main-start] var(--thme-grid-template-columns, var(--_grid-template-columns)) [main-end] var(--_outer-padding) [full-end];\n grid-template-rows: 1fr;\n padding-inline-end: var(--compensate-scrollbar);\n}\n@media (min-width: 600px) {\n :host {\n --_outer-padding: calc(8.35% - var(--_grid-gap));\n }\n}\n@media (min-width: 960px) {\n :host {\n --_grid-gap: 40px;\n --_outer-padding: calc(6.955% - var(--_grid-gap) / 2);\n }\n}\n@media (min-width: 1281px) {\n :host {\n padding-block-start: var(--spacing-s);\n }\n}\n@media (min-width: 1437px) {\n :host {\n --_outer-padding: calc((100% - 1437px - 40px) / 2);\n }\n}\n\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: grid;\n padding-block-start: 0;\n --_row-gap: var(--spacing-m);\n}\n\nsection {\n display: grid;\n grid-column: full;\n grid-template-columns: subgrid;\n}\n\nimg {\n aspect-ratio: 21/9;\n display: grid;\n grid-column: full;\n object-fit: cover;\n order: 0;\n width: 100%;\n}\n\n.content-wrapper {\n display: contents;\n}\n\njb-breadcrumbs {\n grid-column: 2/14;\n margin-block-start: var(--_row-gap);\n order: 1;\n}\n\n.layer-wrapper {\n display: contents;\n}\n\nh1 {\n grid-column: 2/14;\n margin-block-start: var(--_row-gap);\n order: 2;\n text-transform: uppercase;\n}\n\np {\n grid-column: 2/14;\n margin-block-start: var(--_row-gap);\n order: 3;\n}\n\n.content-container {\n display: contents;\n order: 3;\n}\n\n.link-container {\n column-count: 1;\n column-gap: var(--_grid-gap);\n grid-column: 2/14;\n margin-block-start: calc(var(--spacing-lm) - var(--spacing-s));\n order: 4;\n}\n\njb-listing-item {\n break-inside: avoid;\n padding-block-start: var(--spacing-s);\n}\n\njb-listing-item:last-of-type {\n padding-block-end: 0;\n}\n\n.columns-1 {\n column-count: 1;\n}\n\n.columns-2 {\n column-count: 1;\n}\n\n.columns-3 {\n column-count: 2;\n}\n\nhr {\n border-width: 0;\n border-bottom-width: 1px;\n border-color: rgb(var(--theme-color-royal-blue, 20 30 85));\n grid-column: 2/14;\n margin-block-start: var(--spacing-xl);\n order: 5;\n width: 100%;\n}\n\n@media (min-width: 600px) {\n p.next-to-columns-1 {\n grid-column: 2/8;\n order: 4;\n }\n .link-container {\n margin-block-start: calc(var(--_row-gap) - var(--spacing-s));\n }\n .columns-1 {\n grid-column: 8/14;\n order: 4;\n }\n .columns-2 {\n column-count: 2;\n grid-column: 2/14;\n order: 4;\n }\n}\n@media (min-width: 960px) {\n img {\n aspect-ratio: 21/4;\n }\n p.next-to-columns-1 {\n grid-column: 2/8;\n }\n .columns-1 {\n grid-column: 8/14;\n }\n .columns-2 {\n grid-column: 2/14;\n margin-block-start: calc(var(--_grid-gap) - var(--spacing-s));\n }\n}\n@media (min-width: 1281px) {\n section {\n --_row-gap: var(--spacing-lm);\n }\n jb-breadcrumbs {\n margin-block-start: var(--spacing-m);\n }\n p {\n font-size: var(--theme-typo-h3-desktop-fontsize, 1.625rem);\n line-height: var(--theme-typo-h3-desktop-lineheight, 2.25rem);\n }\n p.next-to-columns-1 {\n grid-column: 2/10;\n }\n .link-container {\n margin-block-start: calc(var(--_row-gap) - var(--spacing-s));\n }\n .columns-1 {\n grid-column: 10/14;\n }\n p.next-to-columns-2 {\n grid-column: 2/7;\n }\n .columns-2 {\n grid-column: 7/14;\n }\n}\n@media (min-width: 1437px) {\n p {\n grid-column: 2/11;\n }\n p.next-to-columns-2 {\n grid-column: 2/8;\n }\n .columns-2 {\n grid-column: 8/14;\n }\n}\n.with-image jb-breadcrumbs {\n order: 2;\n}\n.with-image img {\n order: 1;\n}\n\n.with-big-image section {\n row-gap: 0;\n}\n.with-big-image jb-breadcrumbs {\n grid-column: main;\n margin-block: var(--spacing-m) var(--spacing-s);\n order: 1;\n}\n.with-big-image img {\n aspect-ratio: 16/9;\n grid-column: full;\n order: 2;\n}\n.with-big-image .layer-wrapper {\n display: contents;\n}\n.with-big-image .content-container {\n background-color: rgb(var(--theme-color-royal-blue, 20 30 85));\n color: rgb(var(--theme-color-white, 255 255 255));\n display: block;\n grid-column: full;\n order: 3;\n padding-block: var(--spacing-m);\n padding-inline: 25px;\n}\n.with-big-image h1,\n.with-big-image p {\n margin-block: 0;\n text-align: center;\n}\n.with-big-image h1 {\n margin-block: 0 var(--spacing-2xs);\n}\n.with-big-image .link-container {\n margin-block: calc(var(--spacing-m) - var(--spacing-s)) var(--spacing-m);\n}\n.with-big-image .columns-1 {\n grid-column: 2/14;\n}\n.with-big-image .columns-2,\n.with-big-image .columns-3 {\n column-count: 1;\n}\n.with-big-image hr {\n display: none;\n}\n@media (min-width: 960px) {\n .with-big-image img {\n grid-column: main;\n }\n .with-big-image .layer-wrapper {\n display: block;\n grid-column: 3/13;\n order: 2;\n position: relative;\n }\n .with-big-image .content-container {\n bottom: var(--spacing-xl);\n display: block;\n padding: var(--spacing-m);\n position: absolute;\n }\n .with-big-image .columns-1 {\n grid-column: 4/12;\n }\n .with-big-image .columns-2,\n .with-big-image .columns-3 {\n column-count: 2;\n }\n}\n@media (min-width: 1281px) {\n .with-big-image h1 {\n margin-block-end: var(--spacing-sm);\n }\n .with-big-image p {\n font-size: var(--theme-typo-p-desktop-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-desktop-lineheight, 2.125rem);\n }\n .with-big-image .content-container {\n padding: var(--spacing-xl);\n }\n .with-big-image .columns-2 {\n grid-column: 3/13;\n }\n .with-big-image .columns-3 {\n column-count: 3;\n }\n}\n@media (min-width: 1437px) {\n .with-big-image .content-container {\n bottom: 80px;\n }\n .with-big-image .columns-2 {\n grid-column: 3/13;\n }\n}\n\n.article-page-hero {\n --_content-shift: 0px;\n --_background: rgb(\\$color-white);\n margin-block-end: var(--spacing-xl);\n}\n.article-page-hero img {\n aspect-ratio: 21/9;\n grid-column: full;\n order: 1;\n}\n.article-page-hero .content-wrapper {\n background: none;\n display: grid;\n grid-column: 1/15;\n grid-template-columns: subgrid;\n margin-block-start: calc(0px - var(--_content-shift));\n order: 2;\n z-index: 20;\n}\n.article-page-hero hr {\n grid-column: 2/14;\n margin-block-end: 0;\n}\n@media (min-width: 960px) {\n .article-page-hero {\n --_content-shift: 144px;\n }\n .article-page-hero .content-wrapper {\n background-color: rgb(var(--theme-color-white, 255 255 255));\n grid-column: 2/14;\n }\n .article-page-hero jb-breadcrumbs,\n .article-page-hero h1,\n .article-page-hero p,\n .article-page-hero .link-container,\n .article-page-hero hr {\n grid-column: 2/12;\n }\n .article-page-hero p.next-to-columns-1 {\n grid-column: 2/7;\n }\n .article-page-hero .columns-1 {\n grid-column: 7/12;\n }\n .article-page-hero .columns-2 {\n margin-block-start: calc(var(--_grid-gap) - var(--spacing-s));\n }\n}\n@media (min-width: 1281px) {\n .article-page-hero {\n --_content-shift: 216px;\n --_row-gap: var(--spacing-m);\n }\n .article-page-hero h1,\n .article-page-hero p {\n margin-block-start: var(--spacing-lm);\n }\n .article-page-hero p {\n font-size: var(--theme-typo-h3-desktop-fontsize, 1.625rem);\n line-height: var(--theme-typo-h3-desktop-lineheight, 2.25rem);\n }\n .article-page-hero p.next-to-columns-1 {\n grid-column: 2/8;\n }\n .article-page-hero .link-container {\n margin-block-start: calc(var(--spacing-lm) - var(--spacing-s));\n }\n .article-page-hero .columns-1 {\n grid-column: 8/12;\n }\n .article-page-hero p.next-to-columns-2 {\n grid-column: 2/5;\n }\n .article-page-hero .columns-2 {\n grid-column: 5/12;\n }\n}\n@media (min-width: 1437px) {\n .article-page-hero {\n --_content-shift: 248px;\n }\n .article-page-hero p.next-to-columns-2 {\n grid-column: 2/6;\n margin-block-start: var(--_grid-gap);\n }\n .article-page-hero .columns-2 {\n grid-column: 6/12;\n margin-block-start: calc(var(--_grid-gap) - var(--spacing-s));\n }\n}`;\n\n// src/components/jb-page-hero/jb-page-hero.ts\nvar JbPageHero = class extends h {\n constructor() {\n super(...arguments);\n this.type = \"simple\";\n this._maxLinksTotal = 10;\n }\n update(_changedProperties) {\n if (this.type === \"with-big-image\" || this.type === \"article-page-hero\") {\n this._maxLinksTotal = 9;\n }\n if (_changedProperties.has(\"links\") && this.links.length > this._maxLinksTotal) {\n this.links = this.links.slice(0, this._maxLinksTotal);\n }\n super.update(_changedProperties);\n }\n _getColumnCount() {\n if (this.links?.length <= 3 && this.type === \"with-big-image\") {\n return this.links?.length;\n }\n if (this.links?.length > 3 && this.type === \"with-big-image\") {\n return 3;\n }\n if (this.links?.length < 4) {\n return 1;\n }\n return 2;\n }\n render() {\n return ke`\n \n ${this.image ? ke` ` : D}\n\n
    \n ${this.breadcrumbs ? ke` \n ${this.breadcrumbs?.backlink && ke``}\n ${this.breadcrumbs.items?.map(\n (breadcrumb) => ke``\n )}\n ` : D}\n ${this.type === \"with-big-image\" ? ke`\n
    \n
    \n

    ${this.headline}

    \n

    ${this.text}

    \n
    \n
    \n ` : ke`\n
    \n

    ${this.headline}

    \n 0\n })}\"\n >\n ${this.text}\n

    \n
    \n `}\n ${this.links?.length > 0 ? ke`\n \n ${this.links ? this.links.map(\n (item) => ke`\n \n `\n ) : D}\n
    \n ` : D}\n\n
    \n \n \n `;\n }\n};\nJbPageHero.styles = r(jb_page_hero_default);\n__decorateClass([\n n({ type: Object })\n], JbPageHero.prototype, \"breadcrumbs\", 2);\n__decorateClass([\n n()\n], JbPageHero.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbPageHero.prototype, \"image\", 2);\n__decorateClass([\n n({ type: Array })\n], JbPageHero.prototype, \"links\", 2);\n__decorateClass([\n n()\n], JbPageHero.prototype, \"text\", 2);\n__decorateClass([\n n()\n], JbPageHero.prototype, \"type\", 2);\nJbPageHero = __decorateClass([\n customElement(\"jb-page-hero\")\n], JbPageHero);\n\nexport {\n JbPageHero\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-news-page-hero/jb-news-page-hero.scss?inline\nvar jb_news_page_hero_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.intro-section ul .languages-label, h5 {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\n.intro-section jb-date, .intro, h1 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh1 {\n font-size: var(--theme-typo-h1-mobile-fontsize, 2.125rem);\n line-height: var(--theme-typo-h1-mobile-lineheight, 2.75rem);\n}\n@media (min-width: 1281px) {\n h1 {\n font-size: var(--theme-typo-h1-desktop-fontsize, 3.125rem);\n line-height: var(--theme-typo-h1-desktop-lineheight, 4.375rem);\n }\n}\n\nh5 {\n font-size: var(--theme-typo-p-highlight-mobile-fontsize, 1.063rem);\n line-height: var(--theme-typo-p-highlight-mobile-lineheight, 1.875rem);\n}\n@media (min-width: 1281px) {\n h5 {\n font-size: var(--theme-typo-p-highlight-desktop-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-highlight-desktop-lineheight, 2.125rem);\n }\n}\n\n.intro {\n font-size: var(--theme-typo-p-big-mobile-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-big-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n .intro {\n font-size: var(--theme-typo-p-big-desktop-fontsize, 1.375rem);\n line-height: var(--theme-typo-p-big-desktop-lineheight, 2.125rem);\n }\n}\n\n.intro-section jb-date {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--text-opacity, var(--theme-opacity-80, 0.8)));\n font-size: 1rem;\n line-height: 1.625rem;\n}\n\n.intro-section ul .languages-label {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.063rem;\n line-height: 1rem;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n@media (min-width: 1281px) {\n :host {\n padding: 36px 0 20px;\n }\n}\n\n.title {\n --text-opacity: 1;\n}\n\n.intro-section {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n padding: 0 0 24px;\n}\n@media (min-width: 960px) {\n .intro-section {\n padding: 0 0 37px;\n }\n}\n.intro-section jb-date {\n --rgb-primary: 20, 30, 85;\n --text-opacity: 0.4;\n text-transform: uppercase;\n}\n.intro-section ul {\n align-items: center;\n display: flex;\n list-style-type: none;\n}\n.intro-section ul .languages-label {\n color: rgba(20, 30, 85, var(--theme-opacity-40, 0.4));\n display: none;\n padding-right: 15px;\n text-transform: uppercase;\n}\n@media (min-width: 1281px) {\n .intro-section ul .languages-label {\n display: block;\n }\n}\n.intro-section ul jb-language-item {\n padding: 0 15px;\n padding: 0 0.9375rem;\n --text-opacity: 1;\n position: relative;\n}\n.intro-section ul jb-language-item:hover {\n --text-opacity: 0.4;\n}\n.intro-section ul jb-language-item::after {\n width: 3px;\n width: 0.1875rem;\n height: 3px;\n height: 0.1875rem;\n right: -2px;\n right: -0.125rem;\n background-color: #141e55;\n border-radius: 100%;\n content: \"\";\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n}\n.intro-section ul jb-language-item:first-of-type {\n padding-left: 0;\n}\n.intro-section ul jb-language-item:last-of-type {\n padding-right: 0;\n}\n.intro-section ul jb-language-item:last-of-type::after {\n display: none;\n}\n\njb-breadcrumbs {\n display: block;\n margin-bottom: 26px;\n text-align: center;\n line-height: 36px;\n line-height: 2.25rem;\n}\n@media (min-width: 600px) {\n jb-breadcrumbs {\n text-align: left;\n }\n}\n@media (min-width: 960px) {\n jb-breadcrumbs {\n margin-bottom: 40px;\n }\n}\n\n.toolbar {\n align-items: start;\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n margin-bottom: 24px;\n position: relative;\n width: 100%;\n}\n.toolbar jb-article-share-bar {\n margin-left: auto;\n}\n@media (min-width: 960px) {\n .toolbar {\n margin-bottom: 32px;\n }\n}\n\nh1 {\n margin-bottom: 20px;\n}\n\n.intro {\n margin-bottom: 32px;\n}`;\n\n// src/components/jb-news-page-hero/jb-news-page-hero.ts\nvar JbNewsPageHero = class extends Spaceable(h) {\n _getContentSpacingProperties() {\n return { type: \"no-vertical-space\" };\n }\n render() {\n return ke`
    \n ${this.breadcrumbs && ke`\n \n ${this.breadcrumbs.backlink && ke``}\n ${this.breadcrumbs.items?.map(\n (breadcrumb) => ke``\n )}\n \n `}\n
    \n
    \n \n ${this.languages?.length && ke`
      \n
    • ${this.languagesLabel}:
    • \n ${this.languages?.map(\n (language) => ke``\n )}\n
    `}\n
    \n
    \n
    \n ${this.subline && ke`
    ${this.subline}
    `}\n

    ${this.headline}

    \n
    \n ${this.shareBarLabel && ke`
    \n ${this.mailSubject && this.shareBarLabel && this.sharingUrl && ke`\n \n `}\n
    `}\n
    ${this.intro}
    \n \n \n
    `;\n }\n};\nJbNewsPageHero.styles = r(jb_news_page_hero_default);\n__decorateClass([\n n({ type: Object })\n], JbNewsPageHero.prototype, \"breadcrumbs\", 2);\n__decorateClass([\n n()\n], JbNewsPageHero.prototype, \"date\", 2);\n__decorateClass([\n n()\n], JbNewsPageHero.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbNewsPageHero.prototype, \"intro\", 2);\n__decorateClass([\n n({ type: Array })\n], JbNewsPageHero.prototype, \"languages\", 2);\n__decorateClass([\n n()\n], JbNewsPageHero.prototype, \"languagesLabel\", 2);\n__decorateClass([\n n()\n], JbNewsPageHero.prototype, \"mailSubject\", 2);\n__decorateClass([\n n()\n], JbNewsPageHero.prototype, \"shareBarLabel\", 2);\n__decorateClass([\n n()\n], JbNewsPageHero.prototype, \"sharingUrl\", 2);\n__decorateClass([\n n()\n], JbNewsPageHero.prototype, \"subline\", 2);\nJbNewsPageHero = __decorateClass([\n customElement(\"jb-news-page-hero\")\n], JbNewsPageHero);\n\nexport {\n JbNewsPageHero\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n Stackable\n} from \"./chunk.A4SFXC3I.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-popup/jb-popup.scss?inline\nvar jb_popup_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nsection {\n background-color: rgba(0, 0, 0, 0.4);\n inset: 0;\n overflow-y: auto;\n padding: 30px 0;\n position: fixed;\n}\nsection::-webkit-scrollbar {\n background-color: #141e55;\n width: 5px;\n}\nsection::-webkit-scrollbar-track {\n background-clip: content-box;\n background-color: #f1f2f2;\n}\nsection::-webkit-scrollbar-thumb {\n background-color: #141e55;\n border-radius: 4px;\n width: 180px;\n}\n@media (min-width: 1281px) {\n section {\n align-items: center;\n display: flex;\n padding: 0;\n }\n}\nsection.animates {\n opacity: 0;\n transition: opacity 400ms ease-in;\n}\nsection.animates .slot-container-inner {\n transform: scale(0.9);\n transition: transform 400ms ease-in;\n}\nsection.animates.visible {\n opacity: 1;\n transition-timing-function: ease-out;\n}\nsection.animates.visible .slot-container-inner {\n transform: scale(1);\n transition-timing-function: ease-out;\n}\n\n.container {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: calc(100% - 2 * var(--row-small-margin, 6.68%));\n justify-content: center;\n position: relative;\n}\n@media (min-width: 600px) and (max-width: 959px) {\n .container {\n width: calc(100% - 2 * 8.35%);\n }\n}\n@media (min-width: 1437px) {\n .container {\n max-width: var(--row-max-width, 1436px);\n }\n .container:not(.filtered-list) {\n width: 100%;\n }\n}\n@media only screen and (min-width: 960px) and (max-width: 1436px) {\n .container {\n margin: 0 6.955%;\n max-width: calc(100% - 6.955% - 6.955%);\n }\n}\n\n.slot-container-col {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 20px;\n width: 100%;\n padding: 0;\n}\n@media (min-width: 1281px) {\n .slot-container-col {\n box-sizing: border-box;\n flex-basis: 83.3333333333%;\n max-width: 83.3333333333%;\n padding: 0 20px;\n width: 83.3333333333%;\n }\n}\n\n.slot-container-outer {\n transition: height 800ms ease;\n}\n\n.slot-container-inner {\n opacity: 1;\n transition: opacity 400ms ease;\n}\n\n.transition-helper-container {\n box-sizing: border-box;\n flex-basis: 83.3333333333%;\n max-width: 83.3333333333%;\n padding: 0 0;\n width: 83.3333333333%;\n opacity: 0;\n position: absolute;\n top: 0;\n}`;\n\n// src/components/jb-popup/jb-popup.ts\nvar JbPopup = class extends Initiable(Stackable(h)) {\n constructor() {\n super(...arguments);\n this._internalStack = [];\n }\n firstUpdated() {\n if (this.animates && this._introPromiseResolve) {\n window.setTimeout(() => {\n this._background.classList.add(\"visible\");\n this._background.addEventListener(\"transitionend\", this._introPromiseResolve, { once: true });\n }, 10);\n }\n window.setTimeout(() => {\n this._slotContainerOuter.style.height = `${this._slotContainerOuter.getBoundingClientRect().height}px`;\n }, 0);\n }\n async intro() {\n if (!this.animates) {\n return void 0;\n }\n return new Promise((resolve) => {\n this._introPromiseResolve = resolve;\n });\n }\n async outro() {\n if (!this.animates) {\n return void 0;\n }\n return new Promise((resolve) => {\n this._background.classList.remove(\"visible\");\n this._background.addEventListener(\"transitionend\", resolve, { once: true });\n });\n }\n transitionBack() {\n const previousChild = this._internalStack.pop();\n if (!previousChild) {\n this.unstack();\n return;\n }\n const currentChildElement = this._slot?.assignedElements()[0];\n if (!currentChildElement) {\n return;\n }\n this._transitionChildFromTo(currentChildElement, previousChild);\n }\n transitionTo(nextChildElement) {\n const currentChildElement = this._slot?.assignedElements()[0];\n if (!currentChildElement) {\n return;\n }\n this._internalStack.push(currentChildElement);\n this._transitionChildFromTo(currentChildElement, nextChildElement).then(() => {\n });\n }\n unstacked() {\n this.remove();\n }\n _handlePopupBackgroundClick(event) {\n if (this.preventCloseByBackgroundClick) {\n return;\n }\n if (event.target === this._background || event.target === this._container) {\n this.unstack();\n }\n }\n _handleTransitionEvent(event) {\n this.transitionTo(event.detail.nextChild);\n }\n async _transitionChildFromTo(fromElement, toElement) {\n fromElement.style.setProperty(\"--background-color\", \"transparent\");\n toElement.style.setProperty(\"--background-color\", \"transparent\");\n this._slotContainerOuter.style.backgroundColor = \"rgb(20, 30, 85)\";\n toElement.setAttribute(\"slot\", \"transition-helper\");\n await this.appendChild(toElement);\n window.setTimeout(() => {\n this._slotContainerInner.addEventListener(\n \"transitionend\",\n () => {\n this._slotContainerInner.addEventListener(\n \"transitionend\",\n () => {\n window.setTimeout(() => {\n fromElement.style.setProperty(\"--background-color\", \"unset\");\n toElement.style.setProperty(\"--background-color\", \"unset\");\n this._slotContainerOuter.style.backgroundColor = \"transparent\";\n }, 500);\n },\n { once: true }\n );\n this._slotContainerInner.style.opacity = \"1\";\n this.removeChild(fromElement);\n toElement.removeAttribute(\"slot\");\n this._slotContainerOuter.style.height = `${toElement.getBoundingClientRect().height}px`;\n },\n { once: true }\n );\n this._slotContainerOuter.style.height = `${toElement.getBoundingClientRect().height}px`;\n this._slotContainerInner.style.opacity = \"0\";\n }, 0);\n }\n render() {\n return ke`\n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n `;\n }\n};\nJbPopup.styles = r(jb_popup_default);\n__decorateClass([\n n({ type: Boolean })\n], JbPopup.prototype, \"animates\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbPopup.prototype, \"preventCloseByBackgroundClick\", 2);\n__decorateClass([\n e(\"section\")\n], JbPopup.prototype, \"_background\", 2);\n__decorateClass([\n e(\".container\")\n], JbPopup.prototype, \"_container\", 2);\n__decorateClass([\n e(\"slot\")\n], JbPopup.prototype, \"_slot\", 2);\n__decorateClass([\n e(\".slot-container-inner\")\n], JbPopup.prototype, \"_slotContainerInner\", 2);\n__decorateClass([\n e(\".slot-container-outer\")\n], JbPopup.prototype, \"_slotContainerOuter\", 2);\n__decorateClass([\n e('slot[name=\"transition-helper\"]')\n], JbPopup.prototype, \"_transitionHelperSlot\", 2);\nJbPopup = __decorateClass([\n customElement(\"jb-popup\")\n], JbPopup);\n\nexport {\n JbPopup\n};\n", "import {\n JbPopup\n} from \"./chunk.PO4WO7D2.js\";\nimport {\n ae\n} from \"./chunk.Q25FCJRM.js\";\nimport {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n JBCookie\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-newsletter-registration-form/jb-newsletter-registration-form.scss?inline\nvar jb_newsletter_registration_form_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.form-error,\n.form-success {\n font-family: var(--theme-font-regular-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-regular-weight, 400);\n}\n\n.sticky h4, h4 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh4 {\n font-size: var(--theme-typo-h2-subtitle-mobile-fontsize, 1.625rem);\n line-height: var(--theme-typo-h2-subtitle-mobile-lineheight, 2.188rem);\n}\n@media (min-width: 1281px) {\n h4 {\n font-size: var(--theme-typo-h2-subtitle-desktop-fontsize, 1.938rem);\n line-height: var(--theme-typo-h2-subtitle-desktop-lineheight, 2.625rem);\n }\n}\n\n.sticky h4 {\n font-size: var(--theme-typo-p-mobile-fontsize, 1.063rem);\n line-height: var(--theme-typo-p-mobile-lineheight, 1.875rem);\n}\n@media (min-width: 1281px) {\n .sticky h4 {\n font-size: var(--theme-typo-p-desktop-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-desktop-lineheight, 2.125rem);\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n.sticky {\n --_max-width: calc(100% - (2 * 6.68%));\n display: grid;\n grid-template-columns: [full-start] minmax(0, 1fr) [main-start] minmax(0, var(--theme-grid-max-width, var(--_max-width))) [main-end] minmax(0, 1fr) [full-end];\n margin-inline: auto;\n}\n@media (min-width: 600px) {\n .sticky {\n --_max-width: calc(100% - (2 * 8.35%));\n }\n}\n@media (min-width: 960px) {\n .sticky {\n --_max-width: calc(100% - (2 * 6.955%));\n }\n}\n@media (min-width: 1437px) {\n .sticky {\n --_max-width: 1437px;\n }\n}\n\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n transition: 0.5s all;\n width: 100%;\n}\n\njb-form {\n --slotted-margin-block-start: 0;\n}\n\n.form-errors {\n display: grid;\n grid-column: 3/9;\n}\n\n.form-error,\n.form-success {\n align-items: center;\n color: rgb(var(--rgb-primary, 20, 30, 85));\n display: flex;\n gap: 30px;\n padding: 30px;\n position: relative;\n transition: opacity 1s ease-in 0s, visibility 1s ease-in 0s;\n}\n\n.is-muted {\n opacity: var(--theme-opacity-70, 0.7);\n}\n\n.is-hidden {\n height: 0;\n opacity: 0;\n padding: 0;\n visibility: collapse;\n}\n\n@media (min-width: 960px) {\n .newsletter-registration-form:not(.sticky) .form-container {\n display: grid;\n grid-template-columns: repeat(10, 1fr);\n }\n .newsletter-registration-form:not(.sticky) .content-container {\n grid-column: 1/11;\n }\n .newsletter-registration-form:not(.sticky) jb-form {\n grid-column: 2/10;\n }\n .newsletter-registration-form:not(.sticky) jb-form > jb-text-field {\n grid-column: 1/2;\n }\n .newsletter-registration-form:not(.sticky) jb-form > jb-button-primary {\n align-self: center;\n grid-column: 2/3;\n grid-row: 1;\n margin-top: 0;\n }\n .newsletter-registration-form:not(.sticky) jb-form > jb-checkbox {\n grid-column: 1/3;\n }\n}\njb-form > * {\n grid-column: 1/3;\n}\n\nh4 {\n display: block;\n grid-column: 1/11;\n margin-bottom: var(--spacing-sm);\n position: relative;\n text-align: center;\n}\n\njb-section-headline {\n grid-column: 1/11;\n margin-block-end: var(--spacing-2xs);\n}\n@media (min-width: 960px) {\n jb-section-headline {\n margin-block-end: var(--spacing-3xs);\n }\n}\n\n@media (min-width: 1281px) {\n .default h4 {\n font-family: VerlagSSm, Tahoma, sans-serif;\n font-size: 2.813rem;\n font-style: normal;\n font-weight: 200;\n line-height: 3.875rem;\n }\n}\n.sticky {\n bottom: 0;\n position: fixed;\n transform: translateY(100%);\n transition: transform 0.3s ease-in-out;\n width: 100%;\n}\n.sticky .form-wrapper {\n grid-column: main;\n}\n@media (min-width: 1281px) {\n .sticky .form-wrapper {\n display: grid;\n grid-template-columns: repeat(12, 1fr);\n }\n}\n.sticky .form-container {\n --_text-translate: 13px;\n background-color: #141e55;\n box-shadow: 0, 0, 0, 0.2 20px -20px 68px;\n column-gap: var(--spacing-l);\n padding: var(--spacing-s);\n position: relative;\n transition: padding-block-end 0.3s ease-in-out;\n --form-flex-gap: var(--spacing-sm);\n}\n@media (min-width: 1281px) {\n .sticky .form-container {\n display: grid;\n grid-column: 2/12;\n grid-template-columns: subgrid;\n padding: var(--spacing-l) var(--spacing-xl);\n row-gap: var(--spacing-sm);\n --form-flex-gap: var(--spacing-sm);\n }\n .sticky .form-container .content-container {\n grid-column: 1/5;\n padding-inline-start: calc(var(--spacing-xl) - var(--spacing-s));\n }\n .sticky .form-container jb-form {\n grid-column: 5/10;\n transform: translateY(calc(-1 * var(--_text-translate)));\n }\n .sticky .form-container jb-button-primary {\n width: min-content;\n }\n}\n.sticky .form-errors {\n display: grid;\n grid-column: 5/10;\n}\n.sticky jb-section-headline {\n --headline-text-align: left;\n --host-color: #fff;\n margin-block-end: var(--spacing-3xs);\n}\n.sticky jb-checkbox {\n opacity: 0;\n transition: opacity 0.3s ease-in-out;\n}\n.sticky h4 {\n color: #fff;\n max-height: 0;\n opacity: 0;\n overflow: hidden;\n text-align: left;\n transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;\n}\n.sticky.show {\n transform: translateY(var(--_scrolloutheight));\n}\n.sticky.expanded {\n transform: translateY(0);\n}\n.sticky.expanded .form-container {\n padding-block-end: calc(var(--spacing-l) - var(--_text-translate));\n}\n.sticky.expanded h4 {\n max-height: 50vh;\n opacity: 1;\n}\n.sticky.expanded jb-checkbox {\n opacity: 1;\n}\n.sticky jb-close-icon {\n right: var(--spacing-s);\n top: var(--spacing-s);\n}\n@media (min-width: 1281px) {\n .sticky jb-close-icon {\n right: var(--spacing-xl);\n top: var(--spacing-l);\n }\n}\n\n.popup {\n display: none;\n}\n.popup .form-container {\n box-shadow: 20px -20px 68px rgba(0, 0, 0, 0.2);\n column-gap: var(--spacing-l);\n padding-block: calc(var(--spacing-sm) + 26px + var(--spacing-xs)) var(--spacing-2xl);\n padding-inline: var(--spacing-s);\n --form-flex-gap: var(--spacing-sm);\n}\n@media (min-width: 960px) {\n .popup .form-container {\n --form-flex-gap: 20px;\n }\n}\n.popup jb-close-icon {\n right: var(--spacing-s);\n top: var(--spacing-sm);\n}\n.popup h4 {\n color: #fff;\n}\n@media (min-width: 960px) {\n .popup jb-section-headline {\n margin-bottom: var(--spacing-s);\n }\n .popup .content-container {\n grid-column: 2/10;\n }\n .popup .form-container {\n padding-block: var(--spacing-2xl);\n padding-inline: 0;\n }\n}\n@media (min-width: 1281px) {\n .popup {\n margin-inline: -20px;\n }\n .popup jb-close-icon {\n right: var(--spacing-l);\n top: var(--spacing-2xl);\n }\n}\n\n.popup,\n.sticky {\n z-index: 111;\n --host-color: #fff;\n}\n.popup jb-section-headline,\n.sticky jb-section-headline {\n margin-block-end: var(--spacing-3xs);\n}\n.popup jb-text-field,\n.sticky jb-text-field {\n --rgb-primary: 255, 255, 255;\n --background-color: transparent;\n --border-opacity: 0.7;\n}\n.popup jb-checkbox,\n.sticky jb-checkbox {\n --rgb-primary: 255, 255, 255;\n --border-opacity: 0.7;\n --text-opacity: 1;\n}\n.popup jb-close-icon,\n.sticky jb-close-icon {\n --rgb-primary: 255, 255, 255;\n --icon-size: 26px;\n position: absolute;\n}\n@media (min-width: 1281px) {\n .popup jb-close-icon,\n .sticky jb-close-icon {\n --icon-size: 30px;\n z-index: 1;\n }\n}\n.popup .form-container,\n.sticky .form-container {\n background-color: #141e55;\n position: relative;\n}\n.popup jb-richtext,\n.sticky jb-richtext {\n color: white;\n --rgb-primary: 255, 255, 255;\n}\n\n@media print {\n :host {\n display: none;\n }\n}`;\n\n// src/components/jb-newsletter-registration-form/jb-newsletter-registration-form.ts\nvar stickyCookieName = \"jbNlReg\";\nvar stickyWaitTime = 20 * 1e3;\nvar JbNewsletterRegistrationForm = class extends Spaceable(h) {\n constructor() {\n super(...arguments);\n this.forceInstantly = false;\n this.formAction = \"\";\n this.headline = \"\";\n this.subline = \"\";\n this.successText = \"\";\n this.type = \"default\";\n this._formOpenTrackedSticky = false;\n this._formSent = false;\n this._formValid = false;\n }\n firstUpdated() {\n if (this.type === \"sticky\") {\n this._inputField.addEventListener(\"focusin\", () => {\n this._expandStickyContainer();\n });\n setTimeout(() => {\n const newsletterRegistrationCookieValue = JBCookie.getCookie(stickyCookieName);\n if (newsletterRegistrationCookieValue) {\n return;\n }\n const agreementText = this.renderRoot.querySelector(\"jb-richtext.agreementText\");\n const checkbox = this.renderRoot.querySelector(\"jb-checkbox\");\n const button = this.renderRoot.querySelector(\"jb-button-primary\");\n let paddingAdjustment = window.matchMedia(\"(min-width: 367px)\").matches ? 38 : 58;\n paddingAdjustment = window.matchMedia(\"(min-width: 1281px)\").matches ? 61 : paddingAdjustment;\n this._unexpandListener = this._unexpand.bind(this);\n document.addEventListener(\"click\", this._unexpandListener);\n this.style.setProperty(\n \"--_scrolloutheight\",\n `${(checkbox ? checkbox.offsetHeight : 0) + (agreementText ? agreementText.offsetHeight : 0) + button.offsetHeight + paddingAdjustment}px`\n );\n this._formWrapper.classList.add(\"show\");\n }, stickyWaitTime);\n }\n this.addEventListener(\"jb-tracking\", (e2) => {\n const customEvent = e2;\n if (customEvent.detail?.event === \"ce_form\") {\n customEvent.detail.component_name = this.type === \"sticky\" ? \"newsletter-registration-form\" : \"article-tool-bar\";\n customEvent.detail.form_subject = \"newsletter\";\n }\n if (customEvent.detail?.event === \"ce_form\" && customEvent.detail?.form_step_name === \"form open\") {\n customEvent.stopPropagation();\n this._formOpenEvent = customEvent;\n }\n });\n }\n static open() {\n const newsletterRegistrationNode = document.querySelector(\"jb-newsletter-registration-form\");\n if (!newsletterRegistrationNode) {\n return;\n }\n const newsletterRegistrationWrapper = newsletterRegistrationNode.shadowRoot?.firstElementChild;\n newsletterRegistrationWrapper.style.display = \"block\";\n const clone = newsletterRegistrationNode.cloneNode(true);\n newsletterRegistrationNode.parentNode.appendChild(clone);\n new JbPopup().init({\n props: { animates: true },\n childNodes: [newsletterRegistrationNode]\n }).stack();\n document.body.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_form\",\n event_version: \"v2\",\n component_name: \"article-tool-bar\",\n form_step_name: \"form open\",\n form_step_nr: \"1\",\n form_subject: \"newsletter registration\",\n form_type: \"newsletter\"\n },\n bubbles: true,\n composed: true\n })\n );\n }\n _captureTracking(evt) {\n evt.stopPropagation();\n if (this.type === \"default\") {\n this._trackFormOpen(\"newsletter-registration-form\");\n }\n }\n _expandStickyContainer() {\n this._formWrapper.classList.add(\"expanded\");\n if (!this._formOpenTrackedSticky) {\n this._trackFormOpen(\"sticky-newsletter\");\n this._formOpenTrackedSticky = true;\n }\n }\n _getContentSpacingProperties() {\n return { colsMdUp: 10, grid: true };\n }\n _handleCloseIconClick() {\n if (this.type === \"sticky\") {\n this._formWrapper.classList.remove(\"show\");\n this._formWrapper.classList.remove(\"expanded\");\n JBCookie.setCookie(stickyCookieName, \"1\", 182);\n document.removeEventListener(\"click\", this._unexpandListener);\n }\n if (this.type === \"popup\") {\n document.querySelector(\"jb-popup\")?.unstack();\n }\n }\n _submit() {\n const form = this._formWrapper.querySelector(\"jb-form\");\n const slottedInputs = form.querySelectorAll(\"jb-text-field, jb-checkbox\");\n const additionalInputs = form.shadowRoot?.querySelectorAll(\"input\");\n const formData = {};\n let isValid = true;\n Array.from([...slottedInputs, ...additionalInputs || []]).forEach((element) => {\n try {\n if (element.validate) {\n isValid = element.validate() && isValid;\n }\n const name = element.getAttribute(\"name\");\n formData[name] = element.value;\n if (element.tagName === \"JB-CHECKBOX\") {\n formData[name] = element.checkbox?.checked;\n } else {\n formData[name] = element.value;\n }\n } catch (err) {\n }\n });\n this._formValid = isValid;\n if (!isValid) {\n return;\n }\n if (this.agreementFieldName in formData) {\n formData.first_party_data_processing = true;\n }\n formData.source = this.type;\n form.classList.add(\"is-muted\");\n if (this.submissionMode === \"fetch\") {\n fetch(this.formAction, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n redirect: \"follow\",\n body: JSON.stringify(formData)\n }).then((response) => {\n if (!response.ok) {\n this._formSent = true;\n this.updateComplete.then(() => {\n this._formError.classList.toggle(\"is-hidden\");\n form.classList.remove(\"is-muted\");\n });\n }\n return response.json();\n }).then((data) => {\n if (data.success === true) {\n this._formSent = true;\n this.updateComplete.then(() => {\n this._formSuccess.classList.toggle(\"is-hidden\");\n form.classList.toggle(\"is-hidden\");\n });\n }\n }).then(() => {\n setTimeout(() => {\n this._handleCloseIconClick();\n }, 3e3);\n });\n }\n }\n _trackFormOpen(componentName) {\n document.body.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_form\",\n event_version: \"v2\",\n component_name: componentName,\n form_step_name: \"form open\",\n form_step_nr: \"1\",\n form_subject: \"newsletter registration\",\n form_type: \"newsletter\"\n },\n bubbles: true,\n composed: true\n })\n );\n }\n _unexpand(evt) {\n if (evt.target.nodeName === \"JB-NEWSLETTER-REGISTRATION-FORM\" || !this._formWrapper.classList.contains(\"expanded\"))\n return;\n this._formWrapper.classList.remove(\"expanded\");\n }\n render() {\n return ke`\n
    \n
    \n
    \n
    \n ${this.headline ? ke`` : D}\n ${this.subline ? ke`

    ${this.subline}

    ` : D}\n
    \n ${this.type === \"sticky\" || this.type === \"popup\" ? ke`` : D}\n ${!this._formSent ? ke` {\n if (this.formAction !== \"\") {\n e2.detail.preventDefault();\n }\n }}\n @jb-tracking=${this._captureTracking}\n >\n \n \n ${ke`\n \n \n `}\n ${this.subscribeBtn.text}\n ` : ke`
    \n
    \n ${ae(this.errorText)}\n
    \n
    \n ${ae(this.successText)}\n
    \n
    `}\n
    \n
    \n
    \n `;\n }\n};\nJbNewsletterRegistrationForm.styles = r(jb_newsletter_registration_form_default);\n__decorateClass([\n n()\n], JbNewsletterRegistrationForm.prototype, \"afterCheckboxText\", 2);\n__decorateClass([\n n()\n], JbNewsletterRegistrationForm.prototype, \"agreement\", 2);\n__decorateClass([\n n()\n], JbNewsletterRegistrationForm.prototype, \"agreementFieldName\", 2);\n__decorateClass([\n n()\n], JbNewsletterRegistrationForm.prototype, \"agreementRequiredText\", 2);\n__decorateClass([\n n()\n], JbNewsletterRegistrationForm.prototype, \"beforeCheckboxText\", 2);\n__decorateClass([\n n({ type: Object })\n], JbNewsletterRegistrationForm.prototype, \"emailFieldData\", 2);\n__decorateClass([\n n()\n], JbNewsletterRegistrationForm.prototype, \"errorText\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbNewsletterRegistrationForm.prototype, \"forceInstantly\", 2);\n__decorateClass([\n n()\n], JbNewsletterRegistrationForm.prototype, \"formAction\", 2);\n__decorateClass([\n n({ type: Object })\n], JbNewsletterRegistrationForm.prototype, \"formAdditionalData\", 2);\n__decorateClass([\n n()\n], JbNewsletterRegistrationForm.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbNewsletterRegistrationForm.prototype, \"subline\", 2);\n__decorateClass([\n n()\n], JbNewsletterRegistrationForm.prototype, \"submissionMode\", 2);\n__decorateClass([\n n({ type: Object })\n], JbNewsletterRegistrationForm.prototype, \"subscribeBtn\", 2);\n__decorateClass([\n n()\n], JbNewsletterRegistrationForm.prototype, \"successText\", 2);\n__decorateClass([\n n()\n], JbNewsletterRegistrationForm.prototype, \"type\", 2);\n__decorateClass([\n e(\".form-error\")\n], JbNewsletterRegistrationForm.prototype, \"_formError\", 2);\n__decorateClass([\n r2()\n], JbNewsletterRegistrationForm.prototype, \"_formSent\", 2);\n__decorateClass([\n e(\".form-success\")\n], JbNewsletterRegistrationForm.prototype, \"_formSuccess\", 2);\n__decorateClass([\n e(\".newsletter-registration-form\")\n], JbNewsletterRegistrationForm.prototype, \"_formWrapper\", 2);\n__decorateClass([\n e(\"jb-text-field\")\n], JbNewsletterRegistrationForm.prototype, \"_inputField\", 2);\nJbNewsletterRegistrationForm = __decorateClass([\n customElement(\"jb-newsletter-registration-form\")\n], JbNewsletterRegistrationForm);\ndocument.addEventListener(\"jbNewsletterOverlayPopupOpen\", JbNewsletterRegistrationForm.open);\n\nexport {\n JbNewsletterRegistrationForm\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n Animatable\n} from \"./chunk.VRR2P3PQ.js\";\nimport {\n applyStyles\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-multi-form/jb-multi-form.scss?inline\nvar jb_multi_form_default = i`jb-multi-form {\n /* stylelint-disable */\n /* COLOR SETTINGS */\n /* shadows */\n /* special measurements */\n /* stylelint-disable */\n /* stylelint-enable */\n /* special measurements */\n /* stylelint-enable */\n display: block;\n}\njb-multi-form *,\njb-multi-form *::before,\njb-multi-form *::after {\n box-sizing: border-box;\n}\njb-multi-form div,\njb-multi-form object,\njb-multi-form iframe,\njb-multi-form h1,\njb-multi-form h2,\njb-multi-form h3,\njb-multi-form h4,\njb-multi-form h5,\njb-multi-form h6,\njb-multi-form p,\njb-multi-form blockquote,\njb-multi-form ol,\njb-multi-form ul,\njb-multi-form li,\njb-multi-form form,\njb-multi-form legend,\njb-multi-form label,\njb-multi-form table,\njb-multi-form header,\njb-multi-form footer,\njb-multi-form nav,\njb-multi-form section,\njb-multi-form figure {\n margin: 0;\n padding: 0;\n}\njb-multi-form a {\n color: inherit;\n}\njb-multi-form :host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n@media screen and (width >= 1281px) {\n jb-multi-form :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\njb-multi-form h3 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\njb-multi-form h3 {\n font-size: var(--theme-typo-h3-mobile-fontsize, 1.375rem);\n line-height: var(--theme-typo-h3-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n jb-multi-form h3 {\n font-size: var(--theme-typo-h3-desktop-fontsize, 1.625rem);\n line-height: var(--theme-typo-h3-desktop-lineheight, 2.25rem);\n }\n}\njb-multi-form :host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n@media screen and (width >= 1281px) {\n jb-multi-form :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\njb-multi-form :host {\n color: var(--host-color, #141e55);\n}\njb-multi-form .wrapper {\n margin-block-end: var(--spacing-xs);\n position: relative;\n z-index: 2;\n}\njb-multi-form jb-form {\n opacity: 1;\n position: relative;\n transition: opacity 0.3s ease-in-out;\n z-index: 1;\n}\njb-multi-form jb-form.paused {\n opacity: 0.4;\n pointer-events: none;\n}\njb-multi-form h3 {\n margin-block-end: var(--spacing-xs);\n}`;\n\n// src/components/jb-multi-form/jb-multi-form.ts\nvar JbMultiForm = class extends Spaceable(Animatable(h)) {\n constructor() {\n super(...arguments);\n this.formsToDisplay = [];\n this._formOptions = [];\n }\n connectedCallback() {\n super.connectedCallback();\n applyStyles(this, jb_multi_form_default);\n this._formOptions = [\n ...this.formsToDisplay.map((form) => ({\n label: form.formTitle,\n value: form.formIdentifier\n }))\n ];\n const initialIdentifier = this.preselectedFormIdentifier ?? this.formsToDisplay[0].formIdentifier;\n if (this.preselectedForm) {\n this._currentFormProperties = this.preselectedForm;\n } else {\n this._currentFormProperties = this.formsToDisplay.find((i2) => i2.formIdentifier === initialIdentifier).form;\n }\n this.contentDuration = 150;\n this.contentStagger = 75;\n }\n createRenderRoot() {\n return this;\n }\n async firstUpdated() {\n this._trackFormChange();\n await this.updateComplete;\n const initialIdentifier = this.preselectedFormIdentifier ?? this.formsToDisplay[0].formIdentifier;\n this._select.setValue(initialIdentifier);\n if (this.promptForSelection) {\n const hiddenField = document.createElement(\"jb-text-field\");\n hiddenField.setAttribute(\"requiredText\", \"*\");\n hiddenField.setAttribute(\"type\", \"hidden\");\n await this._currentForm.updateComplete;\n this._currentForm.append(hiddenField);\n this._select.value = \"\";\n this._currentForm.addEventListener(\"jb-button:clicked\", async (e2) => {\n if (e2.detail.name === \"submit\") {\n this._validateMultiformSelector();\n }\n });\n }\n }\n _captureTracking(evt) {\n evt.stopPropagation();\n }\n _formShow(formIdentifier) {\n this._trackFormChange();\n this._currentForm.classList.add(\"paused\");\n this.contentChildren = Array.from(this._currentForm.children);\n this.animateContent(true).then(() => {\n this._currentFormProperties = this.formsToDisplay.find((i2) => i2.formIdentifier === formIdentifier).form;\n this._currentForm.classList.remove(\"paused\");\n });\n }\n _getContentSpacingProperties() {\n return { grid: \"legacy\", colsMdUp: 8, colsLgUp: 6 };\n }\n async _selectChanged() {\n if (!this._select.value) return;\n const requiredField = this._currentForm?.querySelector('[requiredtext=\"*\"]');\n if (requiredField) {\n this._currentForm?.removeChild(requiredField);\n }\n this._formShow(this._select.value);\n }\n _trackFormChange() {\n const selectRoot = this._select.shadowRoot ?? this._select;\n const selectText = selectRoot.querySelector(\"[data-ts-item]\");\n const trackingDetail = {\n event: \"ce_form\",\n event_version: \"v2\",\n component_name: \"multi-contact-form\",\n form_step_name: !selectText ? \"form open\" : \"form type select\",\n form_step_nr: !selectText ? \"1\" : \"1.5\",\n form_subject: !selectText ? \"skeleton contact form\" : selectText.innerText,\n form_type: \"contact\"\n };\n if (selectText) {\n trackingDetail.interaction_text = selectText.innerText;\n }\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: trackingDetail,\n bubbles: true,\n composed: true\n })\n );\n }\n _validateMultiformSelector() {\n const select = this.querySelector(\"jb-select\");\n if (select.validate) {\n return select.validate();\n }\n return null;\n }\n render() {\n return ke`\n
    \n

    ${this.headline}

    \n \n
    \n \n `;\n }\n};\nJbMultiForm.styles = r(jb_multi_form_default);\n__decorateClass([\n n({ type: Array })\n], JbMultiForm.prototype, \"formsToDisplay\", 2);\n__decorateClass([\n n()\n], JbMultiForm.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbMultiForm.prototype, \"label\", 2);\n__decorateClass([\n n({ type: Object })\n], JbMultiForm.prototype, \"preselectedForm\", 2);\n__decorateClass([\n n()\n], JbMultiForm.prototype, \"preselectedFormIdentifier\", 2);\n__decorateClass([\n n()\n], JbMultiForm.prototype, \"promptForSelection\", 2);\n__decorateClass([\n n()\n], JbMultiForm.prototype, \"requiredText\", 2);\n__decorateClass([\n e(\"jb-form\")\n], JbMultiForm.prototype, \"_currentForm\", 2);\n__decorateClass([\n r2()\n], JbMultiForm.prototype, \"_currentFormProperties\", 2);\n__decorateClass([\n e(\"#formSelect\")\n], JbMultiForm.prototype, \"_select\", 2);\nJbMultiForm = __decorateClass([\n customElement(\"jb-multi-form\")\n], JbMultiForm);\n\nexport {\n JbMultiForm\n};\n", "import {\n disableBodyScroll,\n enableBodyScroll\n} from \"./chunk.WDF6H473.js\";\nimport {\n JbOverlay\n} from \"./chunk.5C7B4R5Q.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n debounce,\n getEventElement,\n recenterNavItems,\n throttle\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-navigation/jb-navigation.scss?inline\nvar jb_navigation_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n position: relative;\n}\n\nnav {\n inline-size: 100%;\n min-block-size: 60px;\n position: absolute;\n text-align: start;\n transition: background-color 0.5s ease 0.2s, transform 0.4s ease-out;\n z-index: 100;\n /* Top left navigation */\n /* Icons */\n /* Market menu */\n /* Search menu */\n /* Overlay menu */\n /* E-Service overlay */\n --rgb-primary: 255, 255, 255;\n}\n@media (min-width: 960px) {\n nav {\n min-block-size: 90px;\n }\n}\n@media (min-width: 1281px) {\n nav {\n min-block-size: 100px;\n }\n}\nnav a {\n color: #141e55;\n}\nnav .inner {\n --_notch-inset: calc(max(env(safe-area-inset-left), env(safe-area-inset-right)) + 5px);\n align-items: center;\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n padding: 24px max(20px, var(--_notch-inset)) 14px;\n transition: padding 0.5s;\n}\n@media (min-width: 960px) {\n nav .inner {\n padding: 35px max(40px, var(--_notch-inset)) 22px;\n }\n}\n@media (min-width: 1281px) {\n nav .inner {\n padding: 46px max(60px, var(--_notch-inset)) 22px;\n }\n}\nnav .language-zh {\n block-size: initial !important;\n}\nnav .top-left-navigation {\n align-items: center;\n display: flex;\n z-index: 500;\n}\nnav .middle {\n display: flex;\n justify-content: center;\n padding-inline-end: var(--compensate-scrollbar, 0);\n z-index: 500;\n}\nnav .middle ::slotted(svg) {\n block-size: auto;\n}\nnav .right {\n align-items: center;\n display: flex;\n justify-content: flex-end;\n z-index: 500;\n}\n@media (min-width: 960px) {\n nav .right {\n gap: var(--spacing-2xl);\n }\n}\nnav .mobile-search-wrap {\n display: none;\n}\nnav.no-animation {\n transition: none;\n}\nnav.no-animation:not(.overlay) {\n --svg-transition: none !important;\n}\nnav.no-animation .inner {\n transition: none;\n}\nnav.region .top-left-navigation .mobile-search-wrap {\n display: none;\n}\nnav.e-service .top-left-navigation .mobile-search-wrap, nav.search .top-left-navigation .mobile-search-wrap {\n display: none;\n}\nnav.is_hidden {\n transform: translateY(-100%);\n}\nnav.fixed {\n inset-block-start: 0;\n position: fixed;\n}\n@media (min-width: 1281px) {\n nav.fixed {\n min-block-size: 108px;\n }\n}\nnav.fixed:not(.transparent) {\n background-color: #141e55;\n color: 255, 255, 255;\n --rgb-primary: 255, 255, 255;\n --logo-color: #fff;\n}\nnav.is_fixed {\n inset-block-start: 0 !important;\n position: fixed !important;\n}\nnav.transparent {\n background-color: transparent;\n}\nnav.transparent.fixed:not(.is_fixed) {\n background-color: #141e55;\n color: 255, 255, 255;\n --rgb-primary: 255, 255, 255;\n --logo-color: #fff;\n}\nnav.transparent + .placeholder {\n display: none;\n}\nnav.overlay {\n inline-size: 100%;\n position: fixed;\n transition: background-color 0.2s ease-in 0.1s;\n /* Icons */\n}\nnav.overlay .inner a {\n color: #fff;\n}\nnav.overlay nav__navigation-service-item {\n display: none;\n}\n@media (min-width: 1281px) {\n nav.overlay nav__navigation-service-item {\n display: inline-block;\n }\n nav.overlay nav__navigation-service-item:first-of-type {\n display: none;\n }\n}\nnav.overlay .mobile-search-wrap {\n display: block;\n}\n@media (min-width: 960px) {\n nav.overlay .mobile-search-wrap {\n display: none;\n }\n}\nnav.overlay-fade-out {\n transition: background-color 0.5s !important;\n}\nnav.overlay-fade-out nav__logo svg {\n --svg-transition: fill 0.1s ease 0.4s;\n}\nnav.e-service nav__mobile-search-wrap {\n display: none;\n}\nnav:not(nav.transparent, nav.overlay, nav.sticky) {\n --rgb-primary: 20, 30, 85;\n --logo-color: #001489;\n --svg-transition: all 0.1s ease 0.5s;\n}\n\njb-e-service-icon {\n --icon-display: none;\n}\n@media (min-width: 960px) {\n jb-e-service-icon {\n --icon-display: block;\n }\n}\n.overlay jb-e-service-icon {\n display: none;\n}\n\njb-search-icon {\n --display: none;\n --fill-color: rgb(var(--rgb-primary, 255, 255, 255));\n}\n@media (min-width: 960px) {\n jb-search-icon {\n --display: block;\n }\n}\n.overlay jb-search-icon {\n --display: none;\n}\n.mobile-search-wrap jb-search-icon {\n --display: block;\n}\n@media (min-width: 960px) {\n .mobile-search-wrap jb-search-icon {\n --display: none;\n }\n}\n\n.overlay-fade-out jb-burger-icon {\n --bar-transition: transform 0.2s linear, border-color 0.1s ease 0.4s;\n}\n\njb-burger-icon {\n padding-inline-end: var(--compensate-scrollbar, 0);\n}\n\n::slotted(jb-logo) {\n block-size: 22px;\n inline-size: 114px;\n}\n@media (min-width: 960px) {\n ::slotted(jb-logo) {\n block-size: 32px;\n inline-size: 164px;\n }\n}\n.overlay-fade-out ::slotted(jb-logo) {\n --svg-transition: fill 0.1s ease 0.4s;\n}\n\n::slotted(jb-service-navigation) {\n --display: none;\n}\n@media (min-width: 1281px) {\n ::slotted(jb-service-navigation) {\n --display: flex;\n }\n}\n.overlay ::slotted(jb-service-navigation) {\n --display: none;\n}\n@media (min-width: 1281px) {\n .overlay ::slotted(jb-service-navigation) {\n --display: flex;\n }\n}\n.search ::slotted(jb-service-navigation), .e-service ::slotted(jb-service-navigation), .region ::slotted(jb-service-navigation) {\n --display: none;\n}\n\n.overlay ::slotted(jb-region-indicator) {\n --display: none;\n}\n.region ::slotted(jb-region-indicator) {\n --before-height: 0;\n --after-right: 30px;\n --display: flex;\n}\n\n@media print {\n .inner {\n justify-content: center;\n }\n nav .top-left-navigation,\n nav .right {\n display: none;\n }\n}`;\n\n// src/components/jb-navigation/jb-navigation.ts\nvar JbNavigation = class extends h {\n constructor() {\n super(...arguments);\n this.isTransparent = false;\n this._animateHiding = true;\n this._fixed = false;\n this._hidden = false;\n this._isAutohiding = true;\n this._overlayOpen = null;\n this._previousScrollposition = 0;\n this._scrollDistance = 0;\n }\n connectedCallback() {\n super.connectedCallback();\n window.addEventListener(\n \"scroll\",\n debounce(() => {\n this._scrollMainNavigation();\n }, 10)\n );\n }\n async updated(_changedProperties) {\n await this.updateComplete;\n if (this._logo) {\n this._logo.isWhite = !!(this.isTransparent || this._fixed || this._overlayOpen);\n }\n if (_changedProperties.has(\"_hidden\") || _changedProperties.has(\"_fixed\")) {\n this.dispatchEvent(\n new CustomEvent(\"jb-navigation:appearance-changed\", {\n bubbles: true,\n composed: true,\n detail: {\n fixed: this._fixed,\n hidden: this._hidden\n }\n })\n );\n }\n if (this._overlayOpen) {\n disableBodyScroll(this, { allowTouchMove: () => true });\n } else {\n enableBodyScroll(this);\n }\n if (_changedProperties.has(\"_overlayOpen\")) {\n if (this._overlayOpen) {\n this.style.zIndex = (this._getHighestOverlayZIndex() + 1).toString();\n } else {\n this.style.zIndex = \"unset\";\n }\n recenterNavItems();\n this._setBurgerIconState();\n }\n }\n async firstUpdated() {\n this._serviceNavigation = document.querySelector(\"jb-service-navigation\") ?? void 0;\n this._logo = document.querySelector(\"jb-logo\") ?? void 0;\n this._placeholder = document.createElement(\"div\");\n this._navigation?.after(this._placeholder);\n this._placeholder.classList.add(\"placeholder\");\n this._placeholder.style.setProperty(\"height\", this._navigation.clientHeight + \"px\");\n this._languageDropdown = this.querySelector(\"jb-dropdown\");\n window.addEventListener(\n \"resize\",\n debounce(() => {\n this._placeholder.style.setProperty(\"height\", this._navigation.clientHeight + \"px\");\n }, 10)\n );\n document.addEventListener(\"jb-link:clicked\", (e2) => {\n e2.preventDefault();\n this._maybeOpenEServiceOverlay(e2);\n });\n document.addEventListener(\"jb-overlay:close\", () => {\n if (this._overlayOpen) this._toggleMenuOverlay();\n });\n document.addEventListener(\n \"burger-icon:clicked\",\n throttle(() => {\n this._toggleMenuOverlay();\n }, 500)\n );\n this._menuComponent = this._initMenu();\n window.setTimeout(() => {\n import(\"../components/jb-e-service-overlay/jb-e-service-overlay.js\").then();\n import(\"../components/jb-region-select-overlay/jb-region-select-overlay.js\").then();\n if (this.searchOverlay) {\n import(\"../components/jb-search-overlay/jb-search-overlay.js\").then();\n }\n }, 50);\n }\n startAutoHide() {\n this._hidden = true;\n this._isAutohiding = true;\n }\n stopAutoHide() {\n this._hidden = false;\n this._isAutohiding = false;\n }\n _checkOpenEService() {\n return this._overlayOpen === \"eService\";\n }\n _checkOpenMenu() {\n return this._overlayOpen === \"menu\";\n }\n _checkOpenRegionSelect() {\n return this._overlayOpen === \"regionSelect\";\n }\n _checkOpenSearch() {\n return this._overlayOpen === \"search\";\n }\n async _findAnimatedElement(overlay, element, contentChildren) {\n if (element && overlay) {\n await customElements.whenDefined(element);\n const animatedElement = overlay.querySelector(element);\n if (contentChildren) {\n animatedElement.contentChildren = Array.from(animatedElement.shadowRoot.querySelectorAll(contentChildren));\n }\n return animatedElement;\n }\n return null;\n }\n _fireTrackingEvent(additionalEventDetails) {\n const eventDetails = {\n event: \"ce_interaction\",\n component_name: \"header\",\n event_version: \"v2\",\n interaction_type: \"click\"\n };\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: { ...eventDetails, ...additionalEventDetails },\n bubbles: true,\n composed: true\n })\n );\n }\n _getHighestOverlayZIndex() {\n const overlays = Array.from(document.querySelectorAll(\"jb-overlay\"));\n const overlaysIndex = [];\n overlays.map((overlay) => overlaysIndex.push(overlay.zIndex()));\n return Math.max(...overlaysIndex);\n }\n async _initMenu() {\n const { JbMenu } = await import(\"../components/jb-menu/jb-menu.js\");\n return new JbMenu().init({ props: { ...this.menu } });\n }\n _initOverlay(childNode) {\n return new JbOverlay().init({\n props: { color: \"blue\", hasLogo: false, hasCloseIcon: false, newAnimation: true },\n childNodes: [childNode]\n });\n }\n async _initRegionOverlay() {\n const { JbRegionSelectOverlay } = await import(\"../components/jb-region-select-overlay/jb-region-select-overlay.js\");\n return new JbRegionSelectOverlay().init({ props: { ...this.regionSelectOverlay } });\n }\n async _initSearchOverlay() {\n const { JbSearchOverlay } = await import(\"../components/jb-search-overlay/jb-search-overlay.js\");\n return new JbSearchOverlay().init({ props: { ...this.searchOverlay } });\n }\n _maybeOpenEServiceOverlay(customEvent) {\n if (customEvent.detail.action === \"e-services\") {\n customEvent.stopPropagation();\n customEvent.detail.clickEvent.preventDefault();\n customEvent.detail.clickEvent.stopPropagation();\n this._openEServiceOverlay().then();\n }\n }\n async _openEServiceOverlay() {\n if (this.eServiceOverlay === void 0) {\n return;\n }\n const { JbEServiceOverlay } = await import(\"../components/jb-e-service-overlay/jb-e-service-overlay.js\");\n const eServiceOverlay = new JbEServiceOverlay().init({ props: { ...this.eServiceOverlay } });\n if (this._checkOpenMenu()) {\n this._overlayFront = this._initOverlay(eServiceOverlay);\n this._overlayFront.stack();\n this._findAnimatedElement(this._overlayFront, \"jb-e-service-overlay\", \"div.eservices\").then(async (element) => {\n this._overlayOpen = \"eService\";\n this._serviceNavigation.hideItems = \"all\";\n await element?.reveal?.();\n });\n } else {\n this._overlayBack = this._initOverlay(eServiceOverlay);\n this._overlayBack.stack();\n this._findAnimatedElement(this._overlayBack, \"jb-e-service-overlay\", \"div.eservices\").then(async (element) => {\n this._overlayOpen = \"eService\";\n await element?.reveal?.();\n });\n }\n }\n async _openSearchOverlay() {\n if (this._checkOpenMenu()) {\n this._overlayFront = this._initOverlay(await this._initSearchOverlay());\n this._overlayFront.stack();\n this._findAnimatedElement(this._overlayFront, \"jb-search-overlay\", \"jb-search-input\").then(async (element) => {\n this._overlayOpen = \"search\";\n this._serviceNavigation.hideItems = void 0;\n await element?.reveal?.();\n });\n } else {\n this._overlayBack = this._initOverlay(await this._initSearchOverlay());\n this._overlayBack.stack();\n this._findAnimatedElement(this._overlayBack, \"jb-search-overlay\", \"jb-search-input\").then(async (element) => {\n this._overlayOpen = \"search\";\n await element?.reveal?.();\n });\n }\n }\n _scrollMainNavigation() {\n if (this._overlayOpen || !this._isAutohiding) {\n return;\n }\n const scrollUpToggleDistance = 100;\n const minimumOffsetYtoShow = 500;\n const minimumOffsetYtoAnimate = 300;\n const { pageYOffset } = window;\n const scrollDirection = pageYOffset <= this._previousScrollposition ? \"up\" : \"down\";\n if (pageYOffset > this._navigation.offsetHeight) {\n this._fixed = true;\n this._hidden = true;\n if (this._languageDropdown) {\n this._languageDropdown.inverted = false;\n }\n } else {\n this._fixed = false;\n this._hidden = false;\n if (this._languageDropdown) {\n this._languageDropdown.inverted = true;\n }\n }\n if (scrollDirection === \"up\") {\n this._scrollDistance += window.scrollY - this._previousScrollposition;\n if (pageYOffset > minimumOffsetYtoShow && Math.abs(this._scrollDistance) > scrollUpToggleDistance) {\n this._hidden = false;\n }\n this._animateHiding = pageYOffset <= minimumOffsetYtoAnimate;\n } else {\n if (pageYOffset > this._navigation.offsetHeight) {\n this._hidden = true;\n }\n this._scrollDistance = 0;\n }\n this._previousScrollposition = pageYOffset <= 0 ? 0 : pageYOffset;\n }\n _setBurgerIconState() {\n this._burgerIcon.isOpen = !!this._overlayOpen;\n }\n async _toggleMenuOverlay() {\n if (this._overlayFront) {\n if (this._overlayOpen === \"search\") {\n await this._findAnimatedElement(this._overlayFront, \"jb-search-overlay\", \"jb-search-input\").then(\n async (element) => {\n await element?.hide?.();\n }\n );\n }\n if (this._overlayOpen === \"eService\") {\n await this._findAnimatedElement(this._overlayFront, \"jb-e-service-overlay\", \"div.eservices\").then(\n async (element) => {\n await element?.hide?.();\n }\n );\n }\n this._overlayFront.unstack();\n this._overlayFront = void 0;\n this._serviceNavigation.hideItems = \"first\";\n this._overlayOpen = \"menu\";\n return;\n }\n if (!this._overlayOpen) {\n this._overlayBack = this._initOverlay(await this._menuComponent);\n this._overlayBack.stack();\n if (this._overlayBack?.querySelector(\"jb-menu\")?.shadowRoot?.querySelector(\".active\")) {\n await this._findAnimatedElement(this._overlayBack, \"jb-menu\", \".secondary-wrapper\").then(async (element) => {\n element.contentDuration = 0;\n element.wrapperDuration = 0;\n await element?.reveal?.();\n });\n }\n await this._findAnimatedElement(\n this._overlayBack,\n \"jb-menu\",\n \".primary-wrapper jb-menu-item, .primary-wrapper jb-service-navigation\"\n ).then(async (element) => {\n this._overlayOpen = \"menu\";\n this._serviceNavigation.hideItems = \"first\";\n element.contentDuration = 300;\n element.wrapperDuration = 350;\n await element?.reveal?.();\n });\n } else {\n if (this._overlayOpen === \"search\") {\n await this._findAnimatedElement(this._overlayBack, \"jb-search-overlay\", \"jb-search-input\").then(\n async (element) => {\n await element?.hide?.();\n }\n );\n }\n if (this._overlayOpen === \"eService\") {\n await this._findAnimatedElement(this._overlayBack, \"jb-e-service-overlay\", \"div.eservices\").then(\n async (element) => {\n await element?.hide?.();\n }\n );\n }\n if (this._overlayOpen === \"menu\") {\n if (this._overlayBack?.querySelector(\"jb-menu\")?.shadowRoot?.querySelector(\".active\")) {\n await this._findAnimatedElement(this._overlayBack, \"jb-menu\", \".secondary-wrapper\").then(async (element) => {\n await element?.hide?.();\n });\n } else {\n await this._findAnimatedElement(\n this._overlayBack,\n \"jb-menu\",\n \".primary-wrapper jb-menu-item, .primary-wrapper jb-service-navigation\"\n ).then(async (element) => {\n await element?.hide?.();\n });\n }\n }\n if (this._overlayOpen === \"regionSelect\") {\n await this._findAnimatedElement(\n this._overlayBack,\n \"jb-region-select-overlay\",\n \".region-select-overlay__wrap\"\n ).then(async (element) => {\n await element?.hide?.();\n });\n }\n this._overlayBack.unstack();\n this._overlayOpen = null;\n this._serviceNavigation.hideItems = \"all-except-first\";\n }\n }\n async _toggleRegionOverlay(e2) {\n if (!this._overlayOpen) {\n this._trackEventsRegionIndicator(e2);\n this._overlayBack = this._initOverlay(await this._initRegionOverlay());\n this._overlayBack.stack();\n this._findAnimatedElement(this._overlayBack, \"jb-region-select-overlay\", \".region-select-overlay__wrap\").then(\n async (element) => {\n this._overlayOpen = \"regionSelect\";\n this._serviceNavigation.hideItems = \"all\";\n await element?.reveal?.();\n }\n );\n } else {\n this._findAnimatedElement(this._overlayBack, \"jb-region-select-overlay\", \".region-select-overlay__wrap\").then(\n async (element) => {\n await element?.hide?.();\n this._overlayBack.unstack();\n this._serviceNavigation.hideItems = \"all-except-first\";\n this._overlayOpen = null;\n }\n );\n }\n }\n _trackEventsRegionIndicator(e2) {\n if (getEventElement(e2, \"JB-REGION-INDICATOR\")) {\n const additionalEventDetails = {\n interaction_effect: \"open\",\n interaction_element: \"location-selector\",\n interaction_result: \"overlay\",\n interaction_text: \"location-selector\"\n };\n this._fireTrackingEvent(additionalEventDetails);\n }\n }\n _trackIconClick(event) {\n if (getEventElement(event, \"JB-LOGO\")) {\n const additionalEventDetails = {\n interaction_effect: \"navigation\",\n interaction_element: \"logo\",\n interaction_result: getEventElement(event, \"JB-LOGO\")?.href,\n interaction_text: \"logo\"\n };\n this._fireTrackingEvent(additionalEventDetails);\n return;\n }\n if (getEventElement(event, \"JB-E-SERVICE-ICON\")) {\n const additionalEventDetails = {\n interaction_effect: \"open\",\n interaction_element: \"e-services\",\n interaction_result: \"overlay\",\n interaction_text: \"e-services\"\n };\n this._fireTrackingEvent(additionalEventDetails);\n return;\n }\n if (getEventElement(event, \"JB-SEARCH-ICON\")) {\n if (this._overlayOpen) {\n const additionalEventDetails2 = {\n interaction_effect: \"open\",\n interaction_element: \"search\",\n interaction_result: \"overlay\",\n interaction_text: \"hamburger__search\"\n };\n this._fireTrackingEvent(additionalEventDetails2);\n return;\n }\n const additionalEventDetails = {\n interaction_effect: \"open\",\n interaction_element: \"search\",\n interaction_result: \"overlay\",\n interaction_text: \"search\"\n };\n this._fireTrackingEvent(additionalEventDetails);\n return;\n }\n if (getEventElement(event, \"JB-BURGER-ICON\") && !this._overlayOpen) {\n const additionalEventDetails = {\n interaction_effect: \"open\",\n interaction_element: \"hamburger\",\n interaction_result: \"overlay\",\n interaction_text: \"hamburger\"\n };\n this._fireTrackingEvent(additionalEventDetails);\n }\n }\n _trackLinkClick(e2) {\n e2.stopPropagation();\n if (e2.detail.clickEvent) {\n e2.detail.clickEvent.stopPropagation();\n }\n if (getEventElement(e2, \"JB-SERVICE-NAVIGATION-ITEM\")) {\n if (getEventElement(e2, \"JB-SERVICE-NAVIGATION-ITEM\")?.link?.data?.action === \"e-services\") {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e2, {\n component_name: \"header\",\n interaction_effect: \"open\",\n interaction_element: \"e-services\",\n interaction_result: \"overlay\",\n interaction_text: \"hamburger__e-services\"\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n return;\n }\n const text = getEventElement(e2, \"JB-SERVICE-NAVIGATION-ITEM\")?.text.toLowerCase();\n const additionalEventDetails = {\n interaction_effect: \"navigation\",\n interaction_element: text.replace(/\\s+/g, \"-\").toLowerCase(),\n interaction_result: getEventElement(e2, \"JB-SERVICE-NAVIGATION-ITEM\")?.link?.href,\n interaction_text: text.replace(/\\s+/g, \"-\").toLowerCase()\n };\n this._fireTrackingEvent(additionalEventDetails);\n }\n }\n render() {\n return ke`\n \n
    \n
    \n
    \n ${this.searchOverlay ? ke` ` : D}\n
    \n \n
    \n \n \n
    \n
    \n ${this.eServiceOverlay && ke``}\n ${this.searchOverlay ? ke`` : D}\n \n
    \n \n \n `;\n }\n};\nJbNavigation.styles = r(jb_navigation_default);\n__decorateClass([\n n()\n], JbNavigation.prototype, \"ariaLabelEServices\", 2);\n__decorateClass([\n n()\n], JbNavigation.prototype, \"ariaLabelMenu\", 2);\n__decorateClass([\n n()\n], JbNavigation.prototype, \"ariaLabelNavigation\", 2);\n__decorateClass([\n n()\n], JbNavigation.prototype, \"ariaLabelSearch\", 2);\n__decorateClass([\n n({ type: Object })\n], JbNavigation.prototype, \"eServiceOverlay\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbNavigation.prototype, \"isTransparent\", 2);\n__decorateClass([\n n({ type: Object })\n], JbNavigation.prototype, \"menu\", 2);\n__decorateClass([\n n({ type: Object })\n], JbNavigation.prototype, \"regionSelectOverlay\", 2);\n__decorateClass([\n n({ type: Object })\n], JbNavigation.prototype, \"searchOverlay\", 2);\n__decorateClass([\n r2()\n], JbNavigation.prototype, \"_animateHiding\", 2);\n__decorateClass([\n e(\"jb-burger-icon\")\n], JbNavigation.prototype, \"_burgerIcon\", 2);\n__decorateClass([\n r2()\n], JbNavigation.prototype, \"_fixed\", 2);\n__decorateClass([\n r2()\n], JbNavigation.prototype, \"_hidden\", 2);\n__decorateClass([\n r2()\n], JbNavigation.prototype, \"_isAutohiding\", 2);\n__decorateClass([\n e(\"nav\")\n], JbNavigation.prototype, \"_navigation\", 2);\n__decorateClass([\n r2()\n], JbNavigation.prototype, \"_overlayOpen\", 2);\nJbNavigation = __decorateClass([\n customElement(\"jb-navigation\")\n], JbNavigation);\n\nexport {\n JbNavigation\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-e-service-icon/jb-e-service-icon.scss?inline\nvar jb_e_service_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nsvg {\n cursor: pointer;\n display: var(--icon-display, inline-block);\n fill: rgb(var(--rgb-primary, 255, 255, 255));\n height: 25px;\n margin-right: var(--icon-margin-right, 0);\n overflow: visible;\n width: 19px;\n}\n\n#lock-arch {\n transition: all 0.2s ease-in-out;\n}\nsvg:hover #lock-arch {\n transform: translateY(-2px);\n}`;\n\n// src/components/icons/jb-e-service-icon/jb-e-service-icon.ts\nvar JbEServiceIcon = class extends h {\n firstUpdated() {\n this.addEventListener(\"click\", (e) => {\n e.preventDefault();\n this.dispatchEvent(new CustomEvent(\"e-service-icon:clicked\", { bubbles: true, composed: true }));\n });\n }\n render() {\n return ke`\n \n \n \n \n \n \n \n \n \n \n `;\n }\n};\nJbEServiceIcon.styles = r(jb_e_service_icon_default);\nJbEServiceIcon = __decorateClass([\n customElement(\"jb-e-service-icon\")\n], JbEServiceIcon);\n\nexport {\n JbEServiceIcon\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-burger-icon/jb-burger-icon.scss?inline\nvar jb_burger_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n.burger-icon {\n cursor: pointer;\n width: 40px;\n}\n.burger-icon .bar-wrap {\n height: 1px;\n margin: 7px auto;\n}\n.burger-icon .bar-wrap:first-child {\n margin-bottom: 9px;\n margin-top: 7px;\n}\n@media (min-width: 600px) {\n .burger-icon .bar-wrap:first-child {\n margin-top: 0;\n }\n}\n.burger-icon .bar-wrap:last-child {\n margin-top: 9px;\n}\n@media (min-width: 600px) {\n .burger-icon .bar-wrap {\n margin: 0;\n }\n}\n.burger-icon .bar {\n border-bottom: 1px solid rgb(var(--rgb-primary, 255, 255, 255));\n height: 1px;\n transition: var(--bar-transition);\n}\n.burger-icon .bottom,\n.burger-icon .top {\n transition: transform 0.2s linear;\n}\n.burger-icon:not(.open):hover .bottom {\n transform: translateY(-2px);\n}\n.burger-icon:not(.open):hover .top {\n transform: translateY(2px);\n}\n.burger-icon.open .bar-wrap {\n width: 40px;\n}\n.burger-icon.open .bar {\n margin: 0 auto;\n}\n.burger-icon.open .bottom,\n.burger-icon.open .top {\n transition: width 0.3s ease-in-out, transform 0.2s linear;\n width: 35px;\n}\n.burger-icon.open .top {\n background: rgb(var(--rgb-primary, 255, 255, 255));\n position: relative;\n transform: translateY(10px) rotateZ(-45deg);\n z-index: 100;\n}\n@media (min-width: 600px) {\n .burger-icon.open .top {\n transform: translateY(11px) rotateZ(-45deg);\n }\n}\n.burger-icon.open .bottom {\n background: rgb(var(--rgb-primary, 255, 255, 255));\n position: relative;\n transform: translateY(-10px) rotateZ(45deg);\n z-index: 100;\n}\n@media (min-width: 600px) {\n .burger-icon.open .bottom {\n transform: translateY(-9px) rotateZ(45deg);\n }\n}\n.burger-icon.open .middle {\n transition: none;\n width: 0;\n}\n.burger-icon.open:hover {\n backface-visibility: hidden;\n perspective: 1000px;\n}\n.burger-icon.open:hover .top,\n.burger-icon.open:hover .bottom {\n perspective: 1000px;\n transition: width 0.2s ease-in-out, transform 0.2s linear;\n width: 28px;\n}\n@media (min-width: 600px) and (max-width: 959px) {\n .burger-icon.open {\n height: 35px;\n }\n}`;\n\n// src/components/icons/jb-burger-icon/jb-burger-icon.ts\nvar JbBurgerIcon = class extends h {\n constructor() {\n super(...arguments);\n this.isOpen = false;\n }\n firstUpdated() {\n this.addEventListener(\"click\", (e) => {\n e.preventDefault();\n this.dispatchEvent(new CustomEvent(\"burger-icon:clicked\", { bubbles: true, composed: true }));\n });\n }\n render() {\n return ke`\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n `;\n }\n};\nJbBurgerIcon.styles = r(jb_burger_icon_default);\n__decorateClass([\n n({ type: Boolean })\n], JbBurgerIcon.prototype, \"isOpen\", 2);\nJbBurgerIcon = __decorateClass([\n customElement(\"jb-burger-icon\")\n], JbBurgerIcon);\n\nexport {\n JbBurgerIcon\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n to\n} from \"./chunk.YTEMICXC.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n respondTo\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-navigation-tags/jb-navigation-tags.scss?inline\nvar jb_navigation_tags_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n.with-underline .list-item {\n -moz-osx-font-smoothing: grayscale;\n overflow: hidden;\n position: relative;\n transform: translateZ(0);\n}\n.with-underline .list-item::before {\n animation-direction: reverse;\n background-color: rgba(241, 242, 242, 0.3);\n bottom: 0;\n content: \"\";\n height: 66%;\n left: 0;\n position: absolute;\n transition: height 0.9s ease-out 0.2s;\n width: 1px;\n}\n.with-underline .list-item::after {\n background: #fff;\n bottom: 0;\n content: \"\";\n height: 1px;\n left: 0;\n position: absolute;\n right: 50%;\n transition: right 0.9s ease-out 0.2s;\n}\n\n/* stylelint-disable */\n/* stylelint-enable */\nlabel {\n font-family: var(--theme-font-black-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-black-weight, 900);\n}\n\n.list-item {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\nlabel {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.125rem;\n line-height: 1rem;\n text-decoration: none;\n text-transform: uppercase;\n}\n\n.list-item {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.063rem;\n line-height: 1rem;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\nnav {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: 100%;\n justify-content: center;\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 0;\n width: 100%;\n}\n@media (min-width: 1281px) {\n nav {\n box-sizing: border-box;\n flex-basis: 83.3333333333%;\n max-width: 83.3333333333%;\n padding: 0 20px;\n width: 83.3333333333%;\n }\n}\n\njb-section-headline {\n padding-block-end: var(--spacing-sm);\n}\n\ninput {\n display: none;\n}\ninput:checked ~ ul {\n max-block-size: 60em;\n}\ninput:checked ~ .title-wrapper label::before {\n content: attr(data-close);\n}\n\nlabel {\n align-items: flex-end;\n cursor: pointer;\n display: flex;\n justify-content: center;\n text-transform: uppercase;\n}\nlabel::before {\n content: attr(data-open);\n}\n\n.title-wrapper {\n align-items: flex-end;\n display: flex;\n justify-content: center;\n padding-block-start: var(--spacing-sm);\n}\n\njb-chevron-icon {\n margin-inline-start: 5px;\n}\n\nul {\n align-items: center;\n display: flex;\n flex-basis: 100%;\n flex-direction: column;\n gap: var(--spacing-xs);\n max-block-size: calc(var(--spacing-xs) * 3 + 112px);\n overflow: hidden;\n transition: max-height 0.3s ease-in-out;\n}\n@media (min-width: 600px) {\n ul {\n flex-direction: initial;\n flex-wrap: wrap;\n justify-content: center;\n max-block-size: calc(var(--spacing-xs) * 1 + 56px);\n }\n}\n\n.list-item {\n display: flex;\n}\n.list-item:hover a {\n border: 1px solid #141e55;\n transition: border 0.7s ease-in-out 0s;\n}\n.list-item a {\n border: 1px solid rgba(20, 30, 85, 0.2);\n color: #141e55;\n padding: 5px 10px;\n text-decoration: none;\n text-transform: uppercase;\n transition: border 0.7s ease-in-out 0s;\n white-space: pre;\n}\n.list-item a:hover {\n text-decoration: none;\n}\n\n.with-underline .animate-left-bottom::before {\n background-color: transparent;\n block-size: 0;\n border-block-end: 1px solid var(--stroke-color, rgba(20, 30, 85, 0.2));\n content: \"\";\n inline-size: 100%;\n position: absolute;\n}\n.with-underline .animate-left-bottom::after {\n background: #141e55;\n inset-inline: 0 100%;\n transition-delay: 0s;\n transition-duration: 0.8s;\n transition-timing-function: ease-in-out;\n}\n.with-underline .animate-left-bottom.active::after, .with-underline .animate-left-bottom:hover::after {\n background: #141e55;\n inset-inline-end: 0;\n transition-delay: 0s;\n transition-duration: 0.5s;\n transition-timing-function: ease-in-out;\n}\n\n.with-underline ul {\n flex-direction: unset;\n flex-wrap: wrap;\n justify-content: center;\n}\n\n.with-underline .list-item {\n border: none;\n display: inline-block;\n letter-spacing: 0.094rem;\n padding-block-end: 4px;\n pointer-events: initial;\n position: relative;\n}\n.with-underline .list-item a {\n border: none;\n color: #141e55;\n opacity: 0.4;\n padding: 0;\n transition: opacity 0.4s ease-in-out 0s;\n}\n.with-underline .list-item:hover a {\n opacity: 1;\n transition: opacity 0.4s ease-in-out 0s;\n}\n\n.with-underline .list-item.active a {\n opacity: 1;\n}\n.with-underline .list-item.active::before {\n background-color: #141e55;\n transition: background-color 0.8s ease-in-out 0s;\n}`;\n\n// src/components/jb-navigation-tags/jb-navigation-tags.ts\nvar JbNavigationTags = class extends Spaceable(h) {\n constructor() {\n super(...arguments);\n this._showButton = false;\n }\n firstUpdated() {\n const relatedTags = this.renderRoot.querySelectorAll(\".navigation-tags.with-underline .list .list-item\");\n relatedTags.forEach((el) => {\n el.addEventListener(\"click\", () => {\n const parent = el.parentNode;\n const active = parent?.querySelector(\".list-item.active\");\n if (active) active.classList.remove(\"active\");\n el.classList.add(\"active\");\n });\n });\n window.addEventListener(\"resize\", () => {\n this._calculateShowButton();\n });\n setTimeout(() => {\n this._calculateShowButton();\n }, 0);\n }\n _calculateShowButton() {\n const element = this._list.firstElementChild;\n const styles = window.getComputedStyle(element);\n const heightWithMargin = element.offsetHeight + parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n const actualHeight = this._list.scrollHeight - 30;\n if (respondTo({ xs: \"mobile\", sm: \"desktop\" }) === \"mobile\") {\n if (actualHeight >= heightWithMargin * 4) {\n this._showButton = true;\n } else {\n this._showButton = false;\n }\n } else {\n if (actualHeight >= heightWithMargin * 2) {\n this._showButton = true;\n } else {\n this._showButton = false;\n }\n }\n }\n _getContentSpacingProperties() {\n return { colsMdUp: 12, type: \"navigation-tags\" };\n }\n _renderItem(item) {\n return ke`\n ${item.tag}\n `;\n }\n _trackClicks(evt) {\n const eventTarget = evt.composedPath()[0];\n const tag = eventTarget.dataset.tag ?? evt.detail.label;\n const url = eventTarget.href ?? evt.detail.newValue;\n this.dispatchEvent(\n new CustomEvent(\"jb-navigation-tags:filter\", {\n detail: {\n tag,\n url\n },\n bubbles: true,\n composed: true\n })\n );\n }\n render() {\n return ke`\n this.requestUpdate()}\n />\n ${this.heading ? ke`` : D}\n
      \n ${this.items.map((item) => this._renderItem(item))}\n
    \n ${this._showButton ? ke`
    \n \n \n \n
    ` : D}\n `;\n }\n};\nJbNavigationTags.styles = r(jb_navigation_tags_default);\n__decorateClass([\n n()\n], JbNavigationTags.prototype, \"activeItem\", 2);\n__decorateClass([\n n()\n], JbNavigationTags.prototype, \"heading\", 2);\n__decorateClass([\n n({ type: Array })\n], JbNavigationTags.prototype, \"items\", 2);\n__decorateClass([\n n()\n], JbNavigationTags.prototype, \"toCloseText\", 2);\n__decorateClass([\n n()\n], JbNavigationTags.prototype, \"toOpenText\", 2);\n__decorateClass([\n n()\n], JbNavigationTags.prototype, \"type\", 2);\n__decorateClass([\n e(\"input\")\n], JbNavigationTags.prototype, \"_input\", 2);\n__decorateClass([\n e(\".list\")\n], JbNavigationTags.prototype, \"_list\", 2);\n__decorateClass([\n r2()\n], JbNavigationTags.prototype, \"_showButton\", 2);\nJbNavigationTags = __decorateClass([\n customElement(\"jb-navigation-tags\")\n], JbNavigationTags);\n\nexport {\n JbNavigationTags\n};\n", "import {\n disableBodyScroll,\n enableBodyScroll\n} from \"./chunk.WDF6H473.js\";\nimport {\n JbOverlay\n} from \"./chunk.5C7B4R5Q.js\";\nimport {\n ae\n} from \"./chunk.Q25FCJRM.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n Animatable\n} from \"./chunk.VRR2P3PQ.js\";\nimport {\n recenterNavItems\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-news-overlay/jb-news-overlay.scss?inline\nvar jb_news_overlay_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n background-color: #f1f2f2;\n display: block;\n min-height: 100vh;\n}\n\n.news-overlay {\n opacity: 0;\n}`;\n\n// src/components/jb-news-overlay/jb-news-overlay.ts\nvar JbNewsOverlay = class extends Animatable(Initiable(h)) {\n constructor() {\n super(...arguments);\n this._responseHtml = \"\";\n }\n decodeHtml(htmlString) {\n const txt = document.createElement(\"textarea\");\n txt.innerHTML = htmlString;\n return txt.value;\n }\n fetchDataFromApi(url) {\n fetch(url).then((response) => response.json()).then((data) => {\n this._responseHtml = data.html;\n });\n }\n firstUpdated() {\n this.fetchDataFromApi(this.url);\n this.dispatchEvent(\n new CustomEvent(\"jb-stackable:register-outro-callback\", {\n bubbles: true,\n composed: true,\n detail: {\n callback: async () => {\n window.history.replaceState(\"\", \"\", window.location.pathname + window.location.search);\n }\n }\n })\n );\n }\n render() {\n return ke`
    ${ae(this.decodeHtml(this._responseHtml))}
    `;\n }\n};\nJbNewsOverlay.styles = r(jb_news_overlay_default);\n__decorateClass([\n n()\n], JbNewsOverlay.prototype, \"url\", 2);\n__decorateClass([\n r2()\n], JbNewsOverlay.prototype, \"_responseHtml\", 2);\nJbNewsOverlay = __decorateClass([\n customElement(\"jb-news-overlay\")\n], JbNewsOverlay);\nbindEvents();\n\n// src/components/jb-news-overlay/jb-news-overlay-controller.ts\nvar newsLinksRegister = {};\nvar JbNewsOverlayController = class {\n constructor() {\n this.overlay = void 0;\n }\n async close() {\n if (this.overlay) {\n const animatedElement = document.querySelector(\"jb-news-overlay\");\n animatedElement.contentChildren = Array.from(animatedElement.shadowRoot.querySelectorAll(\"div.news-overlay\"));\n await animatedElement.hide();\n this.overlay.unstack();\n enableBodyScroll(animatedElement);\n recenterNavItems();\n }\n this.overlay = void 0;\n }\n handleHashChange() {\n const hash = window.location.hash.substring(1);\n if (hash === \"\" || !hash.includes(\"overlayNews\") || !hash.split(\"=\")[1]) {\n this.close();\n return;\n }\n const translationId = Number(hash.split(\"=\")[1]);\n if (!newsLinksRegister[translationId]) {\n this.close();\n return;\n }\n const url = newsLinksRegister[translationId];\n const jbNewsOverlay = new JbNewsOverlay().init({\n props: { url }\n });\n this.overlay = new JbOverlay().init({\n props: {\n color: \"gray\",\n hasLogo: true,\n hasCloseIcon: true,\n svgLogo: this.svgLogo,\n newAnimation: true\n },\n childNodes: [jbNewsOverlay]\n });\n if (this.overlay) {\n this.overlay.stack();\n customElements.whenDefined(\"jb-news-overlay\").then(async () => {\n setTimeout(() => {\n jbNewsOverlay.contentChildren = Array.from(jbNewsOverlay.shadowRoot.querySelectorAll(\"div.news-overlay\"));\n }, 0);\n disableBodyScroll(jbNewsOverlay, { allowTouchMove: () => true });\n recenterNavItems();\n await jbNewsOverlay.reveal();\n });\n }\n }\n open(event) {\n const customEvent = event;\n if (!customEvent.detail.newsOverlay) {\n return;\n }\n customEvent.stopPropagation();\n customEvent.detail.clickEvent.preventDefault();\n customEvent.detail.clickEvent.stopPropagation();\n const baseUrl = window.location.href.split(\"#\")[0];\n const newUrl = baseUrl + \"#overlayNews=\" + customEvent.detail.newsOverlay.id;\n window.open(newUrl, \"_self\");\n this.svgLogo = customEvent.detail.svgLogo;\n this.handleHashChange();\n }\n};\nvar controller = new JbNewsOverlayController();\nfunction bindEvents() {\n document.body.addEventListener(\"jb-overlay:close\", () => {\n controller.close();\n });\n document.body.addEventListener(\"jb-link:initialized\", (event) => {\n const customEvent = event;\n if (!customEvent.detail.newsOverlay) {\n return;\n }\n newsLinksRegister[customEvent.detail.newsOverlay.id] = customEvent.detail.newsOverlay.url;\n const hash = window.location.hash.substring(1);\n if (hash === \"\" || !hash.includes(\"overlayNews\") || !hash.split(\"=\")[1]) {\n return;\n }\n const translationId = Number(hash.split(\"=\")[1]);\n if (translationId === customEvent.detail.newsOverlay.id) {\n controller.handleHashChange();\n }\n });\n document.body.addEventListener(\"jb-link:clicked\", (event) => {\n controller.open(event);\n });\n}\n\nexport {\n bindEvents,\n JbNewsOverlay\n};\n", "import {\n ScrollTrigger\n} from \"./chunk.RYXMHMS2.js\";\nimport {\n gsapWithCSS\n} from \"./chunk.LXB4MYP4.js\";\nimport {\n isSizeMdDown\n} from \"./chunk.YDQDJZUC.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n debounce,\n smoothScroll\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n D,\n Oe,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-moment-page-hero/jb-moment-page-hero.scss?inline\nvar jb_moment_page_hero_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nheader .content p {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh1 {\n font-family: var(--theme-font-xlight-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-xlight-weight, 200);\n}\n\nh1 {\n font-size: var(--theme-typo-h2-mobile-fontsize, 1.938rem);\n line-height: var(--theme-typo-h2-mobile-lineheight, 2.625rem);\n}\n@media (min-width: 1281px) {\n h1 {\n font-size: var(--theme-typo-h2-desktop-fontsize, 2.813rem);\n line-height: var(--theme-typo-h2-desktop-lineheight, 3.813rem);\n }\n}\n\nheader .content p {\n font-size: var(--theme-typo-p-big-mobile-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-big-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n header .content p {\n font-size: var(--theme-typo-p-big-desktop-fontsize, 1.375rem);\n line-height: var(--theme-typo-p-big-desktop-lineheight, 2.125rem);\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\nmain .content, header .content {\n --_grid-gap: 16px;\n --_grid-template-columns: repeat(12, 1fr);\n display: grid;\n gap: var(--grid-row-gap, 0) var(--grid-column-gap, var(--_grid-gap));\n grid-template-columns: var(--theme-grid-template-columns, var(--_grid-template-columns));\n width: 100%;\n}\n@media (min-width: 960px) {\n main .content, header .content {\n --_grid-gap: 40px;\n }\n}\n\nmain .content, header .content {\n padding-inline: 20px;\n}\n\nmain, header {\n --_max-width: calc(100% - (2 * 6.68%));\n display: grid;\n grid-template-columns: [full-start] minmax(0, 1fr) [main-start] minmax(0, var(--theme-grid-max-width, var(--_max-width))) [main-end] minmax(0, 1fr) [full-end];\n margin-inline: auto;\n}\n@media (min-width: 600px) {\n main, header {\n --_max-width: calc(100% - (2 * 8.35%));\n }\n}\n@media (min-width: 960px) {\n main, header {\n --_max-width: calc(100% - (2 * 6.955%));\n }\n}\n@media (min-width: 1437px) {\n main, header {\n --_max-width: 1437px;\n }\n}\n\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n padding-inline-end: var(--compensate-scrollbar);\n --rgb-primary: 255, 255, 255;\n --host-color: #fff;\n --_background-opacity: 0.3;\n}\n\nsection {\n position: relative;\n}\nsection button {\n background: transparent;\n border: 0;\n left: 50%;\n position: absolute;\n rotate: 90deg;\n top: calc(100svh - 40px);\n translate: -50% 0;\n}\n\nheader {\n inline-size: 100%;\n min-block-size: 100vh;\n overflow: hidden;\n place-content: center;\n position: sticky;\n top: 0;\n}\nheader::after {\n background-color: rgb(0, 0, 0, var(--_background-opacity));\n content: \"\";\n inset: 0;\n position: absolute;\n z-index: -1;\n}\nheader .content {\n block-size: min-content;\n grid-column: main;\n position: relative;\n z-index: 2;\n}\nheader .content > * {\n grid-column: 1/13;\n}\n@media (min-width: 1281px) {\n header .content > * {\n grid-column: 3/11;\n }\n}\nheader .content > *:last-child {\n margin-block-end: 0;\n}\njb-breadcrumbs {\n margin-block-end: var(--spacing-lm);\n}\n\nh1 {\n margin-block-end: var(--spacing-m);\n}\n\n.background {\n block-size: 100%;\n inline-size: 100%;\n inset: 0;\n object-fit: cover;\n object-position: center;\n position: absolute;\n z-index: -1;\n}\n\nmain {\n padding-block-start: 50px;\n position: relative;\n z-index: 2;\n}\nmain .content {\n grid-column: main;\n -webkit-transform: translate3d(0, 0, 0);\n}\nmain .content > * {\n grid-column: 1/13;\n}\n@media (min-width: 1281px) {\n main .content > * {\n grid-column: 3/11;\n }\n}\nmain .content slot {\n display: grid;\n margin-block: var(--spacing-3xl) 0;\n}\n@media (min-width: 1281px) {\n main .content slot {\n margin-block-end: var(--spacing-4xl);\n }\n}\n\n.line {\n display: none;\n}\n@media (min-width: 1281px) {\n .line {\n block-size: 100%;\n display: block;\n inline-size: 100%;\n inset: 0;\n pointer-events: none;\n position: absolute;\n }\n .line path {\n fill: none;\n stroke: white;\n stroke-width: 1;\n }\n}\n\njb-contact-teaser-legacy {\n margin-block: var(--spacing-4xl);\n}`;\n\n// src/components/jb-moment-page-hero/jb-moment-page-hero.ts\nvar JBMomentPageHero = class extends h {\n constructor() {\n super(...arguments);\n this._animationPlayed = false;\n }\n async firstUpdated() {\n await this.updateComplete;\n gsapWithCSS.registerPlugin(ScrollTrigger);\n ScrollTrigger.config({ ignoreMobileResize: false });\n this._drawLine();\n window.addEventListener(\n \"resize\",\n debounce(() => {\n this._drawLine();\n }, 50)\n );\n gsapWithCSS.to(this._headerContent, {\n scrollTrigger: {\n trigger: this._main,\n start: \"top bottom\",\n end: \"+=50%\",\n scrub: 0\n },\n yoyo: true,\n opacity: 0,\n scale: 0.8\n });\n gsapWithCSS.to(this, {\n scrollTrigger: {\n trigger: this._main,\n start: \"top bottom\",\n end: \"+=50%\",\n scrub: 0\n },\n yoyo: true,\n \"--_background-opacity\": 0.6\n });\n gsapWithCSS.to(this._headerElement.querySelector(\"img, jb-video\"), {\n scrollTrigger: {\n trigger: this,\n start: \"bottom+=100px bottom\",\n end: \"bottom+=100px top\",\n scrub: 0\n },\n translateY: \"288px\"\n });\n const scrollbutton = this.shadowRoot.querySelector(\"button\");\n gsapWithCSS.fromTo(\n scrollbutton,\n {\n opacity: 0,\n translateY: \"-40px\"\n },\n {\n opacity: 1,\n translateY: \"0\",\n duration: 1\n }\n );\n gsapWithCSS.fromTo(\n scrollbutton,\n { opacity: 1 },\n {\n scrollTrigger: {\n trigger: this._main,\n start: \"top bottom\",\n end: \"+=50\",\n scrub: 0\n },\n yoyo: true,\n opacity: 0\n }\n );\n }\n _drawLine() {\n if (isSizeMdDown()) return;\n const slotElement = this.shadowRoot.querySelector(\"slot\");\n const slotRect = slotElement.getBoundingClientRect();\n const slotPaddingBottom = parseInt(getComputedStyle(slotElement).marginBlockEnd, 10);\n this._pathString = `M ${slotRect.left - slotRect.width / 8} ${this._headerContent.offsetTop} V ${slotRect.bottom + window.scrollY + slotPaddingBottom} H ${slotRect.left + slotRect.width / 2} v ${slotPaddingBottom / 2}`;\n this._linepath = this._line.querySelector(\"path\");\n setTimeout(() => {\n this._lineLength = this._linepath.getTotalLength();\n this._linepath.style.strokeDasharray = this._lineLength.toString();\n if (this._animationPlayed) {\n this._linepath.style.strokeDashoffset = this._lineLength - this._headerContent.offsetHeight;\n return;\n }\n this._linepath.style.strokeDashoffset = this._lineLength;\n gsapWithCSS.fromTo(\n this._linepath.style,\n { strokeDashoffset: this._lineLength },\n {\n strokeDashoffset: this._lineLength - this._headerContent.offsetHeight,\n duration: 1,\n onComplete: () => {\n this._animationPlayed = true;\n }\n }\n );\n }, 0);\n ScrollTrigger.create({\n trigger: this,\n start: \"top top\",\n end: `bottom+=${window.innerHeight * 25 / 100} bottom`,\n endTrigger: this._contactTeaser,\n scrub: 1,\n onUpdate: (self) => {\n const animatedLength = this._lineLength - this._headerContent.offsetHeight;\n if (animatedLength - animatedLength * self.progress <= 0) {\n this._linepath.style.strokeDashoffset = 0;\n return;\n }\n this._linepath.style.strokeDashoffset = animatedLength - animatedLength * self.progress;\n }\n });\n }\n _renderHeroImage() {\n if (this.backgroundVideoSrc) {\n return ke``;\n }\n return ke``;\n }\n render() {\n return ke`\n
    \n
    \n ${this._renderHeroImage()}\n
    \n ${this.breadcrumbs && ke`\n \n ${this.breadcrumbs.backlink && ke``}\n ${this.breadcrumbs.items?.map(\n (breadcrumb) => ke``\n )}\n \n `}\n ${this.headline ? ke`

    ${this.headline}

    ` : D}\n ${this.subline ? ke`

    ${this.subline}

    ` : D}\n
    \n
    \n {\n smoothScroll(this._main);\n }}\n >\n \n \n
    \n
    \n ${this.video ? ke`` : D}\n \n \n ${this.contactTeaser.buttons ? this.contactTeaser.buttons.map((button, buttonIndex) => {\n if (button.variant) {\n switch (button.variant) {\n case \"secondary\":\n return ke`${button.text}`;\n case \"tertiary\":\n return ke`${button.text}`;\n case \"primary\":\n default:\n return ke`${button.text}`;\n }\n } else {\n return buttonIndex === 0 ? ke`${button.text}` : ke`${button.text}`;\n }\n }) : D}\n \n
    \n
    \n \n ${Oe``}\n \n
    \n `;\n }\n};\nJBMomentPageHero.styles = r(jb_moment_page_hero_default);\n__decorateClass([\n n()\n], JBMomentPageHero.prototype, \"backgroundImage\", 2);\n__decorateClass([\n n()\n], JBMomentPageHero.prototype, \"backgroundMobileImage\", 2);\n__decorateClass([\n n()\n], JBMomentPageHero.prototype, \"backgroundVideoSrc\", 2);\n__decorateClass([\n n({ type: Object })\n], JBMomentPageHero.prototype, \"breadcrumbs\", 2);\n__decorateClass([\n n({ type: Object })\n], JBMomentPageHero.prototype, \"contactTeaser\", 2);\n__decorateClass([\n n()\n], JBMomentPageHero.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JBMomentPageHero.prototype, \"subline\", 2);\n__decorateClass([\n n({ type: Object })\n], JBMomentPageHero.prototype, \"video\", 2);\n__decorateClass([\n e(\"jb-contact-teaser-legacy\")\n], JBMomentPageHero.prototype, \"_contactTeaser\", 2);\n__decorateClass([\n e(\"header .content\")\n], JBMomentPageHero.prototype, \"_headerContent\", 2);\n__decorateClass([\n e(\"header\")\n], JBMomentPageHero.prototype, \"_headerElement\", 2);\n__decorateClass([\n e(\".line\")\n], JBMomentPageHero.prototype, \"_line\", 2);\n__decorateClass([\n e(\"main\")\n], JBMomentPageHero.prototype, \"_main\", 2);\n__decorateClass([\n r2()\n], JBMomentPageHero.prototype, \"_pathString\", 2);\nJBMomentPageHero = __decorateClass([\n customElement(\"jb-moment-page-hero\")\n], JBMomentPageHero);\n\nexport {\n JBMomentPageHero\n};\n", "import {\n Linkable,\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-moment-teaser-item/jb-moment-teaser-item.scss?inline\nvar jb_moment_teaser_item_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nh3 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh3 {\n font-size: var(--theme-typo-h3-mobile-fontsize, 1.375rem);\n line-height: var(--theme-typo-h3-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n h3 {\n font-size: var(--theme-typo-h3-desktop-fontsize, 1.625rem);\n line-height: var(--theme-typo-h3-desktop-lineheight, 2.25rem);\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\na {\n text-decoration: none;\n}\n\n.content {\n border-left: 1px solid #141e55;\n margin-left: 20px;\n padding-left: 20px;\n padding-top: 20px;\n width: calc(100% - 40px);\n}\n\nh3 {\n margin-bottom: 8px;\n}`;\n\n// src/components/jb-moment-teaser-item/jb-moment-teaser-item.ts\nvar JbMomentTeaserItem = class extends Linkable(h) {\n constructor() {\n super(...arguments);\n this._hovering = false;\n }\n _hoverLinkIn() {\n this._hovering = true;\n }\n _hoverLinkOut() {\n this._hovering = false;\n }\n _tracking(e) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e, {\n component_name: \"image-page-teaser\"\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n }\n render() {\n return ke`\n ${this.image ? ke`` : D}\n
    \n

    ${this.headline}

    \n
    \n ${this.button ? ke`` : D}\n
    \n
    \n `;\n }\n};\nJbMomentTeaserItem.styles = r(jb_moment_teaser_item_default);\n__decorateClass([\n n({ type: Object })\n], JbMomentTeaserItem.prototype, \"button\", 2);\n__decorateClass([\n n()\n], JbMomentTeaserItem.prototype, \"headline\", 2);\n__decorateClass([\n n({ type: Object })\n], JbMomentTeaserItem.prototype, \"image\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbMomentTeaserItem.prototype, \"randomized\", 2);\n__decorateClass([\n r2()\n], JbMomentTeaserItem.prototype, \"_hovering\", 2);\nJbMomentTeaserItem = __decorateClass([\n customElement(\"jb-moment-teaser-item\")\n], JbMomentTeaserItem);\n\nexport {\n JbMomentTeaserItem\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n ChangesBackgroundColor\n} from \"./chunk.7ANACPIR.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n o\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-multi-column/jb-multi-column.scss?inline\nvar jb_multi_column_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nh2 {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n.slots.threecolumn, .slots.twocolumn, .title, .wrapper.narrow .slots.threecolumn, .wrapper.narrow .slots.twocolumn, .wrapper.narrow .title {\n --_grid-gap: 16px;\n --_grid-template-columns: repeat(12, 1fr);\n display: grid;\n gap: var(--grid-row-gap, 0) var(--grid-column-gap, var(--_grid-gap));\n grid-template-columns: var(--theme-grid-template-columns, var(--_grid-template-columns));\n width: 100%;\n}\n@media (min-width: 960px) {\n .slots.threecolumn, .slots.twocolumn, .title, .wrapper.narrow .slots.threecolumn, .wrapper.narrow .slots.twocolumn, .wrapper.narrow .title {\n --_grid-gap: 40px;\n }\n}\n\n.title, .wrapper.narrow .slots.threecolumn, .wrapper.narrow .slots.twocolumn, .wrapper.narrow .title {\n padding-inline: 20px;\n}\n\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\n.wrapper {\n padding: var(--spacing-4xl) 0;\n}\n@media (min-width: 960px) {\n .wrapper.narrow .title h2 {\n grid-column: 4/span 6;\n }\n}\n.wrapper.narrow .slots.twocolumn > div {\n grid-column: 1/13;\n}\n@media (min-width: 960px) {\n .wrapper.narrow .slots.twocolumn > div:nth-child(1) {\n grid-column: 4/span 3;\n }\n .wrapper.narrow .slots.twocolumn > div:nth-child(2) {\n grid-column: span 3;\n }\n}\n.wrapper.narrow .slots.threecolumn > div {\n grid-column: 1/13;\n}\n@media (min-width: 960px) {\n .wrapper.narrow .slots.threecolumn > div:nth-child(1) {\n grid-column: 4/span 2;\n }\n .wrapper.narrow .slots.threecolumn > div:nth-child(2) {\n grid-column: span 2;\n }\n .wrapper.narrow .slots.threecolumn > div:nth-child(3) {\n grid-column: span 2;\n }\n}\n\nh2 {\n color: #141e55;\n font-stretch: normal;\n font-style: normal;\n font-weight: bold;\n grid-column: main;\n letter-spacing: 0.063rem;\n opacity: 0.6;\n padding-bottom: 8px;\n text-transform: uppercase;\n font-size: 11px;\n font-size: 0.6875rem;\n line-height: 23px;\n line-height: 1.45rem;\n}\n\n.title {\n grid-column: main;\n}\n.title > h2 {\n grid-column: 1/13;\n}\n\n.slots {\n grid-column: main;\n}\n.slots ::slotted(*) {\n padding-bottom: 60px;\n}\n@media (min-width: 1281px) {\n .slots ::slotted(*) {\n padding-bottom: 68px;\n }\n}\n@media (min-width: 960px) {\n .slots ::slotted(.last) {\n padding-bottom: 0;\n }\n}\n.slots > div:last-child ::slotted(:last-child) {\n padding-bottom: 0;\n}\n@media (min-width: 960px) {\n .slots.twocolumn {\n padding-inline: 20px;\n }\n}\n.slots.twocolumn > div {\n grid-column: 1/13;\n}\n@media (min-width: 960px) {\n .slots.twocolumn > div:nth-child(1) {\n grid-column: 1/7;\n }\n .slots.twocolumn > div:nth-child(2) {\n grid-column: 7/13;\n }\n}\n@media (min-width: 960px) {\n .slots.threecolumn {\n padding-inline: 20px;\n }\n}\n.slots.threecolumn > div {\n grid-column: 1/13;\n}\n@media (min-width: 960px) {\n .slots.threecolumn > div:nth-child(1) {\n grid-column: 1/5;\n }\n .slots.threecolumn > div:nth-child(2) {\n grid-column: 5/9;\n }\n .slots.threecolumn > div:nth-child(3) {\n grid-column: 9/13;\n }\n}\n\n@media (min-width: 960px) {\n [name=first]::slotted(jb-stock-chart),\n [name=first]::slotted(.component-content-stock-chart) {\n --headline-text-align: right;\n }\n}`;\n\n// src/components/jb-multi-column/jb-multi-column.ts\nvar JbMultiColumn = class extends Spaceable(ChangesBackgroundColor(h)) {\n async firstUpdated() {\n await this.updateComplete;\n this._addClassToLast(this._firstSlotElements);\n this._addClassToLast(this._secondSlotElements);\n this._addClassToLast(this._thirdSlotElements);\n }\n _addClassToLast(slotElement) {\n if (slotElement && slotElement.length > 0) {\n slotElement[slotElement.length - 1].classList.add(\"last\");\n }\n }\n _getContentSpacingProperties() {\n return { grid: true, colsMdUp: \"none\", type: \"no-vertical-space\" };\n }\n render() {\n return ke`\n
    \n ${this.kicker ? ke`

    ${this.kicker}

    ` : D}\n \n
    \n
    \n ${this.columns === 3 ? ke`
    ` : D}\n
    \n \n `;\n }\n};\nJbMultiColumn.styles = r(jb_multi_column_default);\n__decorateClass([\n n({ type: Number })\n], JbMultiColumn.prototype, \"columns\", 2);\n__decorateClass([\n n()\n], JbMultiColumn.prototype, \"kicker\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbMultiColumn.prototype, \"narrow\", 2);\n__decorateClass([\n o({ slot: \"first\" })\n], JbMultiColumn.prototype, \"_firstSlotElements\", 2);\n__decorateClass([\n o({ slot: \"second\" })\n], JbMultiColumn.prototype, \"_secondSlotElements\", 2);\n__decorateClass([\n o({ slot: \"third\" })\n], JbMultiColumn.prototype, \"_thirdSlotElements\", 2);\nJbMultiColumn = __decorateClass([\n customElement(\"jb-multi-column\")\n], JbMultiColumn);\n\nexport {\n JbMultiColumn\n};\n", "import {\n getViewport\n} from \"./chunk.YDQDJZUC.js\";\n\n// src/assets/scripts/LazyLoadingHandler.ts\nvar LazyLoadingHandler = class {\n constructor() {\n this._approachingViewportObserver = new IntersectionObserver(\n this._observerCallback.bind({ ...this, observation: \"approachingViewport\" }),\n { rootMargin: `${getViewport().height}px` }\n );\n this._entersViewportObserver = new IntersectionObserver(\n this._observerCallback.bind({ ...this, observation: \"entersViewport\" }),\n { threshold: 0 }\n );\n this._fullInViewportObserver = new IntersectionObserver(\n this._observerCallback.bind({ ...this, observation: \"fullInViewport\" }),\n { threshold: 1 }\n );\n }\n observe(element, callback, observation) {\n element.lazyLoadingCallback = callback;\n switch (observation) {\n case \"approachingViewport\":\n element.observer = this._approachingViewportObserver;\n break;\n case \"entersViewport\":\n element.observer = this._entersViewportObserver;\n break;\n case \"fullInViewport\":\n element.observer = this._fullInViewportObserver;\n break;\n default:\n this._approachingViewportObserver.observe(element);\n }\n element.observer.observe(element);\n }\n _observerCallback(observerEntries) {\n observerEntries.forEach((observerEntry) => {\n if (observerEntry.isIntersecting) {\n observerEntry.target.observer.unobserve(observerEntry.target);\n observerEntry.target.lazyLoadingCallback(observerEntry.target);\n }\n });\n }\n};\nvar instance = new LazyLoadingHandler();\nObject.freeze(instance);\nvar LazyLoadingHandler_default = instance;\n\nexport {\n LazyLoadingHandler_default\n};\n", "import {\n LazyLoadingHandler_default\n} from \"./chunk.ZXFS3F4J.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-location-teaser/jb-location-teaser.scss?inline\nvar jb_location_teaser_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.swiper-slide h5, .swiper-slide h4 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.swiper-slide .time,\n.swiper-slide .temperature {\n font-family: var(--theme-font-xlight-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-xlight-weight, 200);\n}\n\n.swiper-slide h4 {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.375rem;\n line-height: 1.75rem;\n}\n@media (min-width: 1281px) {\n .swiper-slide h4 {\n font-size: 1.75rem;\n line-height: 2.5rem;\n }\n}\n\n.swiper-slide h5 {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.313rem;\n line-height: 2.125rem;\n}\n@media (min-width: 1281px) {\n .swiper-slide h5 {\n font-size: 1.5rem;\n line-height: 2.25rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n/**\n * Swiper 8.4.7\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * https://swiperjs.com\n *\n * Copyright 2014-2023 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: January 30, 2023\n */\n@font-face {\n font-family: \"swiper-icons\";\n src: url(\"data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA\") format(\"woff\");\n font-weight: 400;\n font-style: normal;\n}\n:root {\n --swiper-theme-color: #007aff;\n}\n\n.swiper {\n margin-left: auto;\n margin-right: auto;\n position: relative;\n overflow: hidden;\n list-style: none;\n padding: 0;\n /* Fix of Webkit flickering */\n z-index: 1;\n}\n\n.swiper-vertical > .swiper-wrapper {\n flex-direction: column;\n}\n\n.swiper-wrapper {\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 1;\n display: flex;\n transition-property: transform;\n box-sizing: content-box;\n}\n\n.swiper-android .swiper-slide,\n.swiper-wrapper {\n transform: translate3d(0px, 0, 0);\n}\n\n.swiper-pointer-events {\n touch-action: pan-y;\n}\n.swiper-pointer-events.swiper-vertical {\n touch-action: pan-x;\n}\n\n.swiper-slide {\n flex-shrink: 0;\n width: 100%;\n height: 100%;\n position: relative;\n transition-property: transform;\n}\n\n.swiper-slide-invisible-blank {\n visibility: hidden;\n}\n\n/* Auto Height */\n.swiper-autoheight,\n.swiper-autoheight .swiper-slide {\n height: auto;\n}\n.swiper-autoheight .swiper-wrapper {\n align-items: flex-start;\n transition-property: transform, height;\n}\n\n.swiper-backface-hidden .swiper-slide {\n transform: translateZ(0);\n backface-visibility: hidden;\n}\n\n/* 3D Effects */\n.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {\n perspective: 1200px;\n}\n.swiper-3d .swiper-wrapper,\n.swiper-3d .swiper-slide,\n.swiper-3d .swiper-slide-shadow,\n.swiper-3d .swiper-slide-shadow-left,\n.swiper-3d .swiper-slide-shadow-right,\n.swiper-3d .swiper-slide-shadow-top,\n.swiper-3d .swiper-slide-shadow-bottom,\n.swiper-3d .swiper-cube-shadow {\n transform-style: preserve-3d;\n}\n.swiper-3d .swiper-slide-shadow,\n.swiper-3d .swiper-slide-shadow-left,\n.swiper-3d .swiper-slide-shadow-right,\n.swiper-3d .swiper-slide-shadow-top,\n.swiper-3d .swiper-slide-shadow-bottom {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: 10;\n}\n.swiper-3d .swiper-slide-shadow {\n background: rgba(0, 0, 0, 0.15);\n}\n.swiper-3d .swiper-slide-shadow-left {\n background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n.swiper-3d .swiper-slide-shadow-right {\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n.swiper-3d .swiper-slide-shadow-top {\n background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n.swiper-3d .swiper-slide-shadow-bottom {\n background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n\n/* CSS Mode */\n.swiper-css-mode > .swiper-wrapper {\n overflow: auto;\n scrollbar-width: none; /* For Firefox */\n -ms-overflow-style: none; /* For Internet Explorer and Edge */\n}\n.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {\n display: none;\n}\n.swiper-css-mode > .swiper-wrapper > .swiper-slide {\n scroll-snap-align: start start;\n}\n\n.swiper-horizontal.swiper-css-mode > .swiper-wrapper {\n scroll-snap-type: x mandatory;\n}\n\n.swiper-vertical.swiper-css-mode > .swiper-wrapper {\n scroll-snap-type: y mandatory;\n}\n\n.swiper-centered > .swiper-wrapper::before {\n content: \"\";\n flex-shrink: 0;\n order: 9999;\n}\n.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {\n margin-inline-start: var(--swiper-centered-offset-before);\n}\n.swiper-centered.swiper-horizontal > .swiper-wrapper::before {\n height: 100%;\n width: var(--swiper-centered-offset-after);\n}\n.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {\n margin-block-start: var(--swiper-centered-offset-before);\n}\n.swiper-centered.swiper-vertical > .swiper-wrapper::before {\n width: 100%;\n height: var(--swiper-centered-offset-after);\n}\n.swiper-centered > .swiper-wrapper > .swiper-slide {\n scroll-snap-align: center center;\n scroll-snap-stop: always;\n}\n\n.swiper-fade.swiper-free-mode .swiper-slide {\n transition-timing-function: ease-out;\n}\n.swiper-fade .swiper-slide {\n pointer-events: none;\n transition-property: opacity;\n}\n.swiper-fade .swiper-slide .swiper-slide {\n pointer-events: none;\n}\n.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {\n pointer-events: auto;\n}\n\n:host {\n display: block;\n}\n\n.swiper-slide {\n padding-block: 128px;\n position: relative;\n}\n@media (min-width: 600px) {\n .swiper-slide {\n padding-block: 171px 173px;\n }\n}\n@media (min-width: 1281px) {\n .swiper-slide {\n padding-block: 151px 165px;\n }\n}\n.swiper-slide jb-picture {\n filter: brightness(0.7);\n inset: 0;\n position: absolute;\n z-index: 1;\n}\n.swiper-slide jb-picture::part(picture) {\n width: 100vw;\n}\n.swiper-slide .content {\n align-items: center;\n display: flex;\n flex-direction: column;\n position: relative;\n z-index: 2;\n}\n.swiper-slide .info {\n align-items: center;\n display: flex;\n flex-direction: column;\n margin-bottom: 40px;\n margin-top: 40px;\n}\n@media (min-width: 600px) {\n .swiper-slide .info {\n flex-direction: row;\n }\n}\n.swiper-slide h4 {\n color: #fff;\n position: relative;\n text-transform: uppercase;\n z-index: 1;\n font-size: 22px;\n font-size: 1.375rem;\n line-height: 28px;\n line-height: 1.75rem;\n letter-spacing: 3px;\n letter-spacing: 0.1875rem;\n}\n.swiper-slide h5 {\n color: #fff;\n display: inline-block;\n margin: 5px 0;\n max-width: 100%;\n position: relative;\n text-align: center;\n width: 100%;\n z-index: 1;\n}\n@media (min-width: 600px) {\n .swiper-slide h5 {\n margin: unset;\n max-width: 120px;\n }\n}\n@media (min-width: 960px) {\n .swiper-slide h5 {\n font-size: 21px;\n font-size: 1.3125rem;\n letter-spacing: 0;\n letter-spacing: 0;\n }\n}\n.swiper-slide .time,\n.swiper-slide .temperature {\n color: #fff;\n position: relative;\n text-align: center;\n white-space: nowrap;\n z-index: 1;\n font-size: 70px;\n font-size: 4.375rem;\n line-height: 80px;\n line-height: 5rem;\n}\n@media (min-width: 600px) {\n .swiper-slide .time,\n .swiper-slide .temperature {\n font-size: 90px;\n font-size: 5.625rem;\n line-height: 100px;\n line-height: 6.25rem;\n }\n}\n@media (min-width: 960px) {\n .swiper-slide .time,\n .swiper-slide .temperature {\n font-size: 90px;\n font-size: 5.625rem;\n line-height: 100px;\n line-height: 6.25rem;\n }\n}\n@media (min-width: 1281px) {\n .swiper-slide .time,\n .swiper-slide .temperature {\n font-size: 110px;\n font-size: 6.875rem;\n line-height: 120px;\n line-height: 7.5rem;\n letter-spacing: 0;\n letter-spacing: 0;\n }\n}\n.swiper-slide .time:first-of-type,\n.swiper-slide .temperature:first-of-type {\n margin-right: 10px;\n}\n@media (max-width: 599px) {\n .swiper-slide .time:first-of-type,\n .swiper-slide .temperature:first-of-type {\n margin-right: 0;\n }\n}\n.swiper-slide .time:last-of-type,\n.swiper-slide .temperature:last-of-type {\n margin-left: 10px;\n}\n@media (max-width: 599px) {\n .swiper-slide .time:last-of-type,\n .swiper-slide .temperature:last-of-type {\n margin-left: 0;\n }\n}`;\n\n// src/components/jb-location-teaser/jb-location-teaser.ts\nvar JbLocationTeaser = class extends h {\n async firstUpdated() {\n this._currentTime = /* @__PURE__ */ new Date();\n setInterval(() => {\n this._currentTime = /* @__PURE__ */ new Date();\n }, 2e3);\n LazyLoadingHandler_default.observe(\n this,\n async () => {\n const { default: Swiper, Autoplay, EffectFade } = await import(\"./swiper.esm.LMNLSJOR.js\");\n new Swiper(this._swiper, {\n modules: [EffectFade, Autoplay],\n spaceBetween: 0,\n speed: 1e3,\n effect: \"fade\",\n autoplay: {\n delay: 3e3,\n disableOnInteraction: false\n }\n });\n },\n \"approachingViewport\"\n );\n }\n render() {\n return ke`\n
    \n
    \n ${this.items.map(\n (item) => ke`
    \n \n
    \n

    ${item.city}

    \n
    \n
    \n ${this._currentTime?.toLocaleTimeString(\"de-CH\", { timeZone: item.timezone, timeStyle: \"short\" })}\n
    \n
    ${item.weather}
    \n
    ${item.temperature}
    \n
    \n ${item.button ? ke` ${item.button.text}\n ` : D}\n
    \n
    `\n )}\n
    \n
    \n `;\n }\n};\nJbLocationTeaser.styles = r(jb_location_teaser_default);\n__decorateClass([\n n({ type: Array })\n], JbLocationTeaser.prototype, \"items\", 2);\n__decorateClass([\n r2()\n], JbLocationTeaser.prototype, \"_currentTime\", 2);\n__decorateClass([\n e(\".swiper\")\n], JbLocationTeaser.prototype, \"_swiper\", 2);\nJbLocationTeaser = __decorateClass([\n customElement(\"jb-location-teaser\")\n], JbLocationTeaser);\n\nexport {\n JbLocationTeaser\n};\n", "import {\n disableBodyScroll,\n enableBodyScroll\n} from \"./chunk.WDF6H473.js\";\nimport {\n JbOverlay\n} from \"./chunk.5C7B4R5Q.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n Animatable\n} from \"./chunk.VRR2P3PQ.js\";\nimport {\n recenterNavItems\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-media-overlay/jb-media-overlay.scss?inline\nvar jb_media_overlay_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n background-color: #fff;\n display: block;\n min-height: 100%;\n}\n\n.media-overlay {\n display: block !important;\n opacity: 0;\n}\n@media (min-width: 960px) {\n .media-overlay {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: calc(100% - 2 * var(--row-small-margin, 6.68%));\n }\n}\n@media (min-width: 960px) and (min-width: 600px) and (max-width: 959px) {\n .media-overlay {\n width: calc(100% - 2 * 8.35%);\n }\n}\n@media (min-width: 960px) and (min-width: 1437px) {\n .media-overlay {\n max-width: var(--row-max-width, 1436px);\n }\n .media-overlay:not(.filtered-list) {\n width: 100%;\n }\n}\n@media only screen and (min-width: 960px) and (min-width: 960px) and (max-width: 1436px) {\n .media-overlay {\n margin: 0 6.955%;\n max-width: calc(100% - 6.955% - 6.955%);\n }\n}`;\n\n// src/components/jb-media-overlay/jb-media-overlay.ts\nvar JbMediaOverlay = class extends Initiable(Animatable(h)) {\n constructor() {\n super(...arguments);\n this.open = false;\n this._mediaOverlay = {\n content: null,\n overlay: null,\n innerContent: null,\n OVERLAY_SELECTOR: \".overlay-template\",\n OVERLAY_CONTENT_SELECTOR: \".media-overlay\",\n OVERLAY_INNER_CONTENT_SELECTOR: \".media-overlay__content\",\n MEDIA_TEMPLATE_SELECTOR: \"#media-overlay__media-template\",\n DESCRIPTION_TEMPLATE_SELECTOR: \"#media-overlay__description-template\"\n };\n }\n firstUpdated() {\n this._init();\n if (this.url) {\n this._fetchDataFromApi(this.url);\n } else if (this.overlayContent) {\n this._generateMediaHTML(this.overlayContent);\n this._generateDescriptionHTML(this.overlayContent);\n }\n this.dispatchEvent(\n new CustomEvent(\"jb-stackable:register-outro-callback\", {\n bubbles: true,\n composed: true,\n detail: {\n callback: async () => {\n window.history.replaceState(\"\", \"\", window.location.pathname);\n }\n }\n })\n );\n this.addEventListener(\"jb-reveal:contentRevealed\", () => {\n const video = this.shadowRoot.querySelector(\"jb-video\");\n if (!video) return;\n video._plyr.play();\n video._plyr.on(\"ready\", () => {\n video._plyr.play();\n });\n });\n document.addEventListener(\"jb-overlay:close\", () => {\n const video = this.shadowRoot.querySelector(\"jb-video\");\n if (!video) return;\n video._plyr.pause();\n });\n }\n _dom() {\n this._mediaOverlay.content = this.renderRoot.querySelector(\n this._mediaOverlay.OVERLAY_CONTENT_SELECTOR\n );\n if (this._mediaOverlay.content) {\n this._mediaOverlay.innerContent = this._mediaOverlay.content.querySelector(\n this._mediaOverlay.OVERLAY_INNER_CONTENT_SELECTOR\n );\n this._mediaOverlay.overlay = this._mediaOverlay.content.closest(\n this._mediaOverlay.OVERLAY_SELECTOR\n );\n }\n }\n _fetchDataFromApi(url) {\n fetch(url).then((response) => {\n if (!response.ok) {\n throw new Error(\"Network response was not OK\");\n }\n return response.json();\n }).then((data) => {\n this._populateMediaOverlay(data);\n });\n }\n _generateDescriptionHTML(data) {\n const descriptionTemplate = this._mediaOverlay.overlay.querySelector(\n this._mediaOverlay.DESCRIPTION_TEMPLATE_SELECTOR\n );\n const descriptionClone = descriptionTemplate.content.cloneNode(true);\n const description = descriptionClone.querySelector(\".media-overlay__description\");\n description.innerHTML = data.description;\n this._mediaOverlay.innerContent.appendChild(descriptionClone);\n }\n _generateMediaHTML(data) {\n const videoTemplate = this._mediaOverlay.overlay.querySelector(this._mediaOverlay.MEDIA_TEMPLATE_SELECTOR);\n const videoClone = videoTemplate?.content.cloneNode(true);\n const media = videoClone.querySelector(\".media-overlay__media\");\n media.innerHTML = data.media;\n this._mediaOverlay.innerContent.appendChild(videoClone);\n }\n _init() {\n this._dom();\n }\n _populateMediaOverlay(data) {\n this._generateMediaHTML(data);\n this._generateDescriptionHTML(data);\n }\n render() {\n return ke`\n
    \n
    \n
    \n
    \n\n \n\n \n
    \n `;\n }\n};\nJbMediaOverlay.styles = r(jb_media_overlay_default);\n__decorateClass([\n n({ type: Boolean })\n], JbMediaOverlay.prototype, \"open\", 2);\n__decorateClass([\n n()\n], JbMediaOverlay.prototype, \"overlayContent\", 2);\n__decorateClass([\n n()\n], JbMediaOverlay.prototype, \"url\", 2);\nJbMediaOverlay = __decorateClass([\n customElement(\"jb-media-overlay\")\n], JbMediaOverlay);\nbindEvents();\n\n// src/components/jb-media-overlay/jb-media-overlay-controller.ts\nvar mediaLinksRegister = {};\nvar JbMediaOverlayController = class {\n constructor() {\n this.mediaOverlay = void 0;\n this.overlay = void 0;\n }\n async close() {\n if (this.mediaOverlay) {\n await this.mediaOverlay.hide();\n enableBodyScroll(this.mediaOverlay);\n recenterNavItems();\n }\n if (this.overlay) {\n this.overlay.unstack();\n }\n this.overlay = void 0;\n }\n handleHashChange() {\n const hash = window.location.hash.substring(1);\n if (hash === \"\" || !hash.includes(\"overlayMedia\")) {\n this.close();\n return;\n }\n const mediaId = hash.split(\"=\")[1];\n const endpoint = document.body.dataset.mediaOverlayEndpoint;\n if (!endpoint) {\n this.close();\n return;\n }\n mediaLinksRegister[mediaId] = endpoint.replace(\":mediaId\", mediaId);\n const url = mediaLinksRegister[mediaId];\n this.mediaOverlay = new JbMediaOverlay().init({\n props: { url }\n });\n this.overlay = new JbOverlay().init({\n props: { color: \"white\", hasLogo: false, hasCloseIcon: true, newAnimation: true },\n childNodes: [this.mediaOverlay]\n });\n if (this.overlay) {\n this.overlay.stack();\n customElements.whenDefined(\"jb-media-overlay\").then(async () => {\n setTimeout(() => {\n this.mediaOverlay.contentChildren = Array.from(\n this.mediaOverlay.shadowRoot.querySelectorAll(\".media-overlay\")\n );\n }, 0);\n disableBodyScroll(this.mediaOverlay, { allowTouchMove: () => true });\n recenterNavItems();\n await this.mediaOverlay.reveal();\n });\n }\n }\n open(event) {\n const customEvent = event;\n if (customEvent.detail.id || customEvent.detail.media) {\n customEvent.stopPropagation();\n customEvent.detail.clickEvent.preventDefault();\n customEvent.detail.clickEvent.stopPropagation();\n const baseUrl = window.location.href.split(\"#\")[0];\n let newUrl = \"\";\n if (customEvent.detail.id) {\n newUrl = baseUrl + \"#overlayMedia=\" + customEvent.detail.id;\n window.open(newUrl, \"_self\");\n } else {\n const overlayContent = {\n media: customEvent.detail.media,\n description: customEvent.detail.description\n };\n this.mediaOverlay = new JbMediaOverlay().init({\n props: { overlayContent }\n });\n this.overlay = new JbOverlay().init({\n props: { color: \"white\", hasLogo: false, hasCloseIcon: true, newAnimation: true },\n childNodes: [this.mediaOverlay]\n });\n if (this.overlay) {\n this.overlay.stack();\n customElements.whenDefined(\"jb-media-overlay\").then(async () => {\n setTimeout(() => {\n this.mediaOverlay.contentChildren = Array.from(\n this.mediaOverlay.shadowRoot.querySelectorAll(\".media-overlay\")\n );\n }, 0);\n disableBodyScroll(this.mediaOverlay, { allowTouchMove: () => true });\n recenterNavItems();\n await this.mediaOverlay.reveal();\n });\n }\n }\n }\n }\n};\nvar controller = new JbMediaOverlayController();\nfunction bindEvents() {\n document.addEventListener(\"jb-overlay:close\", () => {\n controller.close();\n });\n document.body.addEventListener(\"jb-link:initialized\", (event) => {\n const customEvent = event;\n if (!customEvent.detail.id) {\n return;\n }\n mediaLinksRegister[customEvent.detail.id] = customEvent.detail.url;\n });\n document.addEventListener(\"jb-link:clicked\", (event) => {\n controller.open(event);\n });\n window.onhashchange = () => {\n controller.handleHashChange();\n };\n window.setTimeout(() => {\n controller.handleHashChange();\n }, 0);\n}\n\nexport {\n bindEvents,\n JbMediaOverlay\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n ChangesBackgroundColor\n} from \"./chunk.7ANACPIR.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-listing-grid/jb-listing-grid.scss?inline\nvar jb_listing_grid_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.title, .title {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.title {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.375rem;\n letter-spacing: calc(var(--letter-spacing-factor, 3) * 0.063rem);\n line-height: 2.25rem;\n}\n@media (min-width: 1281px) {\n .title {\n font-size: 1.75rem;\n letter-spacing: calc(var(--letter-spacing-factor, 4) * 0.063rem);\n line-height: 2.5rem;\n }\n}\n\n.title {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.375rem;\n line-height: 1.75rem;\n}\n@media (min-width: 1281px) {\n .title {\n font-size: 1.75rem;\n line-height: 2.5rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n --items-per-column: 1;\n --column-count: 2;\n display: block;\n}\n\n.listing-grid {\n justify-content: center;\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 0;\n width: 100%;\n}\n@media (min-width: 600px) {\n .listing-grid {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 20px;\n width: 100%;\n }\n}\n@media (min-width: 600px) {\n .listing-grid {\n padding: 0 !important;\n }\n}\n\n.title {\n line-height: 2.25rem;\n margin-bottom: 60px;\n position: relative;\n text-align: center;\n text-transform: uppercase;\n}\n@media (min-width: 960px) {\n .title {\n line-height: 1.75rem;\n }\n}\n@media (min-width: 1281px) {\n .title {\n line-height: 2.25rem;\n margin-bottom: 68px;\n }\n}\n\n.columns {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: 100%;\n}\n@media (min-width: 960px) {\n .columns {\n column-gap: 40px;\n display: grid;\n grid-auto-flow: row;\n grid-template-columns: repeat(var(--column-count), 1fr);\n grid-template-rows: repeat(var(--items-per-column), min-content);\n }\n}\n\n::slotted(jb-listing-item) {\n margin-bottom: 16px;\n width: 100%;\n}\n@media (min-width: 960px) {\n ::slotted(jb-listing-item) {\n width: inherit;\n }\n}`;\n\n// src/components/jb-listing-grid/jb-listing-grid.ts\nvar JbListingGrid = class extends ChangesBackgroundColor(Spaceable(h)) {\n firstUpdated() {\n this.style.setProperty(\n \"--items-per-column\",\n Math.ceil(this._grid.assignedElements().length / this.columns).toString()\n );\n this.style.setProperty(\"--column-count\", this.columns.toString());\n }\n _getContentSpacingProperties() {\n const gridCols = this.variant === \"wide\" ? 12 : void 0;\n return {\n colsMdUp: gridCols,\n horizontal: this.variant ?? void 0,\n type: this.headline ? \"list\" : \"list-without-heading\"\n };\n }\n _tracking(e2) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e2, {\n component_name: \"listing\"\n });\n if (jbTrackingEvent) this.dispatchEvent(jbTrackingEvent);\n }\n render() {\n return ke`\n
    \n ${this.headline ? ke`

    ${this.headline}

    ` : D}\n
    \n \n
    \n
    \n `;\n }\n};\nJbListingGrid.styles = r(jb_listing_grid_default);\n__decorateClass([\n n({ type: Number })\n], JbListingGrid.prototype, \"columns\", 2);\n__decorateClass([\n n()\n], JbListingGrid.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbListingGrid.prototype, \"variant\", 2);\n__decorateClass([\n e(\"slot\")\n], JbListingGrid.prototype, \"_grid\", 2);\nJbListingGrid = __decorateClass([\n customElement(\"jb-listing-grid\")\n], JbListingGrid);\n\nexport {\n JbListingGrid\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-location-overview/jb-location-overview.scss?inline\nvar jb_location_overview_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.wrapper h2, .wrapper, .wrapper h3 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.wrapper h3 {\n font-size: var(--theme-typo-p-big-mobile-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-big-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n .wrapper h3 {\n font-size: var(--theme-typo-p-big-desktop-fontsize, 1.375rem);\n line-height: var(--theme-typo-p-big-desktop-lineheight, 2.125rem);\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n.wrapper {\n column-count: 1;\n gap: 0;\n margin: 0;\n}\n@media (min-width: 600px) {\n .wrapper {\n column-count: 2;\n }\n}\n@media (min-width: 960px) {\n .wrapper {\n column-count: 3;\n }\n}\n.wrapper h2 {\n font-size: 1.375rem;\n letter-spacing: 0.125rem;\n line-height: 100%;\n padding-block-end: var(--spacing-m);\n text-transform: uppercase;\n}\n.wrapper h3 {\n margin-block-end: var(--spacing-2xs);\n}\n.wrapper .region-wrapper {\n break-inside: avoid;\n margin-block-end: var(--spacing-3xl);\n page-break-inside: avoid;\n}\n@media (min-width: 600px) {\n .wrapper .region-wrapper {\n padding-inline: var(--spacing-s);\n }\n}\n.wrapper .region-wrapper .country-wrapper {\n border-block-end: 1px solid rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n display: flex;\n flex-wrap: wrap;\n margin-block-end: var(--spacing-s);\n padding-block-end: calc(var(--spacing-xs) - var(--spacing-2xs));\n}\n.wrapper .region-wrapper .country-wrapper li {\n inline-size: 50%;\n list-style: none;\n padding-block-end: var(--spacing-2xs);\n}\n.wrapper .region-wrapper .country-wrapper li a {\n color: rgba(20, 30, 85, var(--theme-opacity-70, 0.7));\n font-size: 0.625rem;\n font-weight: 500;\n letter-spacing: 0.094rem;\n line-height: 1rem;\n text-decoration: none;\n text-transform: uppercase;\n transition: color 0.3s ease-in-out 0s;\n}\n.wrapper .region-wrapper .country-wrapper li a:hover {\n color: rgba(20, 30, 85, var(--theme-opacity-40, 0.4));\n transition: color 0.3s ease-in-out 0s;\n}`;\n\n// src/components/jb-location-overview/jb-location-overview.ts\nvar JbLocationOverview = class extends Spaceable(h) {\n _getContentSpacingProperties() {\n return { colsMdUp: 12, colsLgUp: 10, grid: true };\n }\n render() {\n return ke`\n
    \n ${this.regions.map(\n (region) => ke`
    \n

    ${region.title}

    \n ${region.countries.map(\n (country) => ke`

    ${country.title}

    \n
    \n ${country.locations.map(\n (location) => ke`
  • ${location.title}
  • `\n )}\n
    `\n )}\n
    `\n )}\n
    \n `;\n }\n};\nJbLocationOverview.styles = r(jb_location_overview_default);\n__decorateClass([\n n({ type: Array })\n], JbLocationOverview.prototype, \"regions\", 2);\nJbLocationOverview = __decorateClass([\n customElement(\"jb-location-overview\")\n], JbLocationOverview);\n\nexport {\n JbLocationOverview\n};\n", "import {\n ae\n} from \"./chunk.Q25FCJRM.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n JBCookie\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-language-alert/jb-language-alert.scss?inline\nvar jb_language_alert_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nstrong {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\nsection p {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nsection {\n align-items: center;\n background-color: #141e55;\n display: flex;\n height: 118px;\n justify-content: center;\n left: 0;\n padding: 0 8px;\n position: fixed;\n right: 0;\n top: 0;\n transform: translateY(0);\n transition: transform 0.2s linear;\n z-index: 551;\n}\n@media (min-width: 960px) {\n section {\n padding: 0 10px;\n }\n}\n@media (min-width: 1281px) {\n section {\n height: 66px;\n padding: 0 30px;\n }\n}\nsection.hidden {\n transform: translateY(-120px);\n}\nsection p {\n font-size: 16px;\n font-size: 1rem;\n line-height: 26px;\n line-height: 1.625rem;\n color: rgba(255, 255, 255, 0.8);\n}\n@media (max-width: 959px) {\n section p {\n text-align: center;\n }\n}\n\n@media print {\n :host {\n display: none;\n }\n}`;\n\n// src/components/jb-language-alert/jb-language-alert.ts\nvar JbLanguageAlert = class extends h {\n constructor() {\n super(...arguments);\n this.texts = {};\n this._isShowing = true;\n this._isVisible = false;\n this._text = \"\";\n }\n events() {\n window.addEventListener(\"scroll\", () => {\n if (window.pageYOffset > 0) {\n if (!this._isShowing) {\n this._isVisible = false;\n } else {\n this._isShowing = false;\n }\n }\n });\n }\n firstUpdated() {\n this.showLanguageAlert();\n }\n getCurrentPageLanguage() {\n return document.querySelector(\"html\").getAttribute(\"lang\");\n }\n shouldBeShown() {\n if (this.forceAlert) {\n return true;\n }\n const cookieLanguage = JBCookie.getI18nCookieData().languageIso2;\n if (!cookieLanguage) {\n return false;\n }\n const currentPageLanguage = this.getCurrentPageLanguage();\n if (!currentPageLanguage) {\n return false;\n }\n return currentPageLanguage !== cookieLanguage;\n }\n showLanguageAlert() {\n if (!this.shouldBeShown()) {\n return;\n }\n this._isVisible = true;\n const languageId = JBCookie.getI18nCookieData().language;\n this._text = this.texts[`language${languageId}`];\n this.events();\n setTimeout(() => {\n this._isVisible = false;\n }, 4e3);\n }\n render() {\n const classes = {\n hidden: !this._isVisible\n };\n return ke`\n \n

    ${ae(this._text)}

    \n \n `;\n }\n};\nJbLanguageAlert.styles = r(jb_language_alert_default);\n__decorateClass([\n n({ type: Boolean })\n], JbLanguageAlert.prototype, \"forceAlert\", 2);\n__decorateClass([\n n({ type: Object })\n], JbLanguageAlert.prototype, \"texts\", 2);\n__decorateClass([\n r2()\n], JbLanguageAlert.prototype, \"_isVisible\", 2);\n__decorateClass([\n r2()\n], JbLanguageAlert.prototype, \"_text\", 2);\nJbLanguageAlert = __decorateClass([\n customElement(\"jb-language-alert\")\n], JbLanguageAlert);\n\nexport {\n JbLanguageAlert\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-lazy-loading-uploads/jb-lazy-loading-uploads.scss?inline\nvar jb_lazy_loading_uploads_default = i`:host {\n display: block;\n width: 100%;\n}\n\nslot {\n display: grid;\n row-gap: 11px;\n}`;\n\n// src/components/jb-lazy-loading-uploads/jb-lazy-loading-uploads.ts\nvar JbLazyLoadingUploads = class extends h {\n firstUpdated() {\n this._uploads = Array.from(this.querySelectorAll(\"jb-upload\"));\n this._showFilledPlusOneEmpty();\n }\n _showFilledPlusOneEmpty() {\n this._uploads.forEach((upload) => {\n upload.style.display = \"none\";\n });\n this._uploads.filter((upload) => upload.isUploaded).forEach((upload) => {\n upload.style.display = \"initial\";\n });\n const firstEmptyField = this._uploads.filter((upload) => !upload.isUploaded).shift();\n if (firstEmptyField) {\n firstEmptyField.style.display = \"initial\";\n }\n }\n render() {\n return ke`
    `;\n }\n};\nJbLazyLoadingUploads.styles = r(jb_lazy_loading_uploads_default);\nJbLazyLoadingUploads = __decorateClass([\n customElement(\"jb-lazy-loading-uploads\")\n], JbLazyLoadingUploads);\n\nexport {\n JbLazyLoadingUploads\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n to\n} from \"./chunk.YTEMICXC.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n ChangesBackgroundColor\n} from \"./chunk.7ANACPIR.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-listing/jb-listing.scss?inline\nvar jb_listing_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.kicker p {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.kicker p {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.375rem;\n line-height: 1.75rem;\n}\n@media (min-width: 1281px) {\n .kicker p {\n font-size: 1.75rem;\n line-height: 2.5rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\n.listing.animate::after {\n background: #141e55;\n right: 100%;\n transition-delay: 0s;\n transition-duration: 0.8s;\n transition-timing-function: ease-in-out;\n}\n.listing.animate:hover::before {\n background: rgba(20, 30, 85, 0.2);\n bottom: 0;\n content: \"\";\n height: 1px;\n position: absolute;\n width: 100%;\n}\n.listing.animate:hover::after {\n background: #141e55;\n left: 0;\n right: 0;\n transition-delay: 0s;\n transition-duration: 0.5s;\n transition-timing-function: ease-in-out;\n}\n\n.kicker {\n margin-bottom: 8px;\n}\n.kicker p {\n color: #141e55;\n font-stretch: normal;\n font-style: normal;\n font-weight: bold;\n letter-spacing: 0.063rem;\n opacity: 0.6;\n text-transform: uppercase;\n font-size: 11px;\n font-size: 0.6875rem;\n line-height: 23px;\n line-height: 1.45rem;\n}\n\njb-section-headline {\n margin-bottom: 60px;\n}\njb-section-headline.center_md_down {\n --headline-text-align: center;\n}\n@media (min-width: 960px) {\n jb-section-headline.center_md_down {\n --headline-text-align: left;\n }\n}\n@media (min-width: 1281px) {\n jb-section-headline {\n margin-bottom: 68px;\n }\n}\n.kicker + jb-section-headline {\n --headline-text-transform: none;\n --headline-letter-spacing: 0;\n --headline-text-align: left;\n margin-bottom: 30px;\n}\n@media (min-width: 1281px) {\n .kicker + jb-section-headline {\n margin-bottom: 34px;\n }\n}\n\njb-listing-filter {\n padding-bottom: 23px;\n}\n\n.filters {\n padding-bottom: 24px;\n}\n\n.list {\n position: relative;\n z-index: 1;\n font-size: 0;\n font-size: 0;\n}\n.list.show-load-more + .m-listing__btn-wrap .button {\n display: inline-block;\n}\n\njb-button-panel {\n margin-top: 24px;\n}\n@media (min-width: 1281px) {\n jb-button-panel {\n margin-top: 32px;\n }\n}\n\njb-event-list-item:not(:last-child),\njb-listing-item:not(:last-child),\njb-news-list-item:not(:last-child) {\n margin-bottom: 20px;\n}\n\njb-event-list-item:not(:defined),\njb-news-list-item:not(:defined) {\n display: block;\n height: 70px;\n}`;\n\n// src/components/jb-listing/jb-listing.ts\nvar JbListing = class extends ChangesBackgroundColor(Spaceable(h)) {\n constructor() {\n super(...arguments);\n this.type = \"listing\";\n this._expanded = false;\n this._filteredItems = [];\n }\n updated(_changedProperties) {\n super.updated(_changedProperties);\n this._hideButtonPanelIfNotNeeded();\n if (!_changedProperties.has(\"_filteredItems\")) {\n this._refreshItemsList();\n }\n }\n firstUpdated(_changedProperties) {\n super.firstUpdated(_changedProperties);\n this._filteredItems = this.items;\n this._refreshItemsList();\n this._stripUselessFilters(this.filters);\n if (this.type === \"news\") {\n import(\"../components/jb-news-list-item/jb-news-list-item.js\").then();\n }\n if (this.type === \"event\") {\n import(\"../components/jb-event-list-item/jb-event-list-item.js\").then();\n }\n }\n _countItemsMatchingFilters(filters) {\n const { length } = this._getMatchingItems(filters);\n return length;\n }\n _getActiveFilter(filterAspect) {\n const activeFilter = this.filters?.find((filter) => filter.filterAspect === filterAspect);\n return activeFilter.activeValue ? activeFilter.activeValue : activeFilter.options[0].value;\n }\n _getActiveFilters() {\n const activeFilters = /* @__PURE__ */ new Map();\n this.filters?.forEach(\n (filter) => activeFilters.set(filter.filterAspect, filter.activeValue ? filter.activeValue : filter.options[0].value)\n );\n return activeFilters;\n }\n _getContentSpacingProperties() {\n const type = this.headline ? \"list\" : \"list-without-heading\";\n const cols = this.variant === \"narrow\" ? 6 : void 0;\n return { colsMdUp: cols, type };\n }\n _getMatchingItems(filters) {\n if (this.items === null) {\n return void 0;\n }\n return this.items?.filter((item) => {\n let compliesWithAllFilters = true;\n [...filters.keys()].forEach((filterAspect) => {\n const value = filters.get(filterAspect);\n if (value === \"\" || value === \"__all\" || value === void 0) {\n return;\n }\n if (!this._matchesFilterValue(item, filterAspect, value)) {\n compliesWithAllFilters = false;\n }\n });\n return compliesWithAllFilters;\n });\n }\n _handleExpandButtonClick(event) {\n event.preventDefault();\n this._expanded = true;\n }\n _handleFilterChange(event) {\n this._setActiveFilter(event.detail.filterAspect, event.detail.newValue);\n this._expanded = false;\n this.requestUpdate();\n }\n _hideButtonPanelIfNotNeeded() {\n if (!this._buttonPanel) {\n return;\n }\n if (!this._buttonsSlot || !this._buttonsSlot.assignedElements().length) {\n this._buttonPanel.style.display = \"none\";\n } else {\n this._buttonPanel.style.removeProperty(\"display\");\n }\n }\n _matchesFilterValue(item, filterAspect, value) {\n return !!item.filterValues?.find(\n (filterValue) => filterValue.filterAspect === filterAspect && filterValue.value === value\n );\n }\n _refreshItemsList() {\n if (this.items.length === 0) {\n return;\n }\n const matchingItems = this.filters === void 0 || this.filters.length === 0 ? this.items : this._getMatchingItems(this._getActiveFilters());\n const itemsToBeShown = this._expanded || !this.truncateAmount ? matchingItems : matchingItems.slice(0, this.truncateAmount);\n this._filteredItems = itemsToBeShown;\n if (matchingItems?.length > 0 && this.truncateAmount && !this._expanded && matchingItems?.length <= this.truncateAmount) {\n this._expanded = true;\n }\n }\n _setActiveFilter(filterAspect, value) {\n const matchingFilter = this.filters?.find((filter) => filter.filterAspect === filterAspect);\n if (!matchingFilter) {\n return;\n }\n matchingFilter.activeValue = value;\n }\n _showExpandButton() {\n if (!this.items || !this.showMoreLabel || !this.truncateAmount || this.truncateAmount < 1 || this._expanded) {\n return false;\n }\n return this.items.length > this.truncateAmount;\n }\n _stripUselessFilters(filters) {\n if (filters === void 0 || this.items.length === 0) {\n return void 0;\n }\n const usefulFilters = [];\n const actualParentFilters = /* @__PURE__ */ new Map();\n filters.forEach((filter) => {\n const usefulFilter = { ...filter };\n const usefulFilterOptions = [];\n filter.options.forEach((option) => {\n let optionIsUseful;\n if (option.value === \"__all\") {\n optionIsUseful = true;\n } else {\n const simulateFilters = new Map(JSON.parse(JSON.stringify(Array.from(actualParentFilters))));\n simulateFilters.set(filter.filterAspect, option.value);\n const filterOptionMatchCount = this._countItemsMatchingFilters(\n simulateFilters\n );\n optionIsUseful = !(filterOptionMatchCount === 0);\n }\n if (!optionIsUseful) {\n return;\n }\n usefulFilterOptions.push(option);\n });\n usefulFilter.options = usefulFilterOptions;\n actualParentFilters.set(filter.filterAspect, this._getActiveFilter(filter.filterAspect));\n if (usefulFilter.options.length < 1) {\n this._setActiveFilter(filter.filterAspect, void 0);\n return;\n }\n const activeUsefulOption = usefulFilter.options.find(\n (option) => option.value === this._getActiveFilter(filter.filterAspect)\n );\n if (!activeUsefulOption) {\n this._setActiveFilter(filter.filterAspect, usefulFilter.options[0].value);\n }\n usefulFilters.push(usefulFilter);\n });\n return usefulFilters;\n }\n _tracking(e2) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e2, {\n component_name: \"listing\"\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n }\n render() {\n const effectiveFilters = this._stripUselessFilters(this.filters);\n return ke`\n
    \n ${this.kicker ? ke`

    ${this.kicker}

    ` : D}\n ${this.headline && ke` `}\n ${effectiveFilters ? ke`\n
    \n ${effectiveFilters.map(\n (filter) => ke` `\n )}\n
    \n ` : D}\n\n
    \n ${this._filteredItems && this.type === \"news\" ? this._filteredItems.map(\n (newsItem) => ke`\n \n `\n ) : D}\n ${this._filteredItems && this.type === \"listing\" ? this._filteredItems.map(\n (listingItem) => ke`\n \n `\n ) : D}\n ${this._filteredItems && this.type === \"event\" ? this._filteredItems.map(\n (eventItem) => ke`\n \n `\n ) : D}\n
    \n ${this._showExpandButton() ? ke`\n \n \n \n ` : D}\n \n \n \n
    \n `;\n }\n};\nJbListing.styles = r(jb_listing_default);\n__decorateClass([\n n({ type: Array })\n], JbListing.prototype, \"filters\", 2);\n__decorateClass([\n n()\n], JbListing.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbListing.prototype, \"headlineAlign\", 2);\n__decorateClass([\n n({ type: Array })\n], JbListing.prototype, \"items\", 2);\n__decorateClass([\n n()\n], JbListing.prototype, \"kicker\", 2);\n__decorateClass([\n n()\n], JbListing.prototype, \"languageBadge\", 2);\n__decorateClass([\n n()\n], JbListing.prototype, \"showMoreLabel\", 2);\n__decorateClass([\n n({ type: Number })\n], JbListing.prototype, \"truncateAmount\", 2);\n__decorateClass([\n n()\n], JbListing.prototype, \"type\", 2);\n__decorateClass([\n n()\n], JbListing.prototype, \"variant\", 2);\n__decorateClass([\n e(\"jb-button-panel[data-buttons]\")\n], JbListing.prototype, \"_buttonPanel\", 2);\n__decorateClass([\n e('slot[name=\"buttons\"]')\n], JbListing.prototype, \"_buttonsSlot\", 2);\n__decorateClass([\n r2()\n], JbListing.prototype, \"_expanded\", 2);\n__decorateClass([\n r2()\n], JbListing.prototype, \"_filteredItems\", 2);\nJbListing = __decorateClass([\n customElement(\"jb-listing\")\n], JbListing);\n\nexport {\n JbListing\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-listing-filter/jb-listing-filter.scss?inline\nvar jb_listing_filter_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\nli {\n -moz-osx-font-smoothing: grayscale;\n overflow: hidden;\n position: relative;\n transform: translateZ(0);\n}\nli::before {\n animation-direction: reverse;\n background-color: rgba(241, 242, 242, 0.3);\n bottom: 0;\n content: \"\";\n height: 66%;\n left: 0;\n position: absolute;\n transition: height 0.9s ease-out 0.2s;\n width: 1px;\n}\nli::after {\n background: #fff;\n bottom: 0;\n content: \"\";\n height: 1px;\n left: 0;\n position: absolute;\n right: 50%;\n transition: right 0.9s ease-out 0.2s;\n}\n\n/* stylelint-disable */\n/* stylelint-enable */\na {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\na {\n font-size: var(--theme-typo-uppercase-700-fontsize, 0.688rem);\n letter-spacing: var(--theme-typo-uppercase-700-letterspacing, 0.063rem);\n line-height: var(--theme-typo-uppercase-700-lineheight, 1rem);\n text-transform: uppercase;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: flex;\n justify-content: center;\n}\n\nul {\n display: flex;\n gap: var(--spacing-xs);\n list-style-type: none;\n overflow-x: auto;\n white-space: nowrap;\n}\n\nli {\n display: inline-flex;\n min-height: 0;\n opacity: 0.4;\n overflow: visible;\n padding-block: var(--spacing-base);\n transition: opacity 0.4s ease-in-out 0s;\n white-space: nowrap;\n}\nli::before {\n background-color: transparent;\n border-bottom: 1px solid rgb(var(--theme-color-royal-blue, 20 30 85)/var(--theme-opacity-20, 0.2));\n height: 1px;\n width: 100%;\n}\nli::after {\n background: rgb(var(--theme-color-blue, 0 20 137));\n right: 100%;\n}\nli:hover, li.active {\n opacity: 1;\n}\nli:hover::after, li.active::after {\n right: 0 !important;\n transition-duration: 0.5s !important;\n}\n\na {\n color: rgb(var(--theme-color-royal-blue, 20 30 85));\n text-decoration: none;\n}\n\n.intranet {\n gap: var(--spacing-3xs);\n}\n.intranet li {\n padding-block: var(--spacing-base);\n padding-inline: var(--spacing-3xs);\n transition: background-color 0.2s ease-in-out 0s, color 0.2s ease-in-out 0s;\n}\n.intranet li a {\n color: inherit;\n}\n.intranet li:hover, .intranet li.active {\n background-color: rgb(var(--theme-color-royal-blue, 20 30 85));\n color: rgb(var(--theme-color-white, 255 255 255));\n}\n.intranet li::before {\n all: unset;\n}\n.intranet li::after {\n all: unset;\n}`;\n\n// src/components/jb-listing-filter/jb-listing-filter.ts\nvar JbListingFilter = class extends h {\n constructor() {\n super(...arguments);\n this.intranetStyle = false;\n }\n _handleFilterClick(event) {\n event.preventDefault();\n const newValue = event.target.dataset.filterValue;\n if (this.activeValue === newValue) {\n return;\n }\n this.activeValue = newValue;\n this.dispatchEvent(\n new CustomEvent(\"jb-listing-filter:change\", {\n detail: {\n filterAspect: this.filterAspect,\n newValue\n },\n bubbles: true,\n composed: true\n })\n );\n this.requestUpdate();\n }\n render() {\n return ke`\n
      \n ${this.options.map(\n (option) => ke`
    • \n ${option.label}\n
    • `\n )}\n
    \n `;\n }\n};\nJbListingFilter.styles = r(jb_listing_filter_default);\n__decorateClass([\n n()\n], JbListingFilter.prototype, \"activeValue\", 2);\n__decorateClass([\n n()\n], JbListingFilter.prototype, \"filterAspect\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbListingFilter.prototype, \"intranetStyle\", 2);\n__decorateClass([\n n({ type: Array })\n], JbListingFilter.prototype, \"options\", 2);\nJbListingFilter = __decorateClass([\n customElement(\"jb-listing-filter\")\n], JbListingFilter);\n\nexport {\n JbListingFilter\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-info-page-hero/jb-info-page-hero.scss?inline\nvar jb_info_page_hero_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\np {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh1 {\n font-family: var(--theme-font-xlight-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-xlight-weight, 200);\n}\n\nh1 {\n font-size: var(--theme-typo-h1-overview-mobile-fontsize, 1.75rem);\n letter-spacing: var(--theme-typo-h1-overview-mobile-letterspacing, 0.094rem);\n line-height: var(--theme-typo-h1-overview-mobile-lineheight, 2.5rem);\n}\n@media (min-width: 1281px) {\n h1 {\n font-size: var(--theme-typo-h1-overview-desktop-fontsize, 3.125rem);\n letter-spacing: var(--theme-typo-h1-overview-desktop-letterspacing, 0.25rem);\n line-height: var(--theme-typo-h1-overview-desktop-lineheight, 4.375rem);\n }\n}\n\np {\n font-size: var(--theme-typo-p-big-mobile-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-big-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n p {\n font-size: var(--theme-typo-p-big-desktop-fontsize, 1.375rem);\n line-height: var(--theme-typo-p-big-desktop-lineheight, 2.125rem);\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\ndiv {\n padding: 0;\n text-align: center;\n}\n\nh1 {\n margin-block: 40px;\n text-transform: uppercase;\n}\n@media (max-width: 1280px) {\n h1 {\n margin-bottom: 20px;\n margin-top: 0;\n }\n}\n\np {\n margin: 32px auto 0;\n}\n@media (min-width: 1281px) {\n p {\n margin-bottom: 20px;\n }\n}\n\n::slotted(jb-breadcrumbs) {\n display: block;\n margin-bottom: 24px;\n}\n@media (min-width: 1281px) {\n ::slotted(jb-breadcrumbs) {\n margin-bottom: 50px;\n }\n}`;\n\n// src/components/jb-info-page-hero/jb-info-page-hero.ts\nvar JbInfoPageHero = class extends Spaceable(h) {\n _getContentSpacingProperties() {\n return { colsMdUp: 10, type: \"no-vertical-space\" };\n }\n render() {\n return ke`\n
    \n \n

    ${this.header}

    \n ${this.subheader ? ke`

    ${this.subheader}

    ` : D}\n
    \n `;\n }\n};\nJbInfoPageHero.styles = r(jb_info_page_hero_default);\n__decorateClass([\n n()\n], JbInfoPageHero.prototype, \"header\", 2);\n__decorateClass([\n n()\n], JbInfoPageHero.prototype, \"subheader\", 2);\nJbInfoPageHero = __decorateClass([\n customElement(\"jb-info-page-hero\")\n], JbInfoPageHero);\n\nexport {\n JbInfoPageHero\n};\n", "import {\n LazyLoadingHandler_default\n} from \"./chunk.ZXFS3F4J.js\";\nimport {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-interactive-animation/jb-interactive-animation.ts\nvar JbInteractiveAnimation = class extends Spaceable(h) {\n firstUpdated() {\n LazyLoadingHandler_default.observe(\n this,\n async () => {\n await import(\"./lottie-player.esm.E5CIQAMJ.js\");\n },\n \"approachingViewport\"\n );\n this._lottiePlayer?.addEventListener(\"play\", () => {\n this.links?.forEach((link) => {\n this._lottiePlayer?.shadowRoot?.querySelectorAll(link.selector).forEach((element) => {\n element.style.cursor = \"pointer\";\n element.addEventListener(\"click\", () => {\n window.location.href = link.href;\n });\n });\n });\n });\n }\n render() {\n return ke`\n \n `;\n }\n};\n__decorateClass([\n n()\n], JbInteractiveAnimation.prototype, \"animationFile\", 2);\n__decorateClass([\n n({ type: Array })\n], JbInteractiveAnimation.prototype, \"links\", 2);\n__decorateClass([\n e(\"lottie-player\")\n], JbInteractiveAnimation.prototype, \"_lottiePlayer\", 2);\nJbInteractiveAnimation = __decorateClass([\n customElement(\"jb-interactive-animation\")\n], JbInteractiveAnimation);\n\nexport {\n JbInteractiveAnimation\n};\n", "import {\n gsapWithCSS\n} from \"./chunk.LXB4MYP4.js\";\nimport {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n ChangesBackgroundColor\n} from \"./chunk.7ANACPIR.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __commonJS,\n __decorateClass,\n __toESM\n} from \"./chunk.I4IFG4JG.js\";\n\n// node_modules/gsap/dist/ScrollTrigger.js\nvar require_ScrollTrigger = __commonJS({\n \"node_modules/gsap/dist/ScrollTrigger.js\"(exports, module) {\n (function(global, factory) {\n typeof exports === \"object\" && typeof module !== \"undefined\" ? factory(exports) : typeof define === \"function\" && define.amd ? define([\"exports\"], factory) : (global = global || self, factory(global.window = global.window || {}));\n })(exports, function(exports2) {\n \"use strict\";\n function _defineProperties(target, props) {\n for (var i3 = 0; i3 < props.length; i3++) {\n var descriptor = props[i3];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n var gsap, _coreInitted, _clamp, _win, _doc, _docEl, _body, _isTouch, _pointerType, ScrollTrigger2, _root, _normalizer, _eventTypes, _context, _getGSAP = function _getGSAP2() {\n return gsap || typeof window !== \"undefined\" && (gsap = window.gsap) && gsap.registerPlugin && gsap;\n }, _startup = 1, _observers = [], _scrollers = [], _proxies = [], _getTime = Date.now, _bridge = function _bridge2(name, value) {\n return value;\n }, _integrate = function _integrate2() {\n var core = ScrollTrigger2.core, data = core.bridge || {}, scrollers = core._scrollers, proxies = core._proxies;\n scrollers.push.apply(scrollers, _scrollers);\n proxies.push.apply(proxies, _proxies);\n _scrollers = scrollers;\n _proxies = proxies;\n _bridge = function _bridge2(name, value) {\n return data[name](value);\n };\n }, _getProxyProp = function _getProxyProp2(element, property) {\n return ~_proxies.indexOf(element) && _proxies[_proxies.indexOf(element) + 1][property];\n }, _isViewport = function _isViewport2(el) {\n return !!~_root.indexOf(el);\n }, _addListener = function _addListener2(element, type, func, passive, capture) {\n return element.addEventListener(type, func, {\n passive: passive !== false,\n capture: !!capture\n });\n }, _removeListener = function _removeListener2(element, type, func, capture) {\n return element.removeEventListener(type, func, !!capture);\n }, _scrollLeft = \"scrollLeft\", _scrollTop = \"scrollTop\", _onScroll = function _onScroll2() {\n return _normalizer && _normalizer.isPressed || _scrollers.cache++;\n }, _scrollCacheFunc = function _scrollCacheFunc2(f, doNotCache) {\n var cachingFunc = function cachingFunc2(value) {\n if (value || value === 0) {\n _startup && (_win.history.scrollRestoration = \"manual\");\n var isNormalizing = _normalizer && _normalizer.isPressed;\n value = cachingFunc2.v = Math.round(value) || (_normalizer && _normalizer.iOS ? 1 : 0);\n f(value);\n cachingFunc2.cacheID = _scrollers.cache;\n isNormalizing && _bridge(\"ss\", value);\n } else if (doNotCache || _scrollers.cache !== cachingFunc2.cacheID || _bridge(\"ref\")) {\n cachingFunc2.cacheID = _scrollers.cache;\n cachingFunc2.v = f();\n }\n return cachingFunc2.v + cachingFunc2.offset;\n };\n cachingFunc.offset = 0;\n return f && cachingFunc;\n }, _horizontal = {\n s: _scrollLeft,\n p: \"left\",\n p2: \"Left\",\n os: \"right\",\n os2: \"Right\",\n d: \"width\",\n d2: \"Width\",\n a: \"x\",\n sc: _scrollCacheFunc(function(value) {\n return arguments.length ? _win.scrollTo(value, _vertical.sc()) : _win.pageXOffset || _doc[_scrollLeft] || _docEl[_scrollLeft] || _body[_scrollLeft] || 0;\n })\n }, _vertical = {\n s: _scrollTop,\n p: \"top\",\n p2: \"Top\",\n os: \"bottom\",\n os2: \"Bottom\",\n d: \"height\",\n d2: \"Height\",\n a: \"y\",\n op: _horizontal,\n sc: _scrollCacheFunc(function(value) {\n return arguments.length ? _win.scrollTo(_horizontal.sc(), value) : _win.pageYOffset || _doc[_scrollTop] || _docEl[_scrollTop] || _body[_scrollTop] || 0;\n })\n }, _getTarget = function _getTarget2(t2, self2) {\n return (self2 && self2._ctx && self2._ctx.selector || gsap.utils.toArray)(t2)[0] || (typeof t2 === \"string\" && gsap.config().nullTargetWarn !== false ? console.warn(\"Element not found:\", t2) : null);\n }, _getScrollFunc = function _getScrollFunc2(element, _ref) {\n var s = _ref.s, sc = _ref.sc;\n _isViewport(element) && (element = _doc.scrollingElement || _docEl);\n var i3 = _scrollers.indexOf(element), offset = sc === _vertical.sc ? 1 : 2;\n !~i3 && (i3 = _scrollers.push(element) - 1);\n _scrollers[i3 + offset] || _addListener(element, \"scroll\", _onScroll);\n var prev = _scrollers[i3 + offset], func = prev || (_scrollers[i3 + offset] = _scrollCacheFunc(_getProxyProp(element, s), true) || (_isViewport(element) ? sc : _scrollCacheFunc(function(value) {\n return arguments.length ? element[s] = value : element[s];\n })));\n func.target = element;\n prev || (func.smooth = gsap.getProperty(element, \"scrollBehavior\") === \"smooth\");\n return func;\n }, _getVelocityProp = function _getVelocityProp2(value, minTimeRefresh, useDelta) {\n var v1 = value, v2 = value, t1 = _getTime(), t2 = t1, min = minTimeRefresh || 50, dropToZeroTime = Math.max(500, min * 3), update = function update2(value2, force) {\n var t3 = _getTime();\n if (force || t3 - t1 > min) {\n v2 = v1;\n v1 = value2;\n t2 = t1;\n t1 = t3;\n } else if (useDelta) {\n v1 += value2;\n } else {\n v1 = v2 + (value2 - v2) / (t3 - t2) * (t1 - t2);\n }\n }, reset = function reset2() {\n v2 = v1 = useDelta ? 0 : v1;\n t2 = t1 = 0;\n }, getVelocity = function getVelocity2(latestValue) {\n var tOld = t2, vOld = v2, t3 = _getTime();\n (latestValue || latestValue === 0) && latestValue !== v1 && update(latestValue);\n return t1 === t2 || t3 - t2 > dropToZeroTime ? 0 : (v1 + (useDelta ? vOld : -vOld)) / ((useDelta ? t3 : t1) - tOld) * 1e3;\n };\n return {\n update,\n reset,\n getVelocity\n };\n }, _getEvent = function _getEvent2(e, preventDefault) {\n preventDefault && !e._gsapAllow && e.preventDefault();\n return e.changedTouches ? e.changedTouches[0] : e;\n }, _getAbsoluteMax = function _getAbsoluteMax2(a) {\n var max = Math.max.apply(Math, a), min = Math.min.apply(Math, a);\n return Math.abs(max) >= Math.abs(min) ? max : min;\n }, _setScrollTrigger = function _setScrollTrigger2() {\n ScrollTrigger2 = gsap.core.globals().ScrollTrigger;\n ScrollTrigger2 && ScrollTrigger2.core && _integrate();\n }, _initCore = function _initCore2(core) {\n gsap = core || _getGSAP();\n if (!_coreInitted && gsap && typeof document !== \"undefined\" && document.body) {\n _win = window;\n _doc = document;\n _docEl = _doc.documentElement;\n _body = _doc.body;\n _root = [_win, _doc, _docEl, _body];\n _clamp = gsap.utils.clamp;\n _context = gsap.core.context || function() {\n };\n _pointerType = \"onpointerenter\" in _body ? \"pointer\" : \"mouse\";\n _isTouch = Observer.isTouch = _win.matchMedia && _win.matchMedia(\"(hover: none), (pointer: coarse)\").matches ? 1 : \"ontouchstart\" in _win || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0 ? 2 : 0;\n _eventTypes = Observer.eventTypes = (\"ontouchstart\" in _docEl ? \"touchstart,touchmove,touchcancel,touchend\" : !(\"onpointerdown\" in _docEl) ? \"mousedown,mousemove,mouseup,mouseup\" : \"pointerdown,pointermove,pointercancel,pointerup\").split(\",\");\n setTimeout(function() {\n return _startup = 0;\n }, 500);\n _setScrollTrigger();\n _coreInitted = 1;\n }\n return _coreInitted;\n };\n _horizontal.op = _vertical;\n _scrollers.cache = 0;\n var Observer = function() {\n function Observer2(vars) {\n this.init(vars);\n }\n var _proto = Observer2.prototype;\n _proto.init = function init(vars) {\n _coreInitted || _initCore(gsap) || console.warn(\"Please gsap.registerPlugin(Observer)\");\n ScrollTrigger2 || _setScrollTrigger();\n var tolerance = vars.tolerance, dragMinimum = vars.dragMinimum, type = vars.type, target = vars.target, lineHeight = vars.lineHeight, debounce = vars.debounce, preventDefault = vars.preventDefault, onStop = vars.onStop, onStopDelay = vars.onStopDelay, ignore = vars.ignore, wheelSpeed = vars.wheelSpeed, event = vars.event, onDragStart = vars.onDragStart, onDragEnd = vars.onDragEnd, onDrag = vars.onDrag, onPress = vars.onPress, onRelease = vars.onRelease, onRight = vars.onRight, onLeft = vars.onLeft, onUp = vars.onUp, onDown = vars.onDown, onChangeX = vars.onChangeX, onChangeY = vars.onChangeY, onChange = vars.onChange, onToggleX = vars.onToggleX, onToggleY = vars.onToggleY, onHover = vars.onHover, onHoverEnd = vars.onHoverEnd, onMove = vars.onMove, ignoreCheck = vars.ignoreCheck, isNormalizer = vars.isNormalizer, onGestureStart = vars.onGestureStart, onGestureEnd = vars.onGestureEnd, onWheel = vars.onWheel, onEnable = vars.onEnable, onDisable = vars.onDisable, onClick = vars.onClick, scrollSpeed = vars.scrollSpeed, capture = vars.capture, allowClicks = vars.allowClicks, lockAxis = vars.lockAxis, onLockAxis = vars.onLockAxis;\n this.target = target = _getTarget(target) || _docEl;\n this.vars = vars;\n ignore && (ignore = gsap.utils.toArray(ignore));\n tolerance = tolerance || 1e-9;\n dragMinimum = dragMinimum || 0;\n wheelSpeed = wheelSpeed || 1;\n scrollSpeed = scrollSpeed || 1;\n type = type || \"wheel,touch,pointer\";\n debounce = debounce !== false;\n lineHeight || (lineHeight = parseFloat(_win.getComputedStyle(_body).lineHeight) || 22);\n var id, onStopDelayedCall, dragged, moved, wheeled, locked, axis, self2 = this, prevDeltaX = 0, prevDeltaY = 0, passive = vars.passive || !preventDefault, scrollFuncX = _getScrollFunc(target, _horizontal), scrollFuncY = _getScrollFunc(target, _vertical), scrollX = scrollFuncX(), scrollY = scrollFuncY(), limitToTouch = ~type.indexOf(\"touch\") && !~type.indexOf(\"pointer\") && _eventTypes[0] === \"pointerdown\", isViewport = _isViewport(target), ownerDoc = target.ownerDocument || _doc, deltaX = [0, 0, 0], deltaY = [0, 0, 0], onClickTime = 0, clickCapture = function clickCapture2() {\n return onClickTime = _getTime();\n }, _ignoreCheck = function _ignoreCheck2(e, isPointerOrTouch) {\n return (self2.event = e) && ignore && ~ignore.indexOf(e.target) || isPointerOrTouch && limitToTouch && e.pointerType !== \"touch\" || ignoreCheck && ignoreCheck(e, isPointerOrTouch);\n }, onStopFunc = function onStopFunc2() {\n self2._vx.reset();\n self2._vy.reset();\n onStopDelayedCall.pause();\n onStop && onStop(self2);\n }, update = function update2() {\n var dx = self2.deltaX = _getAbsoluteMax(deltaX), dy = self2.deltaY = _getAbsoluteMax(deltaY), changedX = Math.abs(dx) >= tolerance, changedY = Math.abs(dy) >= tolerance;\n onChange && (changedX || changedY) && onChange(self2, dx, dy, deltaX, deltaY);\n if (changedX) {\n onRight && self2.deltaX > 0 && onRight(self2);\n onLeft && self2.deltaX < 0 && onLeft(self2);\n onChangeX && onChangeX(self2);\n onToggleX && self2.deltaX < 0 !== prevDeltaX < 0 && onToggleX(self2);\n prevDeltaX = self2.deltaX;\n deltaX[0] = deltaX[1] = deltaX[2] = 0;\n }\n if (changedY) {\n onDown && self2.deltaY > 0 && onDown(self2);\n onUp && self2.deltaY < 0 && onUp(self2);\n onChangeY && onChangeY(self2);\n onToggleY && self2.deltaY < 0 !== prevDeltaY < 0 && onToggleY(self2);\n prevDeltaY = self2.deltaY;\n deltaY[0] = deltaY[1] = deltaY[2] = 0;\n }\n if (moved || dragged) {\n onMove && onMove(self2);\n if (dragged) {\n onDrag(self2);\n dragged = false;\n }\n moved = false;\n }\n locked && !(locked = false) && onLockAxis && onLockAxis(self2);\n if (wheeled) {\n onWheel(self2);\n wheeled = false;\n }\n id = 0;\n }, onDelta = function onDelta2(x, y, index) {\n deltaX[index] += x;\n deltaY[index] += y;\n self2._vx.update(x);\n self2._vy.update(y);\n debounce ? id || (id = requestAnimationFrame(update)) : update();\n }, onTouchOrPointerDelta = function onTouchOrPointerDelta2(x, y) {\n if (lockAxis && !axis) {\n self2.axis = axis = Math.abs(x) > Math.abs(y) ? \"x\" : \"y\";\n locked = true;\n }\n if (axis !== \"y\") {\n deltaX[2] += x;\n self2._vx.update(x, true);\n }\n if (axis !== \"x\") {\n deltaY[2] += y;\n self2._vy.update(y, true);\n }\n debounce ? id || (id = requestAnimationFrame(update)) : update();\n }, _onDrag = function _onDrag2(e) {\n if (_ignoreCheck(e, 1)) {\n return;\n }\n e = _getEvent(e, preventDefault);\n var x = e.clientX, y = e.clientY, dx = x - self2.x, dy = y - self2.y, isDragging = self2.isDragging;\n self2.x = x;\n self2.y = y;\n if (isDragging || Math.abs(self2.startX - x) >= dragMinimum || Math.abs(self2.startY - y) >= dragMinimum) {\n onDrag && (dragged = true);\n isDragging || (self2.isDragging = true);\n onTouchOrPointerDelta(dx, dy);\n isDragging || onDragStart && onDragStart(self2);\n }\n }, _onPress = self2.onPress = function(e) {\n if (_ignoreCheck(e, 1) || e && e.button) {\n return;\n }\n self2.axis = axis = null;\n onStopDelayedCall.pause();\n self2.isPressed = true;\n e = _getEvent(e);\n prevDeltaX = prevDeltaY = 0;\n self2.startX = self2.x = e.clientX;\n self2.startY = self2.y = e.clientY;\n self2._vx.reset();\n self2._vy.reset();\n _addListener(isNormalizer ? target : ownerDoc, _eventTypes[1], _onDrag, passive, true);\n self2.deltaX = self2.deltaY = 0;\n onPress && onPress(self2);\n }, _onRelease = self2.onRelease = function(e) {\n if (_ignoreCheck(e, 1)) {\n return;\n }\n _removeListener(isNormalizer ? target : ownerDoc, _eventTypes[1], _onDrag, true);\n var isTrackingDrag = !isNaN(self2.y - self2.startY), wasDragging = self2.isDragging, isDragNotClick = wasDragging && (Math.abs(self2.x - self2.startX) > 3 || Math.abs(self2.y - self2.startY) > 3), eventData = _getEvent(e);\n if (!isDragNotClick && isTrackingDrag) {\n self2._vx.reset();\n self2._vy.reset();\n if (preventDefault && allowClicks) {\n gsap.delayedCall(0.08, function() {\n if (_getTime() - onClickTime > 300 && !e.defaultPrevented) {\n if (e.target.click) {\n e.target.click();\n } else if (ownerDoc.createEvent) {\n var syntheticEvent = ownerDoc.createEvent(\"MouseEvents\");\n syntheticEvent.initMouseEvent(\"click\", true, true, _win, 1, eventData.screenX, eventData.screenY, eventData.clientX, eventData.clientY, false, false, false, false, 0, null);\n e.target.dispatchEvent(syntheticEvent);\n }\n }\n });\n }\n }\n self2.isDragging = self2.isGesturing = self2.isPressed = false;\n onStop && wasDragging && !isNormalizer && onStopDelayedCall.restart(true);\n onDragEnd && wasDragging && onDragEnd(self2);\n onRelease && onRelease(self2, isDragNotClick);\n }, _onGestureStart = function _onGestureStart2(e) {\n return e.touches && e.touches.length > 1 && (self2.isGesturing = true) && onGestureStart(e, self2.isDragging);\n }, _onGestureEnd = function _onGestureEnd2() {\n return (self2.isGesturing = false) || onGestureEnd(self2);\n }, onScroll = function onScroll2(e) {\n if (_ignoreCheck(e)) {\n return;\n }\n var x = scrollFuncX(), y = scrollFuncY();\n onDelta((x - scrollX) * scrollSpeed, (y - scrollY) * scrollSpeed, 1);\n scrollX = x;\n scrollY = y;\n onStop && onStopDelayedCall.restart(true);\n }, _onWheel = function _onWheel2(e) {\n if (_ignoreCheck(e)) {\n return;\n }\n e = _getEvent(e, preventDefault);\n onWheel && (wheeled = true);\n var multiplier = (e.deltaMode === 1 ? lineHeight : e.deltaMode === 2 ? _win.innerHeight : 1) * wheelSpeed;\n onDelta(e.deltaX * multiplier, e.deltaY * multiplier, 0);\n onStop && !isNormalizer && onStopDelayedCall.restart(true);\n }, _onMove = function _onMove2(e) {\n if (_ignoreCheck(e)) {\n return;\n }\n var x = e.clientX, y = e.clientY, dx = x - self2.x, dy = y - self2.y;\n self2.x = x;\n self2.y = y;\n moved = true;\n onStop && onStopDelayedCall.restart(true);\n (dx || dy) && onTouchOrPointerDelta(dx, dy);\n }, _onHover = function _onHover2(e) {\n self2.event = e;\n onHover(self2);\n }, _onHoverEnd = function _onHoverEnd2(e) {\n self2.event = e;\n onHoverEnd(self2);\n }, _onClick = function _onClick2(e) {\n return _ignoreCheck(e) || _getEvent(e, preventDefault) && onClick(self2);\n };\n onStopDelayedCall = self2._dc = gsap.delayedCall(onStopDelay || 0.25, onStopFunc).pause();\n self2.deltaX = self2.deltaY = 0;\n self2._vx = _getVelocityProp(0, 50, true);\n self2._vy = _getVelocityProp(0, 50, true);\n self2.scrollX = scrollFuncX;\n self2.scrollY = scrollFuncY;\n self2.isDragging = self2.isGesturing = self2.isPressed = false;\n _context(this);\n self2.enable = function(e) {\n if (!self2.isEnabled) {\n _addListener(isViewport ? ownerDoc : target, \"scroll\", _onScroll);\n type.indexOf(\"scroll\") >= 0 && _addListener(isViewport ? ownerDoc : target, \"scroll\", onScroll, passive, capture);\n type.indexOf(\"wheel\") >= 0 && _addListener(target, \"wheel\", _onWheel, passive, capture);\n if (type.indexOf(\"touch\") >= 0 && _isTouch || type.indexOf(\"pointer\") >= 0) {\n _addListener(target, _eventTypes[0], _onPress, passive, capture);\n _addListener(ownerDoc, _eventTypes[2], _onRelease);\n _addListener(ownerDoc, _eventTypes[3], _onRelease);\n allowClicks && _addListener(target, \"click\", clickCapture, true, true);\n onClick && _addListener(target, \"click\", _onClick);\n onGestureStart && _addListener(ownerDoc, \"gesturestart\", _onGestureStart);\n onGestureEnd && _addListener(ownerDoc, \"gestureend\", _onGestureEnd);\n onHover && _addListener(target, _pointerType + \"enter\", _onHover);\n onHoverEnd && _addListener(target, _pointerType + \"leave\", _onHoverEnd);\n onMove && _addListener(target, _pointerType + \"move\", _onMove);\n }\n self2.isEnabled = true;\n e && e.type && _onPress(e);\n onEnable && onEnable(self2);\n }\n return self2;\n };\n self2.disable = function() {\n if (self2.isEnabled) {\n _observers.filter(function(o) {\n return o !== self2 && _isViewport(o.target);\n }).length || _removeListener(isViewport ? ownerDoc : target, \"scroll\", _onScroll);\n if (self2.isPressed) {\n self2._vx.reset();\n self2._vy.reset();\n _removeListener(isNormalizer ? target : ownerDoc, _eventTypes[1], _onDrag, true);\n }\n _removeListener(isViewport ? ownerDoc : target, \"scroll\", onScroll, capture);\n _removeListener(target, \"wheel\", _onWheel, capture);\n _removeListener(target, _eventTypes[0], _onPress, capture);\n _removeListener(ownerDoc, _eventTypes[2], _onRelease);\n _removeListener(ownerDoc, _eventTypes[3], _onRelease);\n _removeListener(target, \"click\", clickCapture, true);\n _removeListener(target, \"click\", _onClick);\n _removeListener(ownerDoc, \"gesturestart\", _onGestureStart);\n _removeListener(ownerDoc, \"gestureend\", _onGestureEnd);\n _removeListener(target, _pointerType + \"enter\", _onHover);\n _removeListener(target, _pointerType + \"leave\", _onHoverEnd);\n _removeListener(target, _pointerType + \"move\", _onMove);\n self2.isEnabled = self2.isPressed = self2.isDragging = false;\n onDisable && onDisable(self2);\n }\n };\n self2.kill = self2.revert = function() {\n self2.disable();\n var i3 = _observers.indexOf(self2);\n i3 >= 0 && _observers.splice(i3, 1);\n _normalizer === self2 && (_normalizer = 0);\n };\n _observers.push(self2);\n isNormalizer && _isViewport(target) && (_normalizer = self2);\n self2.enable(event);\n };\n _createClass(Observer2, [{\n key: \"velocityX\",\n get: function get() {\n return this._vx.getVelocity();\n }\n }, {\n key: \"velocityY\",\n get: function get() {\n return this._vy.getVelocity();\n }\n }]);\n return Observer2;\n }();\n Observer.version = \"3.12.5\";\n Observer.create = function(vars) {\n return new Observer(vars);\n };\n Observer.register = _initCore;\n Observer.getAll = function() {\n return _observers.slice();\n };\n Observer.getById = function(id) {\n return _observers.filter(function(o) {\n return o.vars.id === id;\n })[0];\n };\n _getGSAP() && gsap.registerPlugin(Observer);\n var gsap$1, _coreInitted$1, _win$1, _doc$1, _docEl$1, _body$1, _root$1, _resizeDelay, _toArray, _clamp$1, _time2, _syncInterval, _refreshing, _pointerIsDown, _transformProp, _i, _prevWidth, _prevHeight, _autoRefresh, _sort, _suppressOverwrites, _ignoreResize, _normalizer$1, _ignoreMobileResize, _baseScreenHeight, _baseScreenWidth, _fixIOSBug, _context$1, _scrollRestoration, _div100vh, _100vh, _isReverted, _clampingMax, _limitCallbacks, _startup$1 = 1, _getTime$1 = Date.now, _time1 = _getTime$1(), _lastScrollTime = 0, _enabled = 0, _parseClamp = function _parseClamp2(value, type, self2) {\n var clamp = _isString(value) && (value.substr(0, 6) === \"clamp(\" || value.indexOf(\"max\") > -1);\n self2[\"_\" + type + \"Clamp\"] = clamp;\n return clamp ? value.substr(6, value.length - 7) : value;\n }, _keepClamp = function _keepClamp2(value, clamp) {\n return clamp && (!_isString(value) || value.substr(0, 6) !== \"clamp(\") ? \"clamp(\" + value + \")\" : value;\n }, _rafBugFix = function _rafBugFix2() {\n return _enabled && requestAnimationFrame(_rafBugFix2);\n }, _pointerDownHandler = function _pointerDownHandler2() {\n return _pointerIsDown = 1;\n }, _pointerUpHandler = function _pointerUpHandler2() {\n return _pointerIsDown = 0;\n }, _passThrough = function _passThrough2(v) {\n return v;\n }, _round = function _round2(value) {\n return Math.round(value * 1e5) / 1e5 || 0;\n }, _windowExists = function _windowExists2() {\n return typeof window !== \"undefined\";\n }, _getGSAP$1 = function _getGSAP2() {\n return gsap$1 || _windowExists() && (gsap$1 = window.gsap) && gsap$1.registerPlugin && gsap$1;\n }, _isViewport$1 = function _isViewport2(e) {\n return !!~_root$1.indexOf(e);\n }, _getViewportDimension = function _getViewportDimension2(dimensionProperty) {\n return (dimensionProperty === \"Height\" ? _100vh : _win$1[\"inner\" + dimensionProperty]) || _docEl$1[\"client\" + dimensionProperty] || _body$1[\"client\" + dimensionProperty];\n }, _getBoundsFunc = function _getBoundsFunc2(element) {\n return _getProxyProp(element, \"getBoundingClientRect\") || (_isViewport$1(element) ? function() {\n _winOffsets.width = _win$1.innerWidth;\n _winOffsets.height = _100vh;\n return _winOffsets;\n } : function() {\n return _getBounds(element);\n });\n }, _getSizeFunc = function _getSizeFunc2(scroller, isViewport, _ref) {\n var d = _ref.d, d2 = _ref.d2, a = _ref.a;\n return (a = _getProxyProp(scroller, \"getBoundingClientRect\")) ? function() {\n return a()[d];\n } : function() {\n return (isViewport ? _getViewportDimension(d2) : scroller[\"client\" + d2]) || 0;\n };\n }, _getOffsetsFunc = function _getOffsetsFunc2(element, isViewport) {\n return !isViewport || ~_proxies.indexOf(element) ? _getBoundsFunc(element) : function() {\n return _winOffsets;\n };\n }, _maxScroll = function _maxScroll2(element, _ref2) {\n var s = _ref2.s, d2 = _ref2.d2, d = _ref2.d, a = _ref2.a;\n return Math.max(0, (s = \"scroll\" + d2) && (a = _getProxyProp(element, s)) ? a() - _getBoundsFunc(element)()[d] : _isViewport$1(element) ? (_docEl$1[s] || _body$1[s]) - _getViewportDimension(d2) : element[s] - element[\"offset\" + d2]);\n }, _iterateAutoRefresh = function _iterateAutoRefresh2(func, events) {\n for (var i3 = 0; i3 < _autoRefresh.length; i3 += 3) {\n (!events || ~events.indexOf(_autoRefresh[i3 + 1])) && func(_autoRefresh[i3], _autoRefresh[i3 + 1], _autoRefresh[i3 + 2]);\n }\n }, _isString = function _isString2(value) {\n return typeof value === \"string\";\n }, _isFunction = function _isFunction2(value) {\n return typeof value === \"function\";\n }, _isNumber = function _isNumber2(value) {\n return typeof value === \"number\";\n }, _isObject = function _isObject2(value) {\n return typeof value === \"object\";\n }, _endAnimation = function _endAnimation2(animation, reversed, pause) {\n return animation && animation.progress(reversed ? 0 : 1) && pause && animation.pause();\n }, _callback = function _callback2(self2, func) {\n if (self2.enabled) {\n var result = self2._ctx ? self2._ctx.add(function() {\n return func(self2);\n }) : func(self2);\n result && result.totalTime && (self2.callbackAnimation = result);\n }\n }, _abs = Math.abs, _left = \"left\", _top = \"top\", _right = \"right\", _bottom = \"bottom\", _width = \"width\", _height = \"height\", _Right = \"Right\", _Left = \"Left\", _Top = \"Top\", _Bottom = \"Bottom\", _padding = \"padding\", _margin = \"margin\", _Width = \"Width\", _Height = \"Height\", _px = \"px\", _getComputedStyle = function _getComputedStyle2(element) {\n return _win$1.getComputedStyle(element);\n }, _makePositionable = function _makePositionable2(element) {\n var position = _getComputedStyle(element).position;\n element.style.position = position === \"absolute\" || position === \"fixed\" ? position : \"relative\";\n }, _setDefaults = function _setDefaults2(obj, defaults) {\n for (var p in defaults) {\n p in obj || (obj[p] = defaults[p]);\n }\n return obj;\n }, _getBounds = function _getBounds2(element, withoutTransforms) {\n var tween = withoutTransforms && _getComputedStyle(element)[_transformProp] !== \"matrix(1, 0, 0, 1, 0, 0)\" && gsap$1.to(element, {\n x: 0,\n y: 0,\n xPercent: 0,\n yPercent: 0,\n rotation: 0,\n rotationX: 0,\n rotationY: 0,\n scale: 1,\n skewX: 0,\n skewY: 0\n }).progress(1), bounds = element.getBoundingClientRect();\n tween && tween.progress(0).kill();\n return bounds;\n }, _getSize = function _getSize2(element, _ref3) {\n var d2 = _ref3.d2;\n return element[\"offset\" + d2] || element[\"client\" + d2] || 0;\n }, _getLabelRatioArray = function _getLabelRatioArray2(timeline) {\n var a = [], labels = timeline.labels, duration = timeline.duration(), p;\n for (p in labels) {\n a.push(labels[p] / duration);\n }\n return a;\n }, _getClosestLabel = function _getClosestLabel2(animation) {\n return function(value) {\n return gsap$1.utils.snap(_getLabelRatioArray(animation), value);\n };\n }, _snapDirectional = function _snapDirectional2(snapIncrementOrArray) {\n var snap = gsap$1.utils.snap(snapIncrementOrArray), a = Array.isArray(snapIncrementOrArray) && snapIncrementOrArray.slice(0).sort(function(a2, b) {\n return a2 - b;\n });\n return a ? function(value, direction, threshold) {\n if (threshold === void 0) {\n threshold = 1e-3;\n }\n var i3;\n if (!direction) {\n return snap(value);\n }\n if (direction > 0) {\n value -= threshold;\n for (i3 = 0; i3 < a.length; i3++) {\n if (a[i3] >= value) {\n return a[i3];\n }\n }\n return a[i3 - 1];\n } else {\n i3 = a.length;\n value += threshold;\n while (i3--) {\n if (a[i3] <= value) {\n return a[i3];\n }\n }\n }\n return a[0];\n } : function(value, direction, threshold) {\n if (threshold === void 0) {\n threshold = 1e-3;\n }\n var snapped = snap(value);\n return !direction || Math.abs(snapped - value) < threshold || snapped - value < 0 === direction < 0 ? snapped : snap(direction < 0 ? value - snapIncrementOrArray : value + snapIncrementOrArray);\n };\n }, _getLabelAtDirection = function _getLabelAtDirection2(timeline) {\n return function(value, st) {\n return _snapDirectional(_getLabelRatioArray(timeline))(value, st.direction);\n };\n }, _multiListener = function _multiListener2(func, element, types, callback) {\n return types.split(\",\").forEach(function(type) {\n return func(element, type, callback);\n });\n }, _addListener$1 = function _addListener2(element, type, func, nonPassive, capture) {\n return element.addEventListener(type, func, {\n passive: !nonPassive,\n capture: !!capture\n });\n }, _removeListener$1 = function _removeListener2(element, type, func, capture) {\n return element.removeEventListener(type, func, !!capture);\n }, _wheelListener = function _wheelListener2(func, el, scrollFunc) {\n scrollFunc = scrollFunc && scrollFunc.wheelHandler;\n if (scrollFunc) {\n func(el, \"wheel\", scrollFunc);\n func(el, \"touchmove\", scrollFunc);\n }\n }, _markerDefaults = {\n startColor: \"green\",\n endColor: \"red\",\n indent: 0,\n fontSize: \"16px\",\n fontWeight: \"normal\"\n }, _defaults = {\n toggleActions: \"play\",\n anticipatePin: 0\n }, _keywords = {\n top: 0,\n left: 0,\n center: 0.5,\n bottom: 1,\n right: 1\n }, _offsetToPx = function _offsetToPx2(value, size) {\n if (_isString(value)) {\n var eqIndex = value.indexOf(\"=\"), relative = ~eqIndex ? +(value.charAt(eqIndex - 1) + 1) * parseFloat(value.substr(eqIndex + 1)) : 0;\n if (~eqIndex) {\n value.indexOf(\"%\") > eqIndex && (relative *= size / 100);\n value = value.substr(0, eqIndex - 1);\n }\n value = relative + (value in _keywords ? _keywords[value] * size : ~value.indexOf(\"%\") ? parseFloat(value) * size / 100 : parseFloat(value) || 0);\n }\n return value;\n }, _createMarker = function _createMarker2(type, name, container, direction, _ref4, offset, matchWidthEl, containerAnimation) {\n var startColor = _ref4.startColor, endColor = _ref4.endColor, fontSize = _ref4.fontSize, indent = _ref4.indent, fontWeight = _ref4.fontWeight;\n var e = _doc$1.createElement(\"div\"), useFixedPosition = _isViewport$1(container) || _getProxyProp(container, \"pinType\") === \"fixed\", isScroller = type.indexOf(\"scroller\") !== -1, parent = useFixedPosition ? _body$1 : container, isStart = type.indexOf(\"start\") !== -1, color = isStart ? startColor : endColor, css = \"border-color:\" + color + \";font-size:\" + fontSize + \";color:\" + color + \";font-weight:\" + fontWeight + \";pointer-events:none;white-space:nowrap;font-family:sans-serif,Arial;z-index:1000;padding:4px 8px;border-width:0;border-style:solid;\";\n css += \"position:\" + ((isScroller || containerAnimation) && useFixedPosition ? \"fixed;\" : \"absolute;\");\n (isScroller || containerAnimation || !useFixedPosition) && (css += (direction === _vertical ? _right : _bottom) + \":\" + (offset + parseFloat(indent)) + \"px;\");\n matchWidthEl && (css += \"box-sizing:border-box;text-align:left;width:\" + matchWidthEl.offsetWidth + \"px;\");\n e._isStart = isStart;\n e.setAttribute(\"class\", \"gsap-marker-\" + type + (name ? \" marker-\" + name : \"\"));\n e.style.cssText = css;\n e.innerText = name || name === 0 ? type + \"-\" + name : type;\n parent.children[0] ? parent.insertBefore(e, parent.children[0]) : parent.appendChild(e);\n e._offset = e[\"offset\" + direction.op.d2];\n _positionMarker(e, 0, direction, isStart);\n return e;\n }, _positionMarker = function _positionMarker2(marker, start, direction, flipped) {\n var vars = {\n display: \"block\"\n }, side = direction[flipped ? \"os2\" : \"p2\"], oppositeSide = direction[flipped ? \"p2\" : \"os2\"];\n marker._isFlipped = flipped;\n vars[direction.a + \"Percent\"] = flipped ? -100 : 0;\n vars[direction.a] = flipped ? \"1px\" : 0;\n vars[\"border\" + side + _Width] = 1;\n vars[\"border\" + oppositeSide + _Width] = 0;\n vars[direction.p] = start + \"px\";\n gsap$1.set(marker, vars);\n }, _triggers = [], _ids = {}, _rafID, _sync = function _sync2() {\n return _getTime$1() - _lastScrollTime > 34 && (_rafID || (_rafID = requestAnimationFrame(_updateAll)));\n }, _onScroll$1 = function _onScroll2() {\n if (!_normalizer$1 || !_normalizer$1.isPressed || _normalizer$1.startX > _body$1.clientWidth) {\n _scrollers.cache++;\n if (_normalizer$1) {\n _rafID || (_rafID = requestAnimationFrame(_updateAll));\n } else {\n _updateAll();\n }\n _lastScrollTime || _dispatch(\"scrollStart\");\n _lastScrollTime = _getTime$1();\n }\n }, _setBaseDimensions = function _setBaseDimensions2() {\n _baseScreenWidth = _win$1.innerWidth;\n _baseScreenHeight = _win$1.innerHeight;\n }, _onResize = function _onResize2() {\n _scrollers.cache++;\n !_refreshing && !_ignoreResize && !_doc$1.fullscreenElement && !_doc$1.webkitFullscreenElement && (!_ignoreMobileResize || _baseScreenWidth !== _win$1.innerWidth || Math.abs(_win$1.innerHeight - _baseScreenHeight) > _win$1.innerHeight * 0.25) && _resizeDelay.restart(true);\n }, _listeners = {}, _emptyArray = [], _softRefresh = function _softRefresh2() {\n return _removeListener$1(ScrollTrigger$1, \"scrollEnd\", _softRefresh2) || _refreshAll(true);\n }, _dispatch = function _dispatch2(type) {\n return _listeners[type] && _listeners[type].map(function(f) {\n return f();\n }) || _emptyArray;\n }, _savedStyles = [], _revertRecorded = function _revertRecorded2(media) {\n for (var i3 = 0; i3 < _savedStyles.length; i3 += 5) {\n if (!media || _savedStyles[i3 + 4] && _savedStyles[i3 + 4].query === media) {\n _savedStyles[i3].style.cssText = _savedStyles[i3 + 1];\n _savedStyles[i3].getBBox && _savedStyles[i3].setAttribute(\"transform\", _savedStyles[i3 + 2] || \"\");\n _savedStyles[i3 + 3].uncache = 1;\n }\n }\n }, _revertAll = function _revertAll2(kill, media) {\n var trigger;\n for (_i = 0; _i < _triggers.length; _i++) {\n trigger = _triggers[_i];\n if (trigger && (!media || trigger._ctx === media)) {\n if (kill) {\n trigger.kill(1);\n } else {\n trigger.revert(true, true);\n }\n }\n }\n _isReverted = true;\n media && _revertRecorded(media);\n media || _dispatch(\"revert\");\n }, _clearScrollMemory = function _clearScrollMemory2(scrollRestoration, force) {\n _scrollers.cache++;\n (force || !_refreshingAll) && _scrollers.forEach(function(obj) {\n return _isFunction(obj) && obj.cacheID++ && (obj.rec = 0);\n });\n _isString(scrollRestoration) && (_win$1.history.scrollRestoration = _scrollRestoration = scrollRestoration);\n }, _refreshingAll, _refreshID = 0, _queueRefreshID, _queueRefreshAll = function _queueRefreshAll2() {\n if (_queueRefreshID !== _refreshID) {\n var id = _queueRefreshID = _refreshID;\n requestAnimationFrame(function() {\n return id === _refreshID && _refreshAll(true);\n });\n }\n }, _refresh100vh = function _refresh100vh2() {\n _body$1.appendChild(_div100vh);\n _100vh = !_normalizer$1 && _div100vh.offsetHeight || _win$1.innerHeight;\n _body$1.removeChild(_div100vh);\n }, _hideAllMarkers = function _hideAllMarkers2(hide) {\n return _toArray(\".gsap-marker-start, .gsap-marker-end, .gsap-marker-scroller-start, .gsap-marker-scroller-end\").forEach(function(el) {\n return el.style.display = hide ? \"none\" : \"block\";\n });\n }, _refreshAll = function _refreshAll2(force, skipRevert) {\n if (_lastScrollTime && !force && !_isReverted) {\n _addListener$1(ScrollTrigger$1, \"scrollEnd\", _softRefresh);\n return;\n }\n _refresh100vh();\n _refreshingAll = ScrollTrigger$1.isRefreshing = true;\n _scrollers.forEach(function(obj) {\n return _isFunction(obj) && ++obj.cacheID && (obj.rec = obj());\n });\n var refreshInits = _dispatch(\"refreshInit\");\n _sort && ScrollTrigger$1.sort();\n skipRevert || _revertAll();\n _scrollers.forEach(function(obj) {\n if (_isFunction(obj)) {\n obj.smooth && (obj.target.style.scrollBehavior = \"auto\");\n obj(0);\n }\n });\n _triggers.slice(0).forEach(function(t2) {\n return t2.refresh();\n });\n _isReverted = false;\n _triggers.forEach(function(t2) {\n if (t2._subPinOffset && t2.pin) {\n var prop = t2.vars.horizontal ? \"offsetWidth\" : \"offsetHeight\", original = t2.pin[prop];\n t2.revert(true, 1);\n t2.adjustPinSpacing(t2.pin[prop] - original);\n t2.refresh();\n }\n });\n _clampingMax = 1;\n _hideAllMarkers(true);\n _triggers.forEach(function(t2) {\n var max = _maxScroll(t2.scroller, t2._dir), endClamp = t2.vars.end === \"max\" || t2._endClamp && t2.end > max, startClamp = t2._startClamp && t2.start >= max;\n (endClamp || startClamp) && t2.setPositions(startClamp ? max - 1 : t2.start, endClamp ? Math.max(startClamp ? max : t2.start + 1, max) : t2.end, true);\n });\n _hideAllMarkers(false);\n _clampingMax = 0;\n refreshInits.forEach(function(result) {\n return result && result.render && result.render(-1);\n });\n _scrollers.forEach(function(obj) {\n if (_isFunction(obj)) {\n obj.smooth && requestAnimationFrame(function() {\n return obj.target.style.scrollBehavior = \"smooth\";\n });\n obj.rec && obj(obj.rec);\n }\n });\n _clearScrollMemory(_scrollRestoration, 1);\n _resizeDelay.pause();\n _refreshID++;\n _refreshingAll = 2;\n _updateAll(2);\n _triggers.forEach(function(t2) {\n return _isFunction(t2.vars.onRefresh) && t2.vars.onRefresh(t2);\n });\n _refreshingAll = ScrollTrigger$1.isRefreshing = false;\n _dispatch(\"refresh\");\n }, _lastScroll = 0, _direction = 1, _primary, _updateAll = function _updateAll2(force) {\n if (force === 2 || !_refreshingAll && !_isReverted) {\n ScrollTrigger$1.isUpdating = true;\n _primary && _primary.update(0);\n var l = _triggers.length, time = _getTime$1(), recordVelocity = time - _time1 >= 50, scroll = l && _triggers[0].scroll();\n _direction = _lastScroll > scroll ? -1 : 1;\n _refreshingAll || (_lastScroll = scroll);\n if (recordVelocity) {\n if (_lastScrollTime && !_pointerIsDown && time - _lastScrollTime > 200) {\n _lastScrollTime = 0;\n _dispatch(\"scrollEnd\");\n }\n _time2 = _time1;\n _time1 = time;\n }\n if (_direction < 0) {\n _i = l;\n while (_i-- > 0) {\n _triggers[_i] && _triggers[_i].update(0, recordVelocity);\n }\n _direction = 1;\n } else {\n for (_i = 0; _i < l; _i++) {\n _triggers[_i] && _triggers[_i].update(0, recordVelocity);\n }\n }\n ScrollTrigger$1.isUpdating = false;\n }\n _rafID = 0;\n }, _propNamesToCopy = [_left, _top, _bottom, _right, _margin + _Bottom, _margin + _Right, _margin + _Top, _margin + _Left, \"display\", \"flexShrink\", \"float\", \"zIndex\", \"gridColumnStart\", \"gridColumnEnd\", \"gridRowStart\", \"gridRowEnd\", \"gridArea\", \"justifySelf\", \"alignSelf\", \"placeSelf\", \"order\"], _stateProps = _propNamesToCopy.concat([_width, _height, \"boxSizing\", \"max\" + _Width, \"max\" + _Height, \"position\", _margin, _padding, _padding + _Top, _padding + _Right, _padding + _Bottom, _padding + _Left]), _swapPinOut = function _swapPinOut2(pin, spacer, state) {\n _setState(state);\n var cache = pin._gsap;\n if (cache.spacerIsNative) {\n _setState(cache.spacerState);\n } else if (pin._gsap.swappedIn) {\n var parent = spacer.parentNode;\n if (parent) {\n parent.insertBefore(pin, spacer);\n parent.removeChild(spacer);\n }\n }\n pin._gsap.swappedIn = false;\n }, _swapPinIn = function _swapPinIn2(pin, spacer, cs, spacerState) {\n if (!pin._gsap.swappedIn) {\n var i3 = _propNamesToCopy.length, spacerStyle = spacer.style, pinStyle = pin.style, p;\n while (i3--) {\n p = _propNamesToCopy[i3];\n spacerStyle[p] = cs[p];\n }\n spacerStyle.position = cs.position === \"absolute\" ? \"absolute\" : \"relative\";\n cs.display === \"inline\" && (spacerStyle.display = \"inline-block\");\n pinStyle[_bottom] = pinStyle[_right] = \"auto\";\n spacerStyle.flexBasis = cs.flexBasis || \"auto\";\n spacerStyle.overflow = \"visible\";\n spacerStyle.boxSizing = \"border-box\";\n spacerStyle[_width] = _getSize(pin, _horizontal) + _px;\n spacerStyle[_height] = _getSize(pin, _vertical) + _px;\n spacerStyle[_padding] = pinStyle[_margin] = pinStyle[_top] = pinStyle[_left] = \"0\";\n _setState(spacerState);\n pinStyle[_width] = pinStyle[\"max\" + _Width] = cs[_width];\n pinStyle[_height] = pinStyle[\"max\" + _Height] = cs[_height];\n pinStyle[_padding] = cs[_padding];\n if (pin.parentNode !== spacer) {\n pin.parentNode.insertBefore(spacer, pin);\n spacer.appendChild(pin);\n }\n pin._gsap.swappedIn = true;\n }\n }, _capsExp = /([A-Z])/g, _setState = function _setState2(state) {\n if (state) {\n var style = state.t.style, l = state.length, i3 = 0, p, value;\n (state.t._gsap || gsap$1.core.getCache(state.t)).uncache = 1;\n for (; i3 < l; i3 += 2) {\n value = state[i3 + 1];\n p = state[i3];\n if (value) {\n style[p] = value;\n } else if (style[p]) {\n style.removeProperty(p.replace(_capsExp, \"-$1\").toLowerCase());\n }\n }\n }\n }, _getState = function _getState2(element) {\n var l = _stateProps.length, style = element.style, state = [], i3 = 0;\n for (; i3 < l; i3++) {\n state.push(_stateProps[i3], style[_stateProps[i3]]);\n }\n state.t = element;\n return state;\n }, _copyState = function _copyState2(state, override, omitOffsets) {\n var result = [], l = state.length, i3 = omitOffsets ? 8 : 0, p;\n for (; i3 < l; i3 += 2) {\n p = state[i3];\n result.push(p, p in override ? override[p] : state[i3 + 1]);\n }\n result.t = state.t;\n return result;\n }, _winOffsets = {\n left: 0,\n top: 0\n }, _parsePosition = function _parsePosition2(value, trigger, scrollerSize, direction, scroll, marker, markerScroller, self2, scrollerBounds, borderWidth, useFixedPosition, scrollerMax, containerAnimation, clampZeroProp) {\n _isFunction(value) && (value = value(self2));\n if (_isString(value) && value.substr(0, 3) === \"max\") {\n value = scrollerMax + (value.charAt(4) === \"=\" ? _offsetToPx(\"0\" + value.substr(3), scrollerSize) : 0);\n }\n var time = containerAnimation ? containerAnimation.time() : 0, p1, p2, element;\n containerAnimation && containerAnimation.seek(0);\n isNaN(value) || (value = +value);\n if (!_isNumber(value)) {\n _isFunction(trigger) && (trigger = trigger(self2));\n var offsets = (value || \"0\").split(\" \"), bounds, localOffset, globalOffset, display;\n element = _getTarget(trigger, self2) || _body$1;\n bounds = _getBounds(element) || {};\n if ((!bounds || !bounds.left && !bounds.top) && _getComputedStyle(element).display === \"none\") {\n display = element.style.display;\n element.style.display = \"block\";\n bounds = _getBounds(element);\n display ? element.style.display = display : element.style.removeProperty(\"display\");\n }\n localOffset = _offsetToPx(offsets[0], bounds[direction.d]);\n globalOffset = _offsetToPx(offsets[1] || \"0\", scrollerSize);\n value = bounds[direction.p] - scrollerBounds[direction.p] - borderWidth + localOffset + scroll - globalOffset;\n markerScroller && _positionMarker(markerScroller, globalOffset, direction, scrollerSize - globalOffset < 20 || markerScroller._isStart && globalOffset > 20);\n scrollerSize -= scrollerSize - globalOffset;\n } else {\n containerAnimation && (value = gsap$1.utils.mapRange(containerAnimation.scrollTrigger.start, containerAnimation.scrollTrigger.end, 0, scrollerMax, value));\n markerScroller && _positionMarker(markerScroller, scrollerSize, direction, true);\n }\n if (clampZeroProp) {\n self2[clampZeroProp] = value || -1e-3;\n value < 0 && (value = 0);\n }\n if (marker) {\n var position = value + scrollerSize, isStart = marker._isStart;\n p1 = \"scroll\" + direction.d2;\n _positionMarker(marker, position, direction, isStart && position > 20 || !isStart && (useFixedPosition ? Math.max(_body$1[p1], _docEl$1[p1]) : marker.parentNode[p1]) <= position + 1);\n if (useFixedPosition) {\n scrollerBounds = _getBounds(markerScroller);\n useFixedPosition && (marker.style[direction.op.p] = scrollerBounds[direction.op.p] - direction.op.m - marker._offset + _px);\n }\n }\n if (containerAnimation && element) {\n p1 = _getBounds(element);\n containerAnimation.seek(scrollerMax);\n p2 = _getBounds(element);\n containerAnimation._caScrollDist = p1[direction.p] - p2[direction.p];\n value = value / containerAnimation._caScrollDist * scrollerMax;\n }\n containerAnimation && containerAnimation.seek(time);\n return containerAnimation ? value : Math.round(value);\n }, _prefixExp = /(webkit|moz|length|cssText|inset)/i, _reparent = function _reparent2(element, parent, top, left) {\n if (element.parentNode !== parent) {\n var style = element.style, p, cs;\n if (parent === _body$1) {\n element._stOrig = style.cssText;\n cs = _getComputedStyle(element);\n for (p in cs) {\n if (!+p && !_prefixExp.test(p) && cs[p] && typeof style[p] === \"string\" && p !== \"0\") {\n style[p] = cs[p];\n }\n }\n style.top = top;\n style.left = left;\n } else {\n style.cssText = element._stOrig;\n }\n gsap$1.core.getCache(element).uncache = 1;\n parent.appendChild(element);\n }\n }, _interruptionTracker = function _interruptionTracker2(getValueFunc, initialValue, onInterrupt) {\n var last1 = initialValue, last2 = last1;\n return function(value) {\n var current = Math.round(getValueFunc());\n if (current !== last1 && current !== last2 && Math.abs(current - last1) > 3 && Math.abs(current - last2) > 3) {\n value = current;\n onInterrupt && onInterrupt();\n }\n last2 = last1;\n last1 = value;\n return value;\n };\n }, _shiftMarker = function _shiftMarker2(marker, direction, value) {\n var vars = {};\n vars[direction.p] = \"+=\" + value;\n gsap$1.set(marker, vars);\n }, _getTweenCreator = function _getTweenCreator2(scroller, direction) {\n var getScroll = _getScrollFunc(scroller, direction), prop = \"_scroll\" + direction.p2, getTween = function getTween2(scrollTo, vars, initialValue, change1, change2) {\n var tween = getTween2.tween, onComplete = vars.onComplete, modifiers = {};\n initialValue = initialValue || getScroll();\n var checkForInterruption = _interruptionTracker(getScroll, initialValue, function() {\n tween.kill();\n getTween2.tween = 0;\n });\n change2 = change1 && change2 || 0;\n change1 = change1 || scrollTo - initialValue;\n tween && tween.kill();\n vars[prop] = scrollTo;\n vars.inherit = false;\n vars.modifiers = modifiers;\n modifiers[prop] = function() {\n return checkForInterruption(initialValue + change1 * tween.ratio + change2 * tween.ratio * tween.ratio);\n };\n vars.onUpdate = function() {\n _scrollers.cache++;\n getTween2.tween && _updateAll();\n };\n vars.onComplete = function() {\n getTween2.tween = 0;\n onComplete && onComplete.call(tween);\n };\n tween = getTween2.tween = gsap$1.to(scroller, vars);\n return tween;\n };\n scroller[prop] = getScroll;\n getScroll.wheelHandler = function() {\n return getTween.tween && getTween.tween.kill() && (getTween.tween = 0);\n };\n _addListener$1(scroller, \"wheel\", getScroll.wheelHandler);\n ScrollTrigger$1.isTouch && _addListener$1(scroller, \"touchmove\", getScroll.wheelHandler);\n return getTween;\n };\n var ScrollTrigger$1 = function() {\n function ScrollTrigger3(vars, animation) {\n _coreInitted$1 || ScrollTrigger3.register(gsap$1) || console.warn(\"Please gsap.registerPlugin(ScrollTrigger)\");\n _context$1(this);\n this.init(vars, animation);\n }\n var _proto = ScrollTrigger3.prototype;\n _proto.init = function init(vars, animation) {\n this.progress = this.start = 0;\n this.vars && this.kill(true, true);\n if (!_enabled) {\n this.update = this.refresh = this.kill = _passThrough;\n return;\n }\n vars = _setDefaults(_isString(vars) || _isNumber(vars) || vars.nodeType ? {\n trigger: vars\n } : vars, _defaults);\n var _vars = vars, onUpdate = _vars.onUpdate, toggleClass = _vars.toggleClass, id = _vars.id, onToggle = _vars.onToggle, onRefresh = _vars.onRefresh, scrub = _vars.scrub, trigger = _vars.trigger, pin = _vars.pin, pinSpacing = _vars.pinSpacing, invalidateOnRefresh = _vars.invalidateOnRefresh, anticipatePin = _vars.anticipatePin, onScrubComplete = _vars.onScrubComplete, onSnapComplete = _vars.onSnapComplete, once = _vars.once, snap = _vars.snap, pinReparent = _vars.pinReparent, pinSpacer = _vars.pinSpacer, containerAnimation = _vars.containerAnimation, fastScrollEnd = _vars.fastScrollEnd, preventOverlaps = _vars.preventOverlaps, direction = vars.horizontal || vars.containerAnimation && vars.horizontal !== false ? _horizontal : _vertical, isToggle = !scrub && scrub !== 0, scroller = _getTarget(vars.scroller || _win$1), scrollerCache = gsap$1.core.getCache(scroller), isViewport = _isViewport$1(scroller), useFixedPosition = (\"pinType\" in vars ? vars.pinType : _getProxyProp(scroller, \"pinType\") || isViewport && \"fixed\") === \"fixed\", callbacks = [vars.onEnter, vars.onLeave, vars.onEnterBack, vars.onLeaveBack], toggleActions = isToggle && vars.toggleActions.split(\" \"), markers = \"markers\" in vars ? vars.markers : _defaults.markers, borderWidth = isViewport ? 0 : parseFloat(_getComputedStyle(scroller)[\"border\" + direction.p2 + _Width]) || 0, self2 = this, onRefreshInit = vars.onRefreshInit && function() {\n return vars.onRefreshInit(self2);\n }, getScrollerSize = _getSizeFunc(scroller, isViewport, direction), getScrollerOffsets = _getOffsetsFunc(scroller, isViewport), lastSnap = 0, lastRefresh = 0, prevProgress = 0, scrollFunc = _getScrollFunc(scroller, direction), tweenTo, pinCache, snapFunc, scroll1, scroll2, start, end, markerStart, markerEnd, markerStartTrigger, markerEndTrigger, markerVars, executingOnRefresh, change, pinOriginalState, pinActiveState, pinState, spacer, offset, pinGetter, pinSetter, pinStart, pinChange, spacingStart, spacerState, markerStartSetter, pinMoves, markerEndSetter, cs, snap1, snap2, scrubTween, scrubSmooth, snapDurClamp, snapDelayedCall, prevScroll, prevAnimProgress, caMarkerSetter, customRevertReturn;\n self2._startClamp = self2._endClamp = false;\n self2._dir = direction;\n anticipatePin *= 45;\n self2.scroller = scroller;\n self2.scroll = containerAnimation ? containerAnimation.time.bind(containerAnimation) : scrollFunc;\n scroll1 = scrollFunc();\n self2.vars = vars;\n animation = animation || vars.animation;\n if (\"refreshPriority\" in vars) {\n _sort = 1;\n vars.refreshPriority === -9999 && (_primary = self2);\n }\n scrollerCache.tweenScroll = scrollerCache.tweenScroll || {\n top: _getTweenCreator(scroller, _vertical),\n left: _getTweenCreator(scroller, _horizontal)\n };\n self2.tweenTo = tweenTo = scrollerCache.tweenScroll[direction.p];\n self2.scrubDuration = function(value) {\n scrubSmooth = _isNumber(value) && value;\n if (!scrubSmooth) {\n scrubTween && scrubTween.progress(1).kill();\n scrubTween = 0;\n } else {\n scrubTween ? scrubTween.duration(value) : scrubTween = gsap$1.to(animation, {\n ease: \"expo\",\n totalProgress: \"+=0\",\n inherit: false,\n duration: scrubSmooth,\n paused: true,\n onComplete: function onComplete() {\n return onScrubComplete && onScrubComplete(self2);\n }\n });\n }\n };\n if (animation) {\n animation.vars.lazy = false;\n animation._initted && !self2.isReverted || animation.vars.immediateRender !== false && vars.immediateRender !== false && animation.duration() && animation.render(0, true, true);\n self2.animation = animation.pause();\n animation.scrollTrigger = self2;\n self2.scrubDuration(scrub);\n snap1 = 0;\n id || (id = animation.vars.id);\n }\n if (snap) {\n if (!_isObject(snap) || snap.push) {\n snap = {\n snapTo: snap\n };\n }\n \"scrollBehavior\" in _body$1.style && gsap$1.set(isViewport ? [_body$1, _docEl$1] : scroller, {\n scrollBehavior: \"auto\"\n });\n _scrollers.forEach(function(o) {\n return _isFunction(o) && o.target === (isViewport ? _doc$1.scrollingElement || _docEl$1 : scroller) && (o.smooth = false);\n });\n snapFunc = _isFunction(snap.snapTo) ? snap.snapTo : snap.snapTo === \"labels\" ? _getClosestLabel(animation) : snap.snapTo === \"labelsDirectional\" ? _getLabelAtDirection(animation) : snap.directional !== false ? function(value, st) {\n return _snapDirectional(snap.snapTo)(value, _getTime$1() - lastRefresh < 500 ? 0 : st.direction);\n } : gsap$1.utils.snap(snap.snapTo);\n snapDurClamp = snap.duration || {\n min: 0.1,\n max: 2\n };\n snapDurClamp = _isObject(snapDurClamp) ? _clamp$1(snapDurClamp.min, snapDurClamp.max) : _clamp$1(snapDurClamp, snapDurClamp);\n snapDelayedCall = gsap$1.delayedCall(snap.delay || scrubSmooth / 2 || 0.1, function() {\n var scroll = scrollFunc(), refreshedRecently = _getTime$1() - lastRefresh < 500, tween = tweenTo.tween;\n if ((refreshedRecently || Math.abs(self2.getVelocity()) < 10) && !tween && !_pointerIsDown && lastSnap !== scroll) {\n var progress = (scroll - start) / change, totalProgress = animation && !isToggle ? animation.totalProgress() : progress, velocity = refreshedRecently ? 0 : (totalProgress - snap2) / (_getTime$1() - _time2) * 1e3 || 0, change1 = gsap$1.utils.clamp(-progress, 1 - progress, _abs(velocity / 2) * velocity / 0.185), naturalEnd = progress + (snap.inertia === false ? 0 : change1), endValue, endScroll, _snap = snap, onStart = _snap.onStart, _onInterrupt = _snap.onInterrupt, _onComplete = _snap.onComplete;\n endValue = snapFunc(naturalEnd, self2);\n _isNumber(endValue) || (endValue = naturalEnd);\n endScroll = Math.round(start + endValue * change);\n if (scroll <= end && scroll >= start && endScroll !== scroll) {\n if (tween && !tween._initted && tween.data <= _abs(endScroll - scroll)) {\n return;\n }\n if (snap.inertia === false) {\n change1 = endValue - progress;\n }\n tweenTo(endScroll, {\n duration: snapDurClamp(_abs(Math.max(_abs(naturalEnd - totalProgress), _abs(endValue - totalProgress)) * 0.185 / velocity / 0.05 || 0)),\n ease: snap.ease || \"power3\",\n data: _abs(endScroll - scroll),\n onInterrupt: function onInterrupt() {\n return snapDelayedCall.restart(true) && _onInterrupt && _onInterrupt(self2);\n },\n onComplete: function onComplete() {\n self2.update();\n lastSnap = scrollFunc();\n if (animation) {\n scrubTween ? scrubTween.resetTo(\"totalProgress\", endValue, animation._tTime / animation._tDur) : animation.progress(endValue);\n }\n snap1 = snap2 = animation && !isToggle ? animation.totalProgress() : self2.progress;\n onSnapComplete && onSnapComplete(self2);\n _onComplete && _onComplete(self2);\n }\n }, scroll, change1 * change, endScroll - scroll - change1 * change);\n onStart && onStart(self2, tweenTo.tween);\n }\n } else if (self2.isActive && lastSnap !== scroll) {\n snapDelayedCall.restart(true);\n }\n }).pause();\n }\n id && (_ids[id] = self2);\n trigger = self2.trigger = _getTarget(trigger || pin !== true && pin);\n customRevertReturn = trigger && trigger._gsap && trigger._gsap.stRevert;\n customRevertReturn && (customRevertReturn = customRevertReturn(self2));\n pin = pin === true ? trigger : _getTarget(pin);\n _isString(toggleClass) && (toggleClass = {\n targets: trigger,\n className: toggleClass\n });\n if (pin) {\n pinSpacing === false || pinSpacing === _margin || (pinSpacing = !pinSpacing && pin.parentNode && pin.parentNode.style && _getComputedStyle(pin.parentNode).display === \"flex\" ? false : _padding);\n self2.pin = pin;\n pinCache = gsap$1.core.getCache(pin);\n if (!pinCache.spacer) {\n if (pinSpacer) {\n pinSpacer = _getTarget(pinSpacer);\n pinSpacer && !pinSpacer.nodeType && (pinSpacer = pinSpacer.current || pinSpacer.nativeElement);\n pinCache.spacerIsNative = !!pinSpacer;\n pinSpacer && (pinCache.spacerState = _getState(pinSpacer));\n }\n pinCache.spacer = spacer = pinSpacer || _doc$1.createElement(\"div\");\n spacer.classList.add(\"pin-spacer\");\n id && spacer.classList.add(\"pin-spacer-\" + id);\n pinCache.pinState = pinOriginalState = _getState(pin);\n } else {\n pinOriginalState = pinCache.pinState;\n }\n vars.force3D !== false && gsap$1.set(pin, {\n force3D: true\n });\n self2.spacer = spacer = pinCache.spacer;\n cs = _getComputedStyle(pin);\n spacingStart = cs[pinSpacing + direction.os2];\n pinGetter = gsap$1.getProperty(pin);\n pinSetter = gsap$1.quickSetter(pin, direction.a, _px);\n _swapPinIn(pin, spacer, cs);\n pinState = _getState(pin);\n }\n if (markers) {\n markerVars = _isObject(markers) ? _setDefaults(markers, _markerDefaults) : _markerDefaults;\n markerStartTrigger = _createMarker(\"scroller-start\", id, scroller, direction, markerVars, 0);\n markerEndTrigger = _createMarker(\"scroller-end\", id, scroller, direction, markerVars, 0, markerStartTrigger);\n offset = markerStartTrigger[\"offset\" + direction.op.d2];\n var content = _getTarget(_getProxyProp(scroller, \"content\") || scroller);\n markerStart = this.markerStart = _createMarker(\"start\", id, content, direction, markerVars, offset, 0, containerAnimation);\n markerEnd = this.markerEnd = _createMarker(\"end\", id, content, direction, markerVars, offset, 0, containerAnimation);\n containerAnimation && (caMarkerSetter = gsap$1.quickSetter([markerStart, markerEnd], direction.a, _px));\n if (!useFixedPosition && !(_proxies.length && _getProxyProp(scroller, \"fixedMarkers\") === true)) {\n _makePositionable(isViewport ? _body$1 : scroller);\n gsap$1.set([markerStartTrigger, markerEndTrigger], {\n force3D: true\n });\n markerStartSetter = gsap$1.quickSetter(markerStartTrigger, direction.a, _px);\n markerEndSetter = gsap$1.quickSetter(markerEndTrigger, direction.a, _px);\n }\n }\n if (containerAnimation) {\n var oldOnUpdate = containerAnimation.vars.onUpdate, oldParams = containerAnimation.vars.onUpdateParams;\n containerAnimation.eventCallback(\"onUpdate\", function() {\n self2.update(0, 0, 1);\n oldOnUpdate && oldOnUpdate.apply(containerAnimation, oldParams || []);\n });\n }\n self2.previous = function() {\n return _triggers[_triggers.indexOf(self2) - 1];\n };\n self2.next = function() {\n return _triggers[_triggers.indexOf(self2) + 1];\n };\n self2.revert = function(revert, temp) {\n if (!temp) {\n return self2.kill(true);\n }\n var r3 = revert !== false || !self2.enabled, prevRefreshing = _refreshing;\n if (r3 !== self2.isReverted) {\n if (r3) {\n prevScroll = Math.max(scrollFunc(), self2.scroll.rec || 0);\n prevProgress = self2.progress;\n prevAnimProgress = animation && animation.progress();\n }\n markerStart && [markerStart, markerEnd, markerStartTrigger, markerEndTrigger].forEach(function(m) {\n return m.style.display = r3 ? \"none\" : \"block\";\n });\n if (r3) {\n _refreshing = self2;\n self2.update(r3);\n }\n if (pin && (!pinReparent || !self2.isActive)) {\n if (r3) {\n _swapPinOut(pin, spacer, pinOriginalState);\n } else {\n _swapPinIn(pin, spacer, _getComputedStyle(pin), spacerState);\n }\n }\n r3 || self2.update(r3);\n _refreshing = prevRefreshing;\n self2.isReverted = r3;\n }\n };\n self2.refresh = function(soft, force, position, pinOffset) {\n if ((_refreshing || !self2.enabled) && !force) {\n return;\n }\n if (pin && soft && _lastScrollTime) {\n _addListener$1(ScrollTrigger3, \"scrollEnd\", _softRefresh);\n return;\n }\n !_refreshingAll && onRefreshInit && onRefreshInit(self2);\n _refreshing = self2;\n if (tweenTo.tween && !position) {\n tweenTo.tween.kill();\n tweenTo.tween = 0;\n }\n scrubTween && scrubTween.pause();\n invalidateOnRefresh && animation && animation.revert({\n kill: false\n }).invalidate();\n self2.isReverted || self2.revert(true, true);\n self2._subPinOffset = false;\n var size = getScrollerSize(), scrollerBounds = getScrollerOffsets(), max = containerAnimation ? containerAnimation.duration() : _maxScroll(scroller, direction), isFirstRefresh = change <= 0.01, offset2 = 0, otherPinOffset = pinOffset || 0, parsedEnd = _isObject(position) ? position.end : vars.end, parsedEndTrigger = vars.endTrigger || trigger, parsedStart = _isObject(position) ? position.start : vars.start || (vars.start === 0 || !trigger ? 0 : pin ? \"0 0\" : \"0 100%\"), pinnedContainer = self2.pinnedContainer = vars.pinnedContainer && _getTarget(vars.pinnedContainer, self2), triggerIndex = trigger && Math.max(0, _triggers.indexOf(self2)) || 0, i3 = triggerIndex, cs2, bounds, scroll, isVertical, override, curTrigger, curPin, oppositeScroll, initted, revertedPins, forcedOverflow, markerStartOffset, markerEndOffset;\n if (markers && _isObject(position)) {\n markerStartOffset = gsap$1.getProperty(markerStartTrigger, direction.p);\n markerEndOffset = gsap$1.getProperty(markerEndTrigger, direction.p);\n }\n while (i3--) {\n curTrigger = _triggers[i3];\n curTrigger.end || curTrigger.refresh(0, 1) || (_refreshing = self2);\n curPin = curTrigger.pin;\n if (curPin && (curPin === trigger || curPin === pin || curPin === pinnedContainer) && !curTrigger.isReverted) {\n revertedPins || (revertedPins = []);\n revertedPins.unshift(curTrigger);\n curTrigger.revert(true, true);\n }\n if (curTrigger !== _triggers[i3]) {\n triggerIndex--;\n i3--;\n }\n }\n _isFunction(parsedStart) && (parsedStart = parsedStart(self2));\n parsedStart = _parseClamp(parsedStart, \"start\", self2);\n start = _parsePosition(parsedStart, trigger, size, direction, scrollFunc(), markerStart, markerStartTrigger, self2, scrollerBounds, borderWidth, useFixedPosition, max, containerAnimation, self2._startClamp && \"_startClamp\") || (pin ? -1e-3 : 0);\n _isFunction(parsedEnd) && (parsedEnd = parsedEnd(self2));\n if (_isString(parsedEnd) && !parsedEnd.indexOf(\"+=\")) {\n if (~parsedEnd.indexOf(\" \")) {\n parsedEnd = (_isString(parsedStart) ? parsedStart.split(\" \")[0] : \"\") + parsedEnd;\n } else {\n offset2 = _offsetToPx(parsedEnd.substr(2), size);\n parsedEnd = _isString(parsedStart) ? parsedStart : (containerAnimation ? gsap$1.utils.mapRange(0, containerAnimation.duration(), containerAnimation.scrollTrigger.start, containerAnimation.scrollTrigger.end, start) : start) + offset2;\n parsedEndTrigger = trigger;\n }\n }\n parsedEnd = _parseClamp(parsedEnd, \"end\", self2);\n end = Math.max(start, _parsePosition(parsedEnd || (parsedEndTrigger ? \"100% 0\" : max), parsedEndTrigger, size, direction, scrollFunc() + offset2, markerEnd, markerEndTrigger, self2, scrollerBounds, borderWidth, useFixedPosition, max, containerAnimation, self2._endClamp && \"_endClamp\")) || -1e-3;\n offset2 = 0;\n i3 = triggerIndex;\n while (i3--) {\n curTrigger = _triggers[i3];\n curPin = curTrigger.pin;\n if (curPin && curTrigger.start - curTrigger._pinPush <= start && !containerAnimation && curTrigger.end > 0) {\n cs2 = curTrigger.end - (self2._startClamp ? Math.max(0, curTrigger.start) : curTrigger.start);\n if ((curPin === trigger && curTrigger.start - curTrigger._pinPush < start || curPin === pinnedContainer) && isNaN(parsedStart)) {\n offset2 += cs2 * (1 - curTrigger.progress);\n }\n curPin === pin && (otherPinOffset += cs2);\n }\n }\n start += offset2;\n end += offset2;\n self2._startClamp && (self2._startClamp += offset2);\n if (self2._endClamp && !_refreshingAll) {\n self2._endClamp = end || -1e-3;\n end = Math.min(end, _maxScroll(scroller, direction));\n }\n change = end - start || (start -= 0.01) && 1e-3;\n if (isFirstRefresh) {\n prevProgress = gsap$1.utils.clamp(0, 1, gsap$1.utils.normalize(start, end, prevScroll));\n }\n self2._pinPush = otherPinOffset;\n if (markerStart && offset2) {\n cs2 = {};\n cs2[direction.a] = \"+=\" + offset2;\n pinnedContainer && (cs2[direction.p] = \"-=\" + scrollFunc());\n gsap$1.set([markerStart, markerEnd], cs2);\n }\n if (pin && !(_clampingMax && self2.end >= _maxScroll(scroller, direction))) {\n cs2 = _getComputedStyle(pin);\n isVertical = direction === _vertical;\n scroll = scrollFunc();\n pinStart = parseFloat(pinGetter(direction.a)) + otherPinOffset;\n if (!max && end > 1) {\n forcedOverflow = (isViewport ? _doc$1.scrollingElement || _docEl$1 : scroller).style;\n forcedOverflow = {\n style: forcedOverflow,\n value: forcedOverflow[\"overflow\" + direction.a.toUpperCase()]\n };\n if (isViewport && _getComputedStyle(_body$1)[\"overflow\" + direction.a.toUpperCase()] !== \"scroll\") {\n forcedOverflow.style[\"overflow\" + direction.a.toUpperCase()] = \"scroll\";\n }\n }\n _swapPinIn(pin, spacer, cs2);\n pinState = _getState(pin);\n bounds = _getBounds(pin, true);\n oppositeScroll = useFixedPosition && _getScrollFunc(scroller, isVertical ? _horizontal : _vertical)();\n if (pinSpacing) {\n spacerState = [pinSpacing + direction.os2, change + otherPinOffset + _px];\n spacerState.t = spacer;\n i3 = pinSpacing === _padding ? _getSize(pin, direction) + change + otherPinOffset : 0;\n if (i3) {\n spacerState.push(direction.d, i3 + _px);\n spacer.style.flexBasis !== \"auto\" && (spacer.style.flexBasis = i3 + _px);\n }\n _setState(spacerState);\n if (pinnedContainer) {\n _triggers.forEach(function(t2) {\n if (t2.pin === pinnedContainer && t2.vars.pinSpacing !== false) {\n t2._subPinOffset = true;\n }\n });\n }\n useFixedPosition && scrollFunc(prevScroll);\n } else {\n i3 = _getSize(pin, direction);\n i3 && spacer.style.flexBasis !== \"auto\" && (spacer.style.flexBasis = i3 + _px);\n }\n if (useFixedPosition) {\n override = {\n top: bounds.top + (isVertical ? scroll - start : oppositeScroll) + _px,\n left: bounds.left + (isVertical ? oppositeScroll : scroll - start) + _px,\n boxSizing: \"border-box\",\n position: \"fixed\"\n };\n override[_width] = override[\"max\" + _Width] = Math.ceil(bounds.width) + _px;\n override[_height] = override[\"max\" + _Height] = Math.ceil(bounds.height) + _px;\n override[_margin] = override[_margin + _Top] = override[_margin + _Right] = override[_margin + _Bottom] = override[_margin + _Left] = \"0\";\n override[_padding] = cs2[_padding];\n override[_padding + _Top] = cs2[_padding + _Top];\n override[_padding + _Right] = cs2[_padding + _Right];\n override[_padding + _Bottom] = cs2[_padding + _Bottom];\n override[_padding + _Left] = cs2[_padding + _Left];\n pinActiveState = _copyState(pinOriginalState, override, pinReparent);\n _refreshingAll && scrollFunc(0);\n }\n if (animation) {\n initted = animation._initted;\n _suppressOverwrites(1);\n animation.render(animation.duration(), true, true);\n pinChange = pinGetter(direction.a) - pinStart + change + otherPinOffset;\n pinMoves = Math.abs(change - pinChange) > 1;\n useFixedPosition && pinMoves && pinActiveState.splice(pinActiveState.length - 2, 2);\n animation.render(0, true, true);\n initted || animation.invalidate(true);\n animation.parent || animation.totalTime(animation.totalTime());\n _suppressOverwrites(0);\n } else {\n pinChange = change;\n }\n forcedOverflow && (forcedOverflow.value ? forcedOverflow.style[\"overflow\" + direction.a.toUpperCase()] = forcedOverflow.value : forcedOverflow.style.removeProperty(\"overflow-\" + direction.a));\n } else if (trigger && scrollFunc() && !containerAnimation) {\n bounds = trigger.parentNode;\n while (bounds && bounds !== _body$1) {\n if (bounds._pinOffset) {\n start -= bounds._pinOffset;\n end -= bounds._pinOffset;\n }\n bounds = bounds.parentNode;\n }\n }\n revertedPins && revertedPins.forEach(function(t2) {\n return t2.revert(false, true);\n });\n self2.start = start;\n self2.end = end;\n scroll1 = scroll2 = _refreshingAll ? prevScroll : scrollFunc();\n if (!containerAnimation && !_refreshingAll) {\n scroll1 < prevScroll && scrollFunc(prevScroll);\n self2.scroll.rec = 0;\n }\n self2.revert(false, true);\n lastRefresh = _getTime$1();\n if (snapDelayedCall) {\n lastSnap = -1;\n snapDelayedCall.restart(true);\n }\n _refreshing = 0;\n animation && isToggle && (animation._initted || prevAnimProgress) && animation.progress() !== prevAnimProgress && animation.progress(prevAnimProgress || 0, true).render(animation.time(), true, true);\n if (isFirstRefresh || prevProgress !== self2.progress || containerAnimation || invalidateOnRefresh) {\n animation && !isToggle && animation.totalProgress(containerAnimation && start < -1e-3 && !prevProgress ? gsap$1.utils.normalize(start, end, 0) : prevProgress, true);\n self2.progress = isFirstRefresh || (scroll1 - start) / change === prevProgress ? 0 : prevProgress;\n }\n pin && pinSpacing && (spacer._pinOffset = Math.round(self2.progress * pinChange));\n scrubTween && scrubTween.invalidate();\n if (!isNaN(markerStartOffset)) {\n markerStartOffset -= gsap$1.getProperty(markerStartTrigger, direction.p);\n markerEndOffset -= gsap$1.getProperty(markerEndTrigger, direction.p);\n _shiftMarker(markerStartTrigger, direction, markerStartOffset);\n _shiftMarker(markerStart, direction, markerStartOffset - (pinOffset || 0));\n _shiftMarker(markerEndTrigger, direction, markerEndOffset);\n _shiftMarker(markerEnd, direction, markerEndOffset - (pinOffset || 0));\n }\n isFirstRefresh && !_refreshingAll && self2.update();\n if (onRefresh && !_refreshingAll && !executingOnRefresh) {\n executingOnRefresh = true;\n onRefresh(self2);\n executingOnRefresh = false;\n }\n };\n self2.getVelocity = function() {\n return (scrollFunc() - scroll2) / (_getTime$1() - _time2) * 1e3 || 0;\n };\n self2.endAnimation = function() {\n _endAnimation(self2.callbackAnimation);\n if (animation) {\n scrubTween ? scrubTween.progress(1) : !animation.paused() ? _endAnimation(animation, animation.reversed()) : isToggle || _endAnimation(animation, self2.direction < 0, 1);\n }\n };\n self2.labelToScroll = function(label) {\n return animation && animation.labels && (start || self2.refresh() || start) + animation.labels[label] / animation.duration() * change || 0;\n };\n self2.getTrailing = function(name) {\n var i3 = _triggers.indexOf(self2), a = self2.direction > 0 ? _triggers.slice(0, i3).reverse() : _triggers.slice(i3 + 1);\n return (_isString(name) ? a.filter(function(t2) {\n return t2.vars.preventOverlaps === name;\n }) : a).filter(function(t2) {\n return self2.direction > 0 ? t2.end <= start : t2.start >= end;\n });\n };\n self2.update = function(reset, recordVelocity, forceFake) {\n if (containerAnimation && !forceFake && !reset) {\n return;\n }\n var scroll = _refreshingAll === true ? prevScroll : self2.scroll(), p = reset ? 0 : (scroll - start) / change, clipped = p < 0 ? 0 : p > 1 ? 1 : p || 0, prevProgress2 = self2.progress, isActive, wasActive, toggleState, action, stateChanged, toggled, isAtMax, isTakingAction;\n if (recordVelocity) {\n scroll2 = scroll1;\n scroll1 = containerAnimation ? scrollFunc() : scroll;\n if (snap) {\n snap2 = snap1;\n snap1 = animation && !isToggle ? animation.totalProgress() : clipped;\n }\n }\n if (anticipatePin && pin && !_refreshing && !_startup$1 && _lastScrollTime) {\n if (!clipped && start < scroll + (scroll - scroll2) / (_getTime$1() - _time2) * anticipatePin) {\n clipped = 1e-4;\n } else if (clipped === 1 && end > scroll + (scroll - scroll2) / (_getTime$1() - _time2) * anticipatePin) {\n clipped = 0.9999;\n }\n }\n if (clipped !== prevProgress2 && self2.enabled) {\n isActive = self2.isActive = !!clipped && clipped < 1;\n wasActive = !!prevProgress2 && prevProgress2 < 1;\n toggled = isActive !== wasActive;\n stateChanged = toggled || !!clipped !== !!prevProgress2;\n self2.direction = clipped > prevProgress2 ? 1 : -1;\n self2.progress = clipped;\n if (stateChanged && !_refreshing) {\n toggleState = clipped && !prevProgress2 ? 0 : clipped === 1 ? 1 : prevProgress2 === 1 ? 2 : 3;\n if (isToggle) {\n action = !toggled && toggleActions[toggleState + 1] !== \"none\" && toggleActions[toggleState + 1] || toggleActions[toggleState];\n isTakingAction = animation && (action === \"complete\" || action === \"reset\" || action in animation);\n }\n }\n preventOverlaps && (toggled || isTakingAction) && (isTakingAction || scrub || !animation) && (_isFunction(preventOverlaps) ? preventOverlaps(self2) : self2.getTrailing(preventOverlaps).forEach(function(t2) {\n return t2.endAnimation();\n }));\n if (!isToggle) {\n if (scrubTween && !_refreshing && !_startup$1) {\n scrubTween._dp._time - scrubTween._start !== scrubTween._time && scrubTween.render(scrubTween._dp._time - scrubTween._start);\n if (scrubTween.resetTo) {\n scrubTween.resetTo(\"totalProgress\", clipped, animation._tTime / animation._tDur);\n } else {\n scrubTween.vars.totalProgress = clipped;\n scrubTween.invalidate().restart();\n }\n } else if (animation) {\n animation.totalProgress(clipped, !!(_refreshing && (lastRefresh || reset)));\n }\n }\n if (pin) {\n reset && pinSpacing && (spacer.style[pinSpacing + direction.os2] = spacingStart);\n if (!useFixedPosition) {\n pinSetter(_round(pinStart + pinChange * clipped));\n } else if (stateChanged) {\n isAtMax = !reset && clipped > prevProgress2 && end + 1 > scroll && scroll + 1 >= _maxScroll(scroller, direction);\n if (pinReparent) {\n if (!reset && (isActive || isAtMax)) {\n var bounds = _getBounds(pin, true), _offset = scroll - start;\n _reparent(pin, _body$1, bounds.top + (direction === _vertical ? _offset : 0) + _px, bounds.left + (direction === _vertical ? 0 : _offset) + _px);\n } else {\n _reparent(pin, spacer);\n }\n }\n _setState(isActive || isAtMax ? pinActiveState : pinState);\n pinMoves && clipped < 1 && isActive || pinSetter(pinStart + (clipped === 1 && !isAtMax ? pinChange : 0));\n }\n }\n snap && !tweenTo.tween && !_refreshing && !_startup$1 && snapDelayedCall.restart(true);\n toggleClass && (toggled || once && clipped && (clipped < 1 || !_limitCallbacks)) && _toArray(toggleClass.targets).forEach(function(el) {\n return el.classList[isActive || once ? \"add\" : \"remove\"](toggleClass.className);\n });\n onUpdate && !isToggle && !reset && onUpdate(self2);\n if (stateChanged && !_refreshing) {\n if (isToggle) {\n if (isTakingAction) {\n if (action === \"complete\") {\n animation.pause().totalProgress(1);\n } else if (action === \"reset\") {\n animation.restart(true).pause();\n } else if (action === \"restart\") {\n animation.restart(true);\n } else {\n animation[action]();\n }\n }\n onUpdate && onUpdate(self2);\n }\n if (toggled || !_limitCallbacks) {\n onToggle && toggled && _callback(self2, onToggle);\n callbacks[toggleState] && _callback(self2, callbacks[toggleState]);\n once && (clipped === 1 ? self2.kill(false, 1) : callbacks[toggleState] = 0);\n if (!toggled) {\n toggleState = clipped === 1 ? 1 : 3;\n callbacks[toggleState] && _callback(self2, callbacks[toggleState]);\n }\n }\n if (fastScrollEnd && !isActive && Math.abs(self2.getVelocity()) > (_isNumber(fastScrollEnd) ? fastScrollEnd : 2500)) {\n _endAnimation(self2.callbackAnimation);\n scrubTween ? scrubTween.progress(1) : _endAnimation(animation, action === \"reverse\" ? 1 : !clipped, 1);\n }\n } else if (isToggle && onUpdate && !_refreshing) {\n onUpdate(self2);\n }\n }\n if (markerEndSetter) {\n var n2 = containerAnimation ? scroll / containerAnimation.duration() * (containerAnimation._caScrollDist || 0) : scroll;\n markerStartSetter(n2 + (markerStartTrigger._isFlipped ? 1 : 0));\n markerEndSetter(n2);\n }\n caMarkerSetter && caMarkerSetter(-scroll / containerAnimation.duration() * (containerAnimation._caScrollDist || 0));\n };\n self2.enable = function(reset, refresh) {\n if (!self2.enabled) {\n self2.enabled = true;\n _addListener$1(scroller, \"resize\", _onResize);\n isViewport || _addListener$1(scroller, \"scroll\", _onScroll$1);\n onRefreshInit && _addListener$1(ScrollTrigger3, \"refreshInit\", onRefreshInit);\n if (reset !== false) {\n self2.progress = prevProgress = 0;\n scroll1 = scroll2 = lastSnap = scrollFunc();\n }\n refresh !== false && self2.refresh();\n }\n };\n self2.getTween = function(snap3) {\n return snap3 && tweenTo ? tweenTo.tween : scrubTween;\n };\n self2.setPositions = function(newStart, newEnd, keepClamp, pinOffset) {\n if (containerAnimation) {\n var st = containerAnimation.scrollTrigger, duration = containerAnimation.duration(), _change = st.end - st.start;\n newStart = st.start + _change * newStart / duration;\n newEnd = st.start + _change * newEnd / duration;\n }\n self2.refresh(false, false, {\n start: _keepClamp(newStart, keepClamp && !!self2._startClamp),\n end: _keepClamp(newEnd, keepClamp && !!self2._endClamp)\n }, pinOffset);\n self2.update();\n };\n self2.adjustPinSpacing = function(amount) {\n if (spacerState && amount) {\n var i3 = spacerState.indexOf(direction.d) + 1;\n spacerState[i3] = parseFloat(spacerState[i3]) + amount + _px;\n spacerState[1] = parseFloat(spacerState[1]) + amount + _px;\n _setState(spacerState);\n }\n };\n self2.disable = function(reset, allowAnimation) {\n if (self2.enabled) {\n reset !== false && self2.revert(true, true);\n self2.enabled = self2.isActive = false;\n allowAnimation || scrubTween && scrubTween.pause();\n prevScroll = 0;\n pinCache && (pinCache.uncache = 1);\n onRefreshInit && _removeListener$1(ScrollTrigger3, \"refreshInit\", onRefreshInit);\n if (snapDelayedCall) {\n snapDelayedCall.pause();\n tweenTo.tween && tweenTo.tween.kill() && (tweenTo.tween = 0);\n }\n if (!isViewport) {\n var i3 = _triggers.length;\n while (i3--) {\n if (_triggers[i3].scroller === scroller && _triggers[i3] !== self2) {\n return;\n }\n }\n _removeListener$1(scroller, \"resize\", _onResize);\n isViewport || _removeListener$1(scroller, \"scroll\", _onScroll$1);\n }\n }\n };\n self2.kill = function(revert, allowAnimation) {\n self2.disable(revert, allowAnimation);\n scrubTween && !allowAnimation && scrubTween.kill();\n id && delete _ids[id];\n var i3 = _triggers.indexOf(self2);\n i3 >= 0 && _triggers.splice(i3, 1);\n i3 === _i && _direction > 0 && _i--;\n i3 = 0;\n _triggers.forEach(function(t2) {\n return t2.scroller === self2.scroller && (i3 = 1);\n });\n i3 || _refreshingAll || (self2.scroll.rec = 0);\n if (animation) {\n animation.scrollTrigger = null;\n revert && animation.revert({\n kill: false\n });\n allowAnimation || animation.kill();\n }\n markerStart && [markerStart, markerEnd, markerStartTrigger, markerEndTrigger].forEach(function(m) {\n return m.parentNode && m.parentNode.removeChild(m);\n });\n _primary === self2 && (_primary = 0);\n if (pin) {\n pinCache && (pinCache.uncache = 1);\n i3 = 0;\n _triggers.forEach(function(t2) {\n return t2.pin === pin && i3++;\n });\n i3 || (pinCache.spacer = 0);\n }\n vars.onKill && vars.onKill(self2);\n };\n _triggers.push(self2);\n self2.enable(false, false);\n customRevertReturn && customRevertReturn(self2);\n if (animation && animation.add && !change) {\n var updateFunc = self2.update;\n self2.update = function() {\n self2.update = updateFunc;\n start || end || self2.refresh();\n };\n gsap$1.delayedCall(0.01, self2.update);\n change = 0.01;\n start = end = 0;\n } else {\n self2.refresh();\n }\n pin && _queueRefreshAll();\n };\n ScrollTrigger3.register = function register(core) {\n if (!_coreInitted$1) {\n gsap$1 = core || _getGSAP$1();\n _windowExists() && window.document && ScrollTrigger3.enable();\n _coreInitted$1 = _enabled;\n }\n return _coreInitted$1;\n };\n ScrollTrigger3.defaults = function defaults(config) {\n if (config) {\n for (var p in config) {\n _defaults[p] = config[p];\n }\n }\n return _defaults;\n };\n ScrollTrigger3.disable = function disable(reset, kill) {\n _enabled = 0;\n _triggers.forEach(function(trigger) {\n return trigger[kill ? \"kill\" : \"disable\"](reset);\n });\n _removeListener$1(_win$1, \"wheel\", _onScroll$1);\n _removeListener$1(_doc$1, \"scroll\", _onScroll$1);\n clearInterval(_syncInterval);\n _removeListener$1(_doc$1, \"touchcancel\", _passThrough);\n _removeListener$1(_body$1, \"touchstart\", _passThrough);\n _multiListener(_removeListener$1, _doc$1, \"pointerdown,touchstart,mousedown\", _pointerDownHandler);\n _multiListener(_removeListener$1, _doc$1, \"pointerup,touchend,mouseup\", _pointerUpHandler);\n _resizeDelay.kill();\n _iterateAutoRefresh(_removeListener$1);\n for (var i3 = 0; i3 < _scrollers.length; i3 += 3) {\n _wheelListener(_removeListener$1, _scrollers[i3], _scrollers[i3 + 1]);\n _wheelListener(_removeListener$1, _scrollers[i3], _scrollers[i3 + 2]);\n }\n };\n ScrollTrigger3.enable = function enable() {\n _win$1 = window;\n _doc$1 = document;\n _docEl$1 = _doc$1.documentElement;\n _body$1 = _doc$1.body;\n if (gsap$1) {\n _toArray = gsap$1.utils.toArray;\n _clamp$1 = gsap$1.utils.clamp;\n _context$1 = gsap$1.core.context || _passThrough;\n _suppressOverwrites = gsap$1.core.suppressOverwrites || _passThrough;\n _scrollRestoration = _win$1.history.scrollRestoration || \"auto\";\n _lastScroll = _win$1.pageYOffset;\n gsap$1.core.globals(\"ScrollTrigger\", ScrollTrigger3);\n if (_body$1) {\n _enabled = 1;\n _div100vh = document.createElement(\"div\");\n _div100vh.style.height = \"100vh\";\n _div100vh.style.position = \"absolute\";\n _refresh100vh();\n _rafBugFix();\n Observer.register(gsap$1);\n ScrollTrigger3.isTouch = Observer.isTouch;\n _fixIOSBug = Observer.isTouch && /(iPad|iPhone|iPod|Mac)/g.test(navigator.userAgent);\n _ignoreMobileResize = Observer.isTouch === 1;\n _addListener$1(_win$1, \"wheel\", _onScroll$1);\n _root$1 = [_win$1, _doc$1, _docEl$1, _body$1];\n if (gsap$1.matchMedia) {\n ScrollTrigger3.matchMedia = function(vars) {\n var mm = gsap$1.matchMedia(), p;\n for (p in vars) {\n mm.add(p, vars[p]);\n }\n return mm;\n };\n gsap$1.addEventListener(\"matchMediaInit\", function() {\n return _revertAll();\n });\n gsap$1.addEventListener(\"matchMediaRevert\", function() {\n return _revertRecorded();\n });\n gsap$1.addEventListener(\"matchMedia\", function() {\n _refreshAll(0, 1);\n _dispatch(\"matchMedia\");\n });\n gsap$1.matchMedia(\"(orientation: portrait)\", function() {\n _setBaseDimensions();\n return _setBaseDimensions;\n });\n } else {\n console.warn(\"Requires GSAP 3.11.0 or later\");\n }\n _setBaseDimensions();\n _addListener$1(_doc$1, \"scroll\", _onScroll$1);\n var bodyStyle = _body$1.style, border = bodyStyle.borderTopStyle, AnimationProto = gsap$1.core.Animation.prototype, bounds, i3;\n AnimationProto.revert || Object.defineProperty(AnimationProto, \"revert\", {\n value: function value() {\n return this.time(-0.01, true);\n }\n });\n bodyStyle.borderTopStyle = \"solid\";\n bounds = _getBounds(_body$1);\n _vertical.m = Math.round(bounds.top + _vertical.sc()) || 0;\n _horizontal.m = Math.round(bounds.left + _horizontal.sc()) || 0;\n border ? bodyStyle.borderTopStyle = border : bodyStyle.removeProperty(\"border-top-style\");\n _syncInterval = setInterval(_sync, 250);\n gsap$1.delayedCall(0.5, function() {\n return _startup$1 = 0;\n });\n _addListener$1(_doc$1, \"touchcancel\", _passThrough);\n _addListener$1(_body$1, \"touchstart\", _passThrough);\n _multiListener(_addListener$1, _doc$1, \"pointerdown,touchstart,mousedown\", _pointerDownHandler);\n _multiListener(_addListener$1, _doc$1, \"pointerup,touchend,mouseup\", _pointerUpHandler);\n _transformProp = gsap$1.utils.checkPrefix(\"transform\");\n _stateProps.push(_transformProp);\n _coreInitted$1 = _getTime$1();\n _resizeDelay = gsap$1.delayedCall(0.2, _refreshAll).pause();\n _autoRefresh = [_doc$1, \"visibilitychange\", function() {\n var w = _win$1.innerWidth, h2 = _win$1.innerHeight;\n if (_doc$1.hidden) {\n _prevWidth = w;\n _prevHeight = h2;\n } else if (_prevWidth !== w || _prevHeight !== h2) {\n _onResize();\n }\n }, _doc$1, \"DOMContentLoaded\", _refreshAll, _win$1, \"load\", _refreshAll, _win$1, \"resize\", _onResize];\n _iterateAutoRefresh(_addListener$1);\n _triggers.forEach(function(trigger) {\n return trigger.enable(0, 1);\n });\n for (i3 = 0; i3 < _scrollers.length; i3 += 3) {\n _wheelListener(_removeListener$1, _scrollers[i3], _scrollers[i3 + 1]);\n _wheelListener(_removeListener$1, _scrollers[i3], _scrollers[i3 + 2]);\n }\n }\n }\n };\n ScrollTrigger3.config = function config(vars) {\n \"limitCallbacks\" in vars && (_limitCallbacks = !!vars.limitCallbacks);\n var ms = vars.syncInterval;\n ms && clearInterval(_syncInterval) || (_syncInterval = ms) && setInterval(_sync, ms);\n \"ignoreMobileResize\" in vars && (_ignoreMobileResize = ScrollTrigger3.isTouch === 1 && vars.ignoreMobileResize);\n if (\"autoRefreshEvents\" in vars) {\n _iterateAutoRefresh(_removeListener$1) || _iterateAutoRefresh(_addListener$1, vars.autoRefreshEvents || \"none\");\n _ignoreResize = (vars.autoRefreshEvents + \"\").indexOf(\"resize\") === -1;\n }\n };\n ScrollTrigger3.scrollerProxy = function scrollerProxy(target, vars) {\n var t2 = _getTarget(target), i3 = _scrollers.indexOf(t2), isViewport = _isViewport$1(t2);\n if (~i3) {\n _scrollers.splice(i3, isViewport ? 6 : 2);\n }\n if (vars) {\n isViewport ? _proxies.unshift(_win$1, vars, _body$1, vars, _docEl$1, vars) : _proxies.unshift(t2, vars);\n }\n };\n ScrollTrigger3.clearMatchMedia = function clearMatchMedia(query) {\n _triggers.forEach(function(t2) {\n return t2._ctx && t2._ctx.query === query && t2._ctx.kill(true, true);\n });\n };\n ScrollTrigger3.isInViewport = function isInViewport(element, ratio, horizontal) {\n var bounds = (_isString(element) ? _getTarget(element) : element).getBoundingClientRect(), offset = bounds[horizontal ? _width : _height] * ratio || 0;\n return horizontal ? bounds.right - offset > 0 && bounds.left + offset < _win$1.innerWidth : bounds.bottom - offset > 0 && bounds.top + offset < _win$1.innerHeight;\n };\n ScrollTrigger3.positionInViewport = function positionInViewport(element, referencePoint, horizontal) {\n _isString(element) && (element = _getTarget(element));\n var bounds = element.getBoundingClientRect(), size = bounds[horizontal ? _width : _height], offset = referencePoint == null ? size / 2 : referencePoint in _keywords ? _keywords[referencePoint] * size : ~referencePoint.indexOf(\"%\") ? parseFloat(referencePoint) * size / 100 : parseFloat(referencePoint) || 0;\n return horizontal ? (bounds.left + offset) / _win$1.innerWidth : (bounds.top + offset) / _win$1.innerHeight;\n };\n ScrollTrigger3.killAll = function killAll(allowListeners) {\n _triggers.slice(0).forEach(function(t2) {\n return t2.vars.id !== \"ScrollSmoother\" && t2.kill();\n });\n if (allowListeners !== true) {\n var listeners = _listeners.killAll || [];\n _listeners = {};\n listeners.forEach(function(f) {\n return f();\n });\n }\n };\n return ScrollTrigger3;\n }();\n ScrollTrigger$1.version = \"3.12.5\";\n ScrollTrigger$1.saveStyles = function(targets) {\n return targets ? _toArray(targets).forEach(function(target) {\n if (target && target.style) {\n var i3 = _savedStyles.indexOf(target);\n i3 >= 0 && _savedStyles.splice(i3, 5);\n _savedStyles.push(target, target.style.cssText, target.getBBox && target.getAttribute(\"transform\"), gsap$1.core.getCache(target), _context$1());\n }\n }) : _savedStyles;\n };\n ScrollTrigger$1.revert = function(soft, media) {\n return _revertAll(!soft, media);\n };\n ScrollTrigger$1.create = function(vars, animation) {\n return new ScrollTrigger$1(vars, animation);\n };\n ScrollTrigger$1.refresh = function(safe) {\n return safe ? _onResize() : (_coreInitted$1 || ScrollTrigger$1.register()) && _refreshAll(true);\n };\n ScrollTrigger$1.update = function(force) {\n return ++_scrollers.cache && _updateAll(force === true ? 2 : 0);\n };\n ScrollTrigger$1.clearScrollMemory = _clearScrollMemory;\n ScrollTrigger$1.maxScroll = function(element, horizontal) {\n return _maxScroll(element, horizontal ? _horizontal : _vertical);\n };\n ScrollTrigger$1.getScrollFunc = function(element, horizontal) {\n return _getScrollFunc(_getTarget(element), horizontal ? _horizontal : _vertical);\n };\n ScrollTrigger$1.getById = function(id) {\n return _ids[id];\n };\n ScrollTrigger$1.getAll = function() {\n return _triggers.filter(function(t2) {\n return t2.vars.id !== \"ScrollSmoother\";\n });\n };\n ScrollTrigger$1.isScrolling = function() {\n return !!_lastScrollTime;\n };\n ScrollTrigger$1.snapDirectional = _snapDirectional;\n ScrollTrigger$1.addEventListener = function(type, callback) {\n var a = _listeners[type] || (_listeners[type] = []);\n ~a.indexOf(callback) || a.push(callback);\n };\n ScrollTrigger$1.removeEventListener = function(type, callback) {\n var a = _listeners[type], i3 = a && a.indexOf(callback);\n i3 >= 0 && a.splice(i3, 1);\n };\n ScrollTrigger$1.batch = function(targets, vars) {\n var result = [], varsCopy = {}, interval = vars.interval || 0.016, batchMax = vars.batchMax || 1e9, proxyCallback = function proxyCallback2(type, callback) {\n var elements = [], triggers = [], delay = gsap$1.delayedCall(interval, function() {\n callback(elements, triggers);\n elements = [];\n triggers = [];\n }).pause();\n return function(self2) {\n elements.length || delay.restart(true);\n elements.push(self2.trigger);\n triggers.push(self2);\n batchMax <= elements.length && delay.progress(1);\n };\n }, p;\n for (p in vars) {\n varsCopy[p] = p.substr(0, 2) === \"on\" && _isFunction(vars[p]) && p !== \"onRefreshInit\" ? proxyCallback(p, vars[p]) : vars[p];\n }\n if (_isFunction(batchMax)) {\n batchMax = batchMax();\n _addListener$1(ScrollTrigger$1, \"refresh\", function() {\n return batchMax = vars.batchMax();\n });\n }\n _toArray(targets).forEach(function(target) {\n var config = {};\n for (p in varsCopy) {\n config[p] = varsCopy[p];\n }\n config.trigger = target;\n result.push(ScrollTrigger$1.create(config));\n });\n return result;\n };\n var _clampScrollAndGetDurationMultiplier = function _clampScrollAndGetDurationMultiplier2(scrollFunc, current, end, max) {\n current > max ? scrollFunc(max) : current < 0 && scrollFunc(0);\n return end > max ? (max - current) / (end - current) : end < 0 ? current / (current - end) : 1;\n }, _allowNativePanning = function _allowNativePanning2(target, direction) {\n if (direction === true) {\n target.style.removeProperty(\"touch-action\");\n } else {\n target.style.touchAction = direction === true ? \"auto\" : direction ? \"pan-\" + direction + (Observer.isTouch ? \" pinch-zoom\" : \"\") : \"none\";\n }\n target === _docEl$1 && _allowNativePanning2(_body$1, direction);\n }, _overflow = {\n auto: 1,\n scroll: 1\n }, _nestedScroll = function _nestedScroll2(_ref5) {\n var event = _ref5.event, target = _ref5.target, axis = _ref5.axis;\n var node = (event.changedTouches ? event.changedTouches[0] : event).target, cache = node._gsap || gsap$1.core.getCache(node), time = _getTime$1(), cs;\n if (!cache._isScrollT || time - cache._isScrollT > 2e3) {\n while (node && node !== _body$1 && (node.scrollHeight <= node.clientHeight && node.scrollWidth <= node.clientWidth || !(_overflow[(cs = _getComputedStyle(node)).overflowY] || _overflow[cs.overflowX]))) {\n node = node.parentNode;\n }\n cache._isScroll = node && node !== target && !_isViewport$1(node) && (_overflow[(cs = _getComputedStyle(node)).overflowY] || _overflow[cs.overflowX]);\n cache._isScrollT = time;\n }\n if (cache._isScroll || axis === \"x\") {\n event.stopPropagation();\n event._gsapAllow = true;\n }\n }, _inputObserver = function _inputObserver2(target, type, inputs, nested) {\n return Observer.create({\n target,\n capture: true,\n debounce: false,\n lockAxis: true,\n type,\n onWheel: nested = nested && _nestedScroll,\n onPress: nested,\n onDrag: nested,\n onScroll: nested,\n onEnable: function onEnable() {\n return inputs && _addListener$1(_doc$1, Observer.eventTypes[0], _captureInputs, false, true);\n },\n onDisable: function onDisable() {\n return _removeListener$1(_doc$1, Observer.eventTypes[0], _captureInputs, true);\n }\n });\n }, _inputExp = /(input|label|select|textarea)/i, _inputIsFocused, _captureInputs = function _captureInputs2(e) {\n var isInput = _inputExp.test(e.target.tagName);\n if (isInput || _inputIsFocused) {\n e._gsapAllow = true;\n _inputIsFocused = isInput;\n }\n }, _getScrollNormalizer = function _getScrollNormalizer2(vars) {\n _isObject(vars) || (vars = {});\n vars.preventDefault = vars.isNormalizer = vars.allowClicks = true;\n vars.type || (vars.type = \"wheel,touch\");\n vars.debounce = !!vars.debounce;\n vars.id = vars.id || \"normalizer\";\n var _vars2 = vars, normalizeScrollX = _vars2.normalizeScrollX, momentum = _vars2.momentum, allowNestedScroll = _vars2.allowNestedScroll, onRelease = _vars2.onRelease, self2, maxY, target = _getTarget(vars.target) || _docEl$1, smoother = gsap$1.core.globals().ScrollSmoother, smootherInstance = smoother && smoother.get(), content = _fixIOSBug && (vars.content && _getTarget(vars.content) || smootherInstance && vars.content !== false && !smootherInstance.smooth() && smootherInstance.content()), scrollFuncY = _getScrollFunc(target, _vertical), scrollFuncX = _getScrollFunc(target, _horizontal), scale = 1, initialScale = (Observer.isTouch && _win$1.visualViewport ? _win$1.visualViewport.scale * _win$1.visualViewport.width : _win$1.outerWidth) / _win$1.innerWidth, wheelRefresh = 0, resolveMomentumDuration = _isFunction(momentum) ? function() {\n return momentum(self2);\n } : function() {\n return momentum || 2.8;\n }, lastRefreshID, skipTouchMove, inputObserver = _inputObserver(target, vars.type, true, allowNestedScroll), resumeTouchMove = function resumeTouchMove2() {\n return skipTouchMove = false;\n }, scrollClampX = _passThrough, scrollClampY = _passThrough, updateClamps = function updateClamps2() {\n maxY = _maxScroll(target, _vertical);\n scrollClampY = _clamp$1(_fixIOSBug ? 1 : 0, maxY);\n normalizeScrollX && (scrollClampX = _clamp$1(0, _maxScroll(target, _horizontal)));\n lastRefreshID = _refreshID;\n }, removeContentOffset = function removeContentOffset2() {\n content._gsap.y = _round(parseFloat(content._gsap.y) + scrollFuncY.offset) + \"px\";\n content.style.transform = \"matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, \" + parseFloat(content._gsap.y) + \", 0, 1)\";\n scrollFuncY.offset = scrollFuncY.cacheID = 0;\n }, ignoreDrag = function ignoreDrag2() {\n if (skipTouchMove) {\n requestAnimationFrame(resumeTouchMove);\n var offset = _round(self2.deltaY / 2), scroll = scrollClampY(scrollFuncY.v - offset);\n if (content && scroll !== scrollFuncY.v + scrollFuncY.offset) {\n scrollFuncY.offset = scroll - scrollFuncY.v;\n var y = _round((parseFloat(content && content._gsap.y) || 0) - scrollFuncY.offset);\n content.style.transform = \"matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, \" + y + \", 0, 1)\";\n content._gsap.y = y + \"px\";\n scrollFuncY.cacheID = _scrollers.cache;\n _updateAll();\n }\n return true;\n }\n scrollFuncY.offset && removeContentOffset();\n skipTouchMove = true;\n }, tween, startScrollX, startScrollY, onStopDelayedCall, onResize = function onResize2() {\n updateClamps();\n if (tween.isActive() && tween.vars.scrollY > maxY) {\n scrollFuncY() > maxY ? tween.progress(1) && scrollFuncY(maxY) : tween.resetTo(\"scrollY\", maxY);\n }\n };\n content && gsap$1.set(content, {\n y: \"+=0\"\n });\n vars.ignoreCheck = function(e) {\n return _fixIOSBug && e.type === \"touchmove\" && ignoreDrag() || scale > 1.05 && e.type !== \"touchstart\" || self2.isGesturing || e.touches && e.touches.length > 1;\n };\n vars.onPress = function() {\n skipTouchMove = false;\n var prevScale = scale;\n scale = _round((_win$1.visualViewport && _win$1.visualViewport.scale || 1) / initialScale);\n tween.pause();\n prevScale !== scale && _allowNativePanning(target, scale > 1.01 ? true : normalizeScrollX ? false : \"x\");\n startScrollX = scrollFuncX();\n startScrollY = scrollFuncY();\n updateClamps();\n lastRefreshID = _refreshID;\n };\n vars.onRelease = vars.onGestureStart = function(self3, wasDragging) {\n scrollFuncY.offset && removeContentOffset();\n if (!wasDragging) {\n onStopDelayedCall.restart(true);\n } else {\n _scrollers.cache++;\n var dur = resolveMomentumDuration(), currentScroll, endScroll;\n if (normalizeScrollX) {\n currentScroll = scrollFuncX();\n endScroll = currentScroll + dur * 0.05 * -self3.velocityX / 0.227;\n dur *= _clampScrollAndGetDurationMultiplier(scrollFuncX, currentScroll, endScroll, _maxScroll(target, _horizontal));\n tween.vars.scrollX = scrollClampX(endScroll);\n }\n currentScroll = scrollFuncY();\n endScroll = currentScroll + dur * 0.05 * -self3.velocityY / 0.227;\n dur *= _clampScrollAndGetDurationMultiplier(scrollFuncY, currentScroll, endScroll, _maxScroll(target, _vertical));\n tween.vars.scrollY = scrollClampY(endScroll);\n tween.invalidate().duration(dur).play(0.01);\n if (_fixIOSBug && tween.vars.scrollY >= maxY || currentScroll >= maxY - 1) {\n gsap$1.to({}, {\n onUpdate: onResize,\n duration: dur\n });\n }\n }\n onRelease && onRelease(self3);\n };\n vars.onWheel = function() {\n tween._ts && tween.pause();\n if (_getTime$1() - wheelRefresh > 1e3) {\n lastRefreshID = 0;\n wheelRefresh = _getTime$1();\n }\n };\n vars.onChange = function(self3, dx, dy, xArray, yArray) {\n _refreshID !== lastRefreshID && updateClamps();\n dx && normalizeScrollX && scrollFuncX(scrollClampX(xArray[2] === dx ? startScrollX + (self3.startX - self3.x) : scrollFuncX() + dx - xArray[1]));\n if (dy) {\n scrollFuncY.offset && removeContentOffset();\n var isTouch = yArray[2] === dy, y = isTouch ? startScrollY + self3.startY - self3.y : scrollFuncY() + dy - yArray[1], yClamped = scrollClampY(y);\n isTouch && y !== yClamped && (startScrollY += yClamped - y);\n scrollFuncY(yClamped);\n }\n (dy || dx) && _updateAll();\n };\n vars.onEnable = function() {\n _allowNativePanning(target, normalizeScrollX ? false : \"x\");\n ScrollTrigger$1.addEventListener(\"refresh\", onResize);\n _addListener$1(_win$1, \"resize\", onResize);\n if (scrollFuncY.smooth) {\n scrollFuncY.target.style.scrollBehavior = \"auto\";\n scrollFuncY.smooth = scrollFuncX.smooth = false;\n }\n inputObserver.enable();\n };\n vars.onDisable = function() {\n _allowNativePanning(target, true);\n _removeListener$1(_win$1, \"resize\", onResize);\n ScrollTrigger$1.removeEventListener(\"refresh\", onResize);\n inputObserver.kill();\n };\n vars.lockAxis = vars.lockAxis !== false;\n self2 = new Observer(vars);\n self2.iOS = _fixIOSBug;\n _fixIOSBug && !scrollFuncY() && scrollFuncY(1);\n _fixIOSBug && gsap$1.ticker.add(_passThrough);\n onStopDelayedCall = self2._dc;\n tween = gsap$1.to(self2, {\n ease: \"power4\",\n paused: true,\n inherit: false,\n scrollX: normalizeScrollX ? \"+=0.1\" : \"+=0\",\n scrollY: \"+=0.1\",\n modifiers: {\n scrollY: _interruptionTracker(scrollFuncY, scrollFuncY(), function() {\n return tween.pause();\n })\n },\n onUpdate: _updateAll,\n onComplete: onStopDelayedCall.vars.onComplete\n });\n return self2;\n };\n ScrollTrigger$1.sort = function(func) {\n return _triggers.sort(func || function(a, b) {\n return (a.vars.refreshPriority || 0) * -1e6 + a.start - (b.start + (b.vars.refreshPriority || 0) * -1e6);\n });\n };\n ScrollTrigger$1.observe = function(vars) {\n return new Observer(vars);\n };\n ScrollTrigger$1.normalizeScroll = function(vars) {\n if (typeof vars === \"undefined\") {\n return _normalizer$1;\n }\n if (vars === true && _normalizer$1) {\n return _normalizer$1.enable();\n }\n if (vars === false) {\n _normalizer$1 && _normalizer$1.kill();\n _normalizer$1 = vars;\n return;\n }\n var normalizer = vars instanceof Observer ? vars : _getScrollNormalizer(vars);\n _normalizer$1 && _normalizer$1.target === normalizer.target && _normalizer$1.kill();\n _isViewport$1(normalizer.target) && (_normalizer$1 = normalizer);\n return normalizer;\n };\n ScrollTrigger$1.core = {\n _getVelocityProp,\n _inputObserver,\n _scrollers,\n _proxies,\n bridge: {\n ss: function ss() {\n _lastScrollTime || _dispatch(\"scrollStart\");\n _lastScrollTime = _getTime$1();\n },\n ref: function ref() {\n return _refreshing;\n }\n }\n };\n _getGSAP$1() && gsap$1.registerPlugin(ScrollTrigger$1);\n exports2.ScrollTrigger = ScrollTrigger$1;\n exports2.default = ScrollTrigger$1;\n if (typeof window === \"undefined\" || window !== exports2) {\n Object.defineProperty(exports2, \"__esModule\", { value: true });\n } else {\n delete window.default;\n }\n });\n }\n});\n\n// node_modules/countup.js/dist/countUp.min.js\nvar t = function() {\n return t = Object.assign || function(t2) {\n for (var i3, n2 = 1, s = arguments.length; n2 < s; n2++) for (var a in i3 = arguments[n2]) Object.prototype.hasOwnProperty.call(i3, a) && (t2[a] = i3[a]);\n return t2;\n }, t.apply(this, arguments);\n};\nvar i2 = function() {\n function i3(i4, n2, s) {\n var a = this;\n this.endVal = n2, this.options = s, this.version = \"2.8.0\", this.defaults = { startVal: 0, decimalPlaces: 0, duration: 2, useEasing: true, useGrouping: true, useIndianSeparators: false, smartEasingThreshold: 999, smartEasingAmount: 333, separator: \",\", decimal: \".\", prefix: \"\", suffix: \"\", enableScrollSpy: false, scrollSpyDelay: 200, scrollSpyOnce: false }, this.finalEndVal = null, this.useEasing = true, this.countDown = false, this.error = \"\", this.startVal = 0, this.paused = true, this.once = false, this.count = function(t2) {\n a.startTime || (a.startTime = t2);\n var i5 = t2 - a.startTime;\n a.remaining = a.duration - i5, a.useEasing ? a.countDown ? a.frameVal = a.startVal - a.easingFn(i5, 0, a.startVal - a.endVal, a.duration) : a.frameVal = a.easingFn(i5, a.startVal, a.endVal - a.startVal, a.duration) : a.frameVal = a.startVal + (a.endVal - a.startVal) * (i5 / a.duration);\n var n3 = a.countDown ? a.frameVal < a.endVal : a.frameVal > a.endVal;\n a.frameVal = n3 ? a.endVal : a.frameVal, a.frameVal = Number(a.frameVal.toFixed(a.options.decimalPlaces)), a.printValue(a.frameVal), i5 < a.duration ? a.rAF = requestAnimationFrame(a.count) : null !== a.finalEndVal ? a.update(a.finalEndVal) : a.options.onCompleteCallback && a.options.onCompleteCallback();\n }, this.formatNumber = function(t2) {\n var i5, n3, s2, e, o = t2 < 0 ? \"-\" : \"\";\n i5 = Math.abs(t2).toFixed(a.options.decimalPlaces);\n var r3 = (i5 += \"\").split(\".\");\n if (n3 = r3[0], s2 = r3.length > 1 ? a.options.decimal + r3[1] : \"\", a.options.useGrouping) {\n e = \"\";\n for (var l = 3, h2 = 0, u = 0, p = n3.length; u < p; ++u) a.options.useIndianSeparators && 4 === u && (l = 2, h2 = 1), 0 !== u && h2 % l == 0 && (e = a.options.separator + e), h2++, e = n3[p - u - 1] + e;\n n3 = e;\n }\n return a.options.numerals && a.options.numerals.length && (n3 = n3.replace(/[0-9]/g, function(t3) {\n return a.options.numerals[+t3];\n }), s2 = s2.replace(/[0-9]/g, function(t3) {\n return a.options.numerals[+t3];\n })), o + a.options.prefix + n3 + s2 + a.options.suffix;\n }, this.easeOutExpo = function(t2, i5, n3, s2) {\n return n3 * (1 - Math.pow(2, -10 * t2 / s2)) * 1024 / 1023 + i5;\n }, this.options = t(t({}, this.defaults), s), this.formattingFn = this.options.formattingFn ? this.options.formattingFn : this.formatNumber, this.easingFn = this.options.easingFn ? this.options.easingFn : this.easeOutExpo, this.startVal = this.validateValue(this.options.startVal), this.frameVal = this.startVal, this.endVal = this.validateValue(n2), this.options.decimalPlaces = Math.max(this.options.decimalPlaces), this.resetDuration(), this.options.separator = String(this.options.separator), this.useEasing = this.options.useEasing, \"\" === this.options.separator && (this.options.useGrouping = false), this.el = \"string\" == typeof i4 ? document.getElementById(i4) : i4, this.el ? this.printValue(this.startVal) : this.error = \"[CountUp] target is null or undefined\", \"undefined\" != typeof window && this.options.enableScrollSpy && (this.error ? console.error(this.error, i4) : (window.onScrollFns = window.onScrollFns || [], window.onScrollFns.push(function() {\n return a.handleScroll(a);\n }), window.onscroll = function() {\n window.onScrollFns.forEach(function(t2) {\n return t2();\n });\n }, this.handleScroll(this)));\n }\n return i3.prototype.handleScroll = function(t2) {\n if (t2 && window && !t2.once) {\n var i4 = window.innerHeight + window.scrollY, n2 = t2.el.getBoundingClientRect(), s = n2.top + window.pageYOffset, a = n2.top + n2.height + window.pageYOffset;\n a < i4 && a > window.scrollY && t2.paused ? (t2.paused = false, setTimeout(function() {\n return t2.start();\n }, t2.options.scrollSpyDelay), t2.options.scrollSpyOnce && (t2.once = true)) : (window.scrollY > a || s > i4) && !t2.paused && t2.reset();\n }\n }, i3.prototype.determineDirectionAndSmartEasing = function() {\n var t2 = this.finalEndVal ? this.finalEndVal : this.endVal;\n this.countDown = this.startVal > t2;\n var i4 = t2 - this.startVal;\n if (Math.abs(i4) > this.options.smartEasingThreshold && this.options.useEasing) {\n this.finalEndVal = t2;\n var n2 = this.countDown ? 1 : -1;\n this.endVal = t2 + n2 * this.options.smartEasingAmount, this.duration = this.duration / 2;\n } else this.endVal = t2, this.finalEndVal = null;\n null !== this.finalEndVal ? this.useEasing = false : this.useEasing = this.options.useEasing;\n }, i3.prototype.start = function(t2) {\n this.error || (this.options.onStartCallback && this.options.onStartCallback(), t2 && (this.options.onCompleteCallback = t2), this.duration > 0 ? (this.determineDirectionAndSmartEasing(), this.paused = false, this.rAF = requestAnimationFrame(this.count)) : this.printValue(this.endVal));\n }, i3.prototype.pauseResume = function() {\n this.paused ? (this.startTime = null, this.duration = this.remaining, this.startVal = this.frameVal, this.determineDirectionAndSmartEasing(), this.rAF = requestAnimationFrame(this.count)) : cancelAnimationFrame(this.rAF), this.paused = !this.paused;\n }, i3.prototype.reset = function() {\n cancelAnimationFrame(this.rAF), this.paused = true, this.resetDuration(), this.startVal = this.validateValue(this.options.startVal), this.frameVal = this.startVal, this.printValue(this.startVal);\n }, i3.prototype.update = function(t2) {\n cancelAnimationFrame(this.rAF), this.startTime = null, this.endVal = this.validateValue(t2), this.endVal !== this.frameVal && (this.startVal = this.frameVal, null == this.finalEndVal && this.resetDuration(), this.finalEndVal = null, this.determineDirectionAndSmartEasing(), this.rAF = requestAnimationFrame(this.count));\n }, i3.prototype.printValue = function(t2) {\n var i4;\n if (this.el) {\n var n2 = this.formattingFn(t2);\n if (null === (i4 = this.options.plugin) || void 0 === i4 ? void 0 : i4.render) this.options.plugin.render(this.el, n2);\n else if (\"INPUT\" === this.el.tagName) this.el.value = n2;\n else \"text\" === this.el.tagName || \"tspan\" === this.el.tagName ? this.el.textContent = n2 : this.el.innerHTML = n2;\n }\n }, i3.prototype.ensureNumber = function(t2) {\n return \"number\" == typeof t2 && !isNaN(t2);\n }, i3.prototype.validateValue = function(t2) {\n var i4 = Number(t2);\n return this.ensureNumber(i4) ? i4 : (this.error = \"[CountUp] invalid start or end value: \".concat(t2), null);\n }, i3.prototype.resetDuration = function() {\n this.startTime = null, this.duration = 1e3 * Number(this.options.duration), this.remaining = this.duration;\n }, i3;\n}();\n\n// src/components/jb-key-figures/jb-key-figures.ts\nvar import_ScrollTrigger = __toESM(require_ScrollTrigger(), 1);\n\n// src/components/jb-key-figures/jb-key-figures.scss?inline\nvar jb_key_figures_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.unit, .info-wrap, .number-suffix {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.number {\n font-family: var(--theme-font-xlight-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-xlight-weight, 200);\n}\n\n.info-wrap, .number-suffix {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\njb-section-headline {\n display: block;\n margin-block: 60px;\n}\n@media (min-width: 960px) {\n jb-section-headline {\n margin-block: 68px;\n }\n}\n\n.figures {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: 100%;\n justify-content: center;\n}\n\n.figure {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 20px;\n width: 100%;\n align-items: center;\n display: flex;\n justify-content: center;\n margin-bottom: 24px;\n width: 100%;\n}\n@media (min-width: 600px) {\n .figure {\n box-sizing: border-box;\n flex-basis: 50%;\n max-width: 50%;\n padding: 0 20px;\n width: 50%;\n margin-bottom: 44px;\n }\n}\n@media (min-width: 960px) {\n .figure {\n box-sizing: border-box;\n flex-basis: 33.3333333333%;\n max-width: 33.3333333333%;\n padding: 0 20px;\n width: 33.3333333333%;\n }\n}\n\n.figure-box {\n align-items: center;\n background-color: white;\n display: flex;\n height: 100%;\n padding: 32px 0;\n width: 100%;\n}\n\n.figure-content {\n margin: 0 auto;\n padding: 0 16px;\n}\n\n.number {\n color: #141e55;\n font-size: 2.313rem;\n line-height: 2.25rem;\n}\n@media (min-width: 1281px) {\n .number {\n font-size: 3.125rem;\n }\n}\n\n.unit {\n color: #141e55;\n font-size: 1.313rem;\n}\n@media (min-width: 1281px) {\n .unit {\n font-size: 1.5rem;\n }\n}\n\n.number-suffix {\n color: rgba(20, 30, 85, var(--theme-opacity-40, 0.4));\n}\n\n.info-wrap {\n color: #141e55;\n line-height: normal;\n margin-block-start: 8px;\n padding-inline-start: 8px;\n}\n\n.info-two {\n color: rgba(20, 30, 85, var(--theme-opacity-40, 0.4));\n}`;\n\n// src/components/jb-key-figures/jb-key-figures.ts\nvar JbKeyFigures = class extends ChangesBackgroundColor(Spaceable(h)) {\n firstUpdated() {\n gsapWithCSS.registerPlugin(import_ScrollTrigger.ScrollTrigger);\n this._numbers?.forEach((numberElement) => {\n const format = numberElement.dataset.format === \"true\" ? \",\" : \"\";\n const targetValue = parseFloat(numberElement.innerText);\n numberElement.innerText = \"0\";\n const isInt = targetValue % 1 === 0;\n const decimalPlaces = isInt ? 0 : targetValue.toString().split(\".\")[1].length;\n import_ScrollTrigger.ScrollTrigger.create({\n trigger: numberElement,\n onToggle: (self2) => {\n new i2(numberElement, targetValue, { decimalPlaces, duration: 1, separator: format }).start();\n self2.disable();\n }\n });\n });\n }\n _getContentSpacingProperties() {\n return { colsMdUp: \"none\", type: \"no-vertical-space\" };\n }\n render() {\n return ke`\n
    \n ${this.headline && ke``}\n
    \n ${this.figures.map(\n (figure) => ke`\n
    \n
    \n
    \n
    \n ${figure.number}\n ${figure.unit}\n ${figure.numberSuffix ? ke`${figure.numberSuffix}` : D}\n
    \n ${figure.infoOne || figure.infoTwo ? ke`\n
    \n ${figure.infoOne ? ke`${figure.infoOne}` : D}\n ${figure.infoTwo ? ke`${figure.infoTwo}` : D}\n
    \n ` : D}\n
    \n
    \n
    \n `\n )}\n
    \n
    \n `;\n }\n};\nJbKeyFigures.styles = r(jb_key_figures_default);\n__decorateClass([\n n({ type: Array })\n], JbKeyFigures.prototype, \"figures\", 2);\n__decorateClass([\n n()\n], JbKeyFigures.prototype, \"headline\", 2);\n__decorateClass([\n r2(\"span.number\")\n], JbKeyFigures.prototype, \"_numbers\", 2);\nJbKeyFigures = __decorateClass([\n customElement(\"jb-key-figures\")\n], JbKeyFigures);\n\nexport {\n JbKeyFigures\n};\n/*! Bundled license information:\n\ngsap/dist/ScrollTrigger.js:\n (*!\n * Observer 3.12.5\n * https://gsap.com\n *\n * @license Copyright 2008-2024, GreenSock. All rights reserved.\n * Subject to the terms at https://gsap.com/standard-license or for\n * Club GSAP members, the agreement issued with that membership.\n * @author: Jack Doyle, jack@greensock.com\n *)\n (*!\n * ScrollTrigger 3.12.5\n * https://gsap.com\n *\n * @license Copyright 2008-2024, GreenSock. All rights reserved.\n * Subject to the terms at https://gsap.com/standard-license or for\n * Club GSAP members, the agreement issued with that membership.\n * @author: Jack Doyle, jack@greensock.com\n *)\n*/\n", "import {\n Linkable,\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-image-page-teaser-item/jb-image-page-teaser-item.scss?inline\nvar jb_image_page_teaser_item_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nh3 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh3 {\n font-size: var(--theme-typo-h3-mobile-fontsize, 1.375rem);\n line-height: var(--theme-typo-h3-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n h3 {\n font-size: var(--theme-typo-h3-desktop-fontsize, 1.625rem);\n line-height: var(--theme-typo-h3-desktop-lineheight, 2.25rem);\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\n.col {\n padding: 0;\n position: relative;\n width: 100%;\n}\n\n.aspect_3by2 {\n height: 100%;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n.aspect_3by2 > *,\n.aspect_3by2 iframe {\n height: 100%;\n inset: 0;\n position: absolute;\n width: 100%;\n}\n.aspect_3by2::before {\n content: \"\";\n display: block;\n height: 0;\n padding-bottom: calc(1 / 1 * 100%);\n position: relative;\n width: 100%;\n}\n@media (min-width: 960px) {\n .aspect_3by2 {\n height: 100%;\n overflow: hidden;\n position: relative;\n width: 100%;\n }\n .aspect_3by2 > *,\n .aspect_3by2 iframe {\n height: 100%;\n inset: 0;\n position: absolute;\n width: 100%;\n }\n .aspect_3by2::before {\n content: \"\";\n display: block;\n height: 0;\n padding-bottom: calc(2 / 3 * 100%);\n position: relative;\n width: 100%;\n }\n}\n\n.inner {\n height: 100%;\n min-height: 160px;\n overflow: hidden;\n width: 100%;\n --rgb-primary: 255, 255, 255;\n}\n@media (hover: hover) and (pointer: fine) {\n .inner:hover .bg {\n transform: scale(1.15);\n }\n .inner:hover .content {\n background-color: rgba(0, 0, 0, 0.4);\n }\n}\n\n.bg {\n inset: 0;\n position: absolute;\n transition: all 300ms ease-in-out;\n}\n\n.content {\n align-items: start;\n background-color: rgba(0, 0, 0, 0.4);\n display: flex;\n flex-direction: column;\n inset: 0;\n justify-content: flex-end;\n padding: 30px;\n position: absolute;\n transition: all 300ms ease-in-out;\n}\n@media (min-width: 600px) {\n .content {\n background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.4) 100%);\n }\n}\n\nh3 {\n color: #fff;\n margin-bottom: 8px;\n transition: all 200ms ease-out 100ms;\n}\n@media (min-width: 600px) {\n h3 {\n bottom: 70px;\n left: 30px;\n margin-bottom: 0;\n position: absolute;\n width: calc(100% - 60px);\n }\n}\n\njb-picture {\n height: 100%;\n}`;\n\n// src/components/jb-image-page-teaser-item/jb-image-page-teaser-item.ts\nvar JbImagePageTeaserItem = class extends Linkable(h) {\n constructor() {\n super(...arguments);\n this._hovering = false;\n }\n _hoverLinkIn() {\n this._hovering = true;\n }\n _hoverLinkOut() {\n this._hovering = false;\n }\n _tracking(e) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e, {\n component_name: \"image-page-teaser\"\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n }\n render() {\n return ke`\n \n
    \n
    \n
    \n ${ke``}\n
    \n
    \n

    ${this.headline}

    \n
    \n ${this.button ? ke`` : D}\n
    \n
    \n
    \n
    \n \n `;\n }\n};\nJbImagePageTeaserItem.styles = r(jb_image_page_teaser_item_default);\n__decorateClass([\n n({ type: Object })\n], JbImagePageTeaserItem.prototype, \"bgImage\", 2);\n__decorateClass([\n n({ type: Object })\n], JbImagePageTeaserItem.prototype, \"button\", 2);\n__decorateClass([\n n()\n], JbImagePageTeaserItem.prototype, \"headline\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbImagePageTeaserItem.prototype, \"randomized\", 2);\n__decorateClass([\n n()\n], JbImagePageTeaserItem.prototype, \"teaserType\", 2);\n__decorateClass([\n r2()\n], JbImagePageTeaserItem.prototype, \"_hovering\", 2);\nJbImagePageTeaserItem = __decorateClass([\n customElement(\"jb-image-page-teaser-item\")\n], JbImagePageTeaserItem);\n\nexport {\n JbImagePageTeaserItem\n};\n", "import {\n MarketDependent,\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Linkable,\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-in-text-teaser/jb-in-text-teaser.scss?inline\nvar jb_in_text_teaser_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nh4 {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\np, h3 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh3 {\n font-size: var(--theme-typo-h3-mobile-fontsize, 1.375rem);\n line-height: var(--theme-typo-h3-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n h3 {\n font-size: var(--theme-typo-h3-desktop-fontsize, 1.625rem);\n line-height: var(--theme-typo-h3-desktop-lineheight, 2.25rem);\n }\n}\n\np {\n font-size: var(--theme-typo-p-mobile-fontsize, 1.063rem);\n line-height: var(--theme-typo-p-mobile-lineheight, 1.875rem);\n}\n@media (min-width: 1281px) {\n p {\n font-size: var(--theme-typo-p-desktop-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-desktop-lineheight, 2.125rem);\n }\n}\n\nh4 {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.063rem;\n line-height: 1rem;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nsection {\n border-block: 1px solid rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n padding-block: 16px 24px;\n}\n@media (min-width: 600px) {\n section {\n clip-path: inset(0 20px);\n display: flex;\n padding-top: 20px;\n }\n}\n@media (min-width: 960px) {\n section {\n clip-path: inset(0 calc(16.6666666667% + 20px));\n padding-top: 24px;\n }\n}\n@media (min-width: 1281px) {\n section {\n padding-block: 40px;\n }\n}\n\na {\n text-decoration: none;\n}\n\nh3 {\n margin-bottom: 8px;\n}\n\nh4 {\n color: rgba(20, 30, 85, var(--theme-opacity-40, 0.4));\n text-transform: uppercase;\n}\n\n.image-wrap {\n margin-bottom: 16px;\n}\n@media (min-width: 600px) {\n .image-wrap {\n box-sizing: border-box;\n flex-basis: 33.3333333333%;\n max-width: 33.3333333333%;\n padding: 0 20px;\n width: 33.3333333333%;\n margin-bottom: 0;\n }\n}\n@media (min-width: 960px) {\n .image-wrap {\n margin-left: 16.6666666667%;\n box-sizing: border-box;\n flex-basis: 25%;\n max-width: 25%;\n padding: 0 20px;\n width: 25%;\n }\n}\n@media (min-width: 1281px) {\n .image-wrap {\n margin-left: 16.6666666667%;\n box-sizing: border-box;\n flex-basis: 25%;\n max-width: 25%;\n padding: 0 20px;\n width: 25%;\n }\n}\n\n.no-image .text-wrap {\n margin-left: 16.6666666667%;\n box-sizing: border-box;\n flex-basis: 66.6666666667%;\n max-width: 66.6666666667%;\n padding: 0 20px;\n width: 66.6666666667%;\n text-align: center;\n}\n\n@media (min-width: 600px) {\n .text-wrap {\n box-sizing: border-box;\n flex-basis: 66.6666666667%;\n max-width: 66.6666666667%;\n padding: 0 20px;\n width: 66.6666666667%;\n }\n}\n@media (min-width: 960px) {\n .text-wrap {\n box-sizing: border-box;\n flex-basis: 41.6666666667%;\n max-width: 41.6666666667%;\n padding: 0 20px;\n width: 41.6666666667%;\n }\n}\n\na p {\n margin-bottom: 24px;\n}\n\nheader {\n align-items: center;\n display: flex;\n justify-content: space-between;\n margin-bottom: 12px;\n}\nheader > div {\n --stroke-color: rgba(20, 30, 85, var(--theme-opacity-40, 0.4));\n display: flex;\n}\n@media (min-width: 600px) {\n header {\n padding-inline: 20px;\n }\n}\n@media (min-width: 960px) {\n header {\n box-sizing: border-box;\n flex-basis: 66.6666666667%;\n max-width: 66.6666666667%;\n padding: 0 20px;\n width: 66.6666666667%;\n margin-left: 16.6666666667%;\n }\n}\n\nh3,\np {\n margin-bottom: 8px;\n}\n@media (min-width: 1281px) {\n h3,\n p {\n margin-bottom: 16px;\n }\n}\n\np.text-placeholder {\n background-color: rgba(20, 30, 85, 0.05);\n height: 30px;\n}\np.text-placeholder.short {\n width: 50%;\n}\np.text-placeholder.button {\n height: 36px;\n margin-top: 23px;\n width: 33%;\n}\n\n@media print {\n :host {\n display: none;\n }\n}\njb-globe-icon {\n display: inline-block;\n height: 1rem;\n margin-right: 4px;\n width: 1rem;\n}`;\n\n// src/components/jb-in-text-teaser/jb-in-text-teaser.ts\nvar JbInTextTeaser = class extends Linkable(MarketDependent(Spaceable(h))) {\n firstUpdated() {\n if (!this.link) {\n this.style.setProperty(\"display\", \"none\");\n }\n }\n _getContentSpacingProperties() {\n return { type: \"text\", colsMdUp: \"none\" };\n }\n _tracking(e) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e, {\n component_name: \"in-text-teaser\",\n interaction_text: this.buttonLabel\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n }\n render() {\n const imgData = this.image;\n return ke`
    \n
    ${this.kicker ? ke`

    ${this.kicker}

    ` : D}
    \n
    \n ${this.onlyMarkets !== void 0 || this.link?.marketUris ? ke`` : D}\n
    \n
    \n
    \n ${imgData ? ke`
    \n \n \n \n
    ` : D}\n
    \n \n

    ${this.headline}

    \n ${this.text ? ke`

    ${this.text}

    ` : D}\n \n ${this.buttonLabel ? ke`${this.buttonLabel}` : D}\n
    \n
    `;\n }\n};\nJbInTextTeaser.styles = r(jb_in_text_teaser_default);\n__decorateClass([\n n()\n], JbInTextTeaser.prototype, \"buttonLabel\", 2);\n__decorateClass([\n n()\n], JbInTextTeaser.prototype, \"headline\", 2);\n__decorateClass([\n n({ type: Object })\n], JbInTextTeaser.prototype, \"image\", 2);\n__decorateClass([\n n()\n], JbInTextTeaser.prototype, \"kicker\", 2);\n__decorateClass([\n n({ type: Array })\n], JbInTextTeaser.prototype, \"onlyMarkets\", 2);\n__decorateClass([\n n()\n], JbInTextTeaser.prototype, \"text\", 2);\nJbInTextTeaser = __decorateClass([\n customElement(\"jb-in-text-teaser\")\n], JbInTextTeaser);\n\nexport {\n JbInTextTeaser\n};\n", "import {\n JbI18nData\n} from \"./chunk.SE5MQEAG.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n JBCookie\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-market-display/jb-market-display.scss?inline\nvar jb_market_display_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nspan {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\nspan {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.063rem;\n line-height: 1rem;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\ndiv {\n align-items: center;\n display: flex;\n}\n\nspan {\n color: rgba(20, 30, 85, var(--theme-opacity-40, 0.4));\n text-transform: uppercase;\n}\n\n.long {\n display: none;\n}\n\n@media (min-width: 600px) {\n .short {\n display: none;\n }\n .long {\n display: inline-block;\n }\n}`;\n\n// src/components/jb-market-display/jb-market-display.ts\nvar JbMarketDisplay = class extends h {\n static _readMarketFromCookie() {\n const cookieData = JBCookie.getI18nCookieData();\n const userMarket = parseInt(cookieData.market, 10);\n if (userMarket === 0) {\n return void 0;\n }\n const short = cookieData.country;\n const long = JbI18nData.find()?.getMarketLabel(userMarket) || \"\";\n return { short, long };\n }\n render() {\n const longMarket = this.staticMarket || JbMarketDisplay._readMarketFromCookie().long || void 0;\n const shortMarket = this.staticMarketShort || JbMarketDisplay._readMarketFromCookie().short || void 0;\n if (longMarket === void 0) {\n return ke``;\n }\n return ke`\n
    \n ${shortMarket}\n ${longMarket}\n
    \n `;\n }\n};\nJbMarketDisplay.styles = r(jb_market_display_default);\n__decorateClass([\n n()\n], JbMarketDisplay.prototype, \"staticMarket\", 2);\n__decorateClass([\n n()\n], JbMarketDisplay.prototype, \"staticMarketShort\", 2);\nJbMarketDisplay = __decorateClass([\n customElement(\"jb-market-display\")\n], JbMarketDisplay);\n\nexport {\n JbMarketDisplay\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-language-icon/jb-language-icon.scss?inline\nvar jb_language_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\npath {\n fill: var(--stroke-color, #141e55);\n}`;\n\n// src/components/icons/jb-language-icon/jb-language-icon.ts\nvar JbLanguageIcon = class extends h {\n render() {\n return ke`\n \n \n \n `;\n }\n};\nJbLanguageIcon.styles = r(jb_language_icon_default);\nJbLanguageIcon = __decorateClass([\n customElement(\"jb-language-icon\")\n], JbLanguageIcon);\n\nexport {\n JbLanguageIcon\n};\n", "import {\n ae\n} from \"./chunk.Q25FCJRM.js\";\nimport {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n ChangesBackgroundColor\n} from \"./chunk.7ANACPIR.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-info-block/jb-info-block.scss?inline\nvar jb_info_block_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.context {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\n.title {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.context {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.063rem;\n line-height: 1rem;\n}\n\n.title {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.625rem;\n line-height: 2.188rem;\n}\n@media (min-width: 1281px) {\n .title {\n font-size: 1.938rem;\n line-height: 2.625rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\njb-richtext,\n.context {\n margin-bottom: 16px;\n}\n\n.wrap {\n background-color: #fff;\n padding: 40px 30px;\n}\n@media (min-width: 960px) {\n .wrap {\n padding: 70px 11%;\n }\n}\n\n.title {\n margin-bottom: 20px;\n}\n\n.context {\n text-transform: uppercase;\n}\n\n.alternative-layout {\n text-align: center;\n}\n.alternative-layout jb-richtext {\n text-align: center;\n}\n.alternative-layout .wrap {\n padding: 0;\n}`;\n\n// src/components/jb-info-block/jb-info-block.ts\nvar JbInfoBlock = class extends ChangesBackgroundColor(Spaceable(h)) {\n _getContentSpacingProperties() {\n return { align: \"center\", colsMdUp: 10 };\n }\n _tracking(e) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e, {\n component_name: \"info-block\"\n });\n if (jbTrackingEvent) this.dispatchEvent(jbTrackingEvent);\n }\n render() {\n return ke`\n \n
    \n ${this.context ? ke`
    ${this.context}
    ` : D}\n

    ${this.headline}

    \n ${ae(this.text)}\n ${this.button ? ke`` : D}\n
    \n \n `;\n }\n};\nJbInfoBlock.styles = r(jb_info_block_default);\n__decorateClass([\n n({ type: Object })\n], JbInfoBlock.prototype, \"button\", 2);\n__decorateClass([\n n()\n], JbInfoBlock.prototype, \"context\", 2);\n__decorateClass([\n n()\n], JbInfoBlock.prototype, \"headline\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbInfoBlock.prototype, \"isAlternativeLayout\", 2);\n__decorateClass([\n n()\n], JbInfoBlock.prototype, \"text\", 2);\nJbInfoBlock = __decorateClass([\n customElement(\"jb-info-block\")\n], JbInfoBlock);\n\nexport {\n JbInfoBlock\n};\n", "// src/components/jb-home-page-hero-legacy/jb-home-page-hero-legacy.smooth-scroll.ts\nfunction scrollTo(pos) {\n const speed = 500;\n const scrollStartY = window.scrollY || document.documentElement.scrollTop || 0;\n let currentTimestamp = 0;\n const scrollDistanceInPx = Math.abs(scrollStartY - pos);\n const scrollDistance = pos - scrollStartY;\n const suggestedAnimationDuration = scrollDistanceInPx / speed;\n const animationDuration = Math.max(0.1, Math.min(suggestedAnimationDuration, 0.8));\n function easeOutSine(t) {\n return Math.sin(t * (Math.PI / 2));\n }\n function scroll(x, y) {\n window.scrollTo(x, y);\n }\n function tick() {\n const timeIncrement = 1 / 60;\n currentTimestamp += timeIncrement;\n const time = currentTimestamp / animationDuration;\n const position = easeOutSine(time);\n if (time < 1) {\n window.requestAnimationFrame(tick);\n const x = 0;\n const scrollIncrement = scrollDistance * position;\n const nextYPosition = scrollStartY + scrollIncrement;\n scroll(x, nextYPosition);\n }\n }\n window.requestAnimationFrame(tick);\n}\n\nexport {\n scrollTo\n};\n", "// src/components/jb-home-page-hero-legacy/jb-home-page-hero-legacy.snapper.ts\nvar HomePageHeroSnapper = class {\n constructor(items) {\n this._rects = Array.from(items).map((item) => item.getBoundingClientRect());\n }\n getCurrentItemIndexFromScrollPosition(windowScrollPosition) {\n const foundIndex = this._getScrollPositions().findIndex(\n (scrollPosition) => scrollPosition > windowScrollPosition + 1\n );\n if (foundIndex === -1) {\n return this._rects.length - 1;\n }\n return foundIndex;\n }\n getCurrentScrollProgress(windowScrollPosition) {\n const currentIndex = this.getCurrentItemIndexFromScrollPosition(windowScrollPosition);\n const previousScrollPosition = this.getSnapperPositions()[currentIndex];\n const nextScrollPosition = this.getSnapperPositions()[currentIndex + 1] || void 0;\n if (nextScrollPosition === void 0) {\n return 0;\n }\n const currentOverscroll = windowScrollPosition - previousScrollPosition;\n return currentOverscroll / (nextScrollPosition - previousScrollPosition);\n }\n getPostScrollDistance(windowScrollPosition) {\n const lastSnapperPosition = this.getSnapperPositions().pop();\n return Math.max(0, windowScrollPosition - lastSnapperPosition);\n }\n getSnapperPositions() {\n return [0, ...this._getScrollPositions()];\n }\n _getScrollPosition(index) {\n if (index < 0) {\n return 0;\n }\n const currentItemRect = this._rects[index];\n const nextItemRect = this._rects[index + 1];\n if (!nextItemRect) {\n return void 0;\n }\n const nextScrollDistance = Math.round(nextItemRect.top - currentItemRect.top);\n return nextScrollDistance + (this._getScrollPosition(index - 1) || 0);\n }\n _getScrollPositions() {\n if (!this._scrollPositions) {\n this._scrollPositions = Array.from(this._rects).map((item, index) => this._getScrollPosition(index)).filter((value) => value !== void 0);\n }\n return this._scrollPositions;\n }\n};\nfunction createFromItems(items) {\n return new HomePageHeroSnapper(items);\n}\n\nexport {\n HomePageHeroSnapper,\n createFromItems\n};\n", "import {\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\n\n// src/components/jb-home-page-hero-legacy/jb-home-page-hero-legacy.tracking.ts\nfunction tracking1FirstDisplay(el, current) {\n const currentIndex = current ?? el.currentItemIndex;\n const eventDetails = {\n event: \"ce_display\",\n event_version: \"v2\",\n component_name: \"image-hero\",\n component_topic: el.items[currentIndex].title,\n topic_position: currentIndex + 1,\n interaction_effect: \"navigation\",\n interaction_element: \"Internal Links\",\n interaction_result: window.location.href,\n interaction_type: \"click\"\n };\n el.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: eventDetails,\n bubbles: true,\n composed: true\n })\n );\n}\nfunction tracking2DiscoverMore(el, e) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e, {\n component_name: \"image-hero\",\n component_topic: el.items[el.currentItemIndex].title,\n topic_position: el.currentItemIndex + 1\n });\n if (jbTrackingEvent) {\n el.dispatchEvent(jbTrackingEvent);\n }\n}\nfunction tracking3Navigation(el, current, target, type) {\n const eventDetails = {\n event: \"ce_interaction\",\n event_version: \"v2\",\n component_name: \"image-hero\",\n component_topic: el.items[current]?.title,\n topic_position: current + 1,\n target_topic: el.items[target]?.title,\n target_position: target + 1,\n interaction_effect: \"navigation\",\n interaction_element: \"component\",\n interaction_result: \"change topic\",\n interaction_type: type\n };\n el.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: eventDetails,\n bubbles: true,\n composed: true\n })\n );\n}\nfunction tracking4OurSolutions(el) {\n const eventDetails = {\n event: \"ce_interaction\",\n event_version: \"v2\",\n component_name: \"image-hero\",\n component_topic: el.items[el.currentItemIndex].title,\n topic_position: el.currentItemIndex + 1,\n interaction_effect: \"navigation\",\n interaction_element: \"Internal Links\",\n interaction_result: window.location.href,\n interaction_type: \"click\"\n };\n el.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: eventDetails,\n bubbles: true,\n composed: true\n })\n );\n}\n\nexport {\n tracking1FirstDisplay,\n tracking2DiscoverMore,\n tracking3Navigation,\n tracking4OurSolutions\n};\n", "import {\n scrollTo\n} from \"./chunk.ZHKWOFXT.js\";\nimport {\n createFromItems\n} from \"./chunk.SIK7NCSO.js\";\nimport {\n tracking1FirstDisplay,\n tracking2DiscoverMore,\n tracking3Navigation,\n tracking4OurSolutions\n} from \"./chunk.LIYZ3SIB.js\";\nimport {\n isMobileVP,\n isSizeMdDown\n} from \"./chunk.YDQDJZUC.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n ChangesBackgroundColor\n} from \"./chunk.7ANACPIR.js\";\nimport {\n debounce\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2,\n r2 as r3\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-home-page-hero-legacy/jb-home-page-hero-legacy.scss?inline\nvar jb_home_page_hero_legacy_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nsection .stageholder .mobile-nav ul, section .stageholder .desktop-hero .hero-item p, section .stageholder .desktop-nav ul {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nsection .stageholder .mobile-nav ul li h2, section .stageholder .desktop-hero .hero-item h2 {\n font-family: var(--theme-font-xlight-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-xlight-weight, 200);\n}\n\nsection .stageholder .mobile-nav ul, section .stageholder .desktop-hero .hero-item p, section .stageholder .desktop-nav ul {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--text-opacity, var(--theme-opacity-70, 0.7)));\n font-size: 0.813rem;\n line-height: 1.25rem;\n}\n\nsection .stageholder .mobile-nav ul li h2, section .stageholder .desktop-hero .hero-item h2 {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 2.25rem;\n line-height: 2.875rem;\n}\n@media (min-width: 1281px) {\n section .stageholder .mobile-nav ul li h2, section .stageholder .desktop-hero .hero-item h2 {\n font-size: 2.813rem;\n line-height: 3.813rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n --solutions-button-height: 64px;\n --_notch-inset: calc(max(env(safe-area-inset-left), env(safe-area-inset-right)) + 5px);\n}\n\nsection {\n object-fit: cover;\n}\nsection .stageholder {\n --sidelines-top: calc(66vh - (var(--solutions-button-height) / 2));\n border-color: white;\n bottom: 0;\n display: flex;\n height: calc(100vh - var(--solutions-button-height));\n justify-content: center;\n position: sticky;\n top: 0;\n}\n@media (min-width: 600px) {\n section .stageholder {\n --sidelines-top: calc(50vh - (var(--solutions-button-height) / 2));\n }\n}\nsection .stageholder .bg-image {\n background-color: #717c7d;\n height: 100vh;\n opacity: 0;\n overflow: hidden;\n pointer-events: none;\n position: absolute;\n transition: opacity 600ms;\n z-index: -1;\n}\nsection .stageholder .bg-image:first-of-type {\n opacity: 1;\n}\nsection .stageholder .desktop-nav {\n --transform-top: -10px;\n align-items: start;\n display: none;\n flex-direction: column;\n justify-content: end;\n left: 70px;\n list-style: none;\n position: absolute;\n top: var(--sidelines-top);\n transform: translateY(var(--transform-top));\n width: 95px;\n}\n@media (min-width: 600px) {\n section .stageholder .desktop-nav {\n display: flex;\n }\n}\nsection .stageholder .desktop-nav ul {\n color: rgb(var(--rgb-primary, 255, 255, 255));\n height: 100%;\n list-style: none;\n}\nsection .stageholder .desktop-nav ul li {\n cursor: pointer;\n padding-bottom: 5px;\n position: relative;\n}\nsection .stageholder .desktop-nav ul li::before {\n background: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 16 1' fill='none'%3E%3Crect y='0.125' width='10' height='1' fill='white' /%3E%3C/svg%3E\");\n background: white;\n content: \"\";\n display: block;\n height: 1px;\n margin-left: -20px;\n position: absolute;\n top: 10px;\n width: 10px;\n}\nsection .stageholder .desktop-hero {\n --transform-top: -40px;\n color: rgb(var(--rgb-primary, 255, 255, 255));\n display: none;\n margin: 0 auto;\n padding-right: var(--compensate-scrollbar);\n padding-top: calc(50vh - var(--solutions-button-height) / 2);\n position: absolute;\n text-align: center;\n transform: translateY(var(--transform-top));\n width: 280px;\n}\n@media (min-width: 600px) {\n section .stageholder .desktop-hero {\n display: block;\n }\n}\n@media (min-width: 960px) {\n section .stageholder .desktop-hero {\n width: 550px;\n }\n}\nsection .stageholder .desktop-hero .hero-item {\n margin-bottom: 20vh;\n opacity: 0;\n}\nsection .stageholder .desktop-hero .hero-item:first-of-type {\n opacity: 1;\n}\nsection .stageholder .desktop-hero .hero-item h2 {\n font-size: 37px;\n font-size: 2.3125rem;\n line-height: 50px;\n line-height: 3.125rem;\n color: rgb(var(--rgb-primary, 255, 255, 255));\n}\n@media (min-width: 960px) {\n section .stageholder .desktop-hero .hero-item h2 {\n font-size: 80px;\n font-size: 5rem;\n line-height: 80px;\n line-height: 5rem;\n }\n}\nsection .stageholder .desktop-hero .hero-item p {\n font-size: 17px;\n font-size: 1.0625rem;\n line-height: 30px;\n line-height: 1.875rem;\n color: rgb(var(--rgb-primary, 255, 255, 255));\n margin-top: 10px;\n}\n@media (min-width: 960px) {\n section .stageholder .desktop-hero .hero-item p {\n font-size: 19px;\n font-size: 1.1875rem;\n line-height: 34px;\n line-height: 2.125rem;\n margin-top: 20px;\n }\n}\nsection .stageholder .desktop-hero .hero-item jb-button-primary {\n display: inline-block;\n margin-top: 20px;\n pointer-events: auto;\n}\n@media (min-width: 960px) {\n section .stageholder .desktop-hero .hero-item jb-button-primary {\n margin-top: 30px;\n }\n}\nsection .stageholder .mobile-nav {\n --transform-top: 0;\n align-items: center;\n display: flex;\n flex-direction: column;\n justify-content: end;\n min-height: 105vh;\n padding-right: var(--compensate-scrollbar);\n position: absolute;\n top: 0;\n transform: translateY(var(--transform-top));\n width: 100%;\n}\n@media (min-width: 600px) {\n section .stageholder .mobile-nav {\n display: none;\n }\n}\nsection .stageholder .mobile-nav ul {\n color: rgb(var(--rgb-primary, 255, 255, 255));\n height: 100%;\n list-style: none;\n width: calc(100vw - 100px - 80px);\n}\nsection .stageholder .mobile-nav ul li {\n max-height: 32px;\n padding-bottom: 16px;\n position: relative;\n transition: all 600ms;\n}\nsection .stageholder .mobile-nav ul li h2 {\n color: rgb(var(--rgb-primary, 255, 255, 255));\n cursor: pointer;\n font-size: 2.25rem;\n transform: scale(0.362);\n transform-origin: top left;\n transition: all 600ms;\n}\nsection .stageholder .mobile-nav ul li .bullet_line {\n background: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 16 1' fill='none'%3E%3Crect y='0.125' width='10' height='1' fill='white' /%3E%3C/svg%3E\");\n background: white;\n content: \"\";\n display: block;\n height: 1px;\n margin-left: -20px;\n position: absolute;\n top: 0.5em;\n transition: all 600ms;\n width: 10px;\n}\nsection .stageholder .mobile-nav ul li p {\n margin-bottom: 8px;\n min-height: 10px;\n opacity: 0;\n transition: all 600ms;\n}\nsection .stageholder .mobile-nav ul li jb-button-primary {\n margin-top: 8px;\n opacity: 0;\n pointer-events: all;\n transition: all 600ms;\n width: 100%;\n}\nsection .stageholder .mobile-nav ul li.active {\n max-height: 174px;\n}\nsection .stageholder .mobile-nav ul li.active h2 {\n transform: scale(1);\n}\nsection .stageholder .mobile-nav ul li.active .bullet_line {\n top: 1.6em;\n}\nsection .stageholder .mobile-nav ul li.active p {\n opacity: 1;\n}\nsection .stageholder .mobile-nav ul li.active jb-button-primary {\n opacity: 1;\n}\nsection .stageholder .mobile-nav ul li:not(.active) jb-button-primary {\n pointer-events: none;\n}\nsection .stageholder .line-left,\nsection .stageholder .line-right {\n border-top: 1px solid rgb(var(--rgb-primary, 255, 255, 255));\n display: block;\n left: 0;\n position: absolute;\n top: var(--sidelines-top);\n width: 60px;\n}\nsection .stageholder .line-right {\n left: unset;\n right: 0;\n}\nsection .bottom-bar {\n --transform-y: 0;\n align-items: center;\n background: white;\n bottom: 0;\n display: flex;\n height: 50px;\n justify-content: center;\n max-width: 100%;\n padding-right: var(--compensate-scrollbar);\n position: fixed;\n transform: translateY(var(--transform-y));\n width: 100%;\n z-index: 2;\n}\n@media (min-width: 600px) {\n section .bottom-bar {\n height: var(--solutions-button-height, 64px);\n }\n}\nsection jb-content-spacing {\n max-width: 100%;\n}\nsection jb-picture::part(picture) {\n width: 100vw;\n}`;\n\n// src/components/jb-home-page-hero-legacy/jb-home-page-hero-legacy.ts\nvar JbHomePageHeroLegacy = class extends ChangesBackgroundColor(h) {\n constructor() {\n super(...arguments);\n this.currentItemIndex = 0;\n this._indexClicked = null;\n this._indexSelected = null;\n this._isBelowFold = false;\n this._isScrollingOurSolutions = false;\n this._itemIndexForTracking = 0;\n this._settingsDesktop = {\n h2LineHeight: 80,\n maxInsetWidth: 30,\n requiredDistanceBottomBar: 60,\n requiredDistanceInsets: 50,\n sideNavItemHeight: 25\n };\n this._settingsMobile = {\n h2MinFontSize: \"0.815rem\",\n minItemHeight: 32,\n requiredDistanceInsets: 50,\n maxInsetsWidth: 25,\n requiredDistanceBottomBar: 60,\n transitions: []\n };\n }\n async updated(changedProperties) {\n const indexBeforeChange = changedProperties.get(\"_itemIndexForTracking\");\n await this.updateComplete;\n if (!changedProperties.has(\"_itemIndexForTracking\") || indexBeforeChange === void 0 || this._isScrollingOurSolutions) {\n return;\n }\n if (this._indexClicked !== null) {\n if (this._indexClicked === this._itemIndexForTracking) {\n tracking3Navigation(this, this._indexSelected ?? 0, this._indexClicked, \"click\");\n tracking1FirstDisplay(this, this._indexClicked);\n this._indexSelected = null;\n this._indexClicked = null;\n }\n } else {\n tracking3Navigation(this, indexBeforeChange, this._itemIndexForTracking, \"swipe\");\n tracking1FirstDisplay(this, this._itemIndexForTracking);\n }\n }\n async firstUpdated() {\n window.scrollTo(0, 0);\n if (\"scrollRestoration\" in window.history) window.history.scrollRestoration = \"manual\";\n this._htmlHtmlElement = document.querySelector(\"html\");\n await this.updateComplete;\n this._screenWidth = window.innerWidth;\n this._settingsDesktop.maxInsetWidth = isSizeMdDown() ? 30 : 40;\n tracking1FirstDisplay(this);\n this._softReload();\n window.addEventListener(\n \"resize\",\n debounce(() => {\n if (this._screenWidth !== window.innerWidth) {\n this._softReload();\n this._screenWidth = window.innerWidth;\n }\n }, 300)\n );\n }\n _applyDesktopScrollProgress(index, effectProgress, backgroundImageProgress) {\n const item = this._domItemsDesktop[index];\n item.style.setProperty(\"opacity\", `${effectProgress}`);\n this._bgImages[index].style.setProperty(\"opacity\", `${backgroundImageProgress}`);\n }\n _checkNavState(isBelowFold) {\n if (this._isBelowFold === isBelowFold) return;\n this._isBelowFold = isBelowFold;\n this.dispatchEvent(\n new CustomEvent(\"jb-home-page-hero-legacy:stages-finished\", { bubbles: true, detail: { isBelowFold } })\n );\n }\n _clamp(value) {\n return Math.max(Math.min(value, 1), 0);\n }\n _clickDiscoverMore(e2) {\n tracking2DiscoverMore(this, e2);\n }\n _clickItem(e2, index) {\n this._indexClicked = index;\n this._indexSelected = this.currentItemIndex;\n e2.preventDefault();\n scrollTo(this._getScrollTargetPosition(index));\n }\n _clickOurSolutions(evt) {\n this._isScrollingOurSolutions = true;\n evt.preventDefault();\n tracking4OurSolutions(this);\n this.renderRoot.querySelector(\"jb-content-spacing\")?.scrollIntoView({ behavior: \"smooth\" });\n }\n _enableAnimation() {\n return false;\n }\n _getScrollTargetPosition(index) {\n if (isMobileVP()) {\n const totalScrollDistance = this._mobileNav.clientHeight;\n const fullPerItemScrollDistance = totalScrollDistance / (this.items.length - 1);\n return index * fullPerItemScrollDistance;\n }\n return this._snapper.getSnapperPositions()[index];\n }\n _handleScrollDesktop() {\n const currentScrollY = Math.round(window.scrollY);\n this.currentItemIndex = this._snapper.getCurrentItemIndexFromScrollPosition(currentScrollY);\n const currentScrollProgress = this._snapper.getCurrentScrollProgress(currentScrollY);\n const opacityProgress = this._clamp(20 * currentScrollProgress - 9.4);\n const postStageDistance = this._snapper.getPostScrollDistance(currentScrollY);\n this._itemIndexForTracking = opacityProgress === 1 ? this.currentItemIndex + 1 : this.currentItemIndex;\n this._domItemsDesktop.forEach((item, index) => {\n if (index === this.currentItemIndex) {\n this._applyDesktopScrollProgress(index, 1 - opacityProgress, 1);\n } else if (index === this.currentItemIndex + 1) {\n this._applyDesktopScrollProgress(index, opacityProgress, opacityProgress);\n } else {\n this._applyDesktopScrollProgress(index, 0, 0);\n }\n });\n const insetProgress = this._clamp(postStageDistance / this._settingsDesktop.requiredDistanceInsets);\n this._stage.style.setProperty(\"clip-path\", `inset(0 ${insetProgress * this._settingsDesktop.maxInsetWidth}px)`);\n const bottomBarProgress = this._clamp(\n (postStageDistance - this._settingsDesktop.requiredDistanceInsets) / this._settingsDesktop.requiredDistanceBottomBar\n );\n this._bottomBar.style.setProperty(`--transform-y`, `${bottomBarProgress * 100}%`);\n if (postStageDistance < this._settingsDesktop.requiredDistanceInsets) {\n this._desktopHero.style.setProperty(\n \"--transform-top\",\n `-${currentScrollY + this._settingsDesktop.h2LineHeight / 2}px`\n );\n const navToBeGone = this.currentItemIndex * this._settingsDesktop.sideNavItemHeight + this._settingsDesktop.sideNavItemHeight * currentScrollProgress;\n this._desktopNav.style.setProperty(\"--transform-top\", -10 - navToBeGone + \"px\");\n }\n if (postStageDistance - this._bottomBar.offsetHeight < 0) {\n this._checkNavState(false);\n } else {\n this._checkNavState(true);\n if (this._isScrollingOurSolutions) {\n this._isScrollingOurSolutions = false;\n }\n }\n }\n _handleScrollMobile() {\n const currentScrollY = Math.round(window.scrollY);\n const totalScrollDistance = this._mobileNav.clientHeight;\n const fullPerItemScrollDistance = totalScrollDistance / (this.items.length - 1);\n const halfPerItemScrollDistance = fullPerItemScrollDistance / 2;\n let currentScrollProgress;\n if (currentScrollY <= halfPerItemScrollDistance) {\n this.currentItemIndex = 0;\n currentScrollProgress = currentScrollY / fullPerItemScrollDistance + 0.5;\n } else if (totalScrollDistance - currentScrollY <= halfPerItemScrollDistance) {\n this.currentItemIndex = this.items.length - 1;\n currentScrollProgress = Math.min(\n 0.5,\n 1 + (currentScrollY - halfPerItemScrollDistance - this.currentItemIndex * fullPerItemScrollDistance) / fullPerItemScrollDistance\n );\n } else {\n this.currentItemIndex = Math.min(\n this.items.length - 1,\n 1 + Math.floor((currentScrollY - halfPerItemScrollDistance) / fullPerItemScrollDistance)\n );\n currentScrollProgress = Math.min(\n 1,\n 1 + (currentScrollY - halfPerItemScrollDistance - this.currentItemIndex * fullPerItemScrollDistance) / fullPerItemScrollDistance\n );\n }\n const postStageDistance = currentScrollY - totalScrollDistance;\n this._domItemsMobile.forEach((item, index) => {\n if (index === this.currentItemIndex) {\n item.classList.add(\"active\");\n } else {\n item.classList.remove(\"active\");\n }\n this._bgImages[index]?.style.setProperty(\"opacity\", `${index <= this.currentItemIndex ? 1 : 0}`);\n });\n const insetProgress = this._clamp(postStageDistance / this._settingsMobile.requiredDistanceInsets);\n this._stage.style.setProperty(\"clip-path\", `inset(0 ${insetProgress * this._settingsDesktop.maxInsetWidth}px)`);\n const buttonProgress = this._clamp(\n (postStageDistance - this._settingsMobile.requiredDistanceInsets) / this._settingsMobile.requiredDistanceBottomBar\n );\n this._bottomBar.style.setProperty(\"--transform-y\", `${buttonProgress * 100}%`);\n const correctionFactor = -0.0575439 - 175439e-9 * window.innerHeight;\n const newTransformTop = -(currentScrollProgress + this.currentItemIndex) * this._settingsMobile.minItemHeight + window.innerHeight * correctionFactor;\n this._mobileNav.style.setProperty(\"--transform-top\", newTransformTop + \"px\");\n if (currentScrollY < totalScrollDistance + this._bottomBar.offsetHeight) {\n this._checkNavState(false);\n } else {\n this._checkNavState(true);\n if (this._isScrollingOurSolutions) {\n this._isScrollingOurSolutions = false;\n }\n }\n }\n _resetDesktop() {\n const lastSnapperPosition = this._snapper.getSnapperPositions().pop();\n this._stage.style.height = `calc(100vh + ${lastSnapperPosition}px)`;\n setTimeout(() => window.scrollTo(0, 0));\n }\n _resetMobile() {\n this._stage.style.height = `calc(100vh + ${this._scrollDistanceStagesMobile}px)`;\n this._handleScrollMobile();\n setTimeout(() => window.scrollTo(0, 0));\n }\n _setState() {\n this._domItemsMobile.forEach((item) => {\n item.style.setProperty(\"height\", \"initial\");\n });\n this._snapper = createFromItems(this._domItemsDesktop);\n this._itemHeightsMobile = Array.from(this._domItemsMobile).map((item) => item.getBoundingClientRect().height);\n this._scrollDistanceStagesMobile = this._mobileNav.clientHeight - this._itemHeightsMobile[0];\n }\n _softReload() {\n window.scrollTo(0, 0);\n this._setState();\n if (isMobileVP()) {\n this._resetMobile();\n window.addEventListener(\"scroll\", () => this._handleScrollMobile(), true);\n } else {\n this._resetDesktop();\n window.addEventListener(\"scroll\", () => this._handleScrollDesktop(), true);\n }\n }\n render() {\n return ke`\n
    \n
    \n
    \n ${this.items.map(\n (item, index) => ke``\n )}\n\n
    \n
      \n ${this.items.map(\n (item, index) => ke`
    • this._clickItem(e2, index)}>${item.title}
    • `\n )}\n
    \n
    \n\n
    \n
      \n ${this.items.map(\n (item, index) => ke`
    • \n
      \n

      this._clickItem(e2, index)}>${item.title}

      \n

      ${item.subline}

      \n ${item.buttonText}\n
    • `\n )}\n
    \n
    \n\n
    \n ${this.items.map(\n (item) => ke`
    \n

    ${item.title}

    \n

    ${item.subline}

    \n ${item.buttonText}\n
    `\n )}\n
    \n\n
    \n
    \n
    \n
    \n\n \n ${this.teaserBlock.headline || \"\"}\n \n\n \n \n \n
    \n `;\n }\n};\nJbHomePageHeroLegacy.styles = r(jb_home_page_hero_legacy_default);\n__decorateClass([\n r2()\n], JbHomePageHeroLegacy.prototype, \"currentItemIndex\", 2);\n__decorateClass([\n n({ type: Array })\n], JbHomePageHeroLegacy.prototype, \"items\", 2);\n__decorateClass([\n n({ type: Object })\n], JbHomePageHeroLegacy.prototype, \"teaserBlock\", 2);\n__decorateClass([\n r3(\".bg-image\")\n], JbHomePageHeroLegacy.prototype, \"_bgImages\", 2);\n__decorateClass([\n e(\".bottom-bar\")\n], JbHomePageHeroLegacy.prototype, \"_bottomBar\", 2);\n__decorateClass([\n e(\".desktop-hero\")\n], JbHomePageHeroLegacy.prototype, \"_desktopHero\", 2);\n__decorateClass([\n e(\".desktop-nav\")\n], JbHomePageHeroLegacy.prototype, \"_desktopNav\", 2);\n__decorateClass([\n r3(\".desktop-hero .hero-item\")\n], JbHomePageHeroLegacy.prototype, \"_domItemsDesktop\", 2);\n__decorateClass([\n r3(\".mobile-nav li\")\n], JbHomePageHeroLegacy.prototype, \"_domItemsMobile\", 2);\n__decorateClass([\n r2()\n], JbHomePageHeroLegacy.prototype, \"_itemIndexForTracking\", 2);\n__decorateClass([\n e(\".line-left\")\n], JbHomePageHeroLegacy.prototype, \"_lineLeft\", 2);\n__decorateClass([\n e(\".line-right\")\n], JbHomePageHeroLegacy.prototype, \"_lineRight\", 2);\n__decorateClass([\n e(\".mobile-nav\")\n], JbHomePageHeroLegacy.prototype, \"_mobileNav\", 2);\n__decorateClass([\n e(\".stage\")\n], JbHomePageHeroLegacy.prototype, \"_stage\", 2);\nJbHomePageHeroLegacy = __decorateClass([\n customElement(\"jb-home-page-hero-legacy\")\n], JbHomePageHeroLegacy);\n\nexport {\n JbHomePageHeroLegacy\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n ChangesBackgroundColor\n} from \"./chunk.7ANACPIR.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-teaser-block/jb-teaser-block.scss?inline\nvar jb_teaser_block_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.headline .subline {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.headline .subline {\n font-size: var(--theme-typo-p-mobile-fontsize, 1.063rem);\n line-height: var(--theme-typo-p-mobile-lineheight, 1.875rem);\n}\n@media (min-width: 1281px) {\n .headline .subline {\n font-size: var(--theme-typo-p-desktop-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-desktop-lineheight, 2.125rem);\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\n::slotted(*) {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 20px;\n width: 100%;\n margin-bottom: 40px;\n overflow: hidden;\n padding: 0;\n}\n@media (min-width: 600px) {\n ::slotted(*) {\n box-sizing: border-box;\n flex-basis: 50%;\n max-width: 50%;\n padding: 0 20px;\n width: 50%;\n --article-card-bottom: 0;\n }\n}\n@media (min-width: 960px) {\n ::slotted(*) {\n box-sizing: border-box;\n flex-basis: 33.3333333333%;\n max-width: 33.3333333333%;\n padding: 0 20px;\n width: 33.3333333333%;\n }\n}\n::slotted(*)[randomized=true] {\n display: none;\n}\n\n::slotted([slot=button]) {\n flex-basis: auto;\n margin-bottom: 0;\n padding: 0;\n width: auto;\n}\n\n.campaign ::slotted(jb-highlight-text-item) {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 20px;\n width: 100%;\n}\n@media (min-width: 960px) {\n .campaign ::slotted(jb-highlight-text-item) {\n box-sizing: border-box;\n flex-basis: 50%;\n max-width: 50%;\n padding: 0 20px;\n width: 50%;\n }\n}\n\n@media (min-width: 600px) {\n .four ::slotted(*) {\n box-sizing: border-box;\n flex-basis: 50%;\n max-width: 50%;\n padding: 0 20px;\n width: 50%;\n }\n}\n\n@media (min-width: 600px) {\n .four ::slotted(:nth-child(2n)) {\n padding-right: 0;\n }\n}\n\n@media (min-width: 600px) {\n .four ::slotted(:nth-child(2n-1)) {\n padding-left: 0;\n }\n}\n\n.headline {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 20px;\n width: 100%;\n margin-bottom: 68px;\n}\n@media (min-width: 600px) {\n .headline {\n box-sizing: border-box;\n flex-basis: 66.6666666667%;\n max-width: 66.6666666667%;\n padding: 0 20px;\n width: 66.6666666667%;\n margin-left: 16.6666666667%;\n }\n}\n@media (max-width: 959px) {\n .headline {\n margin-bottom: 60px;\n padding-inline: 0;\n }\n}\n.headline .subline {\n margin-top: 15px;\n text-align: center;\n width: 100%;\n}\n@media (min-width: 960px) {\n .headline .subline {\n margin-top: 17px;\n }\n}\n\n.content {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: calc(100% - 2 * var(--row-small-margin, 6.68%));\n justify-content: center;\n max-width: 100%;\n width: 100%;\n}\n@media (min-width: 600px) and (max-width: 959px) {\n .content {\n width: calc(100% - 2 * 8.35%);\n }\n}\n@media (min-width: 1437px) {\n .content {\n max-width: var(--row-max-width, 1436px);\n }\n .content:not(.filtered-list) {\n width: 100%;\n }\n}\n@media only screen and (min-width: 960px) and (max-width: 1436px) {\n .content {\n margin: 0 6.955%;\n max-width: calc(100% - 6.955% - 6.955%);\n }\n}\n@media (min-width: 600px) {\n .content {\n margin-left: -20px;\n margin-right: -20px;\n max-width: initial;\n padding: 0;\n width: initial !important;\n }\n}\n@media (min-width: 1437px) {\n .content {\n max-width: calc(var(--row-max-width, 1436px) + 136px);\n }\n}\n@media (min-width: 600px) {\n .content.four {\n box-sizing: border-box;\n flex-basis: 66.6666666667%;\n max-width: 66.6666666667%;\n padding: 0 0;\n width: 66.6666666667%;\n margin-left: 16.6666666667%;\n padding-inline: 5px;\n }\n}\n\njb-article-card {\n --article-card-bottom: 0;\n}`;\n\n// src/components/jb-teaser-block/jb-teaser-block.ts\nvar JbTeaserBlock = class extends Spaceable(ChangesBackgroundColor(h)) {\n constructor() {\n super(...arguments);\n this._shownTeasersCount = 0;\n }\n firstUpdated() {\n const curatedTeasers = this._slottedChildren.filter((element) => !element.getAttribute(\"randomized\"));\n const randomTeasers = this._slottedChildren.filter((element) => element.getAttribute(\"randomized\"));\n const randomizedRandomTeasers = this.shuffle(randomTeasers);\n randomizedRandomTeasers.forEach((teaser, index) => {\n if (index > this.teaserCount - curatedTeasers.length - 1) {\n teaser.style.setProperty(\"display\", \"none\");\n }\n });\n const shownTeasers = this._slottedChildren.filter(\n (element) => element.style.getPropertyValue(\"display\") !== \"none\"\n );\n this._shownTeasersCount = shownTeasers.length;\n }\n shuffle(array) {\n let currentIndex = array.length;\n let randomIndex;\n while (currentIndex !== 0) {\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex -= 1;\n [array[currentIndex], array[randomIndex]] = [array[randomIndex], array[currentIndex]];\n }\n return array;\n }\n _enableAnimation() {\n return !(document.querySelector(\"jb-info-page-hero\")?.parentElement?.nextElementSibling?.querySelector(\"jb-teaser-block\") === this);\n }\n _getContentSpacingProperties() {\n return {\n colsMdUp: 12,\n horizontal: \"wide\",\n type: \"teaser-block\"\n };\n }\n get _slottedChildren() {\n return this._slot.assignedElements({ flatten: true });\n }\n _tracking(e2) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e2, {\n component_name: \"teaser-block\"\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n }\n render() {\n return ke`
    \n ${(this.headline || this.subline) && ke`\n
    \n ${this.headline && ke``}\n ${this.subline && ke`

    ${this.subline}

    `}\n
    \n `}\n
    \n \n
    \n
    \n \n
    \n \n
    `;\n }\n};\nJbTeaserBlock.styles = r(jb_teaser_block_default);\n__decorateClass([\n n()\n], JbTeaserBlock.prototype, \"background\", 2);\n__decorateClass([\n n()\n], JbTeaserBlock.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbTeaserBlock.prototype, \"subline\", 2);\n__decorateClass([\n n({ type: Number })\n], JbTeaserBlock.prototype, \"teaserCount\", 2);\n__decorateClass([\n e(\".row\")\n], JbTeaserBlock.prototype, \"_row\", 2);\n__decorateClass([\n r2()\n], JbTeaserBlock.prototype, \"_shownTeasersCount\", 2);\n__decorateClass([\n e(\"slot\")\n], JbTeaserBlock.prototype, \"_slot\", 2);\nJbTeaserBlock = __decorateClass([\n customElement(\"jb-teaser-block\")\n], JbTeaserBlock);\n\nexport {\n JbTeaserBlock\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-headline-with-text/jb-headline-with-text.scss?inline\nvar jb_headline_with_text_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nh5 {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\nh4 {\n font-family: var(--theme-font-xlight-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-xlight-weight, 200);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\nh4 {\n font-size: 22px;\n font-size: 1.375rem;\n line-height: 28px;\n line-height: 1.75rem;\n color: #141e55;\n font-weight: 300;\n padding-bottom: 24px;\n}\n@media (min-width: 960px) {\n h4 {\n font-size: 28px;\n font-size: 1.75rem;\n line-height: 36px;\n line-height: 2.25rem;\n }\n}\nh4.with-border {\n font-size: 28px;\n font-size: 1.75rem;\n line-height: 36px;\n line-height: 2.25rem;\n border-bottom: 1px solid rgba(20, 30, 85, 0.2);\n font-weight: 100;\n margin-bottom: 40px;\n padding-bottom: 20px;\n}\n\nh5 {\n font-size: 16px;\n font-size: 1rem;\n line-height: 26px;\n line-height: 1.625rem;\n color: rgba(20, 30, 85, 0.8);\n margin-bottom: 10px;\n}\n\n::slotted(jb-richtext) {\n --host-color: rgba(20, 30, 85, var(--theme-opacity-80, 0.8));\n --text-opacity: 0.8;\n}`;\n\n// src/components/jb-headline-with-text/jb-headline-with-text.ts\nvar JbHeadlineWithText = class extends h {\n render() {\n return ke`\n ${this.headline ? ke`

    ${this.headline}

    ` : D}\n ${this.subtitle ? ke`
    ${this.subtitle}
    ` : D}\n \n `;\n }\n};\nJbHeadlineWithText.styles = r(jb_headline_with_text_default);\n__decorateClass([\n n()\n], JbHeadlineWithText.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbHeadlineWithText.prototype, \"subtitle\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbHeadlineWithText.prototype, \"withBorder\", 2);\nJbHeadlineWithText = __decorateClass([\n customElement(\"jb-headline-with-text\")\n], JbHeadlineWithText);\n\nexport {\n JbHeadlineWithText\n};\n", "import {\n le\n} from \"./chunk.Q25FCJRM.js\";\nimport {\n e\n} from \"./chunk.OZEBCGEZ.js\";\n\n// node_modules/lit-html/directives/unsafe-svg.js\nvar pe = class extends le {\n};\npe.directiveName = \"unsafeSVG\", pe.resultType = 2;\nvar fe = e(pe);\n\nexport {\n fe\n};\n/*! Bundled license information:\n\nlit-html/directives/unsafe-svg.js:\n (**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n *)\n*/\n", "import {\n fe\n} from \"./chunk.637M2SN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n Oe,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-highlight-text-item/jb-highlight-text-item.scss?inline\nvar jb_highlight_text_item_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\np, h3 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh3 {\n font-size: var(--theme-typo-h3-mobile-fontsize, 1.375rem);\n line-height: var(--theme-typo-h3-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n h3 {\n font-size: var(--theme-typo-h3-desktop-fontsize, 1.625rem);\n line-height: var(--theme-typo-h3-desktop-lineheight, 2.25rem);\n }\n}\n\np {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n align-items: center;\n display: inline-flex;\n flex-direction: column;\n text-align: center;\n}\n\nsvg {\n margin-bottom: 16px;\n max-width: 80px;\n}\n\nh3 {\n margin-bottom: 12px;\n}`;\n\n// src/components/jb-highlight-text-item/jb-highlight-text-item.ts\nvar JbHighlightTextItem = class extends h {\n render() {\n return ke`\n ${this.svgIcon ? Oe`${fe(this.svgIcon)}` : D}\n ${this.headline ? ke`

    ${this.headline}

    ` : D}\n ${this.subline ? ke`

    ${this.subline}

    ` : D}\n `;\n }\n};\nJbHighlightTextItem.styles = r(jb_highlight_text_item_default);\n__decorateClass([\n n()\n], JbHighlightTextItem.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbHighlightTextItem.prototype, \"subline\", 2);\n__decorateClass([\n n()\n], JbHighlightTextItem.prototype, \"svgIcon\", 2);\nJbHighlightTextItem = __decorateClass([\n customElement(\"jb-highlight-text-item\")\n], JbHighlightTextItem);\n\nexport {\n JbHighlightTextItem\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-home-page-hero/jb-home-page-hero.scss?inline\nvar jb_home_page_hero_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.subline {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\n.text, .headline {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.subline {\n font-size: var(--theme-typo-uppercase-700-fontsize, 0.688rem);\n letter-spacing: var(--theme-typo-uppercase-700-letterspacing, 0.063rem);\n line-height: var(--theme-typo-uppercase-700-lineheight, 1rem);\n text-transform: uppercase;\n}\n\n.headline {\n font-size: var(--theme-typo-h1-mobile-fontsize, 2.125rem);\n line-height: var(--theme-typo-h1-mobile-lineheight, 2.75rem);\n}\n@media (min-width: 1281px) {\n .headline {\n font-size: var(--theme-typo-h1-desktop-fontsize, 3.125rem);\n line-height: var(--theme-typo-h1-desktop-lineheight, 4.375rem);\n }\n}\n\n.text {\n font-size: var(--theme-typo-p-mobile-fontsize, 1.063rem);\n line-height: var(--theme-typo-p-mobile-lineheight, 1.875rem);\n}\n@media (min-width: 1281px) {\n .text {\n font-size: var(--theme-typo-p-desktop-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-desktop-lineheight, 2.125rem);\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\nsection {\n --_grid-gap: 16px;\n --_grid-template-columns: repeat(12, 1fr);\n --_outer-padding: calc(6.68% - var(--_grid-gap));\n display: grid;\n gap: var(--grid-row-gap, 0) var(--grid-column-gap, var(--_grid-gap));\n grid-template-columns: [full-start] var(--_outer-padding) [main-start] var(--thme-grid-template-columns, var(--_grid-template-columns)) [main-end] var(--_outer-padding) [full-end];\n grid-template-rows: 1fr;\n padding-inline-end: var(--compensate-scrollbar);\n}\n@media (min-width: 600px) {\n section {\n --_outer-padding: calc(8.35% - var(--_grid-gap));\n }\n}\n@media (min-width: 960px) {\n section {\n --_grid-gap: 40px;\n --_outer-padding: calc(6.955% - var(--_grid-gap) / 2);\n }\n}\n@media (min-width: 1281px) {\n section {\n padding-block-start: var(--spacing-s);\n }\n}\n@media (min-width: 1437px) {\n section {\n --_outer-padding: calc((100% - 1437px - 40px) / 2);\n }\n}\n\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n --_before-subline-padding: var(--spacing-s);\n --_after-subline-padding: var(--spacing-xs);\n --_after-headline-padding: var(0);\n --_before-text-padding: var(--spacing-xs);\n --_before-button-padding: var(--spacing-m);\n --_title-color: var(--theme-color-royal-blue);\n --_after-line-padding: var(--spacing-m);\n --_start-radial-shade-at: 20%;\n --_start-radial-blur-at: 10%;\n}\n\nsection {\n margin-block-end: var(--spacing-3xl);\n padding-block-start: 0;\n}\n\n.image-container {\n display: grid;\n grid-column: 1/15;\n grid-row: 1;\n grid-template-columns: subgrid;\n overflow: hidden;\n position: relative;\n z-index: 2;\n}\n\njb-picture {\n aspect-ratio: 1/1;\n display: block;\n grid-column: 1/15;\n inline-size: 100%;\n inset-block-start: 0;\n inset-inline-start: 0;\n}\n@media (min-width: 960px) {\n jb-picture {\n aspect-ratio: 21/9;\n }\n}\n@media (min-width: 1281px) {\n jb-picture {\n aspect-ratio: 5/2;\n }\n}\n\n.over-image-line {\n block-size: 0;\n grid-column: 2/14;\n inset-block-end: 0;\n}\n.over-image-line::before, .over-image-line::after {\n backdrop-filter: invert(100%);\n block-size: 32px;\n color: rgb(var(--_title-color));\n content: \"\";\n display: block;\n grid-column: 2/14;\n inline-size: 1px;\n transform: translateY(-100%);\n z-index: 15;\n}\n@media (min-width: 600px) {\n .over-image-line::before, .over-image-line::after {\n block-size: 51px;\n }\n}\n@media (min-width: 960px) {\n .over-image-line::before, .over-image-line::after {\n display: none;\n }\n}\n\n.blur-filter {\n display: none;\n}\n\n@media (min-width: 960px) {\n .behind-text-blur .behind-text {\n backdrop-filter: blur(40px);\n display: block;\n height: 100%;\n inline-size: 100%;\n inset-block-end: 0;\n mask-image: radial-gradient(at var(--_start-radial-blur-at) 100%, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0) 60%);\n opacity: 0.6;\n position: absolute;\n z-index: 2;\n }\n}\n\n.shading-filter {\n display: none;\n height: 100%;\n inline-size: 100%;\n position: absolute;\n z-index: 11;\n}\n\n@media (min-width: 960px) {\n .radial-shade .shading-filter.radial {\n background: radial-gradient(at var(--_start-radial-shade-at) 100%, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.15) 55%, rgba(0, 0, 0, 0.05) 100%);\n block-size: 100%;\n display: block;\n inline-size: 100%;\n }\n}\n\n@media (min-width: 960px) {\n .headline-shade .subline,\n .headline-shade .headline {\n text-shadow: 0 0 160px #000, 0 0 250px #000, 0 0 250px #000;\n }\n}\n\n.title-container > *::before,\n.text-container > *::before,\n.title-container > *::after,\n.text-container > *::after {\n border-inline-start-style: solid;\n border-inline-start-width: 1px;\n content: \"\";\n inline-size: 1px;\n margin-inline-end: var(--_after-line-padding);\n z-index: 2;\n}\n@media (min-width: 960px) {\n .title-container > *::before,\n .text-container > *::before,\n .title-container > *::after,\n .text-container > *::after {\n --_after-line-padding: var(--spacing-xl);\n }\n}\n\n.title-container > *,\n.text-container > * {\n display: flex;\n}\n\n.title-container {\n clip-path: polygon(0 -100%, 100% -100%, 100% 100%, 0% 100%);\n color: rgb(var(--_title-color));\n display: grid;\n grid-column: 1/15;\n grid-row: 2;\n grid-template-columns: subgrid;\n position: relative;\n}\n@media (min-width: 960px) {\n .title-container {\n --_title-color: var(--theme-color-white);\n align-self: end;\n grid-row: 1;\n grid-template-rows: 1fr min-content;\n z-index: 5;\n }\n}\n\n.subline {\n grid-column: 2/14;\n padding-block: var(--_before-subline-padding) var(--_after-subline-padding);\n text-transform: uppercase;\n text-wrap: balance;\n z-index: inherit;\n}\n.subline::before, .subline::after {\n block-size: calc(100% + var(--_after-subline-padding) + var(--_before-subline-padding));\n margin-block-start: calc(-1 * var(--_before-subline-padding));\n}\n@media (min-width: 960px) {\n .subline {\n --_before-subline-padding: 0;\n --_after-subline-padding: var(--spacing-s);\n font-size: var(--theme-typo-uppercase-900-fontsize);\n grid-column-end: 6;\n letter-spacing: var(--theme-typo-uppercase-700-letterspacing);\n line-height: var(--theme-typo-uppercase-900-lineheight);\n }\n .subline::before, .subline::after {\n margin-block: 0 calc(-1 * var(--_after-subline-padding));\n }\n}\n@media (min-width: 1281px) {\n .subline {\n grid-column-end: 5;\n }\n}\n\n.headline {\n font-size: var(--theme-typo-h1-mobile-fontsize);\n grid-column: 2/14;\n line-height: var(--theme-typo-h1-mobile-lineheight);\n padding-block-end: var(--_after-headline-padding);\n text-wrap: balance;\n z-index: inherit;\n}\n.headline::before, .headline::after {\n block-size: calc(100% + var(--_after-headline-padding));\n margin-block-end: calc(-1 * var(--_after-headline-padding));\n}\n@media (min-width: 960px) {\n .headline {\n --_after-headline-padding: var(--spacing-m);\n font-size: var(--theme-typo-h1-desktop-fontsize);\n grid-column-end: 9;\n line-height: var(--theme-typo-h1-overview-desktop-lineheight);\n }\n}\n@media (min-width: 1281px) {\n .headline {\n --_after-headline-padding: var(--spacing-l);\n }\n}\n@media (min-width: 1437px) {\n .headline {\n grid-column-end: 8;\n }\n}\n\n.text-container {\n display: grid;\n grid-column: 2/14;\n grid-row: 3;\n grid-template-columns: subgrid;\n position: relative;\n}\n\n.text {\n grid-column: 1/14;\n padding-block-start: var(--_before-text-padding);\n text-wrap: balance;\n}\n.text::before, .text::after {\n block-size: calc(100% + var(--_before-text-padding));\n margin-block-start: calc(-1 * var(--_before-text-padding));\n}\n@media (min-width: 960px) {\n .text {\n --_before-text-padding: var(--spacing-s);\n grid-column-end: 8;\n }\n}\n@media (min-width: 1281px) {\n .text {\n --_before-text-padding: var(--spacing-xs);\n font-size: var(--theme-typo-p-big-desktop-fontsize);\n line-height: var(--theme-typo-p-big-desktop-lineheight);\n }\n}\n\njb-button-primary {\n display: block;\n grid-column: 1/13;\n padding-block-start: var(--_before-button-padding);\n}\njb-button-primary::before, jb-button-primary::after {\n display: none;\n margin-block-start: 0;\n}\n@media (min-width: 960px) {\n jb-button-primary {\n grid-column: 1/5;\n inline-size: fit-content;\n text-wrap: nowrap;\n transform: translateY(-1px);\n --_before-button-padding: var(--spacing-xs);\n }\n jb-button-primary::before, jb-button-primary::after {\n block-size: calc(100% + var(--_before-button-padding));\n display: block;\n margin-block-start: calc(-1 * var(--_before-button-padding));\n }\n}\n\n.align-start .title-container > *::after,\n.align-start .text-container > *::after {\n display: none;\n}\n\n.align-end .blur-filter.behind-text {\n --_start-radial-blur-at: 90%;\n}\n.align-end .shading-filter.radial {\n --_start-radial-shade-at: 80%;\n}\n@media (min-width: 960px) {\n .align-end .title-container > *::before,\n .align-end .text-container > *::before {\n display: none;\n }\n}\n.align-end .title-container > *::after,\n.align-end .text-container > *::after {\n display: none;\n text-align: start;\n}\n@media (min-width: 960px) {\n .align-end .title-container > *::after,\n .align-end .text-container > *::after {\n display: revert;\n margin-inline: var(--_after-line-padding) 0;\n }\n}\n.align-end .title-container .subline {\n grid-column: 2/14;\n text-align: start;\n}\n@media (min-width: 960px) {\n .align-end .title-container .subline {\n grid-column-start: 9;\n justify-content: flex-end;\n text-align: end;\n }\n}\n@media (min-width: 1281px) {\n .align-end .title-container .subline {\n grid-column-start: 10;\n }\n}\n@media (min-width: 1437px) {\n .align-end .title-container .subline {\n grid-column-start: 11;\n }\n}\n.align-end .title-container .headline {\n grid-column: 2/14;\n text-align: start;\n}\n@media (min-width: 960px) {\n .align-end .title-container .headline {\n grid-column-start: 7;\n justify-content: flex-end;\n text-align: end;\n }\n}\n@media (min-width: 1437px) {\n .align-end .title-container .headline {\n grid-column-start: 8;\n }\n}\n.align-end .text-container .text {\n text-align: start;\n}\n@media (min-width: 960px) {\n .align-end .text-container .text {\n grid-column: 5/14;\n text-align: end;\n }\n}\n@media (min-width: 1281px) {\n .align-end .text-container .text {\n grid-column-start: 7;\n }\n}\n@media (min-width: 960px) {\n .align-end .text-container jb-button-primary {\n grid-column: 2/14;\n justify-self: flex-end;\n }\n}`;\n\n// src/components/jb-home-page-hero/jb-home-page-hero.ts\nvar JbHomePageHero = class extends h {\n constructor() {\n super(...arguments);\n this.align = \"start\";\n }\n render() {\n return ke`\n \n
    \n
    \n
    \n\n \n\n
    \n
    \n\n
    \n ${this.subline}\n

    ${this.headline}

    \n
    \n\n
    \n

    ${this.text}

    \n\n ${this.discoverMoreButtonText ? this.discoverMoreButtonText : D}\n
    \n \n `;\n }\n};\nJbHomePageHero.styles = r(jb_home_page_hero_default);\n__decorateClass([\n n()\n], JbHomePageHero.prototype, \"align\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbHomePageHero.prototype, \"behindTextBlur\", 2);\n__decorateClass([\n n({ type: Object })\n], JbHomePageHero.prototype, \"discoverMoreButton\", 2);\n__decorateClass([\n n()\n], JbHomePageHero.prototype, \"discoverMoreButtonText\", 2);\n__decorateClass([\n n()\n], JbHomePageHero.prototype, \"headline\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbHomePageHero.prototype, \"headlineShade\", 2);\n__decorateClass([\n n({ type: Object })\n], JbHomePageHero.prototype, \"image\", 2);\n__decorateClass([\n n({ type: Number })\n], JbHomePageHero.prototype, \"imageFocusHorizontal\", 2);\n__decorateClass([\n n({ type: Number })\n], JbHomePageHero.prototype, \"imageFocusVertical\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbHomePageHero.prototype, \"radialShade\", 2);\n__decorateClass([\n n()\n], JbHomePageHero.prototype, \"subline\", 2);\n__decorateClass([\n n()\n], JbHomePageHero.prototype, \"text\", 2);\nJbHomePageHero = __decorateClass([\n customElement(\"jb-home-page-hero\")\n], JbHomePageHero);\n\nexport {\n JbHomePageHero\n};\n", "import {\n ae\n} from \"./chunk.Q25FCJRM.js\";\nimport {\n jbLinkClickedEventToJbTrackingEvent,\n setLink\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-footer/jb-footer.scss?inline\nvar jb_footer_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.copyright, .link {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\np {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\np {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--text-opacity, var(--theme-opacity-70, 0.7)));\n font-size: 0.813rem;\n line-height: 1.25rem;\n}\n\np {\n color: rgba(var(--rgb-primary, 255, 255, 255), var(--text-opacity, var(--theme-opacity-70, 0.7)));\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nfooter {\n --_notch-max-inset: max(env(safe-area-inset-left), env(safe-area-inset-right));\n --_notch-inset: calc(var(--_notch-max-inset) + 5px);\n --_notch-inset-padding: max(40px, var(--_notch-inset));\n background-color: #141e55;\n padding: 51px calc(var(--_notch-inset-padding) + var(--compensate-scrollbar, 0px)) 42px var(--_notch-inset-padding);\n position: relative;\n --rgb-primary: 255, 255, 255;\n}\n@media (min-width: 600px) and (max-width: 959px) {\n footer {\n --_notch-inset-padding: max(20px, var(--_notch-inset));\n padding: 51px calc(var(--_notch-inset-padding) + var(--compensate-scrollbar, 0px)) 42px var(--_notch-inset-padding);\n }\n}\n@media (max-width: 599px) {\n footer {\n --_notch-inset-padding: max(28px, var(--_notch-inset));\n padding: 40px calc(var(--_notch-inset-padding) + var(--compensate-scrollbar, 0px)) 41px var(--_notch-inset-padding);\n }\n}\n@media (max-width: 599px) {\n footer {\n --item-display: block;\n --item-margin-right: 0;\n --item-margin-bottom: 15px;\n }\n footer:last-child {\n --item-display: inline-block;\n --item-margin-bottom: 3px;\n }\n}\n@media (max-width: 599px) and (max-width: 599px) {\n footer:last-child {\n --item-margin-bottom: 0;\n }\n}\n@media (max-width: 599px) {\n footer:nth-child(4) {\n --item-display: inline-block;\n --item-margin-bottom: 0;\n }\n}\n\n.wrapper {\n display: flex;\n flex-basis: 100%;\n flex-wrap: wrap;\n}\n\n.primary {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 20px;\n width: 100%;\n margin-bottom: 53px;\n font-size: 0;\n font-size: 0;\n}\n@media (min-width: 600px) {\n .primary {\n box-sizing: border-box;\n flex-basis: 50%;\n max-width: 50%;\n padding: 0 20px;\n width: 50%;\n }\n}\n@media (min-width: 1281px) and (max-width: 1436px) {\n .primary {\n padding-left: 4px;\n }\n}\n@media (min-width: 960px) and (max-width: 1280px) {\n .primary {\n padding-left: 0;\n }\n}\n@media (max-width: 959px) {\n .primary {\n padding-left: 0;\n }\n}\n@media (max-width: 599px) {\n .primary {\n margin-bottom: 30px;\n text-align: center;\n }\n}\n@media (max-width: 959px) {\n .primary {\n padding: 0;\n }\n}\n@media (min-width: 960px) {\n .primary {\n padding: 0 20px;\n }\n}\n.primary .link {\n margin-right: 30px;\n}\n.primary .link a {\n color: #fff;\n transition: color 0.3s ease-in-out 0s;\n}\n.primary .link:hover a {\n color: rgba(255, 255, 255, 0.6);\n transition: color 0.3s ease-in-out 0s;\n}\n.primary .link:last-child {\n margin-right: 0;\n}\n.primary li {\n display: inline-block;\n}\n\n.social-icons {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 20px;\n width: 100%;\n text-align: right;\n font-size: 0;\n font-size: 0;\n}\n@media (min-width: 600px) {\n .social-icons {\n box-sizing: border-box;\n flex-basis: 50%;\n max-width: 50%;\n padding: 0 20px;\n width: 50%;\n }\n}\n@media (min-width: 600px) and (max-width: 959px) {\n .social-icons {\n margin-bottom: 44px;\n }\n}\n@media (max-width: 599px) {\n .social-icons {\n margin-bottom: 37.5px;\n text-align: center;\n }\n}\n@media (max-width: 959px) {\n .social-icons {\n padding: 0;\n }\n}\n.social-icons li {\n display: inline-block;\n}\n.social-icons li a jb-x-icon {\n color: #fff;\n}\n@media (max-width: 599px) {\n .social-icons {\n text-align: center;\n }\n}\n.social-icons .twitter {\n margin-right: 43px;\n transform: scale(1);\n transition: transform 0.3s ease-in-out;\n}\n@media (min-width: 600px) and (max-width: 959px) {\n .social-icons .twitter {\n margin-right: 35px;\n }\n}\n.social-icons .twitter:hover {\n transform: scale(1.5);\n transition: transform 0.3s ease-in-out;\n}\n.social-icons .twitter svg {\n height: 16px;\n width: 19px;\n}\n.social-icons .linkedin {\n margin-right: 42px;\n transform: scale(1);\n transition: transform 0.3s ease-in-out;\n}\n@media (min-width: 600px) and (max-width: 959px) {\n .social-icons .linkedin {\n margin-right: 35px;\n }\n}\n.social-icons .linkedin:hover {\n transform: scale(1.5);\n transition: transform 0.3s ease-in-out;\n}\n.social-icons .linkedin svg {\n height: 14px;\n width: 14px;\n}\n.social-icons .youtube {\n margin-right: 45px;\n transform: scale(1);\n transition: transform 0.3s ease-in-out;\n}\n@media (min-width: 600px) and (max-width: 959px) {\n .social-icons .youtube {\n margin-right: 40px;\n }\n}\n.social-icons .youtube:hover {\n transform: scale(1.5);\n transition: transform 0.3s ease-in-out;\n}\n.social-icons .youtube svg {\n height: 15px;\n width: 22px;\n}\n.social-icons .facebook {\n margin-right: 48px;\n transform: scale(1);\n transition: transform 0.3s ease-in-out;\n}\n@media (min-width: 600px) and (max-width: 959px) {\n .social-icons .facebook {\n margin-right: 43px;\n }\n}\n.social-icons .facebook:hover {\n transform: scale(1.5);\n transition: transform 0.3s ease-in-out;\n}\n.social-icons .instagram {\n margin-right: 12px;\n transform: scale(1);\n transition: transform 0.3s ease-in-out;\n}\n@media (max-width: 599px) {\n .social-icons .instagram {\n margin-right: 0;\n }\n}\n.social-icons .instagram:hover {\n transform: scale(1.5);\n transition: transform 0.3s ease-in-out;\n}\n.social-icons .instagram svg {\n height: 16px;\n width: 16px;\n}\n\n.secondary {\n margin-bottom: 20px;\n}\n@media (min-width: 600px) and (max-width: 959px) {\n .secondary {\n margin-bottom: 21px;\n }\n}\n@media (max-width: 599px) {\n .secondary {\n margin: 0 0 20px 1px;\n }\n}\n@media (min-width: 960px) {\n .secondary {\n padding: 0 20px;\n }\n}\n.secondary ul {\n padding: 0.5px 0;\n font-size: 0;\n font-size: 0;\n}\n@media (min-width: 600px) and (max-width: 959px) {\n .secondary ul {\n padding: 1px 0;\n }\n}\n@media (max-width: 599px) {\n .secondary ul {\n text-align: center;\n }\n}\n.secondary ul li {\n display: inline-block;\n margin-right: 30px;\n}\n.secondary ul li a {\n color: #fff;\n transition: color 0.3s ease-in-out 0s;\n}\n.secondary ul li:hover a {\n color: rgba(255, 255, 255, 0.6);\n transition: color 0.3s ease-in-out 0s;\n}\n@media (min-width: 600px) and (max-width: 959px) {\n .secondary ul li:first-of-type {\n margin-bottom: 15px;\n }\n}\n.secondary ul li:last-child {\n margin-right: 0;\n}\n@media (max-width: 599px) {\n .secondary ul li {\n display: block;\n margin-bottom: 15px;\n margin-right: 0;\n }\n .secondary ul li:last-child {\n display: inline-block;\n margin-bottom: 3px;\n }\n}\n@media (max-width: 599px) and (max-width: 599px) {\n .secondary ul li:last-child {\n margin-bottom: 0;\n }\n}\n@media (max-width: 599px) {\n .secondary ul li:nth-child(4) {\n display: inline-block;\n margin-bottom: 0;\n }\n}\n\np {\n letter-spacing: 0.03rem;\n transition: color 0.3s ease-in-out 0s;\n}\np a {\n box-shadow: inset 0 -1px 0 0 RGBA(255, 255, 255, var(--theme-opacity-30, 0.3));\n color: rgba(var(--rgb-primary, 255, 255, 255), var(--theme-opacity-70, 0.7));\n padding-bottom: 0.15em;\n text-decoration: none;\n}\n\njb-richtext {\n color: RGBA(255, 255, 255, var(--theme-opacity-70, 0.7));\n}\n@media (min-width: 960px) {\n jb-richtext {\n padding: 0 20px;\n }\n}\n\n.link {\n font-size: 11px;\n font-size: 0.6875rem;\n line-height: 16px;\n line-height: 1rem;\n color: #fff;\n display: inline-block;\n letter-spacing: 0.063rem;\n text-decoration: none;\n text-transform: uppercase;\n}\n\n.copyright {\n font-size: 11px;\n font-size: 0.6875rem;\n line-height: 16px;\n line-height: 1rem;\n color: #fff;\n letter-spacing: 0.063rem;\n opacity: 0.6;\n text-transform: uppercase;\n}\n\n@media print {\n footer {\n display: none;\n }\n jb-richtext {\n --rgb-primary: 20, 30, 85;\n }\n}`;\n\n// src/components/jb-footer/jb-footer.ts\nvar JbFooter = class extends h {\n constructor() {\n super(...arguments);\n this.text = \"\";\n }\n _getSocialIcon(service) {\n switch (service) {\n case \"facebook\":\n return ``;\n case \"linkedin\":\n return ``;\n case \"instagram\":\n return ``;\n case \"twitter\":\n return ``;\n case \"youtube\":\n return ``;\n default:\n break;\n }\n return \"\";\n }\n _renderNavigation(items) {\n return items.map((item) => {\n if (item.link?.href) {\n const anchor = document.createElement(\"a\");\n setLink(anchor, item.link);\n anchor.innerText = item.text;\n anchor.classList.add(\"link\");\n return ke`
  • ${anchor}
  • `;\n }\n return ke`
  • ${item.text}
  • `;\n });\n }\n _renderSocialIcons(items) {\n return items.map((item) => {\n const anchor = document.createElement(\"a\");\n if (item.link) setLink(anchor, item.link);\n anchor.innerHTML = this._getSocialIcon(item.service);\n anchor.classList.add(\"link\");\n return ke`
  • ${anchor}
  • `;\n });\n }\n _trackLink(e) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e, {\n component_name: \"footer\"\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n }\n _trackSocial(e) {\n e.detail.type = \"social\";\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e, {\n component_name: \"footer\"\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n }\n render() {\n return ke`\n
    \n
    \n \n
      \n ${this._renderNavigation(this.primaryNavigation)}\n
    \n \n
    \n
      \n ${this._renderSocialIcons(this.socialIcons)}\n
    \n
    \n
    \n \n
      \n ${this._renderNavigation(this.secondaryNavigation)}\n
    \n \n ${this.text ? ae(this.text) : D}\n
    \n `;\n }\n};\nJbFooter.styles = r(jb_footer_default);\n__decorateClass([\n n({ type: Array })\n], JbFooter.prototype, \"primaryNavigation\", 2);\n__decorateClass([\n n({ type: Array })\n], JbFooter.prototype, \"secondaryNavigation\", 2);\n__decorateClass([\n n({ type: Array })\n], JbFooter.prototype, \"socialIcons\", 2);\n__decorateClass([\n n()\n], JbFooter.prototype, \"text\", 2);\nJbFooter = __decorateClass([\n customElement(\"jb-footer\")\n], JbFooter);\n\nexport {\n JbFooter\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-youtube-icon/jb-youtube-icon.scss?inline\nvar jb_youtube_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n height: var(--icon-height, 14.7px);\n width: var(--icon-width, 20.6px);\n}\n\nsvg {\n fill: rgb(var(--rgb-primary, 20, 30, 85));\n height: var(--icon-height, 14.7px);\n width: var(--icon-width, 20.6px);\n}`;\n\n// src/components/icons/jb-youtube-icon/jb-youtube-icon.ts\nvar JbYoutubeIcon = class extends h {\n render() {\n return ke`\n \n \n \n `;\n }\n};\nJbYoutubeIcon.styles = r(jb_youtube_icon_default);\nJbYoutubeIcon = __decorateClass([\n customElement(\"jb-youtube-icon\")\n], JbYoutubeIcon);\n\nexport {\n JbYoutubeIcon\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-instagram-icon/jb-instagram-icon.scss?inline\nvar jb_instagram_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n height: var(--icon-height, 14.7px);\n width: var(--icon-width, 14.7px);\n}\n\nsvg {\n fill: rgb(var(--rgb-primary, 20, 30, 85));\n height: var(--icon-height, 14.7px);\n width: var(--icon-width, 14.7px);\n}`;\n\n// src/components/icons/jb-instagram-icon/jb-instagram-icon.ts\nvar JbInstagramIcon = class extends h {\n render() {\n return ke`\n \n \n \n `;\n }\n};\nJbInstagramIcon.styles = r(jb_instagram_icon_default);\nJbInstagramIcon = __decorateClass([\n customElement(\"jb-instagram-icon\")\n], JbInstagramIcon);\n\nexport {\n JbInstagramIcon\n};\n", "import {\n FormElement\n} from \"./chunk.UTVDNTSP.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-upload/jb-upload.scss?inline\nvar jb_upload_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.label {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\n.error-msg, .description,\n.file-name {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.description,\n.file-name {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\n\n.label {\n font-size: var(--theme-typo-p-small-highlight-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-highlight-desktop-lineheight, 1.625rem);\n}\n\n.error-msg {\n font-size: var(--theme-typo-p-mini-desktop-fontsize, 0.813rem);\n line-height: var(--theme-typo-p-mini-desktop-lineheight, 1.25rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n width: 100%;\n}\n\n.label {\n margin-bottom: var(--spacing-3xs);\n}\n\n.description,\n.file-name {\n color: rgba(20, 30, 85, var(--theme-opacity-80, 0.8));\n margin-bottom: var(--spacing-xs);\n}\n\n.file-name {\n align-items: center;\n display: flex;\n justify-content: space-between;\n padding-block: var(--spacing-3xs);\n position: relative;\n}\n.file-name::after {\n background-color: #141e55;\n bottom: 0;\n content: \"\";\n display: block;\n height: 1px;\n left: 0;\n position: absolute;\n transform: scaleX(0);\n transform-origin: left center;\n transition: transform 0.4s ease-in;\n width: 100%;\n}\n.file-name::before {\n background-color: rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n bottom: 0;\n content: \"\";\n display: block;\n height: 1px;\n left: 0;\n position: absolute;\n width: 100%;\n}\n.file-name:hover jb-clear-icon {\n color: #141e55;\n transition: color 0.8s ease-in-out;\n}\n.file-name:hover::after {\n transform: scaleX(1);\n transition: transform 0.8s ease-out;\n}\n.file-name jb-clear-icon {\n color: rgba(20, 30, 85, var(--theme-opacity-40, 0.4));\n transition: color 0.4s ease-in-out;\n}\n\ninput[type=file] {\n display: none;\n}\n\n.error-msg {\n margin-top: var(--spacing-2xs);\n}\n\n.error .label {\n color: #971b2f;\n}\n.error .file-name {\n border-color: #971b2f;\n color: #971b2f;\n}\n.error .file-name::before, .error .file-name::after {\n background-color: #971b2f;\n}\n.error .error-msg {\n color: #971b2f;\n display: block;\n}\n\n.disabled {\n opacity: 0.4;\n}`;\n\n// src/components/jb-upload/jb-upload.ts\nvar JbUpload = class extends Initiable(FormElement(h)) {\n showSelectedFile() {\n this.isUploaded = true;\n this.fileName = this._uploadInputFile.files[0].name;\n [this.value] = Array.from(this._uploadInputFile.files);\n this.dispatchEvent(new CustomEvent(\"jb-upload:field-change\", { bubbles: true, composed: true }));\n }\n _clearInput() {\n this.value = void 0;\n this.fileName = void 0;\n }\n _openFileDialog() {\n this._uploadInputFile.click();\n }\n render() {\n const classes = {\n error: this.showError || !!this.errorText,\n uploaded: !!this.isUploaded,\n disabled: !!this.disabled\n };\n return ke`\n
    \n ${this.label ? ke`

    ${this.label}${this.requiredText ? \"*\" : D}

    ` : D}\n ${this.description ? ke`

    ${this.description}

    ` : D}\n\n \n\n ${this.fileName ? ke`

    \n ${this.fileName}\n

    ` : D}\n\n ${this.buttonText}\n\n ${this.showError || this.errorText ? ke`

    \n ${this.showError ? ke`${this.requiredText}` : D}\n ${this.errorText ? ke`${this.errorText}` : D}\n

    ` : D}\n
    \n `;\n }\n};\nJbUpload.styles = r(jb_upload_default);\n__decorateClass([\n n()\n], JbUpload.prototype, \"buttonText\", 2);\n__decorateClass([\n n()\n], JbUpload.prototype, \"description\", 2);\n__decorateClass([\n n()\n], JbUpload.prototype, \"fileName\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbUpload.prototype, \"isUploaded\", 2);\n__decorateClass([\n n()\n], JbUpload.prototype, \"name\", 2);\n__decorateClass([\n e('input[type=\"file\"]')\n], JbUpload.prototype, \"_uploadInputFile\", 2);\nJbUpload = __decorateClass([\n customElement(\"jb-upload\")\n], JbUpload);\n\nexport {\n JbUpload\n};\n", "import {\n FormElement\n} from \"./chunk.UTVDNTSP.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-text-area/jb-text-area.scss?inline\nvar jb_text_area_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\ndiv p, div .counter, div label, div textarea::placeholder, div textarea {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\ndiv textarea::placeholder, div textarea {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\n\ndiv .counter, div label {\n font-size: var(--theme-typo-p-mini-desktop-fontsize, 0.813rem);\n line-height: var(--theme-typo-p-mini-desktop-lineheight, 1.25rem);\n}\n\ndiv p {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--text-opacity, var(--theme-opacity-70, 0.7)));\n font-size: 0.813rem;\n line-height: 1.25rem;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: inline-block;\n width: 100%;\n}\n\ndiv {\n position: relative;\n}\ndiv label {\n color: rgba(20, 30, 85, var(--theme-opacity-80, 0.8));\n display: block;\n margin-bottom: var(--spacing-base);\n}\ndiv textarea {\n background: transparent;\n border: 1px solid rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n color: rgba(20, 30, 85, var(--theme-opacity-80, 0.8));\n height: 250px;\n overflow: auto;\n padding: var(--spacing-3xs);\n width: 100%;\n}\ndiv textarea::placeholder {\n color: rgba(20, 30, 85, var(--theme-opacity-80, 0.8));\n opacity: 1;\n transition: opacity 0.3s linear 0s;\n}\ndiv textarea:focus {\n border-color: #141e55;\n outline: none;\n}\ndiv textarea:focus::placeholder {\n opacity: 0;\n}\ndiv textarea label {\n color: rgba(20, 30, 85, var(--theme-opacity-70, 0.7));\n opacity: 1;\n transition: opacity 0.3s ease-in 0s;\n}\ndiv.error textarea::placeholder {\n color: #971b2f;\n}\ndiv.error label {\n color: #971b2f;\n}\ndiv p {\n color: #971b2f;\n display: block;\n margin-top: 10px;\n position: relative;\n}\ndiv .counter {\n align-items: center;\n display: flex;\n justify-content: space-between;\n margin-block-start: var(--spacing-base);\n width: 100%;\n}\ndiv .counter > span:first-of-type {\n opacity: 0.7;\n}`;\n\n// src/components/jb-text-area/jb-text-area.ts\nvar JbTextArea = class extends Initiable(FormElement(h)) {\n constructor() {\n super(...arguments);\n this._currentLength = 0;\n }\n _handleInputChange(e) {\n this.value = e.target.value;\n }\n render() {\n return ke`\n \n \n {\n if (!this.maxLength) return;\n this._currentLength = evt.currentTarget.value.length;\n }}\n >\n ${this.maxLength ? ke`
    \n ${this.maxLengthText ?? D}${this._currentLength} / ${this.maxLength}\n
    ` : D}\n ${this.showError || this.errorText ? ke`

    \n ${this.showError ? ke`${this.requiredText}` : D}\n ${this.errorText ? ke`${this.errorText}` : D}\n

    ` : D}\n \n `;\n }\n};\nJbTextArea.styles = r(jb_text_area_default);\n__decorateClass([\n n({ type: Number })\n], JbTextArea.prototype, \"maxLength\", 2);\n__decorateClass([\n n()\n], JbTextArea.prototype, \"maxLengthText\", 2);\n__decorateClass([\n n()\n], JbTextArea.prototype, \"placeholder\", 2);\n__decorateClass([\n r2()\n], JbTextArea.prototype, \"_currentLength\", 2);\nJbTextArea = __decorateClass([\n customElement(\"jb-text-area\")\n], JbTextArea);\n\nexport {\n JbTextArea\n};\n", "import {\n FormElement\n} from \"./chunk.UTVDNTSP.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n applyStyles\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-text-field/jb-text-field.scss?inline\nvar jb_text_field_default = i`jb-text-field {\n /* stylelint-disable */\n /* COLOR SETTINGS */\n /* shadows */\n /* special measurements */\n /* stylelint-disable */\n /* stylelint-enable */\n /* special measurements */\n /* stylelint-enable */\n display: block;\n flex: 1;\n width: 100%;\n}\njb-text-field *,\njb-text-field *::before,\njb-text-field *::after {\n box-sizing: border-box;\n}\njb-text-field div,\njb-text-field object,\njb-text-field iframe,\njb-text-field h1,\njb-text-field h2,\njb-text-field h3,\njb-text-field h4,\njb-text-field h5,\njb-text-field h6,\njb-text-field p,\njb-text-field blockquote,\njb-text-field ol,\njb-text-field ul,\njb-text-field li,\njb-text-field form,\njb-text-field legend,\njb-text-field label,\njb-text-field table,\njb-text-field header,\njb-text-field footer,\njb-text-field nav,\njb-text-field section,\njb-text-field figure {\n margin: 0;\n padding: 0;\n}\njb-text-field a {\n color: inherit;\n}\njb-text-field :host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n@media screen and (width >= 1281px) {\n jb-text-field :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\njb-text-field .counter, jb-text-field p, jb-text-field > div:not(.combine) label, jb-text-field > div:not(.combine) input::placeholder, jb-text-field > div:not(.combine) input {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\njb-text-field > div:not(.combine) input::placeholder, jb-text-field > div:not(.combine) input {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\njb-text-field .counter, jb-text-field p, jb-text-field > div:not(.combine) label {\n font-size: var(--theme-typo-p-mini-desktop-fontsize, 0.813rem);\n line-height: var(--theme-typo-p-mini-desktop-lineheight, 1.25rem);\n}\njb-text-field :host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n@media screen and (width >= 1281px) {\n jb-text-field :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\njb-text-field :host {\n color: var(--host-color, #141e55);\n}\njb-text-field > div:not(.combine) {\n flex-wrap: wrap;\n padding-top: 22px;\n position: relative;\n}\n@media (max-width: 959px) {\n jb-text-field > div:not(.combine) {\n display: block;\n }\n}\njb-text-field > div:not(.combine) label {\n color: rgba(var(--rgb-primary, 20, 30, 85, var(--theme-opacity-80, 0.8)));\n display: block;\n left: 0;\n opacity: 0;\n position: absolute;\n top: 2px;\n transition: opacity 0.3s ease-in 0s;\n}\njb-text-field > div:not(.combine) input {\n -webkit-appearance: none;\n background: rgba(var(--background-color, 255, 255, 255));\n border: none;\n border-bottom: 1px solid rgba(var(--rgb-primary, 20, 30, 85), var(--border-opacity, var(--theme-opacity-30, 0.3)));\n border-radius: 0;\n color: rgba(var(--rgb-primary, 20, 30, 85));\n padding-block: var(--spacing-base);\n width: 100%;\n}\n@media all and (-ms-high-contrast: none) {\n jb-text-field > div:not(.combine) input {\n padding-bottom: 14px;\n }\n}\njb-text-field > div:not(.combine) input::placeholder {\n color: rgba(var(--rgb-primary, 20, 30, 85), 0.8);\n opacity: 1;\n transition: opacity 0.3s linear 0s;\n}\njb-text-field > div:not(.combine) input:focus {\n border-bottom: 1px solid rgba(var(--rgb-primary, 20, 30, 85), var(--border-opacity, 1));\n outline: none;\n}\njb-text-field > div:not(.combine) input:focus::placeholder {\n opacity: 0;\n transition: opacity 0.3s linear 0s;\n}\njb-text-field > div:not(.combine) input:focus + label {\n opacity: 1;\n transition: opacity 0.3s ease-in 0s;\n}\njb-text-field > div:not(.combine) input:not(:placeholder-shown) + label {\n opacity: 1;\n transition: opacity 0.3s ease-in 0s;\n}\njb-text-field > div:not(.combine) .error {\n border-color: #971b2f;\n}\njb-text-field > div:not(.combine) .error::placeholder,\njb-text-field > div:not(.combine) .error + label {\n color: #971b2f;\n}\njb-text-field > div:not(.combine).hidden {\n display: none;\n}\njb-text-field p {\n color: #971b2f;\n display: block;\n margin-top: var(--spacing-base);\n}\njb-text-field .white input {\n background-color: transparent;\n border-color: #fff;\n color: #fff;\n}\njb-text-field .white input::placeholder {\n color: #fff;\n}\njb-text-field .white input + label {\n color: #fff;\n}\njb-text-field .white input:focus {\n border-bottom: 1px solid #fff;\n outline: none;\n}\njb-text-field .white .error {\n border-color: #ff5570 !important;\n}\njb-text-field .white .error::placeholder,\njb-text-field .white .error + label {\n color: #ff5570 !important;\n}\njb-text-field .white p {\n color: #ff5570;\n}\njb-text-field .counter {\n align-items: center;\n display: flex;\n justify-content: space-between;\n margin-block-start: var(--spacing-base);\n width: 100%;\n}\njb-text-field .counter > span:first-of-type {\n opacity: 0.7;\n}`;\n\n// src/components/jb-text-field/jb-text-field.ts\nvar JbTextField = class extends Initiable(FormElement(h)) {\n constructor() {\n super(...arguments);\n this._currentLength = 0;\n this._showEmailError = false;\n }\n connectedCallback() {\n super.connectedCallback();\n applyStyles(this, jb_text_field_default);\n }\n createRenderRoot() {\n return this;\n }\n validate() {\n let valid = super.validate();\n if (valid && this.type === \"email\") {\n this._showEmailError = this.value === \"\" && this.requiredText === \"\" ? false : !this.validateEmail();\n valid = !this._showEmailError;\n }\n return valid;\n }\n validateEmail() {\n const re = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n return re.test(String(this.value).toLowerCase());\n }\n _handleInputChange(e) {\n this.value = e.target.value;\n this._currentLength = this.value.length;\n this.validate();\n }\n render() {\n return ke`\n
    \n {\n if (!this.maxLength) return;\n this._currentLength = evt.currentTarget.value.length;\n }}\n />\n ${this.maxLength ? ke`
    \n ${this.maxLengthText ?? D}${this._currentLength} / ${this.maxLength}\n
    ` : D}\n \n ${this.showError || this.errorText || this._showEmailError ? ke`

    \n ${this.showError ? ke`${this.requiredText}` : D}\n ${this.errorText ? ke`${this.errorText}` : D}\n ${!this.showError && this._showEmailError ? ke`${this.emailErrorText}` : D}\n

    ` : D}\n
    \n `;\n }\n};\nJbTextField.styles = r(jb_text_field_default);\n__decorateClass([\n n()\n], JbTextField.prototype, \"autocomplete\", 2);\n__decorateClass([\n n()\n], JbTextField.prototype, \"emailErrorText\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbTextField.prototype, \"isWhite\", 2);\n__decorateClass([\n n({ type: Number })\n], JbTextField.prototype, \"maxLength\", 2);\n__decorateClass([\n n()\n], JbTextField.prototype, \"maxLengthText\", 2);\n__decorateClass([\n n()\n], JbTextField.prototype, \"placeholder\", 2);\n__decorateClass([\n n()\n], JbTextField.prototype, \"type\", 2);\n__decorateClass([\n r2()\n], JbTextField.prototype, \"_currentLength\", 2);\n__decorateClass([\n r2()\n], JbTextField.prototype, \"_showEmailError\", 2);\nJbTextField = __decorateClass([\n customElement(\"jb-text-field\")\n], JbTextField);\n\nexport {\n JbTextField\n};\n", "import {\n FormElement\n} from \"./chunk.UTVDNTSP.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-radio/jb-radio.scss?inline\nvar jb_radio_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\np.error, .radios label, .main {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.radios label, .main {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\n.error label,\n.error label.main {\n color: #971b2f;\n}\n.error input {\n border-bottom: 1px solid #971b2f;\n}\n.error input::placeholder {\n color: #971b2f;\n}\n.error .radios p {\n color: #971b2f;\n}\n.error .radios p::after {\n border-color: #971b2f;\n}\n.error .radios p::before {\n border-color: #971b2f;\n}\n\n.disabled {\n opacity: 0.4;\n}\n\n.main {\n display: inline-block;\n flex-basis: 100%;\n margin-bottom: var(--spacing-xs);\n}\n\n.radios {\n display: flex;\n gap: 0 var(--spacing-sm);\n}\n.radios label {\n color: rgba(20, 30, 85, var(--theme-opacity-80, 0.8));\n display: inline-block;\n position: relative;\n user-select: none;\n}\n.radios label:hover {\n cursor: pointer;\n}\n.radios label p {\n align-items: center;\n display: flex;\n}\n.radios label p::before {\n border: 1px solid #141e55;\n border-radius: 50%;\n content: \"\";\n display: inline-block;\n height: 28px;\n margin-right: var(--spacing-2xs);\n width: 28px;\n}\n.radios label p::after {\n border: 1px solid rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n border-radius: 50%;\n content: \"\";\n height: 10px;\n left: 9px;\n position: absolute;\n width: 10px;\n}\n.radios label input:checked + p {\n color: #141e55;\n}\n\np.error {\n color: #971b2f;\n display: block;\n flex-basis: 100%;\n margin-top: 10px;\n position: relative;\n font-size: 13px;\n font-size: 0.8125rem;\n line-height: 20px;\n line-height: 1.25rem;\n}\np.error [data-error-code] {\n display: none;\n}\np.error [data-force-initial-display] {\n display: block;\n}\n\ninput {\n display: none;\n}\ninput:checked + p::after {\n background-color: #141e55;\n}`;\n\n// src/components/jb-radio/jb-radio.ts\nvar JbRadio = class extends Initiable(FormElement(h)) {\n _handleInputChange(e) {\n this.value = e.target.value;\n }\n render() {\n return ke`\n
    \n ${this.label ? ke`` : D}\n
    \n ${this.options.map(\n (option) => ke`\n \n `\n )}\n
    \n ${this.showError ? ke`

    ${this.requiredText}

    ` : D}\n ${this.errorText ? ke`

    ${this.errorText}

    ` : D}\n
    \n `;\n }\n};\nJbRadio.styles = r(jb_radio_default);\n__decorateClass([\n n({ type: Array })\n], JbRadio.prototype, \"options\", 2);\nJbRadio = __decorateClass([\n customElement(\"jb-radio\")\n], JbRadio);\n\nexport {\n JbRadio\n};\n", "import {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r as r2,\n r2 as r3\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-multi-checkbox/jb-multi-checkbox.scss?inline\nvar jb_multi_checkbox_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\np.error, p:not(.error) {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\np:not(.error) {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\n\np.error {\n font-size: var(--theme-typo-p-mini-desktop-fontsize, 0.813rem);\n line-height: var(--theme-typo-p-mini-desktop-lineheight, 1.25rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\np:not(.error) {\n margin-block-end: var(--spacing-xs);\n}\n\njb-checkbox:not(:last-child) {\n margin-block-end: var(--spacing-xs);\n}\n\np.error {\n color: #971b2f;\n display: block;\n margin-block-start: var(--spacing-xs);\n}\np.error [data-error-code] {\n display: none;\n}\np.error [data-force-initial-display] {\n display: block;\n}`;\n\n// src/components/jb-multi-checkbox/jb-multi-checkbox.ts\nvar JbMultiCheckbox = class extends Initiable(h) {\n constructor() {\n super(...arguments);\n this.minimumChecks = 0;\n this.showError = false;\n }\n appendFormData(formDataEvent) {\n const values = [...this._checkboxes].filter((el) => el.isChecked()).map((el) => el.value);\n values.forEach((value) => formDataEvent.formData.append(this.name + \"[]\", value));\n }\n validate() {\n const checkedAmount = [...this._checkboxes].filter((el) => el.isChecked()).length;\n const valid = checkedAmount >= this.minimumChecks;\n this.showError = !valid;\n return valid;\n }\n render() {\n return ke`\n
    \n

    ${this.label}${this.minimumChecks > 0 ? \"*\" : \"\"}

    \n ${this.options.map(\n (option) => ke`\n \n `\n )}\n ${this.showError ? ke`

    ${this.requiredText}

    ` : D}\n
    \n `;\n }\n};\nJbMultiCheckbox.styles = r(jb_multi_checkbox_default);\n__decorateClass([\n n()\n], JbMultiCheckbox.prototype, \"label\", 2);\n__decorateClass([\n n({ type: Number })\n], JbMultiCheckbox.prototype, \"minimumChecks\", 2);\n__decorateClass([\n n()\n], JbMultiCheckbox.prototype, \"name\", 2);\n__decorateClass([\n n({ type: Array })\n], JbMultiCheckbox.prototype, \"options\", 2);\n__decorateClass([\n n()\n], JbMultiCheckbox.prototype, \"requiredText\", 2);\n__decorateClass([\n r2()\n], JbMultiCheckbox.prototype, \"showError\", 2);\n__decorateClass([\n r3(\"jb-checkbox\")\n], JbMultiCheckbox.prototype, \"_checkboxes\", 2);\nJbMultiCheckbox = __decorateClass([\n customElement(\"jb-multi-checkbox\")\n], JbMultiCheckbox);\n\nexport {\n JbMultiCheckbox\n};\n", "import {\n ae\n} from \"./chunk.Q25FCJRM.js\";\nimport {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n JBCookie\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-info-box/jb-info-box.scss?inline\nvar jb_info_box_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nh2 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh2 {\n font-size: var(--theme-typo-h2-subtitle-mobile-fontsize, 1.625rem);\n line-height: var(--theme-typo-h2-subtitle-mobile-lineheight, 2.188rem);\n}\n@media (min-width: 1281px) {\n h2 {\n font-size: var(--theme-typo-h2-subtitle-desktop-fontsize, 1.938rem);\n line-height: var(--theme-typo-h2-subtitle-desktop-lineheight, 2.625rem);\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\nh2 {\n margin-block-end: var(--spacing-xs);\n}\n\ndiv {\n border: 1px solid transparent;\n box-sizing: border-box;\n padding: var(--spacing-m);\n}\n\n.isbordered {\n border-color: rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n}\n\n.bg-royalblue-light {\n background-color: rgb(231, 232, 238);\n}\n\n.bg-smoke-light {\n background-color: #f1f2f2;\n}\n\n.bg-stone-light {\n background-color: #f7f7f2;\n}\n\njb-button-secondary {\n inline-size: 100%;\n margin-block-start: var(--spacing-lm);\n}\n@media (min-width: 960px) {\n jb-button-secondary {\n inline-size: auto;\n }\n}\n\n.in-text {\n background-color: #f7f7f2;\n border: 0;\n}\n.in-text jb-richtext {\n --textarea-paragraph-margin-bottom: 0;\n}`;\n\n// src/components/jb-info-box/jb-info-box.ts\nvar JbInfoBox = class extends Initiable(Spaceable(h)) {\n constructor() {\n super(...arguments);\n this.isInText = false;\n }\n firstUpdated() {\n if (this.countryCondition && this.countryCondition.toLowerCase() !== JBCookie.getI18nCookieData().country.toLowerCase()) {\n this.style.setProperty(\"display\", \"none\");\n }\n }\n _getContentSpacingProperties() {\n return { type: \"text\" };\n }\n _tracking(e) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e, {\n component_name: \"info-box\"\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n }\n render() {\n return ke`\n \n ${this.headline ? ke`

    ${this.headline}

    ` : D}\n ${ae(this.content)}\n ${this.button ? ke`${this.buttonText}` : D}\n \n `;\n }\n};\nJbInfoBox.styles = r(jb_info_box_default);\n__decorateClass([\n n()\n], JbInfoBox.prototype, \"background\", 2);\n__decorateClass([\n n({ type: Object })\n], JbInfoBox.prototype, \"button\", 2);\n__decorateClass([\n n()\n], JbInfoBox.prototype, \"buttonText\", 2);\n__decorateClass([\n n()\n], JbInfoBox.prototype, \"content\", 2);\n__decorateClass([\n n()\n], JbInfoBox.prototype, \"countryCondition\", 2);\n__decorateClass([\n n()\n], JbInfoBox.prototype, \"headline\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbInfoBox.prototype, \"isInText\", 2);\nJbInfoBox = __decorateClass([\n customElement(\"jb-info-box\")\n], JbInfoBox);\n\nexport {\n JbInfoBox\n};\n", "import {\n FormElement\n} from \"./chunk.UTVDNTSP.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// node_modules/flatpickr/dist/esm/types/options.js\nvar HOOKS = [\n \"onChange\",\n \"onClose\",\n \"onDayCreate\",\n \"onDestroy\",\n \"onKeyDown\",\n \"onMonthChange\",\n \"onOpen\",\n \"onParseConfig\",\n \"onReady\",\n \"onValueUpdate\",\n \"onYearChange\",\n \"onPreCalendarPosition\"\n];\nvar defaults = {\n _disable: [],\n allowInput: false,\n allowInvalidPreload: false,\n altFormat: \"F j, Y\",\n altInput: false,\n altInputClass: \"form-control input\",\n animate: typeof window === \"object\" && window.navigator.userAgent.indexOf(\"MSIE\") === -1,\n ariaDateFormat: \"F j, Y\",\n autoFillDefaultTime: true,\n clickOpens: true,\n closeOnSelect: true,\n conjunction: \", \",\n dateFormat: \"Y-m-d\",\n defaultHour: 12,\n defaultMinute: 0,\n defaultSeconds: 0,\n disable: [],\n disableMobile: false,\n enableSeconds: false,\n enableTime: false,\n errorHandler: function(err) {\n return typeof console !== \"undefined\" && console.warn(err);\n },\n getWeek: function(givenDate) {\n var date = new Date(givenDate.getTime());\n date.setHours(0, 0, 0, 0);\n date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7);\n var week1 = new Date(date.getFullYear(), 0, 4);\n return 1 + Math.round(((date.getTime() - week1.getTime()) / 864e5 - 3 + (week1.getDay() + 6) % 7) / 7);\n },\n hourIncrement: 1,\n ignoredFocusElements: [],\n inline: false,\n locale: \"default\",\n minuteIncrement: 5,\n mode: \"single\",\n monthSelectorType: \"dropdown\",\n nextArrow: \"\",\n noCalendar: false,\n now: /* @__PURE__ */ new Date(),\n onChange: [],\n onClose: [],\n onDayCreate: [],\n onDestroy: [],\n onKeyDown: [],\n onMonthChange: [],\n onOpen: [],\n onParseConfig: [],\n onReady: [],\n onValueUpdate: [],\n onYearChange: [],\n onPreCalendarPosition: [],\n plugins: [],\n position: \"auto\",\n positionElement: void 0,\n prevArrow: \"\",\n shorthandCurrentMonth: false,\n showMonths: 1,\n static: false,\n time_24hr: false,\n weekNumbers: false,\n wrap: false\n};\n\n// node_modules/flatpickr/dist/esm/l10n/default.js\nvar english = {\n weekdays: {\n shorthand: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n longhand: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n ]\n },\n months: {\n shorthand: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n ],\n longhand: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ]\n },\n daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n firstDayOfWeek: 0,\n ordinal: function(nth) {\n var s = nth % 100;\n if (s > 3 && s < 21)\n return \"th\";\n switch (s % 10) {\n case 1:\n return \"st\";\n case 2:\n return \"nd\";\n case 3:\n return \"rd\";\n default:\n return \"th\";\n }\n },\n rangeSeparator: \" to \",\n weekAbbreviation: \"Wk\",\n scrollTitle: \"Scroll to increment\",\n toggleTitle: \"Click to toggle\",\n amPM: [\"AM\", \"PM\"],\n yearAriaLabel: \"Year\",\n monthAriaLabel: \"Month\",\n hourAriaLabel: \"Hour\",\n minuteAriaLabel: \"Minute\",\n time_24hr: false\n};\nvar default_default = english;\n\n// node_modules/flatpickr/dist/esm/utils/index.js\nvar pad = function(number, length) {\n if (length === void 0) {\n length = 2;\n }\n return (\"000\" + number).slice(length * -1);\n};\nvar int = function(bool) {\n return bool === true ? 1 : 0;\n};\nfunction debounce(fn, wait) {\n var t;\n return function() {\n var _this = this;\n var args = arguments;\n clearTimeout(t);\n t = setTimeout(function() {\n return fn.apply(_this, args);\n }, wait);\n };\n}\nvar arrayify = function(obj) {\n return obj instanceof Array ? obj : [obj];\n};\n\n// node_modules/flatpickr/dist/esm/utils/dom.js\nfunction toggleClass(elem, className, bool) {\n if (bool === true)\n return elem.classList.add(className);\n elem.classList.remove(className);\n}\nfunction createElement(tag, className, content) {\n var e2 = window.document.createElement(tag);\n className = className || \"\";\n content = content || \"\";\n e2.className = className;\n if (content !== void 0)\n e2.textContent = content;\n return e2;\n}\nfunction clearNode(node) {\n while (node.firstChild)\n node.removeChild(node.firstChild);\n}\nfunction findParent(node, condition) {\n if (condition(node))\n return node;\n else if (node.parentNode)\n return findParent(node.parentNode, condition);\n return void 0;\n}\nfunction createNumberInput(inputClassName, opts) {\n var wrapper = createElement(\"div\", \"numInputWrapper\"), numInput = createElement(\"input\", \"numInput \" + inputClassName), arrowUp = createElement(\"span\", \"arrowUp\"), arrowDown = createElement(\"span\", \"arrowDown\");\n if (navigator.userAgent.indexOf(\"MSIE 9.0\") === -1) {\n numInput.type = \"number\";\n } else {\n numInput.type = \"text\";\n numInput.pattern = \"\\\\d*\";\n }\n if (opts !== void 0)\n for (var key in opts)\n numInput.setAttribute(key, opts[key]);\n wrapper.appendChild(numInput);\n wrapper.appendChild(arrowUp);\n wrapper.appendChild(arrowDown);\n return wrapper;\n}\nfunction getEventTarget(event) {\n try {\n if (typeof event.composedPath === \"function\") {\n var path = event.composedPath();\n return path[0];\n }\n return event.target;\n } catch (error) {\n return event.target;\n }\n}\n\n// node_modules/flatpickr/dist/esm/utils/formatting.js\nvar doNothing = function() {\n return void 0;\n};\nvar monthToStr = function(monthNumber, shorthand, locale) {\n return locale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber];\n};\nvar revFormat = {\n D: doNothing,\n F: function(dateObj, monthName, locale) {\n dateObj.setMonth(locale.months.longhand.indexOf(monthName));\n },\n G: function(dateObj, hour) {\n dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));\n },\n H: function(dateObj, hour) {\n dateObj.setHours(parseFloat(hour));\n },\n J: function(dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n K: function(dateObj, amPM, locale) {\n dateObj.setHours(dateObj.getHours() % 12 + 12 * int(new RegExp(locale.amPM[1], \"i\").test(amPM)));\n },\n M: function(dateObj, shortMonth, locale) {\n dateObj.setMonth(locale.months.shorthand.indexOf(shortMonth));\n },\n S: function(dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n U: function(_, unixSeconds) {\n return new Date(parseFloat(unixSeconds) * 1e3);\n },\n W: function(dateObj, weekNum, locale) {\n var weekNumber = parseInt(weekNum);\n var date = new Date(dateObj.getFullYear(), 0, 2 + (weekNumber - 1) * 7, 0, 0, 0, 0);\n date.setDate(date.getDate() - date.getDay() + locale.firstDayOfWeek);\n return date;\n },\n Y: function(dateObj, year) {\n dateObj.setFullYear(parseFloat(year));\n },\n Z: function(_, ISODate) {\n return new Date(ISODate);\n },\n d: function(dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n h: function(dateObj, hour) {\n dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));\n },\n i: function(dateObj, minutes) {\n dateObj.setMinutes(parseFloat(minutes));\n },\n j: function(dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n l: doNothing,\n m: function(dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n n: function(dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n s: function(dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n u: function(_, unixMillSeconds) {\n return new Date(parseFloat(unixMillSeconds));\n },\n w: doNothing,\n y: function(dateObj, year) {\n dateObj.setFullYear(2e3 + parseFloat(year));\n }\n};\nvar tokenRegex = {\n D: \"\",\n F: \"\",\n G: \"(\\\\d\\\\d|\\\\d)\",\n H: \"(\\\\d\\\\d|\\\\d)\",\n J: \"(\\\\d\\\\d|\\\\d)\\\\w+\",\n K: \"\",\n M: \"\",\n S: \"(\\\\d\\\\d|\\\\d)\",\n U: \"(.+)\",\n W: \"(\\\\d\\\\d|\\\\d)\",\n Y: \"(\\\\d{4})\",\n Z: \"(.+)\",\n d: \"(\\\\d\\\\d|\\\\d)\",\n h: \"(\\\\d\\\\d|\\\\d)\",\n i: \"(\\\\d\\\\d|\\\\d)\",\n j: \"(\\\\d\\\\d|\\\\d)\",\n l: \"\",\n m: \"(\\\\d\\\\d|\\\\d)\",\n n: \"(\\\\d\\\\d|\\\\d)\",\n s: \"(\\\\d\\\\d|\\\\d)\",\n u: \"(.+)\",\n w: \"(\\\\d\\\\d|\\\\d)\",\n y: \"(\\\\d{2})\"\n};\nvar formats = {\n Z: function(date) {\n return date.toISOString();\n },\n D: function(date, locale, options) {\n return locale.weekdays.shorthand[formats.w(date, locale, options)];\n },\n F: function(date, locale, options) {\n return monthToStr(formats.n(date, locale, options) - 1, false, locale);\n },\n G: function(date, locale, options) {\n return pad(formats.h(date, locale, options));\n },\n H: function(date) {\n return pad(date.getHours());\n },\n J: function(date, locale) {\n return locale.ordinal !== void 0 ? date.getDate() + locale.ordinal(date.getDate()) : date.getDate();\n },\n K: function(date, locale) {\n return locale.amPM[int(date.getHours() > 11)];\n },\n M: function(date, locale) {\n return monthToStr(date.getMonth(), true, locale);\n },\n S: function(date) {\n return pad(date.getSeconds());\n },\n U: function(date) {\n return date.getTime() / 1e3;\n },\n W: function(date, _, options) {\n return options.getWeek(date);\n },\n Y: function(date) {\n return pad(date.getFullYear(), 4);\n },\n d: function(date) {\n return pad(date.getDate());\n },\n h: function(date) {\n return date.getHours() % 12 ? date.getHours() % 12 : 12;\n },\n i: function(date) {\n return pad(date.getMinutes());\n },\n j: function(date) {\n return date.getDate();\n },\n l: function(date, locale) {\n return locale.weekdays.longhand[date.getDay()];\n },\n m: function(date) {\n return pad(date.getMonth() + 1);\n },\n n: function(date) {\n return date.getMonth() + 1;\n },\n s: function(date) {\n return date.getSeconds();\n },\n u: function(date) {\n return date.getTime();\n },\n w: function(date) {\n return date.getDay();\n },\n y: function(date) {\n return String(date.getFullYear()).substring(2);\n }\n};\n\n// node_modules/flatpickr/dist/esm/utils/dates.js\nvar createDateFormatter = function(_a) {\n var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c, _d = _a.isMobile, isMobile = _d === void 0 ? false : _d;\n return function(dateObj, frmt, overrideLocale) {\n var locale = overrideLocale || l10n;\n if (config.formatDate !== void 0 && !isMobile) {\n return config.formatDate(dateObj, frmt, locale);\n }\n return frmt.split(\"\").map(function(c, i2, arr) {\n return formats[c] && arr[i2 - 1] !== \"\\\\\" ? formats[c](dateObj, locale, config) : c !== \"\\\\\" ? c : \"\";\n }).join(\"\");\n };\n};\nvar createDateParser = function(_a) {\n var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c;\n return function(date, givenFormat, timeless, customLocale) {\n if (date !== 0 && !date)\n return void 0;\n var locale = customLocale || l10n;\n var parsedDate;\n var dateOrig = date;\n if (date instanceof Date)\n parsedDate = new Date(date.getTime());\n else if (typeof date !== \"string\" && date.toFixed !== void 0)\n parsedDate = new Date(date);\n else if (typeof date === \"string\") {\n var format = givenFormat || (config || defaults).dateFormat;\n var datestr = String(date).trim();\n if (datestr === \"today\") {\n parsedDate = /* @__PURE__ */ new Date();\n timeless = true;\n } else if (config && config.parseDate) {\n parsedDate = config.parseDate(date, format);\n } else if (/Z$/.test(datestr) || /GMT$/.test(datestr)) {\n parsedDate = new Date(date);\n } else {\n var matched = void 0, ops = [];\n for (var i2 = 0, matchIndex = 0, regexStr = \"\"; i2 < format.length; i2++) {\n var token = format[i2];\n var isBackSlash = token === \"\\\\\";\n var escaped = format[i2 - 1] === \"\\\\\" || isBackSlash;\n if (tokenRegex[token] && !escaped) {\n regexStr += tokenRegex[token];\n var match = new RegExp(regexStr).exec(date);\n if (match && (matched = true)) {\n ops[token !== \"Y\" ? \"push\" : \"unshift\"]({\n fn: revFormat[token],\n val: match[++matchIndex]\n });\n }\n } else if (!isBackSlash)\n regexStr += \".\";\n }\n parsedDate = !config || !config.noCalendar ? new Date((/* @__PURE__ */ new Date()).getFullYear(), 0, 1, 0, 0, 0, 0) : new Date((/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0));\n ops.forEach(function(_a2) {\n var fn = _a2.fn, val = _a2.val;\n return parsedDate = fn(parsedDate, val, locale) || parsedDate;\n });\n parsedDate = matched ? parsedDate : void 0;\n }\n }\n if (!(parsedDate instanceof Date && !isNaN(parsedDate.getTime()))) {\n config.errorHandler(new Error(\"Invalid date provided: \" + dateOrig));\n return void 0;\n }\n if (timeless === true)\n parsedDate.setHours(0, 0, 0, 0);\n return parsedDate;\n };\n};\nfunction compareDates(date1, date2, timeless) {\n if (timeless === void 0) {\n timeless = true;\n }\n if (timeless !== false) {\n return new Date(date1.getTime()).setHours(0, 0, 0, 0) - new Date(date2.getTime()).setHours(0, 0, 0, 0);\n }\n return date1.getTime() - date2.getTime();\n}\nvar isBetween = function(ts, ts1, ts2) {\n return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2);\n};\nvar calculateSecondsSinceMidnight = function(hours, minutes, seconds) {\n return hours * 3600 + minutes * 60 + seconds;\n};\nvar parseSeconds = function(secondsSinceMidnight) {\n var hours = Math.floor(secondsSinceMidnight / 3600), minutes = (secondsSinceMidnight - hours * 3600) / 60;\n return [hours, minutes, secondsSinceMidnight - hours * 3600 - minutes * 60];\n};\nvar duration = {\n DAY: 864e5\n};\nfunction getDefaultHours(config) {\n var hours = config.defaultHour;\n var minutes = config.defaultMinute;\n var seconds = config.defaultSeconds;\n if (config.minDate !== void 0) {\n var minHour = config.minDate.getHours();\n var minMinutes = config.minDate.getMinutes();\n var minSeconds = config.minDate.getSeconds();\n if (hours < minHour) {\n hours = minHour;\n }\n if (hours === minHour && minutes < minMinutes) {\n minutes = minMinutes;\n }\n if (hours === minHour && minutes === minMinutes && seconds < minSeconds)\n seconds = config.minDate.getSeconds();\n }\n if (config.maxDate !== void 0) {\n var maxHr = config.maxDate.getHours();\n var maxMinutes = config.maxDate.getMinutes();\n hours = Math.min(hours, maxHr);\n if (hours === maxHr)\n minutes = Math.min(maxMinutes, minutes);\n if (hours === maxHr && minutes === maxMinutes)\n seconds = config.maxDate.getSeconds();\n }\n return { hours, minutes, seconds };\n}\n\n// node_modules/flatpickr/dist/esm/utils/polyfills.js\nif (typeof Object.assign !== \"function\") {\n Object.assign = function(target) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!target) {\n throw TypeError(\"Cannot convert undefined or null to object\");\n }\n var _loop_1 = function(source2) {\n if (source2) {\n Object.keys(source2).forEach(function(key) {\n return target[key] = source2[key];\n });\n }\n };\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var source = args_1[_a];\n _loop_1(source);\n }\n return target;\n };\n}\n\n// node_modules/flatpickr/dist/esm/index.js\nvar __assign = function() {\n __assign = Object.assign || function(t) {\n for (var s, i2 = 1, n2 = arguments.length; i2 < n2; i2++) {\n s = arguments[i2];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = function() {\n for (var s = 0, i2 = 0, il = arguments.length; i2 < il; i2++) s += arguments[i2].length;\n for (var r2 = Array(s), k = 0, i2 = 0; i2 < il; i2++)\n for (var a = arguments[i2], j = 0, jl = a.length; j < jl; j++, k++)\n r2[k] = a[j];\n return r2;\n};\nvar DEBOUNCED_CHANGE_MS = 300;\nfunction FlatpickrInstance(element, instanceConfig) {\n var self = {\n config: __assign(__assign({}, defaults), flatpickr.defaultConfig),\n l10n: default_default\n };\n self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n self._handlers = [];\n self.pluginElements = [];\n self.loadedPlugins = [];\n self._bind = bind;\n self._setHoursFromDate = setHoursFromDate;\n self._positionCalendar = positionCalendar;\n self.changeMonth = changeMonth;\n self.changeYear = changeYear;\n self.clear = clear;\n self.close = close;\n self.onMouseOver = onMouseOver;\n self._createElement = createElement;\n self.createDay = createDay;\n self.destroy = destroy;\n self.isEnabled = isEnabled;\n self.jumpToDate = jumpToDate;\n self.updateValue = updateValue;\n self.open = open;\n self.redraw = redraw;\n self.set = set;\n self.setDate = setDate;\n self.toggle = toggle;\n function setupHelperFunctions() {\n self.utils = {\n getDaysInMonth: function(month, yr) {\n if (month === void 0) {\n month = self.currentMonth;\n }\n if (yr === void 0) {\n yr = self.currentYear;\n }\n if (month === 1 && (yr % 4 === 0 && yr % 100 !== 0 || yr % 400 === 0))\n return 29;\n return self.l10n.daysInMonth[month];\n }\n };\n }\n function init() {\n self.element = self.input = element;\n self.isOpen = false;\n parseConfig();\n setupLocale();\n setupInputs();\n setupDates();\n setupHelperFunctions();\n if (!self.isMobile)\n build();\n bindEvents();\n if (self.selectedDates.length || self.config.noCalendar) {\n if (self.config.enableTime) {\n setHoursFromDate(self.config.noCalendar ? self.latestSelectedDateObj : void 0);\n }\n updateValue(false);\n }\n setCalendarWidth();\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n if (!self.isMobile && isSafari) {\n positionCalendar();\n }\n triggerEvent(\"onReady\");\n }\n function getClosestActiveElement() {\n var _a;\n return ((_a = self.calendarContainer) === null || _a === void 0 ? void 0 : _a.getRootNode()).activeElement || document.activeElement;\n }\n function bindToInstance(fn) {\n return fn.bind(self);\n }\n function setCalendarWidth() {\n var config = self.config;\n if (config.weekNumbers === false && config.showMonths === 1) {\n return;\n } else if (config.noCalendar !== true) {\n window.requestAnimationFrame(function() {\n if (self.calendarContainer !== void 0) {\n self.calendarContainer.style.visibility = \"hidden\";\n self.calendarContainer.style.display = \"block\";\n }\n if (self.daysContainer !== void 0) {\n var daysWidth = (self.days.offsetWidth + 1) * config.showMonths;\n self.daysContainer.style.width = daysWidth + \"px\";\n self.calendarContainer.style.width = daysWidth + (self.weekWrapper !== void 0 ? self.weekWrapper.offsetWidth : 0) + \"px\";\n self.calendarContainer.style.removeProperty(\"visibility\");\n self.calendarContainer.style.removeProperty(\"display\");\n }\n });\n }\n }\n function updateTime(e2) {\n if (self.selectedDates.length === 0) {\n var defaultDate = self.config.minDate === void 0 || compareDates(/* @__PURE__ */ new Date(), self.config.minDate) >= 0 ? /* @__PURE__ */ new Date() : new Date(self.config.minDate.getTime());\n var defaults2 = getDefaultHours(self.config);\n defaultDate.setHours(defaults2.hours, defaults2.minutes, defaults2.seconds, defaultDate.getMilliseconds());\n self.selectedDates = [defaultDate];\n self.latestSelectedDateObj = defaultDate;\n }\n if (e2 !== void 0 && e2.type !== \"blur\") {\n timeWrapper(e2);\n }\n var prevValue = self._input.value;\n setHoursFromInputs();\n updateValue();\n if (self._input.value !== prevValue) {\n self._debouncedChange();\n }\n }\n function ampm2military(hour, amPM) {\n return hour % 12 + 12 * int(amPM === self.l10n.amPM[1]);\n }\n function military2ampm(hour) {\n switch (hour % 24) {\n case 0:\n case 12:\n return 12;\n default:\n return hour % 12;\n }\n }\n function setHoursFromInputs() {\n if (self.hourElement === void 0 || self.minuteElement === void 0)\n return;\n var hours = (parseInt(self.hourElement.value.slice(-2), 10) || 0) % 24, minutes = (parseInt(self.minuteElement.value, 10) || 0) % 60, seconds = self.secondElement !== void 0 ? (parseInt(self.secondElement.value, 10) || 0) % 60 : 0;\n if (self.amPM !== void 0) {\n hours = ampm2military(hours, self.amPM.textContent);\n }\n var limitMinHours = self.config.minTime !== void 0 || self.config.minDate && self.minDateHasTime && self.latestSelectedDateObj && compareDates(self.latestSelectedDateObj, self.config.minDate, true) === 0;\n var limitMaxHours = self.config.maxTime !== void 0 || self.config.maxDate && self.maxDateHasTime && self.latestSelectedDateObj && compareDates(self.latestSelectedDateObj, self.config.maxDate, true) === 0;\n if (self.config.maxTime !== void 0 && self.config.minTime !== void 0 && self.config.minTime > self.config.maxTime) {\n var minBound = calculateSecondsSinceMidnight(self.config.minTime.getHours(), self.config.minTime.getMinutes(), self.config.minTime.getSeconds());\n var maxBound = calculateSecondsSinceMidnight(self.config.maxTime.getHours(), self.config.maxTime.getMinutes(), self.config.maxTime.getSeconds());\n var currentTime = calculateSecondsSinceMidnight(hours, minutes, seconds);\n if (currentTime > maxBound && currentTime < minBound) {\n var result = parseSeconds(minBound);\n hours = result[0];\n minutes = result[1];\n seconds = result[2];\n }\n } else {\n if (limitMaxHours) {\n var maxTime = self.config.maxTime !== void 0 ? self.config.maxTime : self.config.maxDate;\n hours = Math.min(hours, maxTime.getHours());\n if (hours === maxTime.getHours())\n minutes = Math.min(minutes, maxTime.getMinutes());\n if (minutes === maxTime.getMinutes())\n seconds = Math.min(seconds, maxTime.getSeconds());\n }\n if (limitMinHours) {\n var minTime = self.config.minTime !== void 0 ? self.config.minTime : self.config.minDate;\n hours = Math.max(hours, minTime.getHours());\n if (hours === minTime.getHours() && minutes < minTime.getMinutes())\n minutes = minTime.getMinutes();\n if (minutes === minTime.getMinutes())\n seconds = Math.max(seconds, minTime.getSeconds());\n }\n }\n setHours(hours, minutes, seconds);\n }\n function setHoursFromDate(dateObj) {\n var date = dateObj || self.latestSelectedDateObj;\n if (date && date instanceof Date) {\n setHours(date.getHours(), date.getMinutes(), date.getSeconds());\n }\n }\n function setHours(hours, minutes, seconds) {\n if (self.latestSelectedDateObj !== void 0) {\n self.latestSelectedDateObj.setHours(hours % 24, minutes, seconds || 0, 0);\n }\n if (!self.hourElement || !self.minuteElement || self.isMobile)\n return;\n self.hourElement.value = pad(!self.config.time_24hr ? (12 + hours) % 12 + 12 * int(hours % 12 === 0) : hours);\n self.minuteElement.value = pad(minutes);\n if (self.amPM !== void 0)\n self.amPM.textContent = self.l10n.amPM[int(hours >= 12)];\n if (self.secondElement !== void 0)\n self.secondElement.value = pad(seconds);\n }\n function onYearInput(event) {\n var eventTarget = getEventTarget(event);\n var year = parseInt(eventTarget.value) + (event.delta || 0);\n if (year / 1e3 > 1 || event.key === \"Enter\" && !/[^\\d]/.test(year.toString())) {\n changeYear(year);\n }\n }\n function bind(element2, event, handler, options) {\n if (event instanceof Array)\n return event.forEach(function(ev) {\n return bind(element2, ev, handler, options);\n });\n if (element2 instanceof Array)\n return element2.forEach(function(el) {\n return bind(el, event, handler, options);\n });\n element2.addEventListener(event, handler, options);\n self._handlers.push({\n remove: function() {\n return element2.removeEventListener(event, handler, options);\n }\n });\n }\n function triggerChange() {\n triggerEvent(\"onChange\");\n }\n function bindEvents() {\n if (self.config.wrap) {\n [\"open\", \"close\", \"toggle\", \"clear\"].forEach(function(evt) {\n Array.prototype.forEach.call(self.element.querySelectorAll(\"[data-\" + evt + \"]\"), function(el) {\n return bind(el, \"click\", self[evt]);\n });\n });\n }\n if (self.isMobile) {\n setupMobile();\n return;\n }\n var debouncedResize = debounce(onResize, 50);\n self._debouncedChange = debounce(triggerChange, DEBOUNCED_CHANGE_MS);\n if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent))\n bind(self.daysContainer, \"mouseover\", function(e2) {\n if (self.config.mode === \"range\")\n onMouseOver(getEventTarget(e2));\n });\n bind(self._input, \"keydown\", onKeyDown);\n if (self.calendarContainer !== void 0) {\n bind(self.calendarContainer, \"keydown\", onKeyDown);\n }\n if (!self.config.inline && !self.config.static)\n bind(window, \"resize\", debouncedResize);\n if (window.ontouchstart !== void 0)\n bind(window.document, \"touchstart\", documentClick);\n else\n bind(window.document, \"mousedown\", documentClick);\n bind(window.document, \"focus\", documentClick, { capture: true });\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"click\", self.open);\n }\n if (self.daysContainer !== void 0) {\n bind(self.monthNav, \"click\", onMonthNavClick);\n bind(self.monthNav, [\"keyup\", \"increment\"], onYearInput);\n bind(self.daysContainer, \"click\", selectDate);\n }\n if (self.timeContainer !== void 0 && self.minuteElement !== void 0 && self.hourElement !== void 0) {\n var selText = function(e2) {\n return getEventTarget(e2).select();\n };\n bind(self.timeContainer, [\"increment\"], updateTime);\n bind(self.timeContainer, \"blur\", updateTime, { capture: true });\n bind(self.timeContainer, \"click\", timeIncrement);\n bind([self.hourElement, self.minuteElement], [\"focus\", \"click\"], selText);\n if (self.secondElement !== void 0)\n bind(self.secondElement, \"focus\", function() {\n return self.secondElement && self.secondElement.select();\n });\n if (self.amPM !== void 0) {\n bind(self.amPM, \"click\", function(e2) {\n updateTime(e2);\n });\n }\n }\n if (self.config.allowInput) {\n bind(self._input, \"blur\", onBlur);\n }\n }\n function jumpToDate(jumpDate, triggerChange2) {\n var jumpTo = jumpDate !== void 0 ? self.parseDate(jumpDate) : self.latestSelectedDateObj || (self.config.minDate && self.config.minDate > self.now ? self.config.minDate : self.config.maxDate && self.config.maxDate < self.now ? self.config.maxDate : self.now);\n var oldYear = self.currentYear;\n var oldMonth = self.currentMonth;\n try {\n if (jumpTo !== void 0) {\n self.currentYear = jumpTo.getFullYear();\n self.currentMonth = jumpTo.getMonth();\n }\n } catch (e2) {\n e2.message = \"Invalid date supplied: \" + jumpTo;\n self.config.errorHandler(e2);\n }\n if (triggerChange2 && self.currentYear !== oldYear) {\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n if (triggerChange2 && (self.currentYear !== oldYear || self.currentMonth !== oldMonth)) {\n triggerEvent(\"onMonthChange\");\n }\n self.redraw();\n }\n function timeIncrement(e2) {\n var eventTarget = getEventTarget(e2);\n if (~eventTarget.className.indexOf(\"arrow\"))\n incrementNumInput(e2, eventTarget.classList.contains(\"arrowUp\") ? 1 : -1);\n }\n function incrementNumInput(e2, delta, inputElem) {\n var target = e2 && getEventTarget(e2);\n var input = inputElem || target && target.parentNode && target.parentNode.firstChild;\n var event = createEvent(\"increment\");\n event.delta = delta;\n input && input.dispatchEvent(event);\n }\n function build() {\n var fragment = window.document.createDocumentFragment();\n self.calendarContainer = createElement(\"div\", \"flatpickr-calendar\");\n self.calendarContainer.tabIndex = -1;\n if (!self.config.noCalendar) {\n fragment.appendChild(buildMonthNav());\n self.innerContainer = createElement(\"div\", \"flatpickr-innerContainer\");\n if (self.config.weekNumbers) {\n var _a = buildWeeks(), weekWrapper = _a.weekWrapper, weekNumbers = _a.weekNumbers;\n self.innerContainer.appendChild(weekWrapper);\n self.weekNumbers = weekNumbers;\n self.weekWrapper = weekWrapper;\n }\n self.rContainer = createElement(\"div\", \"flatpickr-rContainer\");\n self.rContainer.appendChild(buildWeekdays());\n if (!self.daysContainer) {\n self.daysContainer = createElement(\"div\", \"flatpickr-days\");\n self.daysContainer.tabIndex = -1;\n }\n buildDays();\n self.rContainer.appendChild(self.daysContainer);\n self.innerContainer.appendChild(self.rContainer);\n fragment.appendChild(self.innerContainer);\n }\n if (self.config.enableTime) {\n fragment.appendChild(buildTime());\n }\n toggleClass(self.calendarContainer, \"rangeMode\", self.config.mode === \"range\");\n toggleClass(self.calendarContainer, \"animate\", self.config.animate === true);\n toggleClass(self.calendarContainer, \"multiMonth\", self.config.showMonths > 1);\n self.calendarContainer.appendChild(fragment);\n var customAppend = self.config.appendTo !== void 0 && self.config.appendTo.nodeType !== void 0;\n if (self.config.inline || self.config.static) {\n self.calendarContainer.classList.add(self.config.inline ? \"inline\" : \"static\");\n if (self.config.inline) {\n if (!customAppend && self.element.parentNode)\n self.element.parentNode.insertBefore(self.calendarContainer, self._input.nextSibling);\n else if (self.config.appendTo !== void 0)\n self.config.appendTo.appendChild(self.calendarContainer);\n }\n if (self.config.static) {\n var wrapper = createElement(\"div\", \"flatpickr-wrapper\");\n if (self.element.parentNode)\n self.element.parentNode.insertBefore(wrapper, self.element);\n wrapper.appendChild(self.element);\n if (self.altInput)\n wrapper.appendChild(self.altInput);\n wrapper.appendChild(self.calendarContainer);\n }\n }\n if (!self.config.static && !self.config.inline)\n (self.config.appendTo !== void 0 ? self.config.appendTo : window.document.body).appendChild(self.calendarContainer);\n }\n function createDay(className, date, _dayNumber, i2) {\n var dateIsEnabled = isEnabled(date, true), dayElement = createElement(\"span\", className, date.getDate().toString());\n dayElement.dateObj = date;\n dayElement.$i = i2;\n dayElement.setAttribute(\"aria-label\", self.formatDate(date, self.config.ariaDateFormat));\n if (className.indexOf(\"hidden\") === -1 && compareDates(date, self.now) === 0) {\n self.todayDateElem = dayElement;\n dayElement.classList.add(\"today\");\n dayElement.setAttribute(\"aria-current\", \"date\");\n }\n if (dateIsEnabled) {\n dayElement.tabIndex = -1;\n if (isDateSelected(date)) {\n dayElement.classList.add(\"selected\");\n self.selectedDateElem = dayElement;\n if (self.config.mode === \"range\") {\n toggleClass(dayElement, \"startRange\", self.selectedDates[0] && compareDates(date, self.selectedDates[0], true) === 0);\n toggleClass(dayElement, \"endRange\", self.selectedDates[1] && compareDates(date, self.selectedDates[1], true) === 0);\n if (className === \"nextMonthDay\")\n dayElement.classList.add(\"inRange\");\n }\n }\n } else {\n dayElement.classList.add(\"flatpickr-disabled\");\n }\n if (self.config.mode === \"range\") {\n if (isDateInRange(date) && !isDateSelected(date))\n dayElement.classList.add(\"inRange\");\n }\n if (self.weekNumbers && self.config.showMonths === 1 && className !== \"prevMonthDay\" && i2 % 7 === 6) {\n self.weekNumbers.insertAdjacentHTML(\"beforeend\", \"\" + self.config.getWeek(date) + \"\");\n }\n triggerEvent(\"onDayCreate\", dayElement);\n return dayElement;\n }\n function focusOnDayElem(targetNode) {\n targetNode.focus();\n if (self.config.mode === \"range\")\n onMouseOver(targetNode);\n }\n function getFirstAvailableDay(delta) {\n var startMonth = delta > 0 ? 0 : self.config.showMonths - 1;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n for (var m = startMonth; m != endMonth; m += delta) {\n var month = self.daysContainer.children[m];\n var startIndex = delta > 0 ? 0 : month.children.length - 1;\n var endIndex = delta > 0 ? month.children.length : -1;\n for (var i2 = startIndex; i2 != endIndex; i2 += delta) {\n var c = month.children[i2];\n if (c.className.indexOf(\"hidden\") === -1 && isEnabled(c.dateObj))\n return c;\n }\n }\n return void 0;\n }\n function getNextAvailableDay(current, delta) {\n var givenMonth = current.className.indexOf(\"Month\") === -1 ? current.dateObj.getMonth() : self.currentMonth;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n var loopDelta = delta > 0 ? 1 : -1;\n for (var m = givenMonth - self.currentMonth; m != endMonth; m += loopDelta) {\n var month = self.daysContainer.children[m];\n var startIndex = givenMonth - self.currentMonth === m ? current.$i + delta : delta < 0 ? month.children.length - 1 : 0;\n var numMonthDays = month.children.length;\n for (var i2 = startIndex; i2 >= 0 && i2 < numMonthDays && i2 != (delta > 0 ? numMonthDays : -1); i2 += loopDelta) {\n var c = month.children[i2];\n if (c.className.indexOf(\"hidden\") === -1 && isEnabled(c.dateObj) && Math.abs(current.$i - i2) >= Math.abs(delta))\n return focusOnDayElem(c);\n }\n }\n self.changeMonth(loopDelta);\n focusOnDay(getFirstAvailableDay(loopDelta), 0);\n return void 0;\n }\n function focusOnDay(current, offset) {\n var activeElement = getClosestActiveElement();\n var dayFocused = isInView(activeElement || document.body);\n var startElem = current !== void 0 ? current : dayFocused ? activeElement : self.selectedDateElem !== void 0 && isInView(self.selectedDateElem) ? self.selectedDateElem : self.todayDateElem !== void 0 && isInView(self.todayDateElem) ? self.todayDateElem : getFirstAvailableDay(offset > 0 ? 1 : -1);\n if (startElem === void 0) {\n self._input.focus();\n } else if (!dayFocused) {\n focusOnDayElem(startElem);\n } else {\n getNextAvailableDay(startElem, offset);\n }\n }\n function buildMonthDays(year, month) {\n var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7;\n var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12, year);\n var daysInMonth = self.utils.getDaysInMonth(month, year), days = window.document.createDocumentFragment(), isMultiMonth = self.config.showMonths > 1, prevMonthDayClass = isMultiMonth ? \"prevMonthDay hidden\" : \"prevMonthDay\", nextMonthDayClass = isMultiMonth ? \"nextMonthDay hidden\" : \"nextMonthDay\";\n var dayNumber = prevMonthDays + 1 - firstOfMonth, dayIndex = 0;\n for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day \" + prevMonthDayClass, new Date(year, month - 1, dayNumber), dayNumber, dayIndex));\n }\n for (dayNumber = 1; dayNumber <= daysInMonth; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day\", new Date(year, month, dayNumber), dayNumber, dayIndex));\n }\n for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth && (self.config.showMonths === 1 || dayIndex % 7 !== 0); dayNum++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day \" + nextMonthDayClass, new Date(year, month + 1, dayNum % daysInMonth), dayNum, dayIndex));\n }\n var dayContainer = createElement(\"div\", \"dayContainer\");\n dayContainer.appendChild(days);\n return dayContainer;\n }\n function buildDays() {\n if (self.daysContainer === void 0) {\n return;\n }\n clearNode(self.daysContainer);\n if (self.weekNumbers)\n clearNode(self.weekNumbers);\n var frag = document.createDocumentFragment();\n for (var i2 = 0; i2 < self.config.showMonths; i2++) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i2);\n frag.appendChild(buildMonthDays(d.getFullYear(), d.getMonth()));\n }\n self.daysContainer.appendChild(frag);\n self.days = self.daysContainer.firstChild;\n if (self.config.mode === \"range\" && self.selectedDates.length === 1) {\n onMouseOver();\n }\n }\n function buildMonthSwitch() {\n if (self.config.showMonths > 1 || self.config.monthSelectorType !== \"dropdown\")\n return;\n var shouldBuildMonth = function(month2) {\n if (self.config.minDate !== void 0 && self.currentYear === self.config.minDate.getFullYear() && month2 < self.config.minDate.getMonth()) {\n return false;\n }\n return !(self.config.maxDate !== void 0 && self.currentYear === self.config.maxDate.getFullYear() && month2 > self.config.maxDate.getMonth());\n };\n self.monthsDropdownContainer.tabIndex = -1;\n self.monthsDropdownContainer.innerHTML = \"\";\n for (var i2 = 0; i2 < 12; i2++) {\n if (!shouldBuildMonth(i2))\n continue;\n var month = createElement(\"option\", \"flatpickr-monthDropdown-month\");\n month.value = new Date(self.currentYear, i2).getMonth().toString();\n month.textContent = monthToStr(i2, self.config.shorthandCurrentMonth, self.l10n);\n month.tabIndex = -1;\n if (self.currentMonth === i2) {\n month.selected = true;\n }\n self.monthsDropdownContainer.appendChild(month);\n }\n }\n function buildMonth() {\n var container = createElement(\"div\", \"flatpickr-month\");\n var monthNavFragment = window.document.createDocumentFragment();\n var monthElement;\n if (self.config.showMonths > 1 || self.config.monthSelectorType === \"static\") {\n monthElement = createElement(\"span\", \"cur-month\");\n } else {\n self.monthsDropdownContainer = createElement(\"select\", \"flatpickr-monthDropdown-months\");\n self.monthsDropdownContainer.setAttribute(\"aria-label\", self.l10n.monthAriaLabel);\n bind(self.monthsDropdownContainer, \"change\", function(e2) {\n var target = getEventTarget(e2);\n var selectedMonth = parseInt(target.value, 10);\n self.changeMonth(selectedMonth - self.currentMonth);\n triggerEvent(\"onMonthChange\");\n });\n buildMonthSwitch();\n monthElement = self.monthsDropdownContainer;\n }\n var yearInput = createNumberInput(\"cur-year\", { tabindex: \"-1\" });\n var yearElement = yearInput.getElementsByTagName(\"input\")[0];\n yearElement.setAttribute(\"aria-label\", self.l10n.yearAriaLabel);\n if (self.config.minDate) {\n yearElement.setAttribute(\"min\", self.config.minDate.getFullYear().toString());\n }\n if (self.config.maxDate) {\n yearElement.setAttribute(\"max\", self.config.maxDate.getFullYear().toString());\n yearElement.disabled = !!self.config.minDate && self.config.minDate.getFullYear() === self.config.maxDate.getFullYear();\n }\n var currentMonth = createElement(\"div\", \"flatpickr-current-month\");\n currentMonth.appendChild(monthElement);\n currentMonth.appendChild(yearInput);\n monthNavFragment.appendChild(currentMonth);\n container.appendChild(monthNavFragment);\n return {\n container,\n yearElement,\n monthElement\n };\n }\n function buildMonths() {\n clearNode(self.monthNav);\n self.monthNav.appendChild(self.prevMonthNav);\n if (self.config.showMonths) {\n self.yearElements = [];\n self.monthElements = [];\n }\n for (var m = self.config.showMonths; m--; ) {\n var month = buildMonth();\n self.yearElements.push(month.yearElement);\n self.monthElements.push(month.monthElement);\n self.monthNav.appendChild(month.container);\n }\n self.monthNav.appendChild(self.nextMonthNav);\n }\n function buildMonthNav() {\n self.monthNav = createElement(\"div\", \"flatpickr-months\");\n self.yearElements = [];\n self.monthElements = [];\n self.prevMonthNav = createElement(\"span\", \"flatpickr-prev-month\");\n self.prevMonthNav.innerHTML = self.config.prevArrow;\n self.nextMonthNav = createElement(\"span\", \"flatpickr-next-month\");\n self.nextMonthNav.innerHTML = self.config.nextArrow;\n buildMonths();\n Object.defineProperty(self, \"_hidePrevMonthArrow\", {\n get: function() {\n return self.__hidePrevMonthArrow;\n },\n set: function(bool) {\n if (self.__hidePrevMonthArrow !== bool) {\n toggleClass(self.prevMonthNav, \"flatpickr-disabled\", bool);\n self.__hidePrevMonthArrow = bool;\n }\n }\n });\n Object.defineProperty(self, \"_hideNextMonthArrow\", {\n get: function() {\n return self.__hideNextMonthArrow;\n },\n set: function(bool) {\n if (self.__hideNextMonthArrow !== bool) {\n toggleClass(self.nextMonthNav, \"flatpickr-disabled\", bool);\n self.__hideNextMonthArrow = bool;\n }\n }\n });\n self.currentYearElement = self.yearElements[0];\n updateNavigationCurrentMonth();\n return self.monthNav;\n }\n function buildTime() {\n self.calendarContainer.classList.add(\"hasTime\");\n if (self.config.noCalendar)\n self.calendarContainer.classList.add(\"noCalendar\");\n var defaults2 = getDefaultHours(self.config);\n self.timeContainer = createElement(\"div\", \"flatpickr-time\");\n self.timeContainer.tabIndex = -1;\n var separator = createElement(\"span\", \"flatpickr-time-separator\", \":\");\n var hourInput = createNumberInput(\"flatpickr-hour\", {\n \"aria-label\": self.l10n.hourAriaLabel\n });\n self.hourElement = hourInput.getElementsByTagName(\"input\")[0];\n var minuteInput = createNumberInput(\"flatpickr-minute\", {\n \"aria-label\": self.l10n.minuteAriaLabel\n });\n self.minuteElement = minuteInput.getElementsByTagName(\"input\")[0];\n self.hourElement.tabIndex = self.minuteElement.tabIndex = -1;\n self.hourElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getHours() : self.config.time_24hr ? defaults2.hours : military2ampm(defaults2.hours));\n self.minuteElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getMinutes() : defaults2.minutes);\n self.hourElement.setAttribute(\"step\", self.config.hourIncrement.toString());\n self.minuteElement.setAttribute(\"step\", self.config.minuteIncrement.toString());\n self.hourElement.setAttribute(\"min\", self.config.time_24hr ? \"0\" : \"1\");\n self.hourElement.setAttribute(\"max\", self.config.time_24hr ? \"23\" : \"12\");\n self.hourElement.setAttribute(\"maxlength\", \"2\");\n self.minuteElement.setAttribute(\"min\", \"0\");\n self.minuteElement.setAttribute(\"max\", \"59\");\n self.minuteElement.setAttribute(\"maxlength\", \"2\");\n self.timeContainer.appendChild(hourInput);\n self.timeContainer.appendChild(separator);\n self.timeContainer.appendChild(minuteInput);\n if (self.config.time_24hr)\n self.timeContainer.classList.add(\"time24hr\");\n if (self.config.enableSeconds) {\n self.timeContainer.classList.add(\"hasSeconds\");\n var secondInput = createNumberInput(\"flatpickr-second\");\n self.secondElement = secondInput.getElementsByTagName(\"input\")[0];\n self.secondElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getSeconds() : defaults2.seconds);\n self.secondElement.setAttribute(\"step\", self.minuteElement.getAttribute(\"step\"));\n self.secondElement.setAttribute(\"min\", \"0\");\n self.secondElement.setAttribute(\"max\", \"59\");\n self.secondElement.setAttribute(\"maxlength\", \"2\");\n self.timeContainer.appendChild(createElement(\"span\", \"flatpickr-time-separator\", \":\"));\n self.timeContainer.appendChild(secondInput);\n }\n if (!self.config.time_24hr) {\n self.amPM = createElement(\"span\", \"flatpickr-am-pm\", self.l10n.amPM[int((self.latestSelectedDateObj ? self.hourElement.value : self.config.defaultHour) > 11)]);\n self.amPM.title = self.l10n.toggleTitle;\n self.amPM.tabIndex = -1;\n self.timeContainer.appendChild(self.amPM);\n }\n return self.timeContainer;\n }\n function buildWeekdays() {\n if (!self.weekdayContainer)\n self.weekdayContainer = createElement(\"div\", \"flatpickr-weekdays\");\n else\n clearNode(self.weekdayContainer);\n for (var i2 = self.config.showMonths; i2--; ) {\n var container = createElement(\"div\", \"flatpickr-weekdaycontainer\");\n self.weekdayContainer.appendChild(container);\n }\n updateWeekdays();\n return self.weekdayContainer;\n }\n function updateWeekdays() {\n if (!self.weekdayContainer) {\n return;\n }\n var firstDayOfWeek = self.l10n.firstDayOfWeek;\n var weekdays = __spreadArrays(self.l10n.weekdays.shorthand);\n if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) {\n weekdays = __spreadArrays(weekdays.splice(firstDayOfWeek, weekdays.length), weekdays.splice(0, firstDayOfWeek));\n }\n for (var i2 = self.config.showMonths; i2--; ) {\n self.weekdayContainer.children[i2].innerHTML = \"\\n \\n \" + weekdays.join(\"\") + \"\\n \\n \";\n }\n }\n function buildWeeks() {\n self.calendarContainer.classList.add(\"hasWeeks\");\n var weekWrapper = createElement(\"div\", \"flatpickr-weekwrapper\");\n weekWrapper.appendChild(createElement(\"span\", \"flatpickr-weekday\", self.l10n.weekAbbreviation));\n var weekNumbers = createElement(\"div\", \"flatpickr-weeks\");\n weekWrapper.appendChild(weekNumbers);\n return {\n weekWrapper,\n weekNumbers\n };\n }\n function changeMonth(value, isOffset) {\n if (isOffset === void 0) {\n isOffset = true;\n }\n var delta = isOffset ? value : value - self.currentMonth;\n if (delta < 0 && self._hidePrevMonthArrow === true || delta > 0 && self._hideNextMonthArrow === true)\n return;\n self.currentMonth += delta;\n if (self.currentMonth < 0 || self.currentMonth > 11) {\n self.currentYear += self.currentMonth > 11 ? 1 : -1;\n self.currentMonth = (self.currentMonth + 12) % 12;\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n buildDays();\n triggerEvent(\"onMonthChange\");\n updateNavigationCurrentMonth();\n }\n function clear(triggerChangeEvent, toInitial) {\n if (triggerChangeEvent === void 0) {\n triggerChangeEvent = true;\n }\n if (toInitial === void 0) {\n toInitial = true;\n }\n self.input.value = \"\";\n if (self.altInput !== void 0)\n self.altInput.value = \"\";\n if (self.mobileInput !== void 0)\n self.mobileInput.value = \"\";\n self.selectedDates = [];\n self.latestSelectedDateObj = void 0;\n if (toInitial === true) {\n self.currentYear = self._initialDate.getFullYear();\n self.currentMonth = self._initialDate.getMonth();\n }\n if (self.config.enableTime === true) {\n var _a = getDefaultHours(self.config), hours = _a.hours, minutes = _a.minutes, seconds = _a.seconds;\n setHours(hours, minutes, seconds);\n }\n self.redraw();\n if (triggerChangeEvent)\n triggerEvent(\"onChange\");\n }\n function close() {\n self.isOpen = false;\n if (!self.isMobile) {\n if (self.calendarContainer !== void 0) {\n self.calendarContainer.classList.remove(\"open\");\n }\n if (self._input !== void 0) {\n self._input.classList.remove(\"active\");\n }\n }\n triggerEvent(\"onClose\");\n }\n function destroy() {\n if (self.config !== void 0)\n triggerEvent(\"onDestroy\");\n for (var i2 = self._handlers.length; i2--; ) {\n self._handlers[i2].remove();\n }\n self._handlers = [];\n if (self.mobileInput) {\n if (self.mobileInput.parentNode)\n self.mobileInput.parentNode.removeChild(self.mobileInput);\n self.mobileInput = void 0;\n } else if (self.calendarContainer && self.calendarContainer.parentNode) {\n if (self.config.static && self.calendarContainer.parentNode) {\n var wrapper = self.calendarContainer.parentNode;\n wrapper.lastChild && wrapper.removeChild(wrapper.lastChild);\n if (wrapper.parentNode) {\n while (wrapper.firstChild)\n wrapper.parentNode.insertBefore(wrapper.firstChild, wrapper);\n wrapper.parentNode.removeChild(wrapper);\n }\n } else\n self.calendarContainer.parentNode.removeChild(self.calendarContainer);\n }\n if (self.altInput) {\n self.input.type = \"text\";\n if (self.altInput.parentNode)\n self.altInput.parentNode.removeChild(self.altInput);\n delete self.altInput;\n }\n if (self.input) {\n self.input.type = self.input._type;\n self.input.classList.remove(\"flatpickr-input\");\n self.input.removeAttribute(\"readonly\");\n }\n [\n \"_showTimeInput\",\n \"latestSelectedDateObj\",\n \"_hideNextMonthArrow\",\n \"_hidePrevMonthArrow\",\n \"__hideNextMonthArrow\",\n \"__hidePrevMonthArrow\",\n \"isMobile\",\n \"isOpen\",\n \"selectedDateElem\",\n \"minDateHasTime\",\n \"maxDateHasTime\",\n \"days\",\n \"daysContainer\",\n \"_input\",\n \"_positionElement\",\n \"innerContainer\",\n \"rContainer\",\n \"monthNav\",\n \"todayDateElem\",\n \"calendarContainer\",\n \"weekdayContainer\",\n \"prevMonthNav\",\n \"nextMonthNav\",\n \"monthsDropdownContainer\",\n \"currentMonthElement\",\n \"currentYearElement\",\n \"navigationCurrentMonth\",\n \"selectedDateElem\",\n \"config\"\n ].forEach(function(k) {\n try {\n delete self[k];\n } catch (_) {\n }\n });\n }\n function isCalendarElem(elem) {\n return self.calendarContainer.contains(elem);\n }\n function documentClick(e2) {\n if (self.isOpen && !self.config.inline) {\n var eventTarget_1 = getEventTarget(e2);\n var isCalendarElement = isCalendarElem(eventTarget_1);\n var isInput = eventTarget_1 === self.input || eventTarget_1 === self.altInput || self.element.contains(eventTarget_1) || e2.path && e2.path.indexOf && (~e2.path.indexOf(self.input) || ~e2.path.indexOf(self.altInput));\n var lostFocus = !isInput && !isCalendarElement && !isCalendarElem(e2.relatedTarget);\n var isIgnored = !self.config.ignoredFocusElements.some(function(elem) {\n return elem.contains(eventTarget_1);\n });\n if (lostFocus && isIgnored) {\n if (self.config.allowInput) {\n self.setDate(self._input.value, false, self.config.altInput ? self.config.altFormat : self.config.dateFormat);\n }\n if (self.timeContainer !== void 0 && self.minuteElement !== void 0 && self.hourElement !== void 0 && self.input.value !== \"\" && self.input.value !== void 0) {\n updateTime();\n }\n self.close();\n if (self.config && self.config.mode === \"range\" && self.selectedDates.length === 1)\n self.clear(false);\n }\n }\n }\n function changeYear(newYear) {\n if (!newYear || self.config.minDate && newYear < self.config.minDate.getFullYear() || self.config.maxDate && newYear > self.config.maxDate.getFullYear())\n return;\n var newYearNum = newYear, isNewYear = self.currentYear !== newYearNum;\n self.currentYear = newYearNum || self.currentYear;\n if (self.config.maxDate && self.currentYear === self.config.maxDate.getFullYear()) {\n self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth);\n } else if (self.config.minDate && self.currentYear === self.config.minDate.getFullYear()) {\n self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth);\n }\n if (isNewYear) {\n self.redraw();\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n }\n function isEnabled(date, timeless) {\n var _a;\n if (timeless === void 0) {\n timeless = true;\n }\n var dateToCheck = self.parseDate(date, void 0, timeless);\n if (self.config.minDate && dateToCheck && compareDates(dateToCheck, self.config.minDate, timeless !== void 0 ? timeless : !self.minDateHasTime) < 0 || self.config.maxDate && dateToCheck && compareDates(dateToCheck, self.config.maxDate, timeless !== void 0 ? timeless : !self.maxDateHasTime) > 0)\n return false;\n if (!self.config.enable && self.config.disable.length === 0)\n return true;\n if (dateToCheck === void 0)\n return false;\n var bool = !!self.config.enable, array = (_a = self.config.enable) !== null && _a !== void 0 ? _a : self.config.disable;\n for (var i2 = 0, d = void 0; i2 < array.length; i2++) {\n d = array[i2];\n if (typeof d === \"function\" && d(dateToCheck))\n return bool;\n else if (d instanceof Date && dateToCheck !== void 0 && d.getTime() === dateToCheck.getTime())\n return bool;\n else if (typeof d === \"string\") {\n var parsed = self.parseDate(d, void 0, true);\n return parsed && parsed.getTime() === dateToCheck.getTime() ? bool : !bool;\n } else if (typeof d === \"object\" && dateToCheck !== void 0 && d.from && d.to && dateToCheck.getTime() >= d.from.getTime() && dateToCheck.getTime() <= d.to.getTime())\n return bool;\n }\n return !bool;\n }\n function isInView(elem) {\n if (self.daysContainer !== void 0)\n return elem.className.indexOf(\"hidden\") === -1 && elem.className.indexOf(\"flatpickr-disabled\") === -1 && self.daysContainer.contains(elem);\n return false;\n }\n function onBlur(e2) {\n var isInput = e2.target === self._input;\n var valueChanged = self._input.value.trimEnd() !== getDateStr();\n if (isInput && valueChanged && !(e2.relatedTarget && isCalendarElem(e2.relatedTarget))) {\n self.setDate(self._input.value, true, e2.target === self.altInput ? self.config.altFormat : self.config.dateFormat);\n }\n }\n function onKeyDown(e2) {\n var eventTarget = getEventTarget(e2);\n var isInput = self.config.wrap ? element.contains(eventTarget) : eventTarget === self._input;\n var allowInput = self.config.allowInput;\n var allowKeydown = self.isOpen && (!allowInput || !isInput);\n var allowInlineKeydown = self.config.inline && isInput && !allowInput;\n if (e2.keyCode === 13 && isInput) {\n if (allowInput) {\n self.setDate(self._input.value, true, eventTarget === self.altInput ? self.config.altFormat : self.config.dateFormat);\n self.close();\n return eventTarget.blur();\n } else {\n self.open();\n }\n } else if (isCalendarElem(eventTarget) || allowKeydown || allowInlineKeydown) {\n var isTimeObj = !!self.timeContainer && self.timeContainer.contains(eventTarget);\n switch (e2.keyCode) {\n case 13:\n if (isTimeObj) {\n e2.preventDefault();\n updateTime();\n focusAndClose();\n } else\n selectDate(e2);\n break;\n case 27:\n e2.preventDefault();\n focusAndClose();\n break;\n case 8:\n case 46:\n if (isInput && !self.config.allowInput) {\n e2.preventDefault();\n self.clear();\n }\n break;\n case 37:\n case 39:\n if (!isTimeObj && !isInput) {\n e2.preventDefault();\n var activeElement = getClosestActiveElement();\n if (self.daysContainer !== void 0 && (allowInput === false || activeElement && isInView(activeElement))) {\n var delta_1 = e2.keyCode === 39 ? 1 : -1;\n if (!e2.ctrlKey)\n focusOnDay(void 0, delta_1);\n else {\n e2.stopPropagation();\n changeMonth(delta_1);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n }\n } else if (self.hourElement)\n self.hourElement.focus();\n break;\n case 38:\n case 40:\n e2.preventDefault();\n var delta = e2.keyCode === 40 ? 1 : -1;\n if (self.daysContainer && eventTarget.$i !== void 0 || eventTarget === self.input || eventTarget === self.altInput) {\n if (e2.ctrlKey) {\n e2.stopPropagation();\n changeYear(self.currentYear - delta);\n focusOnDay(getFirstAvailableDay(1), 0);\n } else if (!isTimeObj)\n focusOnDay(void 0, delta * 7);\n } else if (eventTarget === self.currentYearElement) {\n changeYear(self.currentYear - delta);\n } else if (self.config.enableTime) {\n if (!isTimeObj && self.hourElement)\n self.hourElement.focus();\n updateTime(e2);\n self._debouncedChange();\n }\n break;\n case 9:\n if (isTimeObj) {\n var elems = [\n self.hourElement,\n self.minuteElement,\n self.secondElement,\n self.amPM\n ].concat(self.pluginElements).filter(function(x) {\n return x;\n });\n var i2 = elems.indexOf(eventTarget);\n if (i2 !== -1) {\n var target = elems[i2 + (e2.shiftKey ? -1 : 1)];\n e2.preventDefault();\n (target || self._input).focus();\n }\n } else if (!self.config.noCalendar && self.daysContainer && self.daysContainer.contains(eventTarget) && e2.shiftKey) {\n e2.preventDefault();\n self._input.focus();\n }\n break;\n default:\n break;\n }\n }\n if (self.amPM !== void 0 && eventTarget === self.amPM) {\n switch (e2.key) {\n case self.l10n.amPM[0].charAt(0):\n case self.l10n.amPM[0].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[0];\n setHoursFromInputs();\n updateValue();\n break;\n case self.l10n.amPM[1].charAt(0):\n case self.l10n.amPM[1].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[1];\n setHoursFromInputs();\n updateValue();\n break;\n }\n }\n if (isInput || isCalendarElem(eventTarget)) {\n triggerEvent(\"onKeyDown\", e2);\n }\n }\n function onMouseOver(elem, cellClass) {\n if (cellClass === void 0) {\n cellClass = \"flatpickr-day\";\n }\n if (self.selectedDates.length !== 1 || elem && (!elem.classList.contains(cellClass) || elem.classList.contains(\"flatpickr-disabled\")))\n return;\n var hoverDate = elem ? elem.dateObj.getTime() : self.days.firstElementChild.dateObj.getTime(), initialDate = self.parseDate(self.selectedDates[0], void 0, true).getTime(), rangeStartDate = Math.min(hoverDate, self.selectedDates[0].getTime()), rangeEndDate = Math.max(hoverDate, self.selectedDates[0].getTime());\n var containsDisabled = false;\n var minRange = 0, maxRange = 0;\n for (var t = rangeStartDate; t < rangeEndDate; t += duration.DAY) {\n if (!isEnabled(new Date(t), true)) {\n containsDisabled = containsDisabled || t > rangeStartDate && t < rangeEndDate;\n if (t < initialDate && (!minRange || t > minRange))\n minRange = t;\n else if (t > initialDate && (!maxRange || t < maxRange))\n maxRange = t;\n }\n }\n var hoverableCells = Array.from(self.rContainer.querySelectorAll(\"*:nth-child(-n+\" + self.config.showMonths + \") > .\" + cellClass));\n hoverableCells.forEach(function(dayElem) {\n var date = dayElem.dateObj;\n var timestamp = date.getTime();\n var outOfRange = minRange > 0 && timestamp < minRange || maxRange > 0 && timestamp > maxRange;\n if (outOfRange) {\n dayElem.classList.add(\"notAllowed\");\n [\"inRange\", \"startRange\", \"endRange\"].forEach(function(c) {\n dayElem.classList.remove(c);\n });\n return;\n } else if (containsDisabled && !outOfRange)\n return;\n [\"startRange\", \"inRange\", \"endRange\", \"notAllowed\"].forEach(function(c) {\n dayElem.classList.remove(c);\n });\n if (elem !== void 0) {\n elem.classList.add(hoverDate <= self.selectedDates[0].getTime() ? \"startRange\" : \"endRange\");\n if (initialDate < hoverDate && timestamp === initialDate)\n dayElem.classList.add(\"startRange\");\n else if (initialDate > hoverDate && timestamp === initialDate)\n dayElem.classList.add(\"endRange\");\n if (timestamp >= minRange && (maxRange === 0 || timestamp <= maxRange) && isBetween(timestamp, initialDate, hoverDate))\n dayElem.classList.add(\"inRange\");\n }\n });\n }\n function onResize() {\n if (self.isOpen && !self.config.static && !self.config.inline)\n positionCalendar();\n }\n function open(e2, positionElement) {\n if (positionElement === void 0) {\n positionElement = self._positionElement;\n }\n if (self.isMobile === true) {\n if (e2) {\n e2.preventDefault();\n var eventTarget = getEventTarget(e2);\n if (eventTarget) {\n eventTarget.blur();\n }\n }\n if (self.mobileInput !== void 0) {\n self.mobileInput.focus();\n self.mobileInput.click();\n }\n triggerEvent(\"onOpen\");\n return;\n } else if (self._input.disabled || self.config.inline) {\n return;\n }\n var wasOpen = self.isOpen;\n self.isOpen = true;\n if (!wasOpen) {\n self.calendarContainer.classList.add(\"open\");\n self._input.classList.add(\"active\");\n triggerEvent(\"onOpen\");\n positionCalendar(positionElement);\n }\n if (self.config.enableTime === true && self.config.noCalendar === true) {\n if (self.config.allowInput === false && (e2 === void 0 || !self.timeContainer.contains(e2.relatedTarget))) {\n setTimeout(function() {\n return self.hourElement.select();\n }, 50);\n }\n }\n }\n function minMaxDateSetter(type) {\n return function(date) {\n var dateObj = self.config[\"_\" + type + \"Date\"] = self.parseDate(date, self.config.dateFormat);\n var inverseDateObj = self.config[\"_\" + (type === \"min\" ? \"max\" : \"min\") + \"Date\"];\n if (dateObj !== void 0) {\n self[type === \"min\" ? \"minDateHasTime\" : \"maxDateHasTime\"] = dateObj.getHours() > 0 || dateObj.getMinutes() > 0 || dateObj.getSeconds() > 0;\n }\n if (self.selectedDates) {\n self.selectedDates = self.selectedDates.filter(function(d) {\n return isEnabled(d);\n });\n if (!self.selectedDates.length && type === \"min\")\n setHoursFromDate(dateObj);\n updateValue();\n }\n if (self.daysContainer) {\n redraw();\n if (dateObj !== void 0)\n self.currentYearElement[type] = dateObj.getFullYear().toString();\n else\n self.currentYearElement.removeAttribute(type);\n self.currentYearElement.disabled = !!inverseDateObj && dateObj !== void 0 && inverseDateObj.getFullYear() === dateObj.getFullYear();\n }\n };\n }\n function parseConfig() {\n var boolOpts = [\n \"wrap\",\n \"weekNumbers\",\n \"allowInput\",\n \"allowInvalidPreload\",\n \"clickOpens\",\n \"time_24hr\",\n \"enableTime\",\n \"noCalendar\",\n \"altInput\",\n \"shorthandCurrentMonth\",\n \"inline\",\n \"static\",\n \"enableSeconds\",\n \"disableMobile\"\n ];\n var userConfig = __assign(__assign({}, JSON.parse(JSON.stringify(element.dataset || {}))), instanceConfig);\n var formats2 = {};\n self.config.parseDate = userConfig.parseDate;\n self.config.formatDate = userConfig.formatDate;\n Object.defineProperty(self.config, \"enable\", {\n get: function() {\n return self.config._enable;\n },\n set: function(dates) {\n self.config._enable = parseDateRules(dates);\n }\n });\n Object.defineProperty(self.config, \"disable\", {\n get: function() {\n return self.config._disable;\n },\n set: function(dates) {\n self.config._disable = parseDateRules(dates);\n }\n });\n var timeMode = userConfig.mode === \"time\";\n if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) {\n var defaultDateFormat = flatpickr.defaultConfig.dateFormat || defaults.dateFormat;\n formats2.dateFormat = userConfig.noCalendar || timeMode ? \"H:i\" + (userConfig.enableSeconds ? \":S\" : \"\") : defaultDateFormat + \" H:i\" + (userConfig.enableSeconds ? \":S\" : \"\");\n }\n if (userConfig.altInput && (userConfig.enableTime || timeMode) && !userConfig.altFormat) {\n var defaultAltFormat = flatpickr.defaultConfig.altFormat || defaults.altFormat;\n formats2.altFormat = userConfig.noCalendar || timeMode ? \"h:i\" + (userConfig.enableSeconds ? \":S K\" : \" K\") : defaultAltFormat + (\" h:i\" + (userConfig.enableSeconds ? \":S\" : \"\") + \" K\");\n }\n Object.defineProperty(self.config, \"minDate\", {\n get: function() {\n return self.config._minDate;\n },\n set: minMaxDateSetter(\"min\")\n });\n Object.defineProperty(self.config, \"maxDate\", {\n get: function() {\n return self.config._maxDate;\n },\n set: minMaxDateSetter(\"max\")\n });\n var minMaxTimeSetter = function(type) {\n return function(val) {\n self.config[type === \"min\" ? \"_minTime\" : \"_maxTime\"] = self.parseDate(val, \"H:i:S\");\n };\n };\n Object.defineProperty(self.config, \"minTime\", {\n get: function() {\n return self.config._minTime;\n },\n set: minMaxTimeSetter(\"min\")\n });\n Object.defineProperty(self.config, \"maxTime\", {\n get: function() {\n return self.config._maxTime;\n },\n set: minMaxTimeSetter(\"max\")\n });\n if (userConfig.mode === \"time\") {\n self.config.noCalendar = true;\n self.config.enableTime = true;\n }\n Object.assign(self.config, formats2, userConfig);\n for (var i2 = 0; i2 < boolOpts.length; i2++)\n self.config[boolOpts[i2]] = self.config[boolOpts[i2]] === true || self.config[boolOpts[i2]] === \"true\";\n HOOKS.filter(function(hook) {\n return self.config[hook] !== void 0;\n }).forEach(function(hook) {\n self.config[hook] = arrayify(self.config[hook] || []).map(bindToInstance);\n });\n self.isMobile = !self.config.disableMobile && !self.config.inline && self.config.mode === \"single\" && !self.config.disable.length && !self.config.enable && !self.config.weekNumbers && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n for (var i2 = 0; i2 < self.config.plugins.length; i2++) {\n var pluginConf = self.config.plugins[i2](self) || {};\n for (var key in pluginConf) {\n if (HOOKS.indexOf(key) > -1) {\n self.config[key] = arrayify(pluginConf[key]).map(bindToInstance).concat(self.config[key]);\n } else if (typeof userConfig[key] === \"undefined\")\n self.config[key] = pluginConf[key];\n }\n }\n if (!userConfig.altInputClass) {\n self.config.altInputClass = getInputElem().className + \" \" + self.config.altInputClass;\n }\n triggerEvent(\"onParseConfig\");\n }\n function getInputElem() {\n return self.config.wrap ? element.querySelector(\"[data-input]\") : element;\n }\n function setupLocale() {\n if (typeof self.config.locale !== \"object\" && typeof flatpickr.l10ns[self.config.locale] === \"undefined\")\n self.config.errorHandler(new Error(\"flatpickr: invalid locale \" + self.config.locale));\n self.l10n = __assign(__assign({}, flatpickr.l10ns.default), typeof self.config.locale === \"object\" ? self.config.locale : self.config.locale !== \"default\" ? flatpickr.l10ns[self.config.locale] : void 0);\n tokenRegex.D = \"(\" + self.l10n.weekdays.shorthand.join(\"|\") + \")\";\n tokenRegex.l = \"(\" + self.l10n.weekdays.longhand.join(\"|\") + \")\";\n tokenRegex.M = \"(\" + self.l10n.months.shorthand.join(\"|\") + \")\";\n tokenRegex.F = \"(\" + self.l10n.months.longhand.join(\"|\") + \")\";\n tokenRegex.K = \"(\" + self.l10n.amPM[0] + \"|\" + self.l10n.amPM[1] + \"|\" + self.l10n.amPM[0].toLowerCase() + \"|\" + self.l10n.amPM[1].toLowerCase() + \")\";\n var userConfig = __assign(__assign({}, instanceConfig), JSON.parse(JSON.stringify(element.dataset || {})));\n if (userConfig.time_24hr === void 0 && flatpickr.defaultConfig.time_24hr === void 0) {\n self.config.time_24hr = self.l10n.time_24hr;\n }\n self.formatDate = createDateFormatter(self);\n self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n }\n function positionCalendar(customPositionElement) {\n if (typeof self.config.position === \"function\") {\n return void self.config.position(self, customPositionElement);\n }\n if (self.calendarContainer === void 0)\n return;\n triggerEvent(\"onPreCalendarPosition\");\n var positionElement = customPositionElement || self._positionElement;\n var calendarHeight = Array.prototype.reduce.call(self.calendarContainer.children, function(acc, child) {\n return acc + child.offsetHeight;\n }, 0), calendarWidth = self.calendarContainer.offsetWidth, configPos = self.config.position.split(\" \"), configPosVertical = configPos[0], configPosHorizontal = configPos.length > 1 ? configPos[1] : null, inputBounds = positionElement.getBoundingClientRect(), distanceFromBottom = window.innerHeight - inputBounds.bottom, showOnTop = configPosVertical === \"above\" || configPosVertical !== \"below\" && distanceFromBottom < calendarHeight && inputBounds.top > calendarHeight;\n var top = window.pageYOffset + inputBounds.top + (!showOnTop ? positionElement.offsetHeight + 2 : -calendarHeight - 2);\n toggleClass(self.calendarContainer, \"arrowTop\", !showOnTop);\n toggleClass(self.calendarContainer, \"arrowBottom\", showOnTop);\n if (self.config.inline)\n return;\n var left = window.pageXOffset + inputBounds.left;\n var isCenter = false;\n var isRight = false;\n if (configPosHorizontal === \"center\") {\n left -= (calendarWidth - inputBounds.width) / 2;\n isCenter = true;\n } else if (configPosHorizontal === \"right\") {\n left -= calendarWidth - inputBounds.width;\n isRight = true;\n }\n toggleClass(self.calendarContainer, \"arrowLeft\", !isCenter && !isRight);\n toggleClass(self.calendarContainer, \"arrowCenter\", isCenter);\n toggleClass(self.calendarContainer, \"arrowRight\", isRight);\n var right = window.document.body.offsetWidth - (window.pageXOffset + inputBounds.right);\n var rightMost = left + calendarWidth > window.document.body.offsetWidth;\n var centerMost = right + calendarWidth > window.document.body.offsetWidth;\n toggleClass(self.calendarContainer, \"rightMost\", rightMost);\n if (self.config.static)\n return;\n self.calendarContainer.style.top = top + \"px\";\n if (!rightMost) {\n self.calendarContainer.style.left = left + \"px\";\n self.calendarContainer.style.right = \"auto\";\n } else if (!centerMost) {\n self.calendarContainer.style.left = \"auto\";\n self.calendarContainer.style.right = right + \"px\";\n } else {\n var doc = getDocumentStyleSheet();\n if (doc === void 0)\n return;\n var bodyWidth = window.document.body.offsetWidth;\n var centerLeft = Math.max(0, bodyWidth / 2 - calendarWidth / 2);\n var centerBefore = \".flatpickr-calendar.centerMost:before\";\n var centerAfter = \".flatpickr-calendar.centerMost:after\";\n var centerIndex = doc.cssRules.length;\n var centerStyle = \"{left:\" + inputBounds.left + \"px;right:auto;}\";\n toggleClass(self.calendarContainer, \"rightMost\", false);\n toggleClass(self.calendarContainer, \"centerMost\", true);\n doc.insertRule(centerBefore + \",\" + centerAfter + centerStyle, centerIndex);\n self.calendarContainer.style.left = centerLeft + \"px\";\n self.calendarContainer.style.right = \"auto\";\n }\n }\n function getDocumentStyleSheet() {\n var editableSheet = null;\n for (var i2 = 0; i2 < document.styleSheets.length; i2++) {\n var sheet = document.styleSheets[i2];\n if (!sheet.cssRules)\n continue;\n try {\n sheet.cssRules;\n } catch (err) {\n continue;\n }\n editableSheet = sheet;\n break;\n }\n return editableSheet != null ? editableSheet : createStyleSheet();\n }\n function createStyleSheet() {\n var style = document.createElement(\"style\");\n document.head.appendChild(style);\n return style.sheet;\n }\n function redraw() {\n if (self.config.noCalendar || self.isMobile)\n return;\n buildMonthSwitch();\n updateNavigationCurrentMonth();\n buildDays();\n }\n function focusAndClose() {\n self._input.focus();\n if (window.navigator.userAgent.indexOf(\"MSIE\") !== -1 || navigator.msMaxTouchPoints !== void 0) {\n setTimeout(self.close, 0);\n } else {\n self.close();\n }\n }\n function selectDate(e2) {\n e2.preventDefault();\n e2.stopPropagation();\n var isSelectable = function(day) {\n return day.classList && day.classList.contains(\"flatpickr-day\") && !day.classList.contains(\"flatpickr-disabled\") && !day.classList.contains(\"notAllowed\");\n };\n var t = findParent(getEventTarget(e2), isSelectable);\n if (t === void 0)\n return;\n var target = t;\n var selectedDate = self.latestSelectedDateObj = new Date(target.dateObj.getTime());\n var shouldChangeMonth = (selectedDate.getMonth() < self.currentMonth || selectedDate.getMonth() > self.currentMonth + self.config.showMonths - 1) && self.config.mode !== \"range\";\n self.selectedDateElem = target;\n if (self.config.mode === \"single\")\n self.selectedDates = [selectedDate];\n else if (self.config.mode === \"multiple\") {\n var selectedIndex = isDateSelected(selectedDate);\n if (selectedIndex)\n self.selectedDates.splice(parseInt(selectedIndex), 1);\n else\n self.selectedDates.push(selectedDate);\n } else if (self.config.mode === \"range\") {\n if (self.selectedDates.length === 2) {\n self.clear(false, false);\n }\n self.latestSelectedDateObj = selectedDate;\n self.selectedDates.push(selectedDate);\n if (compareDates(selectedDate, self.selectedDates[0], true) !== 0)\n self.selectedDates.sort(function(a, b) {\n return a.getTime() - b.getTime();\n });\n }\n setHoursFromInputs();\n if (shouldChangeMonth) {\n var isNewYear = self.currentYear !== selectedDate.getFullYear();\n self.currentYear = selectedDate.getFullYear();\n self.currentMonth = selectedDate.getMonth();\n if (isNewYear) {\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n triggerEvent(\"onMonthChange\");\n }\n updateNavigationCurrentMonth();\n buildDays();\n updateValue();\n if (!shouldChangeMonth && self.config.mode !== \"range\" && self.config.showMonths === 1)\n focusOnDayElem(target);\n else if (self.selectedDateElem !== void 0 && self.hourElement === void 0) {\n self.selectedDateElem && self.selectedDateElem.focus();\n }\n if (self.hourElement !== void 0)\n self.hourElement !== void 0 && self.hourElement.focus();\n if (self.config.closeOnSelect) {\n var single = self.config.mode === \"single\" && !self.config.enableTime;\n var range = self.config.mode === \"range\" && self.selectedDates.length === 2 && !self.config.enableTime;\n if (single || range) {\n focusAndClose();\n }\n }\n triggerChange();\n }\n var CALLBACKS = {\n locale: [setupLocale, updateWeekdays],\n showMonths: [buildMonths, setCalendarWidth, buildWeekdays],\n minDate: [jumpToDate],\n maxDate: [jumpToDate],\n positionElement: [updatePositionElement],\n clickOpens: [\n function() {\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"click\", self.open);\n } else {\n self._input.removeEventListener(\"focus\", self.open);\n self._input.removeEventListener(\"click\", self.open);\n }\n }\n ]\n };\n function set(option, value) {\n if (option !== null && typeof option === \"object\") {\n Object.assign(self.config, option);\n for (var key in option) {\n if (CALLBACKS[key] !== void 0)\n CALLBACKS[key].forEach(function(x) {\n return x();\n });\n }\n } else {\n self.config[option] = value;\n if (CALLBACKS[option] !== void 0)\n CALLBACKS[option].forEach(function(x) {\n return x();\n });\n else if (HOOKS.indexOf(option) > -1)\n self.config[option] = arrayify(value);\n }\n self.redraw();\n updateValue(true);\n }\n function setSelectedDate(inputDate, format) {\n var dates = [];\n if (inputDate instanceof Array)\n dates = inputDate.map(function(d) {\n return self.parseDate(d, format);\n });\n else if (inputDate instanceof Date || typeof inputDate === \"number\")\n dates = [self.parseDate(inputDate, format)];\n else if (typeof inputDate === \"string\") {\n switch (self.config.mode) {\n case \"single\":\n case \"time\":\n dates = [self.parseDate(inputDate, format)];\n break;\n case \"multiple\":\n dates = inputDate.split(self.config.conjunction).map(function(date) {\n return self.parseDate(date, format);\n });\n break;\n case \"range\":\n dates = inputDate.split(self.l10n.rangeSeparator).map(function(date) {\n return self.parseDate(date, format);\n });\n break;\n default:\n break;\n }\n } else\n self.config.errorHandler(new Error(\"Invalid date supplied: \" + JSON.stringify(inputDate)));\n self.selectedDates = self.config.allowInvalidPreload ? dates : dates.filter(function(d) {\n return d instanceof Date && isEnabled(d, false);\n });\n if (self.config.mode === \"range\")\n self.selectedDates.sort(function(a, b) {\n return a.getTime() - b.getTime();\n });\n }\n function setDate(date, triggerChange2, format) {\n if (triggerChange2 === void 0) {\n triggerChange2 = false;\n }\n if (format === void 0) {\n format = self.config.dateFormat;\n }\n if (date !== 0 && !date || date instanceof Array && date.length === 0)\n return self.clear(triggerChange2);\n setSelectedDate(date, format);\n self.latestSelectedDateObj = self.selectedDates[self.selectedDates.length - 1];\n self.redraw();\n jumpToDate(void 0, triggerChange2);\n setHoursFromDate();\n if (self.selectedDates.length === 0) {\n self.clear(false);\n }\n updateValue(triggerChange2);\n if (triggerChange2)\n triggerEvent(\"onChange\");\n }\n function parseDateRules(arr) {\n return arr.slice().map(function(rule) {\n if (typeof rule === \"string\" || typeof rule === \"number\" || rule instanceof Date) {\n return self.parseDate(rule, void 0, true);\n } else if (rule && typeof rule === \"object\" && rule.from && rule.to)\n return {\n from: self.parseDate(rule.from, void 0),\n to: self.parseDate(rule.to, void 0)\n };\n return rule;\n }).filter(function(x) {\n return x;\n });\n }\n function setupDates() {\n self.selectedDates = [];\n self.now = self.parseDate(self.config.now) || /* @__PURE__ */ new Date();\n var preloadedDate = self.config.defaultDate || ((self.input.nodeName === \"INPUT\" || self.input.nodeName === \"TEXTAREA\") && self.input.placeholder && self.input.value === self.input.placeholder ? null : self.input.value);\n if (preloadedDate)\n setSelectedDate(preloadedDate, self.config.dateFormat);\n self._initialDate = self.selectedDates.length > 0 ? self.selectedDates[0] : self.config.minDate && self.config.minDate.getTime() > self.now.getTime() ? self.config.minDate : self.config.maxDate && self.config.maxDate.getTime() < self.now.getTime() ? self.config.maxDate : self.now;\n self.currentYear = self._initialDate.getFullYear();\n self.currentMonth = self._initialDate.getMonth();\n if (self.selectedDates.length > 0)\n self.latestSelectedDateObj = self.selectedDates[0];\n if (self.config.minTime !== void 0)\n self.config.minTime = self.parseDate(self.config.minTime, \"H:i\");\n if (self.config.maxTime !== void 0)\n self.config.maxTime = self.parseDate(self.config.maxTime, \"H:i\");\n self.minDateHasTime = !!self.config.minDate && (self.config.minDate.getHours() > 0 || self.config.minDate.getMinutes() > 0 || self.config.minDate.getSeconds() > 0);\n self.maxDateHasTime = !!self.config.maxDate && (self.config.maxDate.getHours() > 0 || self.config.maxDate.getMinutes() > 0 || self.config.maxDate.getSeconds() > 0);\n }\n function setupInputs() {\n self.input = getInputElem();\n if (!self.input) {\n self.config.errorHandler(new Error(\"Invalid input element specified\"));\n return;\n }\n self.input._type = self.input.type;\n self.input.type = \"text\";\n self.input.classList.add(\"flatpickr-input\");\n self._input = self.input;\n if (self.config.altInput) {\n self.altInput = createElement(self.input.nodeName, self.config.altInputClass);\n self._input = self.altInput;\n self.altInput.placeholder = self.input.placeholder;\n self.altInput.disabled = self.input.disabled;\n self.altInput.required = self.input.required;\n self.altInput.tabIndex = self.input.tabIndex;\n self.altInput.type = \"text\";\n self.input.setAttribute(\"type\", \"hidden\");\n if (!self.config.static && self.input.parentNode)\n self.input.parentNode.insertBefore(self.altInput, self.input.nextSibling);\n }\n if (!self.config.allowInput)\n self._input.setAttribute(\"readonly\", \"readonly\");\n updatePositionElement();\n }\n function updatePositionElement() {\n self._positionElement = self.config.positionElement || self._input;\n }\n function setupMobile() {\n var inputType = self.config.enableTime ? self.config.noCalendar ? \"time\" : \"datetime-local\" : \"date\";\n self.mobileInput = createElement(\"input\", self.input.className + \" flatpickr-mobile\");\n self.mobileInput.tabIndex = 1;\n self.mobileInput.type = inputType;\n self.mobileInput.disabled = self.input.disabled;\n self.mobileInput.required = self.input.required;\n self.mobileInput.placeholder = self.input.placeholder;\n self.mobileFormatStr = inputType === \"datetime-local\" ? \"Y-m-d\\\\TH:i:S\" : inputType === \"date\" ? \"Y-m-d\" : \"H:i:S\";\n if (self.selectedDates.length > 0) {\n self.mobileInput.defaultValue = self.mobileInput.value = self.formatDate(self.selectedDates[0], self.mobileFormatStr);\n }\n if (self.config.minDate)\n self.mobileInput.min = self.formatDate(self.config.minDate, \"Y-m-d\");\n if (self.config.maxDate)\n self.mobileInput.max = self.formatDate(self.config.maxDate, \"Y-m-d\");\n if (self.input.getAttribute(\"step\"))\n self.mobileInput.step = String(self.input.getAttribute(\"step\"));\n self.input.type = \"hidden\";\n if (self.altInput !== void 0)\n self.altInput.type = \"hidden\";\n try {\n if (self.input.parentNode)\n self.input.parentNode.insertBefore(self.mobileInput, self.input.nextSibling);\n } catch (_a) {\n }\n bind(self.mobileInput, \"change\", function(e2) {\n self.setDate(getEventTarget(e2).value, false, self.mobileFormatStr);\n triggerEvent(\"onChange\");\n triggerEvent(\"onClose\");\n });\n }\n function toggle(e2) {\n if (self.isOpen === true)\n return self.close();\n self.open(e2);\n }\n function triggerEvent(event, data) {\n if (self.config === void 0)\n return;\n var hooks = self.config[event];\n if (hooks !== void 0 && hooks.length > 0) {\n for (var i2 = 0; hooks[i2] && i2 < hooks.length; i2++)\n hooks[i2](self.selectedDates, self.input.value, self, data);\n }\n if (event === \"onChange\") {\n self.input.dispatchEvent(createEvent(\"change\"));\n self.input.dispatchEvent(createEvent(\"input\"));\n }\n }\n function createEvent(name) {\n var e2 = document.createEvent(\"Event\");\n e2.initEvent(name, true, true);\n return e2;\n }\n function isDateSelected(date) {\n for (var i2 = 0; i2 < self.selectedDates.length; i2++) {\n var selectedDate = self.selectedDates[i2];\n if (selectedDate instanceof Date && compareDates(selectedDate, date) === 0)\n return \"\" + i2;\n }\n return false;\n }\n function isDateInRange(date) {\n if (self.config.mode !== \"range\" || self.selectedDates.length < 2)\n return false;\n return compareDates(date, self.selectedDates[0]) >= 0 && compareDates(date, self.selectedDates[1]) <= 0;\n }\n function updateNavigationCurrentMonth() {\n if (self.config.noCalendar || self.isMobile || !self.monthNav)\n return;\n self.yearElements.forEach(function(yearElement, i2) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i2);\n if (self.config.showMonths > 1 || self.config.monthSelectorType === \"static\") {\n self.monthElements[i2].textContent = monthToStr(d.getMonth(), self.config.shorthandCurrentMonth, self.l10n) + \" \";\n } else {\n self.monthsDropdownContainer.value = d.getMonth().toString();\n }\n yearElement.value = d.getFullYear().toString();\n });\n self._hidePrevMonthArrow = self.config.minDate !== void 0 && (self.currentYear === self.config.minDate.getFullYear() ? self.currentMonth <= self.config.minDate.getMonth() : self.currentYear < self.config.minDate.getFullYear());\n self._hideNextMonthArrow = self.config.maxDate !== void 0 && (self.currentYear === self.config.maxDate.getFullYear() ? self.currentMonth + 1 > self.config.maxDate.getMonth() : self.currentYear > self.config.maxDate.getFullYear());\n }\n function getDateStr(specificFormat) {\n var format = specificFormat || (self.config.altInput ? self.config.altFormat : self.config.dateFormat);\n return self.selectedDates.map(function(dObj) {\n return self.formatDate(dObj, format);\n }).filter(function(d, i2, arr) {\n return self.config.mode !== \"range\" || self.config.enableTime || arr.indexOf(d) === i2;\n }).join(self.config.mode !== \"range\" ? self.config.conjunction : self.l10n.rangeSeparator);\n }\n function updateValue(triggerChange2) {\n if (triggerChange2 === void 0) {\n triggerChange2 = true;\n }\n if (self.mobileInput !== void 0 && self.mobileFormatStr) {\n self.mobileInput.value = self.latestSelectedDateObj !== void 0 ? self.formatDate(self.latestSelectedDateObj, self.mobileFormatStr) : \"\";\n }\n self.input.value = getDateStr(self.config.dateFormat);\n if (self.altInput !== void 0) {\n self.altInput.value = getDateStr(self.config.altFormat);\n }\n if (triggerChange2 !== false)\n triggerEvent(\"onValueUpdate\");\n }\n function onMonthNavClick(e2) {\n var eventTarget = getEventTarget(e2);\n var isPrevMonth = self.prevMonthNav.contains(eventTarget);\n var isNextMonth = self.nextMonthNav.contains(eventTarget);\n if (isPrevMonth || isNextMonth) {\n changeMonth(isPrevMonth ? -1 : 1);\n } else if (self.yearElements.indexOf(eventTarget) >= 0) {\n eventTarget.select();\n } else if (eventTarget.classList.contains(\"arrowUp\")) {\n self.changeYear(self.currentYear + 1);\n } else if (eventTarget.classList.contains(\"arrowDown\")) {\n self.changeYear(self.currentYear - 1);\n }\n }\n function timeWrapper(e2) {\n e2.preventDefault();\n var isKeyDown = e2.type === \"keydown\", eventTarget = getEventTarget(e2), input = eventTarget;\n if (self.amPM !== void 0 && eventTarget === self.amPM) {\n self.amPM.textContent = self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n var min = parseFloat(input.getAttribute(\"min\")), max = parseFloat(input.getAttribute(\"max\")), step = parseFloat(input.getAttribute(\"step\")), curValue = parseInt(input.value, 10), delta = e2.delta || (isKeyDown ? e2.which === 38 ? 1 : -1 : 0);\n var newValue = curValue + step * delta;\n if (typeof input.value !== \"undefined\" && input.value.length === 2) {\n var isHourElem = input === self.hourElement, isMinuteElem = input === self.minuteElement;\n if (newValue < min) {\n newValue = max + newValue + int(!isHourElem) + (int(isHourElem) && int(!self.amPM));\n if (isMinuteElem)\n incrementNumInput(void 0, -1, self.hourElement);\n } else if (newValue > max) {\n newValue = input === self.hourElement ? newValue - max - int(!self.amPM) : min;\n if (isMinuteElem)\n incrementNumInput(void 0, 1, self.hourElement);\n }\n if (self.amPM && isHourElem && (step === 1 ? newValue + curValue === 23 : Math.abs(newValue - curValue) > step)) {\n self.amPM.textContent = self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n input.value = pad(newValue);\n }\n }\n init();\n return self;\n}\nfunction _flatpickr(nodeList, config) {\n var nodes = Array.prototype.slice.call(nodeList).filter(function(x) {\n return x instanceof HTMLElement;\n });\n var instances = [];\n for (var i2 = 0; i2 < nodes.length; i2++) {\n var node = nodes[i2];\n try {\n if (node.getAttribute(\"data-fp-omit\") !== null)\n continue;\n if (node._flatpickr !== void 0) {\n node._flatpickr.destroy();\n node._flatpickr = void 0;\n }\n node._flatpickr = FlatpickrInstance(node, config || {});\n instances.push(node._flatpickr);\n } catch (e2) {\n console.error(e2);\n }\n }\n return instances.length === 1 ? instances[0] : instances;\n}\nif (typeof HTMLElement !== \"undefined\" && typeof HTMLCollection !== \"undefined\" && typeof NodeList !== \"undefined\") {\n HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function(config) {\n return _flatpickr(this, config);\n };\n HTMLElement.prototype.flatpickr = function(config) {\n return _flatpickr([this], config);\n };\n}\nvar flatpickr = function(selector, config) {\n if (typeof selector === \"string\") {\n return _flatpickr(window.document.querySelectorAll(selector), config);\n } else if (selector instanceof Node) {\n return _flatpickr([selector], config);\n } else {\n return _flatpickr(selector, config);\n }\n};\nflatpickr.defaultConfig = {};\nflatpickr.l10ns = {\n en: __assign({}, default_default),\n default: __assign({}, default_default)\n};\nflatpickr.localize = function(l10n) {\n flatpickr.l10ns.default = __assign(__assign({}, flatpickr.l10ns.default), l10n);\n};\nflatpickr.setDefaults = function(config) {\n flatpickr.defaultConfig = __assign(__assign({}, flatpickr.defaultConfig), config);\n};\nflatpickr.parseDate = createDateParser({});\nflatpickr.formatDate = createDateFormatter({});\nflatpickr.compareDates = compareDates;\nif (typeof jQuery !== \"undefined\" && typeof jQuery.fn !== \"undefined\") {\n jQuery.fn.flatpickr = function(config) {\n return _flatpickr(this, config);\n };\n}\nDate.prototype.fp_incr = function(days) {\n return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === \"string\" ? parseInt(days, 10) : days));\n};\nif (typeof window !== \"undefined\") {\n window.flatpickr = flatpickr;\n}\nvar esm_default = flatpickr;\n\n// src/components/jb-date-picker/_flatpickr.scss?inline\nvar flatpickr_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n/* stylelint-disable */\n.flatpickr-calendar.animate.open {\n border-radius: 0;\n box-shadow: 0 0 7px rgba(0, 0, 0, 0.4);\n background: white;\n}\n.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-current-month {\n pointer-events: none;\n text-align: center;\n}\n.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-current-month select::-ms-expand {\n display: none;\n}\n.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-current-month .flatpickr-monthDropdown-months {\n text-align: right;\n text-align-last: right;\n direction: rtl;\n}\n.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {\n text-align: right;\n direction: rtl;\n display: none;\n}\n.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-next-month {\n padding: 0;\n margin-top: 10px;\n margin-right: 20px;\n margin-left: 20px;\n}\n.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-prev-month {\n padding: 0;\n margin-top: 10px;\n margin-right: 20px;\n margin-left: 20px;\n}\n.flatpickr-calendar.animate.open .flatpickr-innerContainer .flatpickr-rContainer .flatpickr-weekdays .flatpickr-weekday {\n font-weight: 700;\n font-family: \"VerlagSSm\";\n color: #141e55;\n text-transform: uppercase;\n font-size: 11px;\n font-size: 0.6875rem;\n line-height: 16px;\n line-height: 1rem;\n letter-spacing: 1px;\n letter-spacing: 0.0625rem;\n}\n.flatpickr-calendar.animate.open .flatpickr-innerContainer .flatpickr-rContainer .flatpickr-days .dayContainer {\n padding-bottom: 20px;\n}\n.flatpickr-calendar.animate.open .flatpickr-innerContainer .flatpickr-rContainer .flatpickr-days .dayContainer .flatpickr-day {\n font-weight: 700;\n font-family: \"VerlagSSm\";\n color: rgba(20, 30, 85, 0.4);\n border-bottom: rgba(20, 30, 85, 0.4) 1px solid;\n letter-spacing: 0.094rem;\n text-transform: uppercase;\n opacity: 1;\n font-size: 11px;\n font-size: 0.6875rem;\n line-height: 16px;\n line-height: 1rem;\n}\n.flatpickr-calendar.animate.open .flatpickr-innerContainer .flatpickr-rContainer .flatpickr-days .dayContainer .flatpickr-disabled {\n color: rgba(20, 30, 85, 0.1);\n border-bottom: rgba(20, 30, 85, 0.1) 1px solid;\n}\n.flatpickr-calendar.animate.open .flatpickr-innerContainer .flatpickr-rContainer .flatpickr-days .dayContainer .flatpickr-day.selected {\n background: #eff0f5;\n opacity: 1;\n}\n.flatpickr-calendar.animate.open .flatpickr-innerContainer .flatpickr-rContainer .flatpickr-days .dayContainer .flatpickr-day.today {\n opacity: 1;\n color: #141e55;\n border-bottom: #141e55 1px solid;\n}\n\n.flatpickr-calendar {\n background: transparent;\n opacity: 0;\n display: none;\n text-align: center;\n visibility: hidden;\n padding: 0;\n -webkit-animation: none;\n animation: none;\n box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.4);\n direction: ltr;\n border: 0;\n font-size: 0.875;\n line-height: 1.5rem;\n border-radius: 5px;\n position: absolute;\n width: 307.875px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n background: rgba(20, 30, 85, 0.2);\n -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);\n box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);\n}\n\n.flatpickr-calendar.open,\n.flatpickr-calendar.inline {\n opacity: 1;\n max-height: 640px;\n visibility: visible;\n}\n\n.flatpickr-calendar.open {\n display: inline-block;\n z-index: 99999;\n}\n\n.flatpickr-calendar.animate.open {\n -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);\n animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.flatpickr-calendar.inline {\n display: block;\n position: relative;\n top: 2px;\n}\n\n.flatpickr-calendar.static {\n position: absolute;\n top: calc(100% + 2px);\n}\n\n.flatpickr-calendar.static.open {\n z-index: 999;\n display: block;\n}\n\n.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n}\n\n.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {\n -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;\n box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;\n}\n\n.flatpickr-calendar .hasWeeks .dayContainer,\n.flatpickr-calendar .hasTime .dayContainer {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.flatpickr-calendar .hasWeeks .dayContainer {\n border-left: 0;\n}\n\n.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time {\n height: 40px;\n border-top: 1px solid #e6e6e6;\n}\n\n.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {\n height: auto;\n}\n\n.flatpickr-calendar::before,\n.flatpickr-calendar::after {\n position: absolute;\n display: block;\n pointer-events: none;\n border: solid transparent;\n content: \"\";\n height: 0;\n width: 0;\n left: 22px;\n}\n\n.flatpickr-calendar.rightMost::before,\n.flatpickr-calendar.rightMost::after {\n left: auto;\n right: 22px;\n}\n\n.flatpickr-calendar::before {\n border-width: 5px;\n margin: 0 -5px;\n}\n\n.flatpickr-calendar::after {\n border-width: 4px;\n margin: 0 -4px;\n}\n\n.flatpickr-calendar.arrowTop::before,\n.flatpickr-calendar.arrowTop::after {\n content: none;\n bottom: 100%;\n}\n\n.flatpickr-calendar.arrowTop::before {\n border-bottom-color: #e6e6e6;\n}\n\n.flatpickr-calendar.arrowTop::after {\n border-bottom-color: #141e55;\n}\n\n.flatpickr-calendar.arrowBottom::before,\n.flatpickr-calendar.arrowBottom::after {\n top: 100%;\n}\n\n.flatpickr-calendar.arrowBottom::before {\n border-bottom-color: #141e55;\n}\n\n.flatpickr-calendar.arrowBottom::after {\n border-top-color: #fff;\n}\n\n.flatpickr-calendar:focus {\n outline: 0;\n}\n\n.flatpickr-wrapper {\n position: relative;\n display: inline-block;\n}\n\n.flatpickr-months {\n display: -webkit-box;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n height: 67px;\n padding-top: 20px;\n}\n\n.flatpickr-months .flatpickr-month {\n background: transparent;\n color: rgba(0, 0, 0, 0.9);\n fill: rgba(0, 0, 0, 0.9);\n height: 37px;\n line-height: 1;\n text-align: center;\n position: relative;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n overflow: hidden;\n -webkit-box-flex: 1;\n -webkit-flex: 1;\n -ms-flex: 1;\n flex: 1;\n}\n\n.flatpickr-months .flatpickr-prev-month,\n.flatpickr-months .flatpickr-next-month {\n text-decoration: none;\n cursor: pointer;\n position: absolute;\n top: 20px;\n height: 37px;\n padding: 10px;\n z-index: 3;\n color: rgba(0, 0, 0, 0.9);\n fill: rgba(0, 0, 0, 0.9);\n}\n\n.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,\n.flatpickr-months .flatpickr-next-month.flatpickr-disabled {\n display: none;\n}\n\n.flatpickr-months .flatpickr-prev-month i,\n.flatpickr-months .flatpickr-next-month i {\n position: relative;\n}\n\n.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,\n.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {\n /*\n /*rtl:begin:ignore */\n left: 0;\n /*\n /*rtl:end:ignore */\n}\n\n/*\n /*rtl:begin:ignore */\n/*\n /*rtl:end:ignore */\n.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,\n.flatpickr-months .flatpickr-next-month.flatpickr-next-month {\n /*\n /*rtl:begin:ignore */\n right: 0;\n /*\n /*rtl:end:ignore */\n}\n\n/*\n /*rtl:begin:ignore */\n/*\n /*rtl:end:ignore */\n.flatpickr-months .flatpickr-prev-month:hover,\n.flatpickr-months .flatpickr-next-month:hover {\n color: #959ea9;\n}\n\n.flatpickr-months .flatpickr-prev-month:hover svg,\n.flatpickr-months .flatpickr-next-month:hover svg {\n fill: #f64747;\n}\n\n.flatpickr-months .flatpickr-prev-month svg,\n.flatpickr-months .flatpickr-next-month svg {\n width: 27px;\n height: 20px;\n}\n\n.flatpickr-months .flatpickr-prev-month svg path,\n.flatpickr-months .flatpickr-next-month svg path {\n -webkit-transition: fill 0.1s;\n transition: fill 0.1s;\n fill: inherit;\n}\n\n.numInputWrapper {\n position: relative;\n height: auto;\n}\n\n.numInputWrapper input,\n.numInputWrapper span {\n display: inline-block;\n}\n\n.numInputWrapper input {\n width: 100%;\n}\n\n.numInputWrapper input::-ms-clear {\n display: none;\n}\n\n.numInputWrapper input::-webkit-outer-spin-button,\n.numInputWrapper input::-webkit-inner-spin-button {\n margin: 0;\n -webkit-appearance: none;\n}\n\n.numInputWrapper span {\n position: absolute;\n right: 0;\n width: 14px;\n padding: 0 4px 0 2px;\n height: 50%;\n line-height: 50%;\n opacity: 0;\n cursor: pointer;\n border: 1px solid rgba(57, 57, 57, 0.15);\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n\n.numInputWrapper span:hover {\n background: rgba(0, 0, 0, 0.1);\n}\n\n.numInputWrapper span:active {\n background: rgba(0, 0, 0, 0.2);\n}\n\n.numInputWrapper span::after {\n display: block;\n content: \"\";\n position: absolute;\n}\n\n.numInputWrapper span.arrowUp {\n top: 0;\n border-bottom: 0;\n}\n\n.numInputWrapper span.arrowUp::after {\n border-left: 4px solid transparent;\n border-right: 4px solid transparent;\n border-bottom: 4px solid rgba(57, 57, 57, 0.6);\n top: 26%;\n}\n\n.numInputWrapper span.arrowDown {\n top: 50%;\n}\n\n.numInputWrapper span.arrowDown::after {\n border-left: 4px solid transparent;\n border-right: 4px solid transparent;\n border-top: 4px solid rgba(57, 57, 57, 0.6);\n top: 40%;\n}\n\n.numInputWrapper span svg {\n width: inherit;\n height: auto;\n}\n\n.numInputWrapper span svg path {\n fill: rgba(0, 0, 0, 0.5);\n}\n\n.numInputWrapper:hover {\n background: rgba(0, 0, 0, 0.05);\n}\n\n.numInputWrapper:hover span {\n opacity: 1;\n}\n\n.flatpickr-current-month {\n font-size: 135%;\n line-height: inherit;\n font-weight: 300;\n color: inherit;\n position: absolute;\n width: 75%;\n left: 12.5%;\n padding: 5.48px 0 0 0;\n line-height: 1;\n height: 37px;\n display: inline-block;\n text-align: center;\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n}\n\n.flatpickr-current-month span.cur-month {\n font-family: inherit;\n font-weight: 700;\n color: inherit;\n display: inline-block;\n margin-left: 0.5ch;\n padding: 0;\n}\n\n.flatpickr-current-month span.cur-month:hover {\n background: rgba(0, 0, 0, 0.05);\n}\n\n.flatpickr-current-month .numInputWrapper {\n display: inline-block;\n font-family: \"VerlagSSm\", sans-serif;\n font-weight: 300;\n font-size: 1.375rem;\n color: #141e55;\n text-align: center;\n line-height: 1.875rem;\n width: 6ch;\n -webkit-appearance: none;\n}\n\n.flatpickr-current-month .numInputWrapper span.arrowUp::after {\n border-bottom-color: rgba(0, 0, 0, 0.9);\n}\n\n.flatpickr-current-month .numInputWrapper span.arrowDown::after {\n border-top-color: rgba(0, 0, 0, 0.9);\n}\n\n.flatpickr-current-month input.cur-year {\n background: transparent;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: inherit;\n cursor: text;\n padding: 0 0 0 0.5ch;\n margin: 0;\n display: inline-block;\n font-size: inherit;\n font-family: inherit;\n font-weight: 300;\n line-height: inherit;\n height: auto;\n border: 0;\n border-radius: 0;\n vertical-align: initial;\n -webkit-appearance: textfield;\n -moz-appearance: textfield;\n appearance: textfield;\n}\n\n.flatpickr-current-month input.cur-year:focus {\n outline: 0;\n}\n\n.flatpickr-current-month input.cur-year[disabled],\n.flatpickr-current-month input.cur-year[disabled]:hover {\n font-size: 100%;\n color: rgba(0, 0, 0, 0.5);\n background: transparent;\n pointer-events: none;\n}\n\n.flatpickr-current-month .flatpickr-monthDropdown-months {\n appearance: menulist;\n background: transparent;\n border: none;\n border-radius: 0;\n box-sizing: border-box;\n color: inherit;\n cursor: pointer;\n font-size: inherit;\n font-family: inherit;\n font-weight: 300;\n height: auto;\n line-height: inherit;\n margin: -1px 0 0 0;\n outline: none;\n padding: 0 0 0 0.5ch;\n position: relative;\n vertical-align: initial;\n -webkit-box-sizing: border-box;\n -webkit-appearance: none;\n margin: 0;\n width: auto;\n font-family: \"VerlagSSm\", sans-serif;\n font-weight: 300;\n font-size: 1.375rem;\n color: #141e55;\n text-align: center;\n line-height: 1.875rem;\n}\n\n.flatpickr-monthDropdown-months option:checked {\n background: red;\n}\n\n.flatpickr-current-month .flatpickr-monthDropdown-months:focus,\n.flatpickr-current-month .flatpickr-monthDropdown-months:active {\n outline: none;\n}\n\n.flatpickr-current-month .flatpickr-monthDropdown-months:hover {\n background: rgba(0, 0, 0, 0.05);\n}\n\n.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {\n background-color: transparent;\n outline: none;\n padding: 0;\n font-family: \"VerlagSSm\", sans-serif;\n font-weight: 300;\n font-size: 0.813rem;\n color: #141e55;\n text-align: center;\n line-height: 1.25rem;\n}\n\n.flatpickr-weekdays {\n background: transparent;\n text-align: center;\n overflow: hidden;\n width: 100%;\n display: -webkit-box;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -webkit-align-items: center;\n -ms-flex-align: center;\n align-items: center;\n height: 28px;\n}\n\n.flatpickr-weekdays .flatpickr-weekdaycontainer {\n padding: 0 20px;\n display: -webkit-box;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-flex: 1;\n -webkit-flex: 1;\n -ms-flex: 1;\n flex: 1;\n}\n\nspan.flatpickr-weekday {\n cursor: default;\n font-size: 90%;\n background: transparent;\n color: rgba(0, 0, 0, 0.54);\n line-height: 1;\n margin: 0;\n text-align: center;\n display: block;\n -webkit-box-flex: 1;\n -webkit-flex: 1;\n -ms-flex: 1;\n flex: 1;\n font-family: \"VerlagSSm\", sans-serif;\n font-weight: 700;\n font-size: 0.688rem;\n color: #141e55;\n letter-spacing: 0.063rem;\n text-align: center;\n line-height: 1rem;\n font-weight: 700;\n text-transform: uppercase;\n}\n\n.dayContainer,\n.flatpickr-weeks {\n padding: 1px 0 0 0;\n}\n\n.flatpickr-days {\n position: relative;\n overflow: hidden;\n display: -webkit-box;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: start;\n -webkit-align-items: flex-start;\n -ms-flex-align: start;\n align-items: flex-start;\n width: 307.875px;\n}\n\n.flatpickr-days:focus {\n outline: 0;\n}\n\n.dayContainer {\n padding: 0 17px;\n outline: 0;\n text-align: left;\n width: 307.875px;\n min-width: 307.875px;\n max-width: 307.875px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n display: inline-block;\n display: -ms-flexbox;\n display: -webkit-box;\n display: -webkit-flex;\n display: flex;\n -webkit-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-wrap: wrap;\n -ms-flex-pack: justify;\n -webkit-justify-content: space-around;\n justify-content: space-around;\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n opacity: 1;\n}\n\n.dayContainer + .dayContainer {\n -webkit-box-shadow: -1px 0 0 #e6e6e6;\n box-shadow: -1px 0 0 #e6e6e6;\n}\n\n.flatpickr-day {\n background: none;\n border-bottom: 1px solid #141e55;\n opacity: 0.3;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n color: #141e55;\n cursor: pointer;\n font-weight: 400;\n width: 14.2857143%;\n -webkit-flex-basis: 14.2857143%;\n -ms-flex-preferred-size: 14.2857143%;\n flex-basis: 14.2857143%;\n max-width: 34px;\n height: 30px;\n line-height: 30px;\n margin: 0;\n display: inline-block;\n margin-right: 5px;\n margin-bottom: 5px;\n position: relative;\n -webkit-box-pack: center;\n -webkit-justify-content: center;\n -ms-flex-pack: center;\n justify-content: center;\n text-align: center;\n}\n\n.flatpickr-day.inRange,\n.flatpickr-day.prevMonthDay.inRange,\n.flatpickr-day.nextMonthDay.inRange,\n.flatpickr-day.today.inRange,\n.flatpickr-day.prevMonthDay.today.inRange,\n.flatpickr-day.nextMonthDay.today.inRange,\n.flatpickr-day:hover,\n.flatpickr-day.prevMonthDay:hover,\n.flatpickr-day.nextMonthDay:hover,\n.flatpickr-day:focus,\n.flatpickr-day.prevMonthDay:focus,\n.flatpickr-day.nextMonthDay:focus {\n cursor: pointer;\n outline: 0;\n background: transparent;\n border-bottom-color: #141e55;\n}\n\n.flatpickr-day.today {\n border-bottom: 1px solid #141e55;\n position: relative;\n z-index: 10;\n opacity: 1;\n}\n\n.flatpickr-day.today:hover,\n.flatpickr-day.today:focus {\n background: transparent;\n color: rgba(20, 30, 85, 0.6);\n border-bottom: 1px solid #141e55;\n}\n\n.flatpickr-day.selected,\n.flatpickr-day.startRange,\n.flatpickr-day.endRange,\n.flatpickr-day.selected.inRange,\n.flatpickr-day.startRange.inRange,\n.flatpickr-day.endRange.inRange,\n.flatpickr-day.selected:focus,\n.flatpickr-day.startRange:focus,\n.flatpickr-day.endRange:focus,\n.flatpickr-day.selected:hover,\n.flatpickr-day.startRange:hover,\n.flatpickr-day.endRange:hover,\n.flatpickr-day.selected.prevMonthDay,\n.flatpickr-day.startRange.prevMonthDay,\n.flatpickr-day.endRange.prevMonthDay,\n.flatpickr-day.selected.nextMonthDay,\n.flatpickr-day.startRange.nextMonthDay,\n.flatpickr-day.endRange.nextMonthDay {\n background: #569ff7;\n -webkit-box-shadow: none;\n box-shadow: none;\n color: #fff;\n border-color: #569ff7;\n}\n\n.flatpickr-day.selected.startRange,\n.flatpickr-day.startRange.startRange,\n.flatpickr-day.endRange.startRange {\n border-radius: 50px 0 0 50px;\n}\n\n.flatpickr-day.selected.endRange,\n.flatpickr-day.startRange.endRange,\n.flatpickr-day.endRange.endRange {\n border-radius: 0 50px 50px 0;\n}\n\n.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),\n.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),\n.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {\n -webkit-box-shadow: -10px 0 0 #569ff7;\n box-shadow: -10px 0 0 #569ff7;\n}\n\n.flatpickr-day.selected.startRange.endRange,\n.flatpickr-day.startRange.startRange.endRange,\n.flatpickr-day.endRange.startRange.endRange {\n border-radius: 50px;\n}\n\n.flatpickr-day.inRange {\n border-radius: 0;\n -webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;\n box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;\n}\n\n.flatpickr-day.flatpickr-disabled,\n.flatpickr-day.flatpickr-disabled:hover,\n.flatpickr-day.prevMonthDay,\n.flatpickr-day.nextMonthDay,\n.flatpickr-day.notAllowed,\n.flatpickr-day.notAllowed.prevMonthDay,\n.flatpickr-day.notAllowed.nextMonthDay {\n color: rgba(57, 57, 57, 0.3);\n background: transparent;\n border-color: transparent;\n cursor: none;\n opacity: 0;\n}\n\n.flatpickr-day.prevMonthDay:hover {\n cursor: default;\n}\n\n.flatpickr-disabled,\n.flatpickr-day.flatpickr-disabled:hover {\n cursor: not-allowed;\n color: rgba(57, 57, 57, 0.1);\n}\n\n.flatpickr-day.week.selected {\n border-radius: 0;\n -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;\n box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;\n}\n\n.flatpickr-day.hidden {\n visibility: hidden;\n}\n\n.rangeMode .flatpickr-day {\n margin-top: 1px;\n}\n\n.flatpickr-weekwrapper {\n float: left;\n}\n\n.flatpickr-weekwrapper .flatpickr-weeks {\n padding: 0 12px;\n -webkit-box-shadow: 1px 0 0 #e6e6e6;\n box-shadow: 1px 0 0 #e6e6e6;\n}\n\n.flatpickr-weekwrapper .flatpickr-weekday {\n float: none;\n width: 100%;\n line-height: 28px;\n}\n\n.flatpickr-weekwrapper span.flatpickr-day,\n.flatpickr-weekwrapper span.flatpickr-day:hover {\n display: block;\n width: 100%;\n max-width: none;\n color: rgba(57, 57, 57, 0.3);\n background: transparent;\n cursor: default;\n border: none;\n}\n\n.flatpickr-innerContainer {\n display: block;\n display: -webkit-box;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n overflow: hidden;\n}\n\n.flatpickr-rContainer {\n display: inline-block;\n padding: 0;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n\n.flatpickr-time {\n text-align: center;\n outline: 0;\n display: block;\n height: 0;\n line-height: 40px;\n max-height: 40px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n overflow: hidden;\n display: -webkit-box;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n}\n\n.flatpickr-time::after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n.flatpickr-time .numInputWrapper {\n -webkit-box-flex: 1;\n -webkit-flex: 1;\n -ms-flex: 1;\n flex: 1;\n width: 40%;\n height: 40px;\n float: left;\n}\n\n.flatpickr-time .numInputWrapper span.arrowUp::after {\n border-bottom-color: #141e55;\n}\n\n.flatpickr-time .numInputWrapper span.arrowDown::after {\n border-top-color: #141e55;\n}\n\n.flatpickr-time.hasSeconds .numInputWrapper {\n width: 26%;\n}\n\n.flatpickr-time.time24hr .numInputWrapper {\n width: 49%;\n}\n\n.flatpickr-time input {\n background: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n border: 0;\n border-radius: 0;\n text-align: center;\n margin: 0;\n padding: 0;\n height: inherit;\n line-height: inherit;\n color: #141e55;\n font-size: 0.875rem;\n position: relative;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-appearance: textfield;\n -moz-appearance: textfield;\n appearance: textfield;\n}\n\n.flatpickr-time input.flatpickr-hour {\n font-weight: bold;\n}\n\n.flatpickr-time input.flatpickr-minute,\n.flatpickr-time input.flatpickr-second {\n font-weight: 400;\n}\n\n.flatpickr-time input:focus {\n outline: 0;\n border: 0;\n}\n\n.flatpickr-time .flatpickr-time-separator,\n.flatpickr-time .flatpickr-am-pm {\n height: inherit;\n float: left;\n line-height: inherit;\n color: #141e55;\n font-weight: bold;\n width: 2%;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n -webkit-align-self: center;\n -ms-flex-item-align: center;\n align-self: center;\n}\n\n.flatpickr-time .flatpickr-am-pm {\n outline: 0;\n width: 18%;\n cursor: pointer;\n text-align: center;\n font-weight: 400;\n}\n\n.flatpickr-time input:hover,\n.flatpickr-time .flatpickr-am-pm:hover,\n.flatpickr-time input:focus,\n.flatpickr-time .flatpickr-am-pm:focus {\n background: #eee;\n}\n\n.flatpickr-input[readonly] {\n cursor: pointer;\n font-family: \"VerlagSSm\", sans-serif;\n font-weight: 300;\n font-size: 1rem;\n color: #141e55;\n text-align: left;\n line-height: 1.625rem;\n}\n\n@-webkit-keyframes fpFadeInDown {\n from {\n opacity: 0;\n -webkit-transform: translate3d(0, -20px, 0);\n transform: translate3d(0, -20px, 0);\n }\n to {\n opacity: 1;\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n@keyframes fpFadeInDown {\n from {\n opacity: 0;\n -webkit-transform: translate3d(0, -20px, 0);\n transform: translate3d(0, -20px, 0);\n }\n to {\n opacity: 1;\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n/* stylelint-enable */`;\n\n// src/components/jb-date-picker/jb-date-picker.scss?inline\nvar jb_date_picker_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.error p, div input::placeholder, div label {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\ndiv input::placeholder, div label {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--text-opacity, var(--theme-opacity-80, 0.8)));\n font-size: 1rem;\n line-height: 1.625rem;\n}\n\n.error p {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--text-opacity, var(--theme-opacity-70, 0.7)));\n font-size: 0.813rem;\n line-height: 1.25rem;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: inline-block;\n width: 100%;\n}\n\ndiv {\n width: 100%;\n}\ndiv label {\n display: block;\n margin-bottom: 25px;\n position: relative;\n}\ndiv label::before {\n background-image: url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg version='1.1' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(0 -56)' fill='%23141E55'%3E%3Cg transform='translate(0 56)'%3E%3Cpath d='m6.8804 15.925h-4.5721c-1.2728 0-2.3084-1.0355-2.3084-2.3083v-4.9624c0-0.36133 0.29288-0.65421 0.65421-0.65421 0.36133 0 0.65421 0.29288 0.65421 0.65421v4.9624c0 0.55134 0.44857 0.99991 0.99994 0.99991h6.7994 4.5721c0.55137 0 0.99994-0.44857 0.99994-0.99991v-4.9624c0-0.36133 0.29288-0.65421 0.65421-0.65421 0.36133 0 0.65421 0.29288 0.65421 0.65421v4.9624c0 1.2728-1.0356 2.3083-2.3084 2.3083h-6.7994zm0-15.925h6.7994c1.2728 0 2.3084 1.0355 2.3084 2.3083v4.9624c0 0.36133-0.29288 0.65421-0.65421 0.65421-0.36133 0-0.65421-0.29288-0.65421-0.65421v-4.9624c0-0.55134-0.44857-0.99991-0.99994-0.99991h-4.5721-6.7994c-0.55137 0-0.99994 0.44857-0.99994 0.99991v4.9624c0 0.36133-0.29288 0.65421-0.65421 0.65421-0.36133 0-0.65421-0.29288-0.65421-0.65421v-4.9624c0-1.2728 1.0356-2.3083 2.3084-2.3083h4.5721zm-1.8804 4c0.55228 0 1 0.44772 1 1s-0.44772 1-1 1-1-0.44772-1-1 0.44772-1 1-1zm0 3c0.55228 0 1 0.44772 1 1s-0.44772 1-1 1-1-0.44772-1-1 0.44772-1 1-1zm0 3c0.55228 0 1 0.44772 1 1s-0.44772 1-1 1-1-0.44772-1-1 0.44772-1 1-1zm3-6c0.55228 0 1 0.44772 1 1s-0.44772 1-1 1-1-0.44772-1-1 0.44772-1 1-1zm0 3c0.55228 0 1 0.44772 1 1s-0.44772 1-1 1-1-0.44772-1-1 0.44772-1 1-1zm0 3c0.55228 0 1 0.44772 1 1s-0.44772 1-1 1-1-0.44772-1-1 0.44772-1 1-1zm3-6c0.55228 0 1 0.44772 1 1s-0.44772 1-1 1-1-0.44772-1-1 0.44772-1 1-1zm0 3c0.55228 0 1 0.44772 1 1s-0.44772 1-1 1-1-0.44772-1-1 0.44772-1 1-1zm0 3c0.55228 0 1 0.44772 1 1s-0.44772 1-1 1-1-0.44772-1-1 0.44772-1 1-1z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\");\n background-position: center;\n background-repeat: no-repeat;\n background-size: contain;\n content: \"\";\n height: 16px;\n left: 0;\n position: absolute;\n top: 56px;\n width: 16px;\n z-index: 1;\n}\ndiv input {\n border: none;\n border-bottom: 1px solid rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n display: block;\n outline: none;\n padding-bottom: 5px;\n padding-left: 26px;\n width: 100%;\n}\ndiv input::placeholder {\n color: rgba(20, 30, 85, var(--theme-opacity-80, 0.8));\n}\n\n.error label {\n color: #971b2f;\n}\n.error input {\n border-color: #971b2f;\n}\n.error input::placeholder {\n color: #971b2f;\n}\n.error p {\n color: #971b2f;\n display: block;\n flex-basis: 100%;\n margin-top: 10px;\n position: relative;\n}`;\n\n// src/components/jb-date-picker/jb-date-picker.ts\nvar JbDatePicker = class extends Initiable(FormElement(h)) {\n firstUpdated() {\n const options = {\n altInput: false,\n altFormat: \"F j, Y\",\n dateFormat: this.format,\n prevArrow: '',\n nextArrow: '',\n locale: {\n firstDayOfWeek: 1,\n weekdays: {\n shorthand: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n longhand: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]\n }\n },\n appendTo: this._container,\n static: true,\n position: \"below\"\n };\n if (this.disableWeekends) {\n options.disable = [\n function(date) {\n return date.getDay() === 0 || date.getDay() === 6;\n }\n ];\n }\n esm_default(this._datePicker, options);\n }\n _handleInputChange(e2) {\n this.value = e2.target.value;\n }\n render() {\n return ke`\n \n \n \n ${this.showError ? ke`

    ${this.requiredText}

    ` : D}\n ${this.errorText ? ke`

    ${this.errorText}

    ` : D}\n \n `;\n }\n};\nJbDatePicker.styles = r([jb_date_picker_default, flatpickr_default]);\n__decorateClass([\n n({ type: Boolean })\n], JbDatePicker.prototype, \"disableWeekends\", 2);\n__decorateClass([\n n()\n], JbDatePicker.prototype, \"format\", 2);\n__decorateClass([\n n()\n], JbDatePicker.prototype, \"placeholder\", 2);\n__decorateClass([\n e(\"div\")\n], JbDatePicker.prototype, \"_container\", 2);\n__decorateClass([\n e(\".date-picker\")\n], JbDatePicker.prototype, \"_datePicker\", 2);\nJbDatePicker = __decorateClass([\n customElement(\"jb-date-picker\")\n], JbDatePicker);\n\nexport {\n JbDatePicker\n};\n", "import {\n JbUpload\n} from \"./chunk.NPPUQA4O.js\";\nimport {\n JbTextArea\n} from \"./chunk.BJJ5PNCU.js\";\nimport {\n JbTextField\n} from \"./chunk.GQ4TGWC7.js\";\nimport {\n JbRadio\n} from \"./chunk.P37ZQKMH.js\";\nimport {\n JbMultiCheckbox\n} from \"./chunk.LEEHA55O.js\";\nimport {\n JbInfoBox\n} from \"./chunk.PLAKMPEF.js\";\nimport {\n JbDatePicker\n} from \"./chunk.ZHFQDBJP.js\";\nimport {\n JbSelect\n} from \"./chunk.OUQ73RZJ.js\";\nimport {\n JbRichtext\n} from \"./chunk.MRDK22UH.js\";\nimport {\n JbCheckbox\n} from \"./chunk.KTE6IORC.js\";\nimport {\n JbButtonPrimary\n} from \"./chunk.HREF7OKC.js\";\nimport {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n setLink\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-form/jb-form.scss?inline\nvar jb_form_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\np.general-concern {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\np, h5, h3 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\np.general-concern {\n font-size: var(--theme-typo-uppercase-700-fontsize, 0.688rem);\n letter-spacing: var(--theme-typo-uppercase-700-letterspacing, 0.063rem);\n line-height: var(--theme-typo-uppercase-700-lineheight, 1rem);\n text-transform: uppercase;\n}\n\nh3 {\n font-size: var(--theme-typo-h3-mobile-fontsize, 1.375rem);\n line-height: var(--theme-typo-h3-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n h3 {\n font-size: var(--theme-typo-h3-desktop-fontsize, 1.625rem);\n line-height: var(--theme-typo-h3-desktop-lineheight, 2.25rem);\n }\n}\n\nh5 {\n font-size: var(--theme-typo-p-big-mobile-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-big-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n h5 {\n font-size: var(--theme-typo-p-big-desktop-fontsize, 1.375rem);\n line-height: var(--theme-typo-p-big-desktop-lineheight, 2.125rem);\n }\n}\n\np {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n --slotted-margin-block-start: calc(var(--spacing-small) - var(--spacing-xs));\n --textarea-title-margin-top: 38px;\n --textarea-title-margin-bottom: 20px;\n}\n\ninput.internal {\n background: none;\n border: 0;\n display: block;\n height: 0;\n padding: 0;\n}\n\nlabel.internal {\n display: block;\n font-size: 0;\n height: 0;\n padding: 0;\n}\n\nbutton[type=submit].hidden {\n display: none;\n}\n\n.bordered {\n border: 1px solid rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n padding: var(--spacing-lm);\n --button-secondary-margin: 20px 0 10px 0;\n}\n.bordered .grid {\n row-gap: var(--spacing-sm);\n}\n\n::slotted(jb-button-primary) {\n inline-size: 100%;\n}\n@media (min-width: 960px) {\n ::slotted(jb-button-primary) {\n inline-size: auto;\n }\n}\n\np {\n text-align: center;\n}\np.general-concern {\n color: rgba(var(--rgb-primary, 20, 30, 85), 0.8);\n margin-block-end: var(--spacing-xs);\n}\n\nh5 {\n margin-block-end: var(--spacing-2xs);\n text-align: center;\n}\n\nh3 {\n margin-block: var(--spacing-small) var(--spacing-2xs);\n --textarea-paragraph-margin-bottom: 0;\n}\n\nslot.grid {\n display: grid;\n gap: var(--spacing-xs) 40px;\n justify-items: start;\n}\n@media (min-width: 960px) {\n slot.grid {\n grid-template-columns: repeat(2, 1fr);\n }\n}\nslot.flex {\n display: grid;\n gap: var(--form-flex-gap, var(--spacing-s));\n grid-template-columns: 1fr max-content;\n}\n\njb-section-headline {\n padding-block-end: var(--spacing-lm);\n}\n\n::slotted(.combine) {\n display: inherit;\n gap: inherit;\n inline-size: 100%;\n justify-items: inherit;\n position: relative;\n}\n@media (min-width: 960px) {\n ::slotted(.combine) {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n::slotted(jb-button-primary),\n::slotted(jb-richtext),\n::slotted(jb-checkbox) {\n margin-block-start: var(--slotted-margin-block-start);\n}\n\n::slotted(jb-richtext:first-child) {\n margin-block-start: var(--spacing-small);\n}\n\n@media (min-width: 960px) {\n ::slotted(:not(.width-half)) {\n grid-column: 1/3;\n }\n}\n\n::slotted(jb-richtext:last-of-type) {\n color: rgba(20, 30, 85, var(--theme-opacity-70, 0.7));\n}`;\n\n// src/components/jb-form/jb-form.ts\nvar JbForm = class extends Initiable(Spaceable(h)) {\n constructor() {\n super(...arguments);\n this.bordered = false;\n this.displayGrid = true;\n }\n static create(formProperties) {\n return new JbForm().init({\n props: formProperties\n });\n }\n updated(_changedProperties) {\n if (!_changedProperties.has(\"contentElements\")) return;\n this._generateForm();\n }\n async firstUpdated() {\n if (this.trackingSubject) {\n const componentObserver = new IntersectionObserver(\n async (entries, observer) => {\n if (entries[0].isIntersecting) {\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_form\",\n event_version: \"v2\",\n component_name: \"contact-form\",\n form_step_name: \"form open\",\n form_step_nr: \"1\",\n form_subject: this.trackingSubject,\n form_type: \"contact\"\n },\n bubbles: true,\n composed: true\n })\n );\n observer.disconnect();\n }\n },\n {\n rootMargin: \"0px\"\n }\n );\n componentObserver.observe(this);\n }\n this._populateReferrerFields();\n this.addEventListener(\"field-update\", (event) => {\n this._storeFieldsToLocalStorage(\n event.detail.field,\n event.detail.changedProperties\n );\n });\n await this.updateComplete;\n this._lastUpdated = Date.now();\n window.parent.postMessage(`formLoaded_${this.formIdentifier}`);\n }\n refreshValues() {\n this._slottedChildren.forEach((elm) => {\n const el = elm;\n if (el.populateValue && el.populateValue()) {\n el.populateValue();\n }\n });\n }\n validate() {\n let isValid = true;\n this._slottedChildren.forEach((child) => {\n if (child.validate) {\n isValid = child.validate() && isValid;\n }\n });\n return isValid;\n }\n _clearStoredData() {\n localStorage.removeItem(\"savedFormData\");\n }\n // Method to generate the form components according to the contentElements property and add them to the slot\n _generateForm() {\n if (!this.contentElements || this.contentElements.length === 0) return;\n while (this.firstChild) {\n this.removeChild(this.firstChild);\n }\n let elm;\n this.contentElements.forEach((element) => {\n if (element.name === \"formRow\") {\n elm = document.createElement(\"div\");\n elm.classList.add(\"combine\");\n element.items?.forEach((singleElement) => {\n const formElm = this._makeFormElement(singleElement);\n if (!formElm) return;\n elm.appendChild(formElm);\n });\n } else {\n elm = this._makeFormElement(element);\n }\n if (!elm) return;\n this.appendChild(elm);\n });\n }\n _getContentSpacingProperties() {\n if (this.bordered) {\n return { grid: \"legacy\", colsMdUp: 8 };\n }\n return { grid: \"legacy\", colsMdUp: 8, colsLgUp: 6 };\n }\n _makeFormElement(componentProp) {\n const componentConstructor = {\n checkbox: JbCheckbox,\n datePicker: JbDatePicker,\n infoBox: JbInfoBox,\n multiCheckbox: JbMultiCheckbox,\n radio: JbRadio,\n richText: JbRichtext,\n select: JbSelect,\n submitButton: JbButtonPrimary,\n textArea: JbTextArea,\n textField: JbTextField,\n upload: JbUpload\n };\n if (!(componentProp.name in componentConstructor)) return void 0;\n const ComponentClass = componentConstructor[componentProp.name];\n const componentInstance = new ComponentClass().init({\n props: componentProp.componentProperties,\n innerHTML: componentProp.innerHTML,\n childNodes: componentProp.childNodes,\n attributes: componentProp.attributes\n });\n return componentInstance;\n }\n _notifyCustomElements(e2) {\n this._slottedChildren.forEach((child) => {\n if (child.appendFormData) {\n child.appendFormData(e2);\n }\n });\n }\n _populateReferrerFields() {\n const params = new URLSearchParams(document.location.search.substring(1));\n if (this._referrerOriginalUrlField) {\n this._referrerOriginalUrlField.value = params.get(\"referrerOriginalUrl\") || localStorage.getItem(\"page_url_english\") || \"\";\n }\n if (this._referrerUrlField) {\n this._referrerUrlField.value = params.get(\"referrerUrl\") || window.location.href;\n }\n if (this._referrerTitleField) {\n this._referrerTitleField.value = params.get(\"referrerTitle\") || document.title;\n }\n }\n _renderHiddenFields() {\n if (this.additionalData === void 0 || Object.keys(this.additionalData).length === 0) {\n return D;\n }\n return Object.keys(this.additionalData).map(\n (key) => ke`\n \n `\n );\n }\n _renderPhone(phoneString) {\n const phoneNumber = phoneString.match(/(?:[-+() ]*\\d){10,13}/g);\n if (phoneNumber === null || phoneNumber[0] === null) return null;\n const anchor = document.createElement(\"a\");\n const paragraph = document.createElement(\"p\");\n anchor.innerText = phoneNumber[0].trim();\n setLink(anchor, { href: `tel:${phoneNumber[0].replace(/[^+1-9]/g, \"\")}` });\n paragraph.innerText = phoneString.replace(phoneNumber[0], \"\") + \" \";\n paragraph.appendChild(anchor);\n return paragraph;\n }\n _renderValidationFields() {\n return ke`\n ${this.validationFieldname}\n \n `;\n }\n get _slottedChildren() {\n const returnArray = [];\n const slot = this.shadowRoot.querySelector(\"slot\");\n slot.assignedElements({ flatten: true }).forEach((singleElement) => {\n if (singleElement.classList.contains(\"combine\")) {\n singleElement.childNodes.forEach((child) => {\n returnArray.push(child);\n });\n } else {\n returnArray.push(singleElement);\n }\n });\n return returnArray;\n }\n _storeFieldsToLocalStorage(element, changedProperties) {\n if (changedProperties.has(\"value\") && element.frontendRenderingIdentifier && typeof element.value === \"string\" && element.name.indexOf(\"checkbox\") === -1) {\n let storedData = localStorage.getItem(\"savedFormData\");\n if (storedData !== null) {\n storedData = JSON.parse(storedData);\n } else {\n storedData = {};\n }\n storedData[element.frontendRenderingIdentifier] = element.value;\n localStorage.setItem(\"savedFormData\", JSON.stringify(storedData));\n }\n }\n _submit(e2) {\n const timeField = this.renderRoot.querySelector('input[name=\"form_analytics_time\"]');\n const timeTaken = Date.now() - this._lastUpdated;\n if (timeField) {\n timeField.value = String(timeTaken);\n }\n if (e2.detail.name === \"submit\") {\n this._submitButton.click();\n }\n }\n _submitIfValid(e2) {\n const isValid = this.validate();\n if (!isValid) {\n e2.preventDefault();\n } else {\n this._submitButton.setAttribute(\"disabled\", \"disabled\");\n this._clearStoredData();\n this.dispatchEvent(new CustomEvent(\"jb-form:submit\", { detail: e2 }));\n }\n }\n render() {\n const sectionHeadline = this.sectionHeadline ? ke`` : D;\n const formHeader = this.generalConcern || this.recipient ? ke`
    \n

    ${this.generalConcern}

    \n ${this.recipient ? ke`
    ${this.recipient}
    ` : D}\n ${this.recipientPosition ? ke`

    ${this.recipientPosition}

    ` : D}\n ${this.recipientPhone ? this._renderPhone(this.recipientPhone) : D}\n
    \n ${this.formHeader ? ke`

    ${this.formHeader}

    ` : D}` : D;\n return ke`${sectionHeadline} ${formHeader}\n \n ${this._renderHiddenFields()}\n \n ${this.validationFieldname ? this._renderValidationFields() : D}\n \n \n `;\n }\n};\nJbForm.styles = r(jb_form_default);\n__decorateClass([\n n()\n], JbForm.prototype, \"action\", 2);\n__decorateClass([\n n({ type: Object })\n], JbForm.prototype, \"additionalData\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbForm.prototype, \"bordered\", 2);\n__decorateClass([\n n({ type: Array })\n], JbForm.prototype, \"contentElements\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbForm.prototype, \"displayGrid\", 2);\n__decorateClass([\n n()\n], JbForm.prototype, \"formHeader\", 2);\n__decorateClass([\n n()\n], JbForm.prototype, \"formIdentifier\", 2);\n__decorateClass([\n n()\n], JbForm.prototype, \"generalConcern\", 2);\n__decorateClass([\n n()\n], JbForm.prototype, \"multiformSubline\", 2);\n__decorateClass([\n n()\n], JbForm.prototype, \"recipient\", 2);\n__decorateClass([\n n()\n], JbForm.prototype, \"recipientPhone\", 2);\n__decorateClass([\n n()\n], JbForm.prototype, \"recipientPosition\", 2);\n__decorateClass([\n n({ type: Object })\n], JbForm.prototype, \"sectionHeadline\", 2);\n__decorateClass([\n n()\n], JbForm.prototype, \"trackingSubject\", 2);\n__decorateClass([\n n()\n], JbForm.prototype, \"validationFieldname\", 2);\n__decorateClass([\n e('input[name=\"tx_sitepackage[referrerOriginalUrl]\"]')\n], JbForm.prototype, \"_referrerOriginalUrlField\", 2);\n__decorateClass([\n e('input[name=\"tx_sitepackage[referrerTitle]\"]')\n], JbForm.prototype, \"_referrerTitleField\", 2);\n__decorateClass([\n e('input[name=\"tx_sitepackage[referrerUrl]\"]')\n], JbForm.prototype, \"_referrerUrlField\", 2);\n__decorateClass([\n e('button[type=\"submit\"].hidden')\n], JbForm.prototype, \"_submitButton\", 2);\nJbForm = __decorateClass([\n customElement(\"jb-form\")\n], JbForm);\n\nexport {\n JbForm\n};\n", "import {\n FormElement\n} from \"./chunk.UTVDNTSP.js\";\nimport {\n ae\n} from \"./chunk.Q25FCJRM.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-checkbox/jb-checkbox.scss?inline\nvar jb_checkbox_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\ndiv label, div {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\ndiv {\n font-size: var(--theme-typo-p-mini-desktop-fontsize, 0.813rem);\n line-height: var(--theme-typo-p-mini-desktop-lineheight, 1.25rem);\n}\n\ndiv label {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--text-opacity, var(--theme-opacity-70, 0.7)));\n font-size: 0.813rem;\n line-height: 1.25rem;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: inline-block;\n width: 100%;\n --_checkbox-size: 28px;\n}\n\ndiv {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-3xs);\n}\ndiv.error span::after {\n border-color: #971b2f;\n}\ndiv p {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--theme-opacity-70, 0.7));\n}\ndiv p.error-msg {\n color: #971b2f;\n}\ndiv label {\n display: inline-block;\n min-height: var(--_checkbox-size);\n padding-block-start: 5px;\n padding-inline-start: calc(var(--_checkbox-size) + var(--spacing-sm));\n position: relative;\n user-select: none;\n}\ndiv label:hover {\n cursor: pointer;\n}\ndiv label span::after {\n border: 1px solid rgb(var(--rgb-primary, 20, 30, 85));\n content: \"\";\n height: var(--_checkbox-size);\n left: 0;\n position: absolute;\n top: 0;\n width: var(--_checkbox-size);\n}\ndiv label span::before {\n border: 1px solid rgba(var(--rgb-primary, 20, 30, 85), var(--border-opacity, var(--theme-opacity-20, 0.2)));\n content: \"\";\n height: 10px;\n left: 9px;\n position: absolute;\n top: 9px;\n width: 10px;\n}\n@media (max-width: 599px) {\n div label span::before {\n left: 9px;\n }\n}\ndiv label span a {\n box-shadow: inset 0 -1px 0 0 RGBA(var(--rgb-primary, 20, 30, 85), var(--theme-opacity-30, 0.3));\n padding-bottom: 0.15em;\n text-decoration: none;\n transition: box-shadow 0.2s;\n color: rgb(var(--rgb-primary, 20, 30, 85));\n}\ndiv label span a:hover {\n box-shadow: inset 0 -1px 0 0 RGB(var(--rgb-primary, 20, 30, 85));\n}\ndiv input {\n display: none;\n}\ndiv input:checked + span::before {\n background-color: rgb(var(--rgb-primary, 20, 30, 85));\n}\ndiv input:disabled + span {\n opacity: 0.4;\n}\n\nlabel.multiple-lines {\n padding-block-start: 0;\n}\n\ndiv.has-before-checkbox-text.has-after-checkbox-text label > span {\n color: rgba(var(--rgb-primary, 20, 30, 85));\n}\n\ndiv.white.error label > span::after {\n border-color: #ff5570;\n}\ndiv.white.error p.error-msg {\n color: #ff5570;\n}`;\n\n// src/components/jb-checkbox/jb-checkbox.ts\nvar JbCheckbox = class extends Initiable(FormElement(h)) {\n constructor() {\n super(...arguments);\n this.checked = false;\n }\n async updated(_changedProperties) {\n if (this.frontendRenderingIdentifier) {\n let storedData = localStorage.getItem(\"savedFormData\");\n if (storedData === null) {\n return;\n }\n storedData = JSON.parse(storedData);\n if (this.frontendRenderingIdentifier && this.frontendRenderingIdentifier in storedData) {\n this.checkbox.checked = storedData[this.frontendRenderingIdentifier] === \"true\";\n }\n }\n if (_changedProperties.has(\"label\")) {\n await this.updateComplete;\n this._adjustLabelPaddingOnLineBreak();\n }\n }\n appendFormData(formDataEvent) {\n formDataEvent.formData.append(this.name, this.checkbox.checked ? \"1\" : \"\");\n }\n async firstUpdated() {\n const resizeObserver = new ResizeObserver(() => {\n this._adjustLabelPaddingOnLineBreak();\n });\n await this.updateComplete;\n const targetElement = this.renderRoot.querySelector(\"label\");\n resizeObserver.observe(targetElement, {});\n }\n isChecked() {\n return !!this.checkbox.checked;\n }\n validate() {\n const valid = this.requiredText ? this.checkbox.checked : true;\n this.showError = !valid;\n return valid;\n }\n _adjustLabelPaddingOnLineBreak() {\n try {\n const singleLineHeight = 20;\n if (this.labelElement && this.labelContent && this.labelContent.offsetHeight > singleLineHeight) {\n this.labelElement.classList.add(\"multiple-lines\");\n } else {\n this.labelElement.classList.remove(\"multiple-lines\");\n }\n } catch (e2) {\n }\n }\n _handleInputChange(e2) {\n this.value = e2.target.value;\n if (this.frontendRenderingIdentifier) {\n let storedData = localStorage.getItem(\"savedFormData\");\n if (storedData !== null) {\n storedData = JSON.parse(storedData);\n } else {\n storedData = {};\n }\n storedData[this.frontendRenderingIdentifier] = this.checkbox.checked.toString();\n localStorage.setItem(\"savedFormData\", JSON.stringify(storedData));\n }\n }\n render() {\n return ke`\n \n ${this.beforeCheckboxText ? ae(`\n

    \n ${this.beforeCheckboxText}\n

    `) : D}\n \n ${this.afterCheckboxText ? ae(`\n

    \n ${this.afterCheckboxText}\n

    \n `) : D}\n ${this.errorText ? ke`\n

    \n ${this.errorText}\n

    \n ` : D}\n ${this.showError ? ke`\n

    \n ${this.requiredText}\n

    \n ` : D}\n \n `;\n }\n};\nJbCheckbox.styles = r(jb_checkbox_default);\n__decorateClass([\n n()\n], JbCheckbox.prototype, \"afterCheckboxText\", 2);\n__decorateClass([\n n()\n], JbCheckbox.prototype, \"beforeCheckboxText\", 2);\n__decorateClass([\n e(\"input\")\n], JbCheckbox.prototype, \"checkbox\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbCheckbox.prototype, \"checked\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbCheckbox.prototype, \"isWhite\", 2);\n__decorateClass([\n n()\n], JbCheckbox.prototype, \"label\", 2);\n__decorateClass([\n e(\"label span\")\n], JbCheckbox.prototype, \"labelContent\", 2);\n__decorateClass([\n e(\"label\")\n], JbCheckbox.prototype, \"labelElement\", 2);\nJbCheckbox = __decorateClass([\n customElement(\"jb-checkbox\")\n], JbCheckbox);\n\nexport {\n JbCheckbox\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n Linkable\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n ButtonElement\n} from \"./chunk.7PRSKJZQ.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-button-primary/jb-button-primary.scss?inline\nvar jb_button_primary_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\na,\nbutton {\n font-family: var(--theme-font-black-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-black-weight, 900);\n}\n\na,\nbutton {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.125rem;\n line-height: 1rem;\n text-decoration: none;\n text-transform: uppercase;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host,\n::before,\n::after {\n display: inline-block;\n inline-size: var(--button-width, initial);\n --_button-transition-duration: 2s;\n --_button-transition-easing: cubic-bezier(0.16, 1, 0.3, 1);\n --_button-bottom-border-width: 1px;\n --_button-bottom-border-spacing: 2px;\n --_button-text-color: #fff;\n --_button-background-color: #141e55;\n --_icon-color: var(--_button-text-color);\n}\n\n:host {\n clip-path: inset(0);\n}\n\n::slotted(*) {\n margin-inline-end: 0.5rem;\n --icon-color: var(--_button-text-color);\n}\n\na,\nbutton {\n background-color: var(--_button-background-color);\n border: 0;\n color: var(--_button-text-color);\n cursor: pointer;\n display: flex;\n inline-size: 100%;\n justify-content: center;\n margin-block-end: calc(var(--_button-bottom-border-spacing) + var(--_button-bottom-border-width));\n padding-block: 12px calc(12px - var(--_button-bottom-border-spacing) - var(--_button-bottom-border-width));\n padding-inline: 34px;\n position: relative;\n text-align: center;\n user-select: none;\n}\na::after,\nbutton::after {\n background-color: var(--_button-background-color);\n block-size: var(--_button-bottom-border-width);\n content: \"\";\n inline-size: 100%;\n inset-block-end: calc(-1 * var(--_button-bottom-border-width));\n inset-inline-end: 0;\n position: absolute;\n transition: width var(--_button-transition-duration) var(--_button-transition-easing);\n}\na.hover::after, a:hover::after,\nbutton.hover::after,\nbutton:hover::after {\n inline-size: 0;\n}\na::before,\nbutton::before {\n background-color: var(--_button-background-color);\n block-size: var(--_button-bottom-border-spacing);\n content: \"\";\n inline-size: 100%;\n inset-block-end: calc(-1 * var(--_button-bottom-border-width) - var(--_button-bottom-border-spacing));\n inset-inline-start: 0;\n position: absolute;\n}\na:active,\nbutton:active {\n transform: scale(0.99);\n}\n\n.inverted,\n.inverted::after,\n.inverted::before {\n --_button-text-color: #141e55;\n --_button-background-color: #fff;\n}\n\n.inactive {\n opacity: 0.4;\n pointer-events: none;\n}`;\n\n// src/components/jb-button-primary/jb-button-primary.ts\nvar JbButtonPrimary = class extends Initiable(ButtonElement(Linkable(h))) {\n constructor() {\n super(...arguments);\n this.forceHover = false;\n this.inactive = false;\n this.inverted = false;\n this.name = void 0;\n }\n render() {\n const classes = { inactive: !!this.inactive, hover: !!this.forceHover, inverted: !!this.inverted };\n return this.link?.href ? ke`\n \n ` : ke`\n \n `;\n }\n};\nJbButtonPrimary.styles = r(jb_button_primary_default);\n__decorateClass([\n n({ type: Boolean })\n], JbButtonPrimary.prototype, \"forceHover\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbButtonPrimary.prototype, \"inactive\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbButtonPrimary.prototype, \"inverted\", 2);\n__decorateClass([\n n()\n], JbButtonPrimary.prototype, \"name\", 2);\nJbButtonPrimary = __decorateClass([\n customElement(\"jb-button-primary\")\n], JbButtonPrimary);\n\nexport {\n JbButtonPrimary\n};\n", "import {\n disableBodyScroll,\n enableBodyScroll\n} from \"./chunk.WDF6H473.js\";\nimport {\n JbOverlay\n} from \"./chunk.5C7B4R5Q.js\";\nimport {\n EffectFade,\n Navigation,\n Pagination,\n core_default\n} from \"./chunk.VVD5NVY2.js\";\nimport {\n isMobileVP,\n isTabletVP\n} from \"./chunk.YDQDJZUC.js\";\nimport {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n Animatable\n} from \"./chunk.VRR2P3PQ.js\";\nimport {\n debounce,\n recenterNavItems\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-gallery/jb-gallery.scss?inline\nvar jb_gallery_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.swiper-pagination-fraction, .content-credit, .content-text, .content-title {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.content-title {\n font-size: var(--theme-typo-p-big-mobile-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-big-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n .content-title {\n font-size: var(--theme-typo-p-big-desktop-fontsize, 1.375rem);\n line-height: var(--theme-typo-p-big-desktop-lineheight, 2.125rem);\n }\n}\n\n.content-text {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\n\n.content-credit {\n font-size: var(--theme-typo-p-mini-desktop-fontsize, 0.813rem);\n line-height: var(--theme-typo-p-mini-desktop-lineheight, 1.25rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n/**\n * Swiper 8.4.7\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * https://swiperjs.com\n *\n * Copyright 2014-2023 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: January 30, 2023\n */\n@font-face {\n font-family: \"swiper-icons\";\n src: url(\"data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA\") format(\"woff\");\n font-weight: 400;\n font-style: normal;\n}\n:root {\n --swiper-theme-color: #007aff;\n}\n\n.swiper {\n margin-left: auto;\n margin-right: auto;\n position: relative;\n overflow: hidden;\n list-style: none;\n padding: 0;\n /* Fix of Webkit flickering */\n z-index: 1;\n}\n\n.swiper-vertical > .swiper-wrapper {\n flex-direction: column;\n}\n\n.swiper-wrapper {\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 1;\n display: flex;\n transition-property: transform;\n box-sizing: content-box;\n}\n\n.swiper-android .swiper-slide,\n.swiper-wrapper {\n transform: translate3d(0px, 0, 0);\n}\n\n.swiper-pointer-events {\n touch-action: pan-y;\n}\n.swiper-pointer-events.swiper-vertical {\n touch-action: pan-x;\n}\n\n.swiper-slide {\n flex-shrink: 0;\n width: 100%;\n height: 100%;\n position: relative;\n transition-property: transform;\n}\n\n.swiper-slide-invisible-blank {\n visibility: hidden;\n}\n\n/* Auto Height */\n.swiper-autoheight,\n.swiper-autoheight .swiper-slide {\n height: auto;\n}\n.swiper-autoheight .swiper-wrapper {\n align-items: flex-start;\n transition-property: transform, height;\n}\n\n.swiper-backface-hidden .swiper-slide {\n transform: translateZ(0);\n backface-visibility: hidden;\n}\n\n/* 3D Effects */\n.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {\n perspective: 1200px;\n}\n.swiper-3d .swiper-wrapper,\n.swiper-3d .swiper-slide,\n.swiper-3d .swiper-slide-shadow,\n.swiper-3d .swiper-slide-shadow-left,\n.swiper-3d .swiper-slide-shadow-right,\n.swiper-3d .swiper-slide-shadow-top,\n.swiper-3d .swiper-slide-shadow-bottom,\n.swiper-3d .swiper-cube-shadow {\n transform-style: preserve-3d;\n}\n.swiper-3d .swiper-slide-shadow,\n.swiper-3d .swiper-slide-shadow-left,\n.swiper-3d .swiper-slide-shadow-right,\n.swiper-3d .swiper-slide-shadow-top,\n.swiper-3d .swiper-slide-shadow-bottom {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: 10;\n}\n.swiper-3d .swiper-slide-shadow {\n background: rgba(0, 0, 0, 0.15);\n}\n.swiper-3d .swiper-slide-shadow-left {\n background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n.swiper-3d .swiper-slide-shadow-right {\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n.swiper-3d .swiper-slide-shadow-top {\n background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n.swiper-3d .swiper-slide-shadow-bottom {\n background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n\n/* CSS Mode */\n.swiper-css-mode > .swiper-wrapper {\n overflow: auto;\n scrollbar-width: none; /* For Firefox */\n -ms-overflow-style: none; /* For Internet Explorer and Edge */\n}\n.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {\n display: none;\n}\n.swiper-css-mode > .swiper-wrapper > .swiper-slide {\n scroll-snap-align: start start;\n}\n\n.swiper-horizontal.swiper-css-mode > .swiper-wrapper {\n scroll-snap-type: x mandatory;\n}\n\n.swiper-vertical.swiper-css-mode > .swiper-wrapper {\n scroll-snap-type: y mandatory;\n}\n\n.swiper-centered > .swiper-wrapper::before {\n content: \"\";\n flex-shrink: 0;\n order: 9999;\n}\n.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {\n margin-inline-start: var(--swiper-centered-offset-before);\n}\n.swiper-centered.swiper-horizontal > .swiper-wrapper::before {\n height: 100%;\n width: var(--swiper-centered-offset-after);\n}\n.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {\n margin-block-start: var(--swiper-centered-offset-before);\n}\n.swiper-centered.swiper-vertical > .swiper-wrapper::before {\n width: 100%;\n height: var(--swiper-centered-offset-after);\n}\n.swiper-centered > .swiper-wrapper > .swiper-slide {\n scroll-snap-align: center center;\n scroll-snap-stop: always;\n}\n\n:root {\n /*\n --swiper-pagination-color: var(--swiper-theme-color);\n --swiper-pagination-bullet-size: 8px;\n --swiper-pagination-bullet-width: 8px;\n --swiper-pagination-bullet-height: 8px;\n --swiper-pagination-bullet-inactive-color: #000;\n --swiper-pagination-bullet-inactive-opacity: 0.2;\n --swiper-pagination-bullet-opacity: 1;\n --swiper-pagination-bullet-horizontal-gap: 4px;\n --swiper-pagination-bullet-vertical-gap: 6px;\n */\n}\n\n.swiper-pagination {\n position: absolute;\n text-align: center;\n transition: 300ms opacity;\n transform: translate3d(0, 0, 0);\n z-index: 10;\n}\n.swiper-pagination.swiper-pagination-hidden {\n opacity: 0;\n}\n.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {\n display: none !important;\n}\n\n/* Common Styles */\n.swiper-pagination-fraction,\n.swiper-pagination-custom,\n.swiper-horizontal > .swiper-pagination-bullets,\n.swiper-pagination-bullets.swiper-pagination-horizontal {\n bottom: 10px;\n left: 0;\n width: 100%;\n}\n\n/* Bullets */\n.swiper-pagination-bullets-dynamic {\n overflow: hidden;\n font-size: 0;\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {\n transform: scale(0.33);\n position: relative;\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {\n transform: scale(1);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {\n transform: scale(1);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {\n transform: scale(0.66);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {\n transform: scale(0.33);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {\n transform: scale(0.66);\n}\n.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {\n transform: scale(0.33);\n}\n\n.swiper-pagination-bullet {\n width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));\n height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));\n display: inline-block;\n border-radius: 50%;\n background: var(--swiper-pagination-bullet-inactive-color, #000);\n opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);\n}\nbutton.swiper-pagination-bullet {\n border: none;\n margin: 0;\n padding: 0;\n box-shadow: none;\n appearance: none;\n}\n\n.swiper-pagination-clickable .swiper-pagination-bullet {\n cursor: pointer;\n}\n.swiper-pagination-bullet:only-child {\n display: none !important;\n}\n\n.swiper-pagination-bullet-active {\n opacity: var(--swiper-pagination-bullet-opacity, 1);\n background: var(--swiper-pagination-color, var(--swiper-theme-color));\n}\n\n.swiper-vertical > .swiper-pagination-bullets,\n.swiper-pagination-vertical.swiper-pagination-bullets {\n right: 10px;\n top: 50%;\n transform: translate3d(0px, -50%, 0);\n}\n.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,\n.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {\n margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;\n display: block;\n}\n.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,\n.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {\n top: 50%;\n transform: translateY(-50%);\n width: 8px;\n}\n.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,\n.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {\n display: inline-block;\n transition: 200ms transform, 200ms top;\n}\n\n.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,\n.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {\n margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);\n}\n.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,\n.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {\n left: 50%;\n transform: translateX(-50%);\n white-space: nowrap;\n}\n.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,\n.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {\n transition: 200ms transform, 200ms left;\n}\n\n.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {\n transition: 200ms transform, 200ms right;\n}\n\n/* Progress */\n.swiper-pagination-progressbar {\n background: rgba(0, 0, 0, 0.25);\n position: absolute;\n}\n.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {\n background: var(--swiper-pagination-color, var(--swiper-theme-color));\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n transform: scale(0);\n transform-origin: left top;\n}\n.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {\n transform-origin: right top;\n}\n.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {\n width: 100%;\n height: 4px;\n left: 0;\n top: 0;\n}\n.swiper-vertical > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {\n width: 4px;\n height: 100%;\n left: 0;\n top: 0;\n}\n\n.swiper-pagination-lock {\n display: none;\n}\n\n:host {\n display: block;\n}\n\n.swiper.is-loaded {\n overflow: visible;\n}\n\njb-close-icon {\n block-size: 30px;\n cursor: pointer;\n inline-size: 30px;\n inset-block-start: 20px;\n inset-inline-end: 20px;\n position: fixed;\n z-index: 11;\n}\n@media (min-width: 960px) {\n jb-close-icon {\n inset-block-start: 46px;\n inset-inline-end: 65px;\n }\n}\n\n.swiper-container {\n position: relative;\n}\n\njb-fullscreen-icon {\n block-size: 50px;\n cursor: pointer;\n display: none;\n inline-size: 50px;\n inset-block-start: 40px;\n inset-inline-end: 40px;\n position: absolute;\n z-index: 11;\n}\n@media (min-width: 960px) {\n jb-fullscreen-icon {\n display: block;\n }\n}\n\n.image-wrapper {\n margin-block-end: 72px;\n}\n@media (min-width: 960px) {\n .image-wrapper {\n margin-block-end: var(--spacing-s);\n }\n}\n\n@media (min-width: 960px) {\n .intranet .image-wrapper {\n margin-block-end: 72px;\n }\n .intranet .content {\n inline-size: calc(100% - 2 * var(--row-large-margin));\n margin-inline: var(--row-large-margin);\n }\n}\n@media (min-width: 1281px) {\n .intranet .image-wrapper {\n margin-block-end: var(--spacing-s);\n }\n .intranet .content {\n inline-size: calc(100% - var(--_control-wrapper-width));\n margin-inline: 0;\n }\n}\n\njb-picture {\n background: rgba(var(--theme-color-smoke, 113 124 125)/var(--theme-opacity-10, 0.1));\n}\n\n.content {\n --_control-wrapper-width: 312px;\n inline-size: calc(100% - 2 * var(--row-small-margin));\n margin-inline: var(--row-small-margin);\n min-block-size: 35px;\n}\n@media (min-width: 600px) {\n .content {\n inline-size: calc(100% - 2 * var(--row-large-margin));\n margin-inline: var(--row-large-margin);\n }\n}\n@media (min-width: 960px) {\n .content {\n inline-size: calc(100% - var(--_control-wrapper-width));\n margin-inline: 0;\n }\n}\n\n.content-title {\n margin-block-end: var(--spacing-base);\n}\n\n.content-text {\n margin-block-end: var(--spacing-base);\n}\n\n.content-credit {\n color: rgb(var(--theme-color-royal-blue, 20 30 85)/var(--theme-opacity-70, 0.7));\n}\n\n.controls {\n align-items: center;\n display: flex;\n inline-size: max-content;\n inset-inline-end: var(--row-small-margin);\n justify-content: flex-end;\n position: absolute;\n user-select: none;\n z-index: 2;\n}\n@media (min-width: 600px) {\n .controls {\n inset-inline-end: 10.1%;\n }\n}\n@media (min-width: 960px) {\n .controls {\n inset-inline-end: 0;\n }\n}\n\n.fullscreen .swiper {\n margin: 0;\n}\n.fullscreen .content {\n margin-block-end: 50px;\n}\n.fullscreen .swiper-slide {\n inline-size: 100% !important;\n}\n\n.swiper-pagination {\n color: rgb(var(--theme-color-royal-blue, 20 30 85)/var(--theme-opacity-20, 0.2));\n margin-inline-end: 10px;\n text-align: end;\n}\n@media (min-width: 600px) {\n .swiper-pagination {\n line-height: 2.75rem;\n }\n}\n.swiper-pagination span {\n color: rgb(var(--theme-color-royal-blue, 20 30 85));\n}\n\n.swiper-pagination-fraction {\n font-size: 2.063rem;\n inset-block-end: 0;\n line-height: 2.5rem;\n position: relative;\n}\n.swiper-pagination-fraction .swiper-pagination-current {\n block-size: 44px;\n display: inline-block;\n inline-size: 83px;\n text-align: center;\n}\n.swiper-pagination-fraction .swiper-pagination-total {\n block-size: 44px;\n display: inline-block;\n inline-size: 83px;\n opacity: 0.2;\n text-align: center;\n}\n.swiper-pagination-fraction .swiper-pagination-separator {\n display: inline-block;\n font-size: 1.875rem;\n inset-block-start: -2px;\n line-height: 2.188rem;\n opacity: 0.2;\n position: relative;\n}\n\n.swiper-pagination-lock {\n display: block;\n}\n\n.aspect-3by2 {\n height: 100%;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n.aspect-3by2 > *,\n.aspect-3by2 iframe {\n height: 100%;\n inset: 0;\n position: absolute;\n width: 100%;\n}\n.aspect-3by2::before {\n content: \"\";\n display: block;\n height: 0;\n padding-bottom: calc(2 / 3 * 100%);\n position: relative;\n width: 100%;\n}\n\n.aspect-4by3 {\n height: 100%;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n.aspect-4by3 > *,\n.aspect-4by3 iframe {\n height: 100%;\n inset: 0;\n position: absolute;\n width: 100%;\n}\n.aspect-4by3::before {\n content: \"\";\n display: block;\n height: 0;\n padding-bottom: calc(3 / 4 * 100%);\n position: relative;\n width: 100%;\n}\n\n.aspect-16by9 {\n height: 100%;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n.aspect-16by9 > *,\n.aspect-16by9 iframe {\n height: 100%;\n inset: 0;\n position: absolute;\n width: 100%;\n}\n.aspect-16by9::before {\n content: \"\";\n display: block;\n height: 0;\n padding-bottom: calc(9 / 16 * 100%);\n position: relative;\n width: 100%;\n}\n\n.aspect-21by9 {\n height: 100%;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n.aspect-21by9 > *,\n.aspect-21by9 iframe {\n height: 100%;\n inset: 0;\n position: absolute;\n width: 100%;\n}\n.aspect-21by9::before {\n content: \"\";\n display: block;\n height: 0;\n padding-bottom: calc(9 / 21 * 100%);\n position: relative;\n width: 100%;\n}\n\n.aspect-2by3 {\n height: 100%;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n.aspect-2by3 > *,\n.aspect-2by3 iframe {\n height: 100%;\n inset: 0;\n position: absolute;\n width: 100%;\n}\n.aspect-2by3::before {\n content: \"\";\n display: block;\n height: 0;\n padding-bottom: calc(1 / 1 * 100%);\n position: relative;\n width: 100%;\n}\n\n.aspect-3by4 {\n height: 100%;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n.aspect-3by4 > *,\n.aspect-3by4 iframe {\n height: 100%;\n inset: 0;\n position: absolute;\n width: 100%;\n}\n.aspect-3by4::before {\n content: \"\";\n display: block;\n height: 0;\n padding-bottom: calc(1 / 1 * 100%);\n position: relative;\n width: 100%;\n}\n\n.aspect-9by16 {\n height: 100%;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\n.aspect-9by16 > *,\n.aspect-9by16 iframe {\n height: 100%;\n inset: 0;\n position: absolute;\n width: 100%;\n}\n.aspect-9by16::before {\n content: \"\";\n display: block;\n height: 0;\n padding-bottom: calc(1 / 1 * 100%);\n position: relative;\n width: 100%;\n}`;\n\n// src/components/jb-gallery/jb-gallery.ts\ncore_default.use([Navigation, Pagination, EffectFade]);\nvar JbGallery = class extends Spaceable(h) {\n constructor() {\n super(...arguments);\n this.aspect = \"16by9\";\n this.initialSlide = 0;\n this.isFullscreen = false;\n this._isLoaded = false;\n this._options = {\n contentWrappers: null,\n controlWrap: null,\n defaultScreen: null,\n fullScreen: null,\n images: null,\n imageWrappers: null,\n openButton: null,\n picturesCount: 0,\n picturesLoadedCount: 0,\n slider: null,\n swiper: null\n };\n }\n firstUpdated() {\n this._init();\n }\n _bindEvents() {\n this._options.openButton?.addEventListener(\"click\", async (e) => {\n e.preventDefault();\n const galleryFullscreen = new JbGalleryFullscreen().init({\n props: {\n gallery: this,\n currentSlide: this._options.swiper?.activeIndex,\n withSpacing: true\n }\n });\n galleryFullscreen.addEventListener(\"jb-gallery:slide-changed\", (ev) => {\n this._options.swiper?.slideTo(ev.detail.currentSlide);\n });\n await customElements.whenDefined(\"jb-gallery-fullscreen\").then(async () => {\n setTimeout(() => {\n galleryFullscreen.contentChildren = [galleryFullscreen.shadowRoot.querySelector(\"div\")];\n }, 0);\n });\n const overlay = new JbOverlay().init({\n props: { color: \"white\", hasLogo: false, fullHeight: true },\n childNodes: [galleryFullscreen]\n });\n overlay.addEventListener(\"jb-gallery-fullscreen:resized-too-small\", async () => {\n await galleryFullscreen.hide();\n overlay.unstack();\n enableBodyScroll(this);\n recenterNavItems();\n });\n document.addEventListener(\"jb-overlay:close\", async () => {\n await galleryFullscreen.hide();\n overlay.unstack();\n enableBodyScroll(this);\n recenterNavItems();\n });\n overlay.stack();\n disableBodyScroll(this, { allowTouchMove: () => true });\n recenterNavItems();\n await galleryFullscreen.reveal();\n });\n if (this._options.controlWrap !== null) {\n this._setControlWrapPosition();\n window.addEventListener(\n \"resize\",\n debounce(() => {\n this._handleResize();\n }, 100)\n );\n }\n }\n _dom() {\n this._options.controlWrap = this.renderRoot.querySelector(\".controls\");\n this._options.imageWrappers = this.renderRoot.querySelectorAll(\".image-wrapper\");\n this._options.contentWrappers = this.renderRoot.querySelectorAll(\".content\");\n this._options.openButton = this.renderRoot.querySelector(\"jb-fullscreen-icon\");\n this._options.defaultScreen = this.renderRoot.querySelector(\".default-screen-placeholder\");\n this._options.images = this.renderRoot.querySelectorAll(\"jb-picture\");\n const swiperOptions = {\n initialSlide: this.initialSlide,\n slidesPerView: 1,\n centeredSlides: true,\n spaceBetween: 40,\n effect: \"fade\",\n fadeEffect: {\n crossFade: true\n },\n on: {\n slideChange: (swiper) => {\n this.dispatchEvent(\n new CustomEvent(\"jb-gallery:slide-changed\", {\n bubbles: true,\n composed: true,\n detail: {\n currentSlide: swiper.activeIndex\n }\n })\n );\n },\n init: () => {\n this._isLoaded = true;\n }\n },\n pagination: {\n el: this.renderRoot.querySelector(\".swiper-pagination\"),\n type: \"fraction\",\n // @ts-ignore: Type expected number as return value\n formatFractionTotal: (num) => (\"0\" + num).slice(-2),\n // @ts-ignore: Type expected number as return value\n formatFractionCurrent: (num) => (\"0\" + num).slice(-2),\n renderFraction(currentClass, totalClass) {\n return `/`;\n }\n },\n navigation: {\n nextEl: this.renderRoot.querySelector(\"jb-arrow-navigation\")?.shadowRoot?.querySelector(\"jb-arrow-icon:nth-of-type(2)\")?.shadowRoot?.firstElementChild,\n prevEl: this.renderRoot.querySelector(\"jb-arrow-navigation\")?.shadowRoot?.querySelector(\"jb-arrow-icon:nth-of-type(1)\")?.shadowRoot?.firstElementChild\n }\n };\n this._options.slider = this.renderRoot.querySelector(\".swiper-container\");\n this._options.swiper = new core_default(this._options.slider, swiperOptions);\n }\n _getContentSpacingProperties() {\n return { colsMdUp: 9, type: \"media\", horizontal: \"full-width-sm-down\", grid: \"legacy\" };\n }\n _handleResize() {\n this._setControlWrapPosition();\n }\n _init() {\n const pictures = this.renderRoot.querySelectorAll(\"jb-picture\");\n this._options.picturesCount = pictures.length;\n pictures.forEach(() => {\n this._options.picturesLoadedCount += 1;\n });\n const picturesInterval = setInterval(() => {\n if (this._options.picturesCount <= this._options.picturesLoadedCount) {\n clearInterval(picturesInterval);\n this._dom();\n this._bindEvents();\n }\n }, 100);\n }\n _renderImages() {\n return this.images.map(\n (img) => ke`\n
    \n
    \n \n
    \n
    \n
    ${img.caption}
    \n

    ${img.text}

    \n ${img.credit}\n
    \n
    \n `\n );\n }\n _setControlWrapPosition() {\n if (this._options.controlWrap && this._options.imageWrappers) {\n this._options.controlWrap.style.setProperty(\"top\", this._options.imageWrappers[0].offsetHeight + 16 + \"px\");\n }\n }\n render() {\n return this.images?.length ? ke`\n
    \n
    \n
    \n ${!this.isFullscreen ? ke`` : D}\n
    ${this._renderImages()}
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n ` : D;\n }\n};\nJbGallery.styles = r(jb_gallery_default);\n__decorateClass([\n n()\n], JbGallery.prototype, \"aspect\", 2);\n__decorateClass([\n n({ type: Array })\n], JbGallery.prototype, \"images\", 2);\n__decorateClass([\n n({ type: Number })\n], JbGallery.prototype, \"initialSlide\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbGallery.prototype, \"intranetStyle\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbGallery.prototype, \"isFullscreen\", 2);\n__decorateClass([\n r2()\n], JbGallery.prototype, \"_isLoaded\", 2);\nJbGallery = __decorateClass([\n customElement(\"jb-gallery\")\n], JbGallery);\n\n// src/components/jb-gallery-fullscreen/jb-gallery-fullscreen.scss?inline\nvar jb_gallery_fullscreen_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n width: 100%;\n}\n:host > div {\n opacity: 0;\n}\n\ndiv {\n height: 100%;\n}\n\n.aspect-3by2 {\n margin-inline: 16%;\n}\n\n.aspect-4by3 {\n margin-inline: 20%;\n}\n\n.aspect-16by9 {\n margin-inline: 10%;\n}\n\n.aspect-21by9 {\n margin-inline: 10%;\n}\n\n.aspect-2by3,\n.aspect-3by4,\n.aspect-9by16 {\n margin-inline: 28%;\n}`;\n\n// src/components/jb-gallery-fullscreen/jb-gallery-fullscreen.ts\nvar JbGalleryFullscreen = class extends Initiable(Animatable(h)) {\n constructor() {\n super(...arguments);\n this.currentSlide = 0;\n }\n firstUpdated() {\n window.addEventListener(\n \"resize\",\n debounce(() => {\n this._handleResize();\n }, 100)\n );\n document.addEventListener(\"jb-gallery:slide-changed\", (e) => {\n this.currentSlide = e.detail.currentSlide;\n });\n }\n _handleResize() {\n if (isMobileVP() || isTabletVP()) {\n this._resizedTooSmall();\n }\n }\n _resizedTooSmall() {\n this.dispatchEvent(\n new CustomEvent(\"jb-gallery-fullscreen:resized-too-small\", {\n bubbles: true,\n composed: true\n })\n );\n }\n render() {\n return ke`\n \n \n \n `;\n }\n};\nJbGalleryFullscreen.styles = r(jb_gallery_fullscreen_default);\n__decorateClass([\n n({ type: Number })\n], JbGalleryFullscreen.prototype, \"currentSlide\", 2);\n__decorateClass([\n n({ type: Object })\n], JbGalleryFullscreen.prototype, \"gallery\", 2);\nJbGalleryFullscreen = __decorateClass([\n customElement(\"jb-gallery-fullscreen\")\n], JbGalleryFullscreen);\n\nexport {\n JbGalleryFullscreen,\n JbGallery\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-fullscreen-icon/jb-fullscreen-icon.scss?inline\nvar jb_fullscreen_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n.fullscreen-icon {\n backface-visibility: hidden;\n background-color: rgba(20, 30, 85, 0.7);\n cursor: pointer;\n height: 50px;\n position: relative;\n width: 50px;\n}\n.fullscreen-icon::before {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewbox='0 0 12 12'%3E%3Cpath fill='%23fff' d='M0 0h2v10h10v2H0z' /%3E%3C/svg%3E\");\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n bottom: 10px;\n content: \"\";\n height: 12px;\n left: 10px;\n position: absolute;\n transition: left 0.1s, bottom 0.1s linear;\n width: 12px;\n}\n.fullscreen-icon::after {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath fill='%23fff' d='M12 12h-2V2H0V0h12z' /%3E%3C/svg%3E\");\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n content: \"\";\n height: 12px;\n position: absolute;\n right: 10px;\n top: 10px;\n transition: top 0.1s, right 0.1s linear;\n width: 12px;\n}\n.fullscreen-icon:hover::before {\n bottom: 8px;\n left: 8px;\n}\n.fullscreen-icon:hover::after {\n right: 8px;\n top: 8px;\n}`;\n\n// src/components/icons/jb-fullscreen-icon/jb-fullscreen-icon.ts\nvar JbFullscreenIcon = class extends h {\n render() {\n return ke`
    `;\n }\n};\nJbFullscreenIcon.styles = r(jb_fullscreen_icon_default);\nJbFullscreenIcon = __decorateClass([\n customElement(\"jb-fullscreen-icon\")\n], JbFullscreenIcon);\n\nexport {\n JbFullscreenIcon\n};\n", "import {\n ae\n} from \"./chunk.Q25FCJRM.js\";\nimport {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n awaitForEach,\n isPartiallyInViewPort\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-facts/jb-facts.scss?inline\nvar jb_facts_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.title {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\nh2 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh2 {\n font-size: var(--theme-typo-h2-subtitle-mobile-fontsize, 1.625rem);\n line-height: var(--theme-typo-h2-subtitle-mobile-lineheight, 2.188rem);\n}\n@media (min-width: 1281px) {\n h2 {\n font-size: var(--theme-typo-h2-subtitle-desktop-fontsize, 1.938rem);\n line-height: var(--theme-typo-h2-subtitle-desktop-lineheight, 2.625rem);\n }\n}\n\n.title {\n font-size: var(--theme-typo-p-highlight-mobile-fontsize, 1.063rem);\n line-height: var(--theme-typo-p-highlight-mobile-lineheight, 1.875rem);\n}\n@media (min-width: 1281px) {\n .title {\n font-size: var(--theme-typo-p-highlight-desktop-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-highlight-desktop-lineheight, 2.125rem);\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n --text-opacity: 1;\n --_transition-step-duration: 0.66s;\n --_timing-function: cubic-bezier(0.83, 1.49, 0.64, 1);\n}\n\nh2 {\n margin-block-end: var(--spacing-lm);\n}\n\n.container {\n display: block;\n gap: 40px;\n}\n\n@media (min-width: 960px) {\n .cols-2 .container {\n column-count: 2;\n }\n}\n\n@media (min-width: 1281px) {\n .cols-3 header {\n display: grid;\n gap: 40px;\n grid-template-columns: repeat(10, 1fr);\n }\n .cols-3 header > * {\n grid-column: 2/span 8;\n }\n}\n@media (min-width: 960px) {\n .cols-3 .container {\n column-count: 3;\n }\n}\n\n.fact {\n break-inside: avoid;\n display: flex;\n gap: var(--spacing-sm);\n margin-block-end: var(--spacing-lm);\n}\n@media (min-width: 1281px) {\n .fact {\n margin-block-end: var(--spacing-m);\n }\n}\n.fact::before {\n background-color: #141e55;\n block-size: auto;\n content: \"\";\n display: block;\n inline-size: 1px;\n max-block-size: 0;\n transition: max-block-size calc(var(--_transition-step-duration) * 2) var(--_timing-function), opacity var(--_transition-step-duration) ease-in;\n}\n.fact.show::before {\n block-size: 56px;\n max-block-size: 56px;\n opacity: 0.2;\n}\n.fact.show .content {\n opacity: 1;\n transform: translateY(0);\n}\n\n.content {\n opacity: 0;\n transform: translateY(-50px);\n transition: transform calc(var(--_transition-step-duration) * 2) var(--_timing-function), opacity var(--_transition-step-duration) ease-in var(--_transition-step-duration);\n}\n\n.title {\n color: #141e55;\n}`;\n\n// src/components/jb-facts/jb-facts.ts\nvar JbFacts = class extends Spaceable(h) {\n firstUpdated() {\n this._bindEvents();\n setTimeout(() => {\n this._fadeInIfInViewport(this);\n }, 0);\n }\n _bindEvents() {\n const element = this;\n document.addEventListener(\"scroll\", () => {\n this._fadeInIfInViewport(element);\n });\n }\n _fadeInIfInViewport(element) {\n if (isPartiallyInViewPort(element, 250)) {\n this._startFadeInAnimation().then();\n }\n }\n _getCols() {\n if (this.intranetStyle) {\n return this.columns <= 2 ? this.columns : 2;\n }\n return this.columns;\n }\n _getContentSpacingProperties() {\n const cols = { 1: 8, 2: 8, 3: 10 }[this._getCols()] || 8;\n const align = \"center\";\n const type = \"focus\";\n return { align, colsMdUp: cols, type, grid: \"legacy\" };\n }\n async _startFadeInAnimation() {\n setTimeout(async () => {\n await awaitForEach(this._facts, async (fact) => {\n fact.classList.add(\"show\");\n await new Promise((p) => setTimeout(p, 50));\n });\n }, 0);\n }\n _tracking(e) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e, {\n component_name: \"facts\"\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n }\n render() {\n return ke`\n \n ${this.headline ? ke`

    ${this.headline}

    ` : D}\n
    \n ${this.items.map(\n (item) => ke`\n
    \n
    \n

    ${item.title}

    \n ${ae(item.content)}\n
    \n
    \n `\n )}\n
    \n \n `;\n }\n};\nJbFacts.styles = r(jb_facts_default);\n__decorateClass([\n n({ type: Number })\n], JbFacts.prototype, \"columns\", 2);\n__decorateClass([\n n()\n], JbFacts.prototype, \"headline\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbFacts.prototype, \"intranetStyle\", 2);\n__decorateClass([\n n({ type: Array })\n], JbFacts.prototype, \"items\", 2);\n__decorateClass([\n r2(\".fact\")\n], JbFacts.prototype, \"_facts\", 2);\nJbFacts = __decorateClass([\n customElement(\"jb-facts\")\n], JbFacts);\n\nexport {\n JbFacts\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n ChangesBackgroundColor\n} from \"./chunk.7ANACPIR.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-first-level-teaser/jb-first-level-teaser.scss?inline\nvar jb_first_level_teaser_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n.container {\n display: flex;\n flex-wrap: wrap;\n}\n@media (min-width: 1281px) {\n .container {\n margin-bottom: 90px;\n }\n}\n\njb-section-headline {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 0;\n width: 100%;\n padding-bottom: 50px;\n}\n@media (min-width: 600px) {\n jb-section-headline {\n padding-bottom: 54px;\n }\n}\n@media (min-width: 1281px) {\n jb-section-headline {\n padding-bottom: 70px;\n }\n}\n\n::slotted(jb-first-level-teaser-item:nth-child(1)) {\n --lottie-player-padding: 32px 45px 33px 29px;\n}\n@media (min-width: 960px) {\n ::slotted(jb-first-level-teaser-item:nth-child(1)) {\n box-sizing: border-box;\n flex-basis: 50%;\n max-width: 50%;\n padding: 0 20px;\n width: 50%;\n transform: translateY(87px);\n }\n}\n@media (min-width: 1281px) {\n ::slotted(jb-first-level-teaser-item:nth-child(1)) {\n transform: translateY(106px);\n }\n}\n\n::slotted(jb-first-level-teaser-item:nth-child(2)) {\n --lottie-player-padding: 10px 0 0;\n}\n@media (min-width: 960px) {\n ::slotted(jb-first-level-teaser-item:nth-child(2)) {\n box-sizing: border-box;\n flex-basis: 50%;\n max-width: 50%;\n padding: 0 20px;\n width: 50%;\n transform: translateY(17px) translateX(20px);\n }\n}\n@media (min-width: 1281px) {\n ::slotted(jb-first-level-teaser-item:nth-child(2)) {\n margin-left: 0%;\n transform: translateY(-4px) translateX(40px);\n }\n}\n@media (min-width: 1437px) {\n ::slotted(jb-first-level-teaser-item:nth-child(2)) {\n max-width: 47%;\n }\n}\n\n::slotted(jb-first-level-teaser-item:nth-child(3)) {\n --lottie-player-padding: 0 0 0 10px;\n}\n@media (min-width: 960px) {\n ::slotted(jb-first-level-teaser-item:nth-child(3)) {\n box-sizing: border-box;\n flex-basis: 50%;\n max-width: 50%;\n padding: 0 20px;\n width: 50%;\n margin-left: 25%;\n transform: translateY(13px);\n }\n}\n@media (min-width: 1281px) {\n ::slotted(jb-first-level-teaser-item:nth-child(3)) {\n margin-left: 0%;\n transform: translateY(82px) translateX(292px);\n }\n}`;\n\n// src/components/jb-first-level-teaser/jb-first-level-teaser.ts\nvar JbFirstLevelTeaser = class extends Spaceable(ChangesBackgroundColor(h)) {\n _getContentSpacingProperties() {\n return { colsMdUp: \"none\" };\n }\n render() {\n return ke`
    \n \n \n
    `;\n }\n};\nJbFirstLevelTeaser.styles = r(jb_first_level_teaser_default);\n__decorateClass([\n n()\n], JbFirstLevelTeaser.prototype, \"title\", 2);\nJbFirstLevelTeaser = __decorateClass([\n customElement(\"jb-first-level-teaser\")\n], JbFirstLevelTeaser);\n\nexport {\n JbFirstLevelTeaser\n};\n", "import {\n LazyLoadingHandler_default\n} from \"./chunk.ZXFS3F4J.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Linkable,\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-first-level-teaser-item/jb-first-level-teaser-item.scss?inline\nvar jb_first_level_teaser_item_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\na {\n font-family: var(--theme-font-black-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-black-weight, 900);\n}\n\nh2 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh2 {\n font-size: var(--theme-typo-h2-subtitle-mobile-fontsize, 1.625rem);\n line-height: var(--theme-typo-h2-subtitle-mobile-lineheight, 2.188rem);\n}\n@media (min-width: 1281px) {\n h2 {\n font-size: var(--theme-typo-h2-subtitle-desktop-fontsize, 1.938rem);\n line-height: var(--theme-typo-h2-subtitle-desktop-lineheight, 2.625rem);\n }\n}\n\na {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.125rem;\n line-height: 1rem;\n text-decoration: none;\n text-transform: uppercase;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n transition: all 0.3s ease-out 0s;\n width: 100%;\n --player-size: 200px;\n}\n@media (min-width: 1281px) {\n :host {\n --player-size: 250px;\n }\n}\n\nh2 {\n position: absolute;\n text-align: center;\n top: 175px;\n transition: all 0.3s ease-out 0s;\n width: 100%;\n}\n@media (min-width: 600px) {\n h2 {\n top: calc(var(--player-size) / 2 - 35px);\n width: auto;\n }\n}\n@media (min-width: 600px) {\n .left h2 {\n text-align: right;\n }\n}\n@media (min-width: 600px) {\n .right h2 {\n left: 50%;\n right: 8.33%;\n text-align: right;\n }\n}\n@media (min-width: 1281px) {\n .right h2 {\n left: 50%;\n right: calc(8.33% + 20px);\n text-align: right;\n }\n}\n@media (min-width: 1437px) {\n .right h2 {\n right: calc(8.33% - 20px);\n }\n}\n\n.container {\n display: flex;\n flex-wrap: wrap;\n height: 297px;\n justify-content: flex-end;\n position: relative;\n}\n@media (min-width: 600px) {\n .container {\n height: 244px;\n justify-content: flex-start;\n }\n}\n.container.right {\n justify-content: flex-start;\n}\n@media (min-width: 600px) {\n .container.right {\n justify-content: flex-end;\n }\n}\n\n.lottie-wrapper {\n border-radius: 50%;\n height: var(--player-size);\n position: absolute;\n right: 0;\n transition: all 0.3s ease-out 0s;\n width: var(--player-size);\n}\n@media (min-width: 1281px) {\n .lottie-wrapper {\n height: var(--player-size);\n width: var(--player-size);\n }\n}\n.right .lottie-wrapper {\n left: 0;\n right: auto;\n}\n\n.background {\n background-color: #fff;\n border-radius: 50%;\n height: 100%;\n left: 0;\n overflow: hidden;\n position: absolute;\n top: 0;\n transform: scale(1);\n transition: transform 0.3s ease-in 0s;\n width: 100%;\n}\n.background.hover {\n transform: scale(1.2);\n}\n\nlottie-player {\n border-radius: 50%;\n height: 100%;\n isolation: isolate;\n left: 0;\n overflow: hidden;\n padding: var(--lottie-player-padding, 0);\n position: absolute;\n top: 0;\n width: 100%;\n}\n\n.button {\n --button-height: 36px;\n cursor: pointer;\n display: inline-block;\n font-size: 0;\n height: var(--button-height);\n position: absolute;\n top: 221px;\n transition: all 0.3s ease-out 0s;\n user-select: none;\n}\n@media (min-width: 600px) {\n .button {\n top: calc(var(--player-size) * 0.71 - var(--button-height));\n }\n}\n.button::before {\n border-left: 1px solid #141e55;\n bottom: 0;\n content: \"\";\n height: 66%;\n left: 0;\n position: absolute;\n right: auto;\n transition: height 0.2s ease-out 0.1s;\n width: 1px;\n}\n.button::after {\n border-bottom: 1px solid #141e55;\n bottom: 0;\n content: \"\";\n height: 1px;\n left: 0;\n position: absolute;\n right: auto;\n transition: all 0.3s ease-out 0s;\n width: 50%;\n}\n@media (min-width: 600px) {\n .button::after {\n width: 100%;\n }\n}\n.button:hover::before {\n height: 0;\n transition: height 0.2s ease-out 0.1s;\n}\n.button:hover::after {\n transition: all 0.3s ease-out 0s;\n width: calc(100% + 20px);\n}\n@media all and (-ms-high-contrast: none) {\n .button:hover::after {\n width: 100%;\n }\n}\n@supports (-ms-ime-align: auto) {\n .button:hover::after {\n width: 100%;\n }\n}\n.left .button {\n right: 30%;\n}\n@media (min-width: 600px) {\n .left .button {\n left: 8.33%;\n right: calc(var(--player-size) * 0.9);\n }\n}\n@media (min-width: 1281px) {\n .left .button {\n left: calc(8.33% + 40px);\n }\n}\n.right .button {\n left: 30%;\n}\n@media (min-width: 600px) {\n .right .button {\n left: calc(var(--player-size) * 0.9);\n right: 8.33%;\n text-align: right;\n }\n .right .button::before, .right .button::after {\n left: auto;\n right: 0;\n }\n}\n@media (min-width: 1281px) {\n .right .button {\n right: calc(8.33% + 40px);\n }\n}\n@media (min-width: 1437px) {\n .right .button {\n right: 8.33%;\n }\n}\n\n.circle {\n border: 1px solid #141e55;\n border-radius: 100%;\n bottom: -3.4px;\n display: none;\n height: 8px;\n position: absolute;\n transition: all 0.3s ease-out 0s;\n width: 8px;\n}\n@media (min-width: 600px) {\n .circle {\n display: inline;\n }\n}\n.left .circle {\n right: -8px;\n}\n.right .circle {\n left: -8px;\n}\n.left .button:hover .circle {\n right: -28px;\n}\n.right .button:hover .circle {\n left: -28px;\n}\n\na {\n color: #141e55;\n display: inline-block;\n outline: none;\n padding: 10px 16px;\n transform: translate(0, 0);\n transition: transform 0.3s ease-out 0s;\n}\n.button:hover a {\n transform: translate(20px, 0);\n}\n@media (min-width: 600px) {\n .right .button:hover a {\n transform: translate(-20px, 0);\n }\n}`;\n\n// src/components/jb-first-level-teaser-item/jb-first-level-teaser-item.ts\nvar JbFirstLevelTeaserItem = class extends Linkable(h) {\n constructor() {\n super(...arguments);\n this._hover = false;\n }\n firstUpdated(_changedProperties) {\n super.firstUpdated(_changedProperties);\n LazyLoadingHandler_default.observe(\n this,\n async () => {\n await import(\"./lottie-player.esm.E5CIQAMJ.js\");\n this._lottiePlayerStart.load(this.lottieSourceStart);\n this._lottiePlayerNeutral.load(this.lottieSourceNeutral);\n this._lottiePlayerHover.load(this.lottieSourceHover);\n this._lottiePlayerStart.addEventListener(\"complete\", () => {\n if (!this._hover) {\n this._showNeutral();\n this._lottiePlayerNeutral.play();\n }\n });\n this._lottiePlayerHover.addEventListener(\"complete\", () => {\n if (!this._hover) {\n this._showNeutral();\n this._lottiePlayerNeutral.stop();\n this._lottiePlayerNeutral.play();\n }\n });\n LazyLoadingHandler_default.observe(\n this._lottiePlayer,\n () => {\n this._lottiePlayerStart.play();\n },\n \"fullInViewport\"\n );\n },\n \"approachingViewport\"\n );\n const resizeObserver = new ResizeObserver((entries) => {\n this._titleLineHeight = parseInt(getComputedStyle(this._currentTitle).lineHeight, 10);\n const rect = entries[0];\n const height = Math.floor(rect.contentRect.height);\n if (height !== this._titleLineHeight) {\n this._currentTitle.style.transform = `translateY(-${height - this._titleLineHeight}px)`;\n } else {\n this._currentTitle.style.transform = `translateY(0)`;\n }\n });\n resizeObserver.observe(this._currentTitle);\n }\n _handleMouseLeave() {\n this._hover = false;\n this._showHover();\n this._lottiePlayerHover.setDirection(-1);\n this._lottiePlayerHover.play();\n }\n _handleMouseOver() {\n this._hover = true;\n this._showHover();\n this._lottiePlayerHover.setDirection(1);\n this._lottiePlayerHover.play();\n }\n _showHover() {\n this._lottiePlayerStart.style.display = \"none\";\n this._lottiePlayerNeutral.style.display = \"none\";\n this._lottiePlayerHover.style.display = \"block\";\n }\n _showNeutral() {\n this._lottiePlayerStart.style.display = \"none\";\n this._lottiePlayerHover.style.display = \"none\";\n this._lottiePlayerNeutral.style.display = \"block\";\n }\n _tracking(e2) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e2, {\n component_name: \"first-level-teaser\",\n interaction_text: e2.detail.linkTag.innerText\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n }\n render() {\n return ke`\n \n \n \n \n \n \n \n

    ${this.title}

    \n \n \n ${this.buttonText}\n \n \n `;\n }\n};\nJbFirstLevelTeaserItem.styles = r(jb_first_level_teaser_item_default);\n__decorateClass([\n n()\n], JbFirstLevelTeaserItem.prototype, \"buttonText\", 2);\n__decorateClass([\n n()\n], JbFirstLevelTeaserItem.prototype, \"lottieSourceHover\", 2);\n__decorateClass([\n n()\n], JbFirstLevelTeaserItem.prototype, \"lottieSourceNeutral\", 2);\n__decorateClass([\n n()\n], JbFirstLevelTeaserItem.prototype, \"lottieSourceStart\", 2);\n__decorateClass([\n n()\n], JbFirstLevelTeaserItem.prototype, \"position\", 2);\n__decorateClass([\n n()\n], JbFirstLevelTeaserItem.prototype, \"title\", 2);\n__decorateClass([\n e(\"h2\")\n], JbFirstLevelTeaserItem.prototype, \"_currentTitle\", 2);\n__decorateClass([\n r2()\n], JbFirstLevelTeaserItem.prototype, \"_hover\", 2);\n__decorateClass([\n e(\"a\")\n], JbFirstLevelTeaserItem.prototype, \"_link\", 2);\n__decorateClass([\n e(\"lottie-player\")\n], JbFirstLevelTeaserItem.prototype, \"_lottiePlayer\", 2);\n__decorateClass([\n e(\"lottie-player[state=hover]\")\n], JbFirstLevelTeaserItem.prototype, \"_lottiePlayerHover\", 2);\n__decorateClass([\n e(\"lottie-player[state=neutral]\")\n], JbFirstLevelTeaserItem.prototype, \"_lottiePlayerNeutral\", 2);\n__decorateClass([\n e(\"lottie-player[state=start]\")\n], JbFirstLevelTeaserItem.prototype, \"_lottiePlayerStart\", 2);\nJbFirstLevelTeaserItem = __decorateClass([\n customElement(\"jb-first-level-teaser-item\")\n], JbFirstLevelTeaserItem);\n\nexport {\n JbFirstLevelTeaserItem\n};\n", "import {\n Linkable,\n getLinkIcon,\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n isPartiallyInViewPort\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-cta-small/jb-cta-small.scss?inline\nvar jb_cta_small_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.cta-small .text {\n font-family: var(--theme-font-black-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-black-weight, 900);\n}\n\n.cta-small .text {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.125rem;\n line-height: 1rem;\n text-decoration: none;\n text-transform: uppercase;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n.cta-small {\n background-color: #f0f1f2;\n cursor: pointer;\n display: flex;\n gap: var(--spacing-xs);\n inline-size: 100%;\n inset-block-end: 0;\n justify-content: center;\n position: fixed;\n text-decoration: none;\n transform: translateY(48px);\n transition: transform 0.5s;\n z-index: 110;\n}\n.cta-small.cta-small--visible {\n transform: translateY(0);\n}\n@media (min-width: 960px) {\n .cta-small {\n inline-size: auto;\n inset-block-end: 180px;\n inset-inline-end: -100%;\n transform: translateX(64px);\n transition: background-color 0.3s, transform 1s, right 1ms 1s;\n width: auto;\n }\n .cta-small.cta-small--visible {\n inset-inline-end: 0;\n transform: translateX(0);\n transition: background-color 0.3s, transform 1s, right 1ms;\n }\n .cta-small.cta-small--visible .icon {\n transition: background-color 0.5s 0.2s;\n }\n .cta-small.cta-small--visible .icon svg {\n opacity: 1;\n transition: opacity 0.5s 0.5s;\n }\n .cta-small.mail .icon {\n --icon-size: 20px;\n }\n .cta-small.cta-small--hover.cta-small .text {\n background-color: #141e55;\n transform: translateX(-100%);\n transition: transform 1s, background-color 0.3s;\n }\n .cta-small.cta-small--hover.cta-small .text-wrap {\n opacity: 1;\n transition: opacity 0.7s 0.3s;\n }\n .cta-small.cta-small--hover.cta-small .icon {\n --rgb-primary: 255, 255, 255;\n background-color: #141e55;\n transition: background-color 0.3s;\n }\n}\n.cta-small .text {\n padding-block: var(--spacing-sm);\n}\n@media (min-width: 960px) {\n .cta-small .text {\n background-color: #f0f1f2;\n color: #fff;\n inset-inline-start: 1px;\n line-height: 1.25rem;\n padding: var(--spacing-sm);\n padding-inline-end: 0;\n position: absolute;\n transform: translateX(0);\n transition: transform 0.5s 0.2s, background-color 0.5s 0.2s;\n white-space: nowrap;\n }\n}\n@media (min-width: 960px) {\n .cta-small .text-wrap {\n opacity: 0;\n transition: opacity 0.2s;\n }\n}\n.cta-small .icon {\n --icon-transition: fill 0.3s;\n line-height: 0.875rem;\n padding-block: var(--spacing-sm);\n}\n@media (min-width: 960px) {\n .cta-small .icon {\n background-color: #f0f1f2;\n padding: var(--spacing-sm);\n transition: background-color 0.5s 0.2s;\n z-index: 1;\n }\n}\n\n@media print {\n :host {\n display: none;\n }\n}`;\n\n// src/components/jb-cta-small/jb-cta-small.ts\nvar JbCtaSmall = class extends Linkable(h) {\n constructor() {\n super(...arguments);\n this.alwaysVisible = false;\n this._ctaSmall = {\n el: null,\n hero: null,\n text: null,\n footer: null\n };\n }\n firstUpdated(changedProperties) {\n super.firstUpdated(changedProperties);\n this._ctaSmall.el = this.renderRoot.querySelector(\".cta-small\");\n this._ctaSmall.hero = document.querySelector(\n \"jb-info-page-hero, jb-campaign-page-hero-fullscreen, jb-article-page-hero, jb-moment-page-hero, jb-news-page-hero, jb-simple-page-hero, jb-home-page-hero-legacy\"\n );\n this._ctaSmall.text = this.renderRoot.querySelector(\".text\");\n this._ctaSmall.footer = document.querySelector(\"jb-footer\");\n if (!this._ctaSmall.el) return;\n if (this.link.data.type === \"download\" && this.link?.href) {\n this._ctaSmall.el?.setAttribute(\"download\", \"\");\n }\n this._ctaSmall.el.addEventListener(\"mouseover\", () => this._mouseOver());\n this._ctaSmall.el.addEventListener(\"mouseout\", () => this._mouseOut());\n window.addEventListener(\"scroll\", () => this._showHide());\n setTimeout(() => {\n this._showHide();\n }, 0);\n }\n _aboveTheFold() {\n const viewportHeight = window.innerHeight;\n if (this._ctaSmall.hero) {\n const heroBottomEdgeOffset = this._ctaSmall.hero.getBoundingClientRect().bottom;\n return heroBottomEdgeOffset > viewportHeight / 2;\n }\n const scrollPosition = window.scrollY;\n return scrollPosition < viewportHeight / 2;\n }\n _mouseOut() {\n this._ctaSmall.el?.classList.remove(\"cta-small--hover\");\n }\n _mouseOver() {\n this._ctaSmall.el?.classList.add(\"cta-small--hover\");\n }\n _showHide() {\n if (!this.alwaysVisible && (this._aboveTheFold() || this._ctaSmall.footer && isPartiallyInViewPort(this._ctaSmall.footer))) {\n this._ctaSmall.el?.classList.remove(\"cta-small--visible\");\n this._ctaSmall.el?.classList.remove(\"cta-small--hover\");\n } else {\n this._ctaSmall.el?.classList.add(\"cta-small--visible\");\n }\n }\n _tracking(e) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e, {\n component_name: \"cta-small\",\n interaction_element: \"cta\"\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n }\n render() {\n return ke`\n \n \n ${this.text}\n \n ${getLinkIcon(this.link.data.type)}\n \n `;\n }\n};\nJbCtaSmall.styles = r(jb_cta_small_default);\n__decorateClass([\n n({ type: Boolean })\n], JbCtaSmall.prototype, \"alwaysVisible\", 2);\n__decorateClass([\n n()\n], JbCtaSmall.prototype, \"text\", 2);\nJbCtaSmall = __decorateClass([\n customElement(\"jb-cta-small\")\n], JbCtaSmall);\n\nexport {\n JbCtaSmall\n};\n", "import {\n JbI18nData\n} from \"./chunk.SE5MQEAG.js\";\nimport {\n bindLinkHandler,\n showCookieConsentOnPageLoad\n} from \"./chunk.JFNWOIMP.js\";\nimport {\n ae\n} from \"./chunk.Q25FCJRM.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n JBCookie,\n mergeDeep\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-cookie-consent/jb-cookie-consent.scss?inline\nvar jb_cookie_consent_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nh2 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh2 {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.313rem;\n line-height: 2.125rem;\n}\n@media (min-width: 1281px) {\n h2 {\n font-size: 1.5rem;\n line-height: 2.25rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n --host-color: rgb(255, 255, 255);\n display: block;\n}\n\nsection {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: 100%;\n justify-content: center;\n}\n\n.container {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 0;\n width: 100%;\n align-items: center;\n background-color: var(--background-color, #141e55);\n display: flex;\n flex-direction: column;\n gap: 25px;\n padding-block: 40px;\n padding-inline: 20px;\n}\n@media (min-width: 600px) {\n .container {\n padding-inline: 40px;\n }\n}\n@media (min-width: 960px) {\n .container {\n align-items: flex-start;\n flex-direction: row-reverse;\n gap: 40px;\n padding-inline-start: 98px;\n }\n}\n@media (min-width: 1281px) {\n .container {\n padding-block: 40px 70px;\n padding-inline: 98px 40px;\n }\n}\n\n@media (min-width: 960px) {\n .text-container {\n padding-block: 30px;\n }\n}\n\nh2 {\n color: #fff;\n margin-bottom: 10px;\n}\n\njb-richtext {\n margin-bottom: 30px;\n}\n\njb-select,\njb-dropdown {\n align-self: end;\n width: 116px;\n}\n@media (min-width: 960px) {\n jb-select,\n jb-dropdown {\n align-self: unset;\n flex-basis: 116px;\n flex-shrink: 0;\n }\n}\n\njb-button,\njb-button-primary,\njb-button-secondary,\njb-button-tertiary {\n width: 100%;\n}\n@media (min-width: 960px) {\n jb-button,\n jb-button-primary,\n jb-button-secondary,\n jb-button-tertiary {\n margin-bottom: 0;\n width: auto;\n }\n}\n\n@media print {\n :host {\n display: none;\n }\n}`;\n\n// src/components/jb-cookie-consent/jb-cookie-consent.ts\nvar JbCookieConsent = class extends Initiable(h) {\n constructor() {\n super(...arguments);\n this._hide = false;\n this._open = false;\n }\n static create(data) {\n return new JbCookieConsent().init({ props: data, childNodes: [] });\n }\n close() {\n this._open = false;\n }\n firstUpdated() {\n window.setTimeout(() => {\n this._prepareCookieSettingsComponent().then();\n }, 50);\n }\n getCookieSettings() {\n return this._cookieSettingsComponent;\n }\n open() {\n this._open = true;\n window.addEventListener(\"load\", () => {\n this.dispatchEvent(\n new CustomEvent(\"jb-cookie-consent:open\", {\n bubbles: true,\n composed: true\n })\n );\n });\n }\n showCookieSettingsPopup() {\n if (!this._cookieSettingsComponent) {\n return;\n }\n this.dispatchEvent(\n new CustomEvent(\"jb-popup:transition\", {\n bubbles: true,\n composed: true,\n detail: {\n nextChild: this._cookieSettingsComponent\n }\n })\n );\n }\n _getLanguageOptions() {\n const i18nDataComponent = JbI18nData.find();\n if (!i18nDataComponent) {\n return [];\n }\n return i18nDataComponent.getI18nDataLanguageOptionsForCountry(JBCookie.getI18nCookieData().country);\n }\n _getLanguageSelectOptions() {\n if (!this._languageSelectOptions) {\n const i18nDataComponent = JbI18nData.find();\n if (!i18nDataComponent) {\n return [];\n }\n const languageOptions = this._getLanguageOptions();\n this._languageSelectOptions = [];\n languageOptions?.forEach((languageOption) => {\n const language = i18nDataComponent.getLanguageByIsoCode(languageOption.language);\n if (!language) {\n return;\n }\n this._languageSelectOptions.push({\n label: language.shortLabel || language.label,\n value: languageOption.language\n });\n });\n }\n return this._languageSelectOptions;\n }\n _handleButtonClick(button, event) {\n event.preventDefault();\n event.stopPropagation();\n if (button.setsConsentFor) {\n this._cookieSettingsComponent?.setConsentFor(button.setsConsentFor);\n }\n if (button.opensCookieSettings) {\n this.showCookieSettingsPopup();\n } else {\n this._saveLanguageSelection();\n JBCookie.deleteCookie(\"allow_tracking_cookies\");\n JBCookie.deleteCookie(\"allow_marketing_cookies\");\n JBCookie.setCookie(\"hide_cookie_banner\", \"1\");\n JBCookie.setCookie(\"show_cookie_banner\", \"0\");\n JBCookie.setCookie(\"cookie_banner_suppressed\", \"0\");\n this.dispatchEvent(new CustomEvent(\"jb-popup:close\", { bubbles: true, composed: true }));\n }\n }\n _handleLanguageChange(event) {\n event.stopPropagation();\n if (event.detail.newValue && event.detail.newValue !== this._selectedLanguage) {\n this._selectedLanguage = event.detail.newValue;\n this._prepareCookieSettingsComponent().then();\n }\n }\n async _prepareCookieSettingsComponent() {\n const currentLanguage = this._selectedLanguage || JBCookie.getI18nCookieData().languageIso2;\n const effectiveCookieSettings = mergeDeep(\n {},\n this.cookieSettingsPerLanguage.__default,\n this.cookieSettingsPerLanguage[currentLanguage]\n );\n const { JbCookieSettings } = await import(\"../components/jb-cookie-settings/jb-cookie-settings.js\");\n this._cookieSettingsComponent = JbCookieSettings.create(effectiveCookieSettings);\n }\n _saveLanguageSelection() {\n if (!this._selectedLanguage || this._selectedLanguage === JBCookie.getI18nCookieData().languageIso2) {\n return;\n }\n JBCookie.setI18nCookieData({ languageIso2: this._selectedLanguage });\n const selectedOption = this._getLanguageOptions().find(\n (languageOption) => languageOption.language === this._selectedLanguage\n );\n if (!selectedOption) {\n return;\n }\n window.location.href = selectedOption.url;\n }\n render() {\n const languageOptions = this._getLanguageSelectOptions();\n const currentLanguage = this._selectedLanguage || JBCookie.getI18nCookieData().languageIso2 || (languageOptions?.length ? languageOptions[0].value : void 0) || \"\";\n const content = this.content[currentLanguage] || this.content.__default;\n const headline = this.headlineLabels[currentLanguage] || this.headlineLabels.__default;\n if (!this._open) {\n return ke``;\n }\n return ke`\n
    \n
    \n ${languageOptions && languageOptions.length > 0 ? ke`\n \n ` : D}\n
    \n

    ${headline}

    \n ${ae(content)}\n \n ${this.buttons.map(\n (button) => ke`\n ${button.isPrimaryAction ? ke`\n \n ${button.labels[currentLanguage] || button.labels.__default}\n \n ` : ke`\n \n ${button.labels[currentLanguage] || button.labels.__default}\n \n `}\n `\n )}\n \n
    \n
    \n
    \n `;\n }\n};\nJbCookieConsent.styles = r(jb_cookie_consent_default);\n__decorateClass([\n n({ type: Array })\n], JbCookieConsent.prototype, \"buttons\", 2);\n__decorateClass([\n n({ type: Object })\n], JbCookieConsent.prototype, \"content\", 2);\n__decorateClass([\n n({ type: Object })\n], JbCookieConsent.prototype, \"cookieSettingsPerLanguage\", 2);\n__decorateClass([\n n({ type: Object })\n], JbCookieConsent.prototype, \"headlineLabels\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbCookieConsent.prototype, \"showOnPageLoad\", 2);\n__decorateClass([\n r2()\n], JbCookieConsent.prototype, \"_hide\", 2);\n__decorateClass([\n r2()\n], JbCookieConsent.prototype, \"_open\", 2);\n__decorateClass([\n r2()\n], JbCookieConsent.prototype, \"_selectedLanguage\", 2);\nJbCookieConsent = __decorateClass([\n customElement(\"jb-cookie-consent\")\n], JbCookieConsent);\nbindLinkHandler();\nshowCookieConsentOnPageLoad();\n\nexport {\n JbCookieConsent\n};\n", "import {\n JbPopup\n} from \"./chunk.PO4WO7D2.js\";\nimport {\n JBCookie\n} from \"./chunk.WXNWU2SV.js\";\n\n// src/components/jb-cookie-consent/jb-cookie-consent-utils.ts\nfunction findOriginalCookieConsent() {\n return document.querySelector(\"jb-cookie-consent:not([data-clone])\");\n}\nfunction showCookieConsentOnPageLoad() {\n if (JBCookie.getCookie(\"hide_cookie_banner\") && (!JBCookie.getCookie(\"show_cookie_banner\") || JBCookie.getCookie(\"show_cookie_banner\") === \"0\")) {\n return;\n }\n const originalCookieConsent = findOriginalCookieConsent();\n if (!originalCookieConsent || !originalCookieConsent.showOnPageLoad) {\n return;\n }\n const cookieConsent = originalCookieConsent.cloneNode(true);\n cookieConsent.setAttribute(\"data-clone\", \"\");\n cookieConsent.open();\n new JbPopup().init({ props: { preventCloseByBackgroundClick: true }, childNodes: [cookieConsent] }).stack();\n}\nfunction bindLinkHandler() {\n document.body.addEventListener(\"jb-link:clicked\", (event) => {\n const customEvent = event;\n if (!customEvent.detail.cookieSettings) {\n return;\n }\n customEvent.stopPropagation();\n customEvent.detail.clickEvent.preventDefault();\n customEvent.detail.clickEvent.stopPropagation();\n const originalCookieConsent = findOriginalCookieConsent();\n if (!originalCookieConsent) {\n return;\n }\n new JbPopup().init({ childNodes: [originalCookieConsent.getCookieSettings()] }).stack();\n });\n}\n\nexport {\n showCookieConsentOnPageLoad,\n bindLinkHandler\n};\n", "import {\n jb_select_default\n} from \"./chunk.I2ELSNII.js\";\nimport {\n se\n} from \"./chunk.Y44YK2W3.js\";\nimport {\n FormElement\n} from \"./chunk.UTVDNTSP.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n applyStyles,\n querySelectorAllShadow\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-dropdown/jb-dropdown.ts\nvar JbDropdown = class extends Initiable(FormElement(h)) {\n constructor() {\n super(...arguments);\n this.inverted = false;\n this._dropdownIndex = 0;\n this._dropdownOpen = false;\n this._isFocused = false;\n }\n connectedCallback() {\n super.connectedCallback();\n applyStyles(this, jb_select_default);\n }\n closeDropdown() {\n this._dropdownOpen = false;\n }\n createRenderRoot() {\n return this;\n }\n firstUpdated() {\n this._dropdownIndex = this.options.map((d) => d.value).indexOf(this.value);\n }\n openDropdown() {\n if (this.disabled) return;\n const dropdowns = querySelectorAllShadow(\"jb-dropdown\");\n dropdowns.forEach((dropdown) => {\n dropdown.closeDropdown();\n });\n this._dropdownOpen = true;\n }\n setValue(value) {\n this._handleOptionClick({ label: this._getLabel(value), value });\n return value;\n }\n _getLabel(value) {\n if (!value) return \"\";\n return this.options.find((i) => i.value === value)?.label;\n }\n _handleOptionClick(option) {\n this.value = option.value;\n this.closeDropdown();\n this.querySelectorAll(\".active\").forEach((item) => {\n item.classList.remove(\"active\");\n });\n this.dispatchEvent(\n new CustomEvent(\"jb-select:changed\", {\n detail: {\n id: this.id,\n newValue: this.value,\n label: option.label\n },\n bubbles: true,\n composed: true\n })\n );\n }\n _keyboardListener(evt) {\n if (this.disabled) return;\n evt.preventDefault();\n const optionElements = this.querySelectorAll(\".option\");\n switch (evt.code) {\n case \"Space\":\n case \"Enter\":\n if (this._dropdownOpen) {\n this._handleOptionClick(this.options[this._dropdownIndex]);\n } else {\n this._toggleDropdown();\n }\n break;\n case \"ArrowDown\":\n if (this._dropdownOpen) {\n if (this._dropdownIndex < this.options.length - 1) {\n this._dropdownIndex += 1;\n const dropdownItem = optionElements[this._dropdownIndex];\n dropdownItem.focus();\n dropdownItem.scrollIntoView();\n }\n } else {\n this.openDropdown();\n }\n break;\n case \"ArrowUp\":\n if (this._dropdownOpen) {\n if (this._dropdownIndex > 0) {\n this._dropdownIndex -= 1;\n const dropdownItem = optionElements[this._dropdownIndex];\n dropdownItem.focus();\n dropdownItem.scrollIntoView();\n }\n }\n break;\n case \"Escape\":\n if (this._dropdownOpen) {\n this._dropdownOpen = false;\n }\n break;\n default:\n }\n }\n _toggleDropdown() {\n if (this.disabled) return;\n const dropdowns = querySelectorAllShadow(\"jb-dropdown\");\n dropdowns.forEach((dropdown) => {\n if (dropdown.id === this.id) return;\n dropdown.closeDropdown();\n });\n if (this._dropdownOpen) {\n this.closeDropdown();\n } else {\n this.openDropdown();\n }\n }\n render() {\n return ke`\n \n ${this.label ? ke`` : D}\n ${ke`\n {\n this._keyboardListener(evt);\n },\n capture: true\n }}\n class=\"ts-wrapper single full has-items ${Rt({\n \"dropdown-active\": this._dropdownOpen\n })}\"\n >\n \n ${this.type === \"languageswitch\" ? ke`${this.value}` : D}\n
    ${this._getLabel(this.value || \"0\")}
    \n \n \n
    \n ${this.options.map(\n (option, index) => ke` {\n this._handleOptionClick(option);\n }\n }}\n data-selectable\n class=\"option ${Rt({\n selected: this.value === option.value,\n active: index === this._dropdownIndex\n })}\"\n data-value=\"${option.value}\"\n >\n ${option.label}\n
    `\n )}\n \n \n \n `}\n ${this.showError ? ke`

    ${this.requiredText}

    ` : D}\n ${this.errorText ? ke`

    ${this.errorText}

    ` : D}\n \n \n `;\n }\n};\nJbDropdown.styles = r(jb_select_default);\n__decorateClass([\n n()\n], JbDropdown.prototype, \"autocomplete\", 2);\n__decorateClass([\n e(\"input\")\n], JbDropdown.prototype, \"input\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbDropdown.prototype, \"inverted\", 2);\n__decorateClass([\n n({ type: Array })\n], JbDropdown.prototype, \"options\", 2);\n__decorateClass([\n n()\n], JbDropdown.prototype, \"placeholder\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbDropdown.prototype, \"showLabel\", 2);\n__decorateClass([\n n()\n], JbDropdown.prototype, \"type\", 2);\n__decorateClass([\n r2()\n], JbDropdown.prototype, \"_dropdownIndex\", 2);\n__decorateClass([\n r2()\n], JbDropdown.prototype, \"_dropdownOpen\", 2);\n__decorateClass([\n r2()\n], JbDropdown.prototype, \"_isFocused\", 2);\nJbDropdown = __decorateClass([\n customElement(\"jb-dropdown\")\n], JbDropdown);\n\nexport {\n JbDropdown\n};\n", "import {\n disableBodyScroll,\n enableBodyScroll\n} from \"./chunk.WDF6H473.js\";\nimport {\n JbOverlay\n} from \"./chunk.5C7B4R5Q.js\";\nimport {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n Animatable\n} from \"./chunk.VRR2P3PQ.js\";\nimport {\n recenterNavItems\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-contact-overlay/jb-contact-overlay.scss?inline\nvar jb_contact_overlay_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n background-color: white;\n display: block;\n min-height: 100%;\n padding-bottom: 126px;\n padding-top: 42px;\n}\n@media (min-width: 600px) {\n :host {\n padding-top: 12px;\n }\n}\n@media (min-width: 1281px) {\n :host {\n padding-top: 2px;\n }\n}\n\niframe {\n border: 0;\n height: 0;\n width: 100%;\n}`;\n\n// src/components/jb-contact-overlay/jb-contact-overlay.ts\nvar JbContactOverlay = class extends Initiable(Spaceable(Animatable(h))) {\n async firstUpdated(changedProperties) {\n super.firstUpdated(changedProperties);\n await this.updateComplete;\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_form\",\n event_version: \"v2\",\n component_name: \"contact-overlay\",\n form_step_name: \"form open\",\n form_step_nr: \"1\",\n form_subject: this.formToDisplay.trackingSubject || \"\",\n form_type: \"contact\"\n },\n bubbles: true,\n composed: true\n })\n );\n this.contentChildren = [];\n const formHeader = this._form.shadowRoot.querySelector(\".formheader\");\n if (formHeader) {\n this.contentChildren.push(...Array.from(formHeader.children));\n }\n if (this._form.shadowRoot.querySelector(\"h3\")) {\n this.contentChildren.push(this._form.shadowRoot.querySelector(\"h3\"));\n }\n this.contentChildren.push(...Array.from(this._form.children));\n this.contentChildren.forEach((element) => {\n element.style.setProperty(\"opacity\", \"0\");\n });\n document.addEventListener(\"jb-overlay:close\", () => {\n this._prepareToClose();\n });\n }\n static async open(event) {\n const customEvent = event;\n if (!customEvent.detail.contactOverlayForm) return;\n if (customEvent.detail.clickEvent) {\n customEvent.detail.clickEvent.preventDefault();\n customEvent.detail.clickEvent.stopPropagation();\n }\n customEvent.stopPropagation();\n const contactOverlay = new JbContactOverlay().init({\n props: {\n formIdentifier: customEvent.detail.contactFormUid,\n formToDisplay: customEvent.detail.contactOverlayForm,\n withSpacing: true\n }\n });\n new JbOverlay().init({\n props: {\n color: \"white\",\n hasLogo: true,\n logoLink: customEvent.detail.logoLink,\n svgLogo: customEvent.detail.svgLogo,\n newAnimation: true\n },\n childNodes: [contactOverlay]\n }).stack();\n disableBodyScroll(contactOverlay, { allowTouchMove: () => true });\n recenterNavItems();\n await contactOverlay.animateWrapper();\n await contactOverlay.animateWrapperControls();\n contactOverlay.animateContent();\n }\n _captureTracking(evt) {\n evt.stopPropagation();\n }\n _getContentSpacingProperties() {\n return { grid: \"legacy\", colsMdUp: 8, colsLgUp: 6 };\n }\n async _prepareToClose() {\n await this.hide();\n const { parentElement } = this;\n const grandparentElement = parentElement.parentElement;\n if (parentElement.tagName === \"JB-OVERLAY\") {\n parentElement.unstack();\n }\n if (grandparentElement.tagName === \"JB-OVERLAY\") {\n grandparentElement.unstack();\n }\n enableBodyScroll(this);\n recenterNavItems();\n }\n render() {\n return ke`\n \n `;\n }\n};\nJbContactOverlay.styles = r(jb_contact_overlay_default);\n__decorateClass([\n n()\n], JbContactOverlay.prototype, \"formIdentifier\", 2);\n__decorateClass([\n n({ type: Object })\n], JbContactOverlay.prototype, \"formToDisplay\", 2);\n__decorateClass([\n n()\n], JbContactOverlay.prototype, \"svgLogo\", 2);\n__decorateClass([\n e(\"jb-form\")\n], JbContactOverlay.prototype, \"_form\", 2);\nJbContactOverlay = __decorateClass([\n customElement(\"jb-contact-overlay\")\n], JbContactOverlay);\ndocument.body.addEventListener(\"jb-link:clicked\", JbContactOverlay.open);\n\nexport {\n JbContactOverlay\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n ChangesBackgroundColor\n} from \"./chunk.7ANACPIR.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-contact-teaser/jb-contact-teaser.scss?inline\nvar jb_contact_teaser_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\np {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\np, .small h2 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh2 {\n font-family: var(--theme-font-xlight-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-xlight-weight, 200);\n}\n\nh2 {\n font-size: var(--theme-typo-h2-mobile-fontsize, 1.938rem);\n line-height: var(--theme-typo-h2-mobile-lineheight, 2.625rem);\n}\n@media (min-width: 1281px) {\n h2 {\n font-size: var(--theme-typo-h2-desktop-fontsize, 2.813rem);\n line-height: var(--theme-typo-h2-desktop-lineheight, 3.813rem);\n }\n}\n\n.small h2 {\n font-size: var(--theme-typo-h2-subtitle-mobile-fontsize, 1.625rem);\n line-height: var(--theme-typo-h2-subtitle-mobile-lineheight, 2.188rem);\n}\n@media (min-width: 1281px) {\n .small h2 {\n font-size: var(--theme-typo-h2-subtitle-desktop-fontsize, 1.938rem);\n line-height: var(--theme-typo-h2-subtitle-desktop-lineheight, 2.625rem);\n }\n}\n\np {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.063rem;\n line-height: 1.875rem;\n}\n@media (min-width: 1281px) {\n p {\n font-size: 1.188rem;\n line-height: 2.125rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n width: 100%;\n width: 100%;\n margin: 68px 0;\n margin: 4.25rem 0;\n background-color: #f7f7f2;\n display: block;\n margin-left: auto;\n padding-right: var(--compensate-scrollbar);\n}\n@media (min-width: 960px) {\n :host {\n width: 93.32%;\n width: 93.32%;\n margin-left: 6.68%;\n margin-left: 6.68%;\n }\n}\n\ndiv {\n text-align: center;\n width: 100%;\n}\n\np {\n color: #141e55;\n margin-top: 16px;\n}\n@media (min-width: 960px) {\n p {\n font-size: 19px;\n font-size: 1.1875rem;\n line-height: 34px;\n line-height: 2.125rem;\n }\n}\n\n.contact-teaser-inner {\n padding-bottom: 24px;\n padding-bottom: 1.5rem;\n align-items: center;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n margin: 0 auto;\n}\n@media (min-width: 960px) {\n .contact-teaser-inner {\n padding-bottom: 30px;\n padding-bottom: 1.875rem;\n align-items: end;\n flex-direction: row;\n order: 2;\n }\n}\n@media (min-width: 1281px) {\n .contact-teaser-inner {\n padding-bottom: 40px;\n padding-bottom: 2.5rem;\n max-width: 1033px;\n max-width: 64.5625rem;\n }\n}\n@media (max-width: 1436px) {\n .contact-teaser-inner {\n padding: 40px 10px;\n padding: 2.5rem 0.625rem;\n max-width: 66.6667%;\n max-width: 66.6667%;\n }\n}\n.contact-teaser-inner .headline-wrapper {\n order: 2;\n text-align: center;\n}\n@media (min-width: 960px) {\n .contact-teaser-inner .headline-wrapper {\n max-width: 350px;\n max-width: 21.875rem;\n order: 1;\n text-align: left;\n }\n}\n@media (min-width: 1281px) {\n .contact-teaser-inner .headline-wrapper {\n max-width: 100%;\n }\n}\n.contact-teaser-inner .image-wrapper {\n max-width: 135px;\n max-width: 8.4375rem;\n margin: 0 auto 16px;\n order: 1;\n}\n@media (min-width: 960px) {\n .contact-teaser-inner .image-wrapper {\n max-width: 186px;\n max-width: 11.625rem;\n margin: 0 auto;\n order: 2;\n }\n}\n@media (min-width: 1281px) {\n .contact-teaser-inner .image-wrapper {\n max-width: 245px;\n max-width: 15.3125rem;\n }\n}\n\njb-button-panel {\n margin-left: auto;\n margin-left: auto;\n padding-bottom: 22px;\n padding-bottom: 1.375rem;\n text-align: center;\n}\n@media (min-width: 960px) {\n jb-button-panel {\n margin-left: -6.68%;\n margin-left: -6.68%;\n padding-bottom: 50px;\n padding-bottom: 3.125rem;\n }\n}\n@media (min-width: 1281px) {\n jb-button-panel {\n padding-bottom: 69px;\n padding-bottom: 4.3125rem;\n }\n}\n\n@media print {\n :host {\n display: none;\n }\n}`;\n\n// src/components/jb-contact-teaser/jb-contact-teaser.ts\nvar JbContactTeaser = class extends ChangesBackgroundColor(Spaceable(h)) {\n constructor() {\n super(...arguments);\n this._fallbackImage = {\n picture: {\n alt: \"\",\n imgData: {\n sources: {},\n fallbackImage: {\n src: \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjU0IiBoZWlnaHQ9IjI1NCIgdmlld0JveD0iMCAwIDI1NCAyNTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNTQiIGhlaWdodD0iMjU0IiByeD0iMTI3IiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEyNS41NzcgNTEuOTU0OUMxMjUuNTcgNTEuOTU0OSAxMjUuNTYzIDUxLjk1NDkgMTI1LjU1NiA1MS45NTQ5QzExNy4xODcgNTEuOTU0OSAxMTAuNDAyIDU4LjczOTMgMTEwLjQwMiA2Ny4xMDgzQzExMC40MDIgNzUuNDc3MyAxMTcuMTg3IDgyLjI2MTcgMTI1LjU1NiA4Mi4yNjE3QzEyNS41NTYgODIuMjYxNyAxMjUuNTU2IDgyLjI2MTcgMTI1LjU1NiA4Mi4yNjE3TDEyNS41NTYgODIuMjYxN0wxNjUuOTU5IDgyLjI2MTdDMTY1Ljk2MSA4Mi4yNjE3IDE2NS45NjMgODIuMjYxNyAxNjUuOTY1IDgyLjI2MTdDMTc0LjMzNCA4Mi4yNjE3IDE4MS4xMTggNzUuNDc3MyAxODEuMTE4IDY3LjEwODNDMTgxLjExOCA1OC43MzkzIDE3NC4zMzQgNTEuOTU0OSAxNjUuOTY1IDUxLjk1NDlMMTI1LjU3NyA1MS45NTQ5WiIgZmlsbD0iI0U4RTVEMiIgZmlsbC1vcGFjaXR5PSIwLjUiLz4KPHBhdGggZD0iTTE2My4wNzkgOTEuNjQyNkwxNTEuNTMzIDgyLjI2MTlMMTYzLjA3OSA4Mi4yNjE5TDE2My4wNzkgOTEuNjQyNloiIGZpbGw9IiNFOEU1RDIiIGZpbGwtb3BhY2l0eT0iMC41Ii8+CjxjaXJjbGUgY3g9Ijk4LjEzNDkiIGN5PSI1MS45NTUzIiByPSIyMi4zNjkzIiBmaWxsPSIjRThFNUQyIiBmaWxsLW9wYWNpdHk9IjAuNSIvPgo8cGF0aCBvcGFjaXR5PSIwLjYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjUzLjQxNSAxMTQuNzM0QzI1My44MDIgMTE4Ljc3MSAyNTQgMTIyLjg2MyAyNTQgMTI3LjAwMUMyNTQgMTU0LjEyIDI0NS41IDE3OS4yNTMgMjMxLjAxOSAxOTkuODgySDg1LjE0ODRWMTE0LjczNEgyNTMuNDE1WiIgZmlsbD0iI0YzRjNFQyIvPgo8cGF0aCBkPSJNMTQ0LjMxOCAxMDIuMjczSDE4MS4zMTQiIHN0cm9rZT0iIzI2MzU4QyIgc3Ryb2tlLXdpZHRoPSIxLjQ2NjU4Ii8+CjxwYXRoIGQ9Ik0xNDQuODQ2IDEwNi42ODdIMTc4LjE0MiIgc3Ryb2tlPSIjMjYzNThDIiBzdHJva2Utd2lkdGg9IjEuNDY2NTgiLz4KPHBhdGggZD0iTTE0NC44NDYgMTE5LjkxNkgxNzguMTQyIiBzdHJva2U9IiMyNjM1OEMiIHN0cm9rZS13aWR0aD0iMS40NjY1OCIvPgo8cGF0aCBkPSJNMTQ0Ljg0NiAxMTEuMDg2SDE4MS44NDEiIHN0cm9rZT0iIzI2MzU4QyIgc3Ryb2tlLXdpZHRoPSIxLjQ2NjU4Ii8+CjxwYXRoIGQ9Ik0xNDQuODQ2IDEyOC43M0gxODEuODQxIiBzdHJva2U9IiMyNjM1OEMiIHN0cm9rZS13aWR0aD0iMS40NjY1OCIvPgo8cGF0aCBkPSJNMTQ0Ljg0NiAxMTUuNTAySDE3My45MTQiIHN0cm9rZT0iIzI2MzU4QyIgc3Ryb2tlLXdpZHRoPSIxLjQ2NjU4Ii8+CjxwYXRoIGQ9Ik0xNDQuODQ2IDEyNC4zMTRIMTczLjkxNCIgc3Ryb2tlPSIjMjYzNThDIiBzdHJva2Utd2lkdGg9IjEuNDY2NTgiLz4KPGVsbGlwc2UgY3g9IjE0OC41NDUiIGN5PSIxMzkuMzEzIiByeD0iMy42OTk1NyIgcnk9IjMuNzAzOTQiIGZpbGw9IiMyNjM1OEMiLz4KPHJlY3Qgb3BhY2l0eT0iMC41IiB4PSIxMTQuMDEyIiB5PSIxNzguOTU1IiB3aWR0aD0iNjAuNjEzNiIgaGVpZ2h0PSIzOC45NjU5IiBmaWxsPSIjQkZDNEUxIi8+CjxwYXRoIGQ9Ik0xNzQuNjI1IDE3OC45NTVIMTE0LjAxMkwxNDQuMzE5IDE1Mi45NzhMMTc0LjYyNSAxNzguOTU1WiIgZmlsbD0iIzgwODlDNCIgZmlsbC1vcGFjaXR5PSIwLjMiLz4KPHBhdGggZD0iTTE3NC42MjUgMTc4Ljk1NUgxMTQuMDEyTDE0NC4zMTkgMTk5LjE2TDE3NC42MjUgMTc4Ljk1NVoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xNzQuNjI1IDIxNy45MjJIMTE0LjAxMkwxNDQuMzE5IDE5OS44ODJMMTc0LjYyNSAyMTcuOTIyWiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4yIi8+CjxlbGxpcHNlIHJ4PSI5LjAwNzI3IiByeT0iOS4wNDg0NCIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgMCAwIDEgNjMuODMwNiA3Mi41NDg0KSIgZmlsbD0iI0JGQzRFMSIvPgo8ZWxsaXBzZSByeD0iNy43MjA1MiIgcnk9IjcuNzU1OCIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgMCAwIDEgNzIuNjY0MiAxMzAuMjU2KSIgZmlsbD0iIzgwODlDNCIvPgo8ZWxsaXBzZSByeD0iNy43MjA1MiIgcnk9IjcuNzU1OCIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgMCAwIDEgNDkuNTcyNSAxMDEuNzQ0KSIgZmlsbD0iI0U4RTVEMiIvPgo8cGF0aCBkPSJNNjMuODI4IDcyLjc5MUwxMTIuNzI1IDExOS42MTkiIHN0cm9rZT0iI0IwQUE3RSIgc3Ryb2tlLXdpZHRoPSIxLjc4MzIyIi8+CjxwYXRoIGQ9Ik01MC43MjAzIDEwMS43NDRMMTEyLjcyNSAxMTkuNjE3IiBzdHJva2U9IiNCMEFBN0UiIHN0cm9rZS13aWR0aD0iMS43ODMyMiIvPgo8cGF0aCBkPSJNNzIuMjM0MyAxMjkuODI1TDEwNC44MzIgMTE2Ljg5OCIgc3Ryb2tlPSIjQjBBQTdFIiBzdHJva2Utd2lkdGg9IjEuNzgzMjIiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMDQuMzg2IDEwNC4wODZDMTA3LjA4IDEwMy41MDcgMTA5Ljk3NyAxMDMuNzM3IDExMi42OTkgMTA0LjkyNUMxMTkuNTg0IDEwNy45MzIgMTIyLjczNyAxMTUuOTMzIDExOS43NCAxMjIuNzk1QzExNi43NDMgMTI5LjY1OCAxMDguNzMyIDEzMi43ODQgMTAxLjg0NyAxMjkuNzc4Qzk5LjEyNTYgMTI4LjU4OSA5Ni45ODc0IDEyNi42MjEgOTUuNTgxNCAxMjQuMjUxTDEwNC4zODYgMTA0LjA4NloiIGZpbGw9IiM4MDg5QzQiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04Mi4yMzYxIDE1NS4wNDNDODQuOTMgMTU0LjQ2NCA4Ny44MjcxIDE1NC42OTQgOTAuNTQ4NCAxNTUuODgyQzk3LjQzMzkgMTU4Ljg4OSAxMDAuNTg2IDE2Ni44OSA5Ny41ODk3IDE3My43NTJDOTQuNTkzMSAxODAuNjE1IDg2LjU4MjEgMTgzLjc0MSA3OS42OTY2IDE4MC43MzVDNzYuOTc1MyAxNzkuNTQ2IDc0LjgzNzEgMTc3LjU3OCA3My40MzExIDE3NS4yMDhMODIuMjM2MSAxNTUuMDQzWiIgZmlsbD0iIzgwODlDNCIvPgo8cGF0aCBvcGFjaXR5PSIwLjUiIGQ9Ik03OS41MzE0IDE4MS4xMTNDODYuNDIxMiAxODQuMTIxIDk0LjQyOTYgMTgwLjk5IDk3LjQyNDYgMTc0LjEzMUwxMTkuODI0IDEyMi44MzJDMTIyLjgyMyAxMTUuOTY1IDExOS42NjQgMTA3Ljk2NyAxMTIuNzgzIDEwNC45NjJMNzkuNTMxNCAxODEuMTEzWiIgZmlsbD0iIzAwMTQ4OSIvPgo8cmVjdCBvcGFjaXR5PSIwLjUiIHdpZHRoPSI0LjMyOTU1IiBoZWlnaHQ9IjgyLjk4MyIgdHJhbnNmb3JtPSJtYXRyaXgoLTAuOTE2NDQzIC0wLjQwMDE2NiAtMC40MDAxNjYgMC45MTY0NDMgMTE2LjY1MiAxMDYuNjUyKSIgZmlsbD0iI0JGQzRFMSIvPgo8L3N2Zz4K\"\n }\n }\n }\n };\n }\n render() {\n return ke`\n
    \n
    \n ${this.headline ? ke`
    \n

    ${this.headline}

    \n
    ` : D}\n
    \n ${this.image ? ke`\n \n ` : ke``}\n
    \n
    \n \n
    \n `;\n }\n};\nJbContactTeaser.styles = r(jb_contact_teaser_default);\n__decorateClass([\n n()\n], JbContactTeaser.prototype, \"headline\", 2);\n__decorateClass([\n n({ type: Object })\n], JbContactTeaser.prototype, \"image\", 2);\n__decorateClass([\n n()\n], JbContactTeaser.prototype, \"variant\", 2);\nJbContactTeaser = __decorateClass([\n customElement(\"jb-contact-teaser\")\n], JbContactTeaser);\n\nexport {\n JbContactTeaser\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n ChangesBackgroundColor\n} from \"./chunk.7ANACPIR.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-contact-teaser-legacy/jb-contact-teaser-legacy.scss?inline\nvar jb_contact_teaser_legacy_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\np {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\np, h4 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh2 {\n font-family: var(--theme-font-xlight-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-xlight-weight, 200);\n}\n\nh2 {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 2.25rem;\n line-height: 2.875rem;\n}\n@media (min-width: 1281px) {\n h2 {\n font-size: 2.813rem;\n line-height: 3.813rem;\n }\n}\n\nh4 {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.375rem;\n line-height: 1.75rem;\n}\n@media (min-width: 1281px) {\n h4 {\n font-size: 1.75rem;\n line-height: 2.5rem;\n }\n}\n\np {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.063rem;\n line-height: 1.875rem;\n}\n@media (min-width: 1281px) {\n p {\n font-size: 1.188rem;\n line-height: 2.125rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\ndiv {\n text-align: center;\n width: 100%;\n}\n\n.white_teaser {\n --rgb-primary: 255, 255, 255;\n}\n.white_teaser h2,\n.white_teaser h4,\n.white_teaser p {\n color: #fff;\n}\n\nh4 {\n letter-spacing: 0.188rem;\n margin-bottom: 45px;\n text-transform: uppercase;\n word-wrap: break-word;\n}\n@media (min-width: 960px) {\n h4 {\n letter-spacing: 0.25rem;\n margin-bottom: 51px;\n }\n}\n@media (min-width: 1281px) {\n h4 {\n line-height: 28px;\n line-height: 1.75rem;\n }\n}\n\nh2 {\n word-wrap: break-word;\n}\n@media (min-width: 1281px) {\n h2 {\n font-size: 48px;\n font-size: 3rem;\n line-height: 65px;\n line-height: 4.0625rem;\n }\n}\n\np {\n color: #141e55;\n margin-top: 16px;\n}\n@media (min-width: 960px) {\n p {\n font-size: 19px;\n font-size: 1.1875rem;\n line-height: 34px;\n line-height: 2.125rem;\n }\n}\n\njb-button-panel {\n padding-top: 45px;\n text-align: center;\n}\n@media (min-width: 960px) {\n jb-button-panel {\n padding-top: 51px;\n }\n}`;\n\n// src/components/jb-contact-teaser-legacy/jb-contact-teaser-legacy.ts\nvar JbContactTeaserLegacy = class extends ChangesBackgroundColor(Spaceable(h)) {\n constructor() {\n super(...arguments);\n this.color = \"blue\";\n }\n _getContentSpacingProperties() {\n return { colsMdUp: 8 };\n }\n render() {\n const classes = { white_teaser: this.color === \"white\" };\n return ke`\n
    \n

    ${this.headline}

    \n

    ${this.subheadline}

    \n ${this.text ? ke`

    ${this.text}

    ` : D}\n \n
    \n `;\n }\n};\nJbContactTeaserLegacy.styles = r(jb_contact_teaser_legacy_default);\n__decorateClass([\n n()\n], JbContactTeaserLegacy.prototype, \"color\", 2);\n__decorateClass([\n n()\n], JbContactTeaserLegacy.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbContactTeaserLegacy.prototype, \"subheadline\", 2);\n__decorateClass([\n n()\n], JbContactTeaserLegacy.prototype, \"text\", 2);\nJbContactTeaserLegacy = __decorateClass([\n customElement(\"jb-contact-teaser-legacy\")\n], JbContactTeaserLegacy);\n\nexport {\n JbContactTeaserLegacy\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-contact-item/jb-contact-item.scss?inline\nvar jb_contact_item_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.name, .location {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\nspan.avatar {\n font-family: var(--theme-font-regular-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-regular-weight, 400);\n}\n\n.title,\n.description, .contactbox {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.location {\n font-size: var(--theme-typo-uppercase-700-fontsize, 0.688rem);\n letter-spacing: var(--theme-typo-uppercase-700-letterspacing, 0.063rem);\n line-height: var(--theme-typo-uppercase-700-lineheight, 1rem);\n text-transform: uppercase;\n}\n\n.contactbox {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\n\n.name {\n font-size: var(--theme-typo-p-small-highlight-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-highlight-desktop-lineheight, 1.625rem);\n}\n\n.title,\n.description {\n font-size: var(--theme-typo-p-mini-desktop-fontsize, 0.813rem);\n line-height: var(--theme-typo-p-mini-desktop-lineheight, 1.25rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n background-color: rgb(var(--theme-color-blue-light, 231 232 238));\n block-size: min-content;\n container-type: inline-size;\n display: block;\n --_avatar-size: 40px;\n}\n\na {\n align-items: center;\n display: flex;\n gap: var(--spacing-2xs);\n text-decoration: none;\n}\na span {\n border-bottom: 1px solid rgb(var(--theme-color-royal-blue, 20 30 85)/var(--theme-opacity-20, 0.2));\n transition: border-color 0.1s ease-in-out;\n word-break: break-all;\n}\na:hover span {\n border-block-end-color: rgb(var(--theme-color-royal-blue, 20 30 85)/1);\n}\n\n.wrapper {\n color: rgb(var(--theme-color-royal-blue, 20 30 85));\n display: grid;\n gap: var(--spacing-2xs);\n grid-template-columns: 1fr;\n padding: var(--spacing-s);\n --_left-start-column: 1;\n}\n.wrapper:has(.avatar) {\n --_left-start-column: 2;\n}\n\njb-picture {\n padding: var(--spacing-s);\n padding-block-end: 0;\n}\n\n.namebox,\n.contactbox {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-base);\n}\n\n.contactbox {\n gap: var(--spacing-3xs);\n}\n\njb-button-tertiary {\n margin-block-start: calc(var(--spacing-s) - var(--spacing-3xs));\n}\n\n.avatar {\n aspect-ratio: 1;\n background-color: rgb(var(--theme-color-royal-blue, 20 30 85));\n block-size: var(--_avatar-size);\n border-radius: 80px;\n inline-size: var(--_avatar-size);\n overflow: hidden;\n}\n\nspan.avatar {\n color: white;\n display: grid;\n font-size: 1rem;\n line-height: 1rem;\n place-content: center;\n text-transform: uppercase;\n}\n\njb-picture.avatar {\n display: block;\n padding: 0;\n}\n\n.location {\n font-weight: 400;\n}\n\n.avatar,\n.namebox,\n.description,\n.contactbox {\n grid-column: 1/-1;\n}\n\n@container (width > 375px) {\n .wrapper {\n grid-template-columns: 1fr;\n }\n .wrapper:has(.avatar) {\n grid-template-columns: var(--_avatar-size) 1fr;\n }\n .wrapper .avatar {\n grid-column: 1;\n }\n .wrapper .namebox,\n .wrapper .description,\n .wrapper .contactbox {\n grid-column: var(--_left-start-column)/-1;\n }\n}\n@container (width > 480px) {\n .wrapper {\n --_avatar-size: 64px;\n }\n .wrapper .avatar {\n font-size: 1.5rem;\n grid-column: 1;\n line-height: 1.5rem;\n }\n}\n@container (width > 600px) {\n jb-picture {\n display: none;\n }\n .wrapper {\n gap: var(--spacing-l) var(--spacing-s);\n grid-template-columns: repeat(2, 1fr);\n padding: var(--spacing-m);\n }\n .wrapper:has(.avatar) {\n grid-template-columns: var(--_avatar-size) repeat(2, 1fr);\n }\n .wrapper .namebox {\n grid-column: var(--_left-start-column);\n }\n .wrapper .contactbox {\n grid-column: calc(var(--_left-start-column) + 1);\n grid-row: 1;\n }\n .wrapper .description {\n grid-column: 1/-1;\n }\n}\n@container (width > 960px) {\n .wrapper {\n grid-template-columns: repeat(3, 1fr);\n }\n .wrapper .contactbox {\n grid-column: calc(var(--_left-start-column) + 1);\n }\n .wrapper .description {\n grid-column: calc(var(--_left-start-column) + 2);\n }\n .wrapper:has(.avatar) {\n grid-template-columns: var(--_avatar-size) repeat(3, 1fr);\n }\n}`;\n\n// src/components/jb-contact-item/jb-contact-item.ts\nvar JbContactItem = class extends h {\n render() {\n return ke`\n ${this.picture ? ke`` : D}\n
    \n ${this.avatar ? ke`` : D}\n ${!this.avatar && this.initials ? ke`${this.initials.substring(0, 2)}` : D}\n ${this.location || this.name || this.title ? ke`
    \n ${this.location ? ke`${this.location}` : D}\n ${this.name ? ke`${this.name}` : D}\n ${this.jobTitle ? ke`${this.jobTitle}` : D}\n
    ` : D}\n ${this.description ? ke`${this.description}` : D}\n ${this.phone || this.email || this.profileLink ? ke`
    \n ${this.phone ? ke`${this.phone}` : D}\n ${this.email ? ke`${this.email}` : D}\n ${this.profileLink ? ke`${this.profileLink.linkText}` : D}\n ${this.phone || this.email || this.profileLink ? ke`
    ` : D}\n
    ` : D}\n \n `;\n }\n};\nJbContactItem.styles = r(jb_contact_item_default);\n__decorateClass([\n n({ type: Object })\n], JbContactItem.prototype, \"avatar\", 2);\n__decorateClass([\n n()\n], JbContactItem.prototype, \"description\", 2);\n__decorateClass([\n n()\n], JbContactItem.prototype, \"email\", 2);\n__decorateClass([\n n()\n], JbContactItem.prototype, \"initials\", 2);\n__decorateClass([\n n()\n], JbContactItem.prototype, \"jobTitle\", 2);\n__decorateClass([\n n()\n], JbContactItem.prototype, \"location\", 2);\n__decorateClass([\n n()\n], JbContactItem.prototype, \"name\", 2);\n__decorateClass([\n n()\n], JbContactItem.prototype, \"phone\", 2);\n__decorateClass([\n n({ type: Object })\n], JbContactItem.prototype, \"picture\", 2);\n__decorateClass([\n n({ type: Object })\n], JbContactItem.prototype, \"profileLink\", 2);\nJbContactItem = __decorateClass([\n customElement(\"jb-contact-item\")\n], JbContactItem);\n\nexport {\n JbContactItem\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-phone-icon/jb-phone-icon.scss?inline\nvar jb_phone_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: inline-block;\n height: var(--icon-size, 18px);\n width: var(--icon-size, 18px);\n}`;\n\n// src/components/icons/jb-phone-icon/jb-phone-icon.ts\nvar JbPhoneIcon = class extends h {\n render() {\n return ke`\n \n \n \n \n \n `;\n }\n};\nJbPhoneIcon.styles = r(jb_phone_icon_default);\nJbPhoneIcon = __decorateClass([\n customElement(\"jb-phone-icon\")\n], JbPhoneIcon);\n\nexport {\n JbPhoneIcon\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n ChangesBackgroundColor\n} from \"./chunk.7ANACPIR.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-contact-grid/jb-contact-grid.scss?inline\nvar jb_contact_grid_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n.content {\n --_grid-gap: 16px;\n --_grid-template-columns: repeat(12, 1fr);\n display: grid;\n gap: var(--grid-row-gap, 0) var(--grid-column-gap, var(--_grid-gap));\n grid-template-columns: var(--theme-grid-template-columns, var(--_grid-template-columns));\n width: 100%;\n}\n@media (min-width: 960px) {\n .content {\n --_grid-gap: 40px;\n }\n}\n\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\njb-section-headline {\n margin-bottom: 49px;\n padding: 0 20px;\n text-align: center;\n text-transform: uppercase;\n}\n@media (min-width: 600px) {\n jb-section-headline {\n margin-bottom: 40px;\n }\n}\n\n.content ::slotted(*) {\n grid-column: span 12;\n}\n@media (min-width: 600px) {\n .content ::slotted(*) {\n grid-column: span 6;\n }\n}\n@media (min-width: 600px) {\n .content.one ::slotted(*) {\n grid-column: 4/span 6;\n }\n}`;\n\n// src/components/jb-contact-grid/jb-contact-grid.ts\nvar JbContactGrid = class extends ChangesBackgroundColor(Spaceable(h)) {\n _getContentSpacingProperties() {\n return { colsMdUp: 10, grid: \"legacy\" };\n }\n render() {\n return ke`\n
    \n
    \n ${this.headline ? ke`
    ` : D}\n
    \n \n
    \n
    \n
    \n `;\n }\n};\nJbContactGrid.styles = r(jb_contact_grid_default);\n__decorateClass([\n n({ type: Number })\n], JbContactGrid.prototype, \"columns\", 2);\n__decorateClass([\n n()\n], JbContactGrid.prototype, \"headline\", 2);\nJbContactGrid = __decorateClass([\n customElement(\"jb-contact-grid\")\n], JbContactGrid);\n\nexport {\n JbContactGrid\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-contact-group/jb-contact-group.scss?inline\nvar jb_contact_group_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nh3 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh3 {\n font-size: var(--theme-typo-h3-mobile-fontsize, 1.375rem);\n line-height: var(--theme-typo-h3-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n h3 {\n font-size: var(--theme-typo-h3-desktop-fontsize, 1.625rem);\n line-height: var(--theme-typo-h3-desktop-lineheight, 2.25rem);\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n --contact-wrapper-top-border: 0px;\n --contact-wrapper-bottom-padding: 0px;\n}\n\n::slotted(jb-contact:first-of-type) {\n border-top: 1px solid rgba(20, 30, 85, 0.2);\n --contact-article-top-padding: 28px;\n}\n\n::slotted(jb-contact) {\n --contact-article-top-padding: 32px;\n}\n\nh3 {\n margin-bottom: 4px;\n margin-top: 12px;\n}`;\n\n// src/components/jb-contact-group/jb-contact-group.ts\nvar JbContactGroup = class extends h {\n render() {\n return ke`\n ${this.headline ? ke`

    ${this.headline}

    ` : D}\n \n `;\n }\n};\nJbContactGroup.styles = r(jb_contact_group_default);\n__decorateClass([\n n()\n], JbContactGroup.prototype, \"headline\", 2);\nJbContactGroup = __decorateClass([\n customElement(\"jb-contact-group\")\n], JbContactGroup);\n\nexport {\n JbContactGroup\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-collapsible/jb-collapsible.scss?inline\nvar jb_collapsible_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nlabel {\n font-family: var(--theme-font-black-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-black-weight, 900);\n}\n\nlabel {\n font-size: var(--theme-typo-uppercase-900-fontsize, 0.688rem);\n letter-spacing: var(--theme-typo-uppercase-900-letterspacing, 0.125rem);\n line-height: var(--theme-typo-uppercase-900-lineheight, 1rem);\n text-transform: uppercase;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\n.holder {\n display: inline-flex;\n flex-direction: column;\n gap: 0;\n transition: 0.3s gap ease-in-out;\n}\n.holder.expandup {\n flex-direction: column-reverse;\n}\n\n.collapsible {\n display: none;\n}\n.collapsible + div > div {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.3s ease-in-out;\n}\n.collapsible + div > div > div {\n overflow: hidden;\n}\n.collapsible + div > div + label jb-chevron-icon {\n rotate: 90deg;\n transition: rotate 0.3s ease-in-out;\n}\n.collapsible:checked + div > div {\n grid-template-rows: 1fr;\n}\n.collapsible:checked + div > div + label jb-chevron-icon {\n rotate: -90deg;\n}\n.collapsible:checked + .holder {\n gap: var(--spacing-small);\n}\n\nlabel {\n align-items: center;\n border-block-end: 2px solid currentcolor;\n cursor: pointer;\n display: inline-flex;\n gap: var(--spacing-3xs);\n padding-block-end: var(--spacing-3xs);\n width: fit-content;\n}`;\n\n// src/components/jb-collapsible/jb-collapsible.ts\nvar JbCollapsible = class extends Spaceable(h) {\n constructor() {\n super(...arguments);\n this.buttonPosition = \"top\";\n }\n connectedCallback() {\n super.connectedCallback();\n this._elementId = \"richtext_\" + Math.floor(Math.random() * (999 - 100 + 1) + 100);\n }\n _getContentSpacingProperties() {\n return { type: \"no-vertical-space\" };\n }\n render() {\n return ke` {\n this.isCollapsed = !evt.currentTarget.checked;\n }}\n />\n
    \n
    \n
    \n
    \n {\n evt.preventDefault();\n if (evt.code === \"Space\" || evt.code === \"Enter\") {\n this.isCollapsed = !this.isCollapsed;\n }\n }}\n >${this.isCollapsed ? this.toggleButtonTextOpen : this.toggleButtonTextClose}\n
    `;\n }\n};\nJbCollapsible.styles = r(jb_collapsible_default);\n__decorateClass([\n n()\n], JbCollapsible.prototype, \"buttonPosition\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbCollapsible.prototype, \"isCollapsed\", 2);\n__decorateClass([\n n()\n], JbCollapsible.prototype, \"toggleButtonTextClose\", 2);\n__decorateClass([\n n()\n], JbCollapsible.prototype, \"toggleButtonTextOpen\", 2);\n__decorateClass([\n r2()\n], JbCollapsible.prototype, \"_elementId\", 2);\nJbCollapsible = __decorateClass([\n customElement(\"jb-collapsible\")\n], JbCollapsible);\n\nexport {\n JbCollapsible\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-column-display/jb-column-display.scss?inline\nvar jb_column_display_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\ndiv {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: calc(100% - 2 * var(--row-small-margin, 6.68%));\n height: 8.3333333333vh;\n}\n@media (min-width: 600px) and (max-width: 959px) {\n div {\n width: calc(100% - 2 * 8.35%);\n }\n}\n@media (min-width: 1437px) {\n div {\n max-width: var(--row-max-width, 1436px);\n }\n div:not(.filtered-list) {\n width: 100%;\n }\n}\n@media only screen and (min-width: 960px) and (max-width: 1436px) {\n div {\n margin: 0 6.955%;\n max-width: calc(100% - 6.955% - 6.955%);\n }\n}\n\nspan {\n box-sizing: border-box;\n flex-basis: 8.3333333333%;\n max-width: 8.3333333333%;\n padding: 0 0;\n width: 8.3333333333%;\n background-color: rgba(0, 128, 0, 0.4);\n border: 1px solid rgb(0, 128, 0);\n border-radius: 5px;\n}\n@media (min-width: 600px) {\n span {\n box-sizing: border-box;\n flex-basis: 8.3333333333%;\n max-width: 8.3333333333%;\n padding: 0 20px;\n width: 8.3333333333%;\n }\n}\n\ndiv:nth-child(1) span {\n margin-left: 0%;\n}\n\ndiv:nth-child(2) span {\n margin-left: 8.3333333333%;\n}\n\ndiv:nth-child(3) span {\n margin-left: 16.6666666667%;\n}\n\ndiv:nth-child(4) span {\n margin-left: 25%;\n}\n\ndiv:nth-child(5) span {\n margin-left: 33.3333333333%;\n}\n\ndiv:nth-child(6) span {\n margin-left: 41.6666666667%;\n}\n\ndiv:nth-child(7) span {\n margin-left: 50%;\n}\n\ndiv:nth-child(8) span {\n margin-left: 58.3333333333%;\n}\n\ndiv:nth-child(9) span {\n margin-left: 66.6666666667%;\n}\n\ndiv:nth-child(10) span {\n margin-left: 75%;\n}\n\ndiv:nth-child(11) span {\n margin-left: 83.3333333333%;\n}\n\ndiv:nth-child(12) span {\n margin-left: 91.6666666667%;\n}`;\n\n// src/components/jb-column-display/jb-column-display.ts\nvar JbColumnDisplay = class extends Spaceable(h) {\n render() {\n return ke`
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    `;\n }\n};\nJbColumnDisplay.styles = r(jb_column_display_default);\n__decorateClass([\n n()\n], JbColumnDisplay.prototype, \"withSpacing\", 2);\nJbColumnDisplay = __decorateClass([\n customElement(\"jb-column-display\")\n], JbColumnDisplay);\n\nexport {\n JbColumnDisplay\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-column-guide/jb-column-guide.scss?inline\nvar jb_column_guide_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n inset: 0;\n pointer-events: none;\n position: fixed;\n z-index: 1000;\n --_currentcolor: 0, 0, 0;\n}\n\n.wrapper {\n display: grid;\n grid-template-columns: repeat(6, 1fr);\n height: 100%;\n inset: 0;\n margin-inline: auto;\n padding-right: var(--compensate-scrollbar, 0);\n width: calc(100% - 2 * 6.68%);\n}\n@media (min-width: 600px) {\n .wrapper {\n width: calc(100% - 2 * 8.35%);\n }\n}\n@media (min-width: 960px) {\n .wrapper {\n grid-template-columns: repeat(12, 1fr);\n width: calc(100% - 2 * 6.68%);\n }\n}\n@media only screen and (min-width: 960px) and (max-width: 1436px) {\n .wrapper {\n margin: 0 6.955%;\n max-width: calc(100% - 6.955% - 6.955%);\n }\n}\n@media (min-width: 1437px) {\n .wrapper {\n max-width: 1436px;\n width: 100%;\n }\n}\n.wrapper > div {\n background-color: rgba(var(--_currentcolor), 0.3);\n border: 1px solid rgba(var(--_currentcolor), 1);\n color: white;\n display: grid;\n font-family: sans-serif;\n font-size: 1.5rem;\n font-weight: bold;\n height: 100%;\n place-content: center;\n position: relative;\n -webkit-text-stroke: 1px rgba(var(--_currentcolor), 0.6);\n width: 100%;\n}\n.wrapper > div:nth-child(7), .wrapper > div:nth-child(8), .wrapper > div:nth-child(9), .wrapper > div:nth-child(10), .wrapper > div:nth-child(11), .wrapper > div:nth-child(12) {\n display: none;\n}\n@media (min-width: 960px) {\n .wrapper > div:nth-child(7), .wrapper > div:nth-child(8), .wrapper > div:nth-child(9), .wrapper > div:nth-child(10), .wrapper > div:nth-child(11), .wrapper > div:nth-child(12) {\n display: grid;\n }\n}\n.wrapper > div::before, .wrapper > div::after {\n background-color: rgba(var(--_currentcolor), 0.4);\n content: \"\";\n height: 100%;\n position: absolute;\n width: 8px;\n}\n@media (min-width: 960px) {\n .wrapper > div::before, .wrapper > div::after {\n width: 20px;\n }\n}\n.wrapper > div::before {\n left: 0;\n}\n.wrapper > div::after {\n right: 0;\n}\n.wrapper.precision > div {\n background-image: repeating-linear-gradient(to right, rgba(var(--_currentcolor), 0.6) 0, transparent 1px, transparent 9px);\n}\n.wrapper.white {\n --_currentcolor: 255, 255, 255;\n}\n.wrapper.red {\n --_currentcolor: 255, 0, 0;\n}\n.wrapper.green {\n --_currentcolor: 0, 255, 0;\n}`;\n\n// src/components/jb-column-guide/jb-column-guide.ts\nvar JbColumnGuide = class extends h {\n constructor() {\n super(...arguments);\n this.active = false;\n this.colors = [\"black\", \"white\", \"red\", \"green\"];\n this.precision = false;\n this._currentColor = 0;\n }\n // Save the current state to local storage upon update\n updated(changedProperties) {\n super.updated(changedProperties);\n if (this._currentColor !== void 0 && changedProperties.has(\"_currentColor\")) {\n window.localStorage.setItem(\"columnGuideCurrentColor\", this._currentColor + \"\");\n }\n if (this.active !== void 0 && changedProperties.has(\"active\")) {\n window.localStorage.setItem(\"columnGuideActiveState\", this.active ? \"on\" : \"off\");\n }\n if (this.precision !== void 0 && changedProperties.has(\"precision\")) {\n window.localStorage.setItem(\"columnGuidePrecisionState\", this.precision ? \"on\" : \"off\");\n }\n }\n createRenderRoot() {\n return document.body;\n }\n firstUpdated() {\n const savedColor = window.localStorage.getItem(\"columnGuideCurrentColor\");\n if (savedColor) {\n this._currentColor = parseInt(savedColor, 10);\n }\n const savedActive = window.localStorage.getItem(\"columnGuideActiveState\");\n if (savedActive) {\n this.active = savedActive === \"on\";\n }\n const savedPrecision = window.localStorage.getItem(\"columnGuidePrecisionState\");\n if (savedPrecision) {\n this.precision = savedPrecision === \"on\";\n }\n console.log(\n \"%c!!! JB Column Guide active on Webpage !!!\",\n \"color: white; background-color: tomato; font-size: 1.5rem;\"\n );\n console.log(\"Usage:\");\n console.log(\"[alt] + [shift] + C: Toggle Column Guide\");\n console.log(\"[alt] + [shift] + I: Cycle color\");\n console.log(\"[alt] + [shift] + P: Toggle precision display\");\n window.addEventListener(\"keydown\", (event) => {\n if (event.shiftKey && event.altKey) {\n if (event.code === \"KeyC\") {\n this.active = !this.active;\n }\n if (event.code === \"KeyP\") {\n this.precision = !this.precision;\n }\n if (event.code === \"KeyI\") {\n if (this._currentColor === this.colors.length - 1) {\n this._currentColor = 0;\n } else {\n this._currentColor += 1;\n }\n }\n }\n });\n }\n render() {\n return ke`${this.active ? ke`` : D}`;\n }\n};\n__decorateClass([\n n({ type: Boolean })\n], JbColumnGuide.prototype, \"active\", 2);\n__decorateClass([\n n({ type: Array })\n], JbColumnGuide.prototype, \"colors\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbColumnGuide.prototype, \"precision\", 2);\n__decorateClass([\n r2()\n], JbColumnGuide.prototype, \"_currentColor\", 2);\nJbColumnGuide = __decorateClass([\n customElement(\"jb-column-guide\")\n], JbColumnGuide);\nvar JbColumnGuideContent = class extends h {\n constructor() {\n super(...arguments);\n this.precision = false;\n }\n render() {\n return ke`\n
    \n
    1
    \n
    2
    \n
    3
    \n
    4
    \n
    5
    \n
    6
    \n
    7
    \n
    8
    \n
    9
    \n
    10
    \n
    11
    \n
    12
    \n
    \n `;\n }\n};\nJbColumnGuideContent.styles = r(jb_column_guide_default);\n__decorateClass([\n n()\n], JbColumnGuideContent.prototype, \"color\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbColumnGuideContent.prototype, \"precision\", 2);\nJbColumnGuideContent = __decorateClass([\n customElement(\"jb-column-guide-content\")\n], JbColumnGuideContent);\n\nexport {\n JbColumnGuide,\n JbColumnGuideContent\n};\n", "import {\n ae\n} from \"./chunk.Q25FCJRM.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n setLink\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n nlToBr\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-contact/jb-contact.scss?inline\nvar jb_contact_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nh4 {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\n.link, p {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\np {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\n\nh4 {\n font-size: var(--theme-typo-p-small-highlight-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-highlight-desktop-lineheight, 1.625rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\n.wrapper {\n border-top-color: rgba(20, 30, 85, 0.2); /* stylelint-disable-line */\n border-top-style: solid; /* stylelint-disable-line */\n border-top-width: var(--contact-wrapper-top-border, 1px); /* stylelint-disable-line */\n padding-bottom: var(--contact-wrapper-bottom-padding, 40px);\n}\n\narticle {\n padding-top: var(--contact-article-top-padding, 40px);\n position: relative;\n z-index: 10;\n}\n\nh4 {\n color: #141e55;\n margin-bottom: 16px;\n}\n@media (min-width: 960px) {\n h4 {\n margin-bottom: 30px;\n }\n}\n* + h4 {\n margin-top: 51px;\n}\n\n.textcontent {\n flex-basis: 40%;\n flex-grow: 2;\n}\n\n.link {\n color: rgba(20, 30, 85, var(--theme-opacity-80, 0.8));\n}\n\n.links {\n margin-top: 16px;\n}\n@media (min-width: 960px) {\n .links {\n margin-top: 30px;\n }\n}\n\n.maillink a::before {\n content: \"> \";\n}\n\njb-picture {\n height: 97px;\n margin-left: 12px;\n width: 74px;\n}\n@media (min-width: 960px) {\n jb-picture {\n height: 137px;\n width: 104px;\n }\n}\n\n.withimage {\n display: flex;\n justify-content: space-between;\n}\n.withimage article {\n flex-basis: 40%;\n flex-grow: 2;\n}\n\np {\n color: rgba(20, 30, 85, var(--theme-opacity-80, 0.8));\n margin-bottom: 0;\n}\np + p {\n margin-top: 0;\n}\np span {\n display: inline-block;\n margin-right: 5px;\n}\np span::after {\n content: \":\";\n}\n\na {\n color: RGB(var(--rgb-primary, 20, 30, 85));\n box-shadow: inset 0 -1px 0 0 RGBA(var(--rgb-primary, 20, 30, 85), var(--theme-opacity-30, 0.3));\n padding-bottom: 0.15em;\n text-decoration: none;\n transition: box-shadow 0.2s;\n}\na:hover {\n box-shadow: inset 0 -1px 0 0 RGB(var(--rgb-primary, 20, 30, 85));\n}`;\n\n// src/components/jb-contact/jb-contact.ts\nvar JbContact = class extends h {\n constructor() {\n super(...arguments);\n this.documents = [];\n }\n static _cleanPhoneNumber(input) {\n return input.trim().replace(\"(0)\", \"\").replace(\" \", \"\").replace(/[^\\d#+*]/, \"\");\n }\n _renderDocuments() {\n return this.documents?.map((singleDocument) => {\n const anchor = document.createElement(\"a\");\n if (singleDocument.documentLink.link) setLink(anchor, singleDocument.documentLink.link);\n anchor.innerText = (singleDocument.title ?? singleDocument.documentLink.text) + \" | \" + singleDocument.size;\n return ke`

    ${anchor}

    `;\n });\n }\n static _renderLink(link) {\n const anchor = document.createElement(\"a\");\n if (link.link) {\n setLink(anchor, link.link);\n }\n anchor.innerText = link.text ?? \"\";\n return ke`${anchor}`;\n }\n render() {\n return ke`\n
    \n
    \n
    \n

    ${this.heading}

    \n ${this.address ? ke`

    ${ae(nlToBr(this.address))}

    ` : D}\n ${this.area ? ke`

    ${this.area}

    ` : D}\n ${this.position ? ke`

    ${this.position}

    ` : D}\n ${this.phoneNumber && this.phoneNumberLabel ? ke`

    \n ${this.phoneNumberLabel}${JbContact._renderLink({\n text: this.phoneNumber,\n link: { href: \"tel:\" + JbContact._cleanPhoneNumber(this.phoneNumber) }\n })}\n

    ` : D}\n ${this.faxNumber && this.faxNumberLabel ? ke`

    ${this.faxNumberLabel}${this.faxNumber}

    ` : D}\n ${this.documents && this.documents.length > 0 ? ke`${this._renderDocuments()}` : D}\n ${this.additionalText ? ke`

    ${ae(nlToBr(this.additionalText))}

    ` : D}\n ${this.link || this.contactLink ? ke`

    \n ${this.contactLink ? ke`

    ${JbContact._renderLink(this.contactLink)}

    ` : D}\n ${this.link ? ke`

    ${JbContact._renderLink(this.link)}

    ` : D}\n

    ` : D}\n
    \n ${this.image && ke``}\n
    \n
    \n `;\n }\n};\nJbContact.styles = r(jb_contact_default);\n__decorateClass([\n n()\n], JbContact.prototype, \"additionalText\", 2);\n__decorateClass([\n n()\n], JbContact.prototype, \"address\", 2);\n__decorateClass([\n n()\n], JbContact.prototype, \"area\", 2);\n__decorateClass([\n n({ type: Object })\n], JbContact.prototype, \"contactLink\", 2);\n__decorateClass([\n n({ type: Array })\n], JbContact.prototype, \"documents\", 2);\n__decorateClass([\n n()\n], JbContact.prototype, \"faxNumber\", 2);\n__decorateClass([\n n()\n], JbContact.prototype, \"faxNumberLabel\", 2);\n__decorateClass([\n n()\n], JbContact.prototype, \"heading\", 2);\n__decorateClass([\n n({ type: Object })\n], JbContact.prototype, \"image\", 2);\n__decorateClass([\n n({ type: Object })\n], JbContact.prototype, \"link\", 2);\n__decorateClass([\n n()\n], JbContact.prototype, \"phoneNumber\", 2);\n__decorateClass([\n n()\n], JbContact.prototype, \"phoneNumberLabel\", 2);\n__decorateClass([\n n()\n], JbContact.prototype, \"position\", 2);\nJbContact = __decorateClass([\n customElement(\"jb-contact\")\n], JbContact);\n\nexport {\n JbContact\n};\n", "import {\n ScrollTrigger\n} from \"./chunk.RYXMHMS2.js\";\nimport {\n gsapWithCSS\n} from \"./chunk.LXB4MYP4.js\";\nimport {\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-campaign-page-hero/jb-campaign-page-hero.scss?inline\nvar jb_campaign_page_hero_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.location-wrapper, ul {\n font-family: var(--theme-font-regular-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-regular-weight, 400);\n}\n\np, h1 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh1 {\n font-size: var(--theme-typo-h1-mobile-fontsize, 2.125rem);\n line-height: var(--theme-typo-h1-mobile-lineheight, 2.75rem);\n}\n@media (min-width: 1281px) {\n h1 {\n font-size: var(--theme-typo-h1-desktop-fontsize, 3.125rem);\n line-height: var(--theme-typo-h1-desktop-lineheight, 4.375rem);\n }\n}\n\np {\n font-size: var(--theme-typo-p-big-mobile-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-big-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n p {\n font-size: var(--theme-typo-p-big-desktop-fontsize, 1.375rem);\n line-height: var(--theme-typo-p-big-desktop-lineheight, 2.125rem);\n }\n}\n\n.location-wrapper, ul {\n font-size: var(--theme-typo-p-mini-highlight-desktop-fontsize, 0.813rem);\n line-height: var(--theme-typo-p-mini-highlight-desktop-lineheight, 1.25rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n --_grid-gap: 16px;\n --_grid-template-columns: repeat(12, 1fr);\n --_outer-padding: calc(6.68% - var(--_grid-gap));\n display: grid;\n gap: var(--grid-row-gap, 0) var(--grid-column-gap, var(--_grid-gap));\n grid-template-columns: [full-start] var(--_outer-padding) [main-start] var(--thme-grid-template-columns, var(--_grid-template-columns)) [main-end] var(--_outer-padding) [full-end];\n grid-template-rows: 1fr;\n padding-inline-end: var(--compensate-scrollbar);\n}\n@media (min-width: 600px) {\n :host {\n --_outer-padding: calc(8.35% - var(--_grid-gap));\n }\n}\n@media (min-width: 960px) {\n :host {\n --_grid-gap: 40px;\n --_outer-padding: calc(6.955% - var(--_grid-gap) / 2);\n }\n}\n@media (min-width: 1281px) {\n :host {\n padding-block-start: var(--spacing-s);\n }\n}\n@media (min-width: 1437px) {\n :host {\n --_outer-padding: calc((100% - 1437px - 40px) / 2);\n }\n}\n\n:host {\n color: var(--host-color, #141e55);\n}\n\n.scroll-wrapper {\n display: grid;\n grid-column: full;\n grid-template-columns: subgrid;\n}\n\n::slotted(jb-button-primary),\n::slotted(jb-button-secondary),\n::slotted(jb-button-tertiary) {\n inline-size: 100%;\n margin-block-end: var(--spacing-m);\n}\n@media (min-width: 600px) {\n ::slotted(jb-button-primary),\n ::slotted(jb-button-secondary),\n ::slotted(jb-button-tertiary) {\n inline-size: auto;\n padding-inline-end: var(--spacing-s);\n }\n}\n\nh1 {\n padding-block: var(--spacing-m) var(--spacing-sm);\n padding-inline-end: var(--spacing-xs);\n}\n@media (min-width: 1281px) {\n h1 {\n padding-block-start: 0;\n }\n}\n\np {\n padding-block-end: var(--spacing-2xs);\n padding-inline-end: var(--spacing-xs);\n}\n\nul {\n list-style: none;\n}\nul li {\n column-gap: var(--spacing-2xs);\n display: flex;\n}\n@media (min-width: 600px) {\n ul.anchor-links {\n inline-size: fit-content;\n }\n}\nul.anchor-links li {\n border-block-end: 1px solid rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n padding-block: var(--spacing-3xs);\n}\nul.anchor-links li a {\n text-decoration: none;\n}\nul.anchor-links li jb-in-page-icon {\n transition: translate 0.3s ease-in-out;\n}\nul.anchor-links li:hover jb-in-page-icon {\n translate: 0 3px;\n}\n\njb-teaser-meta {\n display: block;\n padding-block: var(--spacing-base) var(--spacing-3xs);\n}\n\n.breadcrumbs-outer {\n display: grid;\n grid-column: main;\n padding-block: var(--spacing-lm);\n place-content: center;\n}\n@media (min-width: 1281px) {\n .breadcrumbs-outer {\n display: none;\n }\n}\n\n.breadcrumbs-inner {\n display: none;\n}\n@media (min-width: 1281px) {\n .breadcrumbs-inner {\n display: block;\n padding-block-end: var(--spacing-s);\n }\n}\n\n.content-inset {\n background-color: white;\n grid-column: full-start/main-start;\n margin-inline-end: calc(-1 * var(--_grid-gap));\n translate: 0 calc(var(--spacing-3xl) * -1);\n}\n@media (min-width: 960px) {\n .content-inset {\n translate: 0 calc(var(--spacing-4xl) * -1);\n }\n}\n@media (min-width: 1281px) {\n .content-inset {\n display: none;\n }\n}\n\n.content-wrapper {\n grid-column: main;\n translate: 0 calc(var(--spacing-3xl) * -1);\n}\n.content-wrapper > * {\n background-color: #fff;\n padding-inline-end: 16px;\n}\n.content-wrapper > *:not(:first-child) {\n padding-block-start: var(--spacing-xs);\n}\n@media (min-width: 960px) {\n .content-wrapper {\n grid-column: 2/12;\n translate: 0 calc(var(--spacing-4xl) * -1);\n }\n}\n@media (min-width: 1281px) {\n .content-wrapper {\n display: flex;\n flex-direction: column;\n grid-column: main-start/9;\n justify-content: center;\n margin-inline-end: 0;\n order: 1;\n translate: 0;\n }\n}\n\n.image-wrapper {\n grid-column: full;\n margin-inline: 0;\n position: relative;\n}\n.image-wrapper jb-picture {\n clip-path: inset(0 0 var(--clip-path, 0));\n}\n@media (min-width: 1281px) {\n .image-wrapper {\n block-size: calc(100svh - 120px);\n grid-column: 9/full-end;\n order: 2;\n padding-inline-end: 60px;\n }\n .image-wrapper > * {\n block-size: 100%;\n }\n}\n\n.location-wrapper {\n column-gap: var(--spacing-2xs);\n display: flex;\n padding-block-start: var(--spacing-base);\n}\n\n.preslot {\n margin-block-end: var(--spacing-m);\n}\n.preslot > :last-child {\n margin-block-end: 0;\n padding-block-end: 0;\n}\n\n.parallax-wrapper {\n display: grid;\n grid-column: main;\n grid-template-columns: subgrid;\n order: 3;\n z-index: 1;\n}\n.parallax-wrapper .parallax-frame {\n background-color: white;\n grid-column: 1/13;\n padding: var(--spacing-l);\n}\n@media (min-width: 960px) {\n .parallax-wrapper {\n grid-column: 3/13;\n margin-inline: 0;\n }\n}\n@media (min-width: 1281px) {\n .parallax-wrapper {\n display: block;\n grid-column: 4/12;\n }\n}`;\n\n// src/components/jb-campaign-page-hero/jb-campaign-page-hero.ts\nvar JbCampaignPageHero = class extends h {\n async firstUpdated() {\n await this.updateComplete;\n this._setupAnimations();\n setTimeout(() => {\n this._scrollWrapper.style.height = \"100%\";\n }, 50);\n }\n _allFalsy(obj) {\n return !Object.values(obj).some((value) => !!value);\n }\n _renderBreadcrumbs() {\n return ke`\n \n ${this.breadcrumbs.backlink && ke``}\n ${this.breadcrumbs.items?.map(\n (breadcrumb) => ke``\n )}\n \n `;\n }\n _setupAnimations() {\n gsapWithCSS.registerPlugin(ScrollTrigger);\n const mm = gsapWithCSS.matchMedia();\n mm.add(\"(max-width: 1280px)\", () => {\n gsapWithCSS.to(this._imageWrapper, {\n y: -180,\n scrollTrigger: {\n id: \"scrollTriggerMoveMobile\",\n trigger: this,\n scrub: true,\n start: \"top +=60px\",\n // 60px navbar\n end: \"bottom\"\n }\n });\n return () => {\n };\n });\n mm.add(\"(min-width: 1281px)\", () => {\n const contentWrapperDiv = this._contentWrapper.querySelector(\"div\");\n if (contentWrapperDiv.clientHeight + 185 < window.innerHeight - 100) {\n gsapWithCSS.to(this._parallaxWrapper.querySelector(\".parallax-frame\"), { marginTop: -80 });\n }\n gsapWithCSS.to([this._contentWrapper, this._imageWrapper.querySelector(\"jb-picture\")], {\n y: -200,\n scrollTrigger: {\n id: \"scrollTriggerMoveHero\",\n trigger: this._scrollWrapper,\n scrub: true,\n start: \"bottom bottom\",\n end: \"bottom 20%\"\n }\n });\n ScrollTrigger.create({\n trigger: this._imageWrapper,\n pin: true,\n pinSpacing: false,\n start: \"top-=60 top\",\n // half the header size from top\n end: \"bottom bottom-=60\",\n // half the header size from bottom\n endTrigger: this._scrollWrapper\n });\n gsapWithCSS.to(this._imageWrapper.querySelector(\"jb-picture\"), {\n scrollTrigger: {\n id: \"scrollTriggerInset\",\n trigger: this._scrollWrapper,\n scrub: true,\n start: \"bottom bottom\",\n end: \"bottom 50%\"\n },\n \"--clip-path\": \"128px\",\n yoyo: true\n });\n return () => {\n };\n });\n }\n _tracking(e2) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e2, {\n component_name: \"campaign-page-hero\"\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n }\n render() {\n return ke`\n
    \n
    ${this.breadcrumbs && this._renderBreadcrumbs()}
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    ${this.breadcrumbs && this._renderBreadcrumbs()}
    \n

    ${this.headline}

    \n

    ${this.subline}

    \n ${this.featureList && ke` `}\n ${!this._allFalsy(this.teaserMeta) ? ke` ` : D}\n ${this.location && ke`
    \n \n
    ${this.location.map((item) => ke`
    ${item}
    `)}
    \n
    `}\n
    \n \n ${this.anchorLinks && ke`
      \n ${this.anchorLinks.filter((item) => item.link?.href).map(\n (item) => ke`
    • ${item.text}
    • `\n )}\n
    `}\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n `;\n }\n};\nJbCampaignPageHero.styles = r(jb_campaign_page_hero_default);\n__decorateClass([\n n({ type: Array })\n], JbCampaignPageHero.prototype, \"anchorLinks\", 2);\n__decorateClass([\n n({ type: Object })\n], JbCampaignPageHero.prototype, \"breadcrumbs\", 2);\n__decorateClass([\n n({ type: Array })\n], JbCampaignPageHero.prototype, \"featureList\", 2);\n__decorateClass([\n n()\n], JbCampaignPageHero.prototype, \"headline\", 2);\n__decorateClass([\n n({ type: Object })\n], JbCampaignPageHero.prototype, \"image\", 2);\n__decorateClass([\n n({ type: Array })\n], JbCampaignPageHero.prototype, \"location\", 2);\n__decorateClass([\n n()\n], JbCampaignPageHero.prototype, \"subline\", 2);\n__decorateClass([\n n({ type: Object })\n], JbCampaignPageHero.prototype, \"teaserMeta\", 2);\n__decorateClass([\n e(\".content-inset\")\n], JbCampaignPageHero.prototype, \"_contentInset\", 2);\n__decorateClass([\n e(\".content-wrapper\")\n], JbCampaignPageHero.prototype, \"_contentWrapper\", 2);\n__decorateClass([\n e(\".image-wrapper\")\n], JbCampaignPageHero.prototype, \"_imageWrapper\", 2);\n__decorateClass([\n e(\".parallax-wrapper\")\n], JbCampaignPageHero.prototype, \"_parallaxWrapper\", 2);\n__decorateClass([\n e(\".scroll-wrapper\")\n], JbCampaignPageHero.prototype, \"_scrollWrapper\", 2);\nJbCampaignPageHero = __decorateClass([\n customElement(\"jb-campaign-page-hero\")\n], JbCampaignPageHero);\n\nexport {\n JbCampaignPageHero\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-pin-icon/jb-pin-icon.scss?inline\nvar jb_pin_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}`;\n\n// src/components/icons/jb-pin-icon/jb-pin-icon.ts\nvar JbPinIcon = class extends h {\n render() {\n return ke`\n \n \n \n `;\n }\n};\nJbPinIcon.styles = r(jb_pin_icon_default);\nJbPinIcon = __decorateClass([\n customElement(\"jb-pin-icon\")\n], JbPinIcon);\n\nexport {\n JbPinIcon\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-feature-list/jb-feature-list.scss?inline\nvar jb_feature_list_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nul {\n font-family: var(--theme-font-regular-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-regular-weight, 400);\n}\n\nul {\n font-size: var(--theme-typo-p-mini-highlight-desktop-fontsize, 0.813rem);\n line-height: var(--theme-typo-p-mini-highlight-desktop-lineheight, 1.25rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nul {\n list-style-type: none;\n padding-block-end: var(--spacing-2xs);\n}\nul li {\n column-gap: var(--spacing-2xs);\n display: flex;\n margin: 0;\n padding-block-start: var(--spacing-base);\n}`;\n\n// src/components/jb-feature-list/jb-feature-list.ts\nvar JbFeatureList = class extends Initiable(Spaceable(h)) {\n render() {\n return ke`\n
    \n
      \n ${this.features.map(\n (feature) => ke`
    • \n \n ${feature}\n
    • `\n )}\n
    \n
    \n `;\n }\n};\nJbFeatureList.styles = r(jb_feature_list_default);\n__decorateClass([\n n({ type: Array })\n], JbFeatureList.prototype, \"features\", 2);\nJbFeatureList = __decorateClass([\n customElement(\"jb-feature-list\")\n], JbFeatureList);\n\nexport {\n JbFeatureList\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-checkmark-icon/jb-checkmark-icon.scss?inline\nvar jb_checkmark_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}`;\n\n// src/components/icons/jb-checkmark-icon/jb-checkmark-icon.ts\nvar JbCheckmarkIcon = class extends h {\n render() {\n return ke`\n \n \n \n `;\n }\n};\nJbCheckmarkIcon.styles = r(jb_checkmark_icon_default);\nJbCheckmarkIcon = __decorateClass([\n customElement(\"jb-checkmark-icon\")\n], JbCheckmarkIcon);\n\nexport {\n JbCheckmarkIcon\n};\n", "import {\n ScrollTrigger\n} from \"./chunk.RYXMHMS2.js\";\nimport {\n gsapWithCSS\n} from \"./chunk.LXB4MYP4.js\";\nimport {\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-campaign-page-hero-fullscreen/jb-campaign-page-hero-fullscreen.scss?inline\nvar jb_campaign_page_hero_fullscreen_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\np {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh1 {\n font-family: var(--theme-font-xlight-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-xlight-weight, 200);\n}\n\nh1 {\n font-size: var(--theme-typo-h1-overview-mobile-fontsize, 1.75rem);\n letter-spacing: var(--theme-typo-h1-overview-mobile-letterspacing, 0.094rem);\n line-height: var(--theme-typo-h1-overview-mobile-lineheight, 2.5rem);\n}\n@media (min-width: 1281px) {\n h1 {\n font-size: var(--theme-typo-h1-overview-desktop-fontsize, 3.125rem);\n letter-spacing: var(--theme-typo-h1-overview-desktop-letterspacing, 0.25rem);\n line-height: var(--theme-typo-h1-overview-desktop-lineheight, 4.375rem);\n }\n}\n\np {\n font-size: var(--theme-typo-p-big-mobile-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-big-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n p {\n font-size: var(--theme-typo-p-big-desktop-fontsize, 1.375rem);\n line-height: var(--theme-typo-p-big-desktop-lineheight, 2.125rem);\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n --host-color: #fff;\n display: block;\n isolation: isolate;\n}\n\nsection {\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n position: relative;\n}\n\n.part1 {\n background: rgba(0, 0, 0, 0.4);\n display: flex;\n height: 100vh;\n justify-content: center;\n position: relative;\n width: 100%;\n}\n.part1::after {\n background-color: rgba(0, 0, 0, 0.4);\n content: \"\";\n display: block;\n inset: 0;\n position: absolute;\n z-index: 1;\n}\n\n.background {\n background-attachment: fixed;\n background-color: #141e55;\n background-position: center;\n background-size: cover;\n inset: 0;\n position: absolute;\n}\n.background--mobile {\n background-attachment: unset;\n display: block;\n}\n@media (min-width: 960px) {\n .background--mobile {\n display: none;\n }\n}\n.background--desktop {\n display: none;\n}\n@media (min-width: 960px) {\n .background--desktop {\n display: block;\n }\n}\n.background--video {\n overflow: hidden;\n}\n\n.inner {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 20px;\n width: 100%;\n align-items: center;\n display: flex;\n flex-direction: column;\n justify-content: center;\n left: 50%;\n margin: auto;\n position: fixed;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 100%;\n z-index: 2;\n}\n\nh1,\np {\n text-align: center;\n z-index: 2;\n}\n\nh1 {\n cursor: pointer;\n text-transform: uppercase;\n}\n@media (min-width: 960px) {\n h1 {\n box-sizing: border-box;\n flex-basis: 91.6666666667%;\n max-width: 91.6666666667%;\n padding: 0 20px;\n width: 91.6666666667%;\n margin: 0 auto;\n }\n}\n\np {\n margin-top: 16px;\n}\n@media (min-width: 960px) {\n p {\n box-sizing: border-box;\n flex-basis: 66.6666666667%;\n max-width: 66.6666666667%;\n padding: 0 20px;\n width: 66.6666666667%;\n margin: 16px auto;\n }\n}\n\n.buttons {\n align-items: center;\n display: flex;\n flex-direction: column;\n margin-top: 26px;\n --stroke-color: #fff;\n}\n.buttons jb-button + jb-button {\n margin: 20px auto 0;\n}\n@media (min-width: 600px) {\n .buttons jb-button + jb-button {\n margin-left: 20px;\n margin-right: 0;\n margin-top: 0;\n }\n}\n@media (min-width: 600px) {\n .buttons {\n flex-direction: row;\n justify-content: center;\n }\n}\n@media (min-width: 960px) {\n .buttons {\n margin-top: 16px;\n }\n}`;\n\n// src/components/jb-campaign-page-hero-fullscreen/jb-campaign-page-hero-fullscreen.ts\nvar JbCampaignPageHeroFullscreen = class extends h {\n firstUpdated() {\n gsapWithCSS.registerPlugin(ScrollTrigger);\n gsapWithCSS.to(this._inner, {\n scrollTrigger: {\n trigger: this._detector,\n scrub: 0,\n start: \"top bottom\",\n end: \"+=50%\"\n },\n yoyo: true,\n opacity: 0,\n scale: 0.8\n });\n }\n _renderHeroImage() {\n if (this.videoSrc) {\n return ke``;\n }\n return ke`\n `;\n }\n _scrollToContent() {\n window.scrollBy({ top: window.innerHeight, left: 0, behavior: \"smooth\" });\n }\n _tracking(e2) {\n if (e2.detail.type === \"download\") {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e2, {\n component_name: \"campaign-page-hero\"\n });\n if (jbTrackingEvent) this.dispatchEvent(jbTrackingEvent);\n }\n }\n render() {\n return ke`
    \n
    \n ${this._renderHeroImage()}\n
    \n
    \n ${this.headline ? ke`

    ${this.headline}

    ` : D}\n ${this.text ? ke`

    ${this.text}

    ` : D}\n ${this.buttons ? ke`
    \n ${this.buttons.map(\n (button) => ke``\n )}\n
    ` : D}\n
    \n
    \n
    \n
    `;\n }\n};\nJbCampaignPageHeroFullscreen.styles = r(jb_campaign_page_hero_fullscreen_default);\n__decorateClass([\n n({ type: Array })\n], JbCampaignPageHeroFullscreen.prototype, \"buttons\", 2);\n__decorateClass([\n n()\n], JbCampaignPageHeroFullscreen.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbCampaignPageHeroFullscreen.prototype, \"image\", 2);\n__decorateClass([\n n()\n], JbCampaignPageHeroFullscreen.prototype, \"mobileImage\", 2);\n__decorateClass([\n n()\n], JbCampaignPageHeroFullscreen.prototype, \"text\", 2);\n__decorateClass([\n n()\n], JbCampaignPageHeroFullscreen.prototype, \"videoSrc\", 2);\n__decorateClass([\n e(\"#detector\")\n], JbCampaignPageHeroFullscreen.prototype, \"_detector\", 2);\n__decorateClass([\n e(\".inner\")\n], JbCampaignPageHeroFullscreen.prototype, \"_inner\", 2);\nJbCampaignPageHeroFullscreen = __decorateClass([\n customElement(\"jb-campaign-page-hero-fullscreen\")\n], JbCampaignPageHeroFullscreen);\n\nexport {\n JbCampaignPageHeroFullscreen\n};\n", "import {\n plyr_default,\n require_plyr_min\n} from \"./chunk.UW2KYD6R.js\";\nimport {\n LazyLoadingHandler_default\n} from \"./chunk.ZXFS3F4J.js\";\nimport {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n to\n} from \"./chunk.YTEMICXC.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n JBCookie,\n debounce\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2,\n r2 as r3\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass,\n __toESM\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-video/jb-video.ts\nvar import_plyr = __toESM(require_plyr_min(), 1);\n\n// src/components/jb-video/jb-video.scss?inline\nvar jb_video_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n.plyr button[data-plyr=play]:not(.plyr__control--overlaid):hover, .plyr:hover .plyr__control--overlaid, .plyr:hover .plyr__poster {\n transform: scale(1.05);\n}\n\n/* stylelint-disable */\n/* stylelint-enable */\n.plyr {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\n.text, .caption, .credit {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.credit {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--text-opacity, var(--theme-opacity-70, 0.7)));\n font-size: 0.813rem;\n line-height: 1.25rem;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n --plyr-range-fill-background: #fff;\n --plyr-control-radius: 0;\n --plyr-color-main: transparent;\n --plyr-range-track-height: 2px;\n --plyr-menu-background: #141e55;\n --plyr-menu-color: rgba(255, 255, 255, 0.7);\n --plyr-video-control-color-hover: var(--plyr-menu-color);\n --plyr-menu-radius: 0;\n --plyr-menu-arrow-color: #fff;\n --plyr-menu-item-arrow-color: #fff;\n --plyr-captions-background: rgba(0, 0, 0, 0.5);\n --plyr-captions-text-color: #fff;\n --plyr-font-size-large: 1.188rem;\n display: block;\n height: auto;\n}\n\nvideo {\n object-fit: cover;\n}\n\n.plyr--paused.plyr--stopped .gradient {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4));\n cursor: pointer;\n inset: 0;\n position: absolute;\n z-index: 2;\n}\n\n.videowrapper:not(.isbackground).aspect-21by9 {\n aspect-ratio: 21/9;\n}\n.videowrapper:not(.isbackground).aspect-16by9 {\n aspect-ratio: 16/9;\n}\n.videowrapper:not(.isbackground).aspect-4by3 {\n aspect-ratio: 4/3;\n}\n.videowrapper:not(.isbackground).aspect-3by2 {\n aspect-ratio: 3/2;\n}\n.videowrapper:not(.isbackground).aspect-1by1 {\n aspect-ratio: 1/1;\n}\n.videowrapper:not(.isbackground).aspect-2by3 {\n aspect-ratio: 2/3;\n}\n.videowrapper:not(.isbackground).aspect-3by4 {\n aspect-ratio: 3/4;\n}\n.videowrapper:not(.isbackground).aspect-9by16 {\n aspect-ratio: 9/16;\n}\n.videowrapper:not(.isbackground).aspect-9by21 {\n aspect-ratio: 9/21;\n}\n\n.isbackground {\n inset: 0;\n position: absolute;\n}\n\n.mainvideo .background {\n height: auto;\n left: 50%;\n min-height: 100%;\n min-width: 100%;\n overflow: hidden;\n pointer-events: none;\n position: absolute;\n top: 50%;\n -webkit-transform: translateX(-50%) translateY(-50%);\n transform: translateX(-50%) translateY(-50%);\n width: auto;\n}\n\n/* PLYR Styles override */\n.plyr {\n height: 100%;\n /* Show poster if enabled */\n /* allow for interaction with suggestions */\n /* Hide title when playing */\n /* Hide button when playing */\n /* Fullscreen button */\n /* Style range input (volume and position) */\n /* Style play / pause button when playing */\n}\n.plyr--paused.plyr--stopped .plyr__controls {\n display: none;\n}\n.plyr__video-wrapper {\n z-index: 0;\n}\n.plyr--full-ui ::-webkit-media-text-track-container {\n display: var(--webkit-text-track-display, none);\n}\n.plyr__captions {\n font-family: Arial, sans-serif;\n font-weight: 400;\n z-index: 1;\n}\n.plyr__caption {\n border-radius: 0;\n}\n.plyr__menu__container {\n border-radius: 0;\n}\n.plyr__menu__container [role=menu] {\n padding: 6px 0;\n}\n.plyr__menu__container .plyr__control {\n margin: 0;\n padding: 6px 16px;\n text-transform: unset;\n width: 100%;\n}\n.plyr__menu__container .plyr__control--forward,\n.plyr__menu__container .plyr__control--back {\n border: none;\n}\n.plyr__menu__container .plyr__control--forward::after,\n.plyr__menu__container .plyr__control--back::after {\n background-size: 18px 18px;\n border: none;\n color: white;\n content: \"\";\n display: inline-block;\n height: 18px;\n width: 18px;\n}\n.plyr__menu__container .plyr__control--forward {\n padding-right: 32px;\n}\n.plyr__menu__container .plyr__control--forward::after {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='#fff' d='M7.01 7.72L.66 1.38l.7-.71 7.08 7.07-.71.7-6.62 6.62-.71-.71 6.61-6.62z' fill-rule='evenodd'/%3E%3C/svg%3E\");\n right: 0;\n}\n.plyr__menu__container .plyr__control--back {\n padding: 12px 32px;\n}\n.plyr__menu__container .plyr__control--back::after {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.985 7.725l6.358-6.358-.71-.71-7.071 7.07.71.711.003-.003L7.89 15.05l.71-.71-6.615-6.615z' fill-rule='evenodd' fill='%23fff'/%3E%3C/svg%3E%0A\");\n left: 8px;\n}\n.plyr__menu__container .plyr__control--back::before {\n box-shadow: none;\n left: -7px;\n margin-top: 0;\n width: calc(100% + 14px);\n}\n.plyr__menu__container .plyr__control[role=menuitemradio]:hover {\n background-color: rgba(255, 255, 255, 0.1);\n}\n.plyr__menu__container .plyr__control[role=menuitemradio]::after {\n background: transparent;\n border: 1px solid transparent;\n border-radius: 0;\n height: 8px;\n left: 8px;\n top: 40%;\n width: 14px;\n}\n.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::after {\n border-bottom-color: #fff;\n border-left-color: #fff;\n transform: translateY(-50%) scale(1) rotate(-45deg);\n}\n.plyr__menu__container .plyr__control[role=menuitemradio]::before {\n background-color: transparent;\n}\n.plyr__menu__container .plyr__control[data-plyr=language] .plyr__menu__value {\n display: none;\n}\n.plyr__control--overlaid {\n background-color: transparent;\n border: 2px solid #fff;\n border-radius: 0;\n bottom: 30px;\n height: 50px;\n left: 30px;\n opacity: 1;\n outline: none;\n padding: 14px;\n top: auto;\n transform: none;\n transition: transform 0.7s, height 0.7s, width 0.7s, padding 0.7s;\n width: 50px;\n}\n.plyr__control--overlaid svg {\n height: 18px;\n left: 0;\n transition: transform 0.7s;\n width: 18px;\n}\n.plyr__control--overlaid:hover {\n background-color: transparent;\n}\n.plyr__poster {\n background-size: cover;\n transition: transform 0.7s;\n z-index: -1;\n}\n.plyr--stopped.plyr__poster-enabled .plyr__poster {\n z-index: 1;\n}\n.plyr--paused .plyr__controls {\n pointer-events: none;\n}\n.plyr--paused .plyr__controls__item {\n pointer-events: auto;\n}\n.plyr:not(.plyr--stopped) {\n z-index: 1;\n}\n.plyr--paused:not(.plyr--stopped) .plyr__control--overlaid {\n display: none !important;\n}\n.plyr [data-plyr=fullscreen] {\n transition: transform 0.3s ease-in-out 0s;\n}\n.plyr [data-plyr=fullscreen] svg {\n height: 40px;\n width: 40px;\n}\n.plyr [data-plyr=fullscreen]:hover {\n transform: scale(1.2);\n}\n.plyr__progress__container {\n padding-left: 10px !important;\n}\n.plyr input[type=range]::-webkit-slider-thumb {\n transform: scale(0.8);\n}\n.plyr input[type=range]::-moz-range-thumb {\n transform: scale(0.8);\n}\n.plyr input[type=range]::-ms-thumb {\n transform: scale(0.8);\n}\n.plyr input[type=range]:hover::-webkit-slider-thumb {\n -webkit-box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.2);\n box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.2);\n}\n.plyr input[type=range]:hover::-moz-range-thumb {\n -moz-box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.2);\n box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.2);\n}\n.plyr input[type=range]:hover::-ms-thumb {\n box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.2);\n}\n.plyr button[data-plyr=play]:not(.plyr__control--overlaid) {\n border: 2px solid #fff !important;\n border-radius: 0 !important;\n font-size: 0.75rem !important;\n height: 38px !important;\n left: 5px !important;\n line-height: 2.813rem !important;\n top: auto !important;\n transform: scale(1);\n transition: transform 0.3s ease-in-out 0s;\n width: 38px !important;\n}\n.plyr button[data-plyr=play]:not(.plyr__control--overlaid):hover {\n background-color: transparent;\n}\n.plyr--youtube .plyr__video-wrapper {\n padding-bottom: 56.25% !important;\n}\n\n.islarge .plyr__control--overlaid {\n height: 70px;\n padding: 24px;\n transform: translate(30px, -30px);\n width: 70px;\n}\n.islarge .plyr__control--overlaid svg {\n transform: scale(1.3333);\n}\n.islarge:hover .plyr__control--overlaid {\n transform: scale(1.05) translate(30px, -30px);\n}\n\nsection .videocontainer {\n position: relative;\n}\n\n.caption {\n font-size: 21px;\n font-size: 1.3125rem;\n line-height: 30px;\n line-height: 1.875rem;\n color: #141e55;\n margin-inline: auto;\n margin-top: 16px;\n position: static;\n transition: bottom 0.7s, left 0.7s;\n width: 86.64%;\n}\n@media (min-width: 600px) {\n .caption {\n font-size: 24px;\n font-size: 1.5rem;\n line-height: 30px;\n line-height: 1.875rem;\n bottom: 30px;\n color: #fff;\n font-weight: 200;\n left: 120px;\n margin: 16px 20px 0 0;\n max-width: 580px;\n pointer-events: none;\n position: absolute;\n width: auto;\n }\n}\n.islarge .caption {\n font-size: 28px;\n font-size: 1.75rem;\n line-height: 36px;\n line-height: 2.25rem;\n bottom: 64px;\n left: 155px;\n}\n\n.text {\n color: rgba(20, 30, 85, var(--theme-opacity-80, 0.8));\n margin: 10px auto 0;\n width: 86.64%;\n line-height: 26px;\n line-height: 1.625rem;\n}\n@media (min-width: 600px) {\n .text {\n margin: 16px auto 0;\n width: 100%;\n }\n}\n\n.credit {\n color: rgba(20, 30, 85, var(--theme-opacity-70, 0.7));\n margin: 10px auto 0;\n width: 86.64%;\n}\n@media (min-width: 600px) {\n .credit {\n margin: 5px auto 0;\n width: 100%;\n }\n}\n\njb-button {\n --stroke-color: \\$color-main-white;\n}\n\n#caption-button {\n appearance: none;\n background: none;\n border: 0;\n cursor: pointer;\n display: flex;\n}\n#caption-button svg {\n height: 18px;\n width: 18px;\n}`;\n\n// src/components/jb-video/jb-video.ts\nvar JbVideo = class extends Spaceable(h) {\n constructor() {\n super(...arguments);\n this.aspect = \"16by9\";\n this.controls = \"true\";\n this.preload = \"auto\";\n this.youtubeCaptionsActive = false;\n this._BREAKPOINT = 600;\n this._captionLanguage = \"\";\n this._isLarge = false;\n this._observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.intersectionRatio > 0) {\n this._dispatchVisibleEvent();\n if (this._previewVideo) {\n this._previewVideo.play();\n }\n if (this._playing) {\n this._plyr.play();\n }\n } else {\n if (this._previewVideo) {\n this._previewVideo.pause();\n }\n }\n });\n });\n this._playing = false;\n this._progressPercentage = 0;\n this._videopreload = \"auto\";\n this._youtubeSrc = \"\";\n }\n connectedCallback() {\n super.connectedCallback();\n if (this.youtubeCaptionsLanguageMapping) {\n const foundKey = Object.keys(this.youtubeCaptionsLanguageMapping).find(\n (key) => key === JBCookie.getI18nCookieData().languageIso2\n );\n if (foundKey) {\n this._youtubeCaptionLanguage = this.youtubeCaptionsLanguageMapping[foundKey];\n } else {\n this._youtubeCaptionLanguage = \"\";\n }\n }\n if (this.src.split(\".\").pop() !== \"mp4\") {\n this._youtubeSrc = `https://www.youtube-nocookie.com/embed/${this.src}?rel=0&iv_load_policy=3&modestbranding=0&playsinline=1&enablejsapi=1&color=white\n ${this.autoplay ? \"&autoplay=1\" : \"\"}\n ${this.youtubeCaptionsActive ? \"&cc_load_policy=1\" : \"\"}\n ${this._youtubeCaptionLanguage ? `&cc_lang_pref=${this._youtubeCaptionLanguage}` : \"\"}`;\n }\n window.addEventListener(\"resize\", debounce(this._windowResized.bind(this), 500));\n }\n firstUpdated() {\n const ua = window.navigator.userAgent;\n if (ua.match(/iPhone/i) && this._youtubeSrc !== \"\") return;\n this._initPlayer();\n this._initObserver();\n if (this.preload === \"auto\") {\n this._videopreload = \"none\";\n LazyLoadingHandler_default.observe(\n this,\n async () => {\n this._videopreload = \"auto\";\n },\n \"approachingViewport\"\n );\n } else {\n this._videopreload = this.preload;\n }\n }\n _dispatchPlayEvent() {\n if (this.isBackground || this._progressPercentage > 0 || this._isVideoGif()) return;\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_video\",\n event_version: \"v2\",\n component_name: \"video-player\",\n file_name: this._videoName,\n file_progress: \"start\",\n file_type: this._videoExtension\n },\n bubbles: true,\n composed: true\n })\n );\n }\n _dispatchProgressEvent(evt) {\n if (this.isBackground || this._isVideoGif()) return;\n const currentTime = evt.detail.plyr.currentTime || 0;\n const currentDuration = evt.detail.plyr.duration;\n const currentPercentage = currentDuration > 0 ? Math.round(currentTime / currentDuration * 10) * 10 : 0;\n if (currentPercentage > this._progressPercentage) {\n this._progressPercentage = currentPercentage;\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_video\",\n event_version: \"v2\",\n component_name: \"video-player\",\n file_name: this._videoName,\n file_progress: this._progressPercentage + \"%\",\n file_type: this._videoExtension,\n time_elapsed: Math.round(currentDuration / 100 * this._progressPercentage)\n },\n bubbles: true,\n composed: true\n })\n );\n }\n }\n _dispatchVisibleEvent() {\n if (this.isBackground || this._isVideoGif()) return;\n window.setTimeout(() => {\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_video\",\n event_version: \"v2\",\n component_name: \"video-player\",\n file_name: this._videoName,\n file_progress: \"visible\",\n file_type: this._videoExtension\n },\n bubbles: true,\n composed: true\n })\n );\n }, 0);\n }\n _getContentSpacingProperties() {\n return { horizontal: \"full-width-xs\", colsMdUp: 10 };\n }\n _initObserver() {\n const player = this._videoPlayer ?? this._youtubePlayer;\n this._observer.observe(player);\n }\n _initPlayer(toggle_captions = false, start_time = 0) {\n this.youtubeCaptionsActive = toggle_captions ? !this.youtubeCaptionsActive : this.youtubeCaptionsActive;\n const settings = [];\n let plyrOptions = {\n iconUrl: this.iconPath,\n fullscreen: {\n iosNative: true,\n enabled: true\n },\n playsinline: true,\n disablePictureInPicture: true,\n controls: [\"play\", \"play-large\", \"progress\", \"current-time\", \"mute\", \"volume\", \"fullscreen\"],\n i18n: {},\n settings,\n muted: this.muted,\n autoplay: this.autoplay || toggle_captions,\n clickToPlay: this.clickToPlay,\n youtube: {\n cc_load_policy: this.youtubeCaptionsActive ? 1 : 0,\n cc_lang_pref: this._youtubeCaptionLanguage\n }\n };\n if (this.captions) {\n plyrOptions.controls.splice(5, 0, \"captions\", \"settings\");\n plyrOptions.settings.push(\"captions\");\n }\n if (this.controls === \"false\") {\n plyrOptions.controls = [];\n }\n if (this.i18n) {\n plyrOptions = {\n ...plyrOptions,\n i18n: this.i18n\n };\n }\n if (this.isBackground) {\n plyrOptions.controls = [];\n plyrOptions.clickToPlay = false;\n plyrOptions.fullscreen.enabled = false;\n plyrOptions.autoplay = true;\n this._playing = true;\n this.muted = true;\n plyrOptions.muted = true;\n this.loop = true;\n }\n this._plyr = new import_plyr.default(this._videoPlayer, plyrOptions);\n if (this.muted && !this._youtubeSrc) {\n this._videoPlayer.muted = true;\n }\n this._insertGradient(this._plyr.elements.wrapper);\n this._plyr.on(\"ready\", (evt) => {\n this._windowResized();\n if (this.previewVideoSrc) {\n this._insertPreviewVideo(evt.detail.plyr.elements.poster);\n }\n if (this.youtubeCaptionsLanguageMapping) {\n const plyrVolume = this._youtubePlayer?.querySelector(\".plyr__volume\");\n const captionbutton = document.createElement(\"button\");\n captionbutton.innerHTML = ``;\n captionbutton.setAttribute(\"id\", \"caption-button\");\n captionbutton.classList.add(\"plyr__controls__item\");\n captionbutton.addEventListener(\"click\", () => {\n this._toggleYoutubeCaptions();\n });\n plyrVolume?.parentNode?.insertBefore(captionbutton, plyrVolume.nextSibling);\n }\n if (toggle_captions) {\n this._plyr.currentTime = start_time;\n this._plyr.muted = false;\n }\n });\n this._plyr.on(\"timeupdate\", this._dispatchProgressEvent.bind(this));\n this._plyr.on(\"playing\", this._dispatchPlayEvent.bind(this));\n this._plyr.on(\"playing\", () => {\n this._playing = true;\n });\n this._plyr.on(\"pause\", () => {\n this._playing = false;\n });\n this._plyr.on(\"ended\", () => {\n this._playing = false;\n });\n }\n _insertGradient(playerWrapper) {\n const gradientElement = document.createElement(\"div\");\n gradientElement.classList.add(\"gradient\");\n playerWrapper.appendChild(gradientElement);\n }\n _insertPreviewVideo(localPlyr) {\n if (this.previewVideoSrc) {\n this._previewVideo = document.createElement(\"video\");\n this._previewVideo.src = this.previewVideoSrc;\n this._previewVideo.muted = true;\n this._previewVideo.autoplay = true;\n this._previewVideo.loop = true;\n localPlyr?.appendChild(this._previewVideo);\n this._plyr.elements.container?.classList.add(\"plyr__poster-enabled\");\n }\n if (this._previewVideo) {\n this._observer.observe(this._previewVideo);\n }\n }\n _isVideoGif() {\n return this.loop && this.controls === \"false\" && this.muted;\n }\n _languageChanged(e2) {\n this._captionLanguage = e2.detail.plyr.captions.language;\n }\n _renderCaptionTracks() {\n if (this.captions) {\n return this.captions.map(\n (caption) => ke``\n );\n }\n return \"\";\n }\n _renderVideo() {\n return ke`\n \n ${this._youtubeSrc ? ke`\n
    \n
    \n \n
    \n
    \n ` : ke`\n \n \n ${this._renderCaptionTracks()}\n \n `}\n \n `;\n }\n _setCaptionActive() {\n const siteLanguage = JBCookie.getI18nCookieData().languageIso2;\n if (this._videoPlayerTracks) {\n this._videoPlayerTracks.forEach((track) => {\n if (track.srclang === siteLanguage) {\n this._plyr.language = siteLanguage;\n this._plyr.toggleCaptions(true);\n }\n });\n }\n }\n _toggleYoutubeCaptions() {\n this._plyr.destroy();\n this._initPlayer(true, this._plyr.currentTime);\n }\n get _videoExtension() {\n return this._youtubeSrc ? \"youtube\" : this.src.split(\".\").pop()?.toLocaleLowerCase();\n }\n get _videoName() {\n return this._youtubeSrc ? this._plyr.config.title + \" (\" + this.src + \")\" : this.src.split(\"/\").pop();\n }\n _videoReady() {\n this._setCaptionActive();\n }\n _webkitBeginFullScreen() {\n document.documentElement.style.setProperty(\"--webkit-text-track-display\", \"block\");\n if (this._captionLanguage) {\n let trackUid = 0;\n if (this._videoPlayerTracks) {\n this._videoPlayerTracks.forEach((track, index) => {\n if (track.srclang === this._captionLanguage) {\n trackUid = index;\n }\n });\n this._videoPlayer.textTracks[trackUid].mode = \"showing\";\n }\n }\n }\n _webkitEndFullScreen() {\n document.documentElement.style.setProperty(\"--webkit-text-track-display\", \"none\");\n if (this._captionLanguage) {\n let trackUid = 0;\n if (this._videoPlayerTracks) {\n this._videoPlayerTracks.forEach((track, index) => {\n if (track.srclang === this._captionLanguage) {\n trackUid = index;\n }\n });\n this._videoPlayer.textTracks[trackUid].mode = \"disabled\";\n }\n }\n }\n _windowResized() {\n this._isLarge = this.offsetWidth >= this._BREAKPOINT;\n }\n render() {\n return this.caption || this.text || this.credit ? ke`\n
    \n
    \n ${this._renderVideo()} ${this.caption ? ke`

    ${this.caption}

    ` : D}\n
    \n ${this.text ? ke`

    ${this.text}

    ` : D}\n ${this.credit ? ke`

    ${this.credit}

    ` : D}\n
    \n ` : this._renderVideo();\n }\n};\nJbVideo.styles = r([plyr_default, jb_video_default]);\n__decorateClass([\n n()\n], JbVideo.prototype, \"aspect\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbVideo.prototype, \"autoplay\", 2);\n__decorateClass([\n n()\n], JbVideo.prototype, \"caption\", 2);\n__decorateClass([\n n({ type: Array })\n], JbVideo.prototype, \"captions\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbVideo.prototype, \"clickToPlay\", 2);\n__decorateClass([\n n({ type: String })\n], JbVideo.prototype, \"controls\", 2);\n__decorateClass([\n n()\n], JbVideo.prototype, \"credit\", 2);\n__decorateClass([\n n({ type: Object })\n], JbVideo.prototype, \"i18n\", 2);\n__decorateClass([\n n()\n], JbVideo.prototype, \"iconPath\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbVideo.prototype, \"isBackground\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbVideo.prototype, \"loop\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbVideo.prototype, \"muted\", 2);\n__decorateClass([\n n()\n], JbVideo.prototype, \"poster\", 2);\n__decorateClass([\n n()\n], JbVideo.prototype, \"preload\", 2);\n__decorateClass([\n n()\n], JbVideo.prototype, \"previewVideoSrc\", 2);\n__decorateClass([\n n()\n], JbVideo.prototype, \"src\", 2);\n__decorateClass([\n n()\n], JbVideo.prototype, \"text\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbVideo.prototype, \"youtubeCaptionsActive\", 2);\n__decorateClass([\n n({ type: Object })\n], JbVideo.prototype, \"youtubeCaptionsLanguageMapping\", 2);\n__decorateClass([\n r2()\n], JbVideo.prototype, \"_isLarge\", 2);\n__decorateClass([\n r2()\n], JbVideo.prototype, \"_playing\", 2);\n__decorateClass([\n r2()\n], JbVideo.prototype, \"_progressPercentage\", 2);\n__decorateClass([\n e(\".mainvideo\")\n], JbVideo.prototype, \"_videoPlayer\", 2);\n__decorateClass([\n r3(\"track\")\n], JbVideo.prototype, \"_videoPlayerTracks\", 2);\n__decorateClass([\n r2()\n], JbVideo.prototype, \"_videopreload\", 2);\n__decorateClass([\n e(\".youtubeplayer\")\n], JbVideo.prototype, \"_youtubePlayer\", 2);\nJbVideo = __decorateClass([\n customElement(\"jb-video\")\n], JbVideo);\n\nexport {\n JbVideo\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n jbLinkClickedEventToJbTrackingEvent,\n setLink\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-campaign-teaser/jb-campaign-teaser.scss?inline\nvar jb_campaign_teaser_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nh2 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh2 {\n font-size: var(--theme-typo-h2-image-mobile-fontsize, 1.938rem);\n line-height: var(--theme-typo-h2-image-mobile-lineheight, 2.625rem);\n}\n@media (min-width: 1281px) {\n h2 {\n font-size: var(--theme-typo-h2-image-desktop-fontsize, 2.813rem);\n line-height: var(--theme-typo-h2-image-desktop-lineheight, 3.813rem);\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n overflow: hidden;\n}\n\nsection {\n color: rgb(var(--rgb-primary, 255, 255, 255));\n inset: 0;\n position: relative;\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 0;\n width: 100%;\n}\n@media (min-width: 960px) {\n section {\n clip-path: inset(0 20px);\n }\n}\n@media (min-width: 600px) {\n section {\n height: 100%;\n overflow: hidden;\n position: relative;\n width: 100%;\n }\n section > *,\n section iframe {\n height: 100%;\n inset: 0;\n position: absolute;\n width: 100%;\n }\n section::before {\n content: \"\";\n display: block;\n height: 0;\n padding-bottom: calc(9 / 21 * 100%);\n position: relative;\n width: 100%;\n }\n}\n@media (min-width: 960px) {\n section {\n margin-left: 8.3333333333%;\n box-sizing: border-box;\n flex-basis: 83.3333333333%;\n max-width: 83.3333333333%;\n padding: 0 20px;\n width: 83.3333333333%;\n }\n}\n\n.bg {\n height: 100%;\n inset: 0;\n position: absolute;\n transform: scale(1);\n transition: transform 0.5s ease 0s;\n width: auto;\n z-index: 1;\n}\n@media (min-width: 960px) {\n .bg {\n inset-block: 0;\n left: 20px;\n right: 20px;\n }\n}\n.bg::after {\n background-color: rgba(0, 0, 0, 0.3);\n content: \"\";\n inset: 0;\n position: inherit;\n}\n\n.hover {\n transform: scale(1.03);\n}\n\n.content {\n align-items: center;\n display: flex;\n flex-direction: column;\n height: 100%;\n justify-content: space-between;\n min-height: 450px;\n padding: 40px 25px;\n position: relative;\n width: 100%;\n z-index: 2;\n}\n@media (min-width: 600px) {\n .content {\n min-height: auto;\n padding: 40px 72px;\n position: absolute;\n }\n}\n@media (min-width: 960px) {\n .content {\n padding: 32px 80px;\n }\n}\n@media (min-width: 1281px) {\n .content {\n padding: 60px 90px;\n }\n}\n.content > div {\n text-align: center;\n}\n\n.btn-panel {\n margin-top: 20px;\n}\n\njb-button-primary {\n margin-top: 20px;\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 0;\n width: 100%;\n}\n@media (min-width: 600px) {\n jb-button-primary {\n box-sizing: border-box;\n flex-basis: 66.6666666667%;\n max-width: 66.6666666667%;\n padding: 0 20px;\n width: 66.6666666667%;\n }\n}\n@media (min-width: 960px) {\n jb-button-primary {\n flex-basis: unset;\n max-width: unset;\n width: unset;\n }\n}\n\njb-picture {\n height: 100%;\n}\n\n.mobile-app-icon {\n display: inline-block;\n transform: scale(1);\n transition: transform 1s ease 0s;\n z-index: 1;\n}\n@media (min-width: 600px) {\n .mobile-app-icon {\n margin-right: 20px;\n }\n}\n.mobile-app-icon:hover {\n transform: scale(1.05);\n transition: transform 1s ease 0s;\n}\n.mobile-app-icon:last-child {\n margin-right: 0;\n}\n\njb-section-headline {\n color: rgb(var(--rgb-primary, 255, 255, 255));\n}`;\n\n// src/components/jb-campaign-teaser/jb-campaign-teaser.ts\nvar JbCampaignTeaser = class extends Spaceable(h) {\n constructor() {\n super(...arguments);\n this.appButtons = [];\n this.forceHover = false;\n this.headline = \"\";\n this.subtitle = \"\";\n }\n async firstUpdated() {\n this._anchortags?.forEach((element) => {\n setLink(element, { href: element.href, data: { type: \"external\" } });\n });\n }\n _getContentSpacingProperties() {\n return { horizontal: \"full-width-md-down\", colsMdUp: \"none\" };\n }\n _tracking(e) {\n const interactionText = e.detail.linkableComponent?.innerText ?? e.detail.linkTag.href;\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e, {\n component_name: \"campaign-teaser\",\n interaction_text: interactionText\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n }\n render() {\n return ke`\n
    \n
    \n \n
    \n
    \n ${this.headline ? ke`` : D}\n
    \n ${this.subtitle ? ke`

    ${this.subtitle}

    ` : D}\n {\n this.forceHover = true;\n }}\n @mouseleave=${() => {\n this.forceHover = false;\n }}\n @jb-link:clicked=${this._tracking}\n >\n ${this.appButtons ? ke`\n ${this.appButtons.map(\n (appButton) => ke`\n \n `\n )}\n ` : D}\n ${this.button?.text ? ke`${this.button.text}` : D}\n
    \n
    \n \n
    \n `;\n }\n};\nJbCampaignTeaser.styles = r(jb_campaign_teaser_default);\n__decorateClass([\n n({ type: Array })\n], JbCampaignTeaser.prototype, \"appButtons\", 2);\n__decorateClass([\n n({ type: Object })\n], JbCampaignTeaser.prototype, \"bgImage\", 2);\n__decorateClass([\n n({ type: Object })\n], JbCampaignTeaser.prototype, \"button\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbCampaignTeaser.prototype, \"forceHover\", 2);\n__decorateClass([\n n()\n], JbCampaignTeaser.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbCampaignTeaser.prototype, \"subtitle\", 2);\n__decorateClass([\n r2(\".mobile-app-icon\")\n], JbCampaignTeaser.prototype, \"_anchortags\", 2);\nJbCampaignTeaser = __decorateClass([\n customElement(\"jb-campaign-teaser\")\n], JbCampaignTeaser);\n\nexport {\n JbCampaignTeaser\n};\n", "import {\n Mousewheel,\n core_default\n} from \"./chunk.VVD5NVY2.js\";\nimport {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Linkable\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-carousel/jb-carousel.scss?inline\nvar jb_carousel_default = i`/**\n * Swiper 8.4.7\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * https://swiperjs.com\n *\n * Copyright 2014-2023 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: January 30, 2023\n */\n@font-face {\n font-family: \"swiper-icons\";\n src: url(\"data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA\") format(\"woff\");\n font-weight: 400;\n font-style: normal;\n}\n:root {\n --swiper-theme-color: #007aff;\n}\n\n.swiper {\n margin-left: auto;\n margin-right: auto;\n position: relative;\n overflow: hidden;\n list-style: none;\n padding: 0;\n /* Fix of Webkit flickering */\n z-index: 1;\n}\n\n.swiper-vertical > .swiper-wrapper {\n flex-direction: column;\n}\n\n.swiper-wrapper {\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 1;\n display: flex;\n transition-property: transform;\n box-sizing: content-box;\n}\n\n.swiper-android .swiper-slide,\n.swiper-wrapper {\n transform: translate3d(0px, 0, 0);\n}\n\n.swiper-pointer-events {\n touch-action: pan-y;\n}\n.swiper-pointer-events.swiper-vertical {\n touch-action: pan-x;\n}\n\n.swiper-slide {\n flex-shrink: 0;\n width: 100%;\n height: 100%;\n position: relative;\n transition-property: transform;\n}\n\n.swiper-slide-invisible-blank {\n visibility: hidden;\n}\n\n/* Auto Height */\n.swiper-autoheight,\n.swiper-autoheight .swiper-slide {\n height: auto;\n}\n.swiper-autoheight .swiper-wrapper {\n align-items: flex-start;\n transition-property: transform, height;\n}\n\n.swiper-backface-hidden .swiper-slide {\n transform: translateZ(0);\n backface-visibility: hidden;\n}\n\n/* 3D Effects */\n.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {\n perspective: 1200px;\n}\n.swiper-3d .swiper-wrapper,\n.swiper-3d .swiper-slide,\n.swiper-3d .swiper-slide-shadow,\n.swiper-3d .swiper-slide-shadow-left,\n.swiper-3d .swiper-slide-shadow-right,\n.swiper-3d .swiper-slide-shadow-top,\n.swiper-3d .swiper-slide-shadow-bottom,\n.swiper-3d .swiper-cube-shadow {\n transform-style: preserve-3d;\n}\n.swiper-3d .swiper-slide-shadow,\n.swiper-3d .swiper-slide-shadow-left,\n.swiper-3d .swiper-slide-shadow-right,\n.swiper-3d .swiper-slide-shadow-top,\n.swiper-3d .swiper-slide-shadow-bottom {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: 10;\n}\n.swiper-3d .swiper-slide-shadow {\n background: rgba(0, 0, 0, 0.15);\n}\n.swiper-3d .swiper-slide-shadow-left {\n background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n.swiper-3d .swiper-slide-shadow-right {\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n.swiper-3d .swiper-slide-shadow-top {\n background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n.swiper-3d .swiper-slide-shadow-bottom {\n background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n}\n\n/* CSS Mode */\n.swiper-css-mode > .swiper-wrapper {\n overflow: auto;\n scrollbar-width: none; /* For Firefox */\n -ms-overflow-style: none; /* For Internet Explorer and Edge */\n}\n.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {\n display: none;\n}\n.swiper-css-mode > .swiper-wrapper > .swiper-slide {\n scroll-snap-align: start start;\n}\n\n.swiper-horizontal.swiper-css-mode > .swiper-wrapper {\n scroll-snap-type: x mandatory;\n}\n\n.swiper-vertical.swiper-css-mode > .swiper-wrapper {\n scroll-snap-type: y mandatory;\n}\n\n.swiper-centered > .swiper-wrapper::before {\n content: \"\";\n flex-shrink: 0;\n order: 9999;\n}\n.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {\n margin-inline-start: var(--swiper-centered-offset-before);\n}\n.swiper-centered.swiper-horizontal > .swiper-wrapper::before {\n height: 100%;\n width: var(--swiper-centered-offset-after);\n}\n.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {\n margin-block-start: var(--swiper-centered-offset-before);\n}\n.swiper-centered.swiper-vertical > .swiper-wrapper::before {\n width: 100%;\n height: var(--swiper-centered-offset-after);\n}\n.swiper-centered > .swiper-wrapper > .swiper-slide {\n scroll-snap-align: center center;\n scroll-snap-stop: always;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.intro-section p {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.intro-section p {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.063rem;\n line-height: 1.875rem;\n}\n@media (min-width: 1281px) {\n .intro-section p {\n font-size: 1.188rem;\n line-height: 2.125rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n.intro-section {\n --_grid-gap: 16px;\n --_grid-template-columns: repeat(12, 1fr);\n display: grid;\n gap: var(--grid-row-gap, 0) var(--grid-column-gap, var(--_grid-gap));\n grid-template-columns: var(--theme-grid-template-columns, var(--_grid-template-columns));\n width: 100%;\n}\n@media (min-width: 960px) {\n .intro-section {\n --_grid-gap: 40px;\n }\n}\n\nsection {\n --_max-width: calc(100% - (2 * 6.68%));\n display: grid;\n grid-template-columns: [full-start] minmax(0, 1fr) [main-start] minmax(0, var(--theme-grid-max-width, var(--_max-width))) [main-end] minmax(0, 1fr) [full-end];\n margin-inline: auto;\n}\n@media (min-width: 600px) {\n section {\n --_max-width: calc(100% - (2 * 8.35%));\n }\n}\n@media (min-width: 960px) {\n section {\n --_max-width: calc(100% - (2 * 6.955%));\n }\n}\n@media (min-width: 1437px) {\n section {\n --_max-width: 1437px;\n }\n}\n\n:host {\n color: var(--host-color, #141e55);\n}\n\nsection {\n padding-block: var(--spacing-2xl);\n}\nsection.smoke-light {\n background: #f1f2f2;\n}\nsection.stone {\n background: #b0aa7e;\n}\nsection.stone-light {\n background: #f7f7f2;\n}\nsection.violet-light {\n background: #f2eff0;\n}\n\n.intro-section {\n grid-column: main;\n grid-template-columns: subgrid;\n justify-content: center;\n --flex: 1;\n}\n@media (min-width: 1281px) {\n .intro-section {\n grid-template-columns: var(--_grid-template-columns);\n }\n .intro-section > * {\n grid-column: 3/span 8;\n }\n}\n.intro-section jb-section-headline {\n justify-content: center;\n margin-block-start: 0;\n}\n.intro-section p {\n color: rgba(20, 30, 85, var(--theme-opacity-80, 0.8));\n justify-content: center;\n margin-block-start: var(--spacing-xs);\n text-align: center;\n}\n@media (min-width: 1281px) {\n .intro-section p {\n margin-block-start: var(--spacing-s);\n }\n}\n.intro-section.left-aligned p {\n text-align: start;\n}\n\n.wrapper {\n display: grid;\n grid-column: full;\n grid-template-columns: subgrid;\n margin-block-start: var(--spacing-l);\n overflow: hidden;\n width: 100%;\n}\n@media (min-width: 1437px) {\n .wrapper {\n margin-block-start: var(--spacing-xl);\n }\n}\n\n.swiper {\n grid-column: main;\n overflow: visible;\n width: 100%;\n}\n@media (min-width: 600px) {\n .swiper {\n padding-inline-end: unset;\n }\n}\n\n.swiper-slide {\n transition: opacity 0.2s ease-in-out;\n width: calc((100% - 5 * var(--spacing-gap)) / 6 * 5 + 4 * var(--spacing-gap));\n}\n.swiper-slide.swiper-slide-visible {\n opacity: 1;\n}\n.swiper-slide__title {\n margin-block-end: 0;\n}\n.swiper-slide:hover {\n --transform-tag: scale(1.05);\n}\n.swiper-slide:last-of-type {\n margin-inline-end: 0 !important;\n}\n@media (min-width: 960px) {\n .swiper-slide {\n opacity: 0.4;\n }\n}\n\n.arrows-wrapper {\n display: flex;\n grid-column: main;\n inline-size: 100%;\n justify-content: center;\n margin-block-start: var(--spacing-s);\n}\n@media (min-width: 1281px) {\n .arrows-wrapper {\n justify-content: right;\n }\n}\n\njb-arrow-navigation {\n display: flex;\n}\njb-arrow-navigation[carousel-items=\"1\"] {\n display: none;\n}\njb-arrow-navigation[carousel-items=\"2\"] {\n display: flex;\n}\n@media (min-width: 600px) {\n jb-arrow-navigation[carousel-items=\"2\"] {\n display: none;\n }\n}\njb-arrow-navigation[carousel-items=\"3\"] {\n display: flex;\n}\n@media (min-width: 960px) {\n jb-arrow-navigation[carousel-items=\"3\"] {\n display: none;\n }\n}\njb-arrow-navigation[carousel-items=\"4\"][carousel-with-publications=true] {\n display: flex;\n}\n@media (min-width: 960px) {\n jb-arrow-navigation[carousel-items=\"4\"][carousel-with-publications=true] {\n display: none;\n }\n}\n\njb-button-panel {\n grid-column: main;\n justify-content: center;\n margin-block-start: var(--spacing-s);\n padding: 0;\n --white-space: nowrap;\n --panel-gap: var(--_grid-gap);\n}\njb-button-panel jb-button-secondary {\n inline-size: 100%;\n}\n@media (min-width: 1281px) {\n jb-button-panel jb-button-secondary {\n flex: var(--flex, 0 1 auto);\n inline-size: unset;\n }\n}\n\n.publications .swiper-slide {\n box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.1);\n transition: transform 0.3s, opacity 0.5s;\n}\n.publications .swiper-slide.swiper-slide-visible:hover {\n transform: scale(1.05);\n}`;\n\n// src/components/jb-carousel/jb-carousel.ts\nvar JbCarousel = class extends Spaceable(Linkable(h)) {\n constructor() {\n super(...arguments);\n this._nextDisabled = false;\n this._previousDisabled = false;\n }\n firstUpdated() {\n this._arrow_navigation.setAttribute(\"carousel-items\", this._slottedChildren.length.toString());\n if (this.publications) {\n this._arrow_navigation.setAttribute(\"carousel-with-publications\", \"true\");\n }\n this._slottedChildren.forEach((slottedChild) => {\n slottedChild.classList.add(\"swiper-slide\");\n slottedChild.setAttribute(\"gallery\", \"\");\n this._swiper_wrapper.appendChild(slottedChild);\n });\n const defaultOptions = {\n breakpoints: {\n // xs\n 0: {\n centeredSlides: true,\n slidesPerView: \"auto\",\n spaceBetween: 16\n },\n // sm\n 600: {\n centeredSlides: false,\n slidesPerView: 2,\n spaceBetween: 16\n },\n // md\n 960: {\n centeredSlides: false,\n slidesPerView: 2,\n spaceBetween: 40\n },\n // lg+\n 1281: {\n centeredSlides: true,\n slidesPerView: 3,\n spaceBetween: 40\n }\n },\n centerInsufficientSlides: true,\n centeredSlidesBounds: true,\n loopFillGroupBlank: false,\n modules: [Mousewheel],\n mousewheel: {\n forceToAxis: true\n },\n slideToClickedSlide: true,\n spaceBetween: 16,\n watchSlidesProgress: true\n };\n const publicationOptions = {\n ...defaultOptions,\n breakpoints: {\n 0: {\n slidesPerView: 2,\n spaceBetween: 16\n },\n // md\n 960: {\n slidesPerView: 4,\n spaceBetween: 40\n }\n },\n centeredSlides: false\n };\n this._swiper = new core_default(this._swiper_element, this.publications ? publicationOptions : defaultOptions);\n this._swiper.on(\"slideChange\", this._slideChanged.bind(this));\n this._slideChanged();\n window.addEventListener(\"resize\", this._slideChanged.bind(this));\n }\n nextSlide() {\n this._swiper.slideNext();\n }\n previousSlide() {\n this._swiper.slidePrev();\n }\n _getContentSpacingProperties() {\n return { grid: true, horizontal: \"full-width\", colsMdUp: \"none\", type: \"no-vertical-space\" };\n }\n _slideChanged() {\n this._nextDisabled = this._swiper.isEnd;\n this._previousDisabled = this._swiper.isBeginning;\n }\n get _slottedChildren() {\n return this._slot.assignedElements({ flatten: true });\n }\n render() {\n return ke`\n
    \n \n ${this.text ? ke`

    ${this.text}

    ` : D}\n ${this.buttons ? ke`\n \n ${this.buttons.map(\n (button) => ke`\n ${button.icon === \"spotify\" ? ke`\n \n \n \n \n ` : D}\n ${button.icon === \"apple\" ? ke`\n \n ` : D}\n ${button.text}\n `\n )}\n \n ` : D}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n ${this.buttonText ? ke`\n \n ${this.buttonText} \n \n ` : D}\n `;\n }\n};\nJbCarousel.styles = r(jb_carousel_default);\n__decorateClass([\n n()\n], JbCarousel.prototype, \"backgroundColor\", 2);\n__decorateClass([\n n({ type: Array })\n], JbCarousel.prototype, \"buttons\", 2);\n__decorateClass([\n n()\n], JbCarousel.prototype, \"buttonText\", 2);\n__decorateClass([\n n()\n], JbCarousel.prototype, \"headline\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbCarousel.prototype, \"publications\", 2);\n__decorateClass([\n n()\n], JbCarousel.prototype, \"text\", 2);\n__decorateClass([\n e(\"jb-arrow-navigation\")\n], JbCarousel.prototype, \"_arrow_navigation\", 2);\n__decorateClass([\n r2()\n], JbCarousel.prototype, \"_nextDisabled\", 2);\n__decorateClass([\n r2()\n], JbCarousel.prototype, \"_previousDisabled\", 2);\n__decorateClass([\n e(\"slot\")\n], JbCarousel.prototype, \"_slot\", 2);\n__decorateClass([\n e(\".swiper\")\n], JbCarousel.prototype, \"_swiper_element\", 2);\n__decorateClass([\n e(\".swiper-wrapper\")\n], JbCarousel.prototype, \"_swiper_wrapper\", 2);\nJbCarousel = __decorateClass([\n customElement(\"jb-carousel\")\n], JbCarousel);\n\nexport {\n JbCarousel\n};\n", "import {\n Linkable\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-media-teaser/jb-media-teaser.scss?inline\nvar jb_media_teaser_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.horizontal-headline {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.horizontal-headline {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.313rem;\n line-height: 2.125rem;\n}\n@media (min-width: 1281px) {\n .horizontal-headline {\n font-size: 1.5rem;\n line-height: 2.25rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n --teaser-header-h3-margin-bottom: 24px;\n --teaser-header-h3-margin-top: 24px;\n --category-spacing-top: 0;\n}\n@media (min-width: 960px) {\n :host {\n --teaser-header-h3-margin-bottom: 20px;\n --teaser-header-h3-margin-top: 20px;\n }\n}\n\narticle {\n display: flex;\n gap: 10px;\n position: relative;\n}\n@media (min-width: 600px) {\n article {\n gap: 16px;\n }\n}\narticle.no-image {\n --teaser-header-h3-margin-bottom: 12px;\n --teaser-header-h3-margin-top: 0;\n border: 1px solid rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n transition: border 0.7s ease-in-out 0s;\n}\narticle.no-image:hover {\n border-color: #141e55;\n}\n@media (min-width: 600px) {\n article.no-image {\n --teaser-header-h3-margin-bottom: 15px;\n }\n}\n\n.wrapper {\n position: relative;\n width: 100%;\n}\n\n.image-link {\n flex-basis: 25%;\n flex-shrink: 0;\n}\n@media (min-width: 960px) {\n .image-link {\n flex-basis: 33%;\n }\n}\n\n.text-link {\n padding-bottom: 0;\n}\n.no-image .text-link {\n padding: 62px 30px 91px;\n}\n@media (min-width: 600px) {\n .no-image .text-link {\n padding: 50px 29px 91px;\n }\n}\n@media (min-width: 960px) {\n .no-image .text-link {\n padding-bottom: 81px;\n }\n}\n@media (min-width: 1281px) {\n .no-image .text-link {\n padding: 62px 30px 101px;\n }\n}\n\njb-teaser-meta {\n position: static;\n}\n.no-image jb-teaser-meta {\n bottom: 76px;\n left: 30px;\n transform: translateY(100%);\n}\n@media (min-width: 960px) {\n .no-image jb-teaser-meta {\n bottom: 66px;\n }\n}\n@media (min-width: 1281px) {\n .no-image jb-teaser-meta {\n bottom: 86px;\n }\n}\n\na {\n display: block;\n text-decoration: none;\n}\na figure {\n overflow: hidden;\n}\n\n.horizontal-headline {\n padding-bottom: 16px;\n}\n@media (max-width: 1280px) {\n .horizontal-headline {\n line-height: 1.75rem;\n }\n}`;\n\n// src/components/jb-media-teaser/jb-media-teaser.ts\nvar JbMediaTeaser = class extends Linkable(h) {\n render() {\n return ke`\n
    \n
    \n \n \n \n ${this.teaserMeta ? ke`` : D}\n
    \n
    \n `;\n }\n};\nJbMediaTeaser.styles = r(jb_media_teaser_default);\n__decorateClass([\n n({ type: Object })\n], JbMediaTeaser.prototype, \"teaserHeader\", 2);\n__decorateClass([\n n({ type: Object })\n], JbMediaTeaser.prototype, \"teaserMeta\", 2);\nJbMediaTeaser = __decorateClass([\n customElement(\"jb-media-teaser\")\n], JbMediaTeaser);\n\nexport {\n JbMediaTeaser\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Linkable\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-article-wide/jb-article-wide.scss?inline\nvar jb_article_wide_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n@media (max-width: 959px) {\n section {\n --teaser-header-h3-margin-bottom: 20px;\n }\n}\n\narticle {\n margin-bottom: 0;\n position: relative;\n}\n@media (min-width: 960px) {\n article {\n margin-bottom: unset;\n }\n}\narticle .row {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n order: 2;\n}\narticle .row a {\n text-decoration: none;\n}\n@media (max-width: 599px) {\n article .row {\n margin: 0;\n max-width: 100%;\n }\n}\n@media (min-width: 600px) and (max-width: 959px) {\n article .row {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: calc(100% - 2 * var(--row-small-margin, 6.68%));\n }\n}\n@media (min-width: 600px) and (max-width: 959px) and (min-width: 600px) and (max-width: 959px) {\n article .row {\n width: calc(100% - 2 * 8.35%);\n }\n}\n@media (min-width: 600px) and (max-width: 959px) and (min-width: 1437px) {\n article .row {\n max-width: var(--row-max-width, 1436px);\n }\n article .row:not(.filtered-list) {\n width: 100%;\n }\n}\n@media only screen and (min-width: 600px) and (max-width: 959px) and (min-width: 960px) and (max-width: 1436px) {\n article .row {\n margin: 0 6.955%;\n max-width: calc(100% - 6.955% - 6.955%);\n }\n}\narticle .item {\n margin-bottom: 20px;\n position: relative;\n width: 100%;\n}\n@media (min-width: 600px) {\n article .item {\n padding: 0 20px;\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 20px;\n width: 100%;\n }\n}\n@media (min-width: 960px) {\n article .item {\n margin-bottom: 0;\n }\n}\narticle .item--left {\n order: 2;\n}\n@media (min-width: 960px) {\n article .item--left {\n order: unset;\n box-sizing: border-box;\n flex-basis: 33.3333333333%;\n max-width: 33.3333333333%;\n padding: 0 20px;\n width: 33.3333333333%;\n }\n}\n@media (max-width: 599px) {\n article .item--left {\n padding-left: 6.68%;\n padding-right: 6.68%;\n }\n}\n@media (min-width: 960px) {\n article .item--right {\n box-sizing: border-box;\n flex-basis: 50%;\n max-width: 50%;\n padding: 0 20px;\n width: 50%;\n }\n}\narticle jb-teaser-header {\n --display-teaser-text: none;\n}\n@media (min-width: 1281px) {\n article jb-teaser-header {\n --display-teaser-text: block;\n }\n}\narticle .link {\n display: block;\n margin-bottom: 24px;\n}\narticle:hover jb-picture {\n --transform-image: scale(1.05);\n}\narticle:hover jb-thumbnail {\n --transform-thumbnail: scale(1.05);\n}\n\n.headline-wrap {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: 100%;\n justify-content: center;\n}\n\njb-section-headline {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 0;\n width: 100%;\n margin-bottom: 60px;\n}\n@media (min-width: 600px) {\n jb-section-headline {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 20px;\n width: 100%;\n }\n}\n@media (min-width: 960px) {\n jb-section-headline {\n box-sizing: border-box;\n flex-basis: 83.3333333333%;\n max-width: 83.3333333333%;\n padding: 0 20px;\n width: 83.3333333333%;\n margin-bottom: 68px;\n }\n}`;\n\n// src/components/jb-article-wide/jb-article-wide.ts\nvar JbArticleWide = class extends Linkable(Spaceable(h)) {\n constructor() {\n super(...arguments);\n this.picture = void 0;\n }\n connectedCallback() {\n super.connectedCallback();\n this.link.name = this.articleTitle;\n }\n _getContentSpacingProperties() {\n return { colsMdUp: \"none\", horizontal: \"full-width-sm-down\", type: \"article-wide\" };\n }\n _renderArticleWide() {\n return ke``;\n }\n _renderPreview() {\n if (this.picture) {\n return ke``;\n }\n return null;\n }\n _renderTeaserHeader() {\n return ke``;\n }\n render() {\n return ke`\n
    \n ${this.headline ? ke`\n
    \n \n
    \n ` : D}\n ${this._renderArticleWide()}\n
    \n `;\n }\n};\nJbArticleWide.styles = r(jb_article_wide_default);\n__decorateClass([\n n()\n], JbArticleWide.prototype, \"articleTeaser\", 2);\n__decorateClass([\n n()\n], JbArticleWide.prototype, \"articleTitle\", 2);\n__decorateClass([\n n()\n], JbArticleWide.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbArticleWide.prototype, \"languageBadge\", 2);\n__decorateClass([\n n({ type: Object })\n], JbArticleWide.prototype, \"picture\", 2);\n__decorateClass([\n n({ type: Object })\n], JbArticleWide.prototype, \"teaserMeta\", 2);\nJbArticleWide = __decorateClass([\n customElement(\"jb-article-wide\")\n], JbArticleWide);\n\nexport {\n JbArticleWide\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n setLink\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n ChangesBackgroundColor\n} from \"./chunk.7ANACPIR.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-audio-player/jb-audio-player.scss?inline\nvar jb_audio_player_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nh4, p {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\np {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.063rem;\n line-height: 1.875rem;\n}\n@media (min-width: 1281px) {\n p {\n font-size: 1.188rem;\n line-height: 2.125rem;\n }\n}\n\nh4 {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.375rem;\n line-height: 1.75rem;\n}\n@media (min-width: 1281px) {\n h4 {\n font-size: 1.75rem;\n line-height: 2.5rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\n.description {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n}\n@media (min-width: 1281px) {\n .description {\n flex-wrap: nowrap;\n justify-content: center;\n margin-block: 0;\n margin-block-end: var(--spacing-sm);\n }\n}\n\n.links {\n gap: var(--spacing-l);\n margin-block-end: var(--spacing-sm);\n}\n@media (min-width: 1281px) {\n .links {\n gap: var(--spacing-sm);\n margin: 0;\n }\n}\n\n.links a {\n height: 24px;\n}\n\nsection {\n border: 1px solid #141e55;\n padding: 40px 30px;\n position: relative;\n}\n@media print {\n section {\n display: none;\n }\n}\n\nh4 {\n flex-basis: 100%;\n margin-block-end: var(--spacing-xs);\n}\n\np {\n flex-basis: 100%;\n margin-block-end: var(--spacing-sm);\n}\n@media (min-width: 1281px) {\n p {\n margin: 0;\n }\n}\n\ndiv {\n align-items: center;\n display: flex;\n justify-content: space-between;\n}\n\njb-play-pause-button {\n margin-right: 18px;\n}\n\njb-timer {\n flex-shrink: 0;\n margin-left: 7px;\n transform: translateY(-1px);\n width: 54px;\n}\n\ninput[type=range] {\n -webkit-appearance: none;\n appearance: none;\n background: transparent;\n cursor: pointer;\n width: 100%;\n}\n\ninput[type=range]::-moz-range-thumb {\n appearance: none;\n background-color: #141e55;\n height: 20px;\n width: 4px;\n}\n\ninput[type=range]::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n background-color: #141e55;\n height: 20px;\n transform: translateY(-9px);\n width: 4px;\n}\n\njb-listing-item {\n display: block;\n padding-top: var(--spacing-sm);\n}\n\n/***** Chrome, Safari, Opera, and Edge Chromium *****/\ninput[type=range]::-webkit-slider-runnable-track {\n background: rgba(20, 30, 85, 0.2);\n height: 2px;\n}\n\n/******** Firefox ********/\ninput[type=range]::-moz-range-track {\n background: rgba(20, 30, 85, 0.2);\n height: 2px;\n}`;\n\n// src/components/jb-audio-player/jb-audio-player.ts\nvar JbAudioPlayer = class extends ChangesBackgroundColor(Spaceable(h)) {\n constructor() {\n super(...arguments);\n this.ariaLabelPause = \"\";\n this.ariaLabelPlay = \"\";\n this.headline = \"\";\n this.intersectionObserver = new IntersectionObserver((entries) => {\n if (entries[0].intersectionRatio <= 0) return;\n this.intersectionObserver.unobserve(this);\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_audio\",\n event_version: \"v2\",\n component_name: \"audio-player\",\n file_name: this.src.split(\"/\").pop(),\n file_progress: \"visible\",\n file_type: this.src.split(\".\").pop()?.toLocaleLowerCase()\n },\n bubbles: true,\n composed: true\n })\n );\n });\n this.spriteSvgUrl = \"\";\n this._progress = 0;\n }\n update(changedProperties) {\n super.update(changedProperties);\n if (changedProperties.has(\"duration\")) {\n this._updateRemainingTime();\n }\n }\n async firstUpdated() {\n document.addEventListener(\"keydown\", (e2) => {\n if (e2.code === \"KeyM\") {\n this._audioElement.muted = !this._audioElement.muted;\n }\n if (e2.code === \"ArrowUp\") {\n this._audioElement.volume = Math.min(1, this._audioElement.volume + 0.1);\n }\n if (e2.code === \"ArrowDown\") {\n this._audioElement.volume = Math.max(0, this._audioElement.volume - 0.1);\n }\n });\n this._playPauseButton.setMediaElement(this._audioElement);\n this._boundDispatchStartEvent = this._dispatchStartEvent.bind(this);\n this._audioElement.addEventListener(\"play\", this._boundDispatchStartEvent);\n this.intersectionObserver.observe(this);\n }\n _dispatchPercentageEvent() {\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_audio\",\n event_version: \"v2\",\n component_name: \"audio-player\",\n file_name: this.src.split(\"/\").pop(),\n file_progress: this._progress + \"%\",\n file_type: this.src.split(\".\").pop()?.toLocaleLowerCase(),\n time_elapsed: Math.round(this.duration / 100 * this._progress)\n },\n bubbles: true,\n composed: true\n })\n );\n }\n _dispatchStartEvent() {\n this._audioElement.removeEventListener(\"play\", this._boundDispatchStartEvent);\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_audio\",\n event_version: \"v2\",\n component_name: \"audio-player\",\n file_name: this.src.split(\"/\").pop(),\n file_progress: \"start\",\n file_type: this.src.split(\".\").pop()?.toLocaleLowerCase()\n },\n bubbles: true,\n composed: true\n })\n );\n }\n _downloadClick(event) {\n event.stopPropagation();\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_download\",\n event_version: \"v2\",\n component_name: \"listing\",\n file_name: this.src.split(\"/\").pop(),\n file_type: this.src.split(\".\").pop()?.toLowerCase()\n },\n bubbles: true,\n composed: true\n })\n );\n }\n _getContentSpacingProperties() {\n if (this.noVerticalSpace) {\n return { type: \"no-vertical-space\" };\n }\n return { type: \"media\" };\n }\n _handleSeekInput() {\n this._audioElement.currentTime = parseInt(this._seek.value, 10);\n }\n _initializeAudioMetaData() {\n this.duration = Math.round(this._audioElement.duration);\n }\n _setPodcastLink(link, icon, ariaLabel) {\n const anchor = document.createElement(\"a\");\n setLink(anchor, link);\n anchor.innerHTML = icon;\n anchor.setAttribute(\"aria-label\", ariaLabel);\n anchor.setAttribute(\"title\", ariaLabel);\n return anchor;\n }\n _updateRemainingTime() {\n const currentTime = this._audioElement?.currentTime || 0;\n this._seek.value = Math.round(currentTime).toString();\n this._timer.seconds = -((this.duration || 0) - currentTime);\n const currentPercentagePlayed = this.duration > 0 ? Math.round(currentTime / this.duration * 10) * 10 : 0;\n if (currentPercentagePlayed > this._progress) {\n this._progress = currentPercentagePlayed;\n this._dispatchPercentageEvent();\n }\n }\n render() {\n return ke`\n
    \n ${this.headline ? ke`

    ${this.headline}

    ` : D}\n
    \n ${this.description ? ke`

    ${this.description}

    ` : D}\n ${this.spotifyPodcastLink?.href || this.applePodcastLink?.href ? ke`\n
    \n ${this.spotifyPodcastLink?.href ? this._setPodcastLink(this.spotifyPodcastLink, \"\", this.ariaLabelSpotifyPodcast) : D}\n ${this.applePodcastLink?.href ? this._setPodcastLink(this.applePodcastLink, \"\", this.ariaLabelApplePodcast) : D}\n
    \n ` : D}\n
    \n\n
    \n \n \n \n
    \n \n \n \n ${this.downloadText ? ke`\n \n ` : D}\n
    \n `;\n }\n};\nJbAudioPlayer.styles = r(jb_audio_player_default);\n__decorateClass([\n n({ type: Object })\n], JbAudioPlayer.prototype, \"applePodcastLink\", 2);\n__decorateClass([\n n()\n], JbAudioPlayer.prototype, \"ariaLabelApplePodcast\", 2);\n__decorateClass([\n n()\n], JbAudioPlayer.prototype, \"ariaLabelPause\", 2);\n__decorateClass([\n n()\n], JbAudioPlayer.prototype, \"ariaLabelPlay\", 2);\n__decorateClass([\n n()\n], JbAudioPlayer.prototype, \"ariaLabelSeek\", 2);\n__decorateClass([\n n()\n], JbAudioPlayer.prototype, \"ariaLabelSpotifyPodcast\", 2);\n__decorateClass([\n n()\n], JbAudioPlayer.prototype, \"description\", 2);\n__decorateClass([\n n()\n], JbAudioPlayer.prototype, \"downloadText\", 2);\n__decorateClass([\n n({ type: Number })\n], JbAudioPlayer.prototype, \"duration\", 2);\n__decorateClass([\n n()\n], JbAudioPlayer.prototype, \"fileDate\", 2);\n__decorateClass([\n n()\n], JbAudioPlayer.prototype, \"fileId\", 2);\n__decorateClass([\n n()\n], JbAudioPlayer.prototype, \"fileSize\", 2);\n__decorateClass([\n n()\n], JbAudioPlayer.prototype, \"fileType\", 2);\n__decorateClass([\n n()\n], JbAudioPlayer.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbAudioPlayer.prototype, \"mimeType\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbAudioPlayer.prototype, \"noVerticalSpace\", 2);\n__decorateClass([\n n({ type: Object })\n], JbAudioPlayer.prototype, \"spotifyPodcastLink\", 2);\n__decorateClass([\n n()\n], JbAudioPlayer.prototype, \"spriteSvgUrl\", 2);\n__decorateClass([\n n()\n], JbAudioPlayer.prototype, \"src\", 2);\n__decorateClass([\n e(\"audio\")\n], JbAudioPlayer.prototype, \"_audioElement\", 2);\n__decorateClass([\n e(\"jb-play-pause-button\")\n], JbAudioPlayer.prototype, \"_playPauseButton\", 2);\n__decorateClass([\n e(\"input\")\n], JbAudioPlayer.prototype, \"_seek\", 2);\n__decorateClass([\n e(\"jb-timer\")\n], JbAudioPlayer.prototype, \"_timer\", 2);\nJbAudioPlayer = __decorateClass([\n customElement(\"jb-audio-player\")\n], JbAudioPlayer);\n\nexport {\n JbAudioPlayer\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-spotify-icon/jb-spotify-icon.scss?inline\nvar jb_spotify_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n cursor: pointer;\n display: inline-flex;\n}\n\nsvg {\n fill: currentcolor;\n height: var(--icon-height, 24px);\n width: var(--icon-width, 24px);\n}`;\n\n// src/components/icons/jb-spotify-icon/jb-spotify-icon.ts\nvar JbSpotifyIcon = class extends h {\n render() {\n return ke`\n \n \n \n `;\n }\n};\nJbSpotifyIcon.styles = r(jb_spotify_icon_default);\nJbSpotifyIcon = __decorateClass([\n customElement(\"jb-spotify-icon\")\n], JbSpotifyIcon);\n\nexport {\n JbSpotifyIcon\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-apple-podcast-icon/jb-apple-podcast-icon.scss?inline\nvar jb_apple_podcast_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n cursor: pointer;\n display: inline-flex;\n}\n\nsvg {\n fill: currentcolor;\n height: var(--icon-height, 24px);\n width: var(--icon-width, 24px);\n}`;\n\n// src/components/icons/jb-apple-podcast-icon/jb-apple-podcast-icon.ts\nvar JbApplePodcastIcon = class extends h {\n render() {\n return ke`\n \n \n \n \n \n \n `;\n }\n};\nJbApplePodcastIcon.styles = r(jb_apple_podcast_icon_default);\nJbApplePodcastIcon = __decorateClass([\n customElement(\"jb-apple-podcast-icon\")\n], JbApplePodcastIcon);\n\nexport {\n JbApplePodcastIcon\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-timer/jb-timer.scss?inline\nvar jb_timer_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\ndiv {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\ndiv {\n color: #141e55;\n font-size: 0.813rem;\n}\ndiv.right-aligned {\n text-align: right;\n}`;\n\n// src/components/jb-timer/jb-timer.ts\nvar JbTimer = class extends h {\n constructor() {\n super(...arguments);\n this.align = \"left\";\n }\n update(changedProperties) {\n super.update(changedProperties);\n if (changedProperties.has(\"seconds\")) {\n this._displayMinutes = Math.floor(Math.abs(this.seconds) / 60).toString().padStart(2, \"0\");\n this._displaySeconds = Math.round(Math.abs(this.seconds) % 60).toString().padStart(2, \"0\");\n }\n }\n render() {\n return ke`
    \n ${this.seconds < 0 ? \"-\" : \"\"}${this._displayMinutes}:${this._displaySeconds}\n
    `;\n }\n};\nJbTimer.styles = r(jb_timer_default);\n__decorateClass([\n n()\n], JbTimer.prototype, \"align\", 2);\n__decorateClass([\n n({ type: Number })\n], JbTimer.prototype, \"seconds\", 2);\n__decorateClass([\n r2()\n], JbTimer.prototype, \"_displayMinutes\", 2);\n__decorateClass([\n r2()\n], JbTimer.prototype, \"_displaySeconds\", 2);\nJbTimer = __decorateClass([\n customElement(\"jb-timer\")\n], JbTimer);\n\nexport {\n JbTimer\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-play-pause-button/jb-play-pause-button.scss?inline\nvar jb_play_pause_button_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n --border-width: 2px;\n --icon-size: 16px;\n --icon-size-lg: 24px;\n --size: 40px;\n --size-lg: 64px;\n}\n\nbutton {\n align-items: center;\n background-color: transparent;\n block-size: var(--size);\n border: var(--border-width) solid var(--stroke-color, rgb(var(--rgb-primary, 20, 30, 85)));\n cursor: pointer;\n display: flex;\n inline-size: var(--size);\n justify-content: center;\n position: relative;\n transform: scale(1);\n transform-origin: 65% 50%;\n transition: transform 0.7s ease 0s;\n}\n@media (min-width: 1281px) {\n button {\n block-size: var(--size-lg);\n inline-size: var(--size-lg);\n }\n}\nbutton:hover {\n transform: scale3d(1.05, 1.05, 1);\n}\nbutton svg {\n block-size: var(--icon-size);\n fill: var(--stroke-color, rgb(var(--rgb-primary, 20, 30, 85)));\n inline-size: var(--icon-size);\n}\n@media (min-width: 1281px) {\n button svg {\n block-size: var(--icon-size-lg);\n inline-size: var(--icon-size-lg);\n }\n}\nbutton:not(.playing) svg.pause {\n display: none;\n}\nbutton.playing svg.play {\n display: none;\n}`;\n\n// src/components/jb-play-pause-button/jb-play-pause-button.ts\nvar JbPlayPauseButton = class extends h {\n constructor() {\n super(...arguments);\n this.spriteSvgUrl = \"\";\n this._playing = false;\n }\n setMediaElement(mediaElement) {\n this._mediaElement = mediaElement;\n this._mediaElement.addEventListener(\"play\", () => {\n this._playing = true;\n });\n this._mediaElement.addEventListener(\"pause\", () => {\n this._playing = false;\n });\n this._mediaElement.addEventListener(\"ended\", () => {\n this._playing = false;\n });\n }\n _click() {\n if (!this._mediaElement) {\n return;\n }\n this._playing = !this._playing;\n if (this._playing) {\n this._mediaElement.play();\n } else {\n this._mediaElement.pause();\n }\n }\n _renderPauseButton() {\n if (this.spriteSvgUrl) {\n return ke` `;\n }\n return ke`\n \n \n \n \n `;\n }\n _renderPlayButton() {\n if (this.spriteSvgUrl) {\n return ke` `;\n }\n return ke`\n \n \n \n `;\n }\n render() {\n return ke`\n ${this._renderPlayButton()} ${this._renderPauseButton()}\n `;\n }\n};\nJbPlayPauseButton.styles = r(jb_play_pause_button_default);\n__decorateClass([\n n()\n], JbPlayPauseButton.prototype, \"ariaLabelPause\", 2);\n__decorateClass([\n n()\n], JbPlayPauseButton.prototype, \"ariaLabelPlay\", 2);\n__decorateClass([\n n()\n], JbPlayPauseButton.prototype, \"spriteSvgUrl\", 2);\n__decorateClass([\n r2()\n], JbPlayPauseButton.prototype, \"_playing\", 2);\nJbPlayPauseButton = __decorateClass([\n customElement(\"jb-play-pause-button\")\n], JbPlayPauseButton);\n\nexport {\n JbPlayPauseButton\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Filterable\n} from \"./chunk.TOSSI7AO.js\";\nimport {\n Linkable,\n getLinkIcon\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-listing-item/jb-listing-item.scss?inline\nvar jb_listing_item_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n.animate {\n -moz-osx-font-smoothing: grayscale;\n overflow: hidden;\n position: relative;\n transform: translateZ(0);\n}\n.animate::before {\n animation-direction: reverse;\n background-color: rgba(241, 242, 242, 0.3);\n bottom: 0;\n content: \"\";\n height: 66%;\n left: 0;\n position: absolute;\n transition: height 0.9s ease-out 0.2s;\n width: 1px;\n}\n.animate::after {\n background: #fff;\n bottom: 0;\n content: \"\";\n height: 1px;\n left: 0;\n position: absolute;\n right: 50%;\n transition: right 0.9s ease-out 0.2s;\n}\n\n/* stylelint-disable */\n/* stylelint-enable */\n.second-line {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\n.list-item {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.second-line {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.063rem;\n line-height: 1rem;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\n.list-item {\n color: #141e55;\n display: block;\n font-size: 1rem;\n line-height: 1.625rem;\n position: relative;\n}\n.list-item::before {\n background: rgba(20, 30, 85, 0.2);\n block-size: 1px;\n content: \"\";\n inline-size: 100%;\n inset-block-end: 0;\n position: absolute;\n}\n\n.animate::before {\n background: rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n block-size: 1px;\n content: \"\";\n inline-size: 100%;\n inset-block-end: 0;\n position: absolute;\n}\n.animate::after {\n background: #141e55;\n inset-inline-end: 100%;\n transition-delay: 0s;\n transition-duration: 0.8s;\n transition-timing-function: ease-in-out;\n}\n.animate:hover::before {\n background: rgba(20, 30, 85, 0.2);\n block-size: 1px;\n content: \"\";\n inline-size: 100%;\n inset-block-end: 0;\n position: absolute;\n}\n.animate:hover::after {\n background: #141e55;\n inset-inline: 0;\n transition-delay: 0s;\n transition-duration: 0.5s;\n transition-timing-function: ease-in-out;\n}\n\na {\n color: inherit;\n display: grid;\n gap: 0 40px;\n grid-template-columns: auto min-content;\n padding-block-end: 10px;\n padding-inline-end: 4px;\n text-decoration: none;\n}\n\n.icon {\n display: flex;\n padding-block-start: 4px;\n}\n\n.filetype {\n text-transform: uppercase;\n}`;\n\n// src/components/jb-listing-item/jb-listing-item.ts\nvar JbListingItem = class extends Filterable(Linkable(h)) {\n updated(changedProperties) {\n super.updated(changedProperties);\n if (!changedProperties.has(\"link\") && !changedProperties.has(\"type\")) {\n return;\n }\n const target = this.link?.target || this.link?.data?.type === \"external\" ? \"_blank\" : void 0;\n const download = !this.link?.target && this.link?.data?.type === \"download\";\n if (!this.link || target === this.link.target && download === this.link.download) {\n return;\n }\n this.link = { ...this.link, download, target };\n }\n render() {\n return ke`\n \n `;\n }\n};\nJbListingItem.styles = r(jb_listing_item_default);\n__decorateClass([\n n()\n], JbListingItem.prototype, \"date\", 2);\n__decorateClass([\n n({ type: Object })\n], JbListingItem.prototype, \"file\", 2);\n__decorateClass([\n n()\n], JbListingItem.prototype, \"text\", 2);\nJbListingItem = __decorateClass([\n customElement(\"jb-listing-item\")\n], JbListingItem);\n\nexport {\n JbListingItem\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-article-page-hero/jb-article-page-hero.scss?inline\nvar jb_article_page_hero_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.article-meta__time-icon, .article-meta__author-inner, .article-meta {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\n.caption, .credit, .text, .text-wrap .text, h1 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh1 {\n font-size: var(--theme-typo-h1-mobile-fontsize, 2.125rem);\n line-height: var(--theme-typo-h1-mobile-lineheight, 2.75rem);\n}\n@media (min-width: 1281px) {\n h1 {\n font-size: var(--theme-typo-h1-desktop-fontsize, 3.125rem);\n line-height: var(--theme-typo-h1-desktop-lineheight, 4.375rem);\n }\n}\n\n.text-wrap .text {\n font-size: var(--theme-typo-p-big-mobile-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-big-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n .text-wrap .text {\n font-size: var(--theme-typo-p-big-desktop-fontsize, 1.375rem);\n line-height: var(--theme-typo-p-big-desktop-lineheight, 2.125rem);\n }\n}\n\n.text {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\n\n.credit {\n font-size: var(--theme-typo-p-mini-desktop-fontsize, 0.813rem);\n line-height: var(--theme-typo-p-mini-desktop-lineheight, 1.25rem);\n}\n\n.article-meta {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.063rem;\n line-height: 1rem;\n}\n\n.caption {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.313rem;\n line-height: 2.125rem;\n}\n@media (min-width: 1281px) {\n .caption {\n font-size: 1.5rem;\n line-height: 2.25rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n --button-width: 100%;\n}\n\n.media-image__wrap {\n position: relative;\n}\n\nh1 {\n padding-bottom: 20px;\n}\n\n.media-image-wrap {\n margin-bottom: 68px;\n width: 100%;\n}\n@media (max-width: 1280px) {\n .media-image-wrap {\n margin-bottom: 40px;\n }\n}\n\n@media (min-width: 960px) {\n .text-wrap {\n margin-left: 8.3333333333%;\n box-sizing: border-box;\n flex-basis: 83.3333333333%;\n max-width: 83.3333333333%;\n padding: 0 20px;\n width: 83.3333333333%;\n }\n}\n@media (min-width: 960px) and (max-width: 1280px) {\n .text-wrap {\n margin-bottom: 50px;\n padding: 0 20px;\n }\n}\n@media (min-width: 600px) and (max-width: 959px) {\n .text-wrap {\n margin-bottom: 30px;\n }\n}\n@media (max-width: 599px) {\n .text-wrap {\n margin-bottom: 30px;\n }\n}\n.text-wrap .text p + p {\n margin-top: 30px;\n}\n\n@media (max-width: 959px) {\n .push-left {\n margin-bottom: 5px;\n }\n}\n@media (max-width: 599px) {\n .push-left {\n margin-bottom: 10px;\n }\n}\n.push-left jb-breadcrumbs {\n display: block;\n margin-bottom: 40px;\n text-align: left;\n}\n@media (max-width: 959px) {\n .push-left jb-breadcrumbs {\n margin-bottom: 24px;\n text-align: center;\n }\n}\n.push-left .media-image-aspect {\n height: 100%;\n left: calc(-50vw + 50%);\n margin-bottom: 16px;\n max-width: 1600px;\n position: relative;\n width: calc(50vw + 50%);\n}\n@media (min-width: 960px) and (max-width: 1280px) {\n .push-left .media-image-aspect {\n margin-bottom: 16px;\n }\n}\n@media (max-width: 959px) {\n .push-left .media-image-aspect {\n margin-bottom: 16px;\n top: 0;\n width: 100%;\n width: 100vw;\n }\n}\n@media (max-width: 599px) {\n .push-left .media-image-aspect::before {\n padding-bottom: 56.25%;\n }\n}\n@media only screen and (width >= 2043px) {\n .push-left .media-image-aspect {\n left: calc(-1600px + 100%);\n }\n}\n@media screen and (width >= 2000px) {\n .push-left .media-image-aspect img {\n max-width: 1600px;\n position: absolute;\n right: 0;\n width: 1600px;\n }\n}\n@media (max-width: 959px) {\n .push-left .column {\n padding: 0;\n }\n}\n\n.caption {\n margin-top: 16px;\n}\n\n.text {\n margin-top: 16px;\n}\n\n.credit {\n margin-top: var(--image-credit-margin-top, 10px);\n}\n\njb-date {\n display: inline-block;\n}\n\n.article-meta {\n display: flex;\n flex-wrap: wrap;\n margin-bottom: 32px;\n line-height: 20px;\n line-height: 1.25rem;\n}\n@media (min-width: 1281px) {\n .article-meta {\n margin-bottom: 40px;\n }\n}\n@media (max-width: 959px) {\n .article-meta {\n flex-direction: column;\n }\n}\n.article-meta__author {\n display: inline-block;\n margin-right: 18px;\n}\n.article-meta__author-inner {\n color: #141e55;\n display: inline-block;\n opacity: 0.7;\n text-transform: uppercase;\n}\n.article-meta__time-wrapper {\n align-items: center;\n display: flex;\n}\n.article-meta__time-icon {\n height: 20px;\n margin-right: 10px;\n opacity: 1;\n width: 20px;\n}\n.article-meta__time {\n color: #141e55;\n display: inline-block;\n text-transform: uppercase;\n}\n@media (max-width: 959px) {\n .article-meta__time {\n position: relative;\n top: 5px;\n }\n}\n.article-meta__time-text {\n opacity: 0.7;\n}\n\n@media print {\n .article-meta {\n align-items: center;\n flex-direction: row;\n }\n .push-left .media-image-aspect {\n left: 0;\n width: 100%;\n }\n jb-breadcrumbs-back-link {\n display: none;\n }\n}`;\n\n// src/components/jb-article-page-hero/jb-article-page-hero.ts\nvar JbArticlePageHero = class extends Spaceable(h) {\n _getContentSpacingProperties() {\n return {\n colsMdUp: 10,\n type: \"text\"\n };\n }\n render() {\n return ke`\n
    \n
    \n ${this.breadcrumbs && ke`\n \n ${this.breadcrumbs.backlink && ke``}\n ${this.breadcrumbs.items?.map(\n (breadcrumb) => ke``\n )}\n \n `}\n ${this.headline && ke`

    ${this.headline}

    `}\n
    \n
    \n
    \n ${this.date && ke``} ${this.author && ke`${this.author}`}\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    ${this.readingTime && ke`${this.readingTime}`}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n ${this.image.caption && ke`

    ${this.image.caption}

    `}\n ${this.image.text && ke`

    ${this.image.text}

    `}\n ${this.image.credit && ke`

    ${this.image.credit}

    `}\n
    \n
    \n\n
    \n
    ${this.text && ke`

    ${this.text}

    `}
    \n
    \n
    \n `;\n }\n};\nJbArticlePageHero.styles = r(jb_article_page_hero_default);\n__decorateClass([\n n()\n], JbArticlePageHero.prototype, \"author\", 2);\n__decorateClass([\n n({ type: Object })\n], JbArticlePageHero.prototype, \"breadcrumbs\", 2);\n__decorateClass([\n n()\n], JbArticlePageHero.prototype, \"date\", 2);\n__decorateClass([\n n()\n], JbArticlePageHero.prototype, \"headline\", 2);\n__decorateClass([\n n({ type: Object })\n], JbArticlePageHero.prototype, \"image\", 2);\n__decorateClass([\n n()\n], JbArticlePageHero.prototype, \"readingTime\", 2);\n__decorateClass([\n n()\n], JbArticlePageHero.prototype, \"text\", 2);\nJbArticlePageHero = __decorateClass([\n customElement(\"jb-article-page-hero\")\n], JbArticlePageHero);\n\nexport {\n JbArticlePageHero\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-image/jb-image.scss?inline\nvar jb_image_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.caption, .credit, .text {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.text {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--text-opacity, var(--theme-opacity-80, 0.8)));\n font-size: 1rem;\n line-height: 1.625rem;\n}\n\n.credit {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--text-opacity, var(--theme-opacity-70, 0.7)));\n font-size: 0.813rem;\n line-height: 1.25rem;\n}\n\n.caption {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.313rem;\n line-height: 2.125rem;\n}\n@media (min-width: 1281px) {\n .caption {\n font-size: 1.5rem;\n line-height: 2.25rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\n@media (max-width: 599px) {\n p {\n margin-left: var(--paragraphs-margin-left, var(--row-small-margin, 6.68%));\n margin-right: var(--paragraphs-margin-right, var(--row-small-margin, 6.68%));\n }\n}\n@media (min-width: 600px) and (max-width: 959px) {\n p {\n margin-left: var(--paragraphs-margin-left, calc(8.35% + 20px));\n margin-right: var(--paragraphs-margin-right, calc(8.35% + 20px));\n }\n}\n\n.caption {\n font-size: var(--image-caption-font-size, 1.313rem);\n line-height: var(--image-caption-line-height, 2.125rem);\n margin-top: var(--image-caption-margin-top, 16px);\n}\n@media (min-width: 1281px) {\n .caption {\n font-size: var(--image-caption-font-size, 1.5rem);\n line-height: var(--image-caption-line-height, 2.25rem);\n }\n}\n\n.text {\n margin-top: 16px;\n}\n\n.credit {\n color: rgba(20, 30, 85, 0.7);\n margin-top: var(--image-credit-margin-top, 5px);\n}`;\n\n// src/components/jb-image/jb-image.ts\nvar JbImage = class extends Spaceable(h) {\n _getContentSpacingProperties() {\n return { type: \"media\" };\n }\n render() {\n return ke`\n
    \n \n ${this.caption ? ke`

    ${this.caption}

    ` : D}\n ${this.text ? ke`

    ${this.text}

    ` : D}\n ${this.credit ? ke`

    ${this.credit}

    ` : D}\n
    \n `;\n }\n};\nJbImage.styles = r(jb_image_default);\n__decorateClass([\n n()\n], JbImage.prototype, \"caption\", 2);\n__decorateClass([\n n()\n], JbImage.prototype, \"credit\", 2);\n__decorateClass([\n n({ type: Object })\n], JbImage.prototype, \"picture\", 2);\n__decorateClass([\n n()\n], JbImage.prototype, \"text\", 2);\nJbImage = __decorateClass([\n customElement(\"jb-image\")\n], JbImage);\n\nexport {\n JbImage\n};\n", "import {\n jbLinkClickedEventToJbTrackingEvent\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-breadcrumbs/jb-breadcrumbs.scss?inline\nvar jb_breadcrumbs_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n@media (min-width: 960px) {\n ::slotted(jb-breadcrumbs-back-link) {\n display: none;\n }\n}\n\n@media (max-width: 959px) {\n ::slotted(jb-breadcrumbs-item) {\n display: none;\n }\n}\n\n::slotted(jb-breadcrumbs-item:not(:first-of-type)) {\n --padding-left: 20px;\n}\n\n::slotted(jb-breadcrumbs-item:not(:last-of-type)) {\n --dot-display: inline-block;\n}`;\n\n// src/components/jb-breadcrumbs/jb-breadcrumbs.ts\nvar JbBreadcrumbs = class extends h {\n _tracking(e) {\n const jbTrackingEvent = jbLinkClickedEventToJbTrackingEvent(e, {\n component_name: \"breadcrumb\",\n interaction_text: e.detail.linkTag.innerText\n });\n if (jbTrackingEvent) {\n this.dispatchEvent(jbTrackingEvent);\n }\n }\n // eslint-disable-next-line class-methods-use-this\n render() {\n return ke`\n
    \n \n
      \n \n
    \n
    \n `;\n }\n};\nJbBreadcrumbs.styles = r(jb_breadcrumbs_default);\nJbBreadcrumbs = __decorateClass([\n customElement(\"jb-breadcrumbs\")\n], JbBreadcrumbs);\n\nexport {\n JbBreadcrumbs\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Linkable\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-breadcrumbs-item/jb-breadcrumbs-item.scss?inline\nvar jb_breadcrumbs_item_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nspan {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\nspan {\n font-size: var(--theme-typo-uppercase-700-fontsize, 0.688rem);\n letter-spacing: var(--theme-typo-uppercase-700-letterspacing, 0.063rem);\n line-height: var(--theme-typo-uppercase-700-lineheight, 1rem);\n text-transform: uppercase;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nli {\n display: inline-block;\n padding-left: var(--padding-left, 0);\n position: relative;\n}\nli.disabled {\n pointer-events: none;\n}\nli ::after {\n background-color: rgb(var(--rgb-primary, 20, 30, 85));\n border-radius: 100%;\n content: \"\";\n display: var(--dot-display, none);\n height: 3px;\n position: absolute;\n right: -13px;\n top: 53%;\n transform: translateY(-53%);\n width: 3px;\n}\n\na {\n text-decoration: none;\n}\n\nspan {\n transition: opacity 0.4s ease-in-out 0s;\n}\nli.disabled span, span:hover {\n opacity: 0.4;\n}`;\n\n// src/components/jb-breadcrumbs-item/jb-breadcrumbs-item.ts\nvar JbBreadcrumbsItem = class extends Linkable(h) {\n render() {\n return ke`\n \n ${this.text}\n \n `;\n }\n};\nJbBreadcrumbsItem.styles = r(jb_breadcrumbs_item_default);\n__decorateClass([\n n()\n], JbBreadcrumbsItem.prototype, \"text\", 2);\nJbBreadcrumbsItem = __decorateClass([\n customElement(\"jb-breadcrumbs-item\")\n], JbBreadcrumbsItem);\n\nexport {\n JbBreadcrumbsItem\n};\n", "import {\n Linkable\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-breadcrumbs-back-link/jb-breadcrumbs-back-link.scss?inline\nvar jb_breadcrumbs_back_link_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\na {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\na {\n font-size: var(--theme-typo-uppercase-700-fontsize, 0.688rem);\n letter-spacing: var(--theme-typo-uppercase-700-letterspacing, 0.063rem);\n line-height: var(--theme-typo-uppercase-700-lineheight, 1rem);\n text-transform: uppercase;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\na {\n align-items: center;\n display: inline-flex;\n flex-direction: row-reverse;\n gap: var(--spacing-3xs);\n text-decoration: none;\n}\n\nsvg {\n display: inline-block;\n fill: rgb(var(--rgb-primary, 20, 30, 85));\n flex-shrink: 0;\n}`;\n\n// src/components/jb-breadcrumbs-back-link/jb-breadcrumbs-back-link.ts\nvar JbBreadcrumbsBackLink = class extends Linkable(h) {\n render() {\n return ke`\n \n ${this.text}\n \n \n \n \n \n \n \n `;\n }\n};\nJbBreadcrumbsBackLink.styles = r(jb_breadcrumbs_back_link_default);\n__decorateClass([\n n()\n], JbBreadcrumbsBackLink.prototype, \"text\", 2);\nJbBreadcrumbsBackLink = __decorateClass([\n customElement(\"jb-breadcrumbs-back-link\")\n], JbBreadcrumbsBackLink);\n\nexport {\n JbBreadcrumbsBackLink\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Linkable\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-article-row/jb-article-row.scss?inline\nvar jb_article_row_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\naside {\n overflow: hidden;\n position: relative;\n}\naside .title_wrap {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: calc(100% - 2 * var(--row-small-margin, 6.68%));\n justify-content: center;\n}\n@media (min-width: 600px) and (max-width: 959px) {\n aside .title_wrap {\n width: calc(100% - 2 * 8.35%);\n }\n}\n@media (min-width: 1437px) {\n aside .title_wrap {\n max-width: var(--row-max-width, 1436px);\n }\n aside .title_wrap:not(.filtered-list) {\n width: 100%;\n }\n}\n@media only screen and (min-width: 960px) and (max-width: 1436px) {\n aside .title_wrap {\n margin: 0 6.955%;\n max-width: calc(100% - 6.955% - 6.955%);\n }\n}\naside .title_content {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 0;\n width: 100%;\n margin-bottom: 60px;\n}\n@media (min-width: 600px) {\n aside .title_content {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 20px;\n width: 100%;\n }\n}\n@media (min-width: 1281px) {\n aside .title_content {\n margin-bottom: 68px;\n }\n}\naside jb-section-headline {\n margin-top: 0;\n}\naside .button_container {\n margin-top: 60px;\n text-align: center;\n}\n@media (min-width: 1281px) {\n aside .button_container {\n margin-top: 68px;\n }\n}\naside .cardcontainer {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: 100%;\n justify-content: center;\n}\naside .cardcontainer.vertical jb-article-card {\n --article-card-bottom: 34px;\n flex-basis: 100%;\n}\naside .twocards jb-article-card {\n --article-card-bottom: 40px;\n}\n@media (min-width: 600px) {\n aside .twocards jb-article-card {\n box-sizing: border-box;\n flex-basis: 50%;\n max-width: 50%;\n padding: 0 20px;\n width: 50%;\n --article-card-bottom: 0;\n }\n}\n@media (min-width: 960px) {\n aside .twocards jb-article-card {\n box-sizing: border-box;\n flex-basis: 41.6666666667%;\n max-width: 41.6666666667%;\n padding: 0 20px;\n width: 41.6666666667%;\n }\n}\naside .morecards jb-article-card:last-of-type {\n --article-card-bottom: 0;\n}\n@media (min-width: 600px) {\n aside .morecards jb-article-card {\n --article-card-bottom: 0;\n box-sizing: border-box;\n flex-basis: 50%;\n max-width: 50%;\n padding: 0 20px;\n width: 50%;\n }\n aside .morecards jb-article-card:nth-of-type(n + 3) {\n padding-top: 60px;\n }\n}\n@media (min-width: 600px) and (max-width: 959px) {\n aside .morecards jb-article-card:nth-of-type(odd) {\n padding-left: 0;\n }\n aside .morecards jb-article-card:nth-of-type(even) {\n padding-right: 0;\n }\n}\n@media (min-width: 960px) {\n aside .morecards jb-article-card {\n box-sizing: border-box;\n flex-basis: 33.3333333333%;\n max-width: 33.3333333333%;\n padding: 0 20px;\n width: 33.3333333333%;\n }\n aside .morecards jb-article-card:nth-of-type(n + 3) {\n padding-top: 0;\n }\n aside .morecards jb-article-card:nth-of-type(n + 4) {\n padding-top: 68px;\n }\n}\n\n@media print {\n :host {\n break-inside: avoid;\n }\n}`;\n\n// src/components/jb-article-row/jb-article-row.ts\nvar JbArticleRow = class extends Linkable(Spaceable(h)) {\n constructor() {\n super(...arguments);\n this.direction = \"horizontal\";\n this._isDisabled = false;\n }\n _getContentSpacingProperties() {\n return { colsMdUp: \"none\" };\n }\n _loadMoreArticles(event) {\n event.detail.clickEvent.preventDefault();\n this._isDisabled = true;\n fetch(this.loadMoreUrl).then((response) => response.json()).then((data) => this._populateFetchedArticleData(data));\n }\n _populateFetchedArticleData(data) {\n [...data.items].forEach((item) => {\n const newItem = {\n teaserHeader: {\n headline: item.title\n },\n teaserMeta: {\n date: item.date,\n category: item.mainTag.title,\n link: {\n href: item.mainTag.url\n },\n time: item.readingTime\n },\n link: {\n href: item.url\n }\n };\n switch (item.type) {\n case \"image\":\n newItem.teaserHeader.picture = {\n alt: item.title,\n imgData: item.picture\n };\n break;\n case \"video\":\n newItem.teaserHeader.thumbnail = {\n backgroundPicture: {\n alt: item.title,\n imgData: item.picture\n },\n aspect: \"aspect_3by2\",\n type: \"video\"\n };\n break;\n case \"audio\":\n newItem.teaserHeader.thumbnail = {\n backgroundPicture: {\n alt: item.title,\n imgData: item.picture\n },\n aspect: \"aspect_3by2\",\n type: \"audio\"\n };\n break;\n case \"video-preview\":\n newItem.teaserHeader.thumbnail = {\n videoSrc: item.previewVideo,\n type: \"video\",\n aspect: \"aspect_3by2\"\n };\n break;\n default:\n break;\n }\n this.articleCards?.push(newItem);\n });\n this._isDisabled = false;\n this.loadMoreUrl = data.nextUrl;\n }\n _renderArticles() {\n return this.articleCards.map(\n (articleCard) => ke`\n \n `\n );\n }\n _renderButton() {\n if (this.loadMoreUrl && this.buttonText) {\n return ke`${this.buttonText}`;\n }\n if (this.link && this.buttonText) {\n return ke`${this.buttonText}`;\n }\n return \"\";\n }\n render() {\n const map = {\n cardcontainer: true,\n morecards: this.direction !== \"vertical\" && this.articleCards.length > 2,\n twocards: this.direction !== \"vertical\" && this.articleCards.length <= 2,\n vertical: this.direction === \"vertical\"\n };\n return ke`\n \n `;\n }\n};\nJbArticleRow.styles = r(jb_article_row_default);\n__decorateClass([\n n({ type: Array })\n], JbArticleRow.prototype, \"articleCards\", 2);\n__decorateClass([\n n()\n], JbArticleRow.prototype, \"buttonText\", 2);\n__decorateClass([\n n()\n], JbArticleRow.prototype, \"direction\", 2);\n__decorateClass([\n n()\n], JbArticleRow.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbArticleRow.prototype, \"loadMoreUrl\", 2);\n__decorateClass([\n r2()\n], JbArticleRow.prototype, \"_isDisabled\", 2);\nJbArticleRow = __decorateClass([\n customElement(\"jb-article-row\")\n], JbArticleRow);\n\nexport {\n JbArticleRow\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-section-headline/jb-section-headline.scss?inline\nvar jb_section_headline_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nspan, h2 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh2 {\n font-size: var(--theme-typo-h2-section-title-mobile-fontsize, 1.5rem);\n letter-spacing: var(--theme-typo-h2-section-title-mobile-letterspacing, 0.125rem);\n line-height: var(--theme-typo-h2-section-title-mobile-lineheight, 2.25rem);\n}\n@media (min-width: 1281px) {\n h2 {\n font-size: var(--theme-typo-h2-section-title-desktop-fontsize, 1.938rem);\n letter-spacing: var(--theme-typo-h2-section-title-desktop-letterspacing, 0.25rem);\n line-height: var(--theme-typo-h2-section-title-desktop-lineheight, 2.5rem);\n }\n}\n\nspan {\n font-size: var(--theme-typo-p-mini-desktop-fontsize, 0.813rem);\n line-height: var(--theme-typo-p-mini-desktop-lineheight, 1.25rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\ndiv {\n align-items: center;\n display: flex;\n flex-direction: column;\n position: relative;\n}\n\nh2 {\n letter-spacing: var(--headline-letter-spacing, 2px);\n min-width: 100%;\n text-align: var(--headline-text-align, center);\n text-transform: var(--headline-text-transform, uppercase);\n}\n.left h2 {\n --headline-text-align: left;\n}\n@media (min-width: 1281px) {\n h2 {\n letter-spacing: var(--headline-letter-spacing, 4px);\n }\n}\n\nspan {\n background-color: rgba(113, 124, 125, 0.1);\n color: #141e55;\n display: inline-block;\n margin-top: 23px;\n padding: 3px 8px;\n text-transform: uppercase;\n}\n@media (min-width: 600px) {\n span {\n margin-top: 3px;\n position: absolute;\n right: 0;\n }\n}`;\n\n// src/components/jb-section-headline/jb-section-headline.ts\nvar JbSectionHeadline = class extends h {\n render() {\n return ke`
    \n

    ${this.headline}

    \n ${this.languageBadge ? ke`${this.languageBadge}` : D}\n
    `;\n }\n};\nJbSectionHeadline.styles = r(jb_section_headline_default);\n__decorateClass([\n n()\n], JbSectionHeadline.prototype, \"headline\", 2);\n__decorateClass([\n n()\n], JbSectionHeadline.prototype, \"headlineAlign\", 2);\n__decorateClass([\n n()\n], JbSectionHeadline.prototype, \"languageBadge\", 2);\nJbSectionHeadline = __decorateClass([\n customElement(\"jb-section-headline\")\n], JbSectionHeadline);\n\nexport {\n JbSectionHeadline\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-article-tool-bar/jb-article-tool-bar.scss?inline\nvar jb_article_tool_bar_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n --button-width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n@media (min-width: 960px) {\n :host {\n flex-direction: row;\n gap: var(--spacing-m);\n --button-width: auto;\n }\n}\n\njb-article-share-bar {\n justify-content: center;\n margin-block-start: var(--spacing-m);\n}\n@media (min-width: 960px) {\n jb-article-share-bar {\n justify-content: start;\n margin-block-start: initial;\n }\n}\n\n@media print {\n :host {\n display: none;\n }\n}`;\n\n// src/components/jb-article-tool-bar/jb-article-tool-bar.ts\nvar JbArticleToolBar = class extends Spaceable(h) {\n _getContentSpacingProperties() {\n return { type: \"half-top-no-bottom\", grid: \"legacy\" };\n }\n _handleClick(icon) {\n if (icon === \"jb-mail-icon\") {\n this.dispatchEvent(\n new CustomEvent(\"jbNewsletterOverlayPopupOpen\", {\n bubbles: true,\n composed: true\n })\n );\n }\n }\n render() {\n return ke`\n \n ${this.buttons.map(\n (item) => ke`\n \n ${item.icon === \"jb-mail-icon\" ? ke`` : D}\n ${item.label}\n `\n )}\n \n \n `;\n }\n};\nJbArticleToolBar.styles = r(jb_article_tool_bar_default);\n__decorateClass([\n n()\n], JbArticleToolBar.prototype, \"ariaLabelShareOnFacebook\", 2);\n__decorateClass([\n n()\n], JbArticleToolBar.prototype, \"ariaLabelShareOnLinkedin\", 2);\n__decorateClass([\n n()\n], JbArticleToolBar.prototype, \"ariaLabelShareOnMail\", 2);\n__decorateClass([\n n()\n], JbArticleToolBar.prototype, \"ariaLabelShareOnX\", 2);\n__decorateClass([\n n()\n], JbArticleToolBar.prototype, \"articleTitle\", 2);\n__decorateClass([\n n({ type: Array })\n], JbArticleToolBar.prototype, \"buttons\", 2);\n__decorateClass([\n n()\n], JbArticleToolBar.prototype, \"mailSubject\", 2);\n__decorateClass([\n n()\n], JbArticleToolBar.prototype, \"shareBarLabel\", 2);\n__decorateClass([\n n()\n], JbArticleToolBar.prototype, \"url\", 2);\nJbArticleToolBar = __decorateClass([\n customElement(\"jb-article-tool-bar\")\n], JbArticleToolBar);\n\nexport {\n JbArticleToolBar\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-article-share-bar/jb-article-share-bar.scss?inline\nvar jb_article_share_bar_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.button-share .button-wrapper .title {\n font-family: var(--theme-font-black-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-black-weight, 900);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n align-items: center;\n display: flex;\n gap: var(--spacing-3xs);\n justify-content: flex-start;\n}\n@media (min-width: 600px) {\n :host {\n justify-content: flex-end;\n }\n}\n\n.button-share {\n block-size: 40px;\n display: flex;\n}\n.button-share .button-wrapper {\n align-items: center;\n display: flex;\n inline-size: auto;\n justify-content: flex-end;\n position: relative;\n user-select: none;\n}\n.button-share .button-wrapper .title {\n color: #141e55;\n display: inline-block;\n font-size: 0.688rem;\n letter-spacing: 0.125rem;\n text-transform: uppercase;\n}\n\nul {\n list-style-type: none;\n}\nul li {\n align-items: center;\n cursor: pointer;\n display: flex;\n inline-size: 40px;\n justify-content: center;\n transition: transform 0.3s ease-in-out 0s;\n}\nul li:hover {\n transform: scale(1.5);\n}\nul.icons {\n align-items: center;\n display: flex;\n justify-content: center;\n}\nul.icons jb-facebook-icon {\n --icon-width: 15.6px;\n --icon-height: 15.6px;\n}\nul.icons jb-mail-icon {\n --icon-size: 18.5px;\n --icon-width: 18.5px;\n --icon-height: 18.5px;\n}\nul.icons jb-x-icon {\n --icon-width: 15px;\n --icon-height: 13.6px;\n}\nul.icons jb-linkedin-icon {\n --icon-width: 14.6px;\n --icon-height: 15px;\n}`;\n\n// src/components/jb-article-share-bar/jb-article-share-bar.ts\nvar JbArticleShareBar = class extends h {\n _fbClick(event) {\n event.stopPropagation();\n this._trackClick(\"facebook\");\n }\n _liClick(event) {\n event.stopPropagation();\n this._trackClick(\"linkedin\");\n }\n _mailClick(event) {\n event.stopPropagation();\n this._trackClick(\"mail\");\n }\n _trackClick(interaction_result) {\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_interaction\",\n event_version: \"v2\",\n component_name: \"article-share-bar\",\n interaction_effect: \"share\",\n interaction_element: \"icon\",\n interaction_result,\n interaction_type: \"click\"\n },\n bubbles: true,\n composed: true\n })\n );\n }\n _twClick(event) {\n event.stopPropagation();\n this._trackClick(\"twitter\");\n }\n render() {\n return ke`\n
    \n
    ${this.title ? ke`${this.title}` : D}
    \n
    \n
      \n
    • \n \n \n \n
    • \n
    • \n \n \n \n
    • \n
    • \n \n \n \n
    • \n
    • \n \n \n \n
    • \n
    \n `;\n }\n};\nJbArticleShareBar.styles = r(jb_article_share_bar_default);\n__decorateClass([\n n()\n], JbArticleShareBar.prototype, \"ariaLabelShareOnFacebook\", 2);\n__decorateClass([\n n()\n], JbArticleShareBar.prototype, \"ariaLabelShareOnLinkedin\", 2);\n__decorateClass([\n n()\n], JbArticleShareBar.prototype, \"ariaLabelShareOnMail\", 2);\n__decorateClass([\n n()\n], JbArticleShareBar.prototype, \"ariaLabelShareOnX\", 2);\n__decorateClass([\n n()\n], JbArticleShareBar.prototype, \"articleTitle\", 2);\n__decorateClass([\n n()\n], JbArticleShareBar.prototype, \"mailSubject\", 2);\n__decorateClass([\n n()\n], JbArticleShareBar.prototype, \"title\", 2);\n__decorateClass([\n n()\n], JbArticleShareBar.prototype, \"url\", 2);\nJbArticleShareBar = __decorateClass([\n customElement(\"jb-article-share-bar\")\n], JbArticleShareBar);\n\nexport {\n JbArticleShareBar\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-x-icon/jb-x-icon.scss?inline\nvar jb_x_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n height: var(--icon-height, 13.9px);\n width: var(--icon-width, 15.4px);\n}\n\nsvg {\n fill: rgb(var(--rgb-primary, 20, 30, 85));\n height: var(--icon-height, 13.9px);\n width: var(--icon-width, 15.4px);\n}`;\n\n// src/components/icons/jb-x-icon/jb-x-icon.ts\nvar JbXIcon = class extends h {\n render() {\n return ke`\n \n \n \n `;\n }\n};\nJbXIcon.styles = r(jb_x_icon_default);\nJbXIcon = __decorateClass([\n customElement(\"jb-x-icon\")\n], JbXIcon);\n\nexport {\n JbXIcon\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-linkedin-icon/jb-linkedin-icon.scss?inline\nvar jb_linkedin_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n height: var(--icon-height, 15.3px);\n width: var(--icon-width, 15.4px);\n}\n\nsvg {\n fill: rgb(var(--rgb-primary, 20, 30, 85));\n height: var(--icon-height, 15.3px);\n width: var(--icon-width, 15.4px);\n}`;\n\n// src/components/icons/jb-linkedin-icon/jb-linkedin-icon.ts\nvar JbLinkedinIcon = class extends h {\n render() {\n return ke`\n \n \n \n `;\n }\n};\nJbLinkedinIcon.styles = r(jb_linkedin_icon_default);\nJbLinkedinIcon = __decorateClass([\n customElement(\"jb-linkedin-icon\")\n], JbLinkedinIcon);\n\nexport {\n JbLinkedinIcon\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-facebook-icon/jb-facebook-icon.scss?inline\nvar jb_facebook_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n height: var(--icon-height, 16px);\n width: var(--icon-width, 16px);\n}\n\nsvg {\n fill: rgb(var(--rgb-primary, 20, 30, 85));\n height: var(--icon-height, 16px);\n width: var(--icon-width, 16px);\n}`;\n\n// src/components/icons/jb-facebook-icon/jb-facebook-icon.ts\nvar JbFacebookIcon = class extends h {\n render() {\n return ke`\n \n \n \n `;\n }\n};\nJbFacebookIcon.styles = r(jb_facebook_icon_default);\nJbFacebookIcon = __decorateClass([\n customElement(\"jb-facebook-icon\")\n], JbFacebookIcon);\n\nexport {\n JbFacebookIcon\n};\n", "import {\n JbButton\n} from \"./chunk.BRZYRWW4.js\";\nimport {\n ae\n} from \"./chunk.Q25FCJRM.js\";\nimport {\n Initiable\n} from \"./chunk.6DHNIVN5.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-alert/jb-alert.scss?inline\nvar jb_alert_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\njb-richtext, .text-small,\n.legend, h5 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh5 {\n font-family: var(--theme-font-xlight-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-xlight-weight, 200);\n}\n\nh5 {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.313rem;\n line-height: 2.125rem;\n}\n@media (min-width: 1281px) {\n h5 {\n font-size: 1.5rem;\n line-height: 2.25rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n --rgb-primary: 255, 255, 255;\n display: block;\n}\n\n.wrap {\n background-color: #141e55;\n padding: 50px 98px;\n position: relative;\n text-align: center;\n}\n@media (min-width: 960px) and (max-width: 1280px) {\n .wrap {\n padding: 50px 74.5px 50px 71.5px;\n }\n}\n@media (min-width: 600px) and (max-width: 959px) {\n .wrap {\n padding: 50px 80px 50px 79px;\n }\n}\n@media (max-width: 599px) {\n .wrap {\n padding: 50px 20px;\n }\n}\n\n.logo-wrap {\n margin-bottom: 20px;\n text-align: center;\n font-size: 0;\n font-size: 0;\n}\n@media (max-width: 959px) {\n .logo-wrap {\n margin-bottom: 20px;\n }\n}\n.logo-wrap jb-logo {\n display: inline-block;\n width: 113px;\n}\n@media (min-width: 1281px) {\n .logo-wrap jb-logo {\n width: 164px;\n }\n}\n\n.close-icon-wrap {\n height: 29px;\n position: absolute;\n right: 40px;\n top: 40px;\n width: 29px;\n}\n@media (min-width: 960px) and (max-width: 1280px) {\n .close-icon-wrap {\n height: 25px;\n right: 21px;\n top: 20px;\n width: 26px;\n }\n}\n@media (max-width: 959px) {\n .close-icon-wrap {\n height: 25px;\n right: 21px;\n top: 20px;\n width: 26px;\n }\n}\n\nh5 {\n color: #fff;\n margin-bottom: 9.6px;\n text-align: center;\n}\n@media (max-width: 1280px) {\n h5 {\n margin-bottom: 10px;\n }\n}\n\n.text-small,\n.legend {\n color: rgba(255, 255, 255, 0.7);\n margin-bottom: 21px;\n text-align: center;\n}\n@media (max-width: 1280px) {\n .text-small,\n .legend {\n margin-bottom: 20px;\n }\n}\n@media (max-width: 599px) {\n .text-small,\n .legend {\n margin-bottom: 19px;\n }\n}\n\n.text-small {\n line-height: 26px;\n line-height: 1.625rem;\n}\n@media (max-width: 1280px) {\n .text-small {\n font-size: 13px;\n font-size: 0.8125rem;\n line-height: 20px;\n line-height: 1.25rem;\n }\n}\n\n.legend {\n font-size: 13px;\n font-size: 0.8125rem;\n}\n@media (max-width: 1280px) {\n .legend {\n font-size: 11px;\n font-size: 0.6875rem;\n line-height: 20px;\n line-height: 1.25rem;\n }\n}\n\njb-richtext {\n line-height: 26px;\n line-height: 1.625rem;\n color: rgba(255, 255, 255, 0.7);\n margin-bottom: 21px;\n text-align: center;\n}\n@media (max-width: 1280px) {\n jb-richtext {\n font-size: 13px;\n font-size: 0.8125rem;\n line-height: 20px;\n line-height: 1.25rem;\n }\n}`;\n\n// src/components/jb-alert/jb-alert.ts\nvar JbAlert = class extends Initiable(h) {\n static create(data) {\n const buttons = data.buttons.map(\n (option) => new JbButton().init({\n props: option,\n attributes: { slot: \"buttons\" }\n })\n );\n return new JbAlert().init({\n props: data,\n childNodes: [...buttons]\n });\n }\n unstacked() {\n this.remove();\n }\n _close() {\n this.dispatchEvent(new CustomEvent(\"jb-popup:close\", { bubbles: true, composed: true }));\n }\n render() {\n return ke`\n
    \n
    \n \n
    \n
    \n \n
    \n
    ${this.title}
    \n ${ae(this.content)}\n ${this.showLegend ? ke`

    ${this.legend}

    ` : D}\n \n
    \n `;\n }\n};\nJbAlert.styles = r(jb_alert_default);\n__decorateClass([\n n()\n], JbAlert.prototype, \"content\", 2);\n__decorateClass([\n n()\n], JbAlert.prototype, \"legend\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbAlert.prototype, \"showLegend\", 2);\n__decorateClass([\n n()\n], JbAlert.prototype, \"svgLogo\", 2);\n__decorateClass([\n n()\n], JbAlert.prototype, \"title\", 2);\nJbAlert = __decorateClass([\n customElement(\"jb-alert\")\n], JbAlert);\n\nexport {\n JbAlert\n};\n", "import {\n fe\n} from \"./chunk.637M2SN5.js\";\nimport {\n to\n} from \"./chunk.YTEMICXC.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n Oe,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-logo/jb-logo.scss?inline\nvar jb_logo_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\na {\n display: block;\n}\n\nsvg {\n fill: var(--logo-color, #fff);\n transition: var(--svg-transition);\n}\n\npath {\n transition: fill 0.1s ease;\n transition-delay: 0s;\n}`;\n\n// src/components/jb-logo/jb-logo.ts\nvar JbLogo = class extends h {\n constructor() {\n super(...arguments);\n this.href = \"#\";\n this.isWhite = false;\n this._logo = '';\n }\n updated() {\n this._logoPaths?.forEach((singlePath) => {\n singlePath.setAttribute(\"fill\", this.isWhite ? \"#ffffff\" : singlePath.dataset.color);\n });\n }\n async firstUpdated() {\n this._logoPaths?.forEach((singlePath) => {\n if (!singlePath.dataset.color && singlePath.hasAttribute(\"fill\")) {\n singlePath.setAttribute(\"data-color\", singlePath.getAttribute(\"fill\") ?? \"\");\n }\n });\n }\n render() {\n return ke`\n \n ${this.svgLogo ? Oe`${fe(this.svgLogo)}` : Oe`${fe(this._logo)}`}\n \n `;\n }\n};\nJbLogo.styles = r(jb_logo_default);\n__decorateClass([\n n()\n], JbLogo.prototype, \"ariaLabelHomepage\", 2);\n__decorateClass([\n n()\n], JbLogo.prototype, \"href\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbLogo.prototype, \"isWhite\", 2);\n__decorateClass([\n n()\n], JbLogo.prototype, \"svgLogo\", 2);\n__decorateClass([\n r2(\"svg [fill]\")\n], JbLogo.prototype, \"_logoPaths\", 2);\nJbLogo = __decorateClass([\n customElement(\"jb-logo\")\n], JbLogo);\n\nexport {\n JbLogo\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-arrow-navigation/jb-arrow-navigation.scss?inline\nvar jb_arrow_navigation_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n.arrow-navigation {\n display: flex;\n gap: var(--spacing-s);\n justify-content: flex-end;\n}`;\n\n// src/components/jb-arrow-navigation/jb-arrow-navigation.ts\nvar JbArrowNavigation = class extends h {\n clickNext() {\n this.dispatchEvent(\n new CustomEvent(`jb-arrow-navigation:next-clicked`, {\n bubbles: true,\n composed: true\n })\n );\n }\n clickPrev() {\n this.dispatchEvent(\n new CustomEvent(`jb-arrow-navigation:prev-clicked`, {\n bubbles: true,\n composed: true\n })\n );\n }\n render() {\n return ke`\n
    \n \n \n
    \n `;\n }\n};\nJbArrowNavigation.styles = r(jb_arrow_navigation_default);\n__decorateClass([\n n({ type: Boolean })\n], JbArrowNavigation.prototype, \"nextDisabled\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbArrowNavigation.prototype, \"prevDisabled\", 2);\nJbArrowNavigation = __decorateClass([\n customElement(\"jb-arrow-navigation\")\n], JbArrowNavigation);\n\nexport {\n JbArrowNavigation\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-arrow-icon/jb-arrow-icon.scss?inline\nvar jb_arrow_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\ndiv {\n align-items: center;\n block-size: 32px;\n display: flex;\n transition: transform 0.3s, opacity 0.3s;\n}\ndiv:hover:not(.disabled) {\n cursor: pointer;\n transform: translateX(3px);\n}\n\n.left {\n transform: scale(-1, 1);\n}\n.left:hover:not(.disabled) {\n transform: scale(-1, 1) translateX(3px);\n}\n\nsvg {\n fill: var(--stroke-color, #141e55);\n}\n\n.disabled,\n.swiper-button-disabled {\n opacity: 0.2;\n}`;\n\n// src/components/icons/jb-arrow-icon/jb-arrow-icon.ts\nvar JbArrowIcon = class extends h {\n constructor() {\n super(...arguments);\n this.direction = \"right\";\n this.disabled = false;\n }\n render() {\n return ke`\n
    \n \n \n \n
    \n `;\n }\n};\nJbArrowIcon.styles = r(jb_arrow_icon_default);\n__decorateClass([\n n()\n], JbArrowIcon.prototype, \"direction\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbArrowIcon.prototype, \"disabled\", 2);\nJbArrowIcon = __decorateClass([\n customElement(\"jb-arrow-icon\")\n], JbArrowIcon);\n\nexport {\n JbArrowIcon\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n getAllParents,\n scrollToTop\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-article-back-to-top/jb-article-back-to-top.scss?inline\nvar jb_article_back_to_top_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.sticky .text {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\n.sticky .text {\n font-size: var(--theme-typo-uppercase-700-fontsize, 0.688rem);\n letter-spacing: var(--theme-typo-uppercase-700-letterspacing, 0.063rem);\n line-height: var(--theme-typo-uppercase-700-lineheight, 1rem);\n text-transform: uppercase;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:root {\n display: block;\n}\n\n.static {\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: calc(100% - 2 * var(--row-small-margin, 6.68%));\n justify-content: center;\n padding-block-end: 60px;\n position: relative;\n}\n@media (min-width: 600px) and (max-width: 959px) {\n .static {\n width: calc(100% - 2 * 8.35%);\n }\n}\n@media (min-width: 1437px) {\n .static {\n max-width: var(--row-max-width, 1436px);\n }\n .static:not(.filtered-list) {\n width: 100%;\n }\n}\n@media only screen and (min-width: 960px) and (max-width: 1436px) {\n .static {\n margin: 0 6.955%;\n max-width: calc(100% - 6.955% - 6.955%);\n }\n}\n@media (min-width: 1281px) {\n .static {\n padding-block-end: 68px;\n }\n}\n.static jb-button-tertiary {\n display: inline-block;\n position: relative;\n}\n\n.sticky {\n --_element-height: 66px;\n background-color: rgb(var(--theme-color-smoke-light, 241 242 242));\n cursor: pointer;\n display: block;\n height: var(--_element-height);\n inset-block-end: var(--sticky-back-to-top-position, 25vh);\n inset-inline-end: 0;\n position: fixed;\n text-decoration: none;\n transition: translate 0.3s;\n translate: 100%;\n width: var(--_element-height);\n z-index: 110;\n}\n.sticky.show {\n translate: 0;\n}\n.sticky.show .text-wrapper {\n display: grid;\n}\n.sticky .icon-wrapper,\n.sticky .text-wrapper {\n padding: var(--spacing-sm);\n}\n.sticky .text-wrapper {\n background-color: rgb(var(--theme-color-royal-blue, 20 30 85));\n color: rgb(var(--theme-color-white, 255 255 255));\n display: none;\n height: 100%;\n inset-block-start: 0;\n inset-inline-start: 0;\n padding-inline-end: 0;\n place-items: center;\n position: absolute;\n transition: translate 0.5s;\n translate: 100%;\n width: max-content;\n z-index: 111;\n}\n.sticky .icon-wrapper {\n background-color: inherit;\n display: grid;\n height: 100%;\n inset-block-start: 0;\n inset-inline-start: 0;\n place-items: center;\n position: absolute;\n transition: background-color 0.3s ease-in-out;\n width: var(--_element-height);\n z-index: 112;\n}\n.sticky .icon {\n height: 16px;\n transform: rotate(180deg);\n --icon-size: 16px;\n}\n.sticky:hover {\n max-width: 400px;\n}\n.sticky:hover .icon-wrapper {\n background-color: rgb(var(--theme-color-royal-blue, 20 30 85));\n --icon-color: rgb(var(--theme-color-white, 255 255 255));\n}\n.sticky:hover .text-wrapper {\n translate: calc(-100% + 1px);\n}\n\n@media print {\n :host {\n display: none;\n }\n}`;\n\n// src/components/jb-article-back-to-top/jb-article-back-to-top.ts\nvar JbArticleBackToTop = class extends Spaceable(h) {\n constructor() {\n super(...arguments);\n this.displayStickyButtonAfterXViewportHeights = 1;\n }\n firstUpdated(_changedProperties) {\n super.firstUpdated(_changedProperties);\n if (this.sticky) {\n this._registerScrollOutCheck();\n }\n }\n _click(e) {\n e.preventDefault();\n if (this.scrollElement) {\n try {\n scrollToTop(this.scrollElement);\n return;\n } catch (err) {\n }\n }\n const elms = getAllParents(this);\n let scrolled = false;\n elms.forEach((elm) => {\n if (scrolled) return;\n const element = elm;\n if (element.clientHeight + 20 < element.scrollHeight) {\n scrollToTop(element);\n scrolled = true;\n }\n });\n }\n _registerScrollOutCheck() {\n let active = true;\n window.addEventListener(\"scroll\", () => {\n if (!active) {\n return;\n }\n active = false;\n window.setTimeout(() => {\n if (this._shouldDisplaySticky()) {\n this.renderRoot.querySelector(\".sticky\")?.classList.add(\"show\");\n } else {\n this.renderRoot.querySelector(\".sticky\")?.classList.remove(\"show\");\n }\n active = true;\n }, 100);\n });\n }\n _shouldDisplaySticky() {\n const scrollPosition = window.scrollY;\n const viewPortHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;\n const displayAtScrollPosition = viewPortHeight * this.displayStickyButtonAfterXViewportHeights - viewPortHeight;\n return scrollPosition >= displayAtScrollPosition;\n }\n render() {\n return ke`\n \n ${this.sticky ? ke`\n
    \n ${this.text}\n
    \n
    \n
    \n
    \n ` : ke`${this.text}`}\n \n `;\n }\n};\nJbArticleBackToTop.styles = r(jb_article_back_to_top_default);\n__decorateClass([\n n({ type: Number })\n], JbArticleBackToTop.prototype, \"displayStickyButtonAfterXViewportHeights\", 2);\n__decorateClass([\n n({ type: Object })\n], JbArticleBackToTop.prototype, \"scrollElement\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbArticleBackToTop.prototype, \"sticky\", 2);\n__decorateClass([\n n()\n], JbArticleBackToTop.prototype, \"text\", 2);\nJbArticleBackToTop = __decorateClass([\n customElement(\"jb-article-back-to-top\")\n], JbArticleBackToTop);\n\nexport {\n JbArticleBackToTop\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n Linkable\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-article-card/jb-article-card.scss?inline\nvar jb_article_card_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nh3 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh3 {\n font-size: var(--theme-typo-h3-mobile-fontsize, 1.375rem);\n line-height: var(--theme-typo-h3-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n h3 {\n font-size: var(--theme-typo-h3-desktop-fontsize, 1.625rem);\n line-height: var(--theme-typo-h3-desktop-lineheight, 2.25rem);\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n flex-basis: 100%;\n max-width: 658px;\n --teaser-header-h3-margin-bottom: 20px;\n --teaser-header-h3-margin-top: 20px;\n}\n\narticle {\n margin-bottom: var(--article-card-bottom, 60px);\n position: relative;\n}\n@media (min-width: 960px) {\n article {\n margin-bottom: var(--article-card-bottom, 68px);\n }\n}\narticle.horizontal {\n display: flex;\n gap: 10px;\n}\n@media (min-width: 600px) {\n article.horizontal {\n gap: 16px;\n }\n}\narticle.no-image {\n --teaser-header-h3-margin-top: 0;\n border: 1px solid rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n transition: border 0.7s ease-in-out 0s;\n}\narticle.no-image:hover {\n border-color: #141e55;\n}\n\n.wrapper {\n position: relative;\n}\n\n.image-link {\n flex-basis: 25%;\n flex-shrink: 0;\n}\n@media (min-width: 960px) {\n .image-link {\n flex-basis: 33%;\n }\n}\n\n.horizontal .text-link {\n padding-bottom: 0;\n}\n.no-image .text-link {\n padding: 24px 24px 0;\n}\n\n.horizontal jb-teaser-meta {\n position: static;\n}\n.no-image jb-teaser-meta {\n display: flex;\n padding: 0 24px 24px;\n}\n\na {\n display: block;\n text-decoration: none;\n}\na figure {\n overflow: hidden;\n}\n\nh3 {\n padding-bottom: 16px;\n}\n\n@media print {\n :host {\n break-inside: avoid;\n }\n}`;\n\n// src/components/jb-article-card/jb-article-card.ts\nvar JbArticleCard = class extends Linkable(h) {\n constructor() {\n super(...arguments);\n this.direction = \"vertical\";\n }\n render() {\n const classes = {\n horizontal: this.direction === \"horizontal\",\n \"no-image\": !this.teaserHeader.picture && !this.teaserHeader.thumbnail\n };\n return ke`\n
    \n ${this.direction === \"horizontal\" ? ke`\n \n ${this.teaserHeader.picture ? ke`\n \n ` : D}\n ${this.teaserHeader.thumbnail ? ke`\n \n ` : D}\n \n ` : D}\n
    \n \n ${this.direction !== \"horizontal\" ? ke`\n \n ` : ke`

    ${this.teaserHeader.headline}

    `}\n \n ${this.teaserMeta ? ke` ` : D}\n
    \n
    \n `;\n }\n};\nJbArticleCard.styles = r(jb_article_card_default);\n__decorateClass([\n n()\n], JbArticleCard.prototype, \"direction\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbArticleCard.prototype, \"gallery\", 2);\n__decorateClass([\n n({ type: Object })\n], JbArticleCard.prototype, \"teaserHeader\", 2);\n__decorateClass([\n n({ type: Object })\n], JbArticleCard.prototype, \"teaserMeta\", 2);\nJbArticleCard = __decorateClass([\n customElement(\"jb-article-card\")\n], JbArticleCard);\n\nexport {\n JbArticleCard\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-teaser-header/jb-teaser-header.scss?inline\nvar jb_teaser_header_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nheader p, header h3 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nheader h3 {\n font-size: var(--theme-typo-h3-mobile-fontsize, 1.375rem);\n line-height: var(--theme-typo-h3-mobile-lineheight, 1.75rem);\n}\n@media (min-width: 1281px) {\n header h3 {\n font-size: var(--theme-typo-h3-desktop-fontsize, 1.625rem);\n line-height: var(--theme-typo-h3-desktop-lineheight, 2.25rem);\n }\n}\n\nheader p {\n font-size: var(--theme-typo-p-small-desktop-fontsize, 1rem);\n line-height: var(--theme-typo-p-small-desktop-lineheight, 1.625rem);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nheader {\n position: relative;\n}\n@media (max-width: 959px) {\n header.no_image h3 {\n margin-top: var(--teaser-header-h3-margin-top, 0);\n }\n}\nheader h3 {\n margin-bottom: var(--teaser-header-h3-margin-bottom, 24px);\n margin-top: var(--teaser-header-h3-margin-top, 16px);\n}\nheader p {\n display: var(--display-teaser-text, block);\n margin-bottom: 24px;\n overflow: hidden;\n position: relative;\n}\nheader p::before {\n background: linear-gradient(to right, rgba(var(--body-background-color, 255, 255, 255), 0), rgba(var(--body-background-color, 255, 255, 255), 1) 83%);\n content: \"\";\n margin: auto;\n max-width: 115px;\n position: absolute;\n right: 0;\n text-align: right;\n width: 50%;\n}\nheader .teaser-text-1-lines {\n max-height: calc(1 * 26px);\n}\nheader .teaser-text-1-lines::before {\n height: 26px;\n top: calc((1 - 1) * 26px);\n}\nheader .teaser-text-2-lines {\n max-height: calc(2 * 26px);\n}\nheader .teaser-text-2-lines::before {\n height: 26px;\n top: calc((2 - 1) * 26px);\n}\nheader .teaser-text-3-lines {\n max-height: calc(3 * 26px);\n}\nheader .teaser-text-3-lines::before {\n height: 26px;\n top: calc((3 - 1) * 26px);\n}\nheader .teaser-text-4-lines {\n max-height: calc(4 * 26px);\n}\nheader .teaser-text-4-lines::before {\n height: 26px;\n top: calc((4 - 1) * 26px);\n}\nheader .teaser-text-5-lines {\n max-height: calc(5 * 26px);\n}\nheader .teaser-text-5-lines::before {\n height: 26px;\n top: calc((5 - 1) * 26px);\n}\nheader:hover jb-picture {\n --transform-image: scale(1.05);\n}\nheader:hover jb-thumbnail {\n --transform-thumbnail: scale(1.05);\n --trasnform-tag: scale(1.05);\n}\nheader.gallery jb-thumbnail {\n --gradient-thumbnail: none;\n}\nheader.gallery:hover jb-picture {\n --transform-image: none;\n}\nheader.gallery:hover jb-thumbnail {\n --transform-thumbnail: none;\n}`;\n\n// src/components/jb-teaser-header/jb-teaser-header.ts\nvar JbTeaserHeader = class extends h {\n constructor() {\n super(...arguments);\n this.headline = \"\";\n this.maxLines = 3;\n }\n _renderPreview() {\n if (this.thumbnail) {\n return ke``;\n }\n if (this.picture) {\n return ke``;\n }\n return null;\n }\n _renderTeaser() {\n if (this.teaser) {\n return ke`

    ${this.teaser}

    `;\n }\n return null;\n }\n render() {\n return ke`
    \n ${this._renderPreview()} ${this.headline ? ke`

    ${this.headline}

    ` : D}\n ${this.teaser ? this._renderTeaser() : D}\n
    `;\n }\n};\nJbTeaserHeader.styles = r(jb_teaser_header_default);\n__decorateClass([\n n({ type: Boolean })\n], JbTeaserHeader.prototype, \"gallery\", 2);\n__decorateClass([\n n()\n], JbTeaserHeader.prototype, \"headline\", 2);\n__decorateClass([\n n({ type: Number })\n], JbTeaserHeader.prototype, \"maxLines\", 2);\n__decorateClass([\n n({ type: Object })\n], JbTeaserHeader.prototype, \"picture\", 2);\n__decorateClass([\n n()\n], JbTeaserHeader.prototype, \"teaser\", 2);\n__decorateClass([\n n({ type: Object })\n], JbTeaserHeader.prototype, \"thumbnail\", 2);\nJbTeaserHeader = __decorateClass([\n customElement(\"jb-teaser-header\")\n], JbTeaserHeader);\n\nexport {\n JbTeaserHeader\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n debounce\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n,\n r as r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-thumbnail/jb-thumbnail.scss?inline\nvar jb_thumbnail_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\ndiv {\n overflow: hidden;\n position: relative;\n}\ndiv video,\ndiv jb-picture {\n height: 100%;\n object-fit: cover;\n transition: transform 0.7s;\n width: 100%;\n}\ndiv::before {\n background: var(--gradient-thumbnail, linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4)));\n content: \"\";\n height: 100%;\n position: absolute;\n width: 100%;\n z-index: 1;\n}\ndiv.aspect_3by2 {\n aspect-ratio: 3/2;\n}\ndiv.aspect_16by9 {\n aspect-ratio: 16/9;\n}\ndiv.aspect_21by9 {\n aspect-ratio: 21/9;\n}\n\njb-picture,\nvideo,\njb-tag {\n transform: var(--transform-thumbnail, none);\n}\n\njb-tag {\n bottom: 30px;\n left: 30px;\n position: absolute;\n top: auto;\n transform: var(--transform-tag, var(--transform-thumbnail, scale(1)));\n transition: transform 0.7s, width 0.7s, height 0.7s;\n z-index: 1;\n --_inset-width: 5px;\n}\njb-tag[isLarge] {\n --_inset-width: 40px;\n}\n\n.loading::after {\n animation: 2s linear 0s infinite normal none running spin;\n border-color: rgb(var(--theme-color-white, 255 255 255)) rgb(var(--theme-color-white, 255 255 255)/0.3) rgb(var(--theme-color-white, 255 255 255)/0.3);\n border-radius: 100vh;\n border-style: solid;\n border-width: 3px;\n content: \"\";\n display: block;\n inset: var(--_inset-width);\n position: absolute;\n}\n\n@keyframes spin {\n to {\n rotate: 360deg;\n }\n}`;\n\n// src/components/jb-thumbnail/jb-thumbnail.ts\nvar JbThumbnail = class extends h {\n constructor() {\n super(...arguments);\n this._BREAKPOINT = 520;\n this._observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.intersectionRatio > 0) {\n entry.target.play();\n } else {\n entry.target.pause();\n }\n });\n });\n }\n connectedCallback() {\n super.connectedCallback();\n this._largeTag = this.offsetWidth > this._BREAKPOINT;\n window.addEventListener(\"resize\", debounce(this._windowResized.bind(this), 500));\n }\n firstUpdated() {\n if (!this._video) return;\n this._observer.observe(this._video);\n this._video.muted = true;\n }\n _windowResized() {\n this._largeTag = this.offsetWidth > this._BREAKPOINT;\n }\n render() {\n return ke`\n
    \n ${this.videoSrc ? ke`` : ke``}\n ${this.type === \"audio\" ? ke`` : D}\n ${this.type === \"video\" ? ke`` : D}\n
    \n `;\n }\n};\nJbThumbnail.styles = r(jb_thumbnail_default);\n__decorateClass([\n n()\n], JbThumbnail.prototype, \"aspect\", 2);\n__decorateClass([\n n({ type: Object })\n], JbThumbnail.prototype, \"backgroundPicture\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbThumbnail.prototype, \"isLoading\", 2);\n__decorateClass([\n n()\n], JbThumbnail.prototype, \"type\", 2);\n__decorateClass([\n n()\n], JbThumbnail.prototype, \"videoSrc\", 2);\n__decorateClass([\n r2()\n], JbThumbnail.prototype, \"_largeTag\", 2);\n__decorateClass([\n e(\"video\")\n], JbThumbnail.prototype, \"_video\", 2);\nJbThumbnail = __decorateClass([\n customElement(\"jb-thumbnail\")\n], JbThumbnail);\n\nexport {\n JbThumbnail\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n Oe,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-tag/jb-tag.scss?inline\nvar jb_tag_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n cursor: pointer;\n display: block;\n}\n\ndiv {\n align-items: center;\n border: solid 2px #fff;\n display: flex;\n height: 50px;\n justify-content: center;\n outline: none;\n padding: 14px;\n transition: margin 0.7s, width 0.7s, height 0.7s;\n width: 50px;\n z-index: 2;\n}\n\nsvg {\n height: 18px;\n outline: none;\n transition: transform 0.7s;\n width: 18px;\n}\n\ndiv.large {\n height: 70px;\n margin: 30px;\n width: 70px;\n}\ndiv.large svg {\n transform: scale(1.3333);\n}`;\n\n// src/components/jb-tag/jb-tag.ts\nvar JbTag = class extends h {\n render() {\n return ke`\n
    \n ${this.type === \"play\" ? Oe` ` : Oe` `}\n
    \n `;\n }\n};\nJbTag.styles = r(jb_tag_default);\n__decorateClass([\n n({ type: Boolean, reflect: true })\n], JbTag.prototype, \"isLarge\", 2);\n__decorateClass([\n n()\n], JbTag.prototype, \"type\", 2);\nJbTag = __decorateClass([\n customElement(\"jb-tag\")\n], JbTag);\n\nexport {\n JbTag\n};\n", "import {\n Linkable\n} from \"./chunk.ABOYTYJO.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-teaser-meta/jb-teaser-meta.scss?inline\nvar jb_teaser_meta_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\ndiv .timezone, div, div a {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\ndiv a {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.063rem;\n line-height: 1rem;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\ndiv {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n font-weight: 700;\n letter-spacing: 0.063rem;\n text-transform: uppercase;\n}\ndiv a {\n border: 1px solid rgba(20, 30, 85, var(--theme-opacity-20, 0.2));\n color: #141e55 !important;\n padding: 4px 9px;\n text-decoration: none;\n text-transform: uppercase;\n transition: border 0.7s ease-in-out 0s;\n}\ndiv a:hover {\n border: 1px solid #141e55;\n transition: border 0.7s ease-in-out 0s;\n}\ndiv .category {\n margin-top: var(--category-spacing-top, 25px);\n width: 100%;\n}\ndiv jb-calendar-icon {\n margin-right: 10px;\n}\ndiv .timezone {\n font-size: 11px;\n font-size: 0.6875rem;\n line-height: 16px;\n line-height: 1rem;\n align-items: center;\n color: #141e55;\n display: flex;\n margin-inline-start: 25px;\n text-transform: uppercase;\n}\ndiv .timezone jb-globe-icon {\n --stroke-color: #141e55;\n display: inline-flex;\n margin-inline-end: 10px;\n width: 17px;\n}\ndiv jb-time {\n margin-left: 12px;\n}\n@media (min-width: 960px) {\n div jb-time {\n margin-left: 25px;\n }\n}`;\n\n// src/components/jb-teaser-meta/jb-teaser-meta.ts\nvar JbTeaserMeta = class extends Linkable(h) {\n _renderDate() {\n if (this.date) {\n return ke``;\n }\n return null;\n }\n _renderTime() {\n if (this.time) {\n return ke``;\n }\n return null;\n }\n _renderTimeZone() {\n if (this.timeZone) {\n return ke`
    \n \n ${this.timeZone}\n
    `;\n }\n return null;\n }\n render() {\n return ke`
    \n ${this._renderDate()} ${this._renderTime()} ${this._renderTimeZone()}\n ${this.category && ke``}\n
    `;\n }\n};\nJbTeaserMeta.styles = r(jb_teaser_meta_default);\n__decorateClass([\n n()\n], JbTeaserMeta.prototype, \"category\", 2);\n__decorateClass([\n n()\n], JbTeaserMeta.prototype, \"date\", 2);\n__decorateClass([\n n()\n], JbTeaserMeta.prototype, \"time\", 2);\n__decorateClass([\n n()\n], JbTeaserMeta.prototype, \"timeZone\", 2);\nJbTeaserMeta = __decorateClass([\n customElement(\"jb-teaser-meta\")\n], JbTeaserMeta);\n\nexport {\n JbTeaserMeta\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-time/jb-time.scss?inline\nvar jb_time_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\ntime {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n --jb-clock-opacity: 1;\n}\n\ntime {\n align-items: center;\n color: #141e55;\n display: flex;\n text-transform: uppercase;\n font-size: 11px;\n font-size: 0.6875rem;\n line-height: 16px;\n line-height: 1rem;\n}\ntime jb-clock-icon {\n display: inline-flex;\n margin-right: 10px;\n width: 16px;\n}\n@media (max-width: 959px) {\n time {\n position: relative;\n }\n}`;\n\n// src/components/jb-time/jb-time.ts\nvar JbTime = class extends h {\n render() {\n return ke``;\n }\n};\nJbTime.styles = r(jb_time_default);\n__decorateClass([\n n()\n], JbTime.prototype, \"time\", 2);\nJbTime = __decorateClass([\n customElement(\"jb-time\")\n], JbTime);\n\nexport {\n JbTime\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-globe-icon/jb-globe-icon.scss?inline\nvar jb_globe_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n}\n\nsvg {\n fill: var(--stroke-color, rgb(var(--rgb-primary, 255, 255, 255)));\n}`;\n\n// src/components/icons/jb-globe-icon/jb-globe-icon.ts\nvar JbGlobeIcon = class extends h {\n render() {\n return ke`\n \n \n \n \n \n \n \n `;\n }\n};\nJbGlobeIcon.styles = r(jb_globe_icon_default);\nJbGlobeIcon = __decorateClass([\n customElement(\"jb-globe-icon\")\n], JbGlobeIcon);\n\nexport {\n JbGlobeIcon\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-clock-icon/jb-clock-icon.scss?inline\nvar jb_clock_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nsvg {\n opacity: var(--jb-clock-opacity, 0.7);\n}`;\n\n// src/components/icons/jb-clock-icon/jb-clock-icon.ts\nvar JbClockIcon = class extends h {\n render() {\n return ke`\n \n \n \n `;\n }\n};\nJbClockIcon.styles = r(jb_clock_icon_default);\nJbClockIcon = __decorateClass([\n customElement(\"jb-clock-icon\")\n], JbClockIcon);\n\nexport {\n JbClockIcon\n};\n", "import {\n LazyLoadingHandler_default\n} from \"./chunk.ZXFS3F4J.js\";\nimport {\n to\n} from \"./chunk.YTEMICXC.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-picture/jb-picture.scss?inline\nvar jb_picture_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n width: 100%;\n}\n\npicture {\n display: block;\n line-height: 0;\n overflow: hidden;\n transition: transform 0.7s;\n}\npicture.aspect_1by1 {\n height: 100%;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\npicture.aspect_1by1 > *,\npicture.aspect_1by1 iframe {\n height: 100%;\n inset: 0;\n position: absolute;\n width: 100%;\n}\npicture.aspect_1by1::before {\n content: \"\";\n display: block;\n height: 0;\n padding-bottom: calc(1 / 1 * 100%);\n position: relative;\n width: 100%;\n}\npicture.aspect_2by1 {\n height: 100%;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\npicture.aspect_2by1 > *,\npicture.aspect_2by1 iframe {\n height: 100%;\n inset: 0;\n position: absolute;\n width: 100%;\n}\npicture.aspect_2by1::before {\n content: \"\";\n display: block;\n height: 0;\n padding-bottom: calc(1 / 2 * 100%);\n position: relative;\n width: 100%;\n}\npicture.aspect_3by2 {\n height: 100%;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\npicture.aspect_3by2 > *,\npicture.aspect_3by2 iframe {\n height: 100%;\n inset: 0;\n position: absolute;\n width: 100%;\n}\npicture.aspect_3by2::before {\n content: \"\";\n display: block;\n height: 0;\n padding-bottom: calc(2 / 3 * 100%);\n position: relative;\n width: 100%;\n}\npicture.aspect_16by9 {\n height: 100%;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\npicture.aspect_16by9 > *,\npicture.aspect_16by9 iframe {\n height: 100%;\n inset: 0;\n position: absolute;\n width: 100%;\n}\npicture.aspect_16by9::before {\n content: \"\";\n display: block;\n height: 0;\n padding-bottom: calc(9 / 16 * 100%);\n position: relative;\n width: 100%;\n}\npicture.aspect_21by9 {\n height: 100%;\n overflow: hidden;\n position: relative;\n width: 100%;\n}\npicture.aspect_21by9 > *,\npicture.aspect_21by9 iframe {\n height: 100%;\n inset: 0;\n position: absolute;\n width: 100%;\n}\npicture.aspect_21by9::before {\n content: \"\";\n display: block;\n height: 0;\n padding-bottom: calc(9 / 21 * 100%);\n position: relative;\n width: 100%;\n}\n\nimg {\n height: auto;\n transform: var(--transform-image, \"\");\n transition: transform 0.7s;\n width: 100%;\n}\n\npicture.contain {\n height: 100%;\n}\npicture.contain img {\n height: 100%;\n object-fit: contain;\n}\n\npicture.cover {\n height: 100%;\n width: 100%;\n}\npicture.cover img {\n height: 100%;\n object-fit: cover;\n object-position: var(--focus-point-horizontal, 50%) var(--focus-point-vertical, 50%);\n}`;\n\n// src/components/jb-picture/jb-picture.ts\nvar JbPicture = class extends h {\n constructor() {\n super(...arguments);\n this.fit = \"fill\";\n this.focusPointHorizontal = 50;\n this.focusPointVertical = 50;\n this.lazy = false;\n }\n updated(_changedProperties) {\n super.updated(_changedProperties);\n if (_changedProperties.has(\"focusPointHorizontal\")) {\n this.style.setProperty(\"--focus-point-horizontal\", `${this.focusPointHorizontal}%`);\n }\n if (_changedProperties.has(\"focusPointVertical\")) {\n this.style.setProperty(\"--focus-point-vertical\", `${this.focusPointVertical}%`);\n }\n }\n firstUpdated() {\n if (!this.lazy) {\n return;\n }\n if (document.readyState === \"complete\") {\n this._initLazyLoading();\n } else {\n window.addEventListener(\"load\", () => {\n this._initLazyLoading();\n });\n }\n window.addEventListener(\"beforeprint\", () => {\n this.lazy = false;\n });\n }\n _createTransparentImageDataUrl(width, height) {\n const gcd = (a, b) => b === 0 ? a : gcd(b, a % b);\n const roundedWidth = Math.round(width);\n const roundedHeight = Math.round(height);\n const divisor = gcd(roundedWidth, roundedHeight);\n const canvas = document.createElement(\"canvas\");\n canvas.width = roundedWidth / divisor;\n canvas.height = roundedHeight / divisor;\n return canvas.toDataURL();\n }\n _getPlaceholderImage() {\n return this.imgData.fallbackImage.dimensions ? this._createTransparentImageDataUrl(\n this.imgData.fallbackImage.dimensions.width,\n this.imgData.fallbackImage.dimensions.height\n ) : \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\";\n }\n _getSrcset(source) {\n const res = [];\n source.srcsets.forEach((srcset) => {\n res.push(`${srcset.uri} ${srcset.pixelDensity}x`);\n });\n return res.join(\", \");\n }\n _initLazyLoading() {\n LazyLoadingHandler_default.observe(this._lazyImage, this._loadImage, \"approachingViewport\");\n this._lazyImage.addEventListener(\"load\", () => {\n this.dispatchEvent(new CustomEvent(\"load\", { bubbles: true, composed: true }));\n });\n }\n _loadImage(el) {\n if (!el.hasAttribute(\"data-lazy-src\")) return;\n const pic = el.closest(\"picture\");\n if (pic) {\n pic.querySelectorAll(\"source[data-lazy-srcset]\").forEach((source) => {\n source.setAttribute(\"srcset\", source.getAttribute(\"data-lazy-srcset\") || \"\");\n source.removeAttribute(\"data-lazy-srcset\");\n });\n }\n el.setAttribute(\"src\", el.getAttribute(\"data-lazy-src\") || \"\");\n el.removeAttribute(\"data-lazy-src\");\n }\n _renderSources() {\n if (!this.imgData.sources) {\n return null;\n }\n if (this.lazy) {\n return Object.values(this.imgData.sources).map(\n (source) => ke`\n \n `\n );\n }\n return Object.values(this.imgData.sources).map(\n (source) => ke`\n \n `\n );\n }\n render() {\n return ke`\n \n ${this._renderSources()}\n \n \n `;\n }\n};\nJbPicture.styles = r(jb_picture_default);\n__decorateClass([\n n()\n], JbPicture.prototype, \"alt\", 2);\n__decorateClass([\n n()\n], JbPicture.prototype, \"aspect\", 2);\n__decorateClass([\n n()\n], JbPicture.prototype, \"fit\", 2);\n__decorateClass([\n n({ type: Number })\n], JbPicture.prototype, \"focusPointHorizontal\", 2);\n__decorateClass([\n n({ type: Number })\n], JbPicture.prototype, \"focusPointVertical\", 2);\n__decorateClass([\n n({ type: Object })\n], JbPicture.prototype, \"imgData\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbPicture.prototype, \"lazy\", 2);\n__decorateClass([\n e(\"img[data-lazy-src]\")\n], JbPicture.prototype, \"_lazyImage\", 2);\nJbPicture = __decorateClass([\n customElement(\"jb-picture\")\n], JbPicture);\n\nexport {\n JbPicture\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n D,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-accordion/jb-accordion.scss?inline\nvar jb_accordion_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nh4 {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\nh4 {\n font-size: var(--theme-typo-h2-section-title-mobile-fontsize, 1.5rem);\n letter-spacing: var(--theme-typo-h2-section-title-mobile-letterspacing, 0.125rem);\n line-height: var(--theme-typo-h2-section-title-mobile-lineheight, 2.25rem);\n}\n@media (min-width: 1281px) {\n h4 {\n font-size: var(--theme-typo-h2-section-title-desktop-fontsize, 1.938rem);\n letter-spacing: var(--theme-typo-h2-section-title-desktop-letterspacing, 0.25rem);\n line-height: var(--theme-typo-h2-section-title-desktop-lineheight, 2.5rem);\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\nsection {\n justify-content: center;\n padding-block: 30px;\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: calc(100% - 2 * var(--row-small-margin, 6.68%));\n}\n@media (min-width: 1281px) {\n section {\n padding-block: 34px;\n }\n}\n@media (min-width: 600px) and (max-width: 959px) {\n section {\n width: calc(100% - 2 * 8.35%);\n }\n}\n@media (min-width: 1437px) {\n section {\n max-width: var(--row-max-width, 1436px);\n }\n section:not(.filtered-list) {\n width: 100%;\n }\n}\n@media only screen and (min-width: 960px) and (max-width: 1436px) {\n section {\n margin: 0 6.955%;\n max-width: calc(100% - 6.955% - 6.955%);\n }\n}\n\nh4 {\n margin-block-end: var(--spacing-m);\n text-align: center;\n text-transform: uppercase;\n}\n\n.container {\n box-sizing: border-box;\n flex-basis: 100%;\n max-width: 100%;\n padding: 0 20px;\n width: 100%;\n padding: 0;\n}\n@media (min-width: 960px) {\n .container {\n box-sizing: border-box;\n flex-basis: 66.6666666667%;\n max-width: 66.6666666667%;\n padding: 0 20px;\n width: 66.6666666667%;\n }\n}\n\n.intranet h4 {\n margin-block-end: var(--spacing-s);\n text-align: left;\n}\n@media (min-width: 1281px) {\n .intranet h4 {\n margin-block-end: var(--spacing-sm);\n }\n}`;\n\n// src/components/jb-accordion/jb-accordion.ts\nvar JbAccordion = class extends h {\n render() {\n return ke`\n
    \n
    \n ${this.headline ? ke`

    ${this.headline}

    ` : D}\n \n
    \n
    \n `;\n }\n};\nJbAccordion.styles = r(jb_accordion_default);\n__decorateClass([\n n()\n], JbAccordion.prototype, \"headline\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbAccordion.prototype, \"intranetStyle\", 2);\nJbAccordion = __decorateClass([\n customElement(\"jb-accordion\")\n], JbAccordion);\n\nexport {\n JbAccordion\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n e,\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-accordion-item/jb-accordion-item.scss?inline\nvar jb_accordion_item_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.item-title {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n.item-toggle:checked ~ .item-header .item-title::before {\n transform: rotate(90deg) !important;\n}\n.item-toggle:checked ~ .item-content {\n max-height: 5000px;\n padding-bottom: 30px;\n padding-top: 30px;\n transition-duration: 1s;\n transition-property: max-height;\n}\n\n.item {\n position: relative;\n}\n\n.item-header {\n border-bottom: 1px solid rgba(20, 30, 85, 0.3);\n}\n\n.item-title {\n color: #141e55;\n cursor: pointer;\n display: block;\n font-size: var(--theme-typo-p-highlight-desktop-fontsize, 1.188rem);\n line-height: var(--theme-typo-p-highlight-desktop-lineheight, 2.125rem);\n padding-block: var(--spacing-2xs);\n padding-inline: 0 calc(16px + var(--spacing-xs));\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.item-title::after, .item-title::before {\n background-color: #141e55;\n border-radius: 20px;\n content: \"\";\n height: 14px;\n position: absolute;\n right: 24px;\n top: 21px;\n transition: all 0.2s ease-in-out 0s;\n width: 2px;\n}\n@media (min-width: 960px) {\n .item-title::after, .item-title::before {\n top: 24px;\n }\n}\n.item-title::after {\n transform: rotate(90deg);\n}\n\n.item-toggle {\n display: none;\n}\n\n.item-content {\n backface-visibility: hidden;\n max-height: 0;\n overflow: hidden;\n padding-bottom: 0;\n padding-top: 0;\n transform: translateZ(0);\n transition-duration: 0.2s;\n transition-property: max-height, padding-bottom, padding-top;\n transition-timing-function: ease-out;\n}`;\n\n// src/components/jb-accordion-item/jb-accordion-item.ts\nvar JbAccordionItem = class extends h {\n _sendTrackingClick() {\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_interaction\",\n event_version: \"v2\",\n component_name: \"accordion-item\",\n interaction_effect: \"toggle\",\n interaction_element: \"Accordion\",\n interaction_result: this._input.checked ? \"close\" : \"open\",\n interaction_text: this.headline,\n interaction_type: \"click\"\n },\n bubbles: true,\n composed: true\n })\n );\n }\n render() {\n return ke`\n
    \n \n \n \n ${this.headline}\n \n
    \n \n
    \n \n `;\n }\n};\nJbAccordionItem.styles = r(jb_accordion_item_default);\n__decorateClass([\n n()\n], JbAccordionItem.prototype, \"headline\", 2);\n__decorateClass([\n e(\"input\")\n], JbAccordionItem.prototype, \"_input\", 2);\nJbAccordionItem = __decorateClass([\n customElement(\"jb-accordion-item\")\n], JbAccordionItem);\n\nexport {\n JbAccordionItem\n};\n", "import {\n Spaceable\n} from \"./chunk.G3SZKTQJ.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-wealth-report/jb-wealth-report.scss?inline\nvar jb_wealth_report_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.title {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n.title {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 1.375rem;\n letter-spacing: calc(var(--letter-spacing-factor, 3) * 0.063rem);\n line-height: 2.25rem;\n}\n@media (min-width: 1281px) {\n .title {\n font-size: 1.75rem;\n letter-spacing: calc(var(--letter-spacing-factor, 4) * 0.063rem);\n line-height: 2.5rem;\n }\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n.title {\n display: block;\n margin-bottom: 68px;\n text-align: center;\n text-transform: uppercase;\n}\n\njb-wealth-report-globe {\n margin-bottom: 8px;\n}\n@media (min-width: 960px) {\n jb-wealth-report-globe {\n box-sizing: border-box;\n flex-basis: 83.3333333333%;\n max-width: 83.3333333333%;\n padding: 0 20px;\n width: 83.3333333333%;\n justify-self: flex-end;\n margin-bottom: 0;\n }\n}\n\njb-wealth-report-list {\n margin-top: 28px;\n}\n@media (min-width: 960px) {\n jb-wealth-report-list {\n box-sizing: border-box;\n flex-basis: 83.3333333333%;\n max-width: 83.3333333333%;\n padding: 0 20px;\n width: 83.3333333333%;\n margin-top: 0;\n padding-block: 25px;\n }\n}\n\n@media (min-width: 960px) {\n .world_wealth_report {\n display: grid;\n gap: 50px;\n grid-template: none/1fr 1fr;\n }\n jb-wealth-report-stats {\n grid-column: 1/3;\n grid-row: 2/3;\n margin: 0 auto;\n box-sizing: border-box;\n flex-basis: 83.3333333333%;\n max-width: 83.3333333333%;\n padding: 0 20px;\n width: 83.3333333333%;\n }\n jb-wealth-report-list {\n align-self: center;\n }\n}`;\n\n// src/components/jb-wealth-report/jb-wealth-report.ts\nvar JbWealthReport = class extends Spaceable(h) {\n constructor() {\n super(...arguments);\n this._wealthList = [];\n this._wealthStatExtremes = {};\n this._wealthStats = {};\n }\n firstUpdated() {\n this._makeWealthList();\n this._makeWealthStats();\n this._makeWealthStatExtremes();\n }\n _citySelected(event) {\n this.selectedCity = event.detail.cityKey;\n this._makeWealthStats();\n }\n _getContentSpacingProperties() {\n return { colsMdUp: \"none\", horizontal: \"full-width-sm-down\" };\n }\n _makeWealthList() {\n Object.entries(this.cities).forEach(([key, city]) => {\n this._wealthList.push({\n cityKey: key,\n city: city.name,\n rank21: city.rank21,\n rank22: city.rank22\n });\n });\n }\n _makeWealthStatExtremes() {\n Object.values(this.cities).forEach((city) => {\n Object.keys(city.stats).forEach((statKey) => {\n if (!this._wealthStatExtremes[statKey]) {\n this._wealthStatExtremes[statKey] = { high: 0, low: 10 };\n }\n this._wealthStatExtremes[statKey].high = Math.max(this._wealthStatExtremes[statKey].high, city.stats[statKey]);\n if (city.stats[statKey] > 0) {\n this._wealthStatExtremes[statKey].low = Math.min(this._wealthStatExtremes[statKey].low, city.stats[statKey]);\n }\n });\n });\n }\n _makeWealthStats() {\n const currentCity = this.cities[this.selectedCity];\n Object.keys(currentCity.stats).forEach((key) => {\n this._wealthStats[key] = {\n label: this.translations[key],\n stat: currentCity.stats[key]\n };\n });\n }\n render() {\n return ke`\n
    ${this.headLine}
    \n \n \n \n \n \n `;\n }\n};\nJbWealthReport.styles = r(jb_wealth_report_default);\n__decorateClass([\n n({ type: Array })\n], JbWealthReport.prototype, \"cities\", 2);\n__decorateClass([\n n()\n], JbWealthReport.prototype, \"headLine\", 2);\n__decorateClass([\n n()\n], JbWealthReport.prototype, \"selectedCity\", 2);\n__decorateClass([\n n({ type: Object })\n], JbWealthReport.prototype, \"translations\", 2);\nJbWealthReport = __decorateClass([\n customElement(\"jb-wealth-report\")\n], JbWealthReport);\n\nexport {\n JbWealthReport\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n Oe,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n,\n r2\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-wealth-report-globe/jb-wealth-report-globe.scss?inline\nvar jb_wealth_report_globe_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nspan {\n font-family: var(--theme-font-black-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-black-weight, 900);\n}\n\nspan {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.125rem;\n line-height: 1rem;\n text-decoration: none;\n text-transform: uppercase;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: block;\n margin: 0 25px;\n position: relative;\n}\n:host::before {\n content: \"\";\n float: left;\n padding-top: 100%;\n}\n:host::after {\n clear: both;\n content: \"\";\n display: block;\n}\n\ndiv {\n left: 8.5%;\n opacity: 0;\n position: absolute;\n top: 7%;\n transition: opacity 0.5s;\n width: 86%;\n}\n\ndiv.visible {\n opacity: 1;\n transition: opacity 0.5s 0.5s;\n z-index: 1;\n}\n\ndiv.europe {\n left: 0;\n top: 0;\n width: 100%;\n}\n\nsvg {\n margin: auto;\n pointer-events: none;\n}\n\nspan {\n align-items: center;\n background-color: #141e55;\n border-radius: 45px;\n color: #fff;\n cursor: pointer;\n display: flex;\n height: 33px;\n justify-content: center;\n line-height: 0.813rem;\n position: absolute;\n transform: translate(-50%, -50%);\n transition: all 0.3s;\n width: 33px;\n}\n@media (min-width: 960px) {\n span {\n font-size: 1rem;\n height: 44px;\n width: 44px;\n }\n}\n\nspan.highlighted {\n background-color: #b0aa7e;\n height: 56px;\n width: 56px;\n z-index: 2;\n}\n@media (min-width: 960px) {\n span.highlighted {\n height: 64px;\n width: 64px;\n }\n}\n\njb-chevron-icon {\n left: 8px;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n z-index: 2;\n}\n\njb-chevron-icon + jb-chevron-icon {\n left: unset;\n right: 0;\n}\n\njb-chevron-icon.hidden {\n display: none;\n}\n\njb-clear-icon {\n --icon-size: 36px;\n background-color: #fff;\n border-radius: 50%;\n position: absolute;\n right: 10px;\n top: 12px;\n}\n\n.cls-1 {\n fill: #141e55;\n}\n\n.cls-2 {\n fill: #fff;\n fill-rule: evenodd;\n stroke: #141e55;\n stroke-miterlimit: 10;\n stroke-width: 0.25px;\n}\n\n.cls-3 {\n fill: #fff;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n\n.cls-3,\n.cls-4 {\n stroke: #141e55;\n stroke-width: 1.2px;\n}\n\n.cls-4 {\n fill: none;\n stroke-miterlimit: 10;\n}`;\n\n// src/components/jb-wealth-report-globe/jb-wealth-report-globe.ts\nvar JbWealthReportGlobe = class extends h {\n constructor() {\n super(...arguments);\n this._regions = [\"america\", \"africa\", \"asia\", \"australia\"];\n this._svgAfrica = Oe``;\n this._svgAmerica = Oe``;\n this._svgAsia = Oe``;\n this._svgAustralia = Oe``;\n this._svgEurope = Oe``;\n }\n update(changedProperties) {\n super.update(changedProperties);\n if (changedProperties.has(\"selectedCity\")) {\n this.region = this.cities[this.selectedCity].region;\n }\n }\n _citySelectedEvent() {\n const event = new CustomEvent(\"jb-wealth-report:city-selected\", {\n detail: { cityKey: this.selectedCity },\n bubbles: true,\n composed: true\n });\n this.dispatchEvent(event);\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_interaction\",\n event_version: \"v2\",\n component_name: \"report_component\",\n interaction_element: this.region === \"europe\" ? \"map-region\" : \"map-global\",\n interaction_type: \"click\",\n interaction_result: this.selectedCity\n },\n bubbles: true,\n composed: true\n })\n );\n }\n _click(e) {\n const selectedCityKey = e.target.dataset.cityKey;\n if (selectedCityKey && selectedCityKey === this.selectedCity) {\n return;\n }\n this.selectedCity = selectedCityKey;\n this._citySelectedEvent();\n }\n _closeOverlay() {\n this.region = \"africa\";\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_interaction\",\n event_version: \"v2\",\n component_name: \"report_component\",\n interaction_element: \"map-region\",\n interaction_type: \"close\",\n interaction_result: this.region\n },\n bubbles: true,\n composed: true\n })\n );\n }\n _openOverlay() {\n this.region = \"europe\";\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_interaction\",\n event_version: \"v2\",\n component_name: \"report_component\",\n interaction_element: \"map-global\",\n interaction_type: \"zoom-in\",\n interaction_result: this.region\n },\n bubbles: true,\n composed: true\n })\n );\n }\n _renderCitiesOnRegion(region) {\n const returnHTML = [];\n Object.entries(this.cities).forEach(([name, city]) => {\n if (city.region === region) {\n returnHTML.push(this._renderCity(city.rank22, name, `top: ${city.y}%; left: ${city.x}%;`));\n }\n });\n return returnHTML;\n }\n _renderCity(number, name, style) {\n return ke`${(\"0\" + number).slice(-2)}`;\n }\n _renderMagnifyingGlass() {\n return ke`\n \n \n \n `;\n }\n _rotateLeft() {\n this.region = this._regions[(this._regions.indexOf(this.region) - 1 + this._regions.length) % this._regions.length];\n }\n _rotateRight() {\n this.region = this._regions[(this._regions.indexOf(this.region) + 1) % this._regions.length];\n }\n render() {\n return ke`\n
    \n ${this._renderCitiesOnRegion(\"america\")} ${this._svgAmerica}\n
    \n
    \n ${this._renderMagnifyingGlass()} ${this._renderCitiesOnRegion(\"africa\")} ${this._svgAfrica}\n
    \n
    \n ${this._renderCitiesOnRegion(\"europe\")}\n \n ${this._svgEurope}\n
    \n
    \n ${this._renderCitiesOnRegion(\"asia\")} ${this._svgAsia}\n
    \n
    \n ${this._renderCitiesOnRegion(\"australia\")} ${this._svgAustralia}\n
    \n \n \n `;\n }\n};\nJbWealthReportGlobe.styles = r(jb_wealth_report_globe_default);\n__decorateClass([\n n({ type: Array })\n], JbWealthReportGlobe.prototype, \"cities\", 2);\n__decorateClass([\n n()\n], JbWealthReportGlobe.prototype, \"region\", 2);\n__decorateClass([\n n()\n], JbWealthReportGlobe.prototype, \"selectedCity\", 2);\n__decorateClass([\n r2(\"span\")\n], JbWealthReportGlobe.prototype, \"_spans\", 2);\nJbWealthReportGlobe = __decorateClass([\n customElement(\"jb-wealth-report-globe\")\n], JbWealthReportGlobe);\n\nexport {\n JbWealthReportGlobe\n};\n", "import {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n debounce\n} from \"./chunk.WXNWU2SV.js\";\nimport {\n Oe,\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-wealth-report-list/jb-wealth-report-list.scss?inline\nvar jb_wealth_report_list_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\nbutton {\n font-family: var(--theme-font-black-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-black-weight, 900);\n}\n\ntable tbody td.highlight, table thead tr th.highlight {\n font-family: var(--theme-font-bold-family, VerlagSSm, Tahoma, sans-serif);\n font-weight: var(--theme-font-bold-weight, 700);\n}\n\ntable tbody tr, table thead tr th, table {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\ntable {\n color: rgba(var(--rgb-primary, 20, 30, 85), var(--text-opacity, var(--theme-opacity-80, 0.8)));\n font-size: 1rem;\n line-height: 1.625rem;\n}\n\nbutton {\n color: rgb(var(--rgb-primary, 20, 30, 85));\n font-size: 0.688rem;\n letter-spacing: 0.125rem;\n line-height: 1rem;\n text-decoration: none;\n text-transform: uppercase;\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n aspect-ratio: unset;\n display: block;\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex: 0 1 auto;\n flex-direction: row;\n flex-wrap: wrap;\n margin-left: auto;\n margin-right: auto;\n width: calc(100% - 2 * var(--row-small-margin, 6.68%));\n}\n@media (min-width: 600px) and (max-width: 959px) {\n :host {\n width: calc(100% - 2 * 8.35%);\n }\n}\n@media (min-width: 1437px) {\n :host {\n max-width: var(--row-max-width, 1436px);\n }\n :host:not(.filtered-list) {\n width: 100%;\n }\n}\n@media only screen and (min-width: 960px) and (max-width: 1436px) {\n :host {\n margin: 0 6.955%;\n max-width: calc(100% - 6.955% - 6.955%);\n }\n}\n@media (min-width: 960px) {\n :host {\n aspect-ratio: 1;\n margin: 0;\n width: 100%;\n }\n}\n\nbutton {\n background-color: transparent;\n border: 0;\n border-bottom: 1px solid currentcolor;\n color: rgb(var(--rgb-primary, 20, 30, 85));\n cursor: pointer;\n display: inline-flex;\n opacity: 0.4;\n padding: 6px 0;\n position: relative;\n text-transform: uppercase;\n}\nbutton.highlight {\n opacity: 1;\n}\nbutton:first-of-type {\n margin-right: 24px;\n}\n\n.buttons {\n margin-left: -15px;\n padding-left: 15px;\n}\n@media (min-width: 960px) {\n .buttons {\n margin-left: 0;\n }\n}\n\n.table-scroll {\n height: calc(100% - 37px);\n margin-left: -15px;\n overflow-y: auto;\n padding-left: 15px;\n width: calc(100% + 15px);\n}\n@media (min-width: 960px) {\n .table-scroll {\n margin-left: 0;\n width: 100%;\n }\n}\n.table-scroll::-webkit-scrollbar {\n background-color: #141e55;\n height: 5px;\n width: 5px;\n}\n.table-scroll::-webkit-scrollbar-track {\n background-clip: content-box;\n background-color: #f1f2f2;\n}\n.table-scroll::-webkit-scrollbar-thumb {\n background-color: #141e55;\n border-radius: 4px;\n width: 180px;\n}\n.table-scroll::-webkit-scrollbar-track-piece:start {\n background-color: transparent;\n margin-top: 40px;\n}\n@media (min-width: 960px) {\n .table-scroll {\n padding-right: 32px;\n }\n .table-scroll::after {\n background: white;\n content: \"\";\n height: 81px;\n position: absolute;\n right: 14px;\n top: 0;\n width: 18px;\n z-index: 2;\n }\n}\n\ntable {\n border-collapse: collapse;\n text-align: left;\n width: 100%;\n}\ntable * {\n color: RGBA(var(--rgb-primary, 20, 30, 85), 0.8);\n}\ntable th,\ntable td {\n text-align: right;\n}\ntable th:first-child,\ntable td:first-child {\n text-align: left;\n}\ntable thead {\n border-bottom: 1px solid RGBA(var(--rgb-primary, 20, 30, 85), 0.3);\n}\ntable thead tr th {\n background-color: #fff;\n padding: 16px 20px 7px 0;\n position: sticky;\n top: 0;\n z-index: 1;\n}\ntable thead tr th:last-of-type {\n padding-right: 0;\n}\ntable thead tr th:first-of-type::before {\n background-color: white;\n content: \"\";\n display: block;\n inset: 0 100% 0 -20px;\n position: absolute;\n}\ntable tbody tr {\n border-bottom: 1px solid RGBA(var(--rgb-primary, 20, 30, 85), 0.3);\n cursor: pointer;\n line-height: 1.938rem;\n}\ntable tbody tr.highlight td:first-child {\n position: relative;\n}\ntable tbody tr.highlight td:first-child::before {\n background-color: #b0aa7e;\n border-radius: 8px;\n content: \" \";\n height: 8px;\n left: -15px;\n position: absolute;\n top: 12px;\n width: 8px;\n}\ntable tbody td {\n padding-right: 20px;\n}\ntable tbody td:last-of-type {\n padding-right: 0;\n}\n\n.change {\n display: inline-block;\n text-align: center;\n width: 15px;\n}\n\n.arrow-container {\n align-items: center;\n display: inline-flex;\n height: 100%;\n justify-content: center;\n width: 20px;\n}\n\n.arrow {\n margin-top: -2px;\n}\n.arrow.down {\n transform: rotate(180deg);\n}\n.arrow.same {\n transform: rotate(90deg);\n}`;\n\n// src/components/jb-wealth-report-list/jb-wealth-report-list.ts\nvar JbWealthReportList = class extends h {\n constructor() {\n super(...arguments);\n this.sort = \"alphabetical\";\n this._directionArrow = Oe``;\n this._lastScrollTop = 0;\n }\n _changeSortClicked(evt) {\n this.sort = evt.currentTarget.dataset.sort;\n this._sortList(this.sort);\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_interaction\",\n event_version: \"v2\",\n component_name: \"report_component\",\n interaction_element: \"table-sort\",\n interaction_type: \"click\",\n interaction_result: this.sort === \"alphabetical\" ? \"alphabetical\" : \"ranking\"\n },\n bubbles: true,\n composed: true\n })\n );\n }\n _cityChangeClicked(e) {\n this.selectedCity = e.currentTarget.dataset.cityKey;\n this._citySelectedEvent();\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_interaction\",\n event_version: \"v2\",\n component_name: \"report_component\",\n interaction_element: \"table-row\",\n interaction_type: \"click\",\n interaction_result: this.selectedCity\n },\n bubbles: true,\n composed: true\n })\n );\n }\n _citySelectedEvent() {\n const event = new CustomEvent(\"jb-wealth-report:city-selected\", {\n detail: {\n cityKey: this.selectedCity\n },\n bubbles: true,\n composed: true\n });\n this.dispatchEvent(event);\n }\n _renderList() {\n this._sortList(this.sort);\n return this.list.map((listItem) => {\n const currentChange = listItem.rank21 - listItem.rank22;\n let direction;\n if (currentChange < 0) {\n direction = \"down\";\n } else if (currentChange > 0) {\n direction = \"up\";\n } else {\n direction = \"same\";\n }\n return ke`\n \n ${listItem.city}\n ${listItem.rank22}\n ${listItem.rank21}\n \n ${Math.abs(currentChange)}\n \n ${this._directionArrow}\n \n \n \n `;\n });\n }\n _scrollEvent(listScrollTop) {\n this.dispatchEvent(\n new CustomEvent(\"jb-tracking\", {\n detail: {\n event: \"ce_interaction\",\n event_version: \"v2\",\n component_name: \"report_component\",\n interaction_element: \"table\",\n interaction_type: \"scroll\",\n interaction_result: listScrollTop > this._lastScrollTop ? \"down\" : \"up\"\n },\n bubbles: true,\n composed: true\n })\n );\n this._lastScrollTop = listScrollTop <= 0 ? 0 : listScrollTop;\n }\n _sortList(direction) {\n if (direction === \"alphabetical\") {\n this.list.sort((a, b) => {\n if (a.city < b.city) return -1;\n if (a.city > b.city) return 1;\n return 0;\n });\n } else {\n this.list.sort((a, b) => a.rank22 - b.rank22);\n }\n }\n render() {\n return ke`\n
    \n \n ${this.alphabetical}\n \n \n ${this.globalRanking}\n \n
    \n {\n this._scrollEvent(this.renderRoot.querySelector(\".table-scroll\").scrollTop);\n }, 100)}\n >\n \n \n \n \n \n \n \n \n \n \n ${this._renderList()}\n \n
    20222021${this.change}
    \n \n `;\n }\n};\nJbWealthReportList.styles = r(jb_wealth_report_list_default);\n__decorateClass([\n n()\n], JbWealthReportList.prototype, \"alphabetical\", 2);\n__decorateClass([\n n()\n], JbWealthReportList.prototype, \"change\", 2);\n__decorateClass([\n n()\n], JbWealthReportList.prototype, \"globalRanking\", 2);\n__decorateClass([\n n({ type: Array })\n], JbWealthReportList.prototype, \"list\", 2);\n__decorateClass([\n n()\n], JbWealthReportList.prototype, \"selectedCity\", 2);\n__decorateClass([\n n()\n], JbWealthReportList.prototype, \"sort\", 2);\nJbWealthReportList = __decorateClass([\n customElement(\"jb-wealth-report-list\")\n], JbWealthReportList);\n\nexport {\n JbWealthReportList\n};\n", "import {\n fe\n} from \"./chunk.637M2SN5.js\";\nimport {\n Rt\n} from \"./chunk.LTAMHVKK.js\";\nimport {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/jb-wealth-report-stats/jb-wealth-report-stats.scss?inline\nvar jb_wealth_report_stats_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n.label {\n font-family: var(--theme-font-light-family, VerlagSSm, Tahoma, sans-serif);\n font-style: normal;\n font-weight: var(--theme-font-light-weight, 300);\n}\n\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n.title {\n color: #141e55;\n font-family: VerlagSSm, Tahoma, sans-serif;\n font-style: normal;\n font-weight: 700;\n margin-bottom: 0;\n margin-left: 37px;\n position: relative;\n font-size: 17px;\n font-size: 1.0625rem;\n line-height: 30px;\n line-height: 1.875rem;\n}\n.title::before {\n background-color: #b0aa7e;\n bottom: -12px;\n content: \"\";\n height: 34px;\n left: -11px;\n position: absolute;\n width: 2px;\n}\n@media (min-width: 960px) {\n .title::before {\n bottom: -4px;\n height: 3px;\n left: 0;\n width: 40px;\n }\n}\n@media (min-width: 960px) {\n .title {\n font-size: 24px;\n font-size: 1.5rem;\n line-height: 36px;\n line-height: 2.25rem;\n margin-left: 0;\n }\n}\n\n.stats-list {\n background-color: #141e55;\n color: #fff;\n display: grid;\n gap: 12.5px;\n grid-template-columns: repeat(18, 1fr);\n overflow-x: auto;\n padding-left: 4.5px;\n padding-top: 12px;\n scroll-snap-type: x mandatory;\n}\n.stats-list > div {\n align-items: center;\n display: flex;\n flex-direction: column;\n padding-bottom: 10px;\n padding-left: 25px;\n scroll-snap-align: start;\n width: 75px;\n}\n.stats-list > div:last-child {\n padding-right: 25px;\n width: 100px;\n}\n@media (min-width: 960px) {\n .stats-list > div {\n padding: 0;\n }\n .stats-list > div:first-child {\n padding-left: 0;\n }\n}\n.stats-list::-webkit-scrollbar {\n background-color: #141e55;\n height: 5px;\n width: 5px;\n}\n.stats-list::-webkit-scrollbar-track {\n background-clip: content-box;\n background-color: #f1f2f2;\n}\n.stats-list::-webkit-scrollbar-thumb {\n background-color: #141e55;\n border-radius: 4px;\n width: 180px;\n}\n.stats-list::-webkit-scrollbar-track-piece:start {\n background-color: transparent;\n margin-top: 40px;\n}\n@media (min-width: 960px) {\n .stats-list {\n background-color: #fff;\n color: #141e55;\n grid-template-columns: repeat(9, 1fr);\n padding-top: 30px;\n }\n}\n\n.icon {\n align-items: center;\n display: flex;\n height: 50px;\n justify-content: center;\n padding: 12px 8px;\n width: 50px;\n}\n.icon svg {\n height: auto;\n width: 100%;\n}\n.icon svg path {\n fill: #fff;\n}\n@media (min-width: 960px) {\n .icon {\n color: #141e55;\n height: 56px;\n width: 56px;\n }\n .icon svg path {\n fill: #141e55;\n }\n}\n\n.stat {\n align-items: center;\n border-radius: 40px;\n display: flex;\n font-family: VerlagSSm, Tahoma, sans-serif;\n font-style: normal;\n font-weight: 700;\n height: 30px;\n justify-content: center;\n letter-spacing: normal;\n text-align: center;\n width: 40px;\n font-size: 20px;\n font-size: 1.25rem;\n line-height: 22px;\n line-height: 1.375rem;\n}\n.stat.min, .stat.max {\n background-color: transparent;\n color: #fff;\n}\n@media (min-width: 960px) {\n .stat {\n letter-spacing: 2px;\n letter-spacing: 0.09375rem;\n height: 40px;\n }\n .stat.min {\n background-color: #f3f3ec;\n color: #b0aa7e;\n font-weight: 900;\n }\n .stat.max {\n background-color: rgba(20, 30, 85, 0.1019607843);\n color: rgba(20, 30, 85, 0.6980392157);\n font-weight: 900;\n }\n}\n\n.label {\n color: #fff;\n text-align: center;\n font-size: 11px;\n font-size: 0.6875rem;\n line-height: 16px;\n line-height: 1rem;\n letter-spacing: 2px;\n letter-spacing: 0.125rem;\n}\n@media (min-width: 960px) {\n .label {\n color: #141e55;\n letter-spacing: 1px;\n letter-spacing: 0.0625rem;\n }\n}`;\n\n// src/components/jb-wealth-report-stats/jb-wealth-report-stats.ts\nvar JbWealthReportStats = class extends h {\n constructor() {\n super(...arguments);\n this._icons = {\n bi: '',\n ca: '',\n je: '',\n lb: '',\n ls: '',\n ms: '',\n rp: '',\n tp: '',\n tr: '',\n wa: '',\n wh: '',\n wi: '',\n bf: '',\n dd: '',\n hi: '',\n hs: '',\n la: '',\n lw: ''\n };\n }\n _renderList() {\n return Object.keys(this.stats).map(\n (key) => ke`\n
    \n \n ${this.stats[key].stat === 0 ? \"-\" : (\"0\" + this.stats[key].stat).slice(-2)}\n
    \n
    ${fe(this._icons[key])}
    \n
    ${this.stats[key].label}
    \n \n `\n );\n }\n render() {\n return ke`\n
    \n
    ${this.cityName}
    \n
    ${this._renderList()}
    \n
    \n `;\n }\n};\nJbWealthReportStats.styles = r(jb_wealth_report_stats_default);\n__decorateClass([\n n()\n], JbWealthReportStats.prototype, \"cityName\", 2);\n__decorateClass([\n n()\n], JbWealthReportStats.prototype, \"stats\", 2);\n__decorateClass([\n n()\n], JbWealthReportStats.prototype, \"statsExtremes\", 2);\nJbWealthReportStats = __decorateClass([\n customElement(\"jb-wealth-report-stats\")\n], JbWealthReportStats);\n\nexport {\n JbWealthReportStats\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-clear-icon/jb-clear-icon.scss?inline\nvar jb_clear_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n cursor: pointer;\n display: inline-block;\n height: var(--icon-size, 25px);\n width: var(--icon-size, 25px);\n}\n\nsvg {\n fill: rgb(var(--rgb-primary, 20, 30, 85));\n}`;\n\n// src/components/icons/jb-clear-icon/jb-clear-icon.ts\nvar JbClearIcon = class extends h {\n render() {\n return ke`\n \n \n \n `;\n }\n};\nJbClearIcon.styles = r(jb_clear_icon_default);\nJbClearIcon = __decorateClass([\n customElement(\"jb-clear-icon\")\n], JbClearIcon);\n\nexport {\n JbClearIcon\n};\n", "import {\n customElement\n} from \"./chunk.QAGUCU4C.js\";\nimport {\n h,\n ke\n} from \"./chunk.FCKNEYTX.js\";\nimport {\n n\n} from \"./chunk.BBN2ZB42.js\";\nimport {\n i,\n r\n} from \"./chunk.FAJKIEWS.js\";\nimport {\n __decorateClass\n} from \"./chunk.I4IFG4JG.js\";\n\n// src/components/icons/jb-chevron-icon/jb-chevron-icon.scss?inline\nvar jb_chevron_icon_default = i`*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\ndiv,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\nol,\nul,\nli,\nform,\nlegend,\nlabel,\ntable,\nheader,\nfooter,\nnav,\nsection,\nfigure {\n margin: 0;\n padding: 0;\n}\n\na {\n color: inherit;\n}\n\n/* COLOR SETTINGS */\n/* shadows */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n/* stylelint-disable */\n/* stylelint-enable */\n:host {\n --spacing-none: 0;\n --spacing-base: 4px;\n --spacing-3xs: 8px;\n --spacing-2xs: 12px;\n --spacing-xs: 16px;\n --spacing-s: 20px;\n --spacing-sm: 20px;\n --spacing-m: 24px;\n --spacing-lm: 28px;\n --spacing-l: 32px;\n --spacing-xl: 32px;\n --spacing-2xl: 36px;\n --spacing-3xl: 36px;\n --spacing-4xl: 72px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 16px;\n}\n\n@media screen and (width >= 1281px) {\n :host {\n --spacing-sm: 24px;\n --spacing-m: 32px;\n --spacing-lm: 36px;\n --spacing-l: 40px;\n --spacing-xl: 48px;\n --spacing-2xl: 64px;\n --spacing-3xl: 72px;\n --spacing-4xl: 144px;\n --spacing-small: var(--spacing-lm);\n --spacing-medium: var(--spacing-3xl);\n --spacing-big: var(--spacing-4xl);\n --spacing-gap: 40px;\n }\n}\n/* special measurements */\n:host {\n color: var(--host-color, #141e55);\n}\n\n:host {\n display: inline-block;\n height: var(--icon-size, 18px);\n width: var(--icon-size, 18px);\n}\n\nsvg {\n fill: rgb(var(--rgb-primary, 20, 30, 85));\n transition: transform 0.3s, opacity 0.3s;\n}\nsvg:hover:not(.disabled) {\n cursor: pointer;\n transform: translateX(3px);\n}\n\n.left {\n transform: scale(-1, 1);\n}\n.left:hover:not(.disabled) {\n transform: scale(-1, 1) translateX(3px);\n}\n\n.down {\n transform: rotate(90deg);\n}\n.down:hover:not(.disabled) {\n transform: rotate(90deg) translateX(3px);\n}\n\n.up {\n transform: rotate(-90deg);\n}\n.up:hover:not(.disabled) {\n transform: rotate(-90deg) translateX(3px);\n}\n\n.disabled {\n opacity: 0.2;\n}`;\n\n// src/components/icons/jb-chevron-icon/jb-chevron-icon.ts\nvar JbChevronIcon = class extends h {\n constructor() {\n super(...arguments);\n this.direction = \"right\";\n this.disabled = false;\n }\n render() {\n return ke`\n \n \n \n `;\n }\n};\nJbChevronIcon.styles = r(jb_chevron_icon_default);\n__decorateClass([\n n()\n], JbChevronIcon.prototype, \"direction\", 2);\n__decorateClass([\n n({ type: Boolean })\n], JbChevronIcon.prototype, \"disabled\", 2);\nJbChevronIcon = __decorateClass([\n customElement(\"jb-chevron-icon\")\n], JbChevronIcon);\n\nexport {\n JbChevronIcon\n};\n", "/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nconst NODE_MODE = false;\n\n// Allows minifiers to rename references to globalThis\nconst global = globalThis;\n\n/**\n * Whether the current browser supports `adoptedStyleSheets`.\n */\nexport const supportsAdoptingStyleSheets: boolean =\n global.ShadowRoot &&\n (global.ShadyCSS === undefined || global.ShadyCSS.nativeShadow) &&\n 'adoptedStyleSheets' in Document.prototype &&\n 'replace' in CSSStyleSheet.prototype;\n\n/**\n * A CSSResult or native CSSStyleSheet.\n *\n * In browsers that support constructible CSS style sheets, CSSStyleSheet\n * object can be used for styling along side CSSResult from the `css`\n * template tag.\n */\nexport type CSSResultOrNative = CSSResult | CSSStyleSheet;\n\nexport type CSSResultArray = Array;\n\n/**\n * A single CSSResult, CSSStyleSheet, or an array or nested arrays of those.\n */\nexport type CSSResultGroup = CSSResultOrNative | CSSResultArray;\n\nconst constructionToken = Symbol();\n\nconst cssTagCache = new WeakMap();\n\n/**\n * A container for a string of CSS text, that may be used to create a CSSStyleSheet.\n *\n * CSSResult is the return value of `css`-tagged template literals and\n * `unsafeCSS()`. In order to ensure that CSSResults are only created via the\n * `css` tag and `unsafeCSS()`, CSSResult cannot be constructed directly.\n */\nexport class CSSResult {\n // This property needs to remain unminified.\n ['_$cssResult$'] = true;\n readonly cssText: string;\n private _styleSheet?: CSSStyleSheet;\n private _strings: TemplateStringsArray | undefined;\n\n private constructor(\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ) {\n if (safeToken !== constructionToken) {\n throw new Error(\n 'CSSResult is not constructable. Use `unsafeCSS` or `css` instead.'\n );\n }\n this.cssText = cssText;\n this._strings = strings;\n }\n\n // This is a getter so that it's lazy. In practice, this means stylesheets\n // are not created until the first element instance is made.\n get styleSheet(): CSSStyleSheet | undefined {\n // If `supportsAdoptingStyleSheets` is true then we assume CSSStyleSheet is\n // constructable.\n let styleSheet = this._styleSheet;\n const strings = this._strings;\n if (supportsAdoptingStyleSheets && styleSheet === undefined) {\n const cacheable = strings !== undefined && strings.length === 1;\n if (cacheable) {\n styleSheet = cssTagCache.get(strings);\n }\n if (styleSheet === undefined) {\n (this._styleSheet = styleSheet = new CSSStyleSheet()).replaceSync(\n this.cssText\n );\n if (cacheable) {\n cssTagCache.set(strings, styleSheet);\n }\n }\n }\n return styleSheet;\n }\n\n toString(): string {\n return this.cssText;\n }\n}\n\ntype ConstructableCSSResult = CSSResult & {\n new (\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ): CSSResult;\n};\n\nconst textFromCSSResult = (value: CSSResultGroup | number) => {\n // This property needs to remain unminified.\n if ((value as CSSResult)['_$cssResult$'] === true) {\n return (value as CSSResult).cssText;\n } else if (typeof value === 'number') {\n return value;\n } else {\n throw new Error(\n `Value passed to 'css' function must be a 'css' function result: ` +\n `${value}. Use 'unsafeCSS' to pass non-literal values, but take care ` +\n `to ensure page security.`\n );\n }\n};\n\n/**\n * Wrap a value for interpolation in a {@linkcode css} tagged template literal.\n *\n * This is unsafe because untrusted CSS text can be used to phone home\n * or exfiltrate data to an attacker controlled site. Take care to only use\n * this with trusted input.\n */\nexport const unsafeCSS = (value: unknown) =>\n new (CSSResult as ConstructableCSSResult)(\n typeof value === 'string' ? value : String(value),\n undefined,\n constructionToken\n );\n\n/**\n * A template literal tag which can be used with LitElement's\n * {@linkcode LitElement.styles} property to set element styles.\n *\n * For security reasons, only literal string values and number may be used in\n * embedded expressions. To incorporate non-literal values {@linkcode unsafeCSS}\n * may be used inside an expression.\n */\nexport const css = (\n strings: TemplateStringsArray,\n ...values: (CSSResultGroup | number)[]\n): CSSResult => {\n const cssText =\n strings.length === 1\n ? strings[0]\n : values.reduce(\n (acc, v, idx) => acc + textFromCSSResult(v) + strings[idx + 1],\n strings[0]\n );\n return new (CSSResult as ConstructableCSSResult)(\n cssText,\n strings,\n constructionToken\n );\n};\n\n/**\n * Applies the given styles to a `shadowRoot`. When Shadow DOM is\n * available but `adoptedStyleSheets` is not, styles are appended to the\n * `shadowRoot` to [mimic spec behavior](https://wicg.github.io/construct-stylesheets/#using-constructed-stylesheets).\n * Note, when shimming is used, any styles that are subsequently placed into\n * the shadowRoot should be placed *before* any shimmed adopted styles. This\n * will match spec behavior that gives adopted sheets precedence over styles in\n * shadowRoot.\n */\nexport const adoptStyles = (\n renderRoot: ShadowRoot,\n styles: Array\n) => {\n if (supportsAdoptingStyleSheets) {\n (renderRoot as ShadowRoot).adoptedStyleSheets = styles.map((s) =>\n s instanceof CSSStyleSheet ? s : s.styleSheet!\n );\n } else {\n for (const s of styles) {\n const style = document.createElement('style');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const nonce = (global as any)['litNonce'];\n if (nonce !== undefined) {\n style.setAttribute('nonce', nonce);\n }\n style.textContent = (s as CSSResult).cssText;\n renderRoot.appendChild(style);\n }\n }\n};\n\nconst cssResultFromStyleSheet = (sheet: CSSStyleSheet) => {\n let cssText = '';\n for (const rule of sheet.cssRules) {\n cssText += rule.cssText;\n }\n return unsafeCSS(cssText);\n};\n\nexport const getCompatibleStyle =\n supportsAdoptingStyleSheets ||\n (NODE_MODE && global.CSSStyleSheet === undefined)\n ? (s: CSSResultOrNative) => s\n : (s: CSSResultOrNative) =>\n s instanceof CSSStyleSheet ? cssResultFromStyleSheet(s) : s;\n", "/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * Use this module if you want to create your own base class extending\n * {@link ReactiveElement}.\n * @packageDocumentation\n */\n\nimport {\n getCompatibleStyle,\n adoptStyles,\n CSSResultGroup,\n CSSResultOrNative,\n} from './css-tag.js';\nimport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\n// In the Node build, this import will be injected by Rollup:\n// import {HTMLElement, customElements} from '@lit-labs/ssr-dom-shim';\n\nexport * from './css-tag.js';\nexport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\n/**\n * Removes the `readonly` modifier from properties in the union K.\n *\n * This is a safer way to cast a value to a type with a mutable version of a\n * readonly field, than casting to an interface with the field re-declared\n * because it preserves the type of all the fields and warns on typos.\n */\ntype Mutable = Omit & {\n -readonly [P in keyof Pick]: P extends K ? T[P] : never;\n};\n\n// TODO (justinfagnani): Add `hasOwn` here when we ship ES2022\nconst {\n is,\n defineProperty,\n getOwnPropertyDescriptor,\n getOwnPropertyNames,\n getOwnPropertySymbols,\n getPrototypeOf,\n} = Object;\n\nconst NODE_MODE = false;\n\n// Lets a minifier replace globalThis references with a minified name\nconst global = globalThis;\n\nif (NODE_MODE) {\n global.customElements ??= customElements;\n}\n\nconst DEV_MODE = true;\n\nlet issueWarning: (code: string, warning: string) => void;\n\nconst trustedTypes = (global as unknown as {trustedTypes?: {emptyScript: ''}})\n .trustedTypes;\n\n// Temporary workaround for https://crbug.com/993268\n// Currently, any attribute starting with \"on\" is considered to be a\n// TrustedScript source. Such boolean attributes must be set to the equivalent\n// trusted emptyScript value.\nconst emptyStringForBooleanAttribute = trustedTypes\n ? (trustedTypes.emptyScript as unknown as '')\n : '';\n\nconst polyfillSupport = DEV_MODE\n ? global.reactiveElementPolyfillSupportDevMode\n : global.reactiveElementPolyfillSupport;\n\nif (DEV_MODE) {\n // Ensure warnings are issued only 1x, even if multiple versions of Lit\n // are loaded.\n const issuedWarnings: Set = (global.litIssuedWarnings ??=\n new Set());\n\n // Issue a warning, if we haven't already.\n issueWarning = (code: string, warning: string) => {\n warning += ` See https://lit.dev/msg/${code} for more information.`;\n if (!issuedWarnings.has(warning)) {\n console.warn(warning);\n issuedWarnings.add(warning);\n }\n };\n\n issueWarning(\n 'dev-mode',\n `Lit is in dev mode. Not recommended for production!`\n );\n\n // Issue polyfill support warning.\n if (global.ShadyDOM?.inUse && polyfillSupport === undefined) {\n issueWarning(\n 'polyfill-support-missing',\n `Shadow DOM is being polyfilled via \\`ShadyDOM\\` but ` +\n `the \\`polyfill-support\\` module has not been loaded.`\n );\n }\n}\n\n/**\n * Contains types that are part of the unstable debug API.\n *\n * Everything in this API is not stable and may change or be removed in the future,\n * even on patch releases.\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace ReactiveUnstable {\n /**\n * When Lit is running in dev mode and `window.emitLitDebugLogEvents` is true,\n * we will emit 'lit-debug' events to window, with live details about the update and render\n * lifecycle. These can be useful for writing debug tooling and visualizations.\n *\n * Please be aware that running with window.emitLitDebugLogEvents has performance overhead,\n * making certain operations that are normally very cheap (like a no-op render) much slower,\n * because we must copy data and dispatch events.\n */\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace DebugLog {\n export type Entry = Update;\n export interface Update {\n kind: 'update';\n }\n }\n}\n\ninterface DebugLoggingWindow {\n // Even in dev mode, we generally don't want to emit these events, as that's\n // another level of cost, so only emit them when DEV_MODE is true _and_ when\n // window.emitLitDebugEvents is true.\n emitLitDebugLogEvents?: boolean;\n}\n\n/**\n * Useful for visualizing and logging insights into what the Lit template system is doing.\n *\n * Compiled out of prod mode builds.\n */\nconst debugLogEvent = DEV_MODE\n ? (event: ReactiveUnstable.DebugLog.Entry) => {\n const shouldEmit = (global as unknown as DebugLoggingWindow)\n .emitLitDebugLogEvents;\n if (!shouldEmit) {\n return;\n }\n global.dispatchEvent(\n new CustomEvent('lit-debug', {\n detail: event,\n })\n );\n }\n : undefined;\n\n/*\n * When using Closure Compiler, JSCompiler_renameProperty(property, object) is\n * replaced at compile time by the munged name for object[property]. We cannot\n * alias this function, so we have to use a small shim that has the same\n * behavior when not compiling.\n */\n/*@__INLINE__*/\nconst JSCompiler_renameProperty =

    (\n prop: P,\n _obj: unknown\n): P => prop;\n\n/**\n * Converts property values to and from attribute values.\n */\nexport interface ComplexAttributeConverter {\n /**\n * Called to convert an attribute value to a property\n * value.\n */\n fromAttribute?(value: string | null, type?: TypeHint): Type;\n\n /**\n * Called to convert a property value to an attribute\n * value.\n *\n * It returns unknown instead of string, to be compatible with\n * https://github.com/WICG/trusted-types (and similar efforts).\n */\n toAttribute?(value: Type, type?: TypeHint): unknown;\n}\n\ntype AttributeConverter =\n | ComplexAttributeConverter\n | ((value: string | null, type?: TypeHint) => Type);\n\n/**\n * Defines options for a property accessor.\n */\nexport interface PropertyDeclaration {\n /**\n * When set to `true`, indicates the property is internal private state. The\n * property should not be set by users. When using TypeScript, this property\n * should be marked as `private` or `protected`, and it is also a common\n * practice to use a leading `_` in the name. The property is not added to\n * `observedAttributes`.\n */\n readonly state?: boolean;\n\n /**\n * Indicates how and whether the property becomes an observed attribute.\n * If the value is `false`, the property is not added to `observedAttributes`.\n * If true or absent, the lowercased property name is observed (e.g. `fooBar`\n * becomes `foobar`). If a string, the string value is observed (e.g\n * `attribute: 'foo-bar'`).\n */\n readonly attribute?: boolean | string;\n\n /**\n * Indicates the type of the property. This is used only as a hint for the\n * `converter` to determine how to convert the attribute\n * to/from a property.\n */\n readonly type?: TypeHint;\n\n /**\n * Indicates how to convert the attribute to/from a property. If this value\n * is a function, it is used to convert the attribute value a the property\n * value. If it's an object, it can have keys for `fromAttribute` and\n * `toAttribute`. If no `toAttribute` function is provided and\n * `reflect` is set to `true`, the property value is set directly to the\n * attribute. A default `converter` is used if none is provided; it supports\n * `Boolean`, `String`, `Number`, `Object`, and `Array`. Note,\n * when a property changes and the converter is used to update the attribute,\n * the property is never updated again as a result of the attribute changing,\n * and vice versa.\n */\n readonly converter?: AttributeConverter;\n\n /**\n * Indicates if the property should reflect to an attribute.\n * If `true`, when the property is set, the attribute is set using the\n * attribute name determined according to the rules for the `attribute`\n * property option and the value of the property converted using the rules\n * from the `converter` property option.\n */\n readonly reflect?: boolean;\n\n /**\n * A function that indicates if a property should be considered changed when\n * it is set. The function should take the `newValue` and `oldValue` and\n * return `true` if an update should be requested.\n */\n hasChanged?(value: Type, oldValue: Type): boolean;\n\n /**\n * Indicates whether an accessor will be created for this property. By\n * default, an accessor will be generated for this property that requests an\n * update when set. If this flag is `true`, no accessor will be created, and\n * it will be the user's responsibility to call\n * `this.requestUpdate(propertyName, oldValue)` to request an update when\n * the property changes.\n */\n readonly noAccessor?: boolean;\n\n /**\n * Whether this property is wrapping accessors. This is set by `@property`\n * to control the initial value change and reflection logic.\n *\n * @internal\n */\n wrapped?: boolean;\n}\n\n/**\n * Map of properties to PropertyDeclaration options. For each property an\n * accessor is made, and the property is processed according to the\n * PropertyDeclaration options.\n */\nexport interface PropertyDeclarations {\n readonly [key: string]: PropertyDeclaration;\n}\n\ntype PropertyDeclarationMap = Map;\n\ntype AttributeMap = Map;\n\n/**\n * A Map of property keys to values.\n *\n * Takes an optional type parameter T, which when specified as a non-any,\n * non-unknown type, will make the Map more strongly-typed, associating the map\n * keys with their corresponding value type on T.\n *\n * Use `PropertyValues` when overriding ReactiveElement.update() and\n * other lifecycle methods in order to get stronger type-checking on keys\n * and values.\n */\n// This type is conditional so that if the parameter T is not specified, or\n// is `any`, the type will include `Map`. Since T is not\n// given in the uses of PropertyValues in this file, all uses here fallback to\n// meaning `Map`, but if a developer uses\n// `PropertyValues` (or any other value for T) they will get a\n// strongly-typed Map type.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PropertyValues = T extends object\n ? PropertyValueMap\n : Map;\n\n/**\n * Do not use, instead prefer {@linkcode PropertyValues}.\n */\n// This type must be exported such that JavaScript generated by the Google\n// Closure Compiler can import a type reference.\nexport interface PropertyValueMap extends Map {\n get(k: K): T[K] | undefined;\n set(key: K, value: T[K]): this;\n has(k: K): boolean;\n delete(k: K): boolean;\n}\n\nexport const defaultConverter: ComplexAttributeConverter = {\n toAttribute(value: unknown, type?: unknown): unknown {\n switch (type) {\n case Boolean:\n value = value ? emptyStringForBooleanAttribute : null;\n break;\n case Object:\n case Array:\n // if the value is `null` or `undefined` pass this through\n // to allow removing/no change behavior.\n value = value == null ? value : JSON.stringify(value);\n break;\n }\n return value;\n },\n\n fromAttribute(value: string | null, type?: unknown) {\n let fromValue: unknown = value;\n switch (type) {\n case Boolean:\n fromValue = value !== null;\n break;\n case Number:\n fromValue = value === null ? null : Number(value);\n break;\n case Object:\n case Array:\n // Do *not* generate exception when invalid JSON is set as elements\n // don't normally complain on being mis-configured.\n // TODO(sorvell): Do generate exception in *dev mode*.\n try {\n // Assert to adhere to Bazel's \"must type assert JSON parse\" rule.\n fromValue = JSON.parse(value!) as unknown;\n } catch (e) {\n fromValue = null;\n }\n break;\n }\n return fromValue;\n },\n};\n\nexport interface HasChanged {\n (value: unknown, old: unknown): boolean;\n}\n\n/**\n * Change function that returns true if `value` is different from `oldValue`.\n * This method is used as the default for a property's `hasChanged` function.\n */\nexport const notEqual: HasChanged = (value: unknown, old: unknown): boolean =>\n !is(value, old);\n\nconst defaultPropertyDeclaration: PropertyDeclaration = {\n attribute: true,\n type: String,\n converter: defaultConverter,\n reflect: false,\n hasChanged: notEqual,\n};\n\n/**\n * A string representing one of the supported dev mode warning categories.\n */\nexport type WarningKind =\n | 'change-in-update'\n | 'migration'\n | 'async-perform-update';\n\nexport type Initializer = (element: ReactiveElement) => void;\n\n// Temporary, until google3 is on TypeScript 5.2\ndeclare global {\n interface SymbolConstructor {\n readonly metadata: unique symbol;\n }\n}\n\n// Ensure metadata is enabled. TypeScript does not polyfill\n// Symbol.metadata, so we must ensure that it exists.\n(Symbol as {metadata: symbol}).metadata ??= Symbol('metadata');\n\ndeclare global {\n // This is public global API, do not change!\n // eslint-disable-next-line no-var\n var litPropertyMetadata: WeakMap<\n object,\n Map\n >;\n}\n\n// Map from a class's metadata object to property options\n// Note that we must use nullish-coalescing assignment so that we only use one\n// map even if we load multiple version of this module.\nglobal.litPropertyMetadata ??= new WeakMap<\n object,\n Map\n>();\n\n/**\n * Base element class which manages element properties and attributes. When\n * properties change, the `update` method is asynchronously called. This method\n * should be supplied by subclasses to render updates as desired.\n * @noInheritDoc\n */\nexport abstract class ReactiveElement\n // In the Node build, this `extends` clause will be substituted with\n // `(globalThis.HTMLElement ?? HTMLElement)`.\n //\n // This way, we will first prefer any global `HTMLElement` polyfill that the\n // user has assigned, and then fall back to the `HTMLElement` shim which has\n // been imported (see note at the top of this file about how this import is\n // generated by Rollup). Note that the `HTMLElement` variable has been\n // shadowed by this import, so it no longer refers to the global.\n extends HTMLElement\n implements ReactiveControllerHost\n{\n // Note: these are patched in only in DEV_MODE.\n /**\n * Read or set all the enabled warning categories for this class.\n *\n * This property is only used in development builds.\n *\n * @nocollapse\n * @category dev-mode\n */\n static enabledWarnings?: WarningKind[];\n\n /**\n * Enable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Enable for all ReactiveElement subclasses\n * ReactiveElement.enableWarning?.('migration');\n *\n * // Enable for only MyElement and subclasses\n * MyElement.enableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static enableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Disable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Disable for all ReactiveElement subclasses\n * ReactiveElement.disableWarning?.('migration');\n *\n * // Disable for only MyElement and subclasses\n * MyElement.disableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static disableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Adds an initializer function to the class that is called during instance\n * construction.\n *\n * This is useful for code that runs against a `ReactiveElement`\n * subclass, such as a decorator, that needs to do work for each\n * instance, such as setting up a `ReactiveController`.\n *\n * ```ts\n * const myDecorator = (target: typeof ReactiveElement, key: string) => {\n * target.addInitializer((instance: ReactiveElement) => {\n * // This is run during construction of the element\n * new MyController(instance);\n * });\n * }\n * ```\n *\n * Decorating a field will then cause each instance to run an initializer\n * that adds a controller:\n *\n * ```ts\n * class MyElement extends LitElement {\n * @myDecorator foo;\n * }\n * ```\n *\n * Initializers are stored per-constructor. Adding an initializer to a\n * subclass does not add it to a superclass. Since initializers are run in\n * constructors, initializers will run in order of the class hierarchy,\n * starting with superclasses and progressing to the instance's class.\n *\n * @nocollapse\n */\n static addInitializer(initializer: Initializer) {\n this.__prepare();\n (this._initializers ??= []).push(initializer);\n }\n\n static _initializers?: Initializer[];\n\n /*\n * Due to closure compiler ES6 compilation bugs, @nocollapse is required on\n * all static methods and properties with initializers. Reference:\n * - https://github.com/google/closure-compiler/issues/1776\n */\n\n /**\n * Maps attribute names to properties; for example `foobar` attribute to\n * `fooBar` property. Created lazily on user subclasses when finalizing the\n * class.\n * @nocollapse\n */\n private static __attributeToPropertyMap: AttributeMap;\n\n /**\n * Marks class as having been finalized, which includes creating properties\n * from `static properties`, but does *not* include all properties created\n * from decorators.\n * @nocollapse\n */\n protected static finalized: true | undefined;\n\n /**\n * Memoized list of all element properties, including any superclass\n * properties. Created lazily on user subclasses when finalizing the class.\n *\n * @nocollapse\n * @category properties\n */\n static elementProperties: PropertyDeclarationMap;\n\n /**\n * User-supplied object that maps property names to `PropertyDeclaration`\n * objects containing options for configuring reactive properties. When\n * a reactive property is set the element will update and render.\n *\n * By default properties are public fields, and as such, they should be\n * considered as primarily settable by element users, either via attribute or\n * the property itself.\n *\n * Generally, properties that are changed by the element should be private or\n * protected fields and should use the `state: true` option. Properties\n * marked as `state` do not reflect from the corresponding attribute\n *\n * However, sometimes element code does need to set a public property. This\n * should typically only be done in response to user interaction, and an event\n * should be fired informing the user; for example, a checkbox sets its\n * `checked` property when clicked and fires a `changed` event. Mutating\n * public properties should typically not be done for non-primitive (object or\n * array) properties. In other cases when an element needs to manage state, a\n * private property set with the `state: true` option should be used. When\n * needed, state properties can be initialized via public properties to\n * facilitate complex interactions.\n * @nocollapse\n * @category properties\n */\n static properties: PropertyDeclarations;\n\n /**\n * Memoized list of all element styles.\n * Created lazily on user subclasses when finalizing the class.\n * @nocollapse\n * @category styles\n */\n static elementStyles: Array = [];\n\n /**\n * Array of styles to apply to the element. The styles should be defined\n * using the {@linkcode css} tag function, via constructible stylesheets, or\n * imported from native CSS module scripts.\n *\n * Note on Content Security Policy:\n *\n * Element styles are implemented with `